0.05/0.34 WORST_CASE(?,O(n^1)) 0.05/0.34 0.05/0.34 Preprocessing Cost Relations 0.05/0.34 ===================================== 0.05/0.34 0.05/0.34 #### Computed strongly connected components 0.05/0.34 0. recursive : [eval_foo_0/4,eval_foo_1/5,eval_foo_4/5,eval_foo_5/6,eval_foo_bb1_in/4,eval_foo_bb2_in/4,eval_foo_bb3_in/4,eval_foo_bb4_in/4] 0.05/0.34 1. non_recursive : [eval_foo_stop/1] 0.05/0.34 2. non_recursive : [eval_foo__critedge_in/1] 0.05/0.34 3. non_recursive : [eval_foo_bb1_in_loop_cont/2] 0.05/0.34 4. non_recursive : [eval_foo_bb0_in/4] 0.05/0.34 5. non_recursive : [eval_foo_start/4] 0.05/0.34 0.05/0.34 #### Obtained direct recursion through partial evaluation 0.05/0.34 0. SCC is partially evaluated into eval_foo_bb1_in/4 0.05/0.34 1. SCC is completely evaluated into other SCCs 0.05/0.34 2. SCC is completely evaluated into other SCCs 0.05/0.34 3. SCC is completely evaluated into other SCCs 0.05/0.34 4. SCC is partially evaluated into eval_foo_bb0_in/4 0.05/0.34 5. SCC is partially evaluated into eval_foo_start/4 0.05/0.34 0.05/0.34 Control-Flow Refinement of Cost Relations 0.05/0.34 ===================================== 0.05/0.34 0.05/0.34 ### Specialization of cost equations eval_foo_bb1_in/4 0.05/0.34 * CE 5 is refined into CE [8] 0.05/0.34 * CE 6 is refined into CE [9] 0.05/0.34 * CE 7 is refined into CE [10] 0.05/0.34 * CE 3 is refined into CE [11] 0.05/0.34 * CE 4 is refined into CE [12] 0.05/0.34 0.05/0.34 0.05/0.34 ### Cost equations --> "Loop" of eval_foo_bb1_in/4 0.05/0.34 * CEs [11] --> Loop 8 0.05/0.34 * CEs [12] --> Loop 9 0.05/0.34 * CEs [8] --> Loop 10 0.05/0.34 * CEs [9] --> Loop 11 0.05/0.34 * CEs [10] --> Loop 12 0.05/0.34 0.05/0.34 ### Ranking functions of CR eval_foo_bb1_in(V__03,V__01,V__0,B) 0.05/0.34 * RF of phase [8]: [V__03/2+V__01/2-V__0/2-1/2] 0.05/0.34 * RF of phase [9]: [V__03] 0.05/0.34 0.05/0.34 #### Partial ranking functions of CR eval_foo_bb1_in(V__03,V__01,V__0,B) 0.05/0.34 * Partial RF of phase [8]: 0.05/0.34 - RF of loop [8:1]: 0.05/0.34 V__03/2+V__01/2-V__0/2-1/2 0.05/0.34 * Partial RF of phase [9]: 0.05/0.34 - RF of loop [9:1]: 0.05/0.34 V__03 0.05/0.34 0.05/0.34 0.05/0.34 ### Specialization of cost equations eval_foo_bb0_in/4 0.05/0.34 * CE 2 is refined into CE [13,14,15,16,17] 0.05/0.34 0.05/0.34 0.05/0.34 ### Cost equations --> "Loop" of eval_foo_bb0_in/4 0.05/0.34 * CEs [16] --> Loop 13 0.05/0.34 * CEs [17] --> Loop 14 0.05/0.34 * CEs [13] --> Loop 15 0.05/0.34 * CEs [14] --> Loop 16 0.05/0.34 * CEs [15] --> Loop 17 0.05/0.34 0.05/0.34 ### Ranking functions of CR eval_foo_bb0_in(V_x,V_y,V_z,B) 0.05/0.34 0.05/0.34 #### Partial ranking functions of CR eval_foo_bb0_in(V_x,V_y,V_z,B) 0.05/0.34 0.05/0.34 0.05/0.34 ### Specialization of cost equations eval_foo_start/4 0.05/0.34 * CE 1 is refined into CE [18,19,20,21,22] 0.05/0.34 0.05/0.34 0.05/0.34 ### Cost equations --> "Loop" of eval_foo_start/4 0.05/0.34 * CEs [22] --> Loop 18 0.05/0.34 * CEs [21] --> Loop 19 0.05/0.34 * CEs [20] --> Loop 20 0.05/0.34 * CEs [19] --> Loop 21 0.05/0.34 * CEs [18] --> Loop 22 0.05/0.34 0.05/0.34 ### Ranking functions of CR eval_foo_start(V_x,V_y,V_z,B) 0.05/0.34 0.05/0.34 #### Partial ranking functions of CR eval_foo_start(V_x,V_y,V_z,B) 0.05/0.34 0.05/0.34 0.05/0.34 Computing Bounds 0.05/0.34 ===================================== 0.05/0.34 0.05/0.34 #### Cost of chains of eval_foo_bb1_in(V__03,V__01,V__0,B): 0.05/0.34 * Chain [[9],12]: 1*it(9)+0 0.05/0.34 Such that:it(9) =< V__03 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__01>=1,V__0>=V__01] 0.05/0.34 0.05/0.34 * Chain [[9],11]: 1*it(9)+0 0.05/0.34 Such that:it(9) =< V__03 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__01>=1,V__0>=V__01] 0.05/0.34 0.05/0.34 * Chain [[9],10]: 1*it(9)+0 0.05/0.34 Such that:it(9) =< V__03 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__01>=1,V__0>=V__01] 0.05/0.34 0.05/0.34 * Chain [[8],[9],12]: 1*it(8)+1*s(1)+0 0.05/0.34 Such that:it([[9],12]) =< 1 0.05/0.34 aux(7) =< V__03+V__01-V__0 0.05/0.34 aux(13) =< V__03/2+V__01/2-V__0/2 0.05/0.34 it(8) =< aux(13) 0.05/0.34 s(1) =< it([[9],12])*aux(7) 0.05/0.34 it(8) =< it([[9],12])*(1/2)+aux(13) 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__0>=1,V__01>=V__0+1] 0.05/0.34 0.05/0.34 * Chain [[8],[9],11]: 1*it(8)+1*s(2)+0 0.05/0.34 Such that:it([[9],11]) =< 1 0.05/0.34 aux(20) =< V__03+V__01-V__0 0.05/0.34 aux(26) =< V__03/2+V__01/2-V__0/2 0.05/0.34 it(8) =< aux(26) 0.05/0.34 s(2) =< it([[9],11])*aux(20) 0.05/0.34 it(8) =< it([[9],11])*(1/2)+aux(26) 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__0>=1,V__01>=V__0+1] 0.05/0.34 0.05/0.34 * Chain [[8],[9],10]: 1*it(8)+1*s(3)+0 0.05/0.34 Such that:it([[9],10]) =< 1 0.05/0.34 aux(33) =< V__03+V__01-V__0 0.05/0.34 aux(39) =< V__03/2+V__01/2-V__0/2 0.05/0.34 it(8) =< aux(39) 0.05/0.34 s(3) =< it([[9],10])*aux(33) 0.05/0.34 it(8) =< it([[9],10])*(1/2)+aux(39) 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__0>=1,V__01>=V__0+1] 0.05/0.34 0.05/0.34 * Chain [[8],12]: 1*it(8)+0 0.05/0.34 Such that:it(8) =< V__03/2+V__01/2-V__0/2 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__0>=1,V__01>=V__0+1] 0.05/0.34 0.05/0.34 * Chain [[8],10]: 1*it(8)+0 0.05/0.34 Such that:it(8) =< V__03/2+V__01/2-V__0/2 0.05/0.34 0.05/0.34 with precondition: [B=2,V__03>=1,V__0>=1,V__01>=V__0+1] 0.05/0.34 0.05/0.34 * Chain [12]: 0 0.05/0.34 with precondition: [B=2,0>=V__03] 0.05/0.34 0.05/0.34 * Chain [11]: 0 0.05/0.34 with precondition: [B=2,0>=V__01] 0.05/0.34 0.05/0.34 * Chain [10]: 0 0.05/0.34 with precondition: [B=2,0>=V__0] 0.05/0.34 0.05/0.34 0.05/0.34 #### Cost of chains of eval_foo_bb0_in(V_x,V_y,V_z,B): 0.05/0.34 * Chain [17]: 0 0.05/0.34 with precondition: [0>=V_x] 0.05/0.34 0.05/0.34 * Chain [16]: 0 0.05/0.34 with precondition: [0>=V_y] 0.05/0.34 0.05/0.34 * Chain [15]: 0 0.05/0.34 with precondition: [0>=V_z] 0.05/0.34 0.05/0.34 * Chain [14]: 2*s(27)+3*s(28)+3*s(29)+0 0.05/0.34 Such that:s(24) =< 1 0.05/0.34 s(25) =< -V_x+V_y+V_z 0.05/0.34 s(26) =< -V_x/2+V_y/2+V_z/2 0.05/0.34 s(27) =< s(26) 0.05/0.34 s(28) =< s(26) 0.05/0.34 s(29) =< s(24)*s(25) 0.05/0.34 s(28) =< s(24)*(1/2)+s(26) 0.05/0.34 0.05/0.34 with precondition: [V_x>=1,V_z>=1,V_y>=V_x+1] 0.05/0.34 0.05/0.34 * Chain [13]: 3*s(31)+0 0.05/0.34 Such that:s(30) =< V_z 0.05/0.34 s(31) =< s(30) 0.05/0.34 0.05/0.34 with precondition: [V_y>=1,V_z>=1,V_x>=V_y] 0.05/0.34 0.05/0.34 0.05/0.34 #### Cost of chains of eval_foo_start(V_x,V_y,V_z,B): 0.05/0.34 * Chain [22]: 0 0.05/0.34 with precondition: [0>=V_x] 0.05/0.34 0.05/0.34 * Chain [21]: 0 0.05/0.34 with precondition: [0>=V_y] 0.05/0.34 0.05/0.34 * Chain [20]: 0 0.05/0.34 with precondition: [0>=V_z] 0.05/0.34 0.05/0.34 * Chain [19]: 2*s(35)+3*s(36)+3*s(37)+0 0.05/0.34 Such that:s(32) =< 1 0.05/0.34 s(33) =< -V_x+V_y+V_z 0.05/0.34 s(34) =< -V_x/2+V_y/2+V_z/2 0.05/0.34 s(35) =< s(34) 0.05/0.34 s(36) =< s(34) 0.05/0.34 s(37) =< s(32)*s(33) 0.05/0.34 s(36) =< s(32)*(1/2)+s(34) 0.05/0.34 0.05/0.34 with precondition: [V_x>=1,V_z>=1,V_y>=V_x+1] 0.05/0.34 0.05/0.34 * Chain [18]: 3*s(39)+0 0.05/0.34 Such that:s(38) =< V_z 0.05/0.34 s(39) =< s(38) 0.05/0.34 0.05/0.34 with precondition: [V_y>=1,V_z>=1,V_x>=V_y] 0.05/0.34 0.05/0.34 0.05/0.34 Closed-form bounds of eval_foo_start(V_x,V_y,V_z,B): 0.05/0.34 ------------------------------------- 0.05/0.34 * Chain [22] with precondition: [0>=V_x] 0.05/0.34 - Upper bound: 0 0.05/0.34 - Complexity: constant 0.05/0.34 * Chain [21] with precondition: [0>=V_y] 0.05/0.34 - Upper bound: 0 0.05/0.34 - Complexity: constant 0.05/0.34 * Chain [20] with precondition: [0>=V_z] 0.05/0.34 - Upper bound: 0 0.05/0.34 - Complexity: constant 0.05/0.34 * Chain [19] with precondition: [V_x>=1,V_z>=1,V_y>=V_x+1] 0.05/0.34 - Upper bound: -11/2*V_x+11/2*V_y+11/2*V_z 0.05/0.34 - Complexity: n 0.05/0.34 * Chain [18] with precondition: [V_y>=1,V_z>=1,V_x>=V_y] 0.05/0.34 - Upper bound: 3*V_z 0.05/0.34 - Complexity: n 0.05/0.34 0.05/0.34 ### Maximum cost of eval_foo_start(V_x,V_y,V_z,B): max([nat(V_z)*3,nat(-V_x/2+V_y/2+V_z/2)*5+nat(-V_x+V_y+V_z)*3]) 0.05/0.34 Asymptotic class: n 0.05/0.34 * Total analysis performed in 253 ms. 0.05/0.34 0.05/0.44 EOF