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