5.66/2.55 WORST_CASE(Omega(n^1), O(n^2)) 5.66/2.56 proof of /export/starexec/sandbox2/benchmark/theBenchmark.koat 5.66/2.56 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.66/2.56 5.66/2.56 5.66/2.56 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^2). 5.66/2.56 5.66/2.56 (0) CpxIntTrs 5.66/2.56 (1) Koat Proof [FINISHED, 932 ms] 5.66/2.56 (2) BOUNDS(1, n^2) 5.66/2.56 (3) Loat Proof [FINISHED, 537 ms] 5.66/2.56 (4) BOUNDS(n^1, INF) 5.66/2.56 5.66/2.56 5.66/2.56 ---------------------------------------- 5.66/2.56 5.66/2.56 (0) 5.66/2.56 Obligation: 5.66/2.56 Complexity Int TRS consisting of the following rules: 5.66/2.56 evalrsdstart(A, B, C) -> Com_1(evalrsdentryin(A, B, C)) :|: TRUE 5.66/2.56 evalrsdentryin(A, B, C) -> Com_1(evalrsdbbin(A, B, C)) :|: A >= 0 5.66/2.56 evalrsdentryin(A, B, C) -> Com_1(evalrsdreturnin(A, B, C)) :|: 0 >= A + 1 5.66/2.56 evalrsdbbin(A, B, C) -> Com_1(evalrsdbb4in(A, 2 * A, 2 * A)) :|: TRUE 5.66/2.56 evalrsdbb4in(A, B, C) -> Com_1(evalrsdbb1in(A, B, C)) :|: C >= A 5.66/2.56 evalrsdbb4in(A, B, C) -> Com_1(evalrsdreturnin(A, B, C)) :|: A >= C + 1 5.66/2.56 evalrsdbb1in(A, B, C) -> Com_1(evalrsdbb2in(A, B, C)) :|: 0 >= D + 1 5.66/2.56 evalrsdbb1in(A, B, C) -> Com_1(evalrsdbb2in(A, B, C)) :|: D >= 1 5.66/2.56 evalrsdbb1in(A, B, C) -> Com_1(evalrsdbb3in(A, B, C)) :|: TRUE 5.66/2.56 evalrsdbb2in(A, B, C) -> Com_1(evalrsdbb4in(A, B, C - 1)) :|: TRUE 5.66/2.56 evalrsdbb3in(A, B, C) -> Com_1(evalrsdbb4in(A, B - 1, B - 1)) :|: TRUE 5.66/2.56 evalrsdreturnin(A, B, C) -> Com_1(evalrsdstop(A, B, C)) :|: TRUE 5.66/2.56 5.66/2.56 The start-symbols are:[evalrsdstart_3] 5.66/2.56 5.66/2.56 5.66/2.56 ---------------------------------------- 5.66/2.56 5.66/2.56 (1) Koat Proof (FINISHED) 5.66/2.56 YES(?, 36*ar_0 + 40*ar_0^2 + 19) 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Initial complexity problem: 5.66/2.56 5.66/2.56 1: T: 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Repeatedly propagating knowledge in problem 1 produces the following problem: 5.66/2.56 5.66/2.56 2: T: 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 A polynomial rank function with 5.66/2.56 5.66/2.56 Pol(evalrsdstart) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdentryin) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdbbin) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdreturnin) = 1 5.66/2.56 5.66/2.56 Pol(evalrsdbb4in) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdbb1in) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdbb2in) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdbb3in) = 2 5.66/2.56 5.66/2.56 Pol(evalrsdstop) = 0 5.66/2.56 5.66/2.56 Pol(koat_start) = 2 5.66/2.56 5.66/2.56 orients all transitions weakly and the transitions 5.66/2.56 5.66/2.56 evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 strictly and produces the following problem: 5.66/2.56 5.66/2.56 3: T: 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Applied AI with 'oct' on problem 3 to obtain the following invariants: 5.66/2.56 5.66/2.56 For symbol evalrsdbb1in: X_3 >= 0 /\ X_1 + X_3 >= 0 /\ -X_1 + X_3 >= 0 /\ X_1 >= 0 5.66/2.56 5.66/2.56 For symbol evalrsdbb2in: X_3 >= 0 /\ X_1 + X_3 >= 0 /\ -X_1 + X_3 >= 0 /\ X_1 >= 0 5.66/2.56 5.66/2.56 For symbol evalrsdbb3in: X_3 >= 0 /\ X_1 + X_3 >= 0 /\ -X_1 + X_3 >= 0 /\ X_1 >= 0 5.66/2.56 5.66/2.56 For symbol evalrsdbb4in: X_1 >= 0 5.66/2.56 5.66/2.56 For symbol evalrsdbbin: X_1 >= 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 This yielded the following problem: 5.66/2.56 5.66/2.56 4: T: 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 By chaining the transition koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] with all transitions in problem 4, the following new transition is obtained: 5.66/2.56 5.66/2.56 koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 5: T: 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Testing for reachability in the complexity graph removes the following transition from problem 5: 5.66/2.56 5.66/2.56 evalrsdstart(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 6: T: 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 By chaining the transition evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] with all transitions in problem 6, the following new transition is obtained: 5.66/2.56 5.66/2.56 evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 7: T: 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 By chaining the transition evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] with all transitions in problem 7, the following new transition is obtained: 5.66/2.56 5.66/2.56 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 8: T: 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 By chaining the transition evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb2in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] with all transitions in problem 8, the following new transition is obtained: 5.66/2.56 5.66/2.56 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 9: T: 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Testing for reachability in the complexity graph removes the following transition from problem 9: 5.66/2.56 5.66/2.56 evalrsdbb2in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 10: T: 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 By chaining the transition evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb3in(ar_0, ar_1, ar_2)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] with all transitions in problem 10, the following new transition is obtained: 5.66/2.56 5.66/2.56 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 11: T: 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.56 5.66/2.56 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.56 5.66/2.56 start location: koat_start 5.66/2.56 5.66/2.56 leaf cost: 0 5.66/2.56 5.66/2.56 5.66/2.56 5.66/2.56 Testing for reachability in the complexity graph removes the following transition from problem 11: 5.66/2.56 5.66/2.56 evalrsdbb3in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.56 5.66/2.56 We thus obtain the following problem: 5.66/2.56 5.66/2.56 12: T: 5.66/2.56 5.66/2.56 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.56 5.66/2.56 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 By chaining the transition evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 ] with all transitions in problem 12, the following new transition is obtained: 5.66/2.57 5.66/2.57 evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 13: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 By chaining the transition evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbbin(ar_0, ar_1, ar_2)) [ ar_0 >= 0 ] with all transitions in problem 13, the following new transition is obtained: 5.66/2.57 5.66/2.57 evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 14: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Testing for reachability in the complexity graph removes the following transition from problem 14: 5.66/2.57 5.66/2.57 evalrsdbbin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 15: T: 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 By chaining the transition evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdreturnin(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] with all transitions in problem 15, the following new transition is obtained: 5.66/2.57 5.66/2.57 evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 16: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 1) evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Testing for reachability in the complexity graph removes the following transition from problem 16: 5.66/2.57 5.66/2.57 evalrsdreturnin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 17: T: 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 By chaining the transition evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 ] with all transitions in problem 17, the following new transitions are obtained: 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 We thus obtain the following problem: 5.66/2.57 5.66/2.57 18: T: 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 4) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 3) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 A polynomial rank function with 5.66/2.57 5.66/2.57 Pol(evalrsdbb1in) = 1 5.66/2.57 5.66/2.57 Pol(evalrsdstop) = 0 5.66/2.57 5.66/2.57 Pol(evalrsdbb4in) = 1 5.66/2.57 5.66/2.57 Pol(evalrsdentryin) = 1 5.66/2.57 5.66/2.57 Pol(koat_start) = 1 5.66/2.57 5.66/2.57 orients all transitions weakly and the transition 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 strictly and produces the following problem: 5.66/2.57 5.66/2.57 19: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 4) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 3) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 A polynomial rank function with 5.66/2.57 5.66/2.57 Pol(evalrsdbb4in) = V_2 5.66/2.57 5.66/2.57 Pol(evalrsdbb1in) = V_2 5.66/2.57 5.66/2.57 and size complexities 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-2) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-1) = ar_1 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-2) = ar_2 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-2) = 2*ar_0 + 16 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-2) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-1) = 2*ar_0 + 2 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-2) = 2*ar_0 + 2 5.66/2.57 5.66/2.57 orients the transitions 5.66/2.57 5.66/2.57 evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 weakly and the transition 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 strictly and produces the following problem: 5.66/2.57 5.66/2.57 20: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 4) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 (Comp: 2*ar_0, Cost: 3) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: ?, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 A polynomial rank function with 5.66/2.57 5.66/2.57 Pol(evalrsdbb4in) = 2*V_3 + 2 5.66/2.57 5.66/2.57 Pol(evalrsdbb1in) = 2*V_3 + 1 5.66/2.57 5.66/2.57 and size complexities 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 5.66/2.57 5.66/2.57 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\\ 2*ar_0 >= ar_0 ]", 0-2) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-1) = ar_1 5.66/2.57 5.66/2.57 S("evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-2) = ar_2 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ 0 >= d + 1 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ d >= 1 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_2 >= ar_0 ]", 0-2) = 2*ar_0 + 8 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\\ ar_0 >= ar_2 + 1 ]", 0-2) = 2*ar_0 + 16 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-1) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_1 - 1 >= ar_0 ]", 0-2) = 2*ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-0) = ar_0 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-1) = 2*ar_0 + 2 5.66/2.57 5.66/2.57 S("evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\\ ar_0 + ar_2 >= 0 /\\ -ar_0 + ar_2 >= 0 /\\ ar_0 >= 0 /\\ ar_0 >= ar_1 ]", 0-2) = 2*ar_0 + 2 5.66/2.57 5.66/2.57 orients the transitions 5.66/2.57 5.66/2.57 evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 weakly and the transitions 5.66/2.57 5.66/2.57 evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 strictly and produces the following problem: 5.66/2.57 5.66/2.57 21: T: 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 4) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_0 >= ar_1 ] 5.66/2.57 5.66/2.57 (Comp: 2*ar_0, Cost: 3) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1 - 1, ar_1 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ ar_1 - 1 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 2, Cost: 2) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_0 >= ar_2 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 8*ar_0^2 + 6*ar_0 + 1, Cost: 1) evalrsdbb4in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, ar_1, ar_2)) [ ar_0 >= 0 /\ ar_2 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 8*ar_0^2 + 6*ar_0 + 1, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ d >= 1 ] 5.66/2.57 5.66/2.57 (Comp: 8*ar_0^2 + 6*ar_0 + 1, Cost: 2) evalrsdbb1in(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb4in(ar_0, ar_1, ar_2 - 1)) [ ar_2 >= 0 /\ ar_0 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ ar_0 >= 0 /\ 0 >= d + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 2) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdstop(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 3) evalrsdentryin(ar_0, ar_1, ar_2) -> Com_1(evalrsdbb1in(ar_0, 2*ar_0, 2*ar_0)) [ ar_0 >= 0 /\ 2*ar_0 >= ar_0 ] 5.66/2.57 5.66/2.57 (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalrsdentryin(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.66/2.57 5.66/2.57 start location: koat_start 5.66/2.57 5.66/2.57 leaf cost: 0 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Complexity upper bound 36*ar_0 + 40*ar_0^2 + 19 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Time: 0.946 sec (SMT: 0.806 sec) 5.66/2.57 5.66/2.57 5.66/2.57 ---------------------------------------- 5.66/2.57 5.66/2.57 (2) 5.66/2.57 BOUNDS(1, n^2) 5.66/2.57 5.66/2.57 ---------------------------------------- 5.66/2.57 5.66/2.57 (3) Loat Proof (FINISHED) 5.66/2.57 5.66/2.57 5.66/2.57 ### Pre-processing the ITS problem ### 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Initial linear ITS problem 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 0: evalrsdstart -> evalrsdentryin : [], cost: 1 5.66/2.57 5.66/2.57 1: evalrsdentryin -> evalrsdbbin : [ A>=0 ], cost: 1 5.66/2.57 5.66/2.57 2: evalrsdentryin -> evalrsdreturnin : [ 0>=1+A ], cost: 1 5.66/2.57 5.66/2.57 3: evalrsdbbin -> evalrsdbb4in : B'=2*A, C'=2*A, [], cost: 1 5.66/2.57 5.66/2.57 4: evalrsdbb4in -> evalrsdbb1in : [ C>=A ], cost: 1 5.66/2.57 5.66/2.57 5: evalrsdbb4in -> evalrsdreturnin : [ A>=1+C ], cost: 1 5.66/2.57 5.66/2.57 6: evalrsdbb1in -> evalrsdbb2in : [ 0>=1+free ], cost: 1 5.66/2.57 5.66/2.57 7: evalrsdbb1in -> evalrsdbb2in : [ free_1>=1 ], cost: 1 5.66/2.57 5.66/2.57 8: evalrsdbb1in -> evalrsdbb3in : [], cost: 1 5.66/2.57 5.66/2.57 9: evalrsdbb2in -> evalrsdbb4in : C'=-1+C, [], cost: 1 5.66/2.57 5.66/2.57 10: evalrsdbb3in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [], cost: 1 5.66/2.57 5.66/2.57 11: evalrsdreturnin -> evalrsdstop : [], cost: 1 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Removed unreachable and leaf rules: 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 0: evalrsdstart -> evalrsdentryin : [], cost: 1 5.66/2.57 5.66/2.57 1: evalrsdentryin -> evalrsdbbin : [ A>=0 ], cost: 1 5.66/2.57 5.66/2.57 3: evalrsdbbin -> evalrsdbb4in : B'=2*A, C'=2*A, [], cost: 1 5.66/2.57 5.66/2.57 4: evalrsdbb4in -> evalrsdbb1in : [ C>=A ], cost: 1 5.66/2.57 5.66/2.57 6: evalrsdbb1in -> evalrsdbb2in : [ 0>=1+free ], cost: 1 5.66/2.57 5.66/2.57 7: evalrsdbb1in -> evalrsdbb2in : [ free_1>=1 ], cost: 1 5.66/2.57 5.66/2.57 8: evalrsdbb1in -> evalrsdbb3in : [], cost: 1 5.66/2.57 5.66/2.57 9: evalrsdbb2in -> evalrsdbb4in : C'=-1+C, [], cost: 1 5.66/2.57 5.66/2.57 10: evalrsdbb3in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [], cost: 1 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Simplified all rules, resulting in: 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 0: evalrsdstart -> evalrsdentryin : [], cost: 1 5.66/2.57 5.66/2.57 1: evalrsdentryin -> evalrsdbbin : [ A>=0 ], cost: 1 5.66/2.57 5.66/2.57 3: evalrsdbbin -> evalrsdbb4in : B'=2*A, C'=2*A, [], cost: 1 5.66/2.57 5.66/2.57 4: evalrsdbb4in -> evalrsdbb1in : [ C>=A ], cost: 1 5.66/2.57 5.66/2.57 7: evalrsdbb1in -> evalrsdbb2in : [], cost: 1 5.66/2.57 5.66/2.57 8: evalrsdbb1in -> evalrsdbb3in : [], cost: 1 5.66/2.57 5.66/2.57 9: evalrsdbb2in -> evalrsdbb4in : C'=-1+C, [], cost: 1 5.66/2.57 5.66/2.57 10: evalrsdbb3in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [], cost: 1 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 ### Simplification by acceleration and chaining ### 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Eliminated locations (on linear paths): 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 13: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=2*A, [ A>=0 ], cost: 3 5.66/2.57 5.66/2.57 4: evalrsdbb4in -> evalrsdbb1in : [ C>=A ], cost: 1 5.66/2.57 5.66/2.57 14: evalrsdbb1in -> evalrsdbb4in : C'=-1+C, [], cost: 2 5.66/2.57 5.66/2.57 15: evalrsdbb1in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [], cost: 2 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Eliminated locations (on tree-shaped paths): 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 13: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=2*A, [ A>=0 ], cost: 3 5.66/2.57 5.66/2.57 16: evalrsdbb4in -> evalrsdbb4in : C'=-1+C, [ C>=A ], cost: 3 5.66/2.57 5.66/2.57 17: evalrsdbb4in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [ C>=A ], cost: 3 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Accelerating simple loops of location 3. 5.66/2.57 5.66/2.57 Accelerating the following rules: 5.66/2.57 5.66/2.57 16: evalrsdbb4in -> evalrsdbb4in : C'=-1+C, [ C>=A ], cost: 3 5.66/2.57 5.66/2.57 17: evalrsdbb4in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [ C>=A ], cost: 3 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Accelerated rule 16 with metering function 1+C-A, yielding the new rule 18. 5.66/2.57 5.66/2.57 Found no metering function for rule 17. 5.66/2.57 5.66/2.57 Removing the simple loops: 16. 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Accelerated all simple loops using metering functions (where possible): 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 13: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=2*A, [ A>=0 ], cost: 3 5.66/2.57 5.66/2.57 17: evalrsdbb4in -> evalrsdbb4in : B'=-1+B, C'=-1+B, [ C>=A ], cost: 3 5.66/2.57 5.66/2.57 18: evalrsdbb4in -> evalrsdbb4in : C'=-1+A, [ C>=A ], cost: 3+3*C-3*A 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Chained accelerated rules (with incoming rules): 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 13: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=2*A, [ A>=0 ], cost: 3 5.66/2.57 5.66/2.57 19: evalrsdstart -> evalrsdbb4in : B'=-1+2*A, C'=-1+2*A, [ A>=0 ], cost: 6 5.66/2.57 5.66/2.57 20: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=-1+A, [ A>=0 ], cost: 6+3*A 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Removed unreachable locations (and leaf rules with constant cost): 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 20: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=-1+A, [ A>=0 ], cost: 6+3*A 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 ### Computing asymptotic complexity ### 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Fully simplified ITS problem 5.66/2.57 5.66/2.57 Start location: evalrsdstart 5.66/2.57 5.66/2.57 20: evalrsdstart -> evalrsdbb4in : B'=2*A, C'=-1+A, [ A>=0 ], cost: 6+3*A 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Computing asymptotic complexity for rule 20 5.66/2.57 5.66/2.57 Solved the limit problem by the following transformations: 5.66/2.57 5.66/2.57 Created initial limit problem: 5.66/2.57 5.66/2.57 6+3*A (+), 1+A (+/+!) [not solved] 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 removing all constraints (solved by SMT) 5.66/2.57 5.66/2.57 resulting limit problem: [solved] 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 applying transformation rule (C) using substitution {A==n} 5.66/2.57 5.66/2.57 resulting limit problem: 5.66/2.57 5.66/2.57 [solved] 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Solution: 5.66/2.57 5.66/2.57 A / n 5.66/2.57 5.66/2.57 Resulting cost 6+3*n has complexity: Poly(n^1) 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Found new complexity Poly(n^1). 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 Obtained the following overall complexity (w.r.t. the length of the input n): 5.66/2.57 5.66/2.57 Complexity: Poly(n^1) 5.66/2.57 5.66/2.57 Cpx degree: 1 5.66/2.57 5.66/2.57 Solved cost: 6+3*n 5.66/2.57 5.66/2.57 Rule cost: 6+3*A 5.66/2.57 5.66/2.57 Rule guard: [ A>=0 ] 5.66/2.57 5.66/2.57 5.66/2.57 5.66/2.57 WORST_CASE(Omega(n^1),?) 5.66/2.57 5.66/2.57 5.66/2.57 ---------------------------------------- 5.66/2.57 5.66/2.57 (4) 5.66/2.57 BOUNDS(n^1, INF) 5.79/2.60 EOF