73.90/46.71 WORST_CASE(NON_POLY, ?) 73.90/46.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 73.90/46.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 73.90/46.72 73.90/46.72 73.90/46.72 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 73.90/46.72 73.90/46.72 (0) CpxIntTrs 73.90/46.72 (1) Loat Proof [FINISHED, 45.1 s] 73.90/46.72 (2) BOUNDS(INF, INF) 73.90/46.72 73.90/46.72 73.90/46.72 ---------------------------------------- 73.90/46.72 73.90/46.72 (0) 73.90/46.72 Obligation: 73.90/46.72 Complexity Int TRS consisting of the following rules: 73.90/46.72 f0(A, B, C, D, E, F, G, H, I) -> Com_1(f9(0, 1, 1, 0, 0, J, G, H, I)) :|: J >= 1 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(A, B, C - 1, D, D, 0, A - 2, 1, A - 2)) :|: A >= 3 && C >= 1 && D >= E && D <= E && F >= 0 && F <= 0 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(A, B, C - 1, D, D, 0, A, 0, A)) :|: 2 >= A && C >= 1 && D >= E && D <= E && F >= 0 && F <= 0 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(0, B + 1, B + 1, D, D, J, G, H, I)) :|: J >= 1 && A >= 3 && 0 >= C && D >= E && D <= E && F >= 0 && F <= 0 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(A + 1, B + 1, B + 1, D, D, J, G, H, I)) :|: J >= 1 && 2 >= A && 0 >= C && D >= E && D <= E && F >= 0 && F <= 0 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(A, B, C, D, D, F - 1, G, J, K)) :|: 0 >= F + 1 && D >= E && D <= E 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f20(A, B, C, D, D, F - 1, G, J, K)) :|: F >= 1 && D >= E && D <= E 73.90/46.72 f20(A, B, C, D, E, F, G, H, I) -> Com_1(f32(A, B, C, 0, E, F, G, H, 0)) :|: I >= 0 && I <= 0 73.90/46.72 f20(A, B, C, D, E, F, G, H, I) -> Com_1(f32(A, B, C, 1, E, F, G, H, I)) :|: 0 >= I + 1 73.90/46.72 f20(A, B, C, D, E, F, G, H, I) -> Com_1(f32(A, B, C, 1, E, F, G, H, I)) :|: I >= 1 73.90/46.72 f32(A, B, C, D, E, F, G, H, I) -> Com_1(f9(A, B, C, D, 0, F, G, 0, I)) :|: H >= 0 && H <= 0 73.90/46.72 f32(A, B, C, D, E, F, G, H, I) -> Com_1(f9(A, B, C, D, 1, F, G, H, I)) :|: 0 >= H + 1 73.90/46.72 f32(A, B, C, D, E, F, G, H, I) -> Com_1(f9(A, B, C, D, 1, F, G, H, I)) :|: H >= 1 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f38(A, B, C, D, E, F, G, H, I)) :|: E >= D + 1 73.90/46.72 f9(A, B, C, D, E, F, G, H, I) -> Com_1(f38(A, B, C, D, E, F, G, H, I)) :|: D >= 1 + E 73.90/46.72 73.90/46.72 The start-symbols are:[f0_9] 73.90/46.72 73.90/46.72 73.90/46.72 ---------------------------------------- 73.90/46.72 73.90/46.72 (1) Loat Proof (FINISHED) 73.90/46.72 73.90/46.72 73.90/46.72 ### Pre-processing the ITS problem ### 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Initial linear ITS problem 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 1: f9 -> f20 : C'=-1+C, E'=D, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 2: f9 -> f20 : C'=-1+C, E'=D, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 3: f9 -> f20 : A'=0, B'=1+B, C'=1+B, E'=D, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 4: f9 -> f20 : A'=1+A, B'=1+B, C'=1+B, E'=D, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 5: f9 -> f20 : E'=D, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E ], cost: 1 73.90/46.72 73.90/46.72 6: f9 -> f20 : E'=D, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E ], cost: 1 73.90/46.72 73.90/46.72 13: f9 -> f38 : [ E>=1+D ], cost: 1 73.90/46.72 73.90/46.72 14: f9 -> f38 : [ D>=1+E ], cost: 1 73.90/46.72 73.90/46.72 7: f20 -> f32 : D'=0, Q'=0, [ Q==0 ], cost: 1 73.90/46.72 73.90/46.72 8: f20 -> f32 : D'=1, [ 0>=1+Q ], cost: 1 73.90/46.72 73.90/46.72 9: f20 -> f32 : D'=1, [ Q>=1 ], cost: 1 73.90/46.72 73.90/46.72 10: f32 -> f9 : E'=0, H'=0, [ H==0 ], cost: 1 73.90/46.72 73.90/46.72 11: f32 -> f9 : E'=1, [ 0>=1+H ], cost: 1 73.90/46.72 73.90/46.72 12: f32 -> f9 : E'=1, [ H>=1 ], cost: 1 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Removed unreachable and leaf rules: 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 1: f9 -> f20 : C'=-1+C, E'=D, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 2: f9 -> f20 : C'=-1+C, E'=D, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 3: f9 -> f20 : A'=0, B'=1+B, C'=1+B, E'=D, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 4: f9 -> f20 : A'=1+A, B'=1+B, C'=1+B, E'=D, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 ], cost: 1 73.90/46.72 73.90/46.72 5: f9 -> f20 : E'=D, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E ], cost: 1 73.90/46.72 73.90/46.72 6: f9 -> f20 : E'=D, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E ], cost: 1 73.90/46.72 73.90/46.72 7: f20 -> f32 : D'=0, Q'=0, [ Q==0 ], cost: 1 73.90/46.72 73.90/46.72 8: f20 -> f32 : D'=1, [ 0>=1+Q ], cost: 1 73.90/46.72 73.90/46.72 9: f20 -> f32 : D'=1, [ Q>=1 ], cost: 1 73.90/46.72 73.90/46.72 10: f32 -> f9 : E'=0, H'=0, [ H==0 ], cost: 1 73.90/46.72 73.90/46.72 11: f32 -> f9 : E'=1, [ 0>=1+H ], cost: 1 73.90/46.72 73.90/46.72 12: f32 -> f9 : E'=1, [ H>=1 ], cost: 1 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 ### Simplification by acceleration and chaining ### 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Eliminated locations (on tree-shaped paths): 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 15: f9 -> f32 : C'=-1+C, D'=1, E'=D, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 2 73.90/46.72 73.90/46.72 16: f9 -> f32 : C'=-1+C, D'=0, E'=D, F'=0, G'=A, H'=0, Q'=0, [ C>=1 && D==E && F==0 && A==0 ], cost: 2 73.90/46.72 73.90/46.72 17: f9 -> f32 : C'=-1+C, D'=1, E'=D, F'=0, G'=A, H'=0, Q'=A, [ C>=1 && D==E && F==0 && 0>=1+A ], cost: 2 73.90/46.72 73.90/46.72 18: f9 -> f32 : C'=-1+C, D'=1, E'=D, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 && A>=1 ], cost: 2 73.90/46.72 73.90/46.72 19: f9 -> f32 : A'=0, B'=1+B, C'=1+B, D'=0, E'=D, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 ], cost: 2 73.90/46.72 73.90/46.72 20: f9 -> f32 : A'=0, B'=1+B, C'=1+B, D'=1, E'=D, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q ], cost: 2 73.90/46.72 73.90/46.72 21: f9 -> f32 : A'=0, B'=1+B, C'=1+B, D'=1, E'=D, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 ], cost: 2 73.90/46.72 73.90/46.72 22: f9 -> f32 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=D, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 ], cost: 2 73.90/46.72 73.90/46.72 23: f9 -> f32 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=D, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q ], cost: 2 73.90/46.72 73.90/46.72 24: f9 -> f32 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=D, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 ], cost: 2 73.90/46.72 73.90/46.72 25: f9 -> f32 : D'=0, E'=D, F'=-1+F, H'=free_3, Q'=0, [ 0>=1+F && D==E && free_4==0 ], cost: 2 73.90/46.72 73.90/46.72 26: f9 -> f32 : D'=1, E'=D, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 ], cost: 2 73.90/46.72 73.90/46.72 27: f9 -> f32 : D'=1, E'=D, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 ], cost: 2 73.90/46.72 73.90/46.72 28: f9 -> f32 : D'=0, E'=D, F'=-1+F, H'=free_5, Q'=0, [ F>=1 && D==E && free_6==0 ], cost: 2 73.90/46.72 73.90/46.72 29: f9 -> f32 : D'=1, E'=D, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 ], cost: 2 73.90/46.72 73.90/46.72 30: f9 -> f32 : D'=1, E'=D, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 ], cost: 2 73.90/46.72 73.90/46.72 10: f32 -> f9 : E'=0, H'=0, [ H==0 ], cost: 1 73.90/46.72 73.90/46.72 11: f32 -> f9 : E'=1, [ 0>=1+H ], cost: 1 73.90/46.72 73.90/46.72 12: f32 -> f9 : E'=1, [ H>=1 ], cost: 1 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Eliminated locations (on tree-shaped paths): 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 31: f9 -> f9 : C'=-1+C, D'=1, E'=1, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 3 73.90/46.72 73.90/46.72 32: f9 -> f9 : C'=-1+C, D'=0, E'=0, F'=0, G'=A, H'=0, Q'=0, [ C>=1 && D==E && F==0 && A==0 ], cost: 3 73.90/46.72 73.90/46.72 33: f9 -> f9 : C'=-1+C, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ C>=1 && D==E && F==0 && 0>=1+A ], cost: 3 73.90/46.72 73.90/46.72 34: f9 -> f9 : C'=-1+C, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 && A>=1 ], cost: 3 73.90/46.72 73.90/46.72 35: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=0, F'=free_1, H'=0, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 36: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 37: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 38: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H==0 ], cost: 3 73.90/46.72 73.90/46.72 39: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 40: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 41: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 42: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 43: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 44: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=0, F'=free_2, H'=0, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 45: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 46: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 47: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H==0 ], cost: 3 73.90/46.72 73.90/46.72 48: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 49: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 50: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 51: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 52: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 53: f9 -> f9 : D'=0, E'=0, F'=-1+F, H'=0, Q'=0, [ 0>=1+F && D==E && free_4==0 && free_3==0 ], cost: 3 73.90/46.72 73.90/46.72 54: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_3, Q'=0, [ 0>=1+F && D==E && free_4==0 && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 55: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_3, Q'=0, [ 0>=1+F && D==E && free_4==0 && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 56: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 && free_3==0 ], cost: 3 73.90/46.72 73.90/46.72 57: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 58: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 59: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 && free_3==0 ], cost: 3 73.90/46.72 73.90/46.72 60: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 61: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 62: f9 -> f9 : D'=0, E'=0, F'=-1+F, H'=0, Q'=0, [ F>=1 && D==E && free_6==0 && free_5==0 ], cost: 3 73.90/46.72 73.90/46.72 63: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_5, Q'=0, [ F>=1 && D==E && free_6==0 && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 64: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_5, Q'=0, [ F>=1 && D==E && free_6==0 && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 65: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && free_5==0 ], cost: 3 73.90/46.72 73.90/46.72 66: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 67: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 68: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_6, [ F>=1 && D==E && free_6>=1 && free_5==0 ], cost: 3 73.90/46.72 73.90/46.72 69: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 70: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Accelerating simple loops of location 1. 73.90/46.72 73.90/46.72 Simplified some of the simple loops (and removed duplicate rules). 73.90/46.72 73.90/46.72 Accelerating the following rules: 73.90/46.72 73.90/46.72 31: f9 -> f9 : C'=-1+C, D'=1, E'=1, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 3 73.90/46.72 73.90/46.72 32: f9 -> f9 : C'=-1+C, D'=0, E'=0, F'=0, G'=A, H'=0, Q'=0, [ C>=1 && D==E && F==0 && A==0 ], cost: 3 73.90/46.72 73.90/46.72 33: f9 -> f9 : C'=-1+C, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ C>=1 && D==E && F==0 && 0>=1+A ], cost: 3 73.90/46.72 73.90/46.72 34: f9 -> f9 : C'=-1+C, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 && A>=1 ], cost: 3 73.90/46.72 73.90/46.72 35: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=0, F'=free_1, H'=0, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 36: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 37: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 38: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H==0 ], cost: 3 73.90/46.72 73.90/46.72 39: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 40: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 41: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 42: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 43: f9 -> f9 : A'=0, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 44: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=0, F'=free_2, H'=0, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 45: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 46: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 47: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H==0 ], cost: 3 73.90/46.72 73.90/46.72 48: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 49: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 50: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && H==0 ], cost: 3 73.90/46.72 73.90/46.72 51: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H ], cost: 3 73.90/46.72 73.90/46.72 52: f9 -> f9 : A'=1+A, B'=1+B, C'=1+B, D'=1, E'=1, F'=free_2, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && H>=1 ], cost: 3 73.90/46.72 73.90/46.72 53: f9 -> f9 : D'=0, E'=0, F'=-1+F, H'=0, Q'=0, [ 0>=1+F && D==E ], cost: 3 73.90/46.72 73.90/46.72 54: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_3, Q'=0, [ 0>=1+F && D==E && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 55: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_3, Q'=0, [ 0>=1+F && D==E && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 56: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 ], cost: 3 73.90/46.72 73.90/46.72 57: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 58: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 59: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 ], cost: 3 73.90/46.72 73.90/46.72 60: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 && 0>=1+free_3 ], cost: 3 73.90/46.72 73.90/46.72 61: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_3, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 && free_3>=1 ], cost: 3 73.90/46.72 73.90/46.72 62: f9 -> f9 : D'=0, E'=0, F'=-1+F, H'=0, Q'=0, [ F>=1 && D==E ], cost: 3 73.90/46.72 73.90/46.72 63: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_5, Q'=0, [ F>=1 && D==E && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 64: f9 -> f9 : D'=0, E'=1, F'=-1+F, H'=free_5, Q'=0, [ F>=1 && D==E && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 65: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 ], cost: 3 73.90/46.72 73.90/46.72 66: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 67: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 68: f9 -> f9 : D'=1, E'=0, F'=-1+F, H'=0, Q'=free_6, [ F>=1 && D==E && free_6>=1 ], cost: 3 73.90/46.72 73.90/46.72 69: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && 0>=1+free_5 ], cost: 3 73.90/46.72 73.90/46.72 70: f9 -> f9 : D'=1, E'=1, F'=-1+F, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && free_5>=1 ], cost: 3 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Accelerated rule 31 with metering function C, yielding the new rule 71. 73.90/46.72 73.90/46.72 Accelerated rule 32 with metering function C, yielding the new rule 72. 73.90/46.72 73.90/46.72 Accelerated rule 33 with metering function -D+E, yielding the new rule 73. 73.90/46.72 73.90/46.72 Accelerated rule 34 with metering function -D+E, yielding the new rule 74. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Accelerated rule 35 with metering function -F, yielding the new rule 75. 73.90/46.72 73.90/46.72 Accelerated rule 36 with metering function D-E, yielding the new rule 76. 73.90/46.72 73.90/46.72 Accelerated rule 37 with metering function D-E, yielding the new rule 77. 73.90/46.72 73.90/46.72 Accelerated rule 38 with metering function -D+E, yielding the new rule 78. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Accelerated rule 39 with metering function -F, yielding the new rule 79. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Accelerated rule 40 with metering function -F, yielding the new rule 80. 73.90/46.72 73.90/46.72 Accelerated rule 41 with metering function -D+E, yielding the new rule 81. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Accelerated rule 42 with metering function -F, yielding the new rule 82. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Accelerated rule 43 with metering function -F, yielding the new rule 83. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_2==1} 73.90/46.72 73.90/46.72 Accelerated rule 44 with metering function -F, yielding the new rule 84. 73.90/46.72 73.90/46.72 Accelerated rule 45 with metering function D-E, yielding the new rule 85. 73.90/46.72 73.90/46.72 Accelerated rule 46 with metering function D-E, yielding the new rule 86. 73.90/46.72 73.90/46.72 Accelerated rule 47 with metering function -D+E, yielding the new rule 87. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_2==1} 73.90/46.72 73.90/46.72 Accelerated rule 48 with metering function -F, yielding the new rule 88. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_2==1} 73.90/46.72 73.90/46.72 Accelerated rule 49 with metering function -F, yielding the new rule 89. 73.90/46.72 73.90/46.72 Accelerated rule 50 with metering function -D+E, yielding the new rule 90. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_2==1} 73.90/46.72 73.90/46.72 Accelerated rule 51 with metering function -F, yielding the new rule 91. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_2==1} 73.90/46.72 73.90/46.72 Accelerated rule 52 with metering function -F, yielding the new rule 92. 73.90/46.72 73.90/46.72 Accelerated rule 53 with NONTERM, yielding the new rule 93. 73.90/46.72 73.90/46.72 Accelerated rule 54 with metering function 1+D-E, yielding the new rule 94. 73.90/46.72 73.90/46.72 Accelerated rule 55 with metering function 1+D-E, yielding the new rule 95. 73.90/46.72 73.90/46.72 Accelerated rule 56 with metering function 1-D+E, yielding the new rule 96. 73.90/46.72 73.90/46.72 Accelerated rule 57 with NONTERM, yielding the new rule 97. 73.90/46.72 73.90/46.72 Accelerated rule 58 with NONTERM, yielding the new rule 98. 73.90/46.72 73.90/46.72 Accelerated rule 59 with metering function 1-D+E, yielding the new rule 99. 73.90/46.72 73.90/46.72 Accelerated rule 60 with NONTERM, yielding the new rule 100. 73.90/46.72 73.90/46.72 Accelerated rule 61 with NONTERM, yielding the new rule 101. 73.90/46.72 73.90/46.72 Accelerated rule 62 with metering function F, yielding the new rule 102. 73.90/46.72 73.90/46.72 Accelerated rule 63 with metering function D-E, yielding the new rule 103. 73.90/46.72 73.90/46.72 Accelerated rule 64 with metering function D-E, yielding the new rule 104. 73.90/46.72 73.90/46.72 Accelerated rule 65 with metering function -D+E, yielding the new rule 105. 73.90/46.72 73.90/46.72 Accelerated rule 66 with metering function F, yielding the new rule 106. 73.90/46.72 73.90/46.72 Accelerated rule 67 with metering function F, yielding the new rule 107. 73.90/46.72 73.90/46.72 Accelerated rule 68 with metering function -D+E, yielding the new rule 108. 73.90/46.72 73.90/46.72 Accelerated rule 69 with metering function F, yielding the new rule 109. 73.90/46.72 73.90/46.72 Accelerated rule 70 with metering function F, yielding the new rule 110. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_1==1} 73.90/46.72 73.90/46.72 Nested simple loops 43 (outer loop) and 71 (inner loop) with metering function -F, resulting in the new rules: 111. 73.90/46.72 73.90/46.72 Nested simple loops 44 (outer loop) and 72 (inner loop) with metering function -A, resulting in the new rules: 112. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==-1,free_6==-1} 73.90/46.72 73.90/46.72 Nested simple loops 35 (outer loop) and 106 (inner loop) with metering function meter (where 2*meter==Q+H), resulting in the new rules: 113. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==-1,free_6==-1} 73.90/46.72 73.90/46.72 Nested simple loops 44 (outer loop) and 106 (inner loop) with metering function meter_1 (where 2*meter_1==Q+H), resulting in the new rules: 114. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==1,free_6==-1} 73.90/46.72 73.90/46.72 Nested simple loops 35 (outer loop) and 107 (inner loop) with metering function meter_2 (where 2*meter_2==Q-H), resulting in the new rules: 115. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==1,free_6==-1} 73.90/46.72 73.90/46.72 Nested simple loops 44 (outer loop) and 107 (inner loop) with metering function meter_3 (where 2*meter_3==Q-H), resulting in the new rules: 116. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==-1,free_6==1} 73.90/46.72 73.90/46.72 Nested simple loops 35 (outer loop) and 109 (inner loop) with metering function meter_4 (where 2*meter_4==-Q+H), resulting in the new rules: 117. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==-1,free_6==1} 73.90/46.72 73.90/46.72 Nested simple loops 44 (outer loop) and 109 (inner loop) with metering function meter_5 (where 2*meter_5==-Q+H), resulting in the new rules: 118. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==1,free_6==1} 73.90/46.72 73.90/46.72 Nested simple loops 35 (outer loop) and 110 (inner loop) with metering function meter_6 (where 2*meter_6==-Q-H), resulting in the new rules: 119. 73.90/46.72 73.90/46.72 During metering: Instantiating temporary variables by {free_5==1,free_6==1} 73.90/46.72 73.90/46.72 Nested simple loops 44 (outer loop) and 110 (inner loop) with metering function meter_7 (where 2*meter_7==-Q-H), resulting in the new rules: 120. 73.90/46.72 73.90/46.72 Removing the simple loops: 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70. 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Accelerated all simple loops using metering functions (where possible): 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 71: f9 -> f9 : C'=0, D'=1, E'=1, F'=0, G'=-2+A, H'=1, Q'=-2+A, [ A>=3 && C>=1 && D==E && F==0 ], cost: 3*C 73.90/46.72 73.90/46.72 72: f9 -> f9 : C'=0, D'=0, E'=0, F'=0, G'=A, H'=0, Q'=0, [ C>=1 && D==E && F==0 && A==0 ], cost: 3*C 73.90/46.72 73.90/46.72 73: f9 -> f9 : C'=C+D-E, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ C>=1 && D==E && F==0 && 0>=1+A && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 74: f9 -> f9 : C'=C+D-E, D'=1, E'=0, F'=0, G'=A, H'=0, Q'=A, [ 2>=A && C>=1 && D==E && F==0 && A>=1 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 75: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=0, E'=0, F'=1, H'=0, Q'=0, [ A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 76: f9 -> f9 : A'=0, B'=D-E+B, C'=D-E+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && 0>=1+H && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 77: f9 -> f9 : A'=0, B'=D-E+B, C'=D-E+B, D'=0, E'=1, F'=free_1, Q'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H>=1 && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 78: f9 -> f9 : A'=0, B'=-D+E+B, C'=-D+E+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H==0 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 79: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 80: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ A>=3 && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 81: f9 -> f9 : A'=0, B'=-D+E+B, C'=-D+E+B, D'=1, E'=0, F'=free_1, H'=0, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q>=1 && H==0 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 82: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ A>=3 && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 83: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ A>=3 && 0>=C && D==E && F==0 && Q>=1 && H>=1 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 84: f9 -> f9 : A'=-F+A, B'=-F+B, C'=-F+B, D'=0, E'=0, F'=1, H'=0, Q'=0, [ 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 85: f9 -> f9 : A'=D+A-E, B'=D-E+B, C'=D-E+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && 0>=1+H && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 86: f9 -> f9 : A'=D+A-E, B'=D-E+B, C'=D-E+B, D'=0, E'=1, F'=free_2, Q'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H>=1 && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 87: f9 -> f9 : A'=-D+A+E, B'=-D+E+B, C'=-D+E+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H==0 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 88: f9 -> f9 : A'=-F+A, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && 0>=1+H && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 89: f9 -> f9 : A'=-F+A, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ 2>=A && 0>=C && D==E && F==0 && 0>=1+Q && H>=1 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 90: f9 -> f9 : A'=-D+A+E, B'=-D+E+B, C'=-D+E+B, D'=1, E'=0, F'=free_2, H'=0, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q>=1 && H==0 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 91: f9 -> f9 : A'=-F+A, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ 2>=A && 0>=C && D==E && F==0 && Q>=1 && 0>=1+H && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 92: f9 -> f9 : A'=-F+A, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, [ 2>=A && 0>=C && D==E && F==0 && Q>=1 && H>=1 && -F>=1 ], cost: -3*F 73.90/46.72 73.90/46.72 93: f9 -> [5] : [ 0>=1+F && D==E ], cost: INF 73.90/46.72 73.90/46.72 94: f9 -> f9 : D'=0, E'=1, F'=-1+F-D+E, H'=free_3, Q'=0, [ 0>=1+F && D==E && 0>=1+free_3 ], cost: 3+3*D-3*E 73.90/46.72 73.90/46.72 95: f9 -> f9 : D'=0, E'=1, F'=-1+F-D+E, H'=free_3, Q'=0, [ 0>=1+F && D==E && free_3>=1 ], cost: 3+3*D-3*E 73.90/46.72 73.90/46.72 96: f9 -> f9 : D'=1, E'=0, F'=-1+F+D-E, H'=0, Q'=free_4, [ 0>=1+F && D==E && 0>=1+free_4 ], cost: 3-3*D+3*E 73.90/46.72 73.90/46.72 97: f9 -> [5] : [ 0>=1+F && D==E && 0>=1+free_4 && 0>=1+free_3 ], cost: INF 73.90/46.72 73.90/46.72 98: f9 -> [5] : [ 0>=1+F && D==E && 0>=1+free_4 && free_3>=1 ], cost: INF 73.90/46.72 73.90/46.72 99: f9 -> f9 : D'=1, E'=0, F'=-1+F+D-E, H'=0, Q'=free_4, [ 0>=1+F && D==E && free_4>=1 ], cost: 3-3*D+3*E 73.90/46.72 73.90/46.72 100: f9 -> [5] : [ 0>=1+F && D==E && free_4>=1 && 0>=1+free_3 ], cost: INF 73.90/46.72 73.90/46.72 101: f9 -> [5] : [ 0>=1+F && D==E && free_4>=1 && free_3>=1 ], cost: INF 73.90/46.72 73.90/46.72 102: f9 -> f9 : D'=0, E'=0, F'=0, H'=0, Q'=0, [ F>=1 && D==E ], cost: 3*F 73.90/46.72 73.90/46.72 103: f9 -> f9 : D'=0, E'=1, F'=F-D+E, H'=free_5, Q'=0, [ F>=1 && D==E && 0>=1+free_5 && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 104: f9 -> f9 : D'=0, E'=1, F'=F-D+E, H'=free_5, Q'=0, [ F>=1 && D==E && free_5>=1 && D-E>=1 ], cost: 3*D-3*E 73.90/46.72 73.90/46.72 105: f9 -> f9 : D'=1, E'=0, F'=F+D-E, H'=0, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 106: f9 -> f9 : D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && 0>=1+free_5 ], cost: 3*F 73.90/46.72 73.90/46.72 107: f9 -> f9 : D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ F>=1 && D==E && 0>=1+free_6 && free_5>=1 ], cost: 3*F 73.90/46.72 73.90/46.72 108: f9 -> f9 : D'=1, E'=0, F'=F+D-E, H'=0, Q'=free_6, [ F>=1 && D==E && free_6>=1 && -D+E>=1 ], cost: -3*D+3*E 73.90/46.72 73.90/46.72 109: f9 -> f9 : D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && 0>=1+free_5 ], cost: 3*F 73.90/46.72 73.90/46.72 110: f9 -> f9 : D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ F>=1 && D==E && free_6>=1 && free_5>=1 ], cost: 3*F 73.90/46.72 73.90/46.72 111: f9 -> f9 : A'=0, B'=-F+B, C'=-F+B, D'=1, E'=1, F'=1, G'=-2, H'=1, Q'=-2, [ A>=3 && C>=1 && D==E && F==0 && -F>=1 ], cost: -3/2*F-3*F*B+3/2*F^2 73.90/46.72 73.90/46.72 112: f9 -> f9 : A'=0, B'=-A+B, C'=-A+B, D'=0, E'=0, F'=free_2, G'=-1, H'=0, Q'=0, [ C>=1 && D==E && F==0 && A==0 && free_2>=1 && -A>=1 ], cost: -3/2*A-3*A*B+3/2*A^2 73.90/46.72 73.90/46.72 113: f9 -> f9 : A'=0, B'=meter+B, C'=meter+B, D'=1, E'=1, F'=0, H'=-1, Q'=-1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter==Q+H && meter>=1 ], cost: 3*meter+3*free_1*meter 73.90/46.72 73.90/46.72 114: f9 -> f9 : A'=meter_1+A, B'=meter_1+B, C'=meter_1+B, D'=1, E'=1, F'=0, H'=-1, Q'=-1, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_1==Q+H && meter_1>=1 ], cost: 3*meter_1*free_2+3*meter_1 73.90/46.72 73.90/46.72 115: f9 -> f9 : A'=0, B'=meter_2+B, C'=meter_2+B, D'=1, E'=1, F'=0, H'=1, Q'=-1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_2==Q-H && meter_2>=1 ], cost: 3*free_1*meter_2+3*meter_2 73.90/46.72 73.90/46.72 116: f9 -> f9 : A'=meter_3+A, B'=meter_3+B, C'=meter_3+B, D'=1, E'=1, F'=0, H'=1, Q'=-1, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_3==Q-H && meter_3>=1 ], cost: 3*meter_3+3*meter_3*free_2 73.90/46.72 73.90/46.72 117: f9 -> f9 : A'=0, B'=meter_4+B, C'=meter_4+B, D'=1, E'=1, F'=0, H'=-1, Q'=1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_4==-Q+H && meter_4>=1 ], cost: 3*meter_4+3*meter_4*free_1 73.90/46.72 73.90/46.72 118: f9 -> f9 : A'=A+meter_5, B'=meter_5+B, C'=meter_5+B, D'=1, E'=1, F'=0, H'=-1, Q'=1, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_5==-Q+H && meter_5>=1 ], cost: 3*free_2*meter_5+3*meter_5 73.90/46.72 73.90/46.72 119: f9 -> f9 : A'=0, B'=meter_6+B, C'=meter_6+B, D'=1, E'=1, F'=0, H'=1, Q'=1, [ free_1>=1 && A>=3 && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_6==-Q-H && meter_6>=1 ], cost: 3*free_1*meter_6+3*meter_6 73.90/46.72 73.90/46.72 120: f9 -> f9 : A'=meter_7+A, B'=meter_7+B, C'=meter_7+B, D'=1, E'=1, F'=0, H'=1, Q'=1, [ free_2>=1 && 2>=A && 0>=C && D==E && F==0 && Q==0 && H==0 && 2*meter_7==-Q-H && meter_7>=1 ], cost: 3*meter_7+3*meter_7*free_2 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Chained accelerated rules (with incoming rules): 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 0: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=free, [ free>=1 ], cost: 1 73.90/46.72 73.90/46.72 121: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=0, H'=0, Q'=0, [ free>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 122: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 123: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 124: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 125: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Removed unreachable locations (and leaf rules with constant cost): 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 121: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=0, H'=0, Q'=0, [ free>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 122: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 123: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 124: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 125: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 ### Computing asymptotic complexity ### 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Fully simplified ITS problem 73.90/46.72 73.90/46.72 Start location: f0 73.90/46.72 73.90/46.72 121: f0 -> f9 : A'=0, B'=1, C'=1, D'=0, E'=0, F'=0, H'=0, Q'=0, [ free>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 122: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 123: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && 0>=1+free_6 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 124: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && 0>=1+free_5 ], cost: 1+3*free 73.90/46.72 73.90/46.72 125: f0 -> f9 : A'=0, B'=1, C'=1, D'=1, E'=1, F'=0, H'=free_5, Q'=free_6, [ free>=1 && free_6>=1 && free_5>=1 ], cost: 1+3*free 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Computing asymptotic complexity for rule 121 73.90/46.72 73.90/46.72 Solved the limit problem by the following transformations: 73.90/46.72 73.90/46.72 Created initial limit problem: 73.90/46.72 73.90/46.72 free (+/+!), 1+3*free (+) [not solved] 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 removing all constraints (solved by SMT) 73.90/46.72 73.90/46.72 resulting limit problem: [solved] 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 applying transformation rule (C) using substitution {free==n} 73.90/46.72 73.90/46.72 resulting limit problem: 73.90/46.72 73.90/46.72 [solved] 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Solution: 73.90/46.72 73.90/46.72 free / n 73.90/46.72 73.90/46.72 Resulting cost 1+3*n has complexity: Unbounded 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Found new complexity Unbounded. 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 Obtained the following overall complexity (w.r.t. the length of the input n): 73.90/46.72 73.90/46.72 Complexity: Unbounded 73.90/46.72 73.90/46.72 Cpx degree: Unbounded 73.90/46.72 73.90/46.72 Solved cost: 1+3*n 73.90/46.72 73.90/46.72 Rule cost: 1+3*free 73.90/46.72 73.90/46.72 Rule guard: [ free>=1 ] 73.90/46.72 73.90/46.72 73.90/46.72 73.90/46.72 WORST_CASE(INF,?) 73.90/46.72 73.90/46.72 73.90/46.72 ---------------------------------------- 73.90/46.72 73.90/46.72 (2) 73.90/46.72 BOUNDS(INF, INF) 73.90/46.73 EOF