16.90/12.35 WORST_CASE(Omega(n^4), O(n^5)) 16.90/12.36 proof of /export/starexec/sandbox2/benchmark/theBenchmark.koat 16.90/12.36 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 16.90/12.36 16.90/12.36 16.90/12.36 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^4, 3 + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) * max(1, -1 + 3 * Arg_1) + nat(-4 * Arg_4) * max(1, -1 + 3 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * max(9, -2 + 11 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-2 + 2 * Arg_1) + nat(-4 * Arg_4) + max(4 + 6 * Arg_1 * max(4, -2 + 6 * Arg_1) + min(8 + -24 * Arg_1, -8), 4) + nat(-2 + 3 * Arg_1) + max(1, 1 + Arg_1)). 16.90/12.36 16.90/12.36 (0) CpxIntTrs 16.90/12.36 (1) Koat2 Proof [FINISHED, 10.5 s] 16.90/12.36 (2) BOUNDS(1, 3 + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) * max(1, -1 + 3 * Arg_1) + nat(-4 * Arg_4) * max(1, -1 + 3 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * max(9, -2 + 11 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-2 + 2 * Arg_1) + nat(-4 * Arg_4) + max(4 + 6 * Arg_1 * max(4, -2 + 6 * Arg_1) + min(8 + -24 * Arg_1, -8), 4) + nat(-2 + 3 * Arg_1) + max(1, 1 + Arg_1)) 16.90/12.36 (3) Loat Proof [FINISHED, 2105 ms] 16.90/12.36 (4) BOUNDS(n^4, INF) 16.90/12.36 16.90/12.36 16.90/12.36 ---------------------------------------- 16.90/12.36 16.90/12.36 (0) 16.90/12.36 Obligation: 16.90/12.36 Complexity Int TRS consisting of the following rules: 16.90/12.36 evalfstart(A, B, C, D, E) -> Com_1(evalfentryin(A, B, C, D, E)) :|: TRUE 16.90/12.36 evalfentryin(A, B, C, D, E) -> Com_1(evalfbb10in(1, B, C, D, E)) :|: TRUE 16.90/12.36 evalfbb10in(A, B, C, D, E) -> Com_1(evalfbb8in(A, B, 1, D, E)) :|: B >= A 16.90/12.36 evalfbb10in(A, B, C, D, E) -> Com_1(evalfreturnin(A, B, C, D, E)) :|: A >= B + 1 16.90/12.36 evalfbb8in(A, B, C, D, E) -> Com_1(evalfbb6in(A, B, C, A + 1, E)) :|: A >= C 16.90/12.36 evalfbb8in(A, B, C, D, E) -> Com_1(evalfbb10in(A + 1, B, C, D, E)) :|: C >= A + 1 16.90/12.36 evalfbb6in(A, B, C, D, E) -> Com_1(evalfbb4in(A, B, C, D, 1)) :|: B >= D 16.90/12.36 evalfbb6in(A, B, C, D, E) -> Com_1(evalfbb7in(A, B, C, D, E)) :|: D >= B + 1 16.90/12.36 evalfbb4in(A, B, C, D, E) -> Com_1(evalfbb3in(A, B, C, D, E)) :|: D >= E 16.90/12.36 evalfbb4in(A, B, C, D, E) -> Com_1(evalfbb5in(A, B, C, D, E)) :|: E >= D + 1 16.90/12.36 evalfbb3in(A, B, C, D, E) -> Com_1(evalfbb4in(A, B, C, D, E + 1)) :|: TRUE 16.90/12.36 evalfbb5in(A, B, C, D, E) -> Com_1(evalfbb6in(A, B, C, D + 1, E)) :|: TRUE 16.90/12.36 evalfbb7in(A, B, C, D, E) -> Com_1(evalfbb8in(A, B, C + 1, D, E)) :|: TRUE 16.90/12.36 evalfreturnin(A, B, C, D, E) -> Com_1(evalfstop(A, B, C, D, E)) :|: TRUE 16.90/12.36 16.90/12.36 The start-symbols are:[evalfstart_5] 16.90/12.36 16.90/12.36 16.90/12.36 ---------------------------------------- 16.90/12.36 16.90/12.36 (1) Koat2 Proof (FINISHED) 16.90/12.36 YES( ?, 3+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -2+2*Arg_1])+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -2+3*Arg_1])+max([1, 1+Arg_1])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -4*Arg_4]) {O(n^5)}) 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Initial Complexity Problem: 16.90/12.36 16.90/12.36 Start: evalfstart 16.90/12.36 16.90/12.36 Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4 16.90/12.36 16.90/12.36 Temp_Vars: 16.90/12.36 16.90/12.36 Locations: evalfbb10in, evalfbb3in, evalfbb4in, evalfbb5in, evalfbb6in, evalfbb7in, evalfbb8in, evalfentryin, evalfreturnin, evalfstart, evalfstop 16.90/12.36 16.90/12.36 Transitions: 16.90/12.36 16.90/12.36 evalfbb10in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb8in(Arg_0,Arg_1,1,Arg_3,Arg_4):|:1 <= Arg_0 && Arg_0 <= Arg_1 16.90/12.36 16.90/12.36 evalfbb10in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfreturnin(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_0 && Arg_1+1 <= Arg_0 16.90/12.36 16.90/12.36 evalfbb3in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb4in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4+1):|:1 <= Arg_4 && 3 <= Arg_3+Arg_4 && 2 <= Arg_2+Arg_4 && 3 <= Arg_1+Arg_4 && 2 <= Arg_0+Arg_4 && Arg_3 <= Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 4 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && 1+Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 3 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 2 <= Arg_1 && 3 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 1 <= Arg_0 16.90/12.36 16.90/12.36 evalfbb4in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb3in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_4 && 3 <= Arg_3+Arg_4 && 2 <= Arg_2+Arg_4 && 3 <= Arg_1+Arg_4 && 2 <= Arg_0+Arg_4 && Arg_3 <= Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 4 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && 1+Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 3 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 2 <= Arg_1 && 3 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_4 <= Arg_3 16.90/12.36 16.90/12.36 evalfbb4in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb5in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_4 && 3 <= Arg_3+Arg_4 && 2 <= Arg_2+Arg_4 && 3 <= Arg_1+Arg_4 && 2 <= Arg_0+Arg_4 && Arg_3 <= Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 4 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && 1+Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 3 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 2 <= Arg_1 && 3 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_3+1 <= Arg_4 16.90/12.36 16.90/12.36 evalfbb5in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb6in(Arg_0,Arg_1,Arg_2,Arg_3+1,Arg_4):|:3 <= Arg_4 && 5 <= Arg_3+Arg_4 && 1+Arg_3 <= Arg_4 && 4 <= Arg_2+Arg_4 && 2+Arg_2 <= Arg_4 && 5 <= Arg_1+Arg_4 && 4 <= Arg_0+Arg_4 && 2+Arg_0 <= Arg_4 && Arg_3 <= Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 4 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && 1+Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 3 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 2 <= Arg_1 && 3 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 1 <= Arg_0 16.90/12.36 16.90/12.36 evalfbb6in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb4in(Arg_0,Arg_1,Arg_2,Arg_3,1):|:Arg_3 <= 1+Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 3 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 2 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 1 <= Arg_1 && 2 <= Arg_0+Arg_1 && Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_3 <= Arg_1 16.90/12.36 16.90/12.36 evalfbb6in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb7in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_3 <= 1+Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 3 <= Arg_1+Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 2 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 1 <= Arg_1 && 2 <= Arg_0+Arg_1 && Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_1+1 <= Arg_3 16.90/12.36 16.90/12.36 evalfbb7in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb8in(Arg_0,Arg_1,Arg_2+1,Arg_3,Arg_4):|:Arg_3 <= 1+Arg_1 && 2 <= Arg_3 && 3 <= Arg_2+Arg_3 && 1+Arg_2 <= Arg_3 && 3 <= Arg_1+Arg_3 && 1+Arg_1 <= Arg_3 && 3 <= Arg_0+Arg_3 && 1+Arg_0 <= Arg_3 && Arg_2 <= Arg_1 && Arg_2 <= Arg_0 && 1 <= Arg_2 && 2 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 1 <= Arg_1 && 2 <= Arg_0+Arg_1 && Arg_0 <= Arg_1 && 1 <= Arg_0 16.90/12.36 16.90/12.36 evalfbb8in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb10in(Arg_0+1,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_2 && 2 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 1 <= Arg_1 && 2 <= Arg_0+Arg_1 && Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_0+1 <= Arg_2 16.90/12.36 16.90/12.36 evalfbb8in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb6in(Arg_0,Arg_1,Arg_2,Arg_0+1,Arg_4):|:1 <= Arg_2 && 2 <= Arg_1+Arg_2 && 2 <= Arg_0+Arg_2 && 1 <= Arg_1 && 2 <= Arg_0+Arg_1 && Arg_0 <= Arg_1 && 1 <= Arg_0 && Arg_2 <= Arg_0 16.90/12.36 16.90/12.36 evalfentryin(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfbb10in(1,Arg_1,Arg_2,Arg_3,Arg_4):|: 16.90/12.36 16.90/12.36 evalfreturnin(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfstop(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:1+Arg_1 <= Arg_0 && 1 <= Arg_0 16.90/12.36 16.90/12.36 evalfstart(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> evalfentryin(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|: 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Timebounds: 16.90/12.36 16.90/12.36 Overall timebound: 3+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -2+2*Arg_1])+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -2+3*Arg_1])+max([1, 1+Arg_1])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -4*Arg_4]) {O(n^5)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in: max([0, Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin: 1 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in: (max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]) {O(n^4)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -2+2*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in: max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in: max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])]) {O(n^2)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in: max([0, -2+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in: 1 {O(1)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop: 1 {O(1)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin: 1 {O(1)} 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Costbounds: 16.90/12.36 16.90/12.36 Overall costbound: 3+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -2+2*Arg_1])+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -2+3*Arg_1])+max([1, 1+Arg_1])+max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])+max([0, -4*Arg_4]) {O(n^5)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in: max([0, Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin: 1 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in: (max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]) {O(n^4)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -2+2*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in: max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in: max([2, 2+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])]) {O(n^2)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in: max([0, -2+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in: 1 {O(1)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop: 1 {O(1)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin: 1 {O(1)} 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Sizebounds: 16.90/12.36 16.90/12.36 `Lower: 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_1: 1 {O(1)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_3: min([2, Arg_3]) {O(n)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_1: min([1, Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_2: min([2, Arg_2]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_3: min([2, Arg_3]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_1: 2 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_4: 2 {O(1)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_1: 2 {O(1)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_4: 1 {O(1)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_1: 2 {O(1)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_4: 3 {O(1)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_1: 2 {O(1)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_3: 3 {O(1)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_4: 3 {O(1)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_1: 2 {O(1)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_4: 1 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_1: 1 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_1: 1 {O(1)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_2: 2 {O(1)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_1: 1 {O(1)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_0: 2 {O(1)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_1: 1 {O(1)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_2: 2 {O(1)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_3: 2 {O(1)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_2: Arg_2 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_3: Arg_3 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_4: Arg_4 {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_1: min([1, Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_2: min([2, Arg_2]) {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_3: min([2, Arg_3]) {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_4: min([3, Arg_4]) {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_0: Arg_0 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_2: Arg_2 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_3: Arg_3 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_4: Arg_4 {O(n)} 16.90/12.36 16.90/12.36 `Upper: 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_2: 1 {O(1)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_3: max([2, max([Arg_3, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])])]) {O(n^3)} 16.90/12.36 16.90/12.36 2: evalfbb10in->evalfbb8in, Arg_4: max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])]) {O(n^5)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_0: max([1, max([1, -1+3*Arg_1])]) {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_2: max([3, max([Arg_2, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])]) {O(n^2)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_3: max([2, max([Arg_3, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])])]) {O(n^3)} 16.90/12.36 16.90/12.36 3: evalfbb10in->evalfreturnin, Arg_4: max([Arg_4, max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])])]) {O(n^5)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_3: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 10: evalfbb3in->evalfbb4in, Arg_4: 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_3: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 8: evalfbb4in->evalfbb3in, Arg_4: 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_3: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 9: evalfbb4in->evalfbb5in, Arg_4: 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_3: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 11: evalfbb5in->evalfbb6in, Arg_4: 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1]) {O(n^5)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_3: max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]) {O(n^3)} 16.90/12.36 16.90/12.36 6: evalfbb6in->evalfbb4in, Arg_4: 1 {O(1)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_3: max([2, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])]) {O(n^3)} 16.90/12.36 16.90/12.36 7: evalfbb6in->evalfbb7in, Arg_4: max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])]) {O(n^5)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_3: max([2, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])]) {O(n^3)} 16.90/12.36 16.90/12.36 12: evalfbb7in->evalfbb8in, Arg_4: max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])]) {O(n^5)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_3: max([2, 3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 4: evalfbb8in->evalfbb6in, Arg_4: max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])]) {O(n^5)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_0: max([1, -1+3*Arg_1]) {O(n)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_2: max([3, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])]) {O(n^2)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_3: max([2, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])]) {O(n^3)} 16.90/12.36 16.90/12.36 5: evalfbb8in->evalfbb10in, Arg_4: max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])]) {O(n^5)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_0: 1 {O(1)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_2: Arg_2 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_3: Arg_3 {O(n)} 16.90/12.36 16.90/12.36 1: evalfentryin->evalfbb10in, Arg_4: Arg_4 {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_0: max([1, max([1, -1+3*Arg_1])]) {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_2: max([3, max([Arg_2, 3+(-2+3*Arg_1)*max([4, 2*max([1, -1+3*Arg_1])])])]) {O(n^2)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_3: max([2, max([Arg_3, max([max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([9, -2+11*Arg_1])+max([2, 3*Arg_1]), 3*Arg_1])])]) {O(n^3)} 16.90/12.36 16.90/12.36 13: evalfreturnin->evalfstop, Arg_4: max([Arg_4, max([Arg_4, 1+(max([1, 1+(-2+3*Arg_1)*max([1, -1+3*Arg_1])])*max([0, -1+Arg_1])*max([3, -1+2*Arg_1])+max([0, -4*Arg_4]))*max([1, -1+3*Arg_1])])]) {O(n^5)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_0: Arg_0 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_1: Arg_1 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_2: Arg_2 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_3: Arg_3 {O(n)} 16.90/12.36 16.90/12.36 0: evalfstart->evalfentryin, Arg_4: Arg_4 {O(n)} 16.90/12.36 16.90/12.36 16.90/12.36 ---------------------------------------- 16.90/12.36 16.90/12.36 (2) 16.90/12.36 BOUNDS(1, 3 + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) * max(1, -1 + 3 * Arg_1) + nat(-4 * Arg_4) * max(1, -1 + 3 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-1 + Arg_1) * max(3, -1 + 2 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * max(9, -2 + 11 * Arg_1) + max(1, 1 + 3 * Arg_1 * max(1, -1 + 3 * Arg_1) + min(2 + -6 * Arg_1, -2)) * nat(-2 + 2 * Arg_1) + nat(-4 * Arg_4) + max(4 + 6 * Arg_1 * max(4, -2 + 6 * Arg_1) + min(8 + -24 * Arg_1, -8), 4) + nat(-2 + 3 * Arg_1) + max(1, 1 + Arg_1)) 16.90/12.36 16.90/12.36 ---------------------------------------- 16.90/12.36 16.90/12.36 (3) Loat Proof (FINISHED) 16.90/12.36 16.90/12.36 16.90/12.36 ### Pre-processing the ITS problem ### 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Initial linear ITS problem 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 0: evalfstart -> evalfentryin : [], cost: 1 16.90/12.36 16.90/12.36 1: evalfentryin -> evalfbb10in : A'=1, [], cost: 1 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 3: evalfbb10in -> evalfreturnin : [ A>=1+B ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 6: evalfbb6in -> evalfbb4in : E'=1, [ B>=D ], cost: 1 16.90/12.36 16.90/12.36 7: evalfbb6in -> evalfbb7in : [ D>=1+B ], cost: 1 16.90/12.36 16.90/12.36 8: evalfbb4in -> evalfbb3in : [ D>=E ], cost: 1 16.90/12.36 16.90/12.36 9: evalfbb4in -> evalfbb5in : [ E>=1+D ], cost: 1 16.90/12.36 16.90/12.36 10: evalfbb3in -> evalfbb4in : E'=1+E, [], cost: 1 16.90/12.36 16.90/12.36 11: evalfbb5in -> evalfbb6in : D'=1+D, [], cost: 1 16.90/12.36 16.90/12.36 12: evalfbb7in -> evalfbb8in : C'=1+C, [], cost: 1 16.90/12.36 16.90/12.36 13: evalfreturnin -> evalfstop : [], cost: 1 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Removed unreachable and leaf rules: 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 0: evalfstart -> evalfentryin : [], cost: 1 16.90/12.36 16.90/12.36 1: evalfentryin -> evalfbb10in : A'=1, [], cost: 1 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 6: evalfbb6in -> evalfbb4in : E'=1, [ B>=D ], cost: 1 16.90/12.36 16.90/12.36 7: evalfbb6in -> evalfbb7in : [ D>=1+B ], cost: 1 16.90/12.36 16.90/12.36 8: evalfbb4in -> evalfbb3in : [ D>=E ], cost: 1 16.90/12.36 16.90/12.36 9: evalfbb4in -> evalfbb5in : [ E>=1+D ], cost: 1 16.90/12.36 16.90/12.36 10: evalfbb3in -> evalfbb4in : E'=1+E, [], cost: 1 16.90/12.36 16.90/12.36 11: evalfbb5in -> evalfbb6in : D'=1+D, [], cost: 1 16.90/12.36 16.90/12.36 12: evalfbb7in -> evalfbb8in : C'=1+C, [], cost: 1 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 ### Simplification by acceleration and chaining ### 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Eliminated locations (on linear paths): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 6: evalfbb6in -> evalfbb4in : E'=1, [ B>=D ], cost: 1 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 16: evalfbb4in -> evalfbb4in : E'=1+E, [ D>=E ], cost: 2 16.90/12.36 16.90/12.36 17: evalfbb4in -> evalfbb6in : D'=1+D, [ E>=1+D ], cost: 2 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerating simple loops of location 5. 16.90/12.36 16.90/12.36 Accelerating the following rules: 16.90/12.36 16.90/12.36 16: evalfbb4in -> evalfbb4in : E'=1+E, [ D>=E ], cost: 2 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated rule 16 with metering function 1+D-E, yielding the new rule 18. 16.90/12.36 16.90/12.36 Removing the simple loops: 16. 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated all simple loops using metering functions (where possible): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 6: evalfbb6in -> evalfbb4in : E'=1, [ B>=D ], cost: 1 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 17: evalfbb4in -> evalfbb6in : D'=1+D, [ E>=1+D ], cost: 2 16.90/12.36 16.90/12.36 18: evalfbb4in -> evalfbb4in : E'=1+D, [ D>=E ], cost: 2+2*D-2*E 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Chained accelerated rules (with incoming rules): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 6: evalfbb6in -> evalfbb4in : E'=1, [ B>=D ], cost: 1 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 19: evalfbb6in -> evalfbb4in : E'=1+D, [ B>=D && D>=1 ], cost: 1+2*D 16.90/12.36 16.90/12.36 17: evalfbb4in -> evalfbb6in : D'=1+D, [ E>=1+D ], cost: 2 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Eliminated locations (on tree-shaped paths): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 20: evalfbb6in -> evalfbb6in : D'=1+D, E'=1, [ B>=D && 1>=1+D ], cost: 3 16.90/12.36 16.90/12.36 21: evalfbb6in -> evalfbb6in : D'=1+D, E'=1+D, [ B>=D && D>=1 ], cost: 3+2*D 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerating simple loops of location 4. 16.90/12.36 16.90/12.36 Accelerating the following rules: 16.90/12.36 16.90/12.36 20: evalfbb6in -> evalfbb6in : D'=1+D, E'=1, [ B>=D && 1>=1+D ], cost: 3 16.90/12.36 16.90/12.36 21: evalfbb6in -> evalfbb6in : D'=1+D, E'=1+D, [ B>=D && D>=1 ], cost: 3+2*D 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated rule 20 with backward acceleration, yielding the new rule 22. 16.90/12.36 16.90/12.36 Accelerated rule 20 with backward acceleration, yielding the new rule 23. 16.90/12.36 16.90/12.36 Accelerated rule 21 with metering function 1-D+B, yielding the new rule 24. 16.90/12.36 16.90/12.36 Removing the simple loops: 20 21. 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated all simple loops using metering functions (where possible): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 22: evalfbb6in -> evalfbb6in : D'=1+B, E'=1, [ B>=D && 1>=1+D && 1>=1+B ], cost: 3-3*D+3*B 16.90/12.36 16.90/12.36 23: evalfbb6in -> evalfbb6in : D'=1, E'=1, [ B>=D && 1>=1+D && B>=0 ], cost: 3-3*D 16.90/12.36 16.90/12.36 24: evalfbb6in -> evalfbb6in : D'=1+B, E'=1+B, [ B>=D && D>=1 ], cost: 2-2*D*(-1+D-B)+(-1+D-B)^2-2*D+2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Chained accelerated rules (with incoming rules): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 4: evalfbb8in -> evalfbb6in : D'=1+A, [ A>=C ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 25: evalfbb8in -> evalfbb6in : D'=1+B, E'=1, [ A>=C && B>=1+A && 1>=2+A && 1>=1+B ], cost: 1-3*A+3*B 16.90/12.36 16.90/12.36 26: evalfbb8in -> evalfbb6in : D'=1, E'=1, [ A>=C && B>=1+A && 1>=2+A && B>=0 ], cost: 1-3*A 16.90/12.36 16.90/12.36 27: evalfbb8in -> evalfbb6in : D'=1+B, E'=1+B, [ A>=C && B>=1+A && 1+A>=1 ], cost: 1+(A-B)^2-2*(A-B)*(1+A)-2*A+2*B 16.90/12.36 16.90/12.36 15: evalfbb6in -> evalfbb8in : C'=1+C, [ D>=1+B ], cost: 2 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Eliminated locations (on tree-shaped paths): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 28: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+A, [ A>=C && 1+A>=1+B ], cost: 3 16.90/12.36 16.90/12.36 29: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+B, E'=1, [ A>=C && B>=1+A && 1>=2+A && 1>=1+B ], cost: 3-3*A+3*B 16.90/12.36 16.90/12.36 30: evalfbb8in -> evalfbb8in : C'=1+C, D'=1, E'=1, [ A>=C && B>=1+A && 1>=2+A && B>=0 && 1>=1+B ], cost: 3-3*A 16.90/12.36 16.90/12.36 31: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+B, E'=1+B, [ A>=C && B>=1+A && 1+A>=1 ], cost: 3+(A-B)^2-2*(A-B)*(1+A)-2*A+2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerating simple loops of location 3. 16.90/12.36 16.90/12.36 Simplified some of the simple loops (and removed duplicate rules). 16.90/12.36 16.90/12.36 Accelerating the following rules: 16.90/12.36 16.90/12.36 28: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+A, [ A>=C && 1+A>=1+B ], cost: 3 16.90/12.36 16.90/12.36 29: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+B, E'=1, [ A>=C && B>=1+A && 1>=2+A && 1>=1+B ], cost: 3-3*A+3*B 16.90/12.36 16.90/12.36 30: evalfbb8in -> evalfbb8in : C'=1+C, D'=1, E'=1, [ A>=C && B>=1+A && 1>=2+A && -B==0 ], cost: 3-3*A 16.90/12.36 16.90/12.36 31: evalfbb8in -> evalfbb8in : C'=1+C, D'=1+B, E'=1+B, [ A>=C && B>=1+A && 1+A>=1 ], cost: 3+(A-B)^2-2*(A-B)*(1+A)-2*A+2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated rule 28 with metering function 1-C+A, yielding the new rule 32. 16.90/12.36 16.90/12.36 Accelerated rule 29 with metering function 1-C+A, yielding the new rule 33. 16.90/12.36 16.90/12.36 Accelerated rule 30 with metering function 1-C+A, yielding the new rule 34. 16.90/12.36 16.90/12.36 Accelerated rule 31 with metering function 1-C+A, yielding the new rule 35. 16.90/12.36 16.90/12.36 Removing the simple loops: 28 29 30 31. 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated all simple loops using metering functions (where possible): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 32: evalfbb8in -> evalfbb8in : C'=1+A, D'=1+A, [ A>=C && 1+A>=1+B ], cost: 3-3*C+3*A 16.90/12.36 16.90/12.36 33: evalfbb8in -> evalfbb8in : C'=1+A, D'=1+B, E'=1, [ A>=C && B>=1+A && 1>=2+A && 1>=1+B ], cost: 3-3*C-3*(-1+C-A)*B+3*A+3*(-1+C-A)*A 16.90/12.36 16.90/12.36 34: evalfbb8in -> evalfbb8in : C'=1+A, D'=1, E'=1, [ A>=C && B>=1+A && 1>=2+A && -B==0 ], cost: 3-3*C+3*A+3*(-1+C-A)*A 16.90/12.36 16.90/12.36 35: evalfbb8in -> evalfbb8in : C'=1+A, D'=1+B, E'=1+B, [ A>=C && B>=1+A && 1+A>=1 ], cost: 3-(-1+C-A)*B^2-3*C-4*(-1+C-A)*B+(-1+C-A)*A^2+3*A+4*(-1+C-A)*A 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Chained accelerated rules (with incoming rules): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 2: evalfbb10in -> evalfbb8in : C'=1, [ B>=A ], cost: 1 16.90/12.36 16.90/12.36 36: evalfbb10in -> evalfbb8in : C'=1+A, D'=1+A, [ A-B==0 && A>=1 ], cost: 1+3*A 16.90/12.36 16.90/12.36 37: evalfbb10in -> evalfbb8in : C'=1+A, D'=1+B, E'=1+B, [ A>=1 && B>=1+A ], cost: 1+A*B^2+3*A+4*A*B-4*A^2-A^3 16.90/12.36 16.90/12.36 5: evalfbb8in -> evalfbb10in : A'=1+A, [ C>=1+A ], cost: 1 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Eliminated locations (on tree-shaped paths): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 38: evalfbb10in -> evalfbb10in : A'=1+A, C'=1, [ B>=A && 1>=1+A ], cost: 2 16.90/12.36 16.90/12.36 39: evalfbb10in -> evalfbb10in : A'=1+A, C'=1+A, D'=1+A, [ A-B==0 && A>=1 ], cost: 2+3*A 16.90/12.36 16.90/12.36 40: evalfbb10in -> evalfbb10in : A'=1+A, C'=1+A, D'=1+B, E'=1+B, [ A>=1 && B>=1+A ], cost: 2+A*B^2+3*A+4*A*B-4*A^2-A^3 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerating simple loops of location 2. 16.90/12.36 16.90/12.36 Accelerating the following rules: 16.90/12.36 16.90/12.36 38: evalfbb10in -> evalfbb10in : A'=1+A, C'=1, [ B>=A && 1>=1+A ], cost: 2 16.90/12.36 16.90/12.36 39: evalfbb10in -> evalfbb10in : A'=1+A, C'=1+A, D'=1+A, [ A-B==0 && A>=1 ], cost: 2+3*A 16.90/12.36 16.90/12.36 40: evalfbb10in -> evalfbb10in : A'=1+A, C'=1+A, D'=1+B, E'=1+B, [ A>=1 && B>=1+A ], cost: 2+A*B^2+3*A+4*A*B-4*A^2-A^3 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated rule 38 with backward acceleration, yielding the new rule 41. 16.90/12.36 16.90/12.36 Accelerated rule 38 with backward acceleration, yielding the new rule 42. 16.90/12.36 16.90/12.36 Accelerated rule 39 with metering function 1-A+B, yielding the new rule 43. 16.90/12.36 16.90/12.36 Accelerated rule 40 with metering function -A+B, yielding the new rule 44. 16.90/12.36 16.90/12.36 Nested simple loops 40 (outer loop) and 43 (inner loop) with metering function meter_1 (where 2*meter_1==-A+B), resulting in the new rules: 45. 16.90/12.36 16.90/12.36 Removing the simple loops: 38 39 40. 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Accelerated all simple loops using metering functions (where possible): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 41: evalfbb10in -> evalfbb10in : A'=1+B, C'=1, [ B>=A && 1>=1+A && 1>=1+B ], cost: 2-2*A+2*B 16.90/12.36 16.90/12.36 42: evalfbb10in -> evalfbb10in : A'=1, C'=1, [ B>=A && 1>=1+A && B>=0 ], cost: 2-2*A 16.90/12.36 16.90/12.36 43: evalfbb10in -> evalfbb10in : A'=1+B, C'=1+B, D'=1+B, [ A-B==0 && A>=1 ], cost: 1/2-3*(-1+A-B)*A-1/2*A+3/2*(-1+A-B)^2+1/2*B 16.90/12.36 16.90/12.36 44: evalfbb10in -> evalfbb10in : A'=B, C'=B, D'=1+B, E'=1+B, [ A>=1 && B>=1+A ], cost: -A*(A-B)*B^2+1/2*(A-B)^2*B^2+5/2*A^2*(A-B)-3/2*A^2*(A-B)^2+5/6*(A-B)^3+A^3*(A-B)-4*A*(A-B)*B+13/4*(A-B)^2+2*(A-B)^2*B+A*(A-B)^3+2*(A-B)*B-1/4*(A-B)^4-5/2*A*(A-B)^2+1/6*A-13/2*A*(A-B)+1/2*(A-B)*B^2-1/6*B 16.90/12.36 16.90/12.36 45: evalfbb10in -> evalfbb10in : A'=1+B, C'=1+B, D'=1+B, E'=1+B, [ A>=1 && 1+A-B==0 && 2*meter_1==-A+B && meter_1>=1 ], cost: -5*meter_1-2*meter_1*B^2-7*meter_1*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Chained accelerated rules (with incoming rules): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 14: evalfstart -> evalfbb10in : A'=1, [], cost: 2 16.90/12.36 16.90/12.36 46: evalfstart -> evalfbb10in : A'=1+B, C'=1+B, D'=1+B, [ 1-B==0 ], cost: 2+3/2*B^2+7/2*B 16.90/12.36 16.90/12.36 47: evalfstart -> evalfbb10in : A'=B, C'=B, D'=1+B, E'=1+B, [ B>=2 ], cost: -5/6+2*(-1+B)*B-1/4*(-1+B)^4+1/2*(-1+B)*B^2+1/2*(-1+B)^2*B^2-11/6*(-1+B)^3-3/4*(-1+B)^2+17/6*B+2*(-1+B)^2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Removed unreachable locations (and leaf rules with constant cost): 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 46: evalfstart -> evalfbb10in : A'=1+B, C'=1+B, D'=1+B, [ 1-B==0 ], cost: 2+3/2*B^2+7/2*B 16.90/12.36 16.90/12.36 47: evalfstart -> evalfbb10in : A'=B, C'=B, D'=1+B, E'=1+B, [ B>=2 ], cost: -5/6+2*(-1+B)*B-1/4*(-1+B)^4+1/2*(-1+B)*B^2+1/2*(-1+B)^2*B^2-11/6*(-1+B)^3-3/4*(-1+B)^2+17/6*B+2*(-1+B)^2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 ### Computing asymptotic complexity ### 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Fully simplified ITS problem 16.90/12.36 16.90/12.36 Start location: evalfstart 16.90/12.36 16.90/12.36 46: evalfstart -> evalfbb10in : A'=1+B, C'=1+B, D'=1+B, [ 1-B==0 ], cost: 2+3/2*B^2+7/2*B 16.90/12.36 16.90/12.36 47: evalfstart -> evalfbb10in : A'=B, C'=B, D'=1+B, E'=1+B, [ B>=2 ], cost: -5/6+2*(-1+B)*B-1/4*(-1+B)^4+1/2*(-1+B)*B^2+1/2*(-1+B)^2*B^2-11/6*(-1+B)^3-3/4*(-1+B)^2+17/6*B+2*(-1+B)^2*B 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Computing asymptotic complexity for rule 46 16.90/12.36 16.90/12.36 Could not solve the limit problem. 16.90/12.36 16.90/12.36 Resulting cost 0 has complexity: Unknown 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Computing asymptotic complexity for rule 47 16.90/12.36 16.90/12.36 Solved the limit problem by the following transformations: 16.90/12.36 16.90/12.36 Created initial limit problem: 16.90/12.36 16.90/12.36 2/3*B^3+5/4*B^2+1/4*B^4-1/6*B (+), -1+B (+/+!) [not solved] 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 removing all constraints (solved by SMT) 16.90/12.36 16.90/12.36 resulting limit problem: [solved] 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 applying transformation rule (C) using substitution {B==-1+n} 16.90/12.36 16.90/12.36 resulting limit problem: 16.90/12.36 16.90/12.36 [solved] 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Solution: 16.90/12.36 16.90/12.36 B / -1+n 16.90/12.36 16.90/12.36 Resulting cost 1+3/4*n^2-1/3*n^3-5/3*n+1/4*n^4 has complexity: Poly(n^4) 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Found new complexity Poly(n^4). 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 Obtained the following overall complexity (w.r.t. the length of the input n): 16.90/12.36 16.90/12.36 Complexity: Poly(n^4) 16.90/12.36 16.90/12.36 Cpx degree: 4 16.90/12.36 16.90/12.36 Solved cost: 1+3/4*n^2-1/3*n^3-5/3*n+1/4*n^4 16.90/12.36 16.90/12.36 Rule cost: -5/6+2*(-1+B)*B-1/4*(-1+B)^4+1/2*(-1+B)*B^2+1/2*(-1+B)^2*B^2-11/6*(-1+B)^3-3/4*(-1+B)^2+17/6*B+2*(-1+B)^2*B 16.90/12.36 16.90/12.36 Rule guard: [ B>=2 ] 16.90/12.36 16.90/12.36 16.90/12.36 16.90/12.36 WORST_CASE(Omega(n^4),?) 16.90/12.36 16.90/12.36 16.90/12.36 ---------------------------------------- 16.90/12.36 16.90/12.36 (4) 16.90/12.36 BOUNDS(n^4, INF) 16.90/12.39 EOF