0.03/0.15 WORST_CASE(?,O(n^1)) 0.03/0.15 0.03/0.15 Preprocessing Cost Relations 0.03/0.15 ===================================== 0.03/0.15 0.03/0.15 #### Computed strongly connected components 0.03/0.15 0. recursive : [eval/4] 0.03/0.15 1. non_recursive : [exit_location/1] 0.03/0.15 2. non_recursive : [eval_loop_cont/2] 0.03/0.15 3. non_recursive : [start/4] 0.03/0.15 0.03/0.15 #### Obtained direct recursion through partial evaluation 0.03/0.15 0. SCC is partially evaluated into eval/4 0.03/0.15 1. SCC is completely evaluated into other SCCs 0.03/0.15 2. SCC is completely evaluated into other SCCs 0.03/0.15 3. SCC is partially evaluated into start/4 0.03/0.15 0.03/0.15 Control-Flow Refinement of Cost Relations 0.03/0.15 ===================================== 0.03/0.15 0.03/0.15 ### Specialization of cost equations eval/4 0.03/0.15 * CE 4 is refined into CE [5] 0.03/0.15 * CE 2 is refined into CE [6] 0.03/0.15 * CE 3 is refined into CE [7] 0.03/0.15 0.03/0.15 0.03/0.15 ### Cost equations --> "Loop" of eval/4 0.03/0.15 * CEs [6] --> Loop 5 0.03/0.15 * CEs [7] --> Loop 6 0.03/0.15 * CEs [5] --> Loop 7 0.03/0.15 0.03/0.15 ### Ranking functions of CR eval(A,B,C,D) 0.03/0.15 * RF of phase [5]: [A,A+B,A+B-C] 0.03/0.15 * RF of phase [6]: [A+B,A+B-C,B,B-C] 0.03/0.15 0.03/0.15 #### Partial ranking functions of CR eval(A,B,C,D) 0.03/0.15 * Partial RF of phase [5]: 0.03/0.15 - RF of loop [5:1]: 0.03/0.15 A 0.03/0.15 A+B 0.03/0.15 A+B-C 0.03/0.15 * Partial RF of phase [6]: 0.03/0.15 - RF of loop [6:1]: 0.03/0.15 A+B 0.03/0.15 A+B-C 0.03/0.15 B 0.03/0.15 B-C 0.03/0.15 0.03/0.15 0.03/0.15 ### Specialization of cost equations start/4 0.03/0.15 * CE 1 is refined into CE [8,9,10,11] 0.03/0.15 0.03/0.15 0.03/0.15 ### Cost equations --> "Loop" of start/4 0.03/0.15 * CEs [11] --> Loop 8 0.03/0.15 * CEs [10] --> Loop 9 0.03/0.15 * CEs [9] --> Loop 10 0.03/0.15 * CEs [8] --> Loop 11 0.03/0.15 0.03/0.15 ### Ranking functions of CR start(A,B,C,D) 0.03/0.15 0.03/0.15 #### Partial ranking functions of CR start(A,B,C,D) 0.03/0.15 0.03/0.15 0.03/0.15 Computing Bounds 0.03/0.15 ===================================== 0.03/0.15 0.03/0.15 #### Cost of chains of eval(A,B,C,D): 0.03/0.15 * Chain [[6],7]: 1*it(6)+0 0.03/0.15 Such that:it(6) =< A+B-C 0.03/0.15 0.03/0.15 with precondition: [D=2,0>=A,C>=0,A+B>=C+1] 0.03/0.15 0.03/0.15 * Chain [[5],[6],7]: 1*it(5)+1*it(6)+0 0.03/0.15 Such that:it(5) =< A 0.03/0.15 it(6) =< B-C 0.03/0.15 0.03/0.15 with precondition: [D=2,A>=1,C>=0,B>=C+1] 0.03/0.15 0.03/0.15 * Chain [[5],7]: 1*it(5)+0 0.03/0.15 Such that:it(5) =< A 0.03/0.15 it(5) =< A+B-C 0.03/0.15 0.03/0.15 with precondition: [D=2,A>=1,C>=0,A+B>=C+1] 0.03/0.15 0.03/0.15 * Chain [7]: 0 0.03/0.15 with precondition: [D=2] 0.03/0.15 0.03/0.15 0.03/0.15 #### Cost of chains of start(A,B,C,D): 0.03/0.15 * Chain [11]: 0 0.03/0.15 with precondition: [] 0.03/0.15 0.03/0.15 * Chain [10]: 1*s(1)+0 0.03/0.15 Such that:s(1) =< A+B-C 0.03/0.15 0.03/0.15 with precondition: [0>=A,C>=0,A+B>=C+1] 0.03/0.15 0.03/0.15 * Chain [9]: 1*s(2)+1*s(3)+0 0.03/0.15 Such that:s(2) =< A 0.03/0.15 s(3) =< B-C 0.03/0.15 0.03/0.15 with precondition: [A>=1,C>=0,B>=C+1] 0.03/0.15 0.03/0.15 * Chain [8]: 1*s(4)+0 0.03/0.15 Such that:s(4) =< A 0.03/0.15 s(4) =< A+B-C 0.03/0.15 0.03/0.15 with precondition: [A>=1,C>=0,A+B>=C+1] 0.03/0.15 0.03/0.15 0.03/0.15 Closed-form bounds of start(A,B,C,D): 0.03/0.15 ------------------------------------- 0.03/0.15 * Chain [11] with precondition: [] 0.03/0.15 - Upper bound: 0 0.03/0.15 - Complexity: constant 0.03/0.15 * Chain [10] with precondition: [0>=A,C>=0,A+B>=C+1] 0.03/0.15 - Upper bound: A+B-C 0.03/0.15 - Complexity: n 0.03/0.15 * Chain [9] with precondition: [A>=1,C>=0,B>=C+1] 0.03/0.15 - Upper bound: A+B-C 0.03/0.15 - Complexity: n 0.03/0.15 * Chain [8] with precondition: [A>=1,C>=0,A+B>=C+1] 0.03/0.15 - Upper bound: A 0.03/0.15 - Complexity: n 0.03/0.15 0.03/0.15 ### Maximum cost of start(A,B,C,D): max([nat(A+B-C),nat(B-C)+nat(A)]) 0.03/0.15 Asymptotic class: n 0.03/0.15 * Total analysis performed in 95 ms. 0.03/0.15 0.03/0.25 EOF