12.74/9.47 WORST_CASE(Omega(n^1), O(n^2)) 12.74/9.48 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 12.74/9.48 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.74/9.48 12.74/9.48 12.74/9.48 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, max(10 + 2 * Arg_2, 10) + nat(Arg_2^2) + nat(4 * Arg_2) + max(2, 2 + Arg_2) + nat(1 + 4 * Arg_2) + nat(Arg_2^2) * nat(Arg_2) + nat(Arg_2)^2). 12.74/9.48 12.74/9.48 (0) CpxIntTrs 12.74/9.48 (1) Loat Proof [FINISHED, 1117 ms] 12.74/9.48 (2) BOUNDS(n^1, INF) 12.74/9.48 12.74/9.48 12.74/9.48 ---------------------------------------- 12.74/9.48 12.74/9.48 (0) 12.74/9.48 Obligation: 12.74/9.48 Complexity Int TRS consisting of the following rules: 12.74/9.48 eval_foo_start(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb0_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_bb0_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_0(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_0(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_1(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_1(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_2(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_2(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_3(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_3(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_4(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_4(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_5(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_5(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_6(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_6(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_7(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_7(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb1_in(v_1, v_2, v_3, v_n, v_p_0, 0, v_n)) :|: TRUE 12.74/9.48 eval_foo_bb1_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb2_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: v_x_0 > 0 12.74/9.48 eval_foo_bb1_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb5_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: v_x_0 <= 0 12.74/9.48 eval_foo_bb2_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_10(v_x_0 - 1, v_r_0 + 1, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_10(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_11(v_1, v_2, nondef_0, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_11(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb3_in(v_1, v_2, v_3, v_n, v_2, v_r_0, v_x_0)) :|: v_3 > 0 12.74/9.48 eval_foo_11(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb1_in(v_1, v_2, v_3, v_n, v_p_0, v_2, v_1)) :|: v_3 <= 0 12.74/9.48 eval_foo_bb3_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb4_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: v_p_0 > 0 12.74/9.48 eval_foo_bb3_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb1_in(v_1, v_2, v_3, v_n, v_p_0, 0, v_1)) :|: v_p_0 <= 0 12.74/9.48 eval_foo_bb4_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_bb3_in(v_1, v_2, v_3, v_n, v_p_0 - 1, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 eval_foo_bb5_in(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0) -> Com_1(eval_foo_stop(v_1, v_2, v_3, v_n, v_p_0, v_r_0, v_x_0)) :|: TRUE 12.74/9.48 12.74/9.48 The start-symbols are:[eval_foo_start_7] 12.74/9.48 12.74/9.48 12.74/9.48 ---------------------------------------- 12.74/9.48 12.74/9.48 (1) Loat Proof (FINISHED) 12.74/9.48 12.74/9.48 12.74/9.48 ### Pre-processing the ITS problem ### 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Initial linear ITS problem 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 0: evalfoostart -> evalfoobb0in : [], cost: 1 12.74/9.48 12.74/9.48 1: evalfoobb0in -> evalfoo0 : [], cost: 1 12.74/9.48 12.74/9.48 2: evalfoo0 -> evalfoo1 : [], cost: 1 12.74/9.48 12.74/9.48 3: evalfoo1 -> evalfoo2 : [], cost: 1 12.74/9.48 12.74/9.48 4: evalfoo2 -> evalfoo3 : [], cost: 1 12.74/9.48 12.74/9.48 5: evalfoo3 -> evalfoo4 : [], cost: 1 12.74/9.48 12.74/9.48 6: evalfoo4 -> evalfoo5 : [], cost: 1 12.74/9.48 12.74/9.48 7: evalfoo5 -> evalfoo6 : [], cost: 1 12.74/9.48 12.74/9.48 8: evalfoo6 -> evalfoo7 : [], cost: 1 12.74/9.48 12.74/9.48 9: evalfoo7 -> evalfoobb1in : A'=0, B'=C, [], cost: 1 12.74/9.48 12.74/9.48 10: evalfoobb1in -> evalfoobb2in : [ B>=1 ], cost: 1 12.74/9.48 12.74/9.48 11: evalfoobb1in -> evalfoobb5in : [ 0>=B ], cost: 1 12.74/9.48 12.74/9.48 12: evalfoobb2in -> evalfoo10 : D'=-1+B, E'=1+A, [], cost: 1 12.74/9.48 12.74/9.48 13: evalfoo10 -> evalfoo11 : F'=free, [], cost: 1 12.74/9.48 12.74/9.48 14: evalfoo11 -> evalfoobb3in : G'=E, [ F>=1 ], cost: 1 12.74/9.48 12.74/9.48 15: evalfoo11 -> evalfoobb1in : A'=E, B'=D, [ 0>=F ], cost: 1 12.74/9.48 12.74/9.48 16: evalfoobb3in -> evalfoobb4in : [ G>=1 ], cost: 1 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 18: evalfoobb4in -> evalfoobb3in : G'=-1+G, [], cost: 1 12.74/9.48 12.74/9.48 19: evalfoobb5in -> evalfoostop : [], cost: 1 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Removed unreachable and leaf rules: 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 0: evalfoostart -> evalfoobb0in : [], cost: 1 12.74/9.48 12.74/9.48 1: evalfoobb0in -> evalfoo0 : [], cost: 1 12.74/9.48 12.74/9.48 2: evalfoo0 -> evalfoo1 : [], cost: 1 12.74/9.48 12.74/9.48 3: evalfoo1 -> evalfoo2 : [], cost: 1 12.74/9.48 12.74/9.48 4: evalfoo2 -> evalfoo3 : [], cost: 1 12.74/9.48 12.74/9.48 5: evalfoo3 -> evalfoo4 : [], cost: 1 12.74/9.48 12.74/9.48 6: evalfoo4 -> evalfoo5 : [], cost: 1 12.74/9.48 12.74/9.48 7: evalfoo5 -> evalfoo6 : [], cost: 1 12.74/9.48 12.74/9.48 8: evalfoo6 -> evalfoo7 : [], cost: 1 12.74/9.48 12.74/9.48 9: evalfoo7 -> evalfoobb1in : A'=0, B'=C, [], cost: 1 12.74/9.48 12.74/9.48 10: evalfoobb1in -> evalfoobb2in : [ B>=1 ], cost: 1 12.74/9.48 12.74/9.48 12: evalfoobb2in -> evalfoo10 : D'=-1+B, E'=1+A, [], cost: 1 12.74/9.48 12.74/9.48 13: evalfoo10 -> evalfoo11 : F'=free, [], cost: 1 12.74/9.48 12.74/9.48 14: evalfoo11 -> evalfoobb3in : G'=E, [ F>=1 ], cost: 1 12.74/9.48 12.74/9.48 15: evalfoo11 -> evalfoobb1in : A'=E, B'=D, [ 0>=F ], cost: 1 12.74/9.48 12.74/9.48 16: evalfoobb3in -> evalfoobb4in : [ G>=1 ], cost: 1 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 18: evalfoobb4in -> evalfoobb3in : G'=-1+G, [], cost: 1 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 ### Simplification by acceleration and chaining ### 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Eliminated locations (on linear paths): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 30: evalfoobb1in -> evalfoo11 : D'=-1+B, E'=1+A, F'=free, [ B>=1 ], cost: 3 12.74/9.48 12.74/9.48 14: evalfoo11 -> evalfoobb3in : G'=E, [ F>=1 ], cost: 1 12.74/9.48 12.74/9.48 15: evalfoo11 -> evalfoobb1in : A'=E, B'=D, [ 0>=F ], cost: 1 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 31: evalfoobb3in -> evalfoobb3in : G'=-1+G, [ G>=1 ], cost: 2 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerating simple loops of location 14. 12.74/9.48 12.74/9.48 Accelerating the following rules: 12.74/9.48 12.74/9.48 31: evalfoobb3in -> evalfoobb3in : G'=-1+G, [ G>=1 ], cost: 2 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerated rule 31 with metering function G, yielding the new rule 32. 12.74/9.48 12.74/9.48 Removing the simple loops: 31. 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerated all simple loops using metering functions (where possible): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 30: evalfoobb1in -> evalfoo11 : D'=-1+B, E'=1+A, F'=free, [ B>=1 ], cost: 3 12.74/9.48 12.74/9.48 14: evalfoo11 -> evalfoobb3in : G'=E, [ F>=1 ], cost: 1 12.74/9.48 12.74/9.48 15: evalfoo11 -> evalfoobb1in : A'=E, B'=D, [ 0>=F ], cost: 1 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 32: evalfoobb3in -> evalfoobb3in : G'=0, [ G>=1 ], cost: 2*G 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Chained accelerated rules (with incoming rules): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 30: evalfoobb1in -> evalfoo11 : D'=-1+B, E'=1+A, F'=free, [ B>=1 ], cost: 3 12.74/9.48 12.74/9.48 14: evalfoo11 -> evalfoobb3in : G'=E, [ F>=1 ], cost: 1 12.74/9.48 12.74/9.48 15: evalfoo11 -> evalfoobb1in : A'=E, B'=D, [ 0>=F ], cost: 1 12.74/9.48 12.74/9.48 33: evalfoo11 -> evalfoobb3in : G'=0, [ F>=1 && E>=1 ], cost: 1+2*E 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Eliminated locations (on tree-shaped paths): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 34: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 ], cost: 4 12.74/9.48 12.74/9.48 35: evalfoobb1in -> evalfoobb1in : A'=1+A, B'=-1+B, D'=-1+B, E'=1+A, F'=free, [ B>=1 && 0>=free ], cost: 4 12.74/9.48 12.74/9.48 36: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerating simple loops of location 10. 12.74/9.48 12.74/9.48 Accelerating the following rules: 12.74/9.48 12.74/9.48 35: evalfoobb1in -> evalfoobb1in : A'=1+A, B'=-1+B, D'=-1+B, E'=1+A, F'=free, [ B>=1 && 0>=free ], cost: 4 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerated rule 35 with metering function B, yielding the new rule 37. 12.74/9.48 12.74/9.48 Removing the simple loops: 35. 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerated all simple loops using metering functions (where possible): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 34: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 ], cost: 4 12.74/9.48 12.74/9.48 36: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 37: evalfoobb1in -> evalfoobb1in : A'=A+B, B'=0, D'=0, E'=A+B, F'=free, [ B>=1 && 0>=free ], cost: 4*B 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Chained accelerated rules (with incoming rules): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 39: evalfoostart -> evalfoobb1in : A'=C, B'=0, D'=0, E'=C, F'=free, [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 34: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 ], cost: 4 12.74/9.48 12.74/9.48 36: evalfoobb1in -> evalfoobb3in : D'=-1+B, E'=1+A, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 17: evalfoobb3in -> evalfoobb1in : A'=0, B'=D, [ 0>=G ], cost: 1 12.74/9.48 12.74/9.48 38: evalfoobb3in -> evalfoobb1in : A'=D, B'=0, D'=0, E'=D, F'=free, [ 0>=G && D>=1 && 0>=free ], cost: 1+4*D 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Eliminated locations (on tree-shaped paths): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 39: evalfoostart -> evalfoobb1in : A'=C, B'=0, D'=0, E'=C, F'=free, [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 40: evalfoobb1in -> evalfoobb1in : A'=0, B'=-1+B, D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 && 0>=1+A ], cost: 5 12.74/9.48 12.74/9.48 41: evalfoobb1in -> evalfoobb1in : A'=0, B'=-1+B, D'=-1+B, E'=1+A, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 7+2*A 12.74/9.48 12.74/9.48 42: evalfoobb1in -> [20] : [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerating simple loops of location 10. 12.74/9.48 12.74/9.48 Accelerating the following rules: 12.74/9.48 12.74/9.48 40: evalfoobb1in -> evalfoobb1in : A'=0, B'=-1+B, D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 && 0>=1+A ], cost: 5 12.74/9.48 12.74/9.48 41: evalfoobb1in -> evalfoobb1in : A'=0, B'=-1+B, D'=-1+B, E'=1+A, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 7+2*A 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Found no metering function for rule 40. 12.74/9.48 12.74/9.48 Accelerated rule 41 with metering function B, yielding the new rule 43. 12.74/9.48 12.74/9.48 Removing the simple loops: 41. 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Accelerated all simple loops using metering functions (where possible): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 39: evalfoostart -> evalfoobb1in : A'=C, B'=0, D'=0, E'=C, F'=free, [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 40: evalfoobb1in -> evalfoobb1in : A'=0, B'=-1+B, D'=-1+B, E'=1+A, F'=free, G'=1+A, [ B>=1 && free>=1 && 0>=1+A ], cost: 5 12.74/9.48 12.74/9.48 42: evalfoobb1in -> [20] : [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 43: evalfoobb1in -> evalfoobb1in : A'=0, B'=0, D'=0, E'=1, F'=free, G'=0, [ B>=1 && free>=1 && 1+A>=1 ], cost: 7*B 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Chained accelerated rules (with incoming rules): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 28: evalfoostart -> evalfoobb1in : A'=0, B'=C, [], cost: 10 12.74/9.48 12.74/9.48 39: evalfoostart -> evalfoobb1in : A'=C, B'=0, D'=0, E'=C, F'=free, [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 44: evalfoostart -> evalfoobb1in : A'=0, B'=0, D'=0, E'=1, F'=free, G'=0, [ C>=1 && free>=1 ], cost: 10+7*C 12.74/9.48 12.74/9.48 42: evalfoobb1in -> [20] : [ B>=1 && free>=1 && 1+A>=1 ], cost: 6+2*A 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Eliminated locations (on tree-shaped paths): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 45: evalfoostart -> [20] : A'=0, B'=C, [ C>=1 && free>=1 ], cost: 16 12.74/9.48 12.74/9.48 46: evalfoostart -> [22] : [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 47: evalfoostart -> [22] : [ C>=1 && free>=1 ], cost: 10+7*C 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Applied pruning (of leafs and parallel rules): 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 46: evalfoostart -> [22] : [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 47: evalfoostart -> [22] : [ C>=1 && free>=1 ], cost: 10+7*C 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 ### Computing asymptotic complexity ### 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Fully simplified ITS problem 12.74/9.48 12.74/9.48 Start location: evalfoostart 12.74/9.48 12.74/9.48 46: evalfoostart -> [22] : [ C>=1 && 0>=free ], cost: 10+4*C 12.74/9.48 12.74/9.48 47: evalfoostart -> [22] : [ C>=1 && free>=1 ], cost: 10+7*C 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Computing asymptotic complexity for rule 46 12.74/9.48 12.74/9.48 Solved the limit problem by the following transformations: 12.74/9.48 12.74/9.48 Created initial limit problem: 12.74/9.48 12.74/9.48 1-free (+/+!), C (+/+!), 10+4*C (+) [not solved] 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 removing all constraints (solved by SMT) 12.74/9.48 12.74/9.48 resulting limit problem: [solved] 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 applying transformation rule (C) using substitution {free==0,C==n} 12.74/9.48 12.74/9.48 resulting limit problem: 12.74/9.48 12.74/9.48 [solved] 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Solution: 12.74/9.48 12.74/9.48 free / 0 12.74/9.48 12.74/9.48 C / n 12.74/9.48 12.74/9.48 Resulting cost 10+4*n has complexity: Poly(n^1) 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Found new complexity Poly(n^1). 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 Obtained the following overall complexity (w.r.t. the length of the input n): 12.74/9.48 12.74/9.48 Complexity: Poly(n^1) 12.74/9.48 12.74/9.48 Cpx degree: 1 12.74/9.48 12.74/9.48 Solved cost: 10+4*n 12.74/9.48 12.74/9.48 Rule cost: 10+4*C 12.74/9.48 12.74/9.48 Rule guard: [ C>=1 && 0>=free ] 12.74/9.48 12.74/9.48 12.74/9.48 12.74/9.48 WORST_CASE(Omega(n^1),?) 12.74/9.48 12.74/9.48 12.74/9.48 ---------------------------------------- 12.74/9.48 12.74/9.48 (2) 12.74/9.48 BOUNDS(n^1, INF) 12.90/9.50 EOF