0.06/0.36 WORST_CASE(?,O(n^1)) 0.06/0.36 0.06/0.36 Preprocessing Cost Relations 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 #### Computed strongly connected components 0.06/0.36 0. recursive : [eval_heapsort_4/5,eval_heapsort_5/6,eval_heapsort_7/6,eval_heapsort_8/7,eval_heapsort_bb10_in/7,eval_heapsort_bb1_in/3,eval_heapsort_bb2_in/3,eval_heapsort_bb3_in/5,eval_heapsort_bb4_in/5,eval_heapsort_bb5_in/6,eval_heapsort_bb6_in/6,eval_heapsort_bb7_in/6,eval_heapsort_bb8_in/7,eval_heapsort_bb9_in/7] 0.06/0.36 1. non_recursive : [eval_heapsort_stop/1] 0.06/0.36 2. non_recursive : [eval_heapsort_bb11_in/1] 0.06/0.36 3. non_recursive : [eval_heapsort_bb1_in_loop_cont/2] 0.06/0.36 4. non_recursive : [eval_heapsort_bb0_in/2] 0.06/0.36 5. non_recursive : [eval_heapsort_start/2] 0.06/0.36 0.06/0.36 #### Obtained direct recursion through partial evaluation 0.06/0.36 0. SCC is partially evaluated into eval_heapsort_bb1_in/3 0.06/0.36 1. SCC is completely evaluated into other SCCs 0.06/0.36 2. SCC is completely evaluated into other SCCs 0.06/0.36 3. SCC is completely evaluated into other SCCs 0.06/0.36 4. SCC is partially evaluated into eval_heapsort_bb0_in/2 0.06/0.36 5. SCC is partially evaluated into eval_heapsort_start/2 0.06/0.36 0.06/0.36 Control-Flow Refinement of Cost Relations 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_heapsort_bb1_in/3 0.06/0.36 * CE 7 is refined into CE [11] 0.06/0.36 * CE 3 is refined into CE [12] 0.06/0.36 * CE 10 is discarded (unfeasible) 0.06/0.36 * CE 9 is refined into CE [13] 0.06/0.36 * CE 5 is refined into CE [14] 0.06/0.36 * CE 6 is refined into CE [15] 0.06/0.36 * CE 8 is refined into CE [16] 0.06/0.36 * CE 4 is refined into CE [17] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_heapsort_bb1_in/3 0.06/0.36 * CEs [15] --> Loop 11 0.06/0.36 * CEs [16] --> Loop 12 0.06/0.36 * CEs [17] --> Loop 13 0.06/0.36 * CEs [11] --> Loop 14 0.06/0.36 * CEs [12] --> Loop 15 0.06/0.36 * CEs [14] --> Loop 16 0.06/0.36 * CEs [13] --> Loop 17 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_heapsort_bb1_in(V_size,V_i_0,B) 0.06/0.36 * RF of phase [11,12]: [V_size/2-V_i_0] 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_heapsort_bb1_in(V_size,V_i_0,B) 0.06/0.36 * Partial RF of phase [11,12]: 0.06/0.36 - RF of loop [11:1]: 0.06/0.36 V_size/4-V_i_0/2 0.06/0.36 - RF of loop [12:1]: 0.06/0.36 V_size/2-V_i_0 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_heapsort_bb0_in/2 0.06/0.36 * CE 2 is refined into CE [18,19,20,21,22,23,24] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_heapsort_bb0_in/2 0.06/0.36 * CEs [23] --> Loop 18 0.06/0.36 * CEs [22] --> Loop 19 0.06/0.36 * CEs [24] --> Loop 20 0.06/0.36 * CEs [18] --> Loop 21 0.06/0.36 * CEs [19,20] --> Loop 22 0.06/0.36 * CEs [21] --> Loop 23 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_heapsort_bb0_in(V_size,B) 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_heapsort_bb0_in(V_size,B) 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_heapsort_start/2 0.06/0.36 * CE 1 is refined into CE [25,26,27,28,29,30] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_heapsort_start/2 0.06/0.36 * CEs [30] --> Loop 24 0.06/0.36 * CEs [29] --> Loop 25 0.06/0.36 * CEs [28] --> Loop 26 0.06/0.36 * CEs [27] --> Loop 27 0.06/0.36 * CEs [26] --> Loop 28 0.06/0.36 * CEs [25] --> Loop 29 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_heapsort_start(V_size,B) 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_heapsort_start(V_size,B) 0.06/0.36 0.06/0.36 0.06/0.36 Computing Bounds 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 #### Cost of chains of eval_heapsort_bb1_in(V_size,V_i_0,B): 0.06/0.36 * Chain [[11,12],16]: 1*it(11)+1*it(12)+0 0.06/0.36 Such that:it(11) =< V_size/4-V_i_0/2 0.06/0.36 aux(3) =< V_size/2-V_i_0 0.06/0.36 it(11) =< aux(3) 0.06/0.36 it(12) =< aux(3) 0.06/0.36 0.06/0.36 with precondition: [B=2,V_i_0>=1,V_size>=4*V_i_0] 0.06/0.36 0.06/0.36 * Chain [[11,12],15]: 1*it(11)+1*it(12)+0 0.06/0.36 Such that:aux(2) =< V_size-V_i_0 0.06/0.36 aux(1) =< V_size/2-V_i_0 0.06/0.36 it(11) =< V_size/4-V_i_0/2 0.06/0.36 it(11) =< aux(1) 0.06/0.36 it(12) =< aux(1) 0.06/0.36 it(11) =< aux(2) 0.06/0.36 it(12) =< aux(2) 0.06/0.36 0.06/0.36 with precondition: [B=2,V_i_0>=1,V_size>=2*V_i_0+1] 0.06/0.36 0.06/0.36 * Chain [[11,12],14]: 1*it(11)+1*it(12)+0 0.06/0.36 Such that:it(11) =< V_size/4-V_i_0/2 0.06/0.36 aux(4) =< V_size/2-V_i_0 0.06/0.36 it(11) =< aux(4) 0.06/0.36 it(12) =< aux(4) 0.06/0.36 0.06/0.36 with precondition: [B=2,V_i_0>=1,V_size>=4*V_i_0+1] 0.06/0.36 0.06/0.36 * Chain [[11,12],13,15]: 1*it(11)+1*it(12)+1 0.06/0.36 Such that:it(11) =< V_size/4-V_i_0/2 0.06/0.36 aux(5) =< V_size/2-V_i_0 0.06/0.36 it(11) =< aux(5) 0.06/0.36 it(12) =< aux(5) 0.06/0.36 0.06/0.36 with precondition: [B=2,V_i_0>=1,V_size>=4*V_i_0] 0.06/0.36 0.06/0.36 * Chain [17]: 0 0.06/0.36 with precondition: [V_i_0=1,B=2,0>=V_size] 0.06/0.36 0.06/0.36 * Chain [16]: 0 0.06/0.36 with precondition: [B=2,2*V_i_0=V_size,V_i_0>=1] 0.06/0.36 0.06/0.36 * Chain [15]: 0 0.06/0.36 with precondition: [B=2,V_size>=1,2*V_i_0>=V_size+1] 0.06/0.36 0.06/0.36 * Chain [14]: 0 0.06/0.36 with precondition: [B=2,V_i_0>=1,V_size>=2*V_i_0+1] 0.06/0.36 0.06/0.36 * Chain [13,15]: 1 0.06/0.36 with precondition: [B=2,V_size=2*V_i_0,V_size>=2] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_heapsort_bb0_in(V_size,B): 0.06/0.36 * Chain [23]: 0 0.06/0.36 with precondition: [V_size=1] 0.06/0.36 0.06/0.36 * Chain [22]: 1 0.06/0.36 with precondition: [V_size=2] 0.06/0.36 0.06/0.36 * Chain [21]: 0 0.06/0.36 with precondition: [0>=V_size] 0.06/0.36 0.06/0.36 * Chain [20]: 1*s(13)+1*s(14)+0 0.06/0.36 Such that:s(11) =< V_size 0.06/0.36 s(12) =< V_size/2 0.06/0.36 s(13) =< V_size/4 0.06/0.36 s(13) =< s(12) 0.06/0.36 s(14) =< s(12) 0.06/0.36 s(13) =< s(11) 0.06/0.36 s(14) =< s(11) 0.06/0.36 0.06/0.36 with precondition: [V_size>=3] 0.06/0.36 0.06/0.36 * Chain [19]: 2*s(17)+2*s(18)+1 0.06/0.36 Such that:s(15) =< V_size/2 0.06/0.36 s(16) =< V_size/4 0.06/0.36 s(17) =< s(16) 0.06/0.36 s(17) =< s(15) 0.06/0.36 s(18) =< s(15) 0.06/0.36 0.06/0.36 with precondition: [V_size>=4] 0.06/0.36 0.06/0.36 * Chain [18]: 1*s(19)+1*s(21)+0 0.06/0.36 Such that:s(20) =< V_size/2 0.06/0.36 s(19) =< V_size/4 0.06/0.36 s(19) =< s(20) 0.06/0.36 s(21) =< s(20) 0.06/0.36 0.06/0.36 with precondition: [V_size>=5] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_heapsort_start(V_size,B): 0.06/0.36 * Chain [29]: 0 0.06/0.36 with precondition: [V_size=1] 0.06/0.36 0.06/0.36 * Chain [28]: 1 0.06/0.36 with precondition: [V_size=2] 0.06/0.36 0.06/0.36 * Chain [27]: 0 0.06/0.36 with precondition: [0>=V_size] 0.06/0.36 0.06/0.36 * Chain [26]: 1*s(24)+1*s(25)+0 0.06/0.36 Such that:s(22) =< V_size 0.06/0.36 s(23) =< V_size/2 0.06/0.36 s(24) =< V_size/4 0.06/0.36 s(24) =< s(23) 0.06/0.36 s(25) =< s(23) 0.06/0.36 s(24) =< s(22) 0.06/0.36 s(25) =< s(22) 0.06/0.36 0.06/0.36 with precondition: [V_size>=3] 0.06/0.36 0.06/0.36 * Chain [25]: 2*s(28)+2*s(29)+1 0.06/0.36 Such that:s(26) =< V_size/2 0.06/0.36 s(27) =< V_size/4 0.06/0.36 s(28) =< s(27) 0.06/0.36 s(28) =< s(26) 0.06/0.36 s(29) =< s(26) 0.06/0.36 0.06/0.36 with precondition: [V_size>=4] 0.06/0.36 0.06/0.36 * Chain [24]: 1*s(31)+1*s(32)+0 0.06/0.36 Such that:s(30) =< V_size/2 0.06/0.36 s(31) =< V_size/4 0.06/0.36 s(31) =< s(30) 0.06/0.36 s(32) =< s(30) 0.06/0.36 0.06/0.36 with precondition: [V_size>=5] 0.06/0.36 0.06/0.36 0.06/0.36 Closed-form bounds of eval_heapsort_start(V_size,B): 0.06/0.36 ------------------------------------- 0.06/0.36 * Chain [29] with precondition: [V_size=1] 0.06/0.36 - Upper bound: 0 0.06/0.36 - Complexity: constant 0.06/0.36 * Chain [28] with precondition: [V_size=2] 0.06/0.36 - Upper bound: 1 0.06/0.36 - Complexity: constant 0.06/0.36 * Chain [27] with precondition: [0>=V_size] 0.06/0.36 - Upper bound: 0 0.06/0.36 - Complexity: constant 0.06/0.36 * Chain [26] with precondition: [V_size>=3] 0.06/0.36 - Upper bound: 3/4*V_size 0.06/0.36 - Complexity: n 0.06/0.36 * Chain [25] with precondition: [V_size>=4] 0.06/0.36 - Upper bound: 3/2*V_size+1 0.06/0.36 - Complexity: n 0.06/0.36 * Chain [24] with precondition: [V_size>=5] 0.06/0.36 - Upper bound: 3/4*V_size 0.06/0.36 - Complexity: n 0.06/0.36 0.06/0.36 ### Maximum cost of eval_heapsort_start(V_size,B): max([1,nat(V_size/2)+1+nat(V_size/4)+(nat(V_size/4)+nat(V_size/2))]) 0.06/0.36 Asymptotic class: n 0.06/0.36 * Total analysis performed in 263 ms. 0.06/0.36 0.06/0.46 EOF