7.86/3.71 WORST_CASE(Omega(n^1), O(n^1)) 7.86/3.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 7.86/3.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.86/3.72 7.86/3.72 7.86/3.72 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^1). 7.86/3.72 7.86/3.72 (0) CpxIntTrs 7.86/3.72 (1) Koat Proof [FINISHED, 235 ms] 7.86/3.72 (2) BOUNDS(1, n^1) 7.86/3.72 (3) Loat Proof [FINISHED, 2143 ms] 7.86/3.72 (4) BOUNDS(n^1, INF) 7.86/3.72 7.86/3.72 7.86/3.72 ---------------------------------------- 7.86/3.72 7.86/3.72 (0) 7.86/3.72 Obligation: 7.86/3.72 Complexity Int TRS consisting of the following rules: 7.86/3.72 eval_wcet0_start(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb0_in(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.86/3.72 eval_wcet0_bb0_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_0(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.86/3.72 eval_wcet0_0(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_1(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.86/3.72 eval_wcet0_1(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_2(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.86/3.72 eval_wcet0_2(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_3(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.96/3.72 eval_wcet0_3(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb1_in(v_1, v_n, 0, v_j_3, v_n)) :|: v_n >= 1 7.96/3.72 eval_wcet0_3(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb5_in(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: v_n < 1 7.96/3.72 eval_wcet0_bb1_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_4(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.96/3.72 eval_wcet0_4(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_5(nondef_0, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.96/3.72 eval_wcet0_5(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb2_in(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: v_1 > 0 7.96/3.72 eval_wcet0_5(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb3_in(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: v_1 <= 0 7.96/3.72 eval_wcet0_bb2_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, 0, v_n)) :|: v_j_0 + 1 >= v_n 7.96/3.72 eval_wcet0_bb2_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, v_j_0 + 1, v_n)) :|: v_j_0 + 1 < v_n 7.96/3.72 eval_wcet0_bb3_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, 0, v_n)) :|: v_j_0 - 1 <= -(v_n) 7.96/3.72 eval_wcet0_bb3_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, v_j_0 - 1, v_n)) :|: v_j_0 - 1 > -(v_n) 7.96/3.72 eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb1_in(v_1, v_i_0 - 1, v_j_3, v_j_3, v_n)) :|: v_i_0 - 1 > 0 7.96/3.72 eval_wcet0_bb4_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_bb5_in(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: v_i_0 - 1 <= 0 7.96/3.72 eval_wcet0_bb5_in(v_1, v_i_0, v_j_0, v_j_3, v_n) -> Com_1(eval_wcet0_stop(v_1, v_i_0, v_j_0, v_j_3, v_n)) :|: TRUE 7.96/3.72 7.96/3.72 The start-symbols are:[eval_wcet0_start_5] 7.96/3.72 7.96/3.72 7.96/3.72 ---------------------------------------- 7.96/3.72 7.96/3.72 (1) Koat Proof (FINISHED) 7.96/3.72 YES(?, 9*ar_0 + 19) 7.96/3.72 7.96/3.72 7.96/3.72 7.96/3.72 Initial complexity problem: 7.96/3.72 7.96/3.72 1: T: 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.96/3.72 7.96/3.72 start location: koat_start 7.96/3.72 7.96/3.72 leaf cost: 0 7.96/3.72 7.96/3.72 7.96/3.72 7.96/3.72 Repeatedly propagating knowledge in problem 1 produces the following problem: 7.96/3.72 7.96/3.72 2: T: 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ] 7.96/3.72 7.96/3.72 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.72 7.96/3.72 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.96/3.73 7.96/3.73 start location: koat_start 7.96/3.73 7.96/3.73 leaf cost: 0 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 A polynomial rank function with 7.96/3.73 7.96/3.73 Pol(evalwcet0start) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb0in) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet00) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet01) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet02) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet03) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb1in) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb5in) = 1 7.96/3.73 7.96/3.73 Pol(evalwcet04) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet05) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb2in) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb3in) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb4in) = 2 7.96/3.73 7.96/3.73 Pol(evalwcet0stop) = 0 7.96/3.73 7.96/3.73 Pol(koat_start) = 2 7.96/3.73 7.96/3.73 orients all transitions weakly and the transitions 7.96/3.73 7.96/3.73 evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.73 7.96/3.73 strictly and produces the following problem: 7.96/3.73 7.96/3.73 3: T: 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.96/3.73 7.96/3.73 start location: koat_start 7.96/3.73 7.96/3.73 leaf cost: 0 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 A polynomial rank function with 7.96/3.73 7.96/3.73 Pol(evalwcet0bb4in) = V_2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb1in) = V_2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb3in) = V_2 7.96/3.73 7.96/3.73 Pol(evalwcet0bb2in) = V_2 7.96/3.73 7.96/3.73 Pol(evalwcet04) = V_2 7.96/3.73 7.96/3.73 Pol(evalwcet05) = V_2 7.96/3.73 7.96/3.73 and size complexities 7.96/3.73 7.96/3.73 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_0 + ar_1 7.96/3.73 7.96/3.73 S("evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ]", 0-4) = 0 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ]", 0-4) = 0 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ]", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ]", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ]", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4))", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4))", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4))", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4))", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ? 7.96/3.73 7.96/3.73 S("evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ? 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ]", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ]", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ]", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ]", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ]", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ]", 0-1) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ]", 0-2) = 0 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ]", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ]", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.96/3.73 7.96/3.73 S("evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.96/3.73 7.96/3.73 S("evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.96/3.73 7.96/3.73 S("evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.96/3.73 7.96/3.73 S("evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.96/3.73 7.96/3.73 S("evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.96/3.73 7.96/3.73 orients the transitions 7.96/3.73 7.96/3.73 evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.73 7.96/3.73 evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.73 7.96/3.73 evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.73 7.96/3.73 evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.73 7.96/3.73 evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.73 7.96/3.73 evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.73 7.96/3.73 evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.73 7.96/3.73 weakly and the transition 7.96/3.73 7.96/3.73 evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 strictly and produces the following problem: 7.96/3.73 7.96/3.73 4: T: 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.73 7.96/3.73 (Comp: ?, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: ar_0, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.96/3.73 7.96/3.73 start location: koat_start 7.96/3.73 7.96/3.73 leaf cost: 0 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Repeatedly propagating knowledge in problem 4 produces the following problem: 7.96/3.73 7.96/3.73 5: T: 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet0bb0in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet00(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet01(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet02(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_0, 0, ar_3, ar_4)) [ ar_0 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 1) evalwcet03(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet0bb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet04(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet05(ar_0, ar_1, ar_2, f, ar_4)) 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= 1 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet05(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 >= ar_3 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ ar_2 + 1 >= ar_0 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet0bb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 + 1)) [ ar_0 >= ar_2 + 2 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, 0)) [ 1 >= ar_0 + ar_2 ] 7.96/3.73 7.96/3.73 (Comp: ar_0 + 1, Cost: 1) evalwcet0bb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_2 - 1)) [ ar_2 + ar_0 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: ar_0, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb1in(ar_0, ar_1 - 1, ar_4, ar_3, ar_4)) [ ar_1 >= 2 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb4in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 1 >= ar_1 ] 7.96/3.73 7.96/3.73 (Comp: 2, Cost: 1) evalwcet0bb5in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0stop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.96/3.73 7.96/3.73 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalwcet0start(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.96/3.73 7.96/3.73 start location: koat_start 7.96/3.73 7.96/3.73 leaf cost: 0 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Complexity upper bound 9*ar_0 + 19 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Time: 0.215 sec (SMT: 0.159 sec) 7.96/3.73 7.96/3.73 7.96/3.73 ---------------------------------------- 7.96/3.73 7.96/3.73 (2) 7.96/3.73 BOUNDS(1, n^1) 7.96/3.73 7.96/3.73 ---------------------------------------- 7.96/3.73 7.96/3.73 (3) Loat Proof (FINISHED) 7.96/3.73 7.96/3.73 7.96/3.73 ### Pre-processing the ITS problem ### 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Initial linear ITS problem 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 0: evalwcet0start -> evalwcet0bb0in : [], cost: 1 7.96/3.73 7.96/3.73 1: evalwcet0bb0in -> evalwcet00 : [], cost: 1 7.96/3.73 7.96/3.73 2: evalwcet00 -> evalwcet01 : [], cost: 1 7.96/3.73 7.96/3.73 3: evalwcet01 -> evalwcet02 : [], cost: 1 7.96/3.73 7.96/3.73 4: evalwcet02 -> evalwcet03 : [], cost: 1 7.96/3.73 7.96/3.73 5: evalwcet03 -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 1 7.96/3.73 7.96/3.73 6: evalwcet03 -> evalwcet0bb5in : [ 0>=A ], cost: 1 7.96/3.73 7.96/3.73 7: evalwcet0bb1in -> evalwcet04 : [], cost: 1 7.96/3.73 7.96/3.73 8: evalwcet04 -> evalwcet05 : D'=free, [], cost: 1 7.96/3.73 7.96/3.73 9: evalwcet05 -> evalwcet0bb2in : [ D>=1 ], cost: 1 7.96/3.73 7.96/3.73 10: evalwcet05 -> evalwcet0bb3in : [ 0>=D ], cost: 1 7.96/3.73 7.96/3.73 11: evalwcet0bb2in -> evalwcet0bb4in : E'=0, [ 1+C>=A ], cost: 1 7.96/3.73 7.96/3.73 12: evalwcet0bb2in -> evalwcet0bb4in : E'=1+C, [ A>=2+C ], cost: 1 7.96/3.73 7.96/3.73 13: evalwcet0bb3in -> evalwcet0bb4in : E'=0, [ 1>=C+A ], cost: 1 7.96/3.73 7.96/3.73 14: evalwcet0bb3in -> evalwcet0bb4in : E'=-1+C, [ C+A>=2 ], cost: 1 7.96/3.73 7.96/3.73 15: evalwcet0bb4in -> evalwcet0bb1in : B'=-1+B, C'=E, [ B>=2 ], cost: 1 7.96/3.73 7.96/3.73 16: evalwcet0bb4in -> evalwcet0bb5in : [ 1>=B ], cost: 1 7.96/3.73 7.96/3.73 17: evalwcet0bb5in -> evalwcet0stop : [], cost: 1 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Removed unreachable and leaf rules: 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 0: evalwcet0start -> evalwcet0bb0in : [], cost: 1 7.96/3.73 7.96/3.73 1: evalwcet0bb0in -> evalwcet00 : [], cost: 1 7.96/3.73 7.96/3.73 2: evalwcet00 -> evalwcet01 : [], cost: 1 7.96/3.73 7.96/3.73 3: evalwcet01 -> evalwcet02 : [], cost: 1 7.96/3.73 7.96/3.73 4: evalwcet02 -> evalwcet03 : [], cost: 1 7.96/3.73 7.96/3.73 5: evalwcet03 -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 1 7.96/3.73 7.96/3.73 7: evalwcet0bb1in -> evalwcet04 : [], cost: 1 7.96/3.73 7.96/3.73 8: evalwcet04 -> evalwcet05 : D'=free, [], cost: 1 7.96/3.73 7.96/3.73 9: evalwcet05 -> evalwcet0bb2in : [ D>=1 ], cost: 1 7.96/3.73 7.96/3.73 10: evalwcet05 -> evalwcet0bb3in : [ 0>=D ], cost: 1 7.96/3.73 7.96/3.73 11: evalwcet0bb2in -> evalwcet0bb4in : E'=0, [ 1+C>=A ], cost: 1 7.96/3.73 7.96/3.73 12: evalwcet0bb2in -> evalwcet0bb4in : E'=1+C, [ A>=2+C ], cost: 1 7.96/3.73 7.96/3.73 13: evalwcet0bb3in -> evalwcet0bb4in : E'=0, [ 1>=C+A ], cost: 1 7.96/3.73 7.96/3.73 14: evalwcet0bb3in -> evalwcet0bb4in : E'=-1+C, [ C+A>=2 ], cost: 1 7.96/3.73 7.96/3.73 15: evalwcet0bb4in -> evalwcet0bb1in : B'=-1+B, C'=E, [ B>=2 ], cost: 1 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 ### Simplification by acceleration and chaining ### 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Eliminated locations (on linear paths): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 23: evalwcet0bb1in -> evalwcet05 : D'=free, [], cost: 2 7.96/3.73 7.96/3.73 9: evalwcet05 -> evalwcet0bb2in : [ D>=1 ], cost: 1 7.96/3.73 7.96/3.73 10: evalwcet05 -> evalwcet0bb3in : [ 0>=D ], cost: 1 7.96/3.73 7.96/3.73 11: evalwcet0bb2in -> evalwcet0bb4in : E'=0, [ 1+C>=A ], cost: 1 7.96/3.73 7.96/3.73 12: evalwcet0bb2in -> evalwcet0bb4in : E'=1+C, [ A>=2+C ], cost: 1 7.96/3.73 7.96/3.73 13: evalwcet0bb3in -> evalwcet0bb4in : E'=0, [ 1>=C+A ], cost: 1 7.96/3.73 7.96/3.73 14: evalwcet0bb3in -> evalwcet0bb4in : E'=-1+C, [ C+A>=2 ], cost: 1 7.96/3.73 7.96/3.73 15: evalwcet0bb4in -> evalwcet0bb1in : B'=-1+B, C'=E, [ B>=2 ], cost: 1 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Eliminated locations (on tree-shaped paths): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 24: evalwcet0bb1in -> evalwcet0bb2in : D'=free, [ free>=1 ], cost: 3 7.96/3.73 7.96/3.73 25: evalwcet0bb1in -> evalwcet0bb3in : D'=free, [ 0>=free ], cost: 3 7.96/3.73 7.96/3.73 11: evalwcet0bb2in -> evalwcet0bb4in : E'=0, [ 1+C>=A ], cost: 1 7.96/3.73 7.96/3.73 12: evalwcet0bb2in -> evalwcet0bb4in : E'=1+C, [ A>=2+C ], cost: 1 7.96/3.73 7.96/3.73 13: evalwcet0bb3in -> evalwcet0bb4in : E'=0, [ 1>=C+A ], cost: 1 7.96/3.73 7.96/3.73 14: evalwcet0bb3in -> evalwcet0bb4in : E'=-1+C, [ C+A>=2 ], cost: 1 7.96/3.73 7.96/3.73 15: evalwcet0bb4in -> evalwcet0bb1in : B'=-1+B, C'=E, [ B>=2 ], cost: 1 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Eliminated locations (on tree-shaped paths): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 26: evalwcet0bb1in -> evalwcet0bb4in : D'=free, E'=0, [ free>=1 && 1+C>=A ], cost: 4 7.96/3.73 7.96/3.73 27: evalwcet0bb1in -> evalwcet0bb4in : D'=free, E'=1+C, [ free>=1 && A>=2+C ], cost: 4 7.96/3.73 7.96/3.73 28: evalwcet0bb1in -> evalwcet0bb4in : D'=free, E'=0, [ 0>=free && 1>=C+A ], cost: 4 7.96/3.73 7.96/3.73 29: evalwcet0bb1in -> evalwcet0bb4in : D'=free, E'=-1+C, [ 0>=free && C+A>=2 ], cost: 4 7.96/3.73 7.96/3.73 15: evalwcet0bb4in -> evalwcet0bb1in : B'=-1+B, C'=E, [ B>=2 ], cost: 1 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Eliminated locations (on tree-shaped paths): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 30: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ free>=1 && 1+C>=A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 31: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=1+C, D'=free, E'=1+C, [ free>=1 && A>=2+C && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 32: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ 0>=free && 1>=C+A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 33: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=-1+C, D'=free, E'=-1+C, [ 0>=free && C+A>=2 && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Accelerating simple loops of location 6. 7.96/3.73 7.96/3.73 Accelerating the following rules: 7.96/3.73 7.96/3.73 30: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ free>=1 && 1+C>=A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 31: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=1+C, D'=free, E'=1+C, [ free>=1 && A>=2+C && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 32: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ 0>=free && 1>=C+A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 33: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=-1+C, D'=free, E'=-1+C, [ 0>=free && C+A>=2 && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Accelerated rule 30 with metering function -1+B (after strengthening guard), yielding the new rule 34. 7.96/3.73 7.96/3.73 Accelerated rule 31 with backward acceleration, yielding the new rule 35. 7.96/3.73 7.96/3.73 Accelerated rule 31 with backward acceleration, yielding the new rule 36. 7.96/3.73 7.96/3.73 Accelerated rule 32 with metering function -1+B (after strengthening guard), yielding the new rule 37. 7.96/3.73 7.96/3.73 Accelerated rule 33 with backward acceleration, yielding the new rule 38. 7.96/3.73 7.96/3.73 Accelerated rule 33 with backward acceleration, yielding the new rule 39. 7.96/3.73 7.96/3.73 Removing the simple loops: 31 33. 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Accelerated all simple loops using metering functions (where possible): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 30: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ free>=1 && 1+C>=A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 32: evalwcet0bb1in -> evalwcet0bb1in : B'=-1+B, C'=0, D'=free, E'=0, [ 0>=free && 1>=C+A && B>=2 ], cost: 5 7.96/3.73 7.96/3.73 34: evalwcet0bb1in -> evalwcet0bb1in : B'=1, C'=0, D'=free, E'=0, [ free>=1 && 1+C>=A && B>=2 && 1>=A ], cost: -5+5*B 7.96/3.73 7.96/3.73 35: evalwcet0bb1in -> evalwcet0bb1in : B'=1+C-A+B, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2+C && B>=2 && 2+C-A+B>=2 ], cost: -5-5*C+5*A 7.96/3.73 7.96/3.73 36: evalwcet0bb1in -> evalwcet0bb1in : B'=1, C'=-1+C+B, D'=free, E'=-1+C+B, [ free>=1 && A>=2+C && B>=2 && A>=C+B ], cost: -5+5*B 7.96/3.73 7.96/3.73 37: evalwcet0bb1in -> evalwcet0bb1in : B'=1, C'=0, D'=free, E'=0, [ 0>=free && 1>=C+A && B>=2 && 1>=A ], cost: -5+5*B 7.96/3.73 7.96/3.73 38: evalwcet0bb1in -> evalwcet0bb1in : B'=1-C-A+B, C'=1-A, D'=free, E'=1-A, [ 0>=free && C+A>=2 && B>=2 && 2-C-A+B>=2 ], cost: -5+5*C+5*A 7.96/3.73 7.96/3.73 39: evalwcet0bb1in -> evalwcet0bb1in : B'=1, C'=1+C-B, D'=free, E'=1+C-B, [ 0>=free && C+A>=2 && B>=2 && 2+C+A-B>=2 ], cost: -5+5*B 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Chained accelerated rules (with incoming rules): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 22: evalwcet0start -> evalwcet0bb1in : B'=A, C'=0, [ A>=1 ], cost: 6 7.96/3.73 7.96/3.73 40: evalwcet0start -> evalwcet0bb1in : B'=1, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 41: evalwcet0start -> evalwcet0bb1in : B'=1, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 42: evalwcet0start -> evalwcet0bb1in : B'=1, C'=1-A, D'=free, E'=1-A, [ 0>=free && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 43: evalwcet0start -> evalwcet0bb1in : B'=1, C'=1-A, D'=free, E'=1-A, [ 0>=free && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Removed unreachable locations (and leaf rules with constant cost): 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 40: evalwcet0start -> evalwcet0bb1in : B'=1, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 41: evalwcet0start -> evalwcet0bb1in : B'=1, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 42: evalwcet0start -> evalwcet0bb1in : B'=1, C'=1-A, D'=free, E'=1-A, [ 0>=free && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 43: evalwcet0start -> evalwcet0bb1in : B'=1, C'=1-A, D'=free, E'=1-A, [ 0>=free && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 ### Computing asymptotic complexity ### 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Fully simplified ITS problem 7.96/3.73 7.96/3.73 Start location: evalwcet0start 7.96/3.73 7.96/3.73 41: evalwcet0start -> evalwcet0bb1in : B'=1, C'=-1+A, D'=free, E'=-1+A, [ free>=1 && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 43: evalwcet0start -> evalwcet0bb1in : B'=1, C'=1-A, D'=free, E'=1-A, [ 0>=free && A>=2 ], cost: 1+5*A 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Computing asymptotic complexity for rule 41 7.96/3.73 7.96/3.73 Solved the limit problem by the following transformations: 7.96/3.73 7.96/3.73 Created initial limit problem: 7.96/3.73 7.96/3.73 -1+A (+/+!), 1+5*A (+), free (+/+!) [not solved] 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 removing all constraints (solved by SMT) 7.96/3.73 7.96/3.73 resulting limit problem: [solved] 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 applying transformation rule (C) using substitution {free==n,A==n} 7.96/3.73 7.96/3.73 resulting limit problem: 7.96/3.73 7.96/3.73 [solved] 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Solution: 7.96/3.73 7.96/3.73 free / n 7.96/3.73 7.96/3.73 A / n 7.96/3.73 7.96/3.73 Resulting cost 1+5*n has complexity: Poly(n^1) 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Found new complexity Poly(n^1). 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 Obtained the following overall complexity (w.r.t. the length of the input n): 7.96/3.73 7.96/3.73 Complexity: Poly(n^1) 7.96/3.73 7.96/3.73 Cpx degree: 1 7.96/3.73 7.96/3.73 Solved cost: 1+5*n 7.96/3.73 7.96/3.73 Rule cost: 1+5*A 7.96/3.73 7.96/3.73 Rule guard: [ free>=1 && A>=2 ] 7.96/3.73 7.96/3.73 7.96/3.73 7.96/3.73 WORST_CASE(Omega(n^1),?) 7.96/3.73 7.96/3.73 7.96/3.73 ---------------------------------------- 7.96/3.73 7.96/3.73 (4) 7.96/3.73 BOUNDS(n^1, INF) 7.98/3.76 EOF