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