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