0.06/0.31 WORST_CASE(?,O(n^2)) 0.06/0.31 0.06/0.31 Preprocessing Cost Relations 0.06/0.31 ===================================== 0.06/0.31 0.06/0.31 #### Computed strongly connected components 0.06/0.31 0. recursive : [eval_foo_3/4,eval_foo_4/5,eval_foo_bb2_in/4,eval_foo_bb3_in/4] 0.06/0.31 1. non_recursive : [eval_foo_stop/1] 0.06/0.31 2. non_recursive : [eval_foo_bb4_in/1] 0.06/0.31 3. non_recursive : [eval_foo_bb2_in_loop_cont/2] 0.06/0.31 4. non_recursive : [eval_foo_bb1_in/2] 0.06/0.31 5. non_recursive : [eval_foo_bb0_in/2] 0.06/0.31 6. non_recursive : [eval_foo_start/5] 0.06/0.31 0.06/0.31 #### Obtained direct recursion through partial evaluation 0.06/0.31 0. SCC is partially evaluated into eval_foo_bb2_in/4 0.06/0.31 1. SCC is completely evaluated into other SCCs 0.06/0.31 2. SCC is completely evaluated into other SCCs 0.06/0.31 3. SCC is completely evaluated into other SCCs 0.06/0.31 4. SCC is partially evaluated into eval_foo_bb1_in/2 0.06/0.31 5. SCC is partially evaluated into eval_foo_bb0_in/2 0.06/0.31 6. SCC is partially evaluated into eval_foo_start/5 0.06/0.31 0.06/0.31 Control-Flow Refinement of Cost Relations 0.06/0.31 ===================================== 0.06/0.31 0.06/0.31 ### Specialization of cost equations eval_foo_bb2_in/4 0.06/0.31 * CE 7 is refined into CE [8] 0.06/0.31 * CE 5 is refined into CE [9] 0.06/0.31 * CE 6 is refined into CE [10] 0.06/0.31 0.06/0.31 0.06/0.31 ### Cost equations --> "Loop" of eval_foo_bb2_in/4 0.06/0.31 * CEs [9] --> Loop 8 0.06/0.31 * CEs [10] --> Loop 9 0.06/0.31 * CEs [8] --> Loop 10 0.06/0.31 0.06/0.31 ### Ranking functions of CR eval_foo_bb2_in(V_r,V__01,V__0,B) 0.06/0.31 0.06/0.31 #### Partial ranking functions of CR eval_foo_bb2_in(V_r,V__01,V__0,B) 0.06/0.31 * Partial RF of phase [8,9]: 0.06/0.31 - RF of loop [8:1]: 0.06/0.31 V__01+1 0.06/0.31 -V_r+V__01+1 0.06/0.31 - RF of loop [9:1]: 0.06/0.31 V__0+1 depends on loops [8:1] 0.06/0.31 -V__01/2+V__0+1/2 depends on loops [8:1] 0.06/0.31 -V_r+V__0+1 depends on loops [8:1] 0.06/0.31 0.06/0.31 0.06/0.31 ### Specialization of cost equations eval_foo_bb1_in/2 0.06/0.31 * CE 4 is refined into CE [11] 0.06/0.31 0.06/0.31 0.06/0.31 ### Cost equations --> "Loop" of eval_foo_bb1_in/2 0.06/0.31 * CEs [11] --> Loop 11 0.06/0.31 0.06/0.31 ### Ranking functions of CR eval_foo_bb1_in(V_r,B) 0.06/0.31 0.06/0.31 #### Partial ranking functions of CR eval_foo_bb1_in(V_r,B) 0.06/0.31 0.06/0.31 0.06/0.31 ### Specialization of cost equations eval_foo_bb0_in/2 0.06/0.31 * CE 2 is refined into CE [12] 0.06/0.31 * CE 3 is refined into CE [13] 0.06/0.31 0.06/0.31 0.06/0.31 ### Cost equations --> "Loop" of eval_foo_bb0_in/2 0.06/0.31 * CEs [12] --> Loop 12 0.06/0.31 * CEs [13] --> Loop 13 0.06/0.31 0.06/0.31 ### Ranking functions of CR eval_foo_bb0_in(V_r,B) 0.06/0.31 0.06/0.31 #### Partial ranking functions of CR eval_foo_bb0_in(V_r,B) 0.06/0.31 0.06/0.31 0.06/0.31 ### Specialization of cost equations eval_foo_start/5 0.06/0.31 * CE 1 is refined into CE [14,15] 0.06/0.31 0.06/0.31 0.06/0.31 ### Cost equations --> "Loop" of eval_foo_start/5 0.06/0.31 * CEs [15] --> Loop 14 0.06/0.31 * CEs [14] --> Loop 15 0.06/0.31 0.06/0.31 ### Ranking functions of CR eval_foo_start(V_r,V_da,V_db,V_temp,B) 0.06/0.31 0.06/0.31 #### Partial ranking functions of CR eval_foo_start(V_r,V_da,V_db,V_temp,B) 0.06/0.31 0.06/0.31 0.06/0.31 Computing Bounds 0.06/0.31 ===================================== 0.06/0.31 0.06/0.31 #### Cost of chains of eval_foo_bb2_in(V_r,V__01,V__0,B): 0.06/0.31 * Chain [[8,9],10]: 1*it(8)+1*it(9)+0 0.06/0.31 Such that:aux(13) =< -V_r+V__01 0.06/0.31 it(8) =< -V_r+V__01+1 0.06/0.31 aux(25) =< V_r 0.06/0.31 aux(21) =< V__01 0.06/0.31 aux(12) =< -V__01/2+V__0+1 0.06/0.31 aux(6) =< -V__01/2+V__0+1/2 0.06/0.31 aux(15) =< V__0 0.06/0.31 aux(2) =< V__0+1 0.06/0.31 aux(26) =< -V_r+V__0+1 0.06/0.31 aux(12) =< aux(26) 0.06/0.31 aux(13) =< aux(25) 0.06/0.31 aux(15) =< aux(25) 0.06/0.31 aux(23) =< aux(13) 0.06/0.31 aux(23) =< aux(15)-1/2 0.06/0.31 aux(21) =< aux(15) 0.06/0.31 aux(17) =< aux(13) 0.06/0.31 aux(16) =< it(8)*aux(15) 0.06/0.31 aux(5) =< it(8)*aux(15) 0.06/0.31 aux(14) =< it(8)*aux(13) 0.06/0.31 aux(1) =< it(8)*aux(13) 0.06/0.31 aux(24) =< it(8)*aux(23) 0.06/0.31 aux(3) =< it(8)*aux(23) 0.06/0.31 aux(22) =< it(8)*aux(21) 0.06/0.31 aux(5) =< it(8)*aux(21) 0.06/0.31 aux(18) =< it(8)*aux(17) 0.06/0.31 aux(3) =< it(8)*aux(17) 0.06/0.31 aux(1) =< it(8)*aux(17) 0.06/0.31 aux(11) =< aux(16) 0.06/0.31 aux(7) =< aux(14) 0.06/0.31 aux(9) =< aux(24) 0.06/0.31 aux(11) =< aux(22) 0.06/0.31 aux(9) =< aux(18) 0.06/0.31 aux(7) =< aux(18) 0.06/0.31 it(9) =< aux(5)+aux(6) 0.06/0.31 it(9) =< aux(3)+aux(26) 0.06/0.31 it(9) =< aux(1)+aux(2) 0.06/0.31 it(9) =< aux(11)+aux(12) 0.06/0.31 it(9) =< aux(9)+aux(26) 0.06/0.31 it(9) =< aux(7)+aux(26) 0.06/0.31 0.06/0.31 with precondition: [B=2,V__0>=V_r,2*V_r>=V__01,V__01>=V__0] 0.06/0.31 0.06/0.31 0.06/0.31 #### Cost of chains of eval_foo_bb1_in(V_r,B): 0.06/0.31 * Chain [11]: 1*s(2)+1*s(23)+0 0.06/0.31 Such that:s(6) =< V_r+1/2 0.06/0.31 s(8) =< 2*V_r+1 0.06/0.31 aux(27) =< V_r 0.06/0.31 aux(28) =< V_r+1 0.06/0.31 aux(29) =< 2*V_r 0.06/0.31 s(2) =< aux(28) 0.06/0.31 s(4) =< aux(29) 0.06/0.31 s(7) =< aux(29) 0.06/0.31 s(7) =< aux(27) 0.06/0.31 s(10) =< aux(27) 0.06/0.31 s(10) =< s(7)-1/2 0.06/0.31 s(4) =< s(7) 0.06/0.31 s(11) =< aux(27) 0.06/0.31 s(12) =< s(2)*s(7) 0.06/0.31 s(13) =< s(2)*s(7) 0.06/0.31 s(14) =< s(2)*aux(27) 0.06/0.31 s(15) =< s(2)*aux(27) 0.06/0.31 s(16) =< s(2)*s(10) 0.06/0.31 s(17) =< s(2)*s(10) 0.06/0.31 s(18) =< s(2)*s(4) 0.06/0.31 s(13) =< s(2)*s(4) 0.06/0.31 s(19) =< s(2)*s(11) 0.06/0.31 s(17) =< s(2)*s(11) 0.06/0.31 s(15) =< s(2)*s(11) 0.06/0.31 s(20) =< s(12) 0.06/0.31 s(21) =< s(14) 0.06/0.31 s(22) =< s(16) 0.06/0.31 s(20) =< s(18) 0.06/0.31 s(22) =< s(19) 0.06/0.31 s(21) =< s(19) 0.06/0.31 s(23) =< s(13)+s(6) 0.06/0.31 s(23) =< s(17)+aux(28) 0.06/0.31 s(23) =< s(15)+s(8) 0.06/0.31 s(23) =< s(20)+aux(28) 0.06/0.31 s(23) =< s(22)+aux(28) 0.06/0.31 s(23) =< s(21)+aux(28) 0.06/0.31 0.06/0.31 with precondition: [V_r>=0] 0.06/0.31 0.06/0.31 0.06/0.31 #### Cost of chains of eval_foo_bb0_in(V_r,B): 0.06/0.31 * Chain [13]: 0 0.06/0.31 with precondition: [0>=V_r+1] 0.06/0.31 0.06/0.31 * Chain [12]: 1*s(29)+1*s(45)+0 0.06/0.31 Such that:s(26) =< V_r 0.06/0.31 s(27) =< V_r+1 0.06/0.31 s(24) =< V_r+1/2 0.06/0.31 s(28) =< 2*V_r 0.06/0.31 s(25) =< 2*V_r+1 0.06/0.31 s(29) =< s(27) 0.06/0.31 s(30) =< s(28) 0.06/0.31 s(31) =< s(28) 0.06/0.31 s(31) =< s(26) 0.06/0.31 s(32) =< s(26) 0.06/0.31 s(32) =< s(31)-1/2 0.06/0.31 s(30) =< s(31) 0.06/0.31 s(33) =< s(26) 0.06/0.31 s(34) =< s(29)*s(31) 0.06/0.31 s(35) =< s(29)*s(31) 0.06/0.31 s(36) =< s(29)*s(26) 0.06/0.31 s(37) =< s(29)*s(26) 0.06/0.31 s(38) =< s(29)*s(32) 0.06/0.31 s(39) =< s(29)*s(32) 0.06/0.31 s(40) =< s(29)*s(30) 0.06/0.31 s(35) =< s(29)*s(30) 0.06/0.31 s(41) =< s(29)*s(33) 0.06/0.31 s(39) =< s(29)*s(33) 0.06/0.31 s(37) =< s(29)*s(33) 0.06/0.31 s(42) =< s(34) 0.06/0.31 s(43) =< s(36) 0.06/0.31 s(44) =< s(38) 0.06/0.31 s(42) =< s(40) 0.06/0.31 s(44) =< s(41) 0.06/0.31 s(43) =< s(41) 0.06/0.31 s(45) =< s(35)+s(24) 0.06/0.31 s(45) =< s(39)+s(27) 0.06/0.31 s(45) =< s(37)+s(25) 0.06/0.31 s(45) =< s(42)+s(27) 0.06/0.31 s(45) =< s(44)+s(27) 0.06/0.31 s(45) =< s(43)+s(27) 0.06/0.31 0.06/0.31 with precondition: [V_r>=0] 0.06/0.31 0.06/0.31 0.06/0.31 #### Cost of chains of eval_foo_start(V_r,V_da,V_db,V_temp,B): 0.06/0.31 * Chain [15]: 0 0.06/0.31 with precondition: [0>=V_r+1] 0.06/0.31 0.06/0.31 * Chain [14]: 1*s(51)+1*s(67)+0 0.06/0.31 Such that:s(46) =< V_r 0.06/0.31 s(47) =< V_r+1 0.06/0.31 s(48) =< V_r+1/2 0.06/0.31 s(49) =< 2*V_r 0.06/0.31 s(50) =< 2*V_r+1 0.06/0.31 s(51) =< s(47) 0.06/0.31 s(52) =< s(49) 0.06/0.31 s(53) =< s(49) 0.06/0.31 s(53) =< s(46) 0.06/0.31 s(54) =< s(46) 0.06/0.31 s(54) =< s(53)-1/2 0.06/0.31 s(52) =< s(53) 0.06/0.31 s(55) =< s(46) 0.06/0.31 s(56) =< s(51)*s(53) 0.06/0.31 s(57) =< s(51)*s(53) 0.06/0.31 s(58) =< s(51)*s(46) 0.06/0.31 s(59) =< s(51)*s(46) 0.06/0.31 s(60) =< s(51)*s(54) 0.06/0.31 s(61) =< s(51)*s(54) 0.06/0.31 s(62) =< s(51)*s(52) 0.06/0.31 s(57) =< s(51)*s(52) 0.06/0.31 s(63) =< s(51)*s(55) 0.06/0.31 s(61) =< s(51)*s(55) 0.06/0.31 s(59) =< s(51)*s(55) 0.06/0.31 s(64) =< s(56) 0.06/0.31 s(65) =< s(58) 0.06/0.31 s(66) =< s(60) 0.06/0.31 s(64) =< s(62) 0.06/0.31 s(66) =< s(63) 0.06/0.31 s(65) =< s(63) 0.06/0.31 s(67) =< s(57)+s(48) 0.06/0.31 s(67) =< s(61)+s(47) 0.06/0.31 s(67) =< s(59)+s(50) 0.06/0.31 s(67) =< s(64)+s(47) 0.06/0.31 s(67) =< s(66)+s(47) 0.06/0.31 s(67) =< s(65)+s(47) 0.06/0.31 0.06/0.31 with precondition: [V_r>=0] 0.06/0.31 0.06/0.31 0.06/0.31 Closed-form bounds of eval_foo_start(V_r,V_da,V_db,V_temp,B): 0.06/0.31 ------------------------------------- 0.06/0.31 * Chain [15] with precondition: [0>=V_r+1] 0.06/0.31 - Upper bound: 0 0.06/0.31 - Complexity: constant 0.06/0.31 * Chain [14] with precondition: [V_r>=0] 0.06/0.31 - Upper bound: V_r+1+(V_r+1)*(2*V_r)+(V_r+1/2) 0.06/0.31 - Complexity: n^2 0.06/0.31 0.06/0.31 ### Maximum cost of eval_foo_start(V_r,V_da,V_db,V_temp,B): nat(V_r+1)*nat(2*V_r)+nat(V_r+1)+nat(V_r+1/2) 0.06/0.31 Asymptotic class: n^2 0.06/0.31 * Total analysis performed in 218 ms. 0.06/0.31 0.06/0.41 EOF