NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l13 0: l0 -> l1 : Result_4^0'=Result_4^post_1, tmp_7^0'=tmp_7^post_1, x_5^0'=x_5^post_1, y_6^0'=y_6^post_1, [ Result_4^0==Result_4^post_1 && tmp_7^0==tmp_7^post_1 && x_5^0==x_5^post_1 && y_6^0==y_6^post_1 ], cost: 1 1: l1 -> l3 : Result_4^0'=Result_4^post_2, tmp_7^0'=tmp_7^post_2, x_5^0'=x_5^post_2, y_6^0'=y_6^post_2, [ -x_5^0+y_6^0<=0 && -x_5^0+y_6^0<=0 && Result_4^0==Result_4^post_2 && tmp_7^0==tmp_7^post_2 && x_5^0==x_5^post_2 && y_6^0==y_6^post_2 ], cost: 1 5: l1 -> l5 : Result_4^0'=Result_4^post_6, tmp_7^0'=tmp_7^post_6, x_5^0'=x_5^post_6, y_6^0'=y_6^post_6, [ -x_5^0+y_6^0<=0 && -x_5^0+y_6^0<=0 && x_5^0<=y_6^0 && y_6^0<=x_5^0 && tmp_7^post_6==tmp_7^post_6 && tmp_7^post_6<=0 && 0<=tmp_7^post_6 && Result_4^0==Result_4^post_6 && x_5^0==x_5^post_6 && y_6^0==y_6^post_6 ], cost: 1 7: l1 -> l7 : Result_4^0'=Result_4^post_8, tmp_7^0'=tmp_7^post_8, x_5^0'=x_5^post_8, y_6^0'=y_6^post_8, [ -x_5^0+y_6^0<=0 && -x_5^0+y_6^0<=0 && x_5^0<=y_6^0 && y_6^0<=x_5^0 && tmp_7^post_8==tmp_7^post_8 && Result_4^0==Result_4^post_8 && x_5^0==x_5^post_8 && y_6^0==y_6^post_8 ], cost: 1 12: l1 -> l9 : Result_4^0'=Result_4^post_13, tmp_7^0'=tmp_7^post_13, x_5^0'=x_5^post_13, y_6^0'=y_6^post_13, [ 0<=-1-x_5^0+y_6^0 && tmp_7^post_13==tmp_7^post_13 && tmp_7^post_13<=0 && 0<=tmp_7^post_13 && Result_4^0==Result_4^post_13 && x_5^0==x_5^post_13 && y_6^0==y_6^post_13 ], cost: 1 14: l1 -> l11 : Result_4^0'=Result_4^post_15, tmp_7^0'=tmp_7^post_15, x_5^0'=x_5^post_15, y_6^0'=y_6^post_15, [ 0<=-1-x_5^0+y_6^0 && tmp_7^post_15==tmp_7^post_15 && Result_4^0==Result_4^post_15 && x_5^0==x_5^post_15 && y_6^0==y_6^post_15 ], cost: 1 2: l3 -> l4 : Result_4^0'=Result_4^post_3, tmp_7^0'=tmp_7^post_3, x_5^0'=x_5^post_3, y_6^0'=y_6^post_3, [ 1+x_5^0<=y_6^0 && Result_4^0==Result_4^post_3 && tmp_7^0==tmp_7^post_3 && x_5^0==x_5^post_3 && y_6^0==y_6^post_3 ], cost: 1 3: l3 -> l4 : Result_4^0'=Result_4^post_4, tmp_7^0'=tmp_7^post_4, x_5^0'=x_5^post_4, y_6^0'=y_6^post_4, [ 1+y_6^0<=x_5^0 && Result_4^0==Result_4^post_4 && tmp_7^0==tmp_7^post_4 && x_5^0==x_5^post_4 && y_6^0==y_6^post_4 ], cost: 1 4: l4 -> l2 : Result_4^0'=Result_4^post_5, tmp_7^0'=tmp_7^post_5, x_5^0'=x_5^post_5, y_6^0'=y_6^post_5, [ Result_4^post_5==Result_4^post_5 && tmp_7^0==tmp_7^post_5 && x_5^0==x_5^post_5 && y_6^0==y_6^post_5 ], cost: 1 6: l5 -> l1 : Result_4^0'=Result_4^post_7, tmp_7^0'=tmp_7^post_7, x_5^0'=x_5^post_7, y_6^0'=y_6^post_7, [ Result_4^0==Result_4^post_7 && tmp_7^0==tmp_7^post_7 && x_5^0==x_5^post_7 && y_6^0==y_6^post_7 ], cost: 1 8: l7 -> l8 : Result_4^0'=Result_4^post_9, tmp_7^0'=tmp_7^post_9, x_5^0'=x_5^post_9, y_6^0'=y_6^post_9, [ 1+tmp_7^0<=0 && Result_4^0==Result_4^post_9 && tmp_7^0==tmp_7^post_9 && x_5^0==x_5^post_9 && y_6^0==y_6^post_9 ], cost: 1 9: l7 -> l8 : Result_4^0'=Result_4^post_10, tmp_7^0'=tmp_7^post_10, x_5^0'=x_5^post_10, y_6^0'=y_6^post_10, [ 1<=tmp_7^0 && Result_4^0==Result_4^post_10 && tmp_7^0==tmp_7^post_10 && x_5^0==x_5^post_10 && y_6^0==y_6^post_10 ], cost: 1 10: l8 -> l6 : Result_4^0'=Result_4^post_11, tmp_7^0'=tmp_7^post_11, x_5^0'=x_5^post_11, y_6^0'=y_6^post_11, [ x_5^post_11==1+x_5^0 && Result_4^0==Result_4^post_11 && tmp_7^0==tmp_7^post_11 && y_6^0==y_6^post_11 ], cost: 1 11: l6 -> l1 : Result_4^0'=Result_4^post_12, tmp_7^0'=tmp_7^post_12, x_5^0'=x_5^post_12, y_6^0'=y_6^post_12, [ Result_4^0==Result_4^post_12 && tmp_7^0==tmp_7^post_12 && x_5^0==x_5^post_12 && y_6^0==y_6^post_12 ], cost: 1 13: l9 -> l1 : Result_4^0'=Result_4^post_14, tmp_7^0'=tmp_7^post_14, x_5^0'=x_5^post_14, y_6^0'=y_6^post_14, [ Result_4^0==Result_4^post_14 && tmp_7^0==tmp_7^post_14 && x_5^0==x_5^post_14 && y_6^0==y_6^post_14 ], cost: 1 15: l11 -> l12 : Result_4^0'=Result_4^post_16, tmp_7^0'=tmp_7^post_16, x_5^0'=x_5^post_16, y_6^0'=y_6^post_16, [ 1+tmp_7^0<=0 && Result_4^0==Result_4^post_16 && tmp_7^0==tmp_7^post_16 && x_5^0==x_5^post_16 && y_6^0==y_6^post_16 ], cost: 1 16: l11 -> l12 : Result_4^0'=Result_4^post_17, tmp_7^0'=tmp_7^post_17, x_5^0'=x_5^post_17, y_6^0'=y_6^post_17, [ 1<=tmp_7^0 && Result_4^0==Result_4^post_17 && tmp_7^0==tmp_7^post_17 && x_5^0==x_5^post_17 && y_6^0==y_6^post_17 ], cost: 1 17: l12 -> l10 : Result_4^0'=Result_4^post_18, tmp_7^0'=tmp_7^post_18, x_5^0'=x_5^post_18, y_6^0'=y_6^post_18, [ x_5^post_18==1+x_5^0 && Result_4^0==Result_4^post_18 && tmp_7^0==tmp_7^post_18 && y_6^0==y_6^post_18 ], cost: 1 18: l10 -> l1 : Result_4^0'=Result_4^post_19, tmp_7^0'=tmp_7^post_19, x_5^0'=x_5^post_19, y_6^0'=y_6^post_19, [ Result_4^0==Result_4^post_19 && tmp_7^0==tmp_7^post_19 && x_5^0==x_5^post_19 && y_6^0==y_6^post_19 ], cost: 1 19: l13 -> l0 : Result_4^0'=Result_4^post_20, tmp_7^0'=tmp_7^post_20, x_5^0'=x_5^post_20, y_6^0'=y_6^post_20, [ Result_4^0==Result_4^post_20 && tmp_7^0==tmp_7^post_20 && x_5^0==x_5^post_20 && y_6^0==y_6^post_20 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 19: l13 -> l0 : Result_4^0'=Result_4^post_20, tmp_7^0'=tmp_7^post_20, x_5^0'=x_5^post_20, y_6^0'=y_6^post_20, [ Result_4^0==Result_4^post_20 && tmp_7^0==tmp_7^post_20 && x_5^0==x_5^post_20 && y_6^0==y_6^post_20 ], cost: 1 Removed unreachable and leaf rules: Start location: l13 0: l0 -> l1 : Result_4^0'=Result_4^post_1, tmp_7^0'=tmp_7^post_1, x_5^0'=x_5^post_1, y_6^0'=y_6^post_1, [ Result_4^0==Result_4^post_1 && tmp_7^0==tmp_7^post_1 && x_5^0==x_5^post_1 && y_6^0==y_6^post_1 ], cost: 1 5: l1 -> l5 : Result_4^0'=Result_4^post_6, tmp_7^0'=tmp_7^post_6, x_5^0'=x_5^post_6, y_6^0'=y_6^post_6, [ -x_5^0+y_6^0<=0 && -x_5^0+y_6^0<=0 && x_5^0<=y_6^0 && y_6^0<=x_5^0 && tmp_7^post_6==tmp_7^post_6 && tmp_7^post_6<=0 && 0<=tmp_7^post_6 && Result_4^0==Result_4^post_6 && x_5^0==x_5^post_6 && y_6^0==y_6^post_6 ], cost: 1 7: l1 -> l7 : Result_4^0'=Result_4^post_8, tmp_7^0'=tmp_7^post_8, x_5^0'=x_5^post_8, y_6^0'=y_6^post_8, [ -x_5^0+y_6^0<=0 && -x_5^0+y_6^0<=0 && x_5^0<=y_6^0 && y_6^0<=x_5^0 && tmp_7^post_8==tmp_7^post_8 && Result_4^0==Result_4^post_8 && x_5^0==x_5^post_8 && y_6^0==y_6^post_8 ], cost: 1 12: l1 -> l9 : Result_4^0'=Result_4^post_13, tmp_7^0'=tmp_7^post_13, x_5^0'=x_5^post_13, y_6^0'=y_6^post_13, [ 0<=-1-x_5^0+y_6^0 && tmp_7^post_13==tmp_7^post_13 && tmp_7^post_13<=0 && 0<=tmp_7^post_13 && Result_4^0==Result_4^post_13 && x_5^0==x_5^post_13 && y_6^0==y_6^post_13 ], cost: 1 14: l1 -> l11 : Result_4^0'=Result_4^post_15, tmp_7^0'=tmp_7^post_15, x_5^0'=x_5^post_15, y_6^0'=y_6^post_15, [ 0<=-1-x_5^0+y_6^0 && tmp_7^post_15==tmp_7^post_15 && Result_4^0==Result_4^post_15 && x_5^0==x_5^post_15 && y_6^0==y_6^post_15 ], cost: 1 6: l5 -> l1 : Result_4^0'=Result_4^post_7, tmp_7^0'=tmp_7^post_7, x_5^0'=x_5^post_7, y_6^0'=y_6^post_7, [ Result_4^0==Result_4^post_7 && tmp_7^0==tmp_7^post_7 && x_5^0==x_5^post_7 && y_6^0==y_6^post_7 ], cost: 1 8: l7 -> l8 : Result_4^0'=Result_4^post_9, tmp_7^0'=tmp_7^post_9, x_5^0'=x_5^post_9, y_6^0'=y_6^post_9, [ 1+tmp_7^0<=0 && Result_4^0==Result_4^post_9 && tmp_7^0==tmp_7^post_9 && x_5^0==x_5^post_9 && y_6^0==y_6^post_9 ], cost: 1 9: l7 -> l8 : Result_4^0'=Result_4^post_10, tmp_7^0'=tmp_7^post_10, x_5^0'=x_5^post_10, y_6^0'=y_6^post_10, [ 1<=tmp_7^0 && Result_4^0==Result_4^post_10 && tmp_7^0==tmp_7^post_10 && x_5^0==x_5^post_10 && y_6^0==y_6^post_10 ], cost: 1 10: l8 -> l6 : Result_4^0'=Result_4^post_11, tmp_7^0'=tmp_7^post_11, x_5^0'=x_5^post_11, y_6^0'=y_6^post_11, [ x_5^post_11==1+x_5^0 && Result_4^0==Result_4^post_11 && tmp_7^0==tmp_7^post_11 && y_6^0==y_6^post_11 ], cost: 1 11: l6 -> l1 : Result_4^0'=Result_4^post_12, tmp_7^0'=tmp_7^post_12, x_5^0'=x_5^post_12, y_6^0'=y_6^post_12, [ Result_4^0==Result_4^post_12 && tmp_7^0==tmp_7^post_12 && x_5^0==x_5^post_12 && y_6^0==y_6^post_12 ], cost: 1 13: l9 -> l1 : Result_4^0'=Result_4^post_14, tmp_7^0'=tmp_7^post_14, x_5^0'=x_5^post_14, y_6^0'=y_6^post_14, [ Result_4^0==Result_4^post_14 && tmp_7^0==tmp_7^post_14 && x_5^0==x_5^post_14 && y_6^0==y_6^post_14 ], cost: 1 15: l11 -> l12 : Result_4^0'=Result_4^post_16, tmp_7^0'=tmp_7^post_16, x_5^0'=x_5^post_16, y_6^0'=y_6^post_16, [ 1+tmp_7^0<=0 && Result_4^0==Result_4^post_16 && tmp_7^0==tmp_7^post_16 && x_5^0==x_5^post_16 && y_6^0==y_6^post_16 ], cost: 1 16: l11 -> l12 : Result_4^0'=Result_4^post_17, tmp_7^0'=tmp_7^post_17, x_5^0'=x_5^post_17, y_6^0'=y_6^post_17, [ 1<=tmp_7^0 && Result_4^0==Result_4^post_17 && tmp_7^0==tmp_7^post_17 && x_5^0==x_5^post_17 && y_6^0==y_6^post_17 ], cost: 1 17: l12 -> l10 : Result_4^0'=Result_4^post_18, tmp_7^0'=tmp_7^post_18, x_5^0'=x_5^post_18, y_6^0'=y_6^post_18, [ x_5^post_18==1+x_5^0 && Result_4^0==Result_4^post_18 && tmp_7^0==tmp_7^post_18 && y_6^0==y_6^post_18 ], cost: 1 18: l10 -> l1 : Result_4^0'=Result_4^post_19, tmp_7^0'=tmp_7^post_19, x_5^0'=x_5^post_19, y_6^0'=y_6^post_19, [ Result_4^0==Result_4^post_19 && tmp_7^0==tmp_7^post_19 && x_5^0==x_5^post_19 && y_6^0==y_6^post_19 ], cost: 1 19: l13 -> l0 : Result_4^0'=Result_4^post_20, tmp_7^0'=tmp_7^post_20, x_5^0'=x_5^post_20, y_6^0'=y_6^post_20, [ Result_4^0==Result_4^post_20 && tmp_7^0==tmp_7^post_20 && x_5^0==x_5^post_20 && y_6^0==y_6^post_20 ], cost: 1 Simplified all rules, resulting in: Start location: l13 0: l0 -> l1 : [], cost: 1 5: l1 -> l5 : tmp_7^0'=0, [ -x_5^0+y_6^0==0 ], cost: 1 7: l1 -> l7 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 ], cost: 1 12: l1 -> l9 : tmp_7^0'=0, [ 0<=-1-x_5^0+y_6^0 ], cost: 1 14: l1 -> l11 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 ], cost: 1 6: l5 -> l1 : [], cost: 1 8: l7 -> l8 : [ 1+tmp_7^0<=0 ], cost: 1 9: l7 -> l8 : [ 1<=tmp_7^0 ], cost: 1 10: l8 -> l6 : x_5^0'=1+x_5^0, [], cost: 1 11: l6 -> l1 : [], cost: 1 13: l9 -> l1 : [], cost: 1 15: l11 -> l12 : [ 1+tmp_7^0<=0 ], cost: 1 16: l11 -> l12 : [ 1<=tmp_7^0 ], cost: 1 17: l12 -> l10 : x_5^0'=1+x_5^0, [], cost: 1 18: l10 -> l1 : [], cost: 1 19: l13 -> l0 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l13 7: l1 -> l7 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 ], cost: 1 14: l1 -> l11 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 ], cost: 1 21: l1 -> l1 : tmp_7^0'=0, [ -x_5^0+y_6^0==0 ], cost: 2 22: l1 -> l1 : tmp_7^0'=0, [ 0<=-1-x_5^0+y_6^0 ], cost: 2 8: l7 -> l8 : [ 1+tmp_7^0<=0 ], cost: 1 9: l7 -> l8 : [ 1<=tmp_7^0 ], cost: 1 23: l8 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 15: l11 -> l12 : [ 1+tmp_7^0<=0 ], cost: 1 16: l11 -> l12 : [ 1<=tmp_7^0 ], cost: 1 24: l12 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 20: l13 -> l1 : [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 21: l1 -> l1 : tmp_7^0'=0, [ -x_5^0+y_6^0==0 ], cost: 2 22: l1 -> l1 : tmp_7^0'=0, [ 0<=-1-x_5^0+y_6^0 ], cost: 2 Accelerated rule 21 with NONTERM, yielding the new rule 25. Accelerated rule 22 with NONTERM, yielding the new rule 26. Removing the simple loops: 21 22. Accelerated all simple loops using metering functions (where possible): Start location: l13 7: l1 -> l7 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 ], cost: 1 14: l1 -> l11 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 ], cost: 1 25: l1 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 26: l1 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM 8: l7 -> l8 : [ 1+tmp_7^0<=0 ], cost: 1 9: l7 -> l8 : [ 1<=tmp_7^0 ], cost: 1 23: l8 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 15: l11 -> l12 : [ 1+tmp_7^0<=0 ], cost: 1 16: l11 -> l12 : [ 1<=tmp_7^0 ], cost: 1 24: l12 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 20: l13 -> l1 : [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l13 7: l1 -> l7 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 ], cost: 1 14: l1 -> l11 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 ], cost: 1 8: l7 -> l8 : [ 1+tmp_7^0<=0 ], cost: 1 9: l7 -> l8 : [ 1<=tmp_7^0 ], cost: 1 23: l8 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 28: l8 -> [14] : x_5^0'=1+x_5^0, [ -1-x_5^0+y_6^0==0 ], cost: NONTERM 31: l8 -> [14] : x_5^0'=1+x_5^0, [ 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 15: l11 -> l12 : [ 1+tmp_7^0<=0 ], cost: 1 16: l11 -> l12 : [ 1<=tmp_7^0 ], cost: 1 24: l12 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 29: l12 -> [14] : x_5^0'=1+x_5^0, [ -1-x_5^0+y_6^0==0 ], cost: NONTERM 32: l12 -> [14] : x_5^0'=1+x_5^0, [ 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 20: l13 -> l1 : [], cost: 2 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: l13 33: l1 -> l8 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 2 34: l1 -> l8 : tmp_7^0'=tmp_7^post_8, [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 2 35: l1 -> l12 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 2 36: l1 -> l12 : tmp_7^0'=tmp_7^post_15, [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 2 23: l8 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 28: l8 -> [14] : x_5^0'=1+x_5^0, [ -1-x_5^0+y_6^0==0 ], cost: NONTERM 31: l8 -> [14] : x_5^0'=1+x_5^0, [ 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 24: l12 -> l1 : x_5^0'=1+x_5^0, [], cost: 2 29: l12 -> [14] : x_5^0'=1+x_5^0, [ -1-x_5^0+y_6^0==0 ], cost: NONTERM 32: l12 -> [14] : x_5^0'=1+x_5^0, [ 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 20: l13 -> l1 : [], cost: 2 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: l13 37: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+x_5^0, [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 4 38: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+x_5^0, [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 4 39: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 4 40: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 41: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 42: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 4 43: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 44: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 20: l13 -> l1 : [], cost: 2 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM Accelerating simple loops of location 1. Accelerating the following rules: 37: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+x_5^0, [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 4 38: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+x_5^0, [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 4 39: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 4 42: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 4 Accelerated rule 37 with metering function 1-x_5^0+y_6^0, yielding the new rule 45. Accelerated rule 38 with metering function 1-x_5^0+y_6^0, yielding the new rule 46. Accelerated rule 39 with metering function -x_5^0+y_6^0, yielding the new rule 47. Accelerated rule 42 with metering function -x_5^0+y_6^0, yielding the new rule 48. Removing the simple loops: 37 38 39 42. Accelerated all simple loops using metering functions (where possible): Start location: l13 40: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 41: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 43: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 44: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 45: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+y_6^0, [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 4-4*x_5^0+4*y_6^0 46: l1 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+y_6^0, [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 4-4*x_5^0+4*y_6^0 47: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=y_6^0, [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: -4*x_5^0+4*y_6^0 48: l1 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=y_6^0, [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: -4*x_5^0+4*y_6^0 20: l13 -> l1 : [], cost: 2 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM Chained accelerated rules (with incoming rules): Start location: l13 40: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 41: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 43: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 44: l1 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 20: l13 -> l1 : [], cost: 2 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM 49: l13 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+y_6^0, [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 6-4*x_5^0+4*y_6^0 50: l13 -> l1 : tmp_7^0'=tmp_7^post_8, x_5^0'=1+y_6^0, [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 6-4*x_5^0+4*y_6^0 51: l13 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=y_6^0, [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 2-4*x_5^0+4*y_6^0 52: l13 -> l1 : tmp_7^0'=tmp_7^post_15, x_5^0'=y_6^0, [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 2-4*x_5^0+4*y_6^0 Eliminated locations (on tree-shaped paths): Start location: l13 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM 53: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 54: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 55: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 56: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 57: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 6-4*x_5^0+4*y_6^0 58: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 6-4*x_5^0+4*y_6^0 59: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 2-4*x_5^0+4*y_6^0 60: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 2-4*x_5^0+4*y_6^0 Applied pruning (of leafs and parallel rules): Start location: l13 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM 53: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 54: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 56: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 57: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 6-4*x_5^0+4*y_6^0 58: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 6-4*x_5^0+4*y_6^0 59: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 2-4*x_5^0+4*y_6^0 60: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 2-4*x_5^0+4*y_6^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l13 27: l13 -> [14] : [ -x_5^0+y_6^0==0 ], cost: NONTERM 30: l13 -> [14] : [ 0<=-1-x_5^0+y_6^0 ], cost: NONTERM 53: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && -1-x_5^0+y_6^0==0 ], cost: NONTERM 54: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1+tmp_7^post_15<=0 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 56: l13 -> [14] : tmp_7^0'=tmp_7^post_15, x_5^0'=1+x_5^0, [ 1<=tmp_7^post_15 && 0<=-2-x_5^0+y_6^0 ], cost: NONTERM 57: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1+tmp_7^post_8<=0 ], cost: 6-4*x_5^0+4*y_6^0 58: l13 -> [16] : [ -x_5^0+y_6^0==0 && 1<=tmp_7^post_8 ], cost: 6-4*x_5^0+4*y_6^0 59: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1+tmp_7^post_15<=0 ], cost: 2-4*x_5^0+4*y_6^0 60: l13 -> [16] : [ 0<=-1-x_5^0+y_6^0 && 1<=tmp_7^post_15 ], cost: 2-4*x_5^0+4*y_6^0 Computing asymptotic complexity for rule 27 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [ -x_5^0+y_6^0==0 ] NO