0.05/0.26 WORST_CASE(?,O(n^2)) 0.05/0.26 0.05/0.26 Preprocessing Cost Relations 0.05/0.26 ===================================== 0.05/0.26 0.05/0.26 #### Computed strongly connected components 0.05/0.26 0. recursive : [eval_realbubble_2/6,eval_realbubble_3/7,eval_realbubble_4/8,eval_realbubble_5/8,eval_realbubble_6/8,eval_realbubble_bb2_in/6,eval_realbubble_bb3_in/6,eval_realbubble_bb4_in/8,eval_realbubble_bb5_in/9] 0.05/0.26 1. recursive : [eval_realbubble_bb1_in/2,eval_realbubble_bb2_in_loop_cont/5,eval_realbubble_bb6_in/4,eval_realbubble_bb7_in/4] 0.05/0.26 2. non_recursive : [eval_realbubble_stop/1] 0.05/0.26 3. non_recursive : [eval_realbubble_bb8_in/1] 0.05/0.26 4. non_recursive : [eval_realbubble_bb1_in_loop_cont/2] 0.05/0.26 5. non_recursive : [eval_realbubble_bb0_in/2] 0.05/0.26 6. non_recursive : [eval_realbubble_start/2] 0.05/0.26 0.05/0.26 #### Obtained direct recursion through partial evaluation 0.05/0.26 0. SCC is partially evaluated into eval_realbubble_bb2_in/6 0.05/0.26 1. SCC is partially evaluated into eval_realbubble_bb1_in/2 0.05/0.26 2. SCC is completely evaluated into other SCCs 0.05/0.26 3. SCC is completely evaluated into other SCCs 0.05/0.26 4. SCC is completely evaluated into other SCCs 0.05/0.26 5. SCC is partially evaluated into eval_realbubble_bb0_in/2 0.05/0.26 6. SCC is partially evaluated into eval_realbubble_start/2 0.05/0.26 0.05/0.26 Control-Flow Refinement of Cost Relations 0.05/0.26 ===================================== 0.05/0.26 0.05/0.26 ### Specialization of cost equations eval_realbubble_bb2_in/6 0.05/0.26 * CE 9 is refined into CE [10] 0.05/0.26 * CE 7 is refined into CE [11] 0.05/0.26 * CE 8 is refined into CE [12] 0.05/0.26 0.05/0.26 0.05/0.26 ### Cost equations --> "Loop" of eval_realbubble_bb2_in/6 0.05/0.26 * CEs [11] --> Loop 9 0.05/0.26 * CEs [12] --> Loop 10 0.05/0.26 * CEs [10] --> Loop 11 0.05/0.26 0.05/0.26 ### Ranking functions of CR eval_realbubble_bb2_in(V_i_0,V_j_0,V_test_0,B,C,D) 0.05/0.26 * RF of phase [9,10]: [V_i_0-V_j_0] 0.05/0.26 0.05/0.26 #### Partial ranking functions of CR eval_realbubble_bb2_in(V_i_0,V_j_0,V_test_0,B,C,D) 0.05/0.26 * Partial RF of phase [9,10]: 0.05/0.26 - RF of loop [9:1,10:1]: 0.05/0.26 V_i_0-V_j_0 0.05/0.26 0.05/0.26 0.05/0.26 ### Specialization of cost equations eval_realbubble_bb1_in/2 0.05/0.26 * CE 3 is refined into CE [13] 0.05/0.26 * CE 6 is refined into CE [14] 0.05/0.26 * CE 4 is discarded (unfeasible) 0.05/0.26 * CE 5 is refined into CE [15] 0.05/0.26 0.05/0.26 0.05/0.26 ### Cost equations --> "Loop" of eval_realbubble_bb1_in/2 0.05/0.26 * CEs [15] --> Loop 12 0.05/0.26 * CEs [13] --> Loop 13 0.05/0.26 * CEs [14] --> Loop 14 0.05/0.26 0.05/0.26 ### Ranking functions of CR eval_realbubble_bb1_in(V_i_0,B) 0.05/0.26 * RF of phase [12]: [V_i_0] 0.05/0.26 0.05/0.26 #### Partial ranking functions of CR eval_realbubble_bb1_in(V_i_0,B) 0.05/0.26 * Partial RF of phase [12]: 0.05/0.26 - RF of loop [12:1]: 0.05/0.26 V_i_0 0.05/0.26 0.05/0.26 0.05/0.26 ### Specialization of cost equations eval_realbubble_bb0_in/2 0.05/0.26 * CE 2 is refined into CE [16,17,18] 0.05/0.26 0.05/0.26 0.05/0.26 ### Cost equations --> "Loop" of eval_realbubble_bb0_in/2 0.05/0.26 * CEs [18] --> Loop 15 0.05/0.26 * CEs [17] --> Loop 16 0.05/0.26 * CEs [16] --> Loop 17 0.05/0.26 0.05/0.26 ### Ranking functions of CR eval_realbubble_bb0_in(V_length,B) 0.05/0.26 0.05/0.26 #### Partial ranking functions of CR eval_realbubble_bb0_in(V_length,B) 0.05/0.26 0.05/0.26 0.05/0.26 ### Specialization of cost equations eval_realbubble_start/2 0.05/0.26 * CE 1 is refined into CE [19,20,21] 0.05/0.26 0.05/0.26 0.05/0.26 ### Cost equations --> "Loop" of eval_realbubble_start/2 0.05/0.26 * CEs [21] --> Loop 18 0.05/0.26 * CEs [20] --> Loop 19 0.05/0.26 * CEs [19] --> Loop 20 0.05/0.26 0.05/0.26 ### Ranking functions of CR eval_realbubble_start(V_length,B) 0.05/0.26 0.05/0.26 #### Partial ranking functions of CR eval_realbubble_start(V_length,B) 0.05/0.26 0.05/0.26 0.05/0.26 Computing Bounds 0.05/0.26 ===================================== 0.05/0.26 0.05/0.26 #### Cost of chains of eval_realbubble_bb2_in(V_i_0,V_j_0,V_test_0,B,C,D): 0.05/0.26 * Chain [[9,10],11]: 2*it(9)+0 0.05/0.26 Such that:aux(3) =< -V_j_0+C 0.05/0.26 it(9) =< aux(3) 0.05/0.26 0.05/0.26 with precondition: [B=2,V_i_0=C,V_test_0>=0,D>=0,V_i_0>=V_j_0+1,V_j_0>=V_test_0,V_i_0+V_test_0>=V_j_0+D] 0.05/0.26 0.05/0.26 0.05/0.26 #### Cost of chains of eval_realbubble_bb1_in(V_i_0,B): 0.05/0.26 * Chain [[12],14]: 1*it(12)+2*s(5)+0 0.05/0.26 Such that:aux(6) =< V_i_0 0.05/0.26 it(12) =< aux(6) 0.05/0.26 s(6) =< it(12)*aux(6) 0.05/0.26 s(5) =< s(6) 0.05/0.26 0.05/0.26 with precondition: [B=3,V_i_0>=1] 0.05/0.26 0.05/0.26 * Chain [[12],13]: 3*it(12)+2*s(5)+0 0.05/0.26 Such that:aux(7) =< V_i_0 0.05/0.26 it(12) =< aux(7) 0.05/0.26 s(6) =< it(12)*aux(7) 0.05/0.26 s(5) =< s(6) 0.05/0.26 0.05/0.26 with precondition: [B=3,V_i_0>=2] 0.05/0.26 0.05/0.26 * Chain [14]: 0 0.05/0.26 with precondition: [B=3,0>=V_i_0] 0.05/0.26 0.05/0.26 * Chain [13]: 2*s(8)+0 0.05/0.26 Such that:s(7) =< V_i_0 0.05/0.26 s(8) =< s(7) 0.05/0.26 0.05/0.26 with precondition: [B=3,V_i_0>=1] 0.05/0.26 0.05/0.26 0.05/0.26 #### Cost of chains of eval_realbubble_bb0_in(V_length,B): 0.05/0.26 * Chain [17]: 0 0.05/0.26 with precondition: [1>=V_length] 0.05/0.26 0.05/0.26 * Chain [16]: 3*s(16)+2*s(18)+0 0.05/0.26 Such that:s(15) =< V_length 0.05/0.26 s(16) =< s(15) 0.05/0.26 s(17) =< s(16)*s(15) 0.05/0.26 s(18) =< s(17) 0.05/0.26 0.05/0.26 with precondition: [V_length>=2] 0.05/0.26 0.05/0.26 * Chain [15]: 3*s(20)+2*s(22)+0 0.05/0.26 Such that:s(19) =< V_length 0.05/0.26 s(20) =< s(19) 0.05/0.26 s(21) =< s(20)*s(19) 0.05/0.26 s(22) =< s(21) 0.05/0.26 0.05/0.26 with precondition: [V_length>=3] 0.05/0.26 0.05/0.26 0.05/0.26 #### Cost of chains of eval_realbubble_start(V_length,B): 0.05/0.26 * Chain [20]: 0 0.05/0.26 with precondition: [1>=V_length] 0.05/0.26 0.05/0.26 * Chain [19]: 3*s(24)+2*s(26)+0 0.05/0.26 Such that:s(23) =< V_length 0.05/0.26 s(24) =< s(23) 0.05/0.26 s(25) =< s(24)*s(23) 0.05/0.26 s(26) =< s(25) 0.05/0.26 0.05/0.26 with precondition: [V_length>=2] 0.05/0.26 0.05/0.26 * Chain [18]: 3*s(28)+2*s(30)+0 0.05/0.26 Such that:s(27) =< V_length 0.05/0.26 s(28) =< s(27) 0.05/0.26 s(29) =< s(28)*s(27) 0.05/0.26 s(30) =< s(29) 0.05/0.26 0.05/0.26 with precondition: [V_length>=3] 0.05/0.26 0.05/0.26 0.05/0.26 Closed-form bounds of eval_realbubble_start(V_length,B): 0.05/0.26 ------------------------------------- 0.05/0.26 * Chain [20] with precondition: [1>=V_length] 0.05/0.26 - Upper bound: 0 0.05/0.26 - Complexity: constant 0.05/0.26 * Chain [19] with precondition: [V_length>=2] 0.05/0.26 - Upper bound: 2*V_length*V_length+3*V_length 0.05/0.26 - Complexity: n^2 0.05/0.26 * Chain [18] with precondition: [V_length>=3] 0.05/0.26 - Upper bound: 2*V_length*V_length+3*V_length 0.05/0.26 - Complexity: n^2 0.05/0.26 0.05/0.26 ### Maximum cost of eval_realbubble_start(V_length,B): nat(V_length)*2*nat(V_length)+nat(V_length)*3 0.05/0.26 Asymptotic class: n^2 0.05/0.26 * Total analysis performed in 176 ms. 0.05/0.26 0.05/0.36 EOF