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