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