4.86/2.40 WORST_CASE(Omega(n^2), O(n^2)) 4.94/2.40 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 4.94/2.40 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.94/2.40 4.94/2.40 4.94/2.40 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^2, n^2). 4.94/2.40 4.94/2.40 (0) CpxIntTrs 4.94/2.40 (1) Koat Proof [FINISHED, 125 ms] 4.94/2.40 (2) BOUNDS(1, n^2) 4.94/2.40 (3) Loat Proof [FINISHED, 590 ms] 4.94/2.40 (4) BOUNDS(n^2, INF) 4.94/2.40 4.94/2.40 4.94/2.40 ---------------------------------------- 4.94/2.40 4.94/2.40 (0) 4.94/2.40 Obligation: 4.94/2.40 Complexity Int TRS consisting of the following rules: 4.94/2.40 evalNestedMultipleDepstart(A, B, C, D, E) -> Com_1(evalNestedMultipleDepentryin(A, B, C, D, E)) :|: TRUE 4.94/2.40 evalNestedMultipleDepentryin(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbb3in(0, B, C, D, E)) :|: TRUE 4.94/2.40 evalNestedMultipleDepbb3in(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbbin(A, B, C, D, E)) :|: B >= A + 1 4.94/2.40 evalNestedMultipleDepbb3in(A, B, C, D, E) -> Com_1(evalNestedMultipleDepreturnin(A, B, C, D, E)) :|: A >= B 4.94/2.40 evalNestedMultipleDepbbin(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbb2in(A, B, A + 1, 0, E)) :|: TRUE 4.94/2.40 evalNestedMultipleDepbb2in(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbb1in(A, B, C, D, E)) :|: E >= D + 1 4.94/2.40 evalNestedMultipleDepbb2in(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbb3in(C, B, C, D, E)) :|: D >= E 4.94/2.40 evalNestedMultipleDepbb1in(A, B, C, D, E) -> Com_1(evalNestedMultipleDepbb2in(A, B, C, D + 1, E)) :|: TRUE 4.94/2.40 evalNestedMultipleDepreturnin(A, B, C, D, E) -> Com_1(evalNestedMultipleDepstop(A, B, C, D, E)) :|: TRUE 4.94/2.40 4.94/2.40 The start-symbols are:[evalNestedMultipleDepstart_5] 4.94/2.40 4.94/2.40 4.94/2.40 ---------------------------------------- 4.94/2.40 4.94/2.40 (1) Koat Proof (FINISHED) 4.94/2.40 YES(?, 5*ar_1 + 2*ar_1*ar_4 + 6) 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 Initial complexity problem: 4.94/2.40 4.94/2.40 1: T: 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.40 4.94/2.40 start location: koat_start 4.94/2.40 4.94/2.40 leaf cost: 0 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 Repeatedly propagating knowledge in problem 1 produces the following problem: 4.94/2.40 4.94/2.40 2: T: 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.40 4.94/2.40 start location: koat_start 4.94/2.40 4.94/2.40 leaf cost: 0 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 A polynomial rank function with 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepstart) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepentryin) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb3in) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbbin) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepreturnin) = 1 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb2in) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb1in) = 2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepstop) = 0 4.94/2.40 4.94/2.40 Pol(koat_start) = 2 4.94/2.40 4.94/2.40 orients all transitions weakly and the transitions 4.94/2.40 4.94/2.40 evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 strictly and produces the following problem: 4.94/2.40 4.94/2.40 3: T: 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.40 4.94/2.40 start location: koat_start 4.94/2.40 4.94/2.40 leaf cost: 0 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 A polynomial rank function with 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepstart) = V_2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepentryin) = V_2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb3in) = -V_1 + V_2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbbin) = -V_1 + V_2 - 1 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepreturnin) = -V_1 + V_2 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb2in) = V_2 - V_3 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb1in) = V_2 - V_3 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepstop) = -V_1 + V_2 4.94/2.40 4.94/2.40 Pol(koat_start) = V_2 4.94/2.40 4.94/2.40 orients all transitions weakly and the transition 4.94/2.40 4.94/2.40 evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 strictly and produces the following problem: 4.94/2.40 4.94/2.40 4: T: 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.40 4.94/2.40 start location: koat_start 4.94/2.40 4.94/2.40 leaf cost: 0 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 Repeatedly propagating knowledge in problem 4 produces the following problem: 4.94/2.40 4.94/2.40 5: T: 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.40 4.94/2.40 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.40 4.94/2.40 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.40 4.94/2.40 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.40 4.94/2.40 start location: koat_start 4.94/2.40 4.94/2.40 leaf cost: 0 4.94/2.40 4.94/2.40 4.94/2.40 4.94/2.40 A polynomial rank function with 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb2in) = 1 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb3in) = 0 4.94/2.40 4.94/2.40 Pol(evalNestedMultipleDepbb1in) = 1 4.94/2.40 4.94/2.40 and size complexities 4.94/2.40 4.94/2.40 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-0) = ar_0 4.94/2.40 4.94/2.40 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-2) = ar_2 4.94/2.40 4.94/2.40 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-3) = ar_3 4.94/2.40 4.94/2.40 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_1 + ar_2 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ? 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-2) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-3) = ? 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-2) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-3) = ? 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-2) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-3) = ? 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-2) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-3) = 0 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-2) = ar_1 + ar_2 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-3) = ? 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-4) = ar_4 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-0) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-1) = ar_1 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-2) = ar_1 + ar_2 4.94/2.40 4.94/2.40 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-0) = 0 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 orients the transitions 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.41 4.94/2.41 weakly and the transition 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.41 4.94/2.41 strictly and produces the following problem: 4.94/2.41 4.94/2.41 6: T: 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ?, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.41 4.94/2.41 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.41 4.94/2.41 start location: koat_start 4.94/2.41 4.94/2.41 leaf cost: 0 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 A polynomial rank function with 4.94/2.41 4.94/2.41 Pol(evalNestedMultipleDepbb2in) = -V_4 + V_5 + 1 4.94/2.41 4.94/2.41 Pol(evalNestedMultipleDepbb1in) = -V_4 + V_5 4.94/2.41 4.94/2.41 and size complexities 4.94/2.41 4.94/2.41 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-0) = ar_0 4.94/2.41 4.94/2.41 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-2) = ar_2 4.94/2.41 4.94/2.41 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-3) = ar_3 4.94/2.41 4.94/2.41 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_1 + ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-2) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-2) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-2) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-2) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-3) = 0 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-2) = ar_1 + ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-0) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-2) = ar_1 + ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-3) = ? 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ]", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-0) = 0 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 4.94/2.41 4.94/2.41 S("evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 4.94/2.41 4.94/2.41 orients the transitions 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.41 4.94/2.41 weakly and the transition 4.94/2.41 4.94/2.41 evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 strictly and produces the following problem: 4.94/2.41 4.94/2.41 7: T: 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ar_1*ar_4 + ar_1, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.41 4.94/2.41 (Comp: ?, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.41 4.94/2.41 start location: koat_start 4.94/2.41 4.94/2.41 leaf cost: 0 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Repeatedly propagating knowledge in problem 7 produces the following problem: 4.94/2.41 4.94/2.41 8: T: 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 1) evalNestedMultipleDepentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= ar_0 + 1 ] 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepbb3in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_0 >= ar_1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbbin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_0 + 1, 0, ar_4)) 4.94/2.41 4.94/2.41 (Comp: ar_1*ar_4 + ar_1, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_4 >= ar_3 + 1 ] 4.94/2.41 4.94/2.41 (Comp: ar_1, Cost: 1) evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb3in(ar_2, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_4 ] 4.94/2.41 4.94/2.41 (Comp: ar_1*ar_4 + ar_1, Cost: 1) evalNestedMultipleDepbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepbb2in(ar_0, ar_1, ar_2, ar_3 + 1, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 2, Cost: 1) evalNestedMultipleDepreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 4.94/2.41 4.94/2.41 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalNestedMultipleDepstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 4.94/2.41 4.94/2.41 start location: koat_start 4.94/2.41 4.94/2.41 leaf cost: 0 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Complexity upper bound 5*ar_1 + 2*ar_1*ar_4 + 6 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Time: 0.123 sec (SMT: 0.102 sec) 4.94/2.41 4.94/2.41 4.94/2.41 ---------------------------------------- 4.94/2.41 4.94/2.41 (2) 4.94/2.41 BOUNDS(1, n^2) 4.94/2.41 4.94/2.41 ---------------------------------------- 4.94/2.41 4.94/2.41 (3) Loat Proof (FINISHED) 4.94/2.41 4.94/2.41 4.94/2.41 ### Pre-processing the ITS problem ### 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Initial linear ITS problem 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 0: evalNestedMultipleDepstart -> evalNestedMultipleDepentryin : [], cost: 1 4.94/2.41 4.94/2.41 1: evalNestedMultipleDepentryin -> evalNestedMultipleDepbb3in : A'=0, [], cost: 1 4.94/2.41 4.94/2.41 2: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbbin : [ B>=1+A ], cost: 1 4.94/2.41 4.94/2.41 3: evalNestedMultipleDepbb3in -> evalNestedMultipleDepreturnin : [ A>=B ], cost: 1 4.94/2.41 4.94/2.41 4: evalNestedMultipleDepbbin -> evalNestedMultipleDepbb2in : C'=1+A, D'=0, [], cost: 1 4.94/2.41 4.94/2.41 5: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb1in : [ E>=1+D ], cost: 1 4.94/2.41 4.94/2.41 6: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb3in : A'=C, [ D>=E ], cost: 1 4.94/2.41 4.94/2.41 7: evalNestedMultipleDepbb1in -> evalNestedMultipleDepbb2in : D'=1+D, [], cost: 1 4.94/2.41 4.94/2.41 8: evalNestedMultipleDepreturnin -> evalNestedMultipleDepstop : [], cost: 1 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Removed unreachable and leaf rules: 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 0: evalNestedMultipleDepstart -> evalNestedMultipleDepentryin : [], cost: 1 4.94/2.41 4.94/2.41 1: evalNestedMultipleDepentryin -> evalNestedMultipleDepbb3in : A'=0, [], cost: 1 4.94/2.41 4.94/2.41 2: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbbin : [ B>=1+A ], cost: 1 4.94/2.41 4.94/2.41 4: evalNestedMultipleDepbbin -> evalNestedMultipleDepbb2in : C'=1+A, D'=0, [], cost: 1 4.94/2.41 4.94/2.41 5: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb1in : [ E>=1+D ], cost: 1 4.94/2.41 4.94/2.41 6: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb3in : A'=C, [ D>=E ], cost: 1 4.94/2.41 4.94/2.41 7: evalNestedMultipleDepbb1in -> evalNestedMultipleDepbb2in : D'=1+D, [], cost: 1 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 ### Simplification by acceleration and chaining ### 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Eliminated locations (on linear paths): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 10: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb2in : C'=1+A, D'=0, [ B>=1+A ], cost: 2 4.94/2.41 4.94/2.41 6: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb3in : A'=C, [ D>=E ], cost: 1 4.94/2.41 4.94/2.41 11: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb2in : D'=1+D, [ E>=1+D ], cost: 2 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerating simple loops of location 4. 4.94/2.41 4.94/2.41 Accelerating the following rules: 4.94/2.41 4.94/2.41 11: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb2in : D'=1+D, [ E>=1+D ], cost: 2 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerated rule 11 with metering function -D+E, yielding the new rule 12. 4.94/2.41 4.94/2.41 Removing the simple loops: 11. 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerated all simple loops using metering functions (where possible): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 10: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb2in : C'=1+A, D'=0, [ B>=1+A ], cost: 2 4.94/2.41 4.94/2.41 6: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb3in : A'=C, [ D>=E ], cost: 1 4.94/2.41 4.94/2.41 12: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb2in : D'=E, [ E>=1+D ], cost: -2*D+2*E 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Chained accelerated rules (with incoming rules): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 10: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb2in : C'=1+A, D'=0, [ B>=1+A ], cost: 2 4.94/2.41 4.94/2.41 13: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb2in : C'=1+A, D'=E, [ B>=1+A && E>=1 ], cost: 2+2*E 4.94/2.41 4.94/2.41 6: evalNestedMultipleDepbb2in -> evalNestedMultipleDepbb3in : A'=C, [ D>=E ], cost: 1 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Eliminated locations (on tree-shaped paths): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 14: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=1+A, C'=1+A, D'=0, [ B>=1+A && 0>=E ], cost: 3 4.94/2.41 4.94/2.41 15: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=1+A, C'=1+A, D'=E, [ B>=1+A && E>=1 ], cost: 3+2*E 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerating simple loops of location 2. 4.94/2.41 4.94/2.41 Accelerating the following rules: 4.94/2.41 4.94/2.41 14: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=1+A, C'=1+A, D'=0, [ B>=1+A && 0>=E ], cost: 3 4.94/2.41 4.94/2.41 15: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=1+A, C'=1+A, D'=E, [ B>=1+A && E>=1 ], cost: 3+2*E 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerated rule 14 with metering function -A+B, yielding the new rule 16. 4.94/2.41 4.94/2.41 Accelerated rule 15 with metering function -A+B, yielding the new rule 17. 4.94/2.41 4.94/2.41 Removing the simple loops: 14 15. 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Accelerated all simple loops using metering functions (where possible): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 16: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=0, [ B>=1+A && 0>=E ], cost: -3*A+3*B 4.94/2.41 4.94/2.41 17: evalNestedMultipleDepbb3in -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=E, [ B>=1+A && E>=1 ], cost: -3*A-2*E*(A-B)+3*B 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Chained accelerated rules (with incoming rules): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 9: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=0, [], cost: 2 4.94/2.41 4.94/2.41 18: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=0, [ B>=1 && 0>=E ], cost: 2+3*B 4.94/2.41 4.94/2.41 19: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=E, [ B>=1 && E>=1 ], cost: 2+2*E*B+3*B 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Removed unreachable locations (and leaf rules with constant cost): 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 18: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=0, [ B>=1 && 0>=E ], cost: 2+3*B 4.94/2.41 4.94/2.41 19: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=E, [ B>=1 && E>=1 ], cost: 2+2*E*B+3*B 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 ### Computing asymptotic complexity ### 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Fully simplified ITS problem 4.94/2.41 4.94/2.41 Start location: evalNestedMultipleDepstart 4.94/2.41 4.94/2.41 18: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=0, [ B>=1 && 0>=E ], cost: 2+3*B 4.94/2.41 4.94/2.41 19: evalNestedMultipleDepstart -> evalNestedMultipleDepbb3in : A'=B, C'=B, D'=E, [ B>=1 && E>=1 ], cost: 2+2*E*B+3*B 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Computing asymptotic complexity for rule 18 4.94/2.41 4.94/2.41 Solved the limit problem by the following transformations: 4.94/2.41 4.94/2.41 Created initial limit problem: 4.94/2.41 4.94/2.41 2+3*B (+), 1-E (+/+!), B (+/+!) [not solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 removing all constraints (solved by SMT) 4.94/2.41 4.94/2.41 resulting limit problem: [solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 applying transformation rule (C) using substitution {E==-n,B==n} 4.94/2.41 4.94/2.41 resulting limit problem: 4.94/2.41 4.94/2.41 [solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Solution: 4.94/2.41 4.94/2.41 E / -n 4.94/2.41 4.94/2.41 B / n 4.94/2.41 4.94/2.41 Resulting cost 2+3*n has complexity: Poly(n^1) 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Found new complexity Poly(n^1). 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Computing asymptotic complexity for rule 19 4.94/2.41 4.94/2.41 Solved the limit problem by the following transformations: 4.94/2.41 4.94/2.41 Created initial limit problem: 4.94/2.41 4.94/2.41 2+2*E*B+3*B (+), E (+/+!), B (+/+!) [not solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 removing all constraints (solved by SMT) 4.94/2.41 4.94/2.41 resulting limit problem: [solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 applying transformation rule (C) using substitution {E==n,B==n} 4.94/2.41 4.94/2.41 resulting limit problem: 4.94/2.41 4.94/2.41 [solved] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Solution: 4.94/2.41 4.94/2.41 E / n 4.94/2.41 4.94/2.41 B / n 4.94/2.41 4.94/2.41 Resulting cost 2+2*n^2+3*n has complexity: Poly(n^2) 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Found new complexity Poly(n^2). 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 Obtained the following overall complexity (w.r.t. the length of the input n): 4.94/2.41 4.94/2.41 Complexity: Poly(n^2) 4.94/2.41 4.94/2.41 Cpx degree: 2 4.94/2.41 4.94/2.41 Solved cost: 2+2*n^2+3*n 4.94/2.41 4.94/2.41 Rule cost: 2+2*E*B+3*B 4.94/2.41 4.94/2.41 Rule guard: [ B>=1 && E>=1 ] 4.94/2.41 4.94/2.41 4.94/2.41 4.94/2.41 WORST_CASE(Omega(n^2),?) 4.94/2.41 4.94/2.41 4.94/2.41 ---------------------------------------- 4.94/2.41 4.94/2.41 (4) 4.94/2.41 BOUNDS(n^2, INF) 4.97/2.44 EOF