6.83/2.99 WORST_CASE(?, O(n^1)) 6.83/3.00 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 6.83/3.00 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.83/3.00 6.83/3.00 6.83/3.00 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, max(5 + -16948680941280 * Arg_0 + 4304981706793560 * Arg_1, 5) + nat(-4253917943760 * Arg_0 + -1080511905423480 * Arg_1) + nat(32967930 * Arg_0) + nat(510 + -2 * Arg_0) + nat(-1012 * Arg_0 + 257049 * Arg_1) + nat(-254 * Arg_0 + -64517 * Arg_1)). 6.83/3.00 6.83/3.00 (0) CpxIntTrs 6.83/3.00 (1) Koat2 Proof [FINISHED, 926 ms] 6.83/3.00 (2) BOUNDS(1, max(5 + -16948680941280 * Arg_0 + 4304981706793560 * Arg_1, 5) + nat(-4253917943760 * Arg_0 + -1080511905423480 * Arg_1) + nat(32967930 * Arg_0) + nat(510 + -2 * Arg_0) + nat(-1012 * Arg_0 + 257049 * Arg_1) + nat(-254 * Arg_0 + -64517 * Arg_1)) 6.83/3.00 6.83/3.00 6.83/3.00 ---------------------------------------- 6.83/3.00 6.83/3.00 (0) 6.83/3.00 Obligation: 6.83/3.00 Complexity Int TRS consisting of the following rules: 6.83/3.00 evalfstart(A, B) -> Com_1(evalfentryin(A, B)) :|: TRUE 6.83/3.00 evalfentryin(A, B) -> Com_1(evalfbb3in(B, A)) :|: TRUE 6.83/3.00 evalfbb3in(A, B) -> Com_1(evalfbbin(A, B)) :|: B >= 1 && 254 >= B 6.83/3.00 evalfbb3in(A, B) -> Com_1(evalfreturnin(A, B)) :|: 0 >= B 6.83/3.00 evalfbb3in(A, B) -> Com_1(evalfreturnin(A, B)) :|: B >= 255 6.83/3.00 evalfbbin(A, B) -> Com_1(evalfbb1in(A, B)) :|: 0 >= A + 1 6.83/3.00 evalfbbin(A, B) -> Com_1(evalfbb1in(A, B)) :|: A >= 1 6.83/3.00 evalfbbin(A, B) -> Com_1(evalfbb2in(A, B)) :|: A >= 0 && A <= 0 6.83/3.00 evalfbb1in(A, B) -> Com_1(evalfbb3in(A, B + 1)) :|: TRUE 6.83/3.00 evalfbb2in(A, B) -> Com_1(evalfbb3in(A, B - 1)) :|: TRUE 6.83/3.00 evalfreturnin(A, B) -> Com_1(evalfstop(A, B)) :|: TRUE 6.83/3.00 6.83/3.00 The start-symbols are:[evalfstart_2] 6.83/3.00 6.83/3.00 6.83/3.00 ---------------------------------------- 6.83/3.00 6.83/3.00 (1) Koat2 Proof (FINISHED) 6.83/3.00 YES( ?, 5+2*64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+254*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 255-Arg_0])+max([0, 257049*Arg_1+-1012*Arg_0])+max([0, 255-Arg_0])+max([0, -64517*Arg_1+-254*Arg_0])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]) {O(n)}) 6.83/3.00 6.83/3.00 6.83/3.00 6.83/3.00 Initial Complexity Problem: 6.83/3.00 6.83/3.00 Start: evalfstart 6.83/3.00 6.83/3.00 Program_Vars: Arg_0, Arg_1 6.83/3.00 6.83/3.00 Temp_Vars: 6.83/3.00 6.83/3.00 Locations: evalfbb1in, evalfbb2in, evalfbb3in, evalfbbin, evalfentryin, evalfreturnin, evalfstart, evalfstop 6.83/3.00 6.83/3.00 Transitions: 6.83/3.00 6.83/3.00 evalfbb1in(Arg_0,Arg_1) -> evalfbb3in(Arg_0,Arg_1+1):|:Arg_1 <= 254 && 1 <= Arg_1 6.83/3.00 6.83/3.00 evalfbb2in(Arg_0,Arg_1) -> evalfbb3in(Arg_0,Arg_1-1):|:Arg_1 <= 254 && Arg_1 <= 254+Arg_0 && Arg_0+Arg_1 <= 254 && 1 <= Arg_1 && 1 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && Arg_0 <= 0 && 0 <= Arg_0 6.83/3.00 6.83/3.00 evalfbb3in(Arg_0,Arg_1) -> evalfbbin(Arg_0,Arg_1):|:1 <= Arg_1 && Arg_1 <= 254 6.83/3.00 6.83/3.00 evalfbb3in(Arg_0,Arg_1) -> evalfreturnin(Arg_0,Arg_1):|:Arg_1 <= 0 6.83/3.00 6.83/3.00 evalfbb3in(Arg_0,Arg_1) -> evalfreturnin(Arg_0,Arg_1):|:255 <= Arg_1 6.83/3.00 6.83/3.00 evalfbbin(Arg_0,Arg_1) -> evalfbb1in(Arg_0,Arg_1):|:Arg_1 <= 254 && 1 <= Arg_1 && Arg_0+1 <= 0 6.83/3.00 6.83/3.00 evalfbbin(Arg_0,Arg_1) -> evalfbb1in(Arg_0,Arg_1):|:Arg_1 <= 254 && 1 <= Arg_1 && 1 <= Arg_0 6.83/3.00 6.83/3.00 evalfbbin(Arg_0,Arg_1) -> evalfbb2in(Arg_0,Arg_1):|:Arg_1 <= 254 && 1 <= Arg_1 && Arg_0 <= 0 && 0 <= Arg_0 6.83/3.00 6.83/3.00 evalfentryin(Arg_0,Arg_1) -> evalfbb3in(Arg_1,Arg_0):|: 6.83/3.00 6.83/3.00 evalfreturnin(Arg_0,Arg_1) -> evalfstop(Arg_0,Arg_1):|: 6.83/3.00 6.83/3.00 evalfstart(Arg_0,Arg_1) -> evalfentryin(Arg_0,Arg_1):|: 6.83/3.00 6.83/3.00 6.83/3.00 6.83/3.00 Timebounds: 6.83/3.00 6.83/3.00 Overall timebound: 5+2*64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+254*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 255-Arg_0])+max([0, 257049*Arg_1+-1012*Arg_0])+max([0, 255-Arg_0])+max([0, -64517*Arg_1+-254*Arg_0])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in: 64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 255-Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in: 254*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0])) {O(n)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin: 64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 255-Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin: 1 {O(1)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin: 1 {O(1)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in: max([0, -64517*Arg_1+-254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in: max([0, 257049*Arg_1+-1012*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in: max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in: 1 {O(1)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop: 1 {O(1)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin: 1 {O(1)} 6.83/3.00 6.83/3.00 6.83/3.00 6.83/3.00 Costbounds: 6.83/3.00 6.83/3.00 Overall costbound: 5+2*64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+254*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 255-Arg_0])+max([0, 257049*Arg_1+-1012*Arg_0])+max([0, 255-Arg_0])+max([0, -64517*Arg_1+-254*Arg_0])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in: 64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 255-Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in: 254*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0])) {O(n)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin: 64770*(max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]))+max([0, 255-Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin: 1 {O(1)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin: 1 {O(1)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in: max([0, -64517*Arg_1+-254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in: max([0, 257049*Arg_1+-1012*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in: max([0, 129032*(257049*Arg_1+-1012*Arg_0)])+max([0, 129032*(-64517*Arg_1+-254*Arg_0)])+max([0, 254*Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in: 1 {O(1)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop: 1 {O(1)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin: 1 {O(1)} 6.83/3.00 6.83/3.00 6.83/3.00 6.83/3.00 Sizebounds: 6.83/3.00 6.83/3.00 `Lower: 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in, Arg_1: 2 {O(1)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in, Arg_0: 0 {O(1)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in, Arg_1: 0 {O(1)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin, Arg_1: 1 {O(1)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin, Arg_1: min([0, Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin, Arg_1: 255 {O(1)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in, Arg_1: 1 {O(1)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in, Arg_0: 1 {O(1)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in, Arg_1: 1 {O(1)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in, Arg_0: 0 {O(1)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in, Arg_1: 1 {O(1)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in, Arg_0: Arg_1 {O(n)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in, Arg_1: Arg_0 {O(n)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop, Arg_0: min([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop, Arg_1: min([255, min([0, Arg_0])]) {O(n)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin, Arg_0: Arg_0 {O(n)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin, Arg_1: Arg_1 {O(n)} 6.83/3.00 6.83/3.00 `Upper: 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 8: evalfbb1in->evalfbb3in, Arg_1: 255 {O(1)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in, Arg_0: 0 {O(1)} 6.83/3.00 6.83/3.00 9: evalfbb2in->evalfbb3in, Arg_1: 253 {O(1)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 2: evalfbb3in->evalfbbin, Arg_1: 254 {O(1)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 3: evalfbb3in->evalfreturnin, Arg_1: 0 {O(1)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 4: evalfbb3in->evalfreturnin, Arg_1: max([255, Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in, Arg_0: -1 {O(1)} 6.83/3.00 6.83/3.00 5: evalfbbin->evalfbb1in, Arg_1: 254 {O(1)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 6: evalfbbin->evalfbb1in, Arg_1: 254 {O(1)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in, Arg_0: 0 {O(1)} 6.83/3.00 6.83/3.00 7: evalfbbin->evalfbb2in, Arg_1: 254 {O(1)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in, Arg_0: Arg_1 {O(n)} 6.83/3.00 6.83/3.00 1: evalfentryin->evalfbb3in, Arg_1: Arg_0 {O(n)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop, Arg_0: max([0, Arg_1]) {O(n)} 6.83/3.00 6.83/3.00 10: evalfreturnin->evalfstop, Arg_1: max([255, Arg_0]) {O(n)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin, Arg_0: Arg_0 {O(n)} 6.83/3.00 6.83/3.00 0: evalfstart->evalfentryin, Arg_1: Arg_1 {O(n)} 6.83/3.00 6.83/3.00 6.83/3.00 ---------------------------------------- 6.83/3.00 6.83/3.00 (2) 6.83/3.00 BOUNDS(1, max(5 + -16948680941280 * Arg_0 + 4304981706793560 * Arg_1, 5) + nat(-4253917943760 * Arg_0 + -1080511905423480 * Arg_1) + nat(32967930 * Arg_0) + nat(510 + -2 * Arg_0) + nat(-1012 * Arg_0 + 257049 * Arg_1) + nat(-254 * Arg_0 + -64517 * Arg_1)) 6.93/3.02 EOF