0.05/0.22 WORST_CASE(?,O(n^1)) 0.05/0.22 0.05/0.22 Preprocessing Cost Relations 0.05/0.22 ===================================== 0.05/0.22 0.05/0.22 #### Computed strongly connected components 0.05/0.22 0. recursive : [eval_foo_bb1_in/3,eval_foo_bb2_in/3,eval_foo_bb3_in/3,eval_foo_bb4_in/3,eval_foo_bb5_in/5] 0.05/0.22 1. non_recursive : [eval_foo_stop/1] 0.05/0.22 2. non_recursive : [eval_foo_bb6_in/1] 0.05/0.22 3. non_recursive : [eval_foo_bb1_in_loop_cont/2] 0.05/0.22 4. non_recursive : [eval_foo_bb0_in/3] 0.05/0.22 5. non_recursive : [eval_foo_start/4] 0.05/0.22 0.05/0.22 #### Obtained direct recursion through partial evaluation 0.05/0.22 0. SCC is partially evaluated into eval_foo_bb1_in/3 0.05/0.22 1. SCC is completely evaluated into other SCCs 0.05/0.22 2. SCC is completely evaluated into other SCCs 0.05/0.22 3. SCC is completely evaluated into other SCCs 0.05/0.22 4. SCC is partially evaluated into eval_foo_bb0_in/3 0.05/0.22 5. SCC is partially evaluated into eval_foo_start/4 0.05/0.22 0.05/0.22 Control-Flow Refinement of Cost Relations 0.05/0.22 ===================================== 0.05/0.22 0.05/0.22 ### Specialization of cost equations eval_foo_bb1_in/3 0.05/0.22 * CE 6 is refined into CE [7] 0.05/0.22 * CE 4 is refined into CE [8] 0.05/0.22 * CE 5 is refined into CE [9] 0.05/0.22 * CE 3 is refined into CE [10] 0.05/0.22 0.05/0.22 0.05/0.22 ### Cost equations --> "Loop" of eval_foo_bb1_in/3 0.05/0.22 * CEs [8] --> Loop 7 0.05/0.22 * CEs [9] --> Loop 8 0.05/0.22 * CEs [10] --> Loop 9 0.05/0.22 * CEs [7] --> Loop 10 0.05/0.22 0.05/0.22 ### Ranking functions of CR eval_foo_bb1_in(V__02,V__01,B) 0.05/0.22 * RF of phase [7,9]: [V__02+V__01] 0.05/0.22 * RF of phase [8]: [V__01,-V__02+V__01,V__02+V__01] 0.05/0.22 0.05/0.22 #### Partial ranking functions of CR eval_foo_bb1_in(V__02,V__01,B) 0.05/0.22 * Partial RF of phase [7,9]: 0.05/0.22 - RF of loop [7:1]: 0.05/0.22 V__02 0.05/0.22 V__02-V__01 depends on loops [9:1] 0.05/0.22 V__02+V__01 0.05/0.22 - RF of loop [9:1]: 0.05/0.22 V__01+1 0.05/0.22 -V__02+V__01+1 depends on loops [7:1] 0.05/0.22 * Partial RF of phase [8]: 0.05/0.22 - RF of loop [8:1]: 0.05/0.22 V__01 0.05/0.22 -V__02+V__01 0.05/0.22 V__02+V__01 0.05/0.22 0.05/0.22 0.05/0.22 ### Specialization of cost equations eval_foo_bb0_in/3 0.05/0.22 * CE 2 is refined into CE [11,12,13,14] 0.05/0.22 0.05/0.22 0.05/0.22 ### Cost equations --> "Loop" of eval_foo_bb0_in/3 0.05/0.22 * CEs [14] --> Loop 11 0.05/0.22 * CEs [13] --> Loop 12 0.05/0.22 * CEs [12] --> Loop 13 0.05/0.22 * CEs [11] --> Loop 14 0.05/0.22 0.05/0.22 ### Ranking functions of CR eval_foo_bb0_in(V_x,V_y,B) 0.05/0.22 0.05/0.22 #### Partial ranking functions of CR eval_foo_bb0_in(V_x,V_y,B) 0.05/0.22 0.05/0.22 0.05/0.22 ### Specialization of cost equations eval_foo_start/4 0.05/0.22 * CE 1 is refined into CE [15,16,17,18] 0.05/0.22 0.05/0.22 0.05/0.22 ### Cost equations --> "Loop" of eval_foo_start/4 0.05/0.22 * CEs [18] --> Loop 15 0.05/0.22 * CEs [17] --> Loop 16 0.05/0.22 * CEs [16] --> Loop 17 0.05/0.22 * CEs [15] --> Loop 18 0.05/0.22 0.05/0.22 ### Ranking functions of CR eval_foo_start(V_c,V_x,V_y,B) 0.05/0.22 0.05/0.22 #### Partial ranking functions of CR eval_foo_start(V_c,V_x,V_y,B) 0.05/0.22 0.05/0.22 0.05/0.22 Computing Bounds 0.05/0.22 ===================================== 0.05/0.22 0.05/0.22 #### Cost of chains of eval_foo_bb1_in(V__02,V__01,B): 0.05/0.22 * Chain [[8],[7,9],10]: 1*it(7)+1*it(8)+1*it(9)+0 0.05/0.22 Such that:it(8) =< -V__02+V__01 0.05/0.22 it(7) =< V__02 0.05/0.22 it(9) =< V__02+1 0.05/0.22 aux(7) =< 2*V__02 0.05/0.22 it(7) =< aux(7) 0.05/0.22 it(9) =< aux(7) 0.05/0.22 0.05/0.22 with precondition: [B=2,2*V__02>=1,V__01>=V__02+1] 0.05/0.22 0.05/0.22 * Chain [[8],10]: 1*it(8)+0 0.05/0.22 Such that:it(8) =< V__02+V__01 0.05/0.22 0.05/0.22 with precondition: [B=2,0>=V__02,V__01+V__02>=1] 0.05/0.22 0.05/0.22 * Chain [[7,9],10]: 1*it(7)+1*it(9)+0 0.05/0.22 Such that:it(7) =< V__02 0.05/0.22 it(9) =< V__01+1 0.05/0.22 aux(7) =< V__02+V__01 0.05/0.22 it(7) =< aux(7) 0.05/0.22 it(9) =< aux(7) 0.05/0.22 0.05/0.22 with precondition: [B=2,V__02>=V__01,V__01+V__02>=1] 0.05/0.22 0.05/0.22 * Chain [10]: 0 0.05/0.22 with precondition: [B=2,0>=V__01+V__02] 0.05/0.22 0.05/0.22 0.05/0.22 #### Cost of chains of eval_foo_bb0_in(V_x,V_y,B): 0.05/0.22 * Chain [14]: 1*s(1)+0 0.05/0.22 Such that:s(1) =< V_x+V_y 0.05/0.22 0.05/0.22 with precondition: [0>=V_y,V_x+V_y>=1] 0.05/0.22 0.05/0.22 * Chain [13]: 1*s(2)+1*s(3)+1*s(4)+0 0.05/0.22 Such that:s(2) =< V_x-V_y 0.05/0.22 s(3) =< V_y 0.05/0.22 s(4) =< V_y+1 0.05/0.22 s(5) =< 2*V_y 0.05/0.22 s(3) =< s(5) 0.05/0.22 s(4) =< s(5) 0.05/0.22 0.05/0.22 with precondition: [2*V_y>=1,V_x>=V_y+1] 0.05/0.22 0.05/0.22 * Chain [12]: 0 0.05/0.22 with precondition: [0>=V_x+V_y] 0.05/0.22 0.05/0.22 * Chain [11]: 1*s(6)+1*s(7)+0 0.05/0.22 Such that:s(7) =< V_x+1 0.05/0.22 s(8) =< V_x+V_y 0.05/0.22 s(6) =< V_y 0.05/0.22 s(7) =< V_y+1 0.05/0.22 s(6) =< s(8) 0.05/0.22 s(7) =< s(8) 0.05/0.22 0.05/0.22 with precondition: [V_y>=V_x,V_x+V_y>=1] 0.05/0.22 0.05/0.22 0.05/0.22 #### Cost of chains of eval_foo_start(V_c,V_x,V_y,B): 0.05/0.22 * Chain [18]: 1*s(9)+0 0.05/0.22 Such that:s(9) =< V_x+V_y 0.05/0.22 0.05/0.22 with precondition: [0>=V_y,V_x+V_y>=1] 0.05/0.22 0.05/0.22 * Chain [17]: 1*s(10)+1*s(11)+1*s(12)+0 0.05/0.22 Such that:s(10) =< V_x-V_y 0.05/0.22 s(11) =< V_y 0.05/0.22 s(12) =< V_y+1 0.05/0.22 s(13) =< 2*V_y 0.05/0.22 s(11) =< s(13) 0.05/0.22 s(12) =< s(13) 0.05/0.22 0.05/0.22 with precondition: [2*V_y>=1,V_x>=V_y+1] 0.05/0.22 0.05/0.22 * Chain [16]: 0 0.05/0.22 with precondition: [0>=V_x+V_y] 0.05/0.22 0.05/0.22 * Chain [15]: 1*s(14)+1*s(16)+0 0.05/0.22 Such that:s(14) =< V_x+1 0.05/0.22 s(15) =< V_x+V_y 0.05/0.22 s(16) =< V_y 0.05/0.22 s(14) =< V_y+1 0.05/0.22 s(16) =< s(15) 0.05/0.22 s(14) =< s(15) 0.05/0.22 0.05/0.22 with precondition: [V_y>=V_x,V_x+V_y>=1] 0.05/0.22 0.05/0.22 0.05/0.22 Closed-form bounds of eval_foo_start(V_c,V_x,V_y,B): 0.05/0.22 ------------------------------------- 0.05/0.22 * Chain [18] with precondition: [0>=V_y,V_x+V_y>=1] 0.05/0.22 - Upper bound: V_x+V_y 0.05/0.22 - Complexity: n 0.05/0.22 * Chain [17] with precondition: [2*V_y>=1,V_x>=V_y+1] 0.05/0.22 - Upper bound: V_x+V_y+1 0.05/0.22 - Complexity: n 0.05/0.22 * Chain [16] with precondition: [0>=V_x+V_y] 0.05/0.22 - Upper bound: 0 0.05/0.22 - Complexity: constant 0.05/0.22 * Chain [15] with precondition: [V_y>=V_x,V_x+V_y>=1] 0.05/0.22 - Upper bound: nat(V_x+1)+V_y 0.05/0.22 - Complexity: n 0.05/0.22 0.05/0.22 ### Maximum cost of eval_foo_start(V_c,V_x,V_y,B): max([nat(V_x+V_y),nat(V_y)+max([nat(V_x+1),nat(V_x-V_y)+nat(V_y+1)])]) 0.05/0.22 Asymptotic class: n 0.05/0.22 * Total analysis performed in 144 ms. 0.05/0.22 0.05/0.32 EOF