0.03/0.38 WORST_CASE(?,O(n^1)) 0.03/0.38 0.03/0.38 Preprocessing Cost Relations 0.03/0.38 ===================================== 0.03/0.38 0.03/0.38 #### Computed strongly connected components 0.03/0.38 0. recursive : [evalfbb1in/4,evalfbb2in/4,evalfbb3in/4] 0.03/0.38 1. recursive : [evalfbb2in_loop_cont/7,evalfbb4in/6,evalfbb5in/6,evalfbb6in/6] 0.03/0.38 2. non_recursive : [evalfstop/4] 0.03/0.38 3. non_recursive : [evalfreturnin/4] 0.03/0.38 4. non_recursive : [exit_location/1] 0.03/0.38 5. non_recursive : [evalfbb5in_loop_cont/5] 0.03/0.38 6. non_recursive : [evalfentryin/4] 0.03/0.38 7. non_recursive : [evalfstart/4] 0.03/0.38 0.03/0.38 #### Obtained direct recursion through partial evaluation 0.03/0.38 0. SCC is partially evaluated into evalfbb2in/4 0.03/0.38 1. SCC is partially evaluated into evalfbb5in/6 0.03/0.38 2. SCC is completely evaluated into other SCCs 0.03/0.38 3. SCC is completely evaluated into other SCCs 0.03/0.38 4. SCC is completely evaluated into other SCCs 0.03/0.38 5. SCC is partially evaluated into evalfbb5in_loop_cont/5 0.03/0.38 6. SCC is partially evaluated into evalfentryin/4 0.03/0.38 7. SCC is partially evaluated into evalfstart/4 0.03/0.38 0.03/0.38 Control-Flow Refinement of Cost Relations 0.03/0.38 ===================================== 0.03/0.38 0.03/0.38 ### Specialization of cost equations evalfbb2in/4 0.03/0.38 * CE 13 is refined into CE [14] 0.03/0.38 * CE 10 is refined into CE [15] 0.03/0.38 * CE 12 is refined into CE [16] 0.03/0.38 * CE 11 is refined into CE [17] 0.03/0.38 0.03/0.38 0.03/0.38 ### Cost equations --> "Loop" of evalfbb2in/4 0.03/0.38 * CEs [17] --> Loop 14 0.03/0.38 * CEs [14] --> Loop 15 0.03/0.38 * CEs [15] --> Loop 16 0.03/0.38 * CEs [16] --> Loop 17 0.03/0.38 0.03/0.38 ### Ranking functions of CR evalfbb2in(B,C,E,F) 0.03/0.38 * RF of phase [14]: [B-C] 0.03/0.38 0.03/0.38 #### Partial ranking functions of CR evalfbb2in(B,C,E,F) 0.03/0.38 * Partial RF of phase [14]: 0.03/0.38 - RF of loop [14:1]: 0.03/0.38 B-C 0.03/0.38 0.03/0.38 0.03/0.38 ### Specialization of cost equations evalfbb5in/6 0.03/0.38 * CE 6 is refined into CE [18] 0.03/0.38 * CE 5 is refined into CE [19] 0.03/0.38 * CE 3 is refined into CE [20,21] 0.03/0.38 * CE 7 is refined into CE [22] 0.03/0.38 * CE 4 is refined into CE [23,24,25] 0.03/0.38 0.03/0.38 0.03/0.38 ### Cost equations --> "Loop" of evalfbb5in/6 0.03/0.38 * CEs [25] --> Loop 18 0.03/0.38 * CEs [23] --> Loop 19 0.03/0.38 * CEs [24] --> Loop 20 0.03/0.38 * CEs [18] --> Loop 21 0.03/0.38 * CEs [19] --> Loop 22 0.03/0.38 * CEs [20,21] --> Loop 23 0.03/0.38 * CEs [22] --> Loop 24 0.03/0.38 0.03/0.38 ### Ranking functions of CR evalfbb5in(A,B,C,E,F,G) 0.03/0.38 * RF of phase [18,20]: [-A+B] 0.03/0.38 0.03/0.38 #### Partial ranking functions of CR evalfbb5in(A,B,C,E,F,G) 0.03/0.38 * Partial RF of phase [18,20]: 0.03/0.38 - RF of loop [18:1]: 0.03/0.38 -A/2+B/2-1/2 0.03/0.38 - RF of loop [20:1]: 0.03/0.38 -A+B 0.03/0.38 0.03/0.38 0.03/0.38 ### Specialization of cost equations evalfbb5in_loop_cont/5 0.03/0.38 * CE 8 is refined into CE [26] 0.03/0.38 * CE 9 is refined into CE [27] 0.03/0.38 0.03/0.38 0.03/0.38 ### Cost equations --> "Loop" of evalfbb5in_loop_cont/5 0.03/0.38 * CEs [26] --> Loop 25 0.03/0.38 * CEs [27] --> Loop 26 0.03/0.38 0.03/0.38 ### Ranking functions of CR evalfbb5in_loop_cont(A,B,C,D,E) 0.03/0.38 0.03/0.38 #### Partial ranking functions of CR evalfbb5in_loop_cont(A,B,C,D,E) 0.03/0.38 0.03/0.38 0.03/0.38 ### Specialization of cost equations evalfentryin/4 0.03/0.38 * CE 2 is refined into CE [28,29,30,31,32,33,34,35,36] 0.03/0.38 0.03/0.38 0.03/0.38 ### Cost equations --> "Loop" of evalfentryin/4 0.03/0.38 * CEs [30,34,36] --> Loop 27 0.03/0.38 * CEs [29,31,33,35] --> Loop 28 0.03/0.38 * CEs [32] --> Loop 29 0.03/0.38 * CEs [28] --> Loop 30 0.03/0.38 0.03/0.38 ### Ranking functions of CR evalfentryin(A,B,C,E) 0.03/0.38 0.03/0.38 #### Partial ranking functions of CR evalfentryin(A,B,C,E) 0.03/0.38 0.03/0.38 0.03/0.38 ### Specialization of cost equations evalfstart/4 0.03/0.38 * CE 1 is refined into CE [37,38,39,40] 0.03/0.38 0.03/0.38 0.03/0.38 ### Cost equations --> "Loop" of evalfstart/4 0.03/0.38 * CEs [40] --> Loop 31 0.03/0.38 * CEs [39] --> Loop 32 0.03/0.38 * CEs [38] --> Loop 33 0.03/0.38 * CEs [37] --> Loop 34 0.03/0.38 0.03/0.38 ### Ranking functions of CR evalfstart(A,B,C,E) 0.03/0.38 0.03/0.38 #### Partial ranking functions of CR evalfstart(A,B,C,E) 0.03/0.38 0.03/0.38 0.03/0.38 Computing Bounds 0.03/0.38 ===================================== 0.03/0.38 0.03/0.38 #### Cost of chains of evalfbb2in(B,C,E,F): 0.03/0.38 * Chain [[14],17]: 1*it(14)+0 0.03/0.38 Such that:it(14) =< B-C 0.03/0.38 0.03/0.38 with precondition: [E=2,B=F,B>=C+1] 0.03/0.38 0.03/0.38 * Chain [[14],16]: 1*it(14)+0 0.03/0.38 Such that:it(14) =< -C+F 0.03/0.38 0.03/0.38 with precondition: [E=2,F>=C+1,B>=F+1] 0.03/0.38 0.03/0.38 * Chain [[14],15]: 1*it(14)+0 0.03/0.38 Such that:it(14) =< B-C 0.03/0.38 0.03/0.38 with precondition: [E=3,B>=C+1] 0.03/0.38 0.03/0.38 * Chain [16]: 0 0.03/0.38 with precondition: [E=2,C=F,B>=C+1] 0.03/0.38 0.03/0.38 * Chain [15]: 0 0.03/0.38 with precondition: [E=3,B>=C] 0.03/0.38 0.03/0.38 0.03/0.38 #### Cost of chains of evalfbb5in(A,B,C,E,F,G): 0.03/0.38 * Chain [[18,20],24]: 1*it(18)+2*it(20)+0 0.03/0.38 Such that:it(18) =< -A/2+B/2 0.03/0.38 aux(3) =< -A+B 0.03/0.38 it(18) =< aux(3) 0.03/0.38 it(20) =< aux(3) 0.03/0.38 0.03/0.38 with precondition: [E=3,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 * Chain [[18,20],23]: 1*it(18)+3*it(20)+0 0.03/0.38 Such that:it(18) =< -A/2+B/2 0.03/0.38 aux(4) =< -A+B 0.03/0.38 it(18) =< aux(4) 0.03/0.38 it(20) =< aux(4) 0.03/0.38 0.03/0.38 with precondition: [E=3,A>=0,B>=A+2] 0.03/0.38 0.03/0.38 * Chain [[18,20],22]: 1*it(18)+2*it(20)+0 0.03/0.38 Such that:aux(1) =< -A+B 0.03/0.38 aux(2) =< -A+F 0.03/0.38 it(18) =< -A/2+F/2 0.03/0.38 it(18) =< aux(1) 0.03/0.38 it(20) =< aux(1) 0.03/0.38 it(18) =< aux(2) 0.03/0.38 it(20) =< aux(2) 0.03/0.38 0.03/0.38 with precondition: [E=4,F=G+1,A>=0,F>=A+1,B>=F+1] 0.03/0.38 0.03/0.38 * Chain [[18,20],21]: 1*it(18)+2*it(20)+0 0.03/0.38 Such that:it(18) =< -A/2+F/2 0.03/0.38 aux(5) =< -A+F 0.03/0.38 it(18) =< aux(5) 0.03/0.38 it(20) =< aux(5) 0.03/0.38 0.03/0.38 with precondition: [E=4,B=F,B=G+1,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 * Chain [[18,20],19,24]: 1*it(18)+3*it(20)+1 0.03/0.38 Such that:it(18) =< -A/2+B/2 0.03/0.38 aux(6) =< -A+B 0.03/0.38 it(18) =< aux(6) 0.03/0.38 it(20) =< aux(6) 0.03/0.38 0.03/0.38 with precondition: [E=3,A>=0,B>=A+2] 0.03/0.38 0.03/0.38 * Chain [[18,20],19,21]: 1*it(18)+3*it(20)+1 0.03/0.38 Such that:it(18) =< -A/2+F/2 0.03/0.38 aux(7) =< -A+F 0.03/0.38 it(18) =< aux(7) 0.03/0.38 it(20) =< aux(7) 0.03/0.38 0.03/0.38 with precondition: [E=4,B+1=F,B=G,A>=0,B>=A+2] 0.03/0.38 0.03/0.38 * Chain [24]: 0 0.03/0.38 with precondition: [E=3,A>=0] 0.03/0.38 0.03/0.38 * Chain [23]: 1*s(4)+0 0.03/0.38 Such that:s(4) =< -A+B 0.03/0.38 0.03/0.38 with precondition: [E=3,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 * Chain [22]: 0 0.03/0.38 with precondition: [E=4,G=C,A=F,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 * Chain [21]: 0 0.03/0.38 with precondition: [E=4,G=C,A=F,A>=0,A>=B] 0.03/0.38 0.03/0.38 * Chain [19,24]: 1*s(5)+1 0.03/0.38 Such that:s(5) =< -A+B 0.03/0.38 0.03/0.38 with precondition: [E=3,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 * Chain [19,21]: 1*s(5)+1 0.03/0.38 Such that:s(5) =< -A+F 0.03/0.38 0.03/0.38 with precondition: [E=4,B+1=F,B=G,A>=0,B>=A+1] 0.03/0.38 0.03/0.38 0.03/0.38 #### Cost of chains of evalfbb5in_loop_cont(A,B,C,D,E): 0.03/0.38 * Chain [26]: 0 0.03/0.38 with precondition: [A=3] 0.03/0.38 0.03/0.38 * Chain [25]: 0 0.03/0.38 with precondition: [A=4] 0.03/0.38 0.03/0.38 0.03/0.38 #### Cost of chains of evalfentryin(A,B,C,E): 0.03/0.38 * Chain [30]: 0 0.03/0.38 with precondition: [] 0.03/0.38 0.03/0.38 * Chain [29]: 0 0.03/0.38 with precondition: [0>=B] 0.03/0.38 0.03/0.38 * Chain [28]: 2*s(17)+6*s(19)+1*s(20)+1 0.03/0.38 Such that:s(20) =< B+1 0.03/0.38 aux(11) =< B 0.03/0.38 aux(12) =< B/2 0.03/0.38 s(17) =< aux(12) 0.03/0.38 s(19) =< aux(11) 0.03/0.38 s(17) =< aux(11) 0.03/0.38 0.03/0.38 with precondition: [B>=1] 0.03/0.38 0.03/0.38 * Chain [27]: 3*s(26)+8*s(27)+1*s(28)+3*s(30)+1 0.03/0.38 Such that:s(29) =< B+1 0.03/0.38 s(28) =< B/2+1/2 0.03/0.38 aux(14) =< B 0.03/0.38 aux(15) =< B/2 0.03/0.38 s(26) =< aux(15) 0.03/0.38 s(26) =< aux(14) 0.03/0.38 s(27) =< aux(14) 0.03/0.38 s(28) =< s(29) 0.03/0.38 s(30) =< s(29) 0.03/0.38 0.03/0.38 with precondition: [B>=2] 0.03/0.38 0.03/0.38 0.03/0.38 #### Cost of chains of evalfstart(A,B,C,E): 0.03/0.38 * Chain [34]: 0 0.03/0.38 with precondition: [] 0.03/0.38 0.03/0.38 * Chain [33]: 0 0.03/0.38 with precondition: [0>=B] 0.03/0.38 0.03/0.38 * Chain [32]: 1*s(35)+2*s(38)+6*s(39)+1 0.03/0.38 Such that:s(36) =< B 0.03/0.38 s(35) =< B+1 0.03/0.38 s(37) =< B/2 0.03/0.38 s(38) =< s(37) 0.03/0.38 s(39) =< s(36) 0.03/0.38 s(38) =< s(36) 0.03/0.38 0.03/0.38 with precondition: [B>=1] 0.03/0.38 0.03/0.38 * Chain [31]: 1*s(41)+3*s(44)+8*s(45)+3*s(46)+1 0.03/0.38 Such that:s(42) =< B 0.03/0.38 s(40) =< B+1 0.03/0.38 s(43) =< B/2 0.03/0.38 s(41) =< B/2+1/2 0.03/0.38 s(44) =< s(43) 0.03/0.38 s(44) =< s(42) 0.03/0.38 s(45) =< s(42) 0.03/0.38 s(41) =< s(40) 0.03/0.38 s(46) =< s(40) 0.03/0.38 0.03/0.38 with precondition: [B>=2] 0.03/0.38 0.03/0.38 0.03/0.38 Closed-form bounds of evalfstart(A,B,C,E): 0.03/0.38 ------------------------------------- 0.03/0.38 * Chain [34] with precondition: [] 0.03/0.38 - Upper bound: 0 0.03/0.38 - Complexity: constant 0.03/0.38 * Chain [33] with precondition: [0>=B] 0.03/0.38 - Upper bound: 0 0.03/0.38 - Complexity: constant 0.03/0.38 * Chain [32] with precondition: [B>=1] 0.03/0.38 - Upper bound: 8*B+2 0.03/0.38 - Complexity: n 0.03/0.38 * Chain [31] with precondition: [B>=2] 0.03/0.38 - Upper bound: 13*B+9/2 0.03/0.38 - Complexity: n 0.03/0.38 0.03/0.38 ### Maximum cost of evalfstart(A,B,C,E): nat(B+1)*2+nat(B)*2+nat(B/2+1/2)+nat(B/2)+(nat(B)*6+1+nat(B+1)+nat(B/2)*2) 0.03/0.38 Asymptotic class: n 0.03/0.38 * Total analysis performed in 309 ms. 0.03/0.38 0.03/0.49 EOF