0.06/0.25 WORST_CASE(?,O(n^1)) 0.06/0.25 0.06/0.25 Preprocessing Cost Relations 0.06/0.25 ===================================== 0.06/0.25 0.06/0.25 #### Computed strongly connected components 0.06/0.25 0. recursive : [eval_foo_bb5_in/6,eval_foo_bb6_in/6] 0.06/0.25 1. recursive : [eval_foo_bb7_in/6,eval_foo_bb8_in/6] 0.06/0.25 2. recursive : [eval_foo_bb1_in/3,eval_foo_bb2_in/3,eval_foo_bb3_in/3,eval_foo_bb4_in/4,eval_foo_bb5_in_loop_cont/4,eval_foo_bb7_in_loop_cont/4] 0.06/0.25 3. non_recursive : [eval_foo_stop/1] 0.06/0.25 4. non_recursive : [eval_foo_bb9_in/1] 0.06/0.25 5. non_recursive : [eval_foo_bb1_in_loop_cont/2] 0.06/0.25 6. non_recursive : [eval_foo_bb0_in/3] 0.06/0.25 7. non_recursive : [eval_foo_start/5] 0.06/0.25 Warning: the following predicates are never called:[eval_foo_bb7_in/6] 0.06/0.25 0.06/0.25 #### Obtained direct recursion through partial evaluation 0.06/0.25 0. SCC is partially evaluated into eval_foo_bb5_in/6 0.06/0.25 1. SCC is partially evaluated into eval_foo_bb7_in/6 0.06/0.25 2. SCC is partially evaluated into eval_foo_bb1_in/3 0.06/0.25 3. SCC is completely evaluated into other SCCs 0.06/0.25 4. SCC is completely evaluated into other SCCs 0.06/0.25 5. SCC is completely evaluated into other SCCs 0.06/0.25 6. SCC is partially evaluated into eval_foo_bb0_in/3 0.06/0.25 7. SCC is partially evaluated into eval_foo_start/5 0.06/0.25 0.06/0.25 Control-Flow Refinement of Cost Relations 0.06/0.25 ===================================== 0.06/0.25 0.06/0.25 ### Specialization of cost equations eval_foo_bb5_in/6 0.06/0.25 * CE 7 is refined into CE [8] 0.06/0.25 * CE 6 is refined into CE [9] 0.06/0.25 0.06/0.25 0.06/0.25 ### Cost equations --> "Loop" of eval_foo_bb5_in/6 0.06/0.25 * CEs [9] --> Loop 8 0.06/0.25 * CEs [8] --> Loop 9 0.06/0.25 0.06/0.25 ### Ranking functions of CR eval_foo_bb5_in(V__01,V__0,V__13,V__24,B,C) 0.06/0.25 * RF of phase [8]: [-V__01+V__24+1,V__24] 0.06/0.25 0.06/0.25 #### Partial ranking functions of CR eval_foo_bb5_in(V__01,V__0,V__13,V__24,B,C) 0.06/0.25 * Partial RF of phase [8]: 0.06/0.25 - RF of loop [8:1]: 0.06/0.25 -V__01+V__24+1 0.06/0.25 V__24 0.06/0.25 0.06/0.25 0.06/0.25 ### Specialization of cost equations eval_foo_bb1_in/3 0.06/0.25 * CE 5 is refined into CE [10] 0.06/0.25 * CE 4 is refined into CE [11] 0.06/0.25 * CE 3 is refined into CE [12,13] 0.06/0.25 0.06/0.25 0.06/0.25 ### Cost equations --> "Loop" of eval_foo_bb1_in/3 0.06/0.25 * CEs [13] --> Loop 10 0.06/0.25 * CEs [12] --> Loop 11 0.06/0.25 * CEs [10] --> Loop 12 0.06/0.25 * CEs [11] --> Loop 13 0.06/0.25 0.06/0.25 ### Ranking functions of CR eval_foo_bb1_in(V__01,V__0,B) 0.06/0.25 * RF of phase [10]: [V__01] 0.06/0.25 0.06/0.25 #### Partial ranking functions of CR eval_foo_bb1_in(V__01,V__0,B) 0.06/0.25 * Partial RF of phase [10]: 0.06/0.25 - RF of loop [10:1]: 0.06/0.25 V__01 0.06/0.25 0.06/0.25 0.06/0.25 ### Specialization of cost equations eval_foo_bb0_in/3 0.06/0.25 * CE 2 is refined into CE [14,15,16,17] 0.06/0.25 0.06/0.25 0.06/0.25 ### Cost equations --> "Loop" of eval_foo_bb0_in/3 0.06/0.25 * CEs [16] --> Loop 14 0.06/0.25 * CEs [17] --> Loop 15 0.06/0.25 * CEs [14] --> Loop 16 0.06/0.25 * CEs [15] --> Loop 17 0.06/0.25 0.06/0.25 ### Ranking functions of CR eval_foo_bb0_in(V_x,V_y,B) 0.06/0.25 0.06/0.25 #### Partial ranking functions of CR eval_foo_bb0_in(V_x,V_y,B) 0.06/0.25 0.06/0.25 0.06/0.25 ### Specialization of cost equations eval_foo_start/5 0.06/0.25 * CE 1 is refined into CE [18,19,20,21] 0.06/0.25 0.06/0.25 0.06/0.25 ### Cost equations --> "Loop" of eval_foo_start/5 0.06/0.25 * CEs [21] --> Loop 18 0.06/0.25 * CEs [20] --> Loop 19 0.06/0.25 * CEs [19] --> Loop 20 0.06/0.25 * CEs [18] --> Loop 21 0.06/0.25 0.06/0.25 ### Ranking functions of CR eval_foo_start(V_x,V_y,V_tmp,V_xtmp,B) 0.06/0.25 0.06/0.25 #### Partial ranking functions of CR eval_foo_start(V_x,V_y,V_tmp,V_xtmp,B) 0.06/0.25 0.06/0.25 0.06/0.25 Computing Bounds 0.06/0.25 ===================================== 0.06/0.25 0.06/0.25 #### Cost of chains of eval_foo_bb5_in(V__01,V__0,V__13,V__24,B,C): 0.06/0.25 * Chain [[8],9]: 1*it(8)+0 0.06/0.25 Such that:it(8) =< -V__01+V__24+1 0.06/0.25 0.06/0.25 with precondition: [B=2,V__0=V__13,C>=0,V__0>=V__24,V__01>=C+1,V__24>=V__01+C] 0.06/0.25 0.06/0.25 * Chain [9]: 0 0.06/0.25 with precondition: [B=2,V__13=V__0,V__24=C,V__13>=1,V__24>=0,V__01>=V__24+1,V__13>=V__24] 0.06/0.25 0.06/0.25 0.06/0.25 #### Cost of chains of eval_foo_bb1_in(V__01,V__0,B): 0.06/0.25 * Chain [[10],13]: 1*it(10)+1*s(3)+0 0.06/0.25 Such that:it(10) =< V__01 0.06/0.25 s(3) =< V__01+V__0 0.06/0.25 0.06/0.25 with precondition: [B=3,V__01>=1,V__0>=V__01] 0.06/0.25 0.06/0.25 * Chain [13]: 0 0.06/0.25 with precondition: [B=3,0>=V__01] 0.06/0.25 0.06/0.25 * Chain [12]: 0 0.06/0.25 with precondition: [B=3,0>=V__0] 0.06/0.25 0.06/0.25 * Chain [11,[10],13]: 1*it(10)+1*s(3)+1 0.06/0.25 Such that:s(3) =< V__01+V__0 0.06/0.25 it(10) =< V__0 0.06/0.25 0.06/0.25 with precondition: [B=3,V__0>=1,V__01>=V__0+1] 0.06/0.25 0.06/0.25 0.06/0.25 #### Cost of chains of eval_foo_bb0_in(V_x,V_y,B): 0.06/0.25 * Chain [17]: 0 0.06/0.25 with precondition: [0>=V_x] 0.06/0.25 0.06/0.25 * Chain [16]: 0 0.06/0.25 with precondition: [0>=V_y] 0.06/0.25 0.06/0.25 * Chain [15]: 1*s(4)+1*s(5)+1 0.06/0.25 Such that:s(5) =< V_x 0.06/0.25 s(4) =< V_x+V_y 0.06/0.25 0.06/0.25 with precondition: [V_x>=1,V_y>=V_x+1] 0.06/0.25 0.06/0.25 * Chain [14]: 1*s(6)+1*s(7)+0 0.06/0.25 Such that:s(7) =< V_x+V_y 0.06/0.25 s(6) =< V_y 0.06/0.25 0.06/0.25 with precondition: [V_y>=1,V_x>=V_y] 0.06/0.25 0.06/0.25 0.06/0.25 #### Cost of chains of eval_foo_start(V_x,V_y,V_tmp,V_xtmp,B): 0.06/0.25 * Chain [21]: 0 0.06/0.25 with precondition: [0>=V_x] 0.06/0.25 0.06/0.25 * Chain [20]: 0 0.06/0.25 with precondition: [0>=V_y] 0.06/0.25 0.06/0.25 * Chain [19]: 1*s(8)+1*s(9)+1 0.06/0.25 Such that:s(8) =< V_x 0.06/0.25 s(9) =< V_x+V_y 0.06/0.25 0.06/0.25 with precondition: [V_x>=1,V_y>=V_x+1] 0.06/0.25 0.06/0.25 * Chain [18]: 1*s(10)+1*s(11)+0 0.06/0.25 Such that:s(10) =< V_x+V_y 0.06/0.25 s(11) =< V_y 0.06/0.25 0.06/0.25 with precondition: [V_y>=1,V_x>=V_y] 0.06/0.25 0.06/0.25 0.06/0.25 Closed-form bounds of eval_foo_start(V_x,V_y,V_tmp,V_xtmp,B): 0.06/0.25 ------------------------------------- 0.06/0.25 * Chain [21] with precondition: [0>=V_x] 0.06/0.25 - Upper bound: 0 0.06/0.25 - Complexity: constant 0.06/0.25 * Chain [20] with precondition: [0>=V_y] 0.06/0.25 - Upper bound: 0 0.06/0.25 - Complexity: constant 0.06/0.25 * Chain [19] with precondition: [V_x>=1,V_y>=V_x+1] 0.06/0.25 - Upper bound: 2*V_x+V_y+1 0.06/0.25 - Complexity: n 0.06/0.25 * Chain [18] with precondition: [V_y>=1,V_x>=V_y] 0.06/0.25 - Upper bound: V_x+2*V_y 0.06/0.25 - Complexity: n 0.06/0.25 0.06/0.25 ### Maximum cost of eval_foo_start(V_x,V_y,V_tmp,V_xtmp,B): nat(V_x+V_y)+max([nat(V_y),nat(V_x)+1]) 0.06/0.25 Asymptotic class: n 0.06/0.25 * Total analysis performed in 166 ms. 0.06/0.25 0.06/0.35 EOF