0.04/0.36 WORST_CASE(?,O(n^2)) 0.04/0.36 0.04/0.36 Preprocessing Cost Relations 0.04/0.36 ===================================== 0.04/0.36 0.04/0.36 #### Computed strongly connected components 0.04/0.36 0. recursive : [eval_realselect_bb2_in/6,eval_realselect_bb3_in/6] 0.04/0.36 1. recursive : [eval_realselect_19/10,eval_realselect_20/10,eval_realselect_27/10,eval_realselect_28/10,eval_realselect_bb1_in/10,eval_realselect_bb2_in_loop_cont/11,eval_realselect_bb4_in/10] 0.04/0.36 2. non_recursive : [eval_realselect_stop/6] 0.04/0.36 3. non_recursive : [eval_realselect_bb5_in/6] 0.04/0.36 4. non_recursive : [exit_location/1] 0.04/0.36 5. non_recursive : [eval_realselect_bb1_in_loop_cont/7] 0.04/0.36 6. non_recursive : [eval_realselect_6/6] 0.04/0.36 7. non_recursive : [eval_realselect_5/6] 0.04/0.36 8. non_recursive : [eval_realselect_4/6] 0.04/0.36 9. non_recursive : [eval_realselect_3/6] 0.04/0.36 10. non_recursive : [eval_realselect_2/6] 0.04/0.36 11. non_recursive : [eval_realselect_1/6] 0.04/0.36 12. non_recursive : [eval_realselect_0/6] 0.04/0.36 13. non_recursive : [eval_realselect_bb0_in/6] 0.04/0.36 14. non_recursive : [eval_realselect_start/6] 0.04/0.36 0.04/0.36 #### Obtained direct recursion through partial evaluation 0.04/0.36 0. SCC is partially evaluated into eval_realselect_bb2_in/6 0.04/0.36 1. SCC is partially evaluated into eval_realselect_bb1_in/10 0.04/0.36 2. SCC is completely evaluated into other SCCs 0.04/0.36 3. SCC is completely evaluated into other SCCs 0.04/0.36 4. SCC is completely evaluated into other SCCs 0.04/0.36 5. SCC is partially evaluated into eval_realselect_bb1_in_loop_cont/7 0.04/0.36 6. SCC is partially evaluated into eval_realselect_6/6 0.04/0.36 7. SCC is completely evaluated into other SCCs 0.04/0.36 8. SCC is completely evaluated into other SCCs 0.04/0.36 9. SCC is completely evaluated into other SCCs 0.04/0.36 10. SCC is completely evaluated into other SCCs 0.04/0.36 11. SCC is completely evaluated into other SCCs 0.04/0.36 12. SCC is completely evaluated into other SCCs 0.04/0.36 13. SCC is completely evaluated into other SCCs 0.04/0.36 14. SCC is partially evaluated into eval_realselect_start/6 0.04/0.36 0.04/0.36 Control-Flow Refinement of Cost Relations 0.04/0.36 ===================================== 0.04/0.36 0.04/0.36 ### Specialization of cost equations eval_realselect_bb2_in/6 0.04/0.36 * CE 11 is refined into CE [12] 0.04/0.36 * CE 10 is refined into CE [13] 0.04/0.36 * CE 9 is refined into CE [14] 0.04/0.36 0.04/0.36 0.04/0.36 ### Cost equations --> "Loop" of eval_realselect_bb2_in/6 0.04/0.36 * CEs [14] --> Loop 12 0.04/0.36 * CEs [12] --> Loop 13 0.04/0.36 * CEs [13] --> Loop 14 0.04/0.36 0.04/0.36 ### Ranking functions of CR eval_realselect_bb2_in(V_2,V_array_size,V_j_0_sink,B,C,D) 0.04/0.36 * RF of phase [12]: [V_array_size-V_j_0_sink-1] 0.04/0.36 0.04/0.36 #### Partial ranking functions of CR eval_realselect_bb2_in(V_2,V_array_size,V_j_0_sink,B,C,D) 0.04/0.36 * Partial RF of phase [12]: 0.04/0.36 - RF of loop [12:1]: 0.04/0.36 V_array_size-V_j_0_sink-1 0.04/0.36 0.04/0.36 0.04/0.36 ### Specialization of cost equations eval_realselect_bb1_in/10 0.04/0.36 * CE 5 is refined into CE [15] 0.04/0.36 * CE 3 is refined into CE [16,17] 0.04/0.36 * CE 6 is refined into CE [18] 0.04/0.36 * CE 4 is refined into CE [19] 0.04/0.36 0.04/0.36 0.04/0.36 ### Cost equations --> "Loop" of eval_realselect_bb1_in/10 0.04/0.36 * CEs [19] --> Loop 15 0.04/0.36 * CEs [15] --> Loop 16 0.04/0.36 * CEs [16,17] --> Loop 17 0.04/0.36 * CEs [18] --> Loop 18 0.04/0.36 0.04/0.36 ### Ranking functions of CR eval_realselect_bb1_in(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B,C,D,E,F) 0.04/0.36 * RF of phase [15]: [V_array_size-V_i_0-1] 0.04/0.36 0.04/0.36 #### Partial ranking functions of CR eval_realselect_bb1_in(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B,C,D,E,F) 0.04/0.36 * Partial RF of phase [15]: 0.04/0.36 - RF of loop [15:1]: 0.04/0.36 V_array_size-V_i_0-1 0.04/0.36 0.04/0.36 0.04/0.36 ### Specialization of cost equations eval_realselect_bb1_in_loop_cont/7 0.04/0.36 * CE 7 is refined into CE [20] 0.04/0.36 * CE 8 is refined into CE [21] 0.04/0.36 0.04/0.36 0.04/0.36 ### Cost equations --> "Loop" of eval_realselect_bb1_in_loop_cont/7 0.04/0.36 * CEs [20] --> Loop 19 0.04/0.36 * CEs [21] --> Loop 20 0.04/0.36 0.04/0.36 ### Ranking functions of CR eval_realselect_bb1_in_loop_cont(A,B,C,D,E,F,G) 0.04/0.36 0.04/0.36 #### Partial ranking functions of CR eval_realselect_bb1_in_loop_cont(A,B,C,D,E,F,G) 0.04/0.36 0.04/0.36 0.04/0.36 ### Specialization of cost equations eval_realselect_6/6 0.04/0.36 * CE 2 is refined into CE [22,23,24,25,26] 0.04/0.36 0.04/0.36 0.04/0.36 ### Cost equations --> "Loop" of eval_realselect_6/6 0.04/0.36 * CEs [24] --> Loop 21 0.04/0.36 * CEs [23,26] --> Loop 22 0.04/0.36 * CEs [25] --> Loop 23 0.04/0.36 * CEs [22] --> Loop 24 0.04/0.36 0.04/0.36 ### Ranking functions of CR eval_realselect_6(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B) 0.04/0.36 0.04/0.36 #### Partial ranking functions of CR eval_realselect_6(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B) 0.04/0.36 0.04/0.36 0.04/0.36 ### Specialization of cost equations eval_realselect_start/6 0.04/0.36 * CE 1 is refined into CE [27,28,29,30] 0.04/0.36 0.04/0.36 0.04/0.36 ### Cost equations --> "Loop" of eval_realselect_start/6 0.04/0.36 * CEs [30] --> Loop 25 0.04/0.36 * CEs [29] --> Loop 26 0.04/0.36 * CEs [28] --> Loop 27 0.04/0.36 * CEs [27] --> Loop 28 0.04/0.36 0.04/0.36 ### Ranking functions of CR eval_realselect_start(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B) 0.04/0.36 0.04/0.36 #### Partial ranking functions of CR eval_realselect_start(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B) 0.04/0.36 0.04/0.36 0.04/0.36 Computing Bounds 0.04/0.36 ===================================== 0.04/0.36 0.04/0.36 #### Cost of chains of eval_realselect_bb2_in(V_2,V_array_size,V_j_0_sink,B,C,D): 0.04/0.36 * Chain [[12],14]: 1*it(12)+0 0.04/0.36 Such that:it(12) =< -V_j_0_sink+C 0.04/0.36 0.04/0.36 with precondition: [B=2,V_array_size=C,V_array_size=D+1,V_j_0_sink>=0,V_array_size>=V_j_0_sink+2] 0.04/0.36 0.04/0.36 * Chain [[12],13]: 1*it(12)+0 0.04/0.36 Such that:it(12) =< V_array_size-V_j_0_sink 0.04/0.36 0.04/0.36 with precondition: [B=3,V_j_0_sink>=0,V_array_size>=V_j_0_sink+2] 0.04/0.36 0.04/0.36 * Chain [13]: 0 0.04/0.36 with precondition: [B=3,V_array_size>=2,V_j_0_sink>=0,V_array_size>=V_j_0_sink+1] 0.04/0.36 0.04/0.36 0.04/0.36 #### Cost of chains of eval_realselect_bb1_in(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B,C,D,E,F): 0.04/0.36 * Chain [[15],18]: 1*it(15)+1*s(3)+0 0.04/0.36 Such that:aux(3) =< V_array_size-V_i_0 0.04/0.36 it(15) =< aux(3) 0.04/0.36 s(3) =< it(15)*aux(3) 0.04/0.36 0.04/0.36 with precondition: [B=3,V_i_0>=0,V_array_size>=V_i_0+2] 0.04/0.36 0.04/0.36 * Chain [[15],17]: 2*it(15)+1*s(3)+0 0.04/0.36 Such that:aux(4) =< V_array_size-V_i_0 0.04/0.36 it(15) =< aux(4) 0.04/0.36 s(3) =< it(15)*aux(4) 0.04/0.36 0.04/0.36 with precondition: [B=3,V_i_0>=0,V_array_size>=V_i_0+3] 0.04/0.36 0.04/0.36 * Chain [[15],16]: 1*it(15)+1*s(3)+0 0.04/0.36 Such that:aux(5) =< -V_i_0+C 0.04/0.36 it(15) =< aux(5) 0.04/0.36 s(3) =< it(15)*aux(5) 0.04/0.36 0.04/0.36 with precondition: [B=4,V_array_size=C,V_array_size=D+1,V_array_size=E+1,V_array_size=F+1,V_i_0>=0,V_array_size>=V_i_0+2] 0.04/0.36 0.04/0.36 * Chain [18]: 0 0.04/0.36 with precondition: [B=3,V_i_0>=0] 0.04/0.36 0.04/0.36 * Chain [17]: 1*s(4)+0 0.04/0.36 Such that:s(4) =< V_array_size-V_i_0 0.04/0.36 0.04/0.36 with precondition: [B=3,V_i_0>=0,V_array_size>=V_i_0+2] 0.04/0.36 0.04/0.36 * Chain [16]: 0 0.04/0.36 with precondition: [B=4,C=V_2,D=V_21,F=V_j_0_sink,V_i_0=E,V_i_0>=0,V_i_0+1>=V_array_size] 0.04/0.36 0.04/0.36 0.04/0.36 #### Cost of chains of eval_realselect_bb1_in_loop_cont(A,B,C,D,E,F,G): 0.04/0.36 * Chain [20]: 0 0.04/0.36 with precondition: [A=3] 0.04/0.36 0.04/0.36 * Chain [19]: 0 0.04/0.36 with precondition: [A=4] 0.04/0.36 0.04/0.36 0.04/0.36 #### Cost of chains of eval_realselect_6(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B): 0.04/0.36 * Chain [24]: 0 0.04/0.36 with precondition: [] 0.04/0.36 0.04/0.36 * Chain [23]: 0 0.04/0.36 with precondition: [1>=V_array_size] 0.04/0.36 0.04/0.36 * Chain [22]: 3*s(10)+2*s(11)+0 0.04/0.36 Such that:aux(7) =< V_array_size 0.04/0.36 s(10) =< aux(7) 0.04/0.36 s(11) =< s(10)*aux(7) 0.04/0.36 0.04/0.36 with precondition: [V_array_size>=2] 0.04/0.36 0.04/0.36 * Chain [21]: 2*s(16)+1*s(17)+0 0.04/0.36 Such that:s(15) =< V_array_size 0.04/0.36 s(16) =< s(15) 0.04/0.36 s(17) =< s(16)*s(15) 0.04/0.36 0.04/0.36 with precondition: [V_array_size>=3] 0.04/0.36 0.04/0.36 0.04/0.36 #### Cost of chains of eval_realselect_start(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B): 0.04/0.36 * Chain [28]: 0 0.04/0.36 with precondition: [] 0.04/0.36 0.04/0.36 * Chain [27]: 0 0.04/0.36 with precondition: [1>=V_array_size] 0.04/0.36 0.04/0.36 * Chain [26]: 3*s(19)+2*s(20)+0 0.04/0.36 Such that:s(18) =< V_array_size 0.04/0.36 s(19) =< s(18) 0.04/0.36 s(20) =< s(19)*s(18) 0.04/0.36 0.04/0.36 with precondition: [V_array_size>=2] 0.04/0.36 0.04/0.36 * Chain [25]: 2*s(22)+1*s(23)+0 0.04/0.36 Such that:s(21) =< V_array_size 0.04/0.36 s(22) =< s(21) 0.04/0.36 s(23) =< s(22)*s(21) 0.04/0.36 0.04/0.36 with precondition: [V_array_size>=3] 0.04/0.36 0.04/0.36 0.04/0.36 Closed-form bounds of eval_realselect_start(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B): 0.04/0.36 ------------------------------------- 0.04/0.36 * Chain [28] with precondition: [] 0.04/0.36 - Upper bound: 0 0.04/0.36 - Complexity: constant 0.04/0.36 * Chain [27] with precondition: [1>=V_array_size] 0.04/0.36 - Upper bound: 0 0.04/0.36 - Complexity: constant 0.04/0.36 * Chain [26] with precondition: [V_array_size>=2] 0.04/0.36 - Upper bound: 2*V_array_size*V_array_size+3*V_array_size 0.04/0.36 - Complexity: n^2 0.04/0.36 * Chain [25] with precondition: [V_array_size>=3] 0.04/0.36 - Upper bound: 2*V_array_size+V_array_size*V_array_size 0.04/0.36 - Complexity: n^2 0.04/0.36 0.04/0.36 ### Maximum cost of eval_realselect_start(V_2,V_21,V_array_size,V_i_0,V_j_0_sink,B): nat(V_array_size)*nat(V_array_size)+nat(V_array_size)*2+(nat(V_array_size)*nat(V_array_size)+nat(V_array_size)) 0.04/0.36 Asymptotic class: n^2 0.04/0.36 * Total analysis performed in 275 ms. 0.04/0.36 0.04/0.46 EOF