NO Initial ITS Start location: l8 0: l0 -> l1 : p^0'=p^post0, y^0'=y^post0, x^0'=x^post0, (-1+x^post0 == 0 /\ p^0-p^post0 == 0 /\ y^0-y^post0 == 0), cost: 1 1: l1 -> l0 : p^0'=p^post1, y^0'=y^post1, x^0'=x^post1, (y^0-y^post1 == 0 /\ p^0-p^post1 == 0 /\ x^0-x^post1 == 0), cost: 1 2: l2 -> l0 : p^0'=p^post2, y^0'=y^post2, x^0'=x^post2, (p^post2 == 0 /\ y^0-y^post2 == 0 /\ y^0 <= 0 /\ x^0-x^post2 == 0), cost: 1 3: l2 -> l3 : p^0'=p^post3, y^0'=y^post3, x^0'=x^post3, (x^0-x^post3 == 0 /\ 1-y^0 <= 0 /\ 1-y^0+y^post3 == 0 /\ p^0-p^post3 == 0), cost: 1 4: l3 -> l2 : p^0'=p^post4, y^0'=y^post4, x^0'=x^post4, (y^0-y^post4 == 0 /\ x^0-x^post4 == 0 /\ p^0-p^post4 == 0), cost: 1 5: l4 -> l0 : p^0'=p^post5, y^0'=y^post5, x^0'=x^post5, (2 <= 0 /\ p^0-p^post5 == 0 /\ y^0-y^post5 == 0 /\ x^0-x^post5 == 0), cost: 1 6: l4 -> l5 : p^0'=p^post6, y^0'=y^post6, x^0'=x^post6, (x^0-x^post6 == 0 /\ -1-p^0+p^post6 == 0 /\ y^0-y^post6 == 0), cost: 1 7: l5 -> l4 : p^0'=p^post7, y^0'=y^post7, x^0'=x^post7, (y^0-y^post7 == 0 /\ x^0-x^post7 == 0 /\ p^0-p^post7 == 0), cost: 1 8: l6 -> l2 : p^0'=p^post8, y^0'=y^post8, x^0'=x^post8, (p^0-p^post8 == 0 /\ x^0 <= 0 /\ y^0-y^post8 == 0 /\ x^0-x^post8 == 0), cost: 1 9: l6 -> l4 : p^0'=p^post9, y^0'=y^post9, x^0'=x^post9, (p^0-p^post9 == 0 /\ 1-x^0 <= 0 /\ y^0-y^post9 == 0 /\ -x^post9+x^0 == 0), cost: 1 10: l7 -> l6 : p^0'=p^post10, y^0'=y^post10, x^0'=x^post10, (-y^post10+y^0 == 0 /\ -x^post10+x^0 == 0 /\ p^post10 == 0), cost: 1 11: l8 -> l7 : p^0'=p^post11, y^0'=y^post11, x^0'=x^post11, (-y^post11+y^0 == 0 /\ -x^post11+x^0 == 0 /\ p^0-p^post11 == 0), cost: 1 Removed rules with unsatisfiable guard Start location: l8 0: l0 -> l1 : p^0'=p^post0, y^0'=y^post0, x^0'=x^post0, (-1+x^post0 == 0 /\ p^0-p^post0 == 0 /\ y^0-y^post0 == 0), cost: 1 1: l1 -> l0 : p^0'=p^post1, y^0'=y^post1, x^0'=x^post1, (y^0-y^post1 == 0 /\ p^0-p^post1 == 0 /\ x^0-x^post1 == 0), cost: 1 2: l2 -> l0 : p^0'=p^post2, y^0'=y^post2, x^0'=x^post2, (p^post2 == 0 /\ y^0-y^post2 == 0 /\ y^0 <= 0 /\ x^0-x^post2 == 0), cost: 1 3: l2 -> l3 : p^0'=p^post3, y^0'=y^post3, x^0'=x^post3, (x^0-x^post3 == 0 /\ 1-y^0 <= 0 /\ 1-y^0+y^post3 == 0 /\ p^0-p^post3 == 0), cost: 1 4: l3 -> l2 : p^0'=p^post4, y^0'=y^post4, x^0'=x^post4, (y^0-y^post4 == 0 /\ x^0-x^post4 == 0 /\ p^0-p^post4 == 0), cost: 1 6: l4 -> l5 : p^0'=p^post6, y^0'=y^post6, x^0'=x^post6, (x^0-x^post6 == 0 /\ -1-p^0+p^post6 == 0 /\ y^0-y^post6 == 0), cost: 1 7: l5 -> l4 : p^0'=p^post7, y^0'=y^post7, x^0'=x^post7, (y^0-y^post7 == 0 /\ x^0-x^post7 == 0 /\ p^0-p^post7 == 0), cost: 1 8: l6 -> l2 : p^0'=p^post8, y^0'=y^post8, x^0'=x^post8, (p^0-p^post8 == 0 /\ x^0 <= 0 /\ y^0-y^post8 == 0 /\ x^0-x^post8 == 0), cost: 1 9: l6 -> l4 : p^0'=p^post9, y^0'=y^post9, x^0'=x^post9, (p^0-p^post9 == 0 /\ 1-x^0 <= 0 /\ y^0-y^post9 == 0 /\ -x^post9+x^0 == 0), cost: 1 10: l7 -> l6 : p^0'=p^post10, y^0'=y^post10, x^0'=x^post10, (-y^post10+y^0 == 0 /\ -x^post10+x^0 == 0 /\ p^post10 == 0), cost: 1 11: l8 -> l7 : p^0'=p^post11, y^0'=y^post11, x^0'=x^post11, (-y^post11+y^0 == 0 /\ -x^post11+x^0 == 0 /\ p^0-p^post11 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : p^0'=p^post0, y^0'=y^post0, x^0'=x^post0, (-1+x^post0 == 0 /\ p^0-p^post0 == 0 /\ y^0-y^post0 == 0), cost: 1 New rule: l0 -> l1 : x^0'=1, TRUE, cost: 1 Applied preprocessing Original rule: l1 -> l0 : p^0'=p^post1, y^0'=y^post1, x^0'=x^post1, (y^0-y^post1 == 0 /\ p^0-p^post1 == 0 /\ x^0-x^post1 == 0), cost: 1 New rule: l1 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l0 : p^0'=p^post2, y^0'=y^post2, x^0'=x^post2, (p^post2 == 0 /\ y^0-y^post2 == 0 /\ y^0 <= 0 /\ x^0-x^post2 == 0), cost: 1 New rule: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 Applied preprocessing Original rule: l2 -> l3 : p^0'=p^post3, y^0'=y^post3, x^0'=x^post3, (x^0-x^post3 == 0 /\ 1-y^0 <= 0 /\ 1-y^0+y^post3 == 0 /\ p^0-p^post3 == 0), cost: 1 New rule: l2 -> l3 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l2 : p^0'=p^post4, y^0'=y^post4, x^0'=x^post4, (y^0-y^post4 == 0 /\ x^0-x^post4 == 0 /\ p^0-p^post4 == 0), cost: 1 New rule: l3 -> l2 : TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l5 : p^0'=p^post6, y^0'=y^post6, x^0'=x^post6, (x^0-x^post6 == 0 /\ -1-p^0+p^post6 == 0 /\ y^0-y^post6 == 0), cost: 1 New rule: l4 -> l5 : p^0'=1+p^0, TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l4 : p^0'=p^post7, y^0'=y^post7, x^0'=x^post7, (y^0-y^post7 == 0 /\ x^0-x^post7 == 0 /\ p^0-p^post7 == 0), cost: 1 New rule: l5 -> l4 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l2 : p^0'=p^post8, y^0'=y^post8, x^0'=x^post8, (p^0-p^post8 == 0 /\ x^0 <= 0 /\ y^0-y^post8 == 0 /\ x^0-x^post8 == 0), cost: 1 New rule: l6 -> l2 : x^0 <= 0, cost: 1 Applied preprocessing Original rule: l6 -> l4 : p^0'=p^post9, y^0'=y^post9, x^0'=x^post9, (p^0-p^post9 == 0 /\ 1-x^0 <= 0 /\ y^0-y^post9 == 0 /\ -x^post9+x^0 == 0), cost: 1 New rule: l6 -> l4 : -1+x^0 >= 0, cost: 1 Applied preprocessing Original rule: l7 -> l6 : p^0'=p^post10, y^0'=y^post10, x^0'=x^post10, (-y^post10+y^0 == 0 /\ -x^post10+x^0 == 0 /\ p^post10 == 0), cost: 1 New rule: l7 -> l6 : p^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l8 -> l7 : p^0'=p^post11, y^0'=y^post11, x^0'=x^post11, (-y^post11+y^0 == 0 /\ -x^post11+x^0 == 0 /\ p^0-p^post11 == 0), cost: 1 New rule: l8 -> l7 : TRUE, cost: 1 Simplified rules Start location: l8 12: l0 -> l1 : x^0'=1, TRUE, cost: 1 13: l1 -> l0 : TRUE, cost: 1 14: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 15: l2 -> l3 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 1 16: l3 -> l2 : TRUE, cost: 1 17: l4 -> l5 : p^0'=1+p^0, TRUE, cost: 1 18: l5 -> l4 : TRUE, cost: 1 19: l6 -> l2 : x^0 <= 0, cost: 1 20: l6 -> l4 : -1+x^0 >= 0, cost: 1 21: l7 -> l6 : p^0'=0, TRUE, cost: 1 22: l8 -> l7 : TRUE, cost: 1 Eliminating location l7 by chaining: Applied chaining First rule: l8 -> l7 : TRUE, cost: 1 Second rule: l7 -> l6 : p^0'=0, TRUE, cost: 1 New rule: l8 -> l6 : p^0'=0, TRUE, cost: 2 Applied deletion Removed the following rules: 21 22 Eliminating location l3 by chaining: Applied chaining First rule: l2 -> l3 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 1 Second rule: l3 -> l2 : TRUE, cost: 1 New rule: l2 -> l2 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 2 Applied deletion Removed the following rules: 15 16 Eliminating location l1 by chaining: Applied chaining First rule: l0 -> l1 : x^0'=1, TRUE, cost: 1 Second rule: l1 -> l0 : TRUE, cost: 1 New rule: l0 -> l0 : x^0'=1, TRUE, cost: 2 Applied deletion Removed the following rules: 12 13 Eliminating location l5 by chaining: Applied chaining First rule: l4 -> l5 : p^0'=1+p^0, TRUE, cost: 1 Second rule: l5 -> l4 : TRUE, cost: 1 New rule: l4 -> l4 : p^0'=1+p^0, TRUE, cost: 2 Applied deletion Removed the following rules: 17 18 Eliminated locations on linear paths Start location: l8 25: l0 -> l0 : x^0'=1, TRUE, cost: 2 14: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 24: l2 -> l2 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 2 26: l4 -> l4 : p^0'=1+p^0, TRUE, cost: 2 19: l6 -> l2 : x^0 <= 0, cost: 1 20: l6 -> l4 : -1+x^0 >= 0, cost: 1 23: l8 -> l6 : p^0'=0, TRUE, cost: 2 Applied nonterm Original rule: l0 -> l0 : x^0'=1, TRUE, cost: 2 New rule: l0 -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: l0 -> l0 : x^0'=1, TRUE, cost: 2 New rule: l0 -> l0 : x^0'=1, TRUE, cost: 2*n0 Applied deletion Removed the following rules: 25 Applied acceleration Original rule: l2 -> l2 : y^0'=-1+y^0, -1+y^0 >= 0, cost: 2 New rule: l2 -> l2 : y^0'=y^0-n3, (y^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 Applied instantiation Original rule: l2 -> l2 : y^0'=y^0-n3, (y^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 New rule: l2 -> l2 : y^0'=0, (0 >= 0 /\ y^0 >= 0), cost: 2*y^0 Applied simplification Original rule: l2 -> l2 : y^0'=0, (0 >= 0 /\ y^0 >= 0), cost: 2*y^0 New rule: l2 -> l2 : y^0'=0, y^0 >= 0, cost: 2*y^0 Applied deletion Removed the following rules: 24 Applied nonterm Original rule: l4 -> l4 : p^0'=1+p^0, TRUE, cost: 2 New rule: l4 -> [11] : TRUE, cost: NONTERM Applied acceleration Original rule: l4 -> l4 : p^0'=1+p^0, TRUE, cost: 2 New rule: l4 -> l4 : p^0'=p^0+n6, TRUE, cost: 2*n6 Applied deletion Removed the following rules: 26 Accelerated simple loops Start location: l8 27: l0 -> [9] : TRUE, cost: NONTERM 28: l0 -> l0 : x^0'=1, TRUE, cost: 2*n0 14: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 30: l2 -> l2 : y^0'=0, y^0 >= 0, cost: 2*y^0 31: l4 -> [11] : TRUE, cost: NONTERM 32: l4 -> l4 : p^0'=p^0+n6, TRUE, cost: 2*n6 19: l6 -> l2 : x^0 <= 0, cost: 1 20: l6 -> l4 : -1+x^0 >= 0, cost: 1 23: l8 -> l6 : p^0'=0, TRUE, cost: 2 Applied chaining First rule: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 Second rule: l0 -> [9] : TRUE, cost: NONTERM New rule: l2 -> [9] : y^0 <= 0, cost: NONTERM Applied chaining First rule: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 Second rule: l0 -> l0 : x^0'=1, TRUE, cost: 2*n0 New rule: l2 -> l0 : p^0'=0, x^0'=1, y^0 <= 0, cost: 1+2*n0 Applied deletion Removed the following rules: 27 28 Applied chaining First rule: l6 -> l2 : x^0 <= 0, cost: 1 Second rule: l2 -> l2 : y^0'=0, y^0 >= 0, cost: 2*y^0 New rule: l6 -> l2 : y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 1+2*y^0 Applied deletion Removed the following rules: 30 Applied chaining First rule: l6 -> l4 : -1+x^0 >= 0, cost: 1 Second rule: l4 -> [11] : TRUE, cost: NONTERM New rule: l6 -> [11] : -1+x^0 >= 0, cost: NONTERM Applied chaining First rule: l6 -> l4 : -1+x^0 >= 0, cost: 1 Second rule: l4 -> l4 : p^0'=p^0+n6, TRUE, cost: 2*n6 New rule: l6 -> l4 : p^0'=p^0+n6, -1+x^0 >= 0, cost: 1+2*n6 Applied deletion Removed the following rules: 31 32 Chained accelerated rules with incoming rules Start location: l8 14: l2 -> l0 : p^0'=0, y^0 <= 0, cost: 1 33: l2 -> [9] : y^0 <= 0, cost: NONTERM 34: l2 -> l0 : p^0'=0, x^0'=1, y^0 <= 0, cost: 1+2*n0 19: l6 -> l2 : x^0 <= 0, cost: 1 20: l6 -> l4 : -1+x^0 >= 0, cost: 1 35: l6 -> l2 : y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 1+2*y^0 36: l6 -> [11] : -1+x^0 >= 0, cost: NONTERM 37: l6 -> l4 : p^0'=p^0+n6, -1+x^0 >= 0, cost: 1+2*n6 23: l8 -> l6 : p^0'=0, TRUE, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l8 33: l2 -> [9] : y^0 <= 0, cost: NONTERM 19: l6 -> l2 : x^0 <= 0, cost: 1 35: l6 -> l2 : y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 1+2*y^0 36: l6 -> [11] : -1+x^0 >= 0, cost: NONTERM 23: l8 -> l6 : p^0'=0, TRUE, cost: 2 Eliminating location l6 by chaining: Applied chaining First rule: l8 -> l6 : p^0'=0, TRUE, cost: 2 Second rule: l6 -> l2 : x^0 <= 0, cost: 1 New rule: l8 -> l2 : p^0'=0, x^0 <= 0, cost: 3 Applied chaining First rule: l8 -> l6 : p^0'=0, TRUE, cost: 2 Second rule: l6 -> l2 : y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 1+2*y^0 New rule: l8 -> l2 : p^0'=0, y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 3+2*y^0 Applied chaining First rule: l8 -> l6 : p^0'=0, TRUE, cost: 2 Second rule: l6 -> [11] : -1+x^0 >= 0, cost: NONTERM New rule: l8 -> [11] : -1+x^0 >= 0, cost: NONTERM Applied deletion Removed the following rules: 19 23 35 36 Eliminated locations on tree-shaped paths Start location: l8 33: l2 -> [9] : y^0 <= 0, cost: NONTERM 38: l8 -> l2 : p^0'=0, x^0 <= 0, cost: 3 39: l8 -> l2 : p^0'=0, y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 3+2*y^0 40: l8 -> [11] : -1+x^0 >= 0, cost: NONTERM Eliminating location l2 by chaining: Applied chaining First rule: l8 -> l2 : p^0'=0, x^0 <= 0, cost: 3 Second rule: l2 -> [9] : y^0 <= 0, cost: NONTERM New rule: l8 -> [9] : (y^0 <= 0 /\ x^0 <= 0), cost: NONTERM Applied chaining First rule: l8 -> l2 : p^0'=0, y^0'=0, (y^0 >= 0 /\ x^0 <= 0), cost: 3+2*y^0 Second rule: l2 -> [9] : y^0 <= 0, cost: NONTERM New rule: l8 -> [9] : (0 <= 0 /\ y^0 >= 0 /\ x^0 <= 0), cost: NONTERM Applied simplification Original rule: l8 -> [9] : (0 <= 0 /\ y^0 >= 0 /\ x^0 <= 0), cost: NONTERM New rule: l8 -> [9] : (y^0 >= 0 /\ x^0 <= 0), cost: NONTERM Applied deletion Removed the following rules: 33 38 39 Eliminated locations on tree-shaped paths Start location: l8 40: l8 -> [11] : -1+x^0 >= 0, cost: NONTERM 41: l8 -> [9] : (y^0 <= 0 /\ x^0 <= 0), cost: NONTERM 42: l8 -> [9] : (y^0 >= 0 /\ x^0 <= 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 40 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: -1+x^0 >= 0