6.79/3.14 MAYBE 6.79/3.15 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 6.79/3.15 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.79/3.15 6.79/3.15 6.79/3.15 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, INF). 6.79/3.15 6.79/3.15 (0) CpxIntTrs 6.79/3.15 (1) Loat Proof [FINISHED, 629 ms] 6.79/3.15 (2) BOUNDS(1, INF) 6.79/3.15 6.79/3.15 6.79/3.15 ---------------------------------------- 6.79/3.15 6.79/3.15 (0) 6.79/3.15 Obligation: 6.79/3.15 Complexity Int TRS consisting of the following rules: 6.79/3.15 eval_speedFails4_start(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb0_in(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_bb0_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_1(v__, v__0, nondef_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_1(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_2(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_2(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_3(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_3(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_4(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_4(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_5(1, v__0, v_0, v_n, v_x)) :|: v_0 >= 1 6.79/3.15 eval_speedFails4_4(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_5(-(1), v__0, v_0, v_n, v_x)) :|: v_0 < 1 6.79/3.15 eval_speedFails4_5(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_6(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_6(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_7(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_7(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb1_in(v__, v_x, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 eval_speedFails4_bb1_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb2_in(v__, v__0, v_0, v_n, v_x)) :|: v__0 <= v_n 6.79/3.15 eval_speedFails4_bb1_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb3_in(v__, v__0, v_0, v_n, v_x)) :|: v__0 > v_n 6.79/3.15 eval_speedFails4_bb2_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb1_in(v__, v__0 + v__, v_0, v_n, v_x)) :|: v_0 >= 1 6.79/3.15 eval_speedFails4_bb2_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_bb1_in(v__, v__0 - v__, v_0, v_n, v_x)) :|: v_0 < 1 6.79/3.15 eval_speedFails4_bb3_in(v__, v__0, v_0, v_n, v_x) -> Com_1(eval_speedFails4_stop(v__, v__0, v_0, v_n, v_x)) :|: TRUE 6.79/3.15 6.79/3.15 The start-symbols are:[eval_speedFails4_start_5] 6.79/3.15 6.79/3.15 6.79/3.15 ---------------------------------------- 6.79/3.15 6.79/3.15 (1) Loat Proof (FINISHED) 6.79/3.15 6.79/3.15 6.79/3.15 ### Pre-processing the ITS problem ### 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Initial linear ITS problem 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 0: evalspeedFails4start -> evalspeedFails4bb0in : [], cost: 1 6.79/3.15 6.79/3.15 1: evalspeedFails4bb0in -> evalspeedFails41 : A'=free, [], cost: 1 6.79/3.15 6.79/3.15 2: evalspeedFails41 -> evalspeedFails42 : [], cost: 1 6.79/3.15 6.79/3.15 3: evalspeedFails42 -> evalspeedFails43 : [], cost: 1 6.79/3.15 6.79/3.15 4: evalspeedFails43 -> evalspeedFails44 : [], cost: 1 6.79/3.15 6.79/3.15 5: evalspeedFails44 -> evalspeedFails45 : B'=1, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 6: evalspeedFails44 -> evalspeedFails45 : B'=-1, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 7: evalspeedFails45 -> evalspeedFails46 : [], cost: 1 6.79/3.15 6.79/3.15 8: evalspeedFails46 -> evalspeedFails47 : [], cost: 1 6.79/3.15 6.79/3.15 9: evalspeedFails47 -> evalspeedFails4bb1in : C'=D, [], cost: 1 6.79/3.15 6.79/3.15 10: evalspeedFails4bb1in -> evalspeedFails4bb2in : [ E>=C ], cost: 1 6.79/3.15 6.79/3.15 11: evalspeedFails4bb1in -> evalspeedFails4bb3in : [ C>=1+E ], cost: 1 6.79/3.15 6.79/3.15 12: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C+B, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 13: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C-B, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 14: evalspeedFails4bb3in -> evalspeedFails4stop : [], cost: 1 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Removed unreachable and leaf rules: 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 0: evalspeedFails4start -> evalspeedFails4bb0in : [], cost: 1 6.79/3.15 6.79/3.15 1: evalspeedFails4bb0in -> evalspeedFails41 : A'=free, [], cost: 1 6.79/3.15 6.79/3.15 2: evalspeedFails41 -> evalspeedFails42 : [], cost: 1 6.79/3.15 6.79/3.15 3: evalspeedFails42 -> evalspeedFails43 : [], cost: 1 6.79/3.15 6.79/3.15 4: evalspeedFails43 -> evalspeedFails44 : [], cost: 1 6.79/3.15 6.79/3.15 5: evalspeedFails44 -> evalspeedFails45 : B'=1, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 6: evalspeedFails44 -> evalspeedFails45 : B'=-1, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 7: evalspeedFails45 -> evalspeedFails46 : [], cost: 1 6.79/3.15 6.79/3.15 8: evalspeedFails46 -> evalspeedFails47 : [], cost: 1 6.79/3.15 6.79/3.15 9: evalspeedFails47 -> evalspeedFails4bb1in : C'=D, [], cost: 1 6.79/3.15 6.79/3.15 10: evalspeedFails4bb1in -> evalspeedFails4bb2in : [ E>=C ], cost: 1 6.79/3.15 6.79/3.15 12: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C+B, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 13: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C-B, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 ### Simplification by acceleration and chaining ### 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Eliminated locations (on linear paths): 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 18: evalspeedFails4start -> evalspeedFails44 : A'=free, [], cost: 5 6.79/3.15 6.79/3.15 5: evalspeedFails44 -> evalspeedFails45 : B'=1, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 6: evalspeedFails44 -> evalspeedFails45 : B'=-1, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 20: evalspeedFails45 -> evalspeedFails4bb1in : C'=D, [], cost: 3 6.79/3.15 6.79/3.15 10: evalspeedFails4bb1in -> evalspeedFails4bb2in : [ E>=C ], cost: 1 6.79/3.15 6.79/3.15 12: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C+B, [ A>=1 ], cost: 1 6.79/3.15 6.79/3.15 13: evalspeedFails4bb2in -> evalspeedFails4bb1in : C'=C-B, [ 0>=A ], cost: 1 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Eliminated locations (on tree-shaped paths): 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 21: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=1, [ free>=1 ], cost: 6 6.79/3.15 6.79/3.15 22: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=-1, [ 0>=free ], cost: 6 6.79/3.15 6.79/3.15 20: evalspeedFails45 -> evalspeedFails4bb1in : C'=D, [], cost: 3 6.79/3.15 6.79/3.15 23: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C+B, [ E>=C && A>=1 ], cost: 2 6.79/3.15 6.79/3.15 24: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C-B, [ E>=C && 0>=A ], cost: 2 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Accelerating simple loops of location 9. 6.79/3.15 6.79/3.15 Accelerating the following rules: 6.79/3.15 6.79/3.15 23: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C+B, [ E>=C && A>=1 ], cost: 2 6.79/3.15 6.79/3.15 24: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C-B, [ E>=C && 0>=A ], cost: 2 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Found no metering function for rule 23. 6.79/3.15 6.79/3.15 Found no metering function for rule 24. 6.79/3.15 6.79/3.15 Removing the simple loops:. 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Accelerated all simple loops using metering functions (where possible): 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 21: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=1, [ free>=1 ], cost: 6 6.79/3.15 6.79/3.15 22: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=-1, [ 0>=free ], cost: 6 6.79/3.15 6.79/3.15 20: evalspeedFails45 -> evalspeedFails4bb1in : C'=D, [], cost: 3 6.79/3.15 6.79/3.15 23: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C+B, [ E>=C && A>=1 ], cost: 2 6.79/3.15 6.79/3.15 24: evalspeedFails4bb1in -> evalspeedFails4bb1in : C'=C-B, [ E>=C && 0>=A ], cost: 2 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Chained accelerated rules (with incoming rules): 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 21: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=1, [ free>=1 ], cost: 6 6.79/3.15 6.79/3.15 22: evalspeedFails4start -> evalspeedFails45 : A'=free, B'=-1, [ 0>=free ], cost: 6 6.79/3.15 6.79/3.15 20: evalspeedFails45 -> evalspeedFails4bb1in : C'=D, [], cost: 3 6.79/3.15 6.79/3.15 25: evalspeedFails45 -> evalspeedFails4bb1in : C'=D+B, [ E>=D && A>=1 ], cost: 5 6.79/3.15 6.79/3.15 26: evalspeedFails45 -> evalspeedFails4bb1in : C'=D-B, [ E>=D && 0>=A ], cost: 5 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Removed unreachable locations (and leaf rules with constant cost): 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 ### Computing asymptotic complexity ### 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Fully simplified ITS problem 6.79/3.15 6.79/3.15 Start location: evalspeedFails4start 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 Obtained the following overall complexity (w.r.t. the length of the input n): 6.79/3.15 6.79/3.15 Complexity: Unknown 6.79/3.15 6.79/3.15 Cpx degree: ? 6.79/3.15 6.79/3.15 Solved cost: 0 6.79/3.15 6.79/3.15 Rule cost: 0 6.79/3.15 6.79/3.15 Rule guard: [] 6.79/3.15 6.79/3.15 6.79/3.15 6.79/3.15 WORST_CASE(Omega(0),?) 6.79/3.15 6.79/3.15 6.79/3.15 ---------------------------------------- 6.79/3.15 6.79/3.15 (2) 6.79/3.15 BOUNDS(1, INF) 6.79/3.18 EOF