0.03/0.30 WORST_CASE(?,O(n^1)) 0.03/0.30 0.03/0.30 Preprocessing Cost Relations 0.03/0.30 ===================================== 0.03/0.30 0.03/0.30 #### Computed strongly connected components 0.03/0.30 0. recursive : [evalwcet2bb1in/4,evalwcet2bb2in/4] 0.03/0.30 1. recursive : [evalwcet2bb2in_loop_cont/6,evalwcet2bb4in/5,evalwcet2bb5in/5] 0.03/0.30 2. non_recursive : [evalwcet2stop/3] 0.03/0.30 3. non_recursive : [evalwcet2returnin/3] 0.03/0.30 4. non_recursive : [exit_location/1] 0.03/0.30 5. non_recursive : [evalwcet2bb5in_loop_cont/4] 0.03/0.30 6. non_recursive : [evalwcet2entryin/3] 0.03/0.30 7. non_recursive : [evalwcet2start/3] 0.03/0.30 0.03/0.30 #### Obtained direct recursion through partial evaluation 0.03/0.30 0. SCC is partially evaluated into evalwcet2bb2in/4 0.03/0.30 1. SCC is partially evaluated into evalwcet2bb5in/5 0.03/0.30 2. SCC is completely evaluated into other SCCs 0.03/0.30 3. SCC is completely evaluated into other SCCs 0.03/0.30 4. SCC is completely evaluated into other SCCs 0.03/0.30 5. SCC is partially evaluated into evalwcet2bb5in_loop_cont/4 0.03/0.30 6. SCC is partially evaluated into evalwcet2entryin/3 0.03/0.30 7. SCC is partially evaluated into evalwcet2start/3 0.03/0.30 0.03/0.30 Control-Flow Refinement of Cost Relations 0.03/0.30 ===================================== 0.03/0.30 0.03/0.30 ### Specialization of cost equations evalwcet2bb2in/4 0.03/0.30 * CE 12 is refined into CE [13] 0.03/0.30 * CE 11 is refined into CE [14] 0.03/0.30 * CE 10 is refined into CE [15] 0.03/0.30 * CE 9 is refined into CE [16] 0.03/0.30 0.03/0.30 0.03/0.30 ### Cost equations --> "Loop" of evalwcet2bb2in/4 0.03/0.30 * CEs [16] --> Loop 13 0.03/0.30 * CEs [13] --> Loop 14 0.03/0.30 * CEs [14] --> Loop 15 0.03/0.30 * CEs [15] --> Loop 16 0.03/0.30 0.03/0.30 ### Ranking functions of CR evalwcet2bb2in(A,B,C,D) 0.03/0.30 * RF of phase [13]: [-B+10] 0.03/0.30 0.03/0.30 #### Partial ranking functions of CR evalwcet2bb2in(A,B,C,D) 0.03/0.30 * Partial RF of phase [13]: 0.03/0.30 - RF of loop [13:1]: 0.03/0.30 -B+10 0.03/0.30 0.03/0.30 0.03/0.30 ### Specialization of cost equations evalwcet2bb5in/5 0.03/0.30 * CE 5 is refined into CE [17] 0.03/0.30 * CE 3 is refined into CE [18,19] 0.03/0.30 * CE 6 is refined into CE [20] 0.03/0.30 * CE 4 is refined into CE [21,22] 0.03/0.30 0.03/0.30 0.03/0.30 ### Cost equations --> "Loop" of evalwcet2bb5in/5 0.03/0.30 * CEs [22] --> Loop 17 0.03/0.30 * CEs [21] --> Loop 18 0.03/0.30 * CEs [17] --> Loop 19 0.03/0.30 * CEs [18] --> Loop 20 0.03/0.30 * CEs [19] --> Loop 21 0.03/0.30 * CEs [20] --> Loop 22 0.03/0.30 0.03/0.30 ### Ranking functions of CR evalwcet2bb5in(A,B,C,D,E) 0.03/0.30 * RF of phase [17]: [-A+5] 0.03/0.30 * RF of phase [18]: [-A+3] 0.03/0.30 0.03/0.30 #### Partial ranking functions of CR evalwcet2bb5in(A,B,C,D,E) 0.03/0.30 * Partial RF of phase [17]: 0.03/0.30 - RF of loop [17:1]: 0.03/0.30 -A+5 0.03/0.30 * Partial RF of phase [18]: 0.03/0.30 - RF of loop [18:1]: 0.03/0.30 -A+3 0.03/0.30 0.03/0.30 0.03/0.30 ### Specialization of cost equations evalwcet2bb5in_loop_cont/4 0.03/0.30 * CE 7 is refined into CE [23] 0.03/0.30 * CE 8 is refined into CE [24] 0.03/0.30 0.03/0.30 0.03/0.30 ### Cost equations --> "Loop" of evalwcet2bb5in_loop_cont/4 0.03/0.30 * CEs [23] --> Loop 23 0.03/0.30 * CEs [24] --> Loop 24 0.03/0.30 0.03/0.30 ### Ranking functions of CR evalwcet2bb5in_loop_cont(A,B,C,D) 0.03/0.30 0.03/0.30 #### Partial ranking functions of CR evalwcet2bb5in_loop_cont(A,B,C,D) 0.03/0.30 0.03/0.30 0.03/0.30 ### Specialization of cost equations evalwcet2entryin/3 0.03/0.30 * CE 2 is refined into CE [25,26,27,28,29,30,31,32] 0.03/0.30 0.03/0.30 0.03/0.30 ### Cost equations --> "Loop" of evalwcet2entryin/3 0.03/0.30 * CEs [32] --> Loop 25 0.03/0.30 * CEs [29,31] --> Loop 26 0.03/0.30 * CEs [28,30] --> Loop 27 0.03/0.30 * CEs [27] --> Loop 28 0.03/0.30 * CEs [25] --> Loop 29 0.03/0.30 * CEs [26] --> Loop 30 0.03/0.30 0.03/0.30 ### Ranking functions of CR evalwcet2entryin(A,B,C) 0.03/0.30 0.03/0.30 #### Partial ranking functions of CR evalwcet2entryin(A,B,C) 0.03/0.30 0.03/0.30 0.03/0.30 ### Specialization of cost equations evalwcet2start/3 0.03/0.30 * CE 1 is refined into CE [33,34,35,36,37,38] 0.03/0.30 0.03/0.30 0.03/0.30 ### Cost equations --> "Loop" of evalwcet2start/3 0.03/0.30 * CEs [38] --> Loop 31 0.03/0.30 * CEs [37] --> Loop 32 0.03/0.30 * CEs [36] --> Loop 33 0.03/0.30 * CEs [35] --> Loop 34 0.03/0.30 * CEs [34] --> Loop 35 0.03/0.30 * CEs [33] --> Loop 36 0.03/0.30 0.03/0.30 ### Ranking functions of CR evalwcet2start(A,B,C) 0.03/0.30 0.03/0.30 #### Partial ranking functions of CR evalwcet2start(A,B,C) 0.03/0.30 0.03/0.30 0.03/0.30 Computing Bounds 0.03/0.30 ===================================== 0.03/0.30 0.03/0.30 #### Cost of chains of evalwcet2bb2in(A,B,C,D): 0.03/0.30 * Chain [[13],15]: 1*it(13)+0 0.03/0.30 Such that:it(13) =< -B+10 0.03/0.30 0.03/0.30 with precondition: [C=2,D=10,4>=A,9>=B,A>=3,B>=0] 0.03/0.30 0.03/0.30 * Chain [[13],14]: 1*it(13)+0 0.03/0.30 Such that:it(13) =< -B+10 0.03/0.30 0.03/0.30 with precondition: [C=3,4>=A,9>=B,A>=3,B>=0] 0.03/0.30 0.03/0.30 * Chain [16]: 0 0.03/0.30 with precondition: [B=0,C=2,D=0,2>=A] 0.03/0.30 0.03/0.30 * Chain [14]: 0 0.03/0.30 with precondition: [C=3,4>=A,B>=0] 0.03/0.30 0.03/0.30 0.03/0.30 #### Cost of chains of evalwcet2bb5in(A,B,C,D,E): 0.03/0.30 * Chain [[18],[17],22]: 1*it(17)+1*it(18)+1*s(3)+0 0.03/0.30 Such that:aux(4) =< 2 0.03/0.30 it(18) =< -A+3 0.03/0.30 it(17) =< aux(4) 0.03/0.30 s(3) =< aux(4)*10 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],[17],21]: 1*it(17)+1*it(18)+1*s(3)+0 0.03/0.30 Such that:aux(3) =< 1 0.03/0.30 aux(2) =< 2 0.03/0.30 it(18) =< -A+3 0.03/0.30 aux(1) =< aux(2) 0.03/0.30 it(17) =< aux(2) 0.03/0.30 aux(1) =< aux(3) 0.03/0.30 it(17) =< aux(3) 0.03/0.30 s(3) =< aux(1)*10 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],[17],20]: 1*it(17)+1*it(18)+1*s(3)+1*s(4)+0 0.03/0.30 Such that:aux(3) =< 1 0.03/0.30 aux(2) =< 2 0.03/0.30 s(4) =< 10 0.03/0.30 it(18) =< -A+3 0.03/0.30 aux(1) =< aux(2) 0.03/0.30 it(17) =< aux(2) 0.03/0.30 aux(1) =< aux(3) 0.03/0.30 it(17) =< aux(3) 0.03/0.30 s(3) =< aux(1)*10 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],[17],19]: 1*it(17)+1*it(18)+1*s(3)+0 0.03/0.30 Such that:aux(5) =< 2 0.03/0.30 it(18) =< -A+3 0.03/0.30 it(17) =< aux(5) 0.03/0.30 s(3) =< aux(5)*10 0.03/0.30 0.03/0.30 with precondition: [C=4,D=5,E=10,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],22]: 1*it(18)+0 0.03/0.30 Such that:it(18) =< -A+3 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],21]: 1*it(18)+0 0.03/0.30 Such that:it(18) =< -A+3 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[18],20]: 1*it(18)+1*s(4)+0 0.03/0.30 Such that:s(4) =< 10 0.03/0.30 it(18) =< -A+3 0.03/0.30 0.03/0.30 with precondition: [C=3,2>=A] 0.03/0.30 0.03/0.30 * Chain [[17],22]: 1*it(17)+1*s(3)+0 0.03/0.30 Such that:aux(4) =< -A+5 0.03/0.30 it(17) =< aux(4) 0.03/0.30 s(3) =< aux(4)*10 0.03/0.30 0.03/0.30 with precondition: [C=3,4>=A,A>=3] 0.03/0.30 0.03/0.31 * Chain [[17],21]: 1*it(17)+1*s(3)+0 0.03/0.31 Such that:aux(3) =< 1 0.03/0.31 aux(2) =< 2 0.03/0.31 aux(1) =< aux(2) 0.03/0.31 it(17) =< aux(2) 0.03/0.31 aux(1) =< aux(3) 0.03/0.31 it(17) =< aux(3) 0.03/0.31 s(3) =< aux(1)*10 0.03/0.31 0.03/0.31 with precondition: [A=3,C=3] 0.03/0.31 0.03/0.31 * Chain [[17],20]: 1*it(17)+1*s(3)+1*s(4)+0 0.03/0.31 Such that:aux(3) =< 1 0.03/0.31 aux(2) =< 2 0.03/0.31 s(4) =< 10 0.03/0.31 aux(1) =< aux(2) 0.03/0.31 it(17) =< aux(2) 0.03/0.31 aux(1) =< aux(3) 0.03/0.31 it(17) =< aux(3) 0.03/0.31 s(3) =< aux(1)*10 0.03/0.31 0.03/0.31 with precondition: [A=3,C=3] 0.03/0.31 0.03/0.31 * Chain [[17],19]: 1*it(17)+1*s(3)+0 0.03/0.31 Such that:aux(5) =< -A+5 0.03/0.31 it(17) =< aux(5) 0.03/0.31 s(3) =< aux(5)*10 0.03/0.31 0.03/0.31 with precondition: [C=4,D=5,E=10,4>=A,A>=3] 0.03/0.31 0.03/0.31 * Chain [22]: 0 0.03/0.31 with precondition: [C=3] 0.03/0.31 0.03/0.31 * Chain [21]: 0 0.03/0.31 with precondition: [C=3,4>=A] 0.03/0.31 0.03/0.31 * Chain [20]: 1*s(4)+0 0.03/0.31 Such that:s(4) =< 10 0.03/0.31 0.03/0.31 with precondition: [C=3,4>=A,A>=3] 0.03/0.31 0.03/0.31 * Chain [19]: 0 0.03/0.31 with precondition: [C=4,E=B,A=D,A>=5] 0.03/0.31 0.03/0.31 0.03/0.31 #### Cost of chains of evalwcet2bb5in_loop_cont(A,B,C,D): 0.03/0.31 * Chain [24]: 0 0.03/0.31 with precondition: [A=3] 0.03/0.31 0.03/0.31 * Chain [23]: 0 0.03/0.31 with precondition: [A=4] 0.03/0.31 0.03/0.31 0.03/0.31 #### Cost of chains of evalwcet2entryin(A,B,C): 0.03/0.31 * Chain [30]: 0 0.03/0.31 with precondition: [] 0.03/0.31 0.03/0.31 * Chain [29]: 54 0.03/0.31 with precondition: [A=3] 0.03/0.31 0.03/0.31 * Chain [28]: 0 0.03/0.31 with precondition: [4>=A] 0.03/0.31 0.03/0.31 * Chain [27]: 1*s(41)+2*s(43)+2*s(44)+0 0.03/0.31 Such that:s(41) =< 10 0.03/0.31 aux(12) =< -A+5 0.03/0.31 s(43) =< aux(12) 0.03/0.31 s(44) =< aux(12)*10 0.03/0.31 0.03/0.31 with precondition: [4>=A,A>=3] 0.03/0.31 0.03/0.31 * Chain [26]: 2*s(52)+7*s(53)+2*s(55)+2*s(56)+2*s(57)+2*s(58)+0 0.03/0.31 Such that:s(48) =< 1 0.03/0.31 s(50) =< 10 0.03/0.31 aux(13) =< 2 0.03/0.31 aux(14) =< -A+3 0.03/0.31 s(53) =< aux(14) 0.03/0.31 s(52) =< s(50) 0.03/0.31 s(54) =< aux(13) 0.03/0.31 s(55) =< aux(13) 0.03/0.31 s(54) =< s(48) 0.03/0.31 s(55) =< s(48) 0.03/0.31 s(56) =< s(54)*10 0.03/0.31 s(57) =< aux(13) 0.03/0.31 s(58) =< aux(13)*10 0.03/0.31 0.03/0.31 with precondition: [2>=A] 0.03/0.31 0.03/0.31 * Chain [25]: 0 0.03/0.31 with precondition: [A>=5] 0.03/0.31 0.03/0.31 0.03/0.31 #### Cost of chains of evalwcet2start(A,B,C): 0.03/0.31 * Chain [36]: 0 0.03/0.31 with precondition: [] 0.03/0.31 0.03/0.31 * Chain [35]: 54 0.03/0.31 with precondition: [A=3] 0.03/0.31 0.03/0.31 * Chain [34]: 0 0.03/0.31 with precondition: [4>=A] 0.03/0.31 0.03/0.31 * Chain [33]: 1*s(63)+2*s(65)+2*s(66)+0 0.03/0.31 Such that:s(63) =< 10 0.03/0.31 s(64) =< -A+5 0.03/0.31 s(65) =< s(64) 0.03/0.31 s(66) =< s(64)*10 0.03/0.31 0.03/0.31 with precondition: [4>=A,A>=3] 0.03/0.31 0.03/0.31 * Chain [32]: 7*s(71)+2*s(72)+2*s(74)+2*s(75)+2*s(76)+2*s(77)+0 0.03/0.31 Such that:s(67) =< 1 0.03/0.31 s(69) =< 2 0.03/0.31 s(68) =< 10 0.03/0.31 s(70) =< -A+3 0.03/0.31 s(71) =< s(70) 0.03/0.31 s(72) =< s(68) 0.03/0.31 s(73) =< s(69) 0.03/0.31 s(74) =< s(69) 0.03/0.31 s(73) =< s(67) 0.03/0.31 s(74) =< s(67) 0.03/0.31 s(75) =< s(73)*10 0.03/0.31 s(76) =< s(69) 0.03/0.31 s(77) =< s(69)*10 0.03/0.31 0.03/0.31 with precondition: [2>=A] 0.03/0.31 0.03/0.31 * Chain [31]: 0 0.03/0.31 with precondition: [A>=5] 0.03/0.31 0.03/0.31 0.03/0.31 Closed-form bounds of evalwcet2start(A,B,C): 0.03/0.31 ------------------------------------- 0.03/0.31 * Chain [36] with precondition: [] 0.03/0.31 - Upper bound: 0 0.03/0.31 - Complexity: constant 0.03/0.31 * Chain [35] with precondition: [A=3] 0.03/0.31 - Upper bound: 54 0.03/0.31 - Complexity: constant 0.03/0.31 * Chain [34] with precondition: [4>=A] 0.03/0.31 - Upper bound: 0 0.03/0.31 - Complexity: constant 0.03/0.31 * Chain [33] with precondition: [4>=A,A>=3] 0.03/0.31 - Upper bound: -22*A+120 0.03/0.31 - Complexity: n 0.03/0.31 * Chain [32] with precondition: [2>=A] 0.03/0.31 - Upper bound: -7*A+129 0.03/0.31 - Complexity: n 0.03/0.31 * Chain [31] with precondition: [A>=5] 0.03/0.31 - Upper bound: 0 0.03/0.31 - Complexity: constant 0.03/0.31 0.03/0.31 ### Maximum cost of evalwcet2start(A,B,C): max([54,nat(-A+3)*7+108,nat(-A+5)*22+10]) 0.03/0.31 Asymptotic class: n 0.03/0.31 * Total analysis performed in 238 ms. 0.03/0.31 0.03/0.41 EOF