0.03/0.22 WORST_CASE(?,O(n^2)) 0.03/0.22 0.03/0.22 Preprocessing Cost Relations 0.03/0.22 ===================================== 0.03/0.22 0.03/0.22 #### Computed strongly connected components 0.03/0.22 0. recursive : [eval2/5] 0.03/0.22 1. recursive : [eval1/3,eval2_loop_cont/4] 0.03/0.22 2. non_recursive : [exit_location/1] 0.03/0.22 3. non_recursive : [eval1_loop_cont/2] 0.03/0.22 4. non_recursive : [start/3] 0.03/0.22 0.03/0.22 #### Obtained direct recursion through partial evaluation 0.03/0.22 0. SCC is partially evaluated into eval2/5 0.03/0.22 1. SCC is partially evaluated into eval1/3 0.03/0.22 2. SCC is completely evaluated into other SCCs 0.03/0.22 3. SCC is completely evaluated into other SCCs 0.03/0.22 4. SCC is partially evaluated into start/3 0.03/0.22 0.03/0.22 Control-Flow Refinement of Cost Relations 0.03/0.22 ===================================== 0.03/0.22 0.03/0.22 ### Specialization of cost equations eval2/5 0.03/0.22 * CE 7 is refined into CE [8] 0.03/0.22 * CE 6 is refined into CE [9] 0.03/0.22 * CE 5 is refined into CE [10] 0.03/0.22 0.03/0.22 0.03/0.22 ### Cost equations --> "Loop" of eval2/5 0.03/0.22 * CEs [10] --> Loop 8 0.03/0.22 * CEs [8] --> Loop 9 0.03/0.22 * CEs [9] --> Loop 10 0.03/0.22 0.03/0.22 ### Ranking functions of CR eval2(A,B,C,D,E) 0.03/0.22 * RF of phase [8]: [2*A-2*B-1] 0.03/0.22 0.03/0.22 #### Partial ranking functions of CR eval2(A,B,C,D,E) 0.03/0.22 * Partial RF of phase [8]: 0.03/0.22 - RF of loop [8:1]: 0.03/0.22 2*A-2*B-1 0.03/0.22 0.03/0.22 0.03/0.22 ### Specialization of cost equations eval1/3 0.03/0.22 * CE 2 is refined into CE [11,12] 0.03/0.22 * CE 4 is refined into CE [13] 0.03/0.22 * CE 3 is refined into CE [14,15] 0.03/0.22 0.03/0.22 0.03/0.22 ### Cost equations --> "Loop" of eval1/3 0.03/0.22 * CEs [15] --> Loop 11 0.03/0.22 * CEs [14] --> Loop 12 0.03/0.22 * CEs [12] --> Loop 13 0.03/0.22 * CEs [11] --> Loop 14 0.03/0.22 * CEs [13] --> Loop 15 0.03/0.22 0.03/0.22 ### Ranking functions of CR eval1(A,B,C) 0.03/0.22 * RF of phase [11]: [A-1] 0.03/0.22 * RF of phase [12]: [A+1] 0.03/0.22 0.03/0.22 #### Partial ranking functions of CR eval1(A,B,C) 0.03/0.22 * Partial RF of phase [11]: 0.03/0.22 - RF of loop [11:1]: 0.03/0.22 A-1 0.03/0.22 * Partial RF of phase [12]: 0.03/0.22 - RF of loop [12:1]: 0.03/0.22 A+1 0.03/0.22 0.03/0.22 0.03/0.22 ### Specialization of cost equations start/3 0.03/0.22 * CE 1 is refined into CE [16,17,18,19,20,21] 0.03/0.22 0.03/0.22 0.03/0.22 ### Cost equations --> "Loop" of start/3 0.03/0.22 * CEs [21] --> Loop 16 0.03/0.22 * CEs [20] --> Loop 17 0.03/0.22 * CEs [19] --> Loop 18 0.03/0.22 * CEs [18] --> Loop 19 0.03/0.22 * CEs [16] --> Loop 20 0.03/0.22 * CEs [17] --> Loop 21 0.03/0.22 0.03/0.22 ### Ranking functions of CR start(A,B,C) 0.03/0.22 0.03/0.22 #### Partial ranking functions of CR start(A,B,C) 0.03/0.22 0.03/0.22 0.03/0.22 Computing Bounds 0.03/0.22 ===================================== 0.03/0.22 0.03/0.22 #### Cost of chains of eval2(A,B,C,D,E): 0.03/0.22 * Chain [[8],10]: 1*it(8)+0 0.03/0.22 Such that:it(8) =< -2*B+2*D+2 0.03/0.22 0.03/0.22 with precondition: [C=2,A=D+1,B>=1,E>=2*B,E>=A,2*A>=E+2] 0.03/0.22 0.03/0.22 * Chain [[8],9]: 1*it(8)+0 0.03/0.22 Such that:it(8) =< 2*A-2*B 0.03/0.22 0.03/0.22 with precondition: [C=3,B>=1,A>=B+1] 0.03/0.22 0.03/0.22 * Chain [10]: 0 0.03/0.22 with precondition: [C=2,A=D+1,B=E,A>=0,B>=1,B>=A] 0.03/0.22 0.03/0.22 * Chain [9]: 0 0.03/0.22 with precondition: [C=3,B>=1] 0.03/0.22 0.03/0.22 0.03/0.22 #### Cost of chains of eval1(A,B,C): 0.03/0.22 * Chain [[12],15]: 1*it(12)+0 0.03/0.22 Such that:it(12) =< A+1 0.03/0.22 0.03/0.22 with precondition: [C=3,1>=A,A>=0] 0.03/0.22 0.03/0.22 * Chain [[12],14]: 1*it(12)+0 0.03/0.22 Such that:it(12) =< 1 0.03/0.22 0.03/0.22 with precondition: [A=1,C=3] 0.03/0.22 0.03/0.22 * Chain [[11],[12],15]: 1*it(11)+1*it(12)+1*s(3)+0 0.03/0.22 Such that:it(12) =< 2 0.03/0.22 it(11) =< A 0.03/0.22 aux(1) =< 2*A 0.03/0.22 s(3) =< it(11)*aux(1) 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=2] 0.03/0.22 0.03/0.22 * Chain [[11],[12],14]: 1*it(11)+1*it(12)+1*s(3)+0 0.03/0.22 Such that:it(12) =< 1 0.03/0.22 it(11) =< A 0.03/0.22 aux(1) =< 2*A 0.03/0.22 s(3) =< it(11)*aux(1) 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=2] 0.03/0.22 0.03/0.22 * Chain [[11],15]: 1*it(11)+1*s(3)+0 0.03/0.22 Such that:it(11) =< A 0.03/0.22 aux(1) =< 2*A 0.03/0.22 s(3) =< it(11)*aux(1) 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=2] 0.03/0.22 0.03/0.22 * Chain [[11],14]: 1*it(11)+1*s(3)+0 0.03/0.22 Such that:it(11) =< A 0.03/0.22 aux(1) =< 2*A 0.03/0.22 s(3) =< it(11)*aux(1) 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=2] 0.03/0.22 0.03/0.22 * Chain [[11],13]: 1*it(11)+1*s(3)+1*s(4)+0 0.03/0.22 Such that:it(11) =< A 0.03/0.22 aux(2) =< 2*A 0.03/0.22 it(11) =< aux(2) 0.03/0.22 s(4) =< aux(2) 0.03/0.22 s(3) =< it(11)*aux(2) 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=3] 0.03/0.22 0.03/0.22 * Chain [15]: 0 0.03/0.22 with precondition: [C=3] 0.03/0.22 0.03/0.22 * Chain [14]: 0 0.03/0.22 with precondition: [C=3,A>=0] 0.03/0.22 0.03/0.22 * Chain [13]: 1*s(4)+0 0.03/0.22 Such that:s(4) =< 2*A 0.03/0.22 0.03/0.22 with precondition: [C=3,A>=2] 0.03/0.22 0.03/0.22 0.03/0.22 #### Cost of chains of start(A,B,C): 0.03/0.22 * Chain [21]: 0 0.03/0.22 with precondition: [] 0.03/0.22 0.03/0.22 * Chain [20]: 1*s(20)+0 0.03/0.22 Such that:s(20) =< 1 0.03/0.22 0.03/0.22 with precondition: [A=1] 0.03/0.22 0.03/0.22 * Chain [19]: 1*s(21)+0 0.03/0.22 Such that:s(21) =< A+1 0.03/0.22 0.03/0.22 with precondition: [1>=A,A>=0] 0.03/0.22 0.03/0.22 * Chain [18]: 0 0.03/0.22 with precondition: [A>=0] 0.03/0.22 0.03/0.22 * Chain [17]: 1*s(22)+1*s(23)+4*s(26)+1*s(27)+4*s(28)+0 0.03/0.22 Such that:s(22) =< 1 0.03/0.22 s(23) =< 2 0.03/0.22 s(24) =< A 0.03/0.22 s(25) =< 2*A 0.03/0.22 s(26) =< s(24) 0.03/0.22 s(27) =< s(25) 0.03/0.22 s(28) =< s(26)*s(25) 0.03/0.22 0.03/0.22 with precondition: [A>=2] 0.03/0.22 0.03/0.22 * Chain [16]: 1*s(29)+1*s(31)+1*s(32)+0 0.03/0.22 Such that:s(29) =< A 0.03/0.22 s(30) =< 2*A 0.03/0.22 s(29) =< s(30) 0.03/0.22 s(31) =< s(30) 0.03/0.22 s(32) =< s(29)*s(30) 0.03/0.22 0.03/0.22 with precondition: [A>=3] 0.03/0.22 0.03/0.22 0.03/0.22 Closed-form bounds of start(A,B,C): 0.03/0.22 ------------------------------------- 0.03/0.22 * Chain [21] with precondition: [] 0.03/0.22 - Upper bound: 0 0.03/0.22 - Complexity: constant 0.03/0.22 * Chain [20] with precondition: [A=1] 0.03/0.22 - Upper bound: 1 0.03/0.22 - Complexity: constant 0.03/0.22 * Chain [19] with precondition: [1>=A,A>=0] 0.03/0.22 - Upper bound: A+1 0.03/0.22 - Complexity: n 0.03/0.22 * Chain [18] with precondition: [A>=0] 0.03/0.22 - Upper bound: 0 0.03/0.22 - Complexity: constant 0.03/0.22 * Chain [17] with precondition: [A>=2] 0.03/0.22 - Upper bound: 4*A+3+4*A*(2*A)+2*A 0.03/0.22 - Complexity: n^2 0.03/0.22 * Chain [16] with precondition: [A>=3] 0.03/0.22 - Upper bound: 2*A*A+A+2*A 0.03/0.22 - Complexity: n^2 0.03/0.22 0.03/0.22 ### Maximum cost of start(A,B,C): max([max([1,nat(A+1)]),nat(2*A)*nat(A)+nat(A)+nat(2*A)+(nat(A)*3+3+nat(A)*3*nat(2*A))]) 0.03/0.22 Asymptotic class: n^2 0.03/0.22 * Total analysis performed in 161 ms. 0.03/0.22 0.03/0.32 EOF