1.17/1.21 WORST_CASE(?,O(n^1)) 1.17/1.21 1.17/1.21 Preprocessing Cost Relations 1.17/1.21 ===================================== 1.17/1.21 1.17/1.21 #### Computed strongly connected components 1.17/1.21 0. recursive : [eval_heapsort_14/16,eval_heapsort_15/16,eval_heapsort_17/16,eval_heapsort_18/16,eval_heapsort_bb10_in/16,eval_heapsort_bb1_in/16,eval_heapsort_bb2_in/16,eval_heapsort_bb3_in/16,eval_heapsort_bb4_in/16,eval_heapsort_bb5_in/16,eval_heapsort_bb6_in/16,eval_heapsort_bb7_in/16,eval_heapsort_bb8_in/16,eval_heapsort_bb9_in/16] 1.17/1.21 1. non_recursive : [eval_heapsort_stop/9] 1.17/1.21 2. non_recursive : [eval_heapsort_bb11_in/9] 1.17/1.21 3. non_recursive : [exit_location/1] 1.17/1.21 4. non_recursive : [eval_heapsort_bb1_in_loop_cont/10] 1.17/1.21 5. non_recursive : [eval_heapsort_9/9] 1.17/1.21 6. non_recursive : [eval_heapsort_8/9] 1.17/1.21 7. non_recursive : [eval_heapsort_7/9] 1.17/1.21 8. non_recursive : [eval_heapsort_6/9] 1.17/1.21 9. non_recursive : [eval_heapsort_5/9] 1.17/1.21 10. non_recursive : [eval_heapsort_4/9] 1.17/1.21 11. non_recursive : [eval_heapsort_3/9] 1.17/1.21 12. non_recursive : [eval_heapsort_2/9] 1.17/1.21 13. non_recursive : [eval_heapsort_1/9] 1.17/1.21 14. non_recursive : [eval_heapsort_0/9] 1.17/1.21 15. non_recursive : [eval_heapsort_bb0_in/9] 1.17/1.21 16. non_recursive : [eval_heapsort_start/9] 1.17/1.21 1.17/1.21 #### Obtained direct recursion through partial evaluation 1.17/1.21 0. SCC is partially evaluated into eval_heapsort_bb1_in/16 1.17/1.21 1. SCC is completely evaluated into other SCCs 1.17/1.21 2. SCC is completely evaluated into other SCCs 1.17/1.21 3. SCC is completely evaluated into other SCCs 1.17/1.21 4. SCC is partially evaluated into eval_heapsort_bb1_in_loop_cont/10 1.17/1.21 5. SCC is partially evaluated into eval_heapsort_9/9 1.17/1.21 6. SCC is completely evaluated into other SCCs 1.17/1.21 7. SCC is completely evaluated into other SCCs 1.17/1.21 8. SCC is completely evaluated into other SCCs 1.17/1.21 9. SCC is completely evaluated into other SCCs 1.17/1.21 10. SCC is completely evaluated into other SCCs 1.17/1.21 11. SCC is completely evaluated into other SCCs 1.17/1.21 12. SCC is completely evaluated into other SCCs 1.17/1.21 13. SCC is completely evaluated into other SCCs 1.17/1.21 14. SCC is completely evaluated into other SCCs 1.17/1.21 15. SCC is completely evaluated into other SCCs 1.17/1.21 16. SCC is partially evaluated into eval_heapsort_start/9 1.17/1.21 1.17/1.21 Control-Flow Refinement of Cost Relations 1.17/1.21 ===================================== 1.17/1.21 1.17/1.21 ### Specialization of cost equations eval_heapsort_bb1_in/16 1.17/1.21 * CE 12 is refined into CE [15] 1.17/1.21 * CE 7 is refined into CE [16] 1.17/1.21 * CE 3 is refined into CE [17] 1.17/1.21 * CE 10 is refined into CE [18] 1.17/1.21 * CE 11 is discarded (unfeasible) 1.17/1.21 * CE 5 is refined into CE [19] 1.17/1.21 * CE 9 is refined into CE [20] 1.17/1.21 * CE 6 is refined into CE [21] 1.17/1.21 * CE 8 is refined into CE [22] 1.17/1.21 * CE 4 is refined into CE [23] 1.17/1.21 1.17/1.21 1.17/1.21 ### Cost equations --> "Loop" of eval_heapsort_bb1_in/16 1.17/1.21 * CEs [20] --> Loop 15 1.17/1.21 * CEs [21] --> Loop 16 1.17/1.21 * CEs [22] --> Loop 17 1.17/1.21 * CEs [23] --> Loop 18 1.17/1.21 * CEs [15] --> Loop 19 1.17/1.21 * CEs [16] --> Loop 20 1.17/1.21 * CEs [17] --> Loop 21 1.17/1.21 * CEs [19] --> Loop 22 1.17/1.21 * CEs [18] --> Loop 23 1.17/1.21 1.17/1.21 ### Ranking functions of CR eval_heapsort_bb1_in(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B,C,D,E,F,G,H,I) 1.17/1.21 * RF of phase [15,16,17]: [-V_i_0+V_size/2] 1.17/1.21 1.17/1.21 #### Partial ranking functions of CR eval_heapsort_bb1_in(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B,C,D,E,F,G,H,I) 1.17/1.21 * Partial RF of phase [15,16,17]: 1.17/1.21 - RF of loop [15:1,16:1]: 1.17/1.21 -V_i_0/2+V_size/4 1.17/1.21 - RF of loop [17:1]: 1.17/1.21 -V_i_0+V_size/2 1.17/1.21 1.17/1.21 1.17/1.21 ### Specialization of cost equations eval_heapsort_bb1_in_loop_cont/10 1.17/1.21 * CE 14 is refined into CE [24] 1.17/1.21 * CE 13 is refined into CE [25] 1.17/1.21 1.17/1.21 1.17/1.21 ### Cost equations --> "Loop" of eval_heapsort_bb1_in_loop_cont/10 1.17/1.21 * CEs [24] --> Loop 24 1.17/1.21 * CEs [25] --> Loop 25 1.17/1.21 1.17/1.21 ### Ranking functions of CR eval_heapsort_bb1_in_loop_cont(A,B,C,D,E,F,G,H,I,J) 1.17/1.21 1.17/1.21 #### Partial ranking functions of CR eval_heapsort_bb1_in_loop_cont(A,B,C,D,E,F,G,H,I,J) 1.17/1.21 1.17/1.21 1.17/1.21 ### Specialization of cost equations eval_heapsort_9/9 1.17/1.21 * CE 2 is refined into CE [26,27,28,29,30,31,32,33,34,35,36,37,38] 1.17/1.21 1.17/1.21 1.17/1.21 ### Cost equations --> "Loop" of eval_heapsort_9/9 1.17/1.21 * CEs [29] --> Loop 26 1.17/1.21 * CEs [28,34,37] --> Loop 27 1.17/1.21 * CEs [30,33,38] --> Loop 28 1.17/1.21 * CEs [26] --> Loop 29 1.17/1.21 * CEs [27,32,35] --> Loop 30 1.17/1.21 * CEs [31] --> Loop 31 1.17/1.21 * CEs [36] --> Loop 32 1.17/1.21 1.17/1.21 ### Ranking functions of CR eval_heapsort_9(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B) 1.17/1.21 1.17/1.21 #### Partial ranking functions of CR eval_heapsort_9(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B) 1.17/1.21 1.17/1.21 1.17/1.21 ### Specialization of cost equations eval_heapsort_start/9 1.17/1.21 * CE 1 is refined into CE [39,40,41,42,43,44,45] 1.17/1.21 1.17/1.21 1.17/1.21 ### Cost equations --> "Loop" of eval_heapsort_start/9 1.17/1.21 * CEs [45] --> Loop 33 1.17/1.21 * CEs [44] --> Loop 34 1.17/1.21 * CEs [43] --> Loop 35 1.17/1.21 * CEs [42] --> Loop 36 1.17/1.21 * CEs [41] --> Loop 37 1.17/1.21 * CEs [40] --> Loop 38 1.17/1.21 * CEs [39] --> Loop 39 1.17/1.21 1.17/1.21 ### Ranking functions of CR eval_heapsort_start(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B) 1.17/1.21 1.17/1.21 #### Partial ranking functions of CR eval_heapsort_start(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B) 1.17/1.21 1.17/1.21 1.17/1.21 Computing Bounds 1.17/1.21 ===================================== 1.17/1.21 1.17/1.21 #### Cost of chains of eval_heapsort_bb1_in(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B,C,D,E,F,G,H,I): 1.17/1.21 * Chain [[15,16,17],22]: 2*it(15)+1*it(17)+0 1.17/1.21 Such that:aux(5) =< -V_i_0+V_size/2 1.17/1.21 aux(6) =< -V_i_0/2+V_size/4 1.17/1.21 it(15) =< aux(5) 1.17/1.21 it(17) =< aux(5) 1.17/1.21 it(15) =< aux(6) 1.17/1.21 1.17/1.21 with precondition: [B=2,V_size=2*G,V_size=2*H,V_size=2*I,V_size=D,V_size+1=E,0>=F,V_i_0>=1,V_size>=4*V_i_0] 1.17/1.21 1.17/1.21 * Chain [[15,16,17],21]: 2*it(15)+1*it(17)+0 1.17/1.21 Such that:aux(1) =< -V_i_0+V_size/2 1.17/1.21 aux(2) =< -V_i_0+E/2 1.17/1.21 aux(3) =< -V_i_0/2+V_size/4 1.17/1.21 aux(4) =< -V_i_0/2+E/4 1.17/1.21 it(15) =< aux(1) 1.17/1.21 it(17) =< aux(1) 1.17/1.21 it(15) =< aux(2) 1.17/1.21 it(17) =< aux(2) 1.17/1.21 it(15) =< aux(3) 1.17/1.21 it(15) =< aux(4) 1.17/1.21 1.17/1.21 with precondition: [B=2,D=2*G,D=2*H,D=2*I,D+1=E,V_i_0>=1,D>=4*V_i_0,V_size>=2*V_i_0+1,D>=V_size+1,2*V_size>=D] 1.17/1.21 1.17/1.21 * Chain [[15,16,17],20]: 2*it(15)+1*it(17)+0 1.17/1.21 Such that:aux(1) =< -V_i_0+V_size/2 1.17/1.21 aux(2) =< -V_i_0+H 1.17/1.21 aux(3) =< -V_i_0/2+V_size/4 1.17/1.21 aux(4) =< -V_i_0/2+H/2 1.17/1.21 it(15) =< aux(1) 1.17/1.21 it(17) =< aux(1) 1.17/1.21 it(15) =< aux(2) 1.17/1.21 it(17) =< aux(2) 1.17/1.21 it(15) =< aux(3) 1.17/1.21 it(15) =< aux(4) 1.17/1.21 1.17/1.21 with precondition: [B=2,D=2*G,D=2*H,D=2*I,D+1=E,0>=C,0>=F,V_i_0>=1,D>=4*V_i_0,V_size>=D+1] 1.17/1.21 1.17/1.21 * Chain [[15,16,17],19]: 2*it(15)+1*it(17)+0 1.17/1.21 Such that:aux(2) =< -V_i_0+V_size 1.17/1.21 aux(1) =< -V_i_0+V_size/2 1.17/1.21 aux(4) =< -V_i_0/2+V_size/2 1.17/1.21 aux(3) =< -V_i_0/2+V_size/4 1.17/1.21 it(15) =< aux(1) 1.17/1.21 it(17) =< aux(1) 1.17/1.21 it(15) =< aux(2) 1.17/1.21 it(17) =< aux(2) 1.17/1.21 it(15) =< aux(3) 1.17/1.21 it(15) =< aux(4) 1.17/1.21 1.17/1.21 with precondition: [B=3,V_i_0>=1,V_size>=2*V_i_0+1] 1.17/1.21 1.17/1.21 * Chain [[15,16,17],18,21]: 2*it(15)+1*it(17)+1 1.17/1.21 Such that:aux(7) =< -V_i_0+V_size/2 1.17/1.21 aux(8) =< -V_i_0/2+V_size/4 1.17/1.21 it(15) =< aux(7) 1.17/1.21 it(17) =< aux(7) 1.17/1.21 it(15) =< aux(8) 1.17/1.21 1.17/1.21 with precondition: [B=2,2*V_size=D,2*V_size+1=E,V_size=G,V_size=H,V_size=I,V_i_0>=1,F>=1,V_size>=4*V_i_0] 1.17/1.21 1.17/1.21 * Chain [[15,16,17],18,19]: 2*it(15)+1*it(17)+1 1.17/1.21 Such that:aux(9) =< -V_i_0+V_size/2 1.17/1.21 aux(10) =< -V_i_0/2+V_size/4 1.17/1.21 it(15) =< aux(9) 1.17/1.21 it(17) =< aux(9) 1.17/1.21 it(15) =< aux(10) 1.17/1.21 1.17/1.21 with precondition: [B=3,V_i_0>=1,V_size>=4*V_i_0] 1.17/1.21 1.17/1.21 * Chain [23]: 0 1.17/1.21 with precondition: [V_i_0=1,B=2,G=1,C=V_13,D=V_2,E=V_4,F=V_8,H=V_max_1,I=V_max_3,0>=V_size] 1.17/1.21 1.17/1.21 * Chain [22]: 0 1.17/1.21 with precondition: [B=2,C=V_13,2*V_i_0=V_size,2*V_i_0=D,2*V_i_0+1=E,V_i_0=G,V_i_0=H,V_i_0=I,0>=F,V_i_0>=1] 1.17/1.21 1.17/1.21 * Chain [21]: 0 1.17/1.21 with precondition: [B=2,C=V_13,F=V_8,2*V_i_0=D,2*V_i_0+1=E,V_i_0=G,V_i_0=H,V_i_0=I,V_size>=1,2*V_i_0>=V_size+1] 1.17/1.21 1.17/1.21 * Chain [20]: 0 1.17/1.21 with precondition: [B=2,2*V_i_0=D,2*V_i_0+1=E,V_i_0=G,V_i_0=H,V_i_0=I,0>=C,0>=F,V_i_0>=1,V_size>=2*V_i_0+1] 1.17/1.21 1.17/1.21 * Chain [19]: 0 1.17/1.21 with precondition: [B=3,V_i_0>=1] 1.17/1.21 1.17/1.21 * Chain [18,21]: 1 1.17/1.21 with precondition: [B=2,V_size=2*V_i_0,V_13=C,2*V_size=D,2*V_size+1=E,V_size=G,V_size=H,V_size=I,V_size>=2,F>=1] 1.17/1.21 1.17/1.21 * Chain [18,19]: 1 1.17/1.21 with precondition: [B=3,2*V_i_0=V_size,V_i_0>=1] 1.17/1.21 1.17/1.21 1.17/1.21 #### Cost of chains of eval_heapsort_bb1_in_loop_cont(A,B,C,D,E,F,G,H,I,J): 1.17/1.21 * Chain [25]: 0 1.17/1.21 with precondition: [A=2] 1.17/1.21 1.17/1.21 * Chain [24]: 0 1.17/1.21 with precondition: [A=3] 1.17/1.21 1.17/1.21 1.17/1.21 #### Cost of chains of eval_heapsort_9(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B): 1.17/1.21 * Chain [32]: 0 1.17/1.21 with precondition: [] 1.17/1.21 1.17/1.21 * Chain [31]: 0 1.17/1.21 with precondition: [V_size=1] 1.17/1.21 1.17/1.21 * Chain [30]: 1 1.17/1.21 with precondition: [V_size=2] 1.17/1.21 1.17/1.21 * Chain [29]: 0 1.17/1.21 with precondition: [0>=V_size] 1.17/1.21 1.17/1.21 * Chain [28]: 4*s(5)+2*s(6)+0 1.17/1.21 Such that:aux(13) =< V_size 1.17/1.21 aux(14) =< V_size/2 1.17/1.21 aux(15) =< V_size/4 1.17/1.21 s(5) =< aux(14) 1.17/1.21 s(6) =< aux(14) 1.17/1.21 s(5) =< aux(13) 1.17/1.21 s(6) =< aux(13) 1.17/1.21 s(5) =< aux(15) 1.17/1.21 1.17/1.21 with precondition: [V_size>=3] 1.17/1.21 1.17/1.21 * Chain [27]: 6*s(15)+3*s(16)+1 1.17/1.21 Such that:aux(16) =< V_size/2 1.17/1.21 aux(17) =< V_size/4 1.17/1.21 s(15) =< aux(16) 1.17/1.21 s(16) =< aux(16) 1.17/1.21 s(15) =< aux(17) 1.17/1.21 1.17/1.21 with precondition: [V_size>=4] 1.17/1.21 1.17/1.21 * Chain [26]: 2*s(29)+1*s(30)+0 1.17/1.21 Such that:aux(18) =< V_size/2 1.17/1.21 aux(19) =< V_size/4 1.17/1.21 s(29) =< aux(18) 1.17/1.21 s(30) =< aux(18) 1.17/1.21 s(29) =< aux(19) 1.17/1.21 1.17/1.21 with precondition: [V_size>=5] 1.17/1.21 1.17/1.21 1.17/1.21 #### Cost of chains of eval_heapsort_start(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B): 1.17/1.21 * Chain [39]: 0 1.17/1.21 with precondition: [] 1.17/1.21 1.17/1.21 * Chain [38]: 0 1.17/1.21 with precondition: [V_size=1] 1.17/1.21 1.17/1.21 * Chain [37]: 1 1.17/1.21 with precondition: [V_size=2] 1.17/1.21 1.17/1.21 * Chain [36]: 0 1.17/1.21 with precondition: [0>=V_size] 1.17/1.21 1.17/1.21 * Chain [35]: 4*s(34)+2*s(35)+0 1.17/1.21 Such that:s(31) =< V_size 1.17/1.21 s(32) =< V_size/2 1.17/1.21 s(33) =< V_size/4 1.17/1.21 s(34) =< s(32) 1.17/1.21 s(35) =< s(32) 1.17/1.21 s(34) =< s(31) 1.17/1.21 s(35) =< s(31) 1.17/1.21 s(34) =< s(33) 1.17/1.21 1.17/1.21 with precondition: [V_size>=3] 1.17/1.21 1.17/1.21 * Chain [34]: 6*s(38)+3*s(39)+1 1.17/1.21 Such that:s(36) =< V_size/2 1.17/1.21 s(37) =< V_size/4 1.17/1.21 s(38) =< s(36) 1.17/1.21 s(39) =< s(36) 1.17/1.21 s(38) =< s(37) 1.17/1.21 1.17/1.21 with precondition: [V_size>=4] 1.17/1.21 1.17/1.21 * Chain [33]: 2*s(42)+1*s(43)+0 1.17/1.21 Such that:s(40) =< V_size/2 1.17/1.21 s(41) =< V_size/4 1.17/1.21 s(42) =< s(40) 1.17/1.21 s(43) =< s(40) 1.17/1.21 s(42) =< s(41) 1.17/1.21 1.17/1.21 with precondition: [V_size>=5] 1.17/1.21 1.17/1.21 1.17/1.21 Closed-form bounds of eval_heapsort_start(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B): 1.17/1.21 ------------------------------------- 1.17/1.21 * Chain [39] with precondition: [] 1.17/1.21 - Upper bound: 0 1.17/1.21 - Complexity: constant 1.17/1.21 * Chain [38] with precondition: [V_size=1] 1.17/1.21 - Upper bound: 0 1.17/1.21 - Complexity: constant 1.17/1.21 * Chain [37] with precondition: [V_size=2] 1.17/1.21 - Upper bound: 1 1.17/1.21 - Complexity: constant 1.17/1.21 * Chain [36] with precondition: [0>=V_size] 1.17/1.21 - Upper bound: 0 1.17/1.21 - Complexity: constant 1.17/1.21 * Chain [35] with precondition: [V_size>=3] 1.17/1.21 - Upper bound: 3*V_size 1.17/1.21 - Complexity: n 1.17/1.21 * Chain [34] with precondition: [V_size>=4] 1.17/1.21 - Upper bound: 9/2*V_size+1 1.17/1.21 - Complexity: n 1.17/1.21 * Chain [33] with precondition: [V_size>=5] 1.17/1.21 - Upper bound: 3/2*V_size 1.17/1.21 - Complexity: n 1.17/1.21 1.17/1.21 ### Maximum cost of eval_heapsort_start(V_13,V_2,V_4,V_8,V_i_0,V_max_1,V_max_3,V_size,B): max([1,nat(V_size/2)*3+1+nat(V_size/2)*3+nat(V_size/2)*3]) 1.17/1.21 Asymptotic class: n 1.17/1.21 * Total analysis performed in 1054 ms. 1.17/1.21 1.21/1.31 EOF