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