NO Initial ITS Start location: l5 0: l0 -> l1 : ___rho_1^0'=___rho_1^post0, p^0'=p^post0, x^0'=x^post0, ___rho_2^0'=___rho_2^post0, start^0'=start^post0, (p^post0 == 0 /\ x^0-x^post0 == 0 /\ ___rho_2^0 <= 0 /\ ___rho_1^0-___rho_1^post0 == 0 /\ -start^post0+start^0 == 0 /\ -___rho_2^post0+___rho_2^0 == 0), cost: 1 1: l0 -> l1 : ___rho_1^0'=___rho_1^post1, p^0'=p^post1, x^0'=x^post1, ___rho_2^0'=___rho_2^post1, start^0'=start^post1, (-x^post1+x^0 == 0 /\ -1+p^post1 == 0 /\ 1-___rho_2^0 <= 0 /\ ___rho_1^0-___rho_1^post1 == 0 /\ ___rho_2^0-___rho_2^post1 == 0 /\ -start^post1+start^0 == 0), cost: 1 2: l1 -> l0 : ___rho_1^0'=___rho_1^post2, p^0'=p^post2, x^0'=x^post2, ___rho_2^0'=___rho_2^post2, start^0'=start^post2, (0 == 0 /\ ___rho_1^0-___rho_1^post2 == 0 /\ -x^post2+x^0 == 0 /\ p^0-p^post2 == 0 /\ -start^post2+start^0 == 0), cost: 1 3: l2 -> l3 : ___rho_1^0'=___rho_1^post3, p^0'=p^post3, x^0'=x^post3, ___rho_2^0'=___rho_2^post3, start^0'=start^post3, (___rho_1^0 <= 0 /\ -start^post3+start^0 == 0 /\ ___rho_2^0-___rho_2^post3 == 0 /\ 2-x^0+x^post3 == 0 /\ p^0-p^post3 == 0 /\ ___rho_1^0-___rho_1^post3 == 0), cost: 1 4: l2 -> l3 : ___rho_1^0'=___rho_1^post4, p^0'=p^post4, x^0'=x^post4, ___rho_2^0'=___rho_2^post4, start^0'=start^post4, (1-___rho_1^0 <= 0 /\ -start^post4+start^0 == 0 /\ -___rho_2^post4+___rho_2^0 == 0 /\ ___rho_1^0-___rho_1^post4 == 0 /\ p^0-p^post4 == 0 /\ 1+x^post4-x^0 == 0), cost: 1 5: l3 -> l1 : ___rho_1^0'=___rho_1^post5, p^0'=p^post5, x^0'=x^post5, ___rho_2^0'=___rho_2^post5, start^0'=start^post5, (-start^post5+start^0 == 0 /\ x^0 <= 0 /\ x^0-x^post5 == 0 /\ ___rho_1^0-___rho_1^post5 == 0 /\ -___rho_2^post5+___rho_2^0 == 0 /\ p^0-p^post5 == 0), cost: 1 6: l3 -> l2 : ___rho_1^0'=___rho_1^post6, p^0'=p^post6, x^0'=x^post6, ___rho_2^0'=___rho_2^post6, start^0'=start^post6, (0 == 0 /\ start^0-start^post6 == 0 /\ -x^post6+x^0 == 0 /\ 1-x^0 <= 0 /\ p^0-p^post6 == 0 /\ -___rho_2^post6+___rho_2^0 == 0), cost: 1 7: l4 -> l3 : ___rho_1^0'=___rho_1^post7, p^0'=p^post7, x^0'=x^post7, ___rho_2^0'=___rho_2^post7, start^0'=start^post7, (___rho_1^0-___rho_1^post7 == 0 /\ start^post7 == 0 /\ -___rho_2^post7+___rho_2^0 == 0 /\ -1+start^20 == 0 /\ start^10 == 0 /\ p^post7 == 0 /\ -x^post7+x^0 == 0), cost: 1 8: l5 -> l4 : ___rho_1^0'=___rho_1^post8, p^0'=p^post8, x^0'=x^post8, ___rho_2^0'=___rho_2^post8, start^0'=start^post8, (___rho_1^0-___rho_1^post8 == 0 /\ -x^post8+x^0 == 0 /\ p^0-p^post8 == 0 /\ -start^post8+start^0 == 0 /\ -___rho_2^post8+___rho_2^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : ___rho_1^0'=___rho_1^post0, p^0'=p^post0, x^0'=x^post0, ___rho_2^0'=___rho_2^post0, start^0'=start^post0, (p^post0 == 0 /\ x^0-x^post0 == 0 /\ ___rho_2^0 <= 0 /\ ___rho_1^0-___rho_1^post0 == 0 /\ -start^post0+start^0 == 0 /\ -___rho_2^post0+___rho_2^0 == 0), cost: 1 New rule: l0 -> l1 : p^0'=0, ___rho_2^0 <= 0, cost: 1 Applied preprocessing Original rule: l0 -> l1 : ___rho_1^0'=___rho_1^post1, p^0'=p^post1, x^0'=x^post1, ___rho_2^0'=___rho_2^post1, start^0'=start^post1, (-x^post1+x^0 == 0 /\ -1+p^post1 == 0 /\ 1-___rho_2^0 <= 0 /\ ___rho_1^0-___rho_1^post1 == 0 /\ ___rho_2^0-___rho_2^post1 == 0 /\ -start^post1+start^0 == 0), cost: 1 New rule: l0 -> l1 : p^0'=1, -1+___rho_2^0 >= 0, cost: 1 Applied preprocessing Original rule: l1 -> l0 : ___rho_1^0'=___rho_1^post2, p^0'=p^post2, x^0'=x^post2, ___rho_2^0'=___rho_2^post2, start^0'=start^post2, (0 == 0 /\ ___rho_1^0-___rho_1^post2 == 0 /\ -x^post2+x^0 == 0 /\ p^0-p^post2 == 0 /\ -start^post2+start^0 == 0), cost: 1 New rule: l1 -> l0 : ___rho_2^0'=___rho_2^post2, 0 == 0, cost: 1 Applied preprocessing Original rule: l2 -> l3 : ___rho_1^0'=___rho_1^post3, p^0'=p^post3, x^0'=x^post3, ___rho_2^0'=___rho_2^post3, start^0'=start^post3, (___rho_1^0 <= 0 /\ -start^post3+start^0 == 0 /\ ___rho_2^0-___rho_2^post3 == 0 /\ 2-x^0+x^post3 == 0 /\ p^0-p^post3 == 0 /\ ___rho_1^0-___rho_1^post3 == 0), cost: 1 New rule: l2 -> l3 : x^0'=-2+x^0, ___rho_1^0 <= 0, cost: 1 Applied preprocessing Original rule: l2 -> l3 : ___rho_1^0'=___rho_1^post4, p^0'=p^post4, x^0'=x^post4, ___rho_2^0'=___rho_2^post4, start^0'=start^post4, (1-___rho_1^0 <= 0 /\ -start^post4+start^0 == 0 /\ -___rho_2^post4+___rho_2^0 == 0 /\ ___rho_1^0-___rho_1^post4 == 0 /\ p^0-p^post4 == 0 /\ 1+x^post4-x^0 == 0), cost: 1 New rule: l2 -> l3 : x^0'=-1+x^0, -1+___rho_1^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l1 : ___rho_1^0'=___rho_1^post5, p^0'=p^post5, x^0'=x^post5, ___rho_2^0'=___rho_2^post5, start^0'=start^post5, (-start^post5+start^0 == 0 /\ x^0 <= 0 /\ x^0-x^post5 == 0 /\ ___rho_1^0-___rho_1^post5 == 0 /\ -___rho_2^post5+___rho_2^0 == 0 /\ p^0-p^post5 == 0), cost: 1 New rule: l3 -> l1 : x^0 <= 0, cost: 1 Applied preprocessing Original rule: l3 -> l2 : ___rho_1^0'=___rho_1^post6, p^0'=p^post6, x^0'=x^post6, ___rho_2^0'=___rho_2^post6, start^0'=start^post6, (0 == 0 /\ start^0-start^post6 == 0 /\ -x^post6+x^0 == 0 /\ 1-x^0 <= 0 /\ p^0-p^post6 == 0 /\ -___rho_2^post6+___rho_2^0 == 0), cost: 1 New rule: l3 -> l2 : ___rho_1^0'=___rho_1^post6, -1+x^0 >= 0, cost: 1 Applied preprocessing Original rule: l4 -> l3 : ___rho_1^0'=___rho_1^post7, p^0'=p^post7, x^0'=x^post7, ___rho_2^0'=___rho_2^post7, start^0'=start^post7, (___rho_1^0-___rho_1^post7 == 0 /\ start^post7 == 0 /\ -___rho_2^post7+___rho_2^0 == 0 /\ -1+start^20 == 0 /\ start^10 == 0 /\ p^post7 == 0 /\ -x^post7+x^0 == 0), cost: 1 New rule: l4 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l4 : ___rho_1^0'=___rho_1^post8, p^0'=p^post8, x^0'=x^post8, ___rho_2^0'=___rho_2^post8, start^0'=start^post8, (___rho_1^0-___rho_1^post8 == 0 /\ -x^post8+x^0 == 0 /\ p^0-p^post8 == 0 /\ -start^post8+start^0 == 0 /\ -___rho_2^post8+___rho_2^0 == 0), cost: 1 New rule: l5 -> l4 : TRUE, cost: 1 Simplified rules Start location: l5 9: l0 -> l1 : p^0'=0, ___rho_2^0 <= 0, cost: 1 10: l0 -> l1 : p^0'=1, -1+___rho_2^0 >= 0, cost: 1 11: l1 -> l0 : ___rho_2^0'=___rho_2^post2, 0 == 0, cost: 1 12: l2 -> l3 : x^0'=-2+x^0, ___rho_1^0 <= 0, cost: 1 13: l2 -> l3 : x^0'=-1+x^0, -1+___rho_1^0 >= 0, cost: 1 14: l3 -> l1 : x^0 <= 0, cost: 1 15: l3 -> l2 : ___rho_1^0'=___rho_1^post6, -1+x^0 >= 0, cost: 1 16: l4 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 1 17: l5 -> l4 : TRUE, cost: 1 Eliminating location l4 by chaining: Applied chaining First rule: l5 -> l4 : TRUE, cost: 1 Second rule: l4 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 1 New rule: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Applied deletion Removed the following rules: 16 17 Eliminated locations on linear paths Start location: l5 9: l0 -> l1 : p^0'=0, ___rho_2^0 <= 0, cost: 1 10: l0 -> l1 : p^0'=1, -1+___rho_2^0 >= 0, cost: 1 11: l1 -> l0 : ___rho_2^0'=___rho_2^post2, 0 == 0, cost: 1 12: l2 -> l3 : x^0'=-2+x^0, ___rho_1^0 <= 0, cost: 1 13: l2 -> l3 : x^0'=-1+x^0, -1+___rho_1^0 >= 0, cost: 1 14: l3 -> l1 : x^0 <= 0, cost: 1 15: l3 -> l2 : ___rho_1^0'=___rho_1^post6, -1+x^0 >= 0, cost: 1 18: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Eliminating location l2 by chaining: Applied chaining First rule: l3 -> l2 : ___rho_1^0'=___rho_1^post6, -1+x^0 >= 0, cost: 1 Second rule: l2 -> l3 : x^0'=-2+x^0, ___rho_1^0 <= 0, cost: 1 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-2+x^0, (___rho_1^post6 <= 0 /\ -1+x^0 >= 0), cost: 2 Applied chaining First rule: l3 -> l2 : ___rho_1^0'=___rho_1^post6, -1+x^0 >= 0, cost: 1 Second rule: l2 -> l3 : x^0'=-1+x^0, -1+___rho_1^0 >= 0, cost: 1 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-1+x^0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2 Applied deletion Removed the following rules: 12 13 15 Eliminating location l0 by chaining: Applied chaining First rule: l1 -> l0 : ___rho_2^0'=___rho_2^post2, 0 == 0, cost: 1 Second rule: l0 -> l1 : p^0'=0, ___rho_2^0 <= 0, cost: 1 New rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, (0 == 0 /\ ___rho_2^post2 <= 0), cost: 2 Applied simplification Original rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, (0 == 0 /\ ___rho_2^post2 <= 0), cost: 2 New rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2 Applied chaining First rule: l1 -> l0 : ___rho_2^0'=___rho_2^post2, 0 == 0, cost: 1 Second rule: l0 -> l1 : p^0'=1, -1+___rho_2^0 >= 0, cost: 1 New rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, (0 == 0 /\ -1+___rho_2^post2 >= 0), cost: 2 Applied simplification Original rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, (0 == 0 /\ -1+___rho_2^post2 >= 0), cost: 2 New rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2 Applied deletion Removed the following rules: 9 10 11 Eliminated locations on tree-shaped paths Start location: l5 21: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2 22: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2 14: l3 -> l1 : x^0 <= 0, cost: 1 19: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-2+x^0, (___rho_1^post6 <= 0 /\ -1+x^0 >= 0), cost: 2 20: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-1+x^0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2 18: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Applied nonterm Original rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2 New rule: l1 -> [6] : -___rho_2^post2 >= 0, cost: NONTERM Applied acceleration Original rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2 New rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, -___rho_2^post2 >= 0, cost: 2*n1 Applied nonterm Original rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2 New rule: l1 -> [6] : -1+___rho_2^post2 >= 0, cost: NONTERM Applied acceleration Original rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2 New rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2*n3 Applied simplification Original rule: l1 -> [6] : -___rho_2^post2 >= 0, cost: NONTERM New rule: l1 -> [6] : ___rho_2^post2 <= 0, cost: NONTERM Applied simplification Original rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, -___rho_2^post2 >= 0, cost: 2*n1 New rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2*n1 Applied deletion Removed the following rules: 21 22 Applied acceleration Original rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-2+x^0, (___rho_1^post6 <= 0 /\ -1+x^0 >= 0), cost: 2 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=x^0-2*n7, (-___rho_1^post6 >= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0), cost: 2*n7 Applied acceleration Original rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-1+x^0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-n9+x^0, (-1+___rho_1^post6 >= 0 /\ -1+n9 >= 0 /\ -n9+x^0 >= 0), cost: 2*n9 Applied instantiation Original rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=-n9+x^0, (-1+___rho_1^post6 >= 0 /\ -1+n9 >= 0 /\ -n9+x^0 >= 0), cost: 2*n9 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=0, (0 >= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2*x^0 Applied simplification Original rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=x^0-2*n7, (-___rho_1^post6 >= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0), cost: 2*n7 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=x^0-2*n7, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2*n7 Applied simplification Original rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=0, (0 >= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2*x^0 New rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2*x^0 Applied deletion Removed the following rules: 19 20 Accelerated simple loops Start location: l5 25: l1 -> [6] : -1+___rho_2^post2 >= 0, cost: NONTERM 26: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2*n3 27: l1 -> [6] : ___rho_2^post2 <= 0, cost: NONTERM 28: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2*n1 14: l3 -> l1 : x^0 <= 0, cost: 1 31: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=x^0-2*n7, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2*n7 32: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2*x^0 18: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Applied chaining First rule: l3 -> l1 : x^0 <= 0, cost: 1 Second rule: l1 -> [6] : -1+___rho_2^post2 >= 0, cost: NONTERM New rule: l3 -> [6] : x^0 <= 0, cost: NONTERM Applied chaining First rule: l3 -> l1 : x^0 <= 0, cost: 1 Second rule: l1 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, -1+___rho_2^post2 >= 0, cost: 2*n3 New rule: l3 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, (x^0 <= 0 /\ -1+___rho_2^post2 >= 0), cost: 1+2*n3 Applied chaining First rule: l3 -> l1 : x^0 <= 0, cost: 1 Second rule: l1 -> [6] : ___rho_2^post2 <= 0, cost: NONTERM New rule: l3 -> [6] : x^0 <= 0, cost: NONTERM Applied chaining First rule: l3 -> l1 : x^0 <= 0, cost: 1 Second rule: l1 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, ___rho_2^post2 <= 0, cost: 2*n1 New rule: l3 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, (___rho_2^post2 <= 0 /\ x^0 <= 0), cost: 1+2*n1 Applied deletion Removed the following rules: 25 26 27 28 Applied chaining First rule: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Second rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=x^0-2*n7, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2*n7 New rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=x^0-2*n7, start^0'=0, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2+2*n7 Applied chaining First rule: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Second rule: l3 -> l3 : ___rho_1^0'=___rho_1^post6, x^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2*x^0 New rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=0, start^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2+2*x^0 Applied deletion Removed the following rules: 31 32 Chained accelerated rules with incoming rules Start location: l5 14: l3 -> l1 : x^0 <= 0, cost: 1 33: l3 -> [6] : x^0 <= 0, cost: NONTERM 34: l3 -> l1 : p^0'=1, ___rho_2^0'=___rho_2^post2, (x^0 <= 0 /\ -1+___rho_2^post2 >= 0), cost: 1+2*n3 35: l3 -> [6] : x^0 <= 0, cost: NONTERM 36: l3 -> l1 : p^0'=0, ___rho_2^0'=___rho_2^post2, (___rho_2^post2 <= 0 /\ x^0 <= 0), cost: 1+2*n1 18: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 37: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=x^0-2*n7, start^0'=0, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2+2*n7 38: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=0, start^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2+2*x^0 Removed unreachable locations and irrelevant leafs Start location: l5 33: l3 -> [6] : x^0 <= 0, cost: NONTERM 35: l3 -> [6] : x^0 <= 0, cost: NONTERM 18: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 37: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=x^0-2*n7, start^0'=0, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2+2*n7 38: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=0, start^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2+2*x^0 Eliminating location l3 by chaining: Applied chaining First rule: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : x^0 <= 0, cost: NONTERM Applied chaining First rule: l5 -> l3 : p^0'=0, start^0'=0, TRUE, cost: 2 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : x^0 <= 0, cost: NONTERM Applied chaining First rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=x^0-2*n7, start^0'=0, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2+2*n7 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : (x^0-2*n7 <= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: NONTERM Applied chaining First rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=x^0-2*n7, start^0'=0, (1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: 2+2*n7 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : (x^0-2*n7 <= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: NONTERM Applied chaining First rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=0, start^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2+2*x^0 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : (0 <= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM Applied simplification Original rule: l5 -> [6] : (0 <= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM New rule: l5 -> [6] : (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM Applied chaining First rule: l5 -> l3 : ___rho_1^0'=___rho_1^post6, p^0'=0, x^0'=0, start^0'=0, (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: 2+2*x^0 Second rule: l3 -> [6] : x^0 <= 0, cost: NONTERM New rule: l5 -> [6] : (0 <= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM Applied simplification Original rule: l5 -> [6] : (0 <= 0 /\ -1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM New rule: l5 -> [6] : (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM Applied deletion Removed the following rules: 18 33 35 37 38 Eliminated locations on tree-shaped paths Start location: l5 39: l5 -> [6] : x^0 <= 0, cost: NONTERM 40: l5 -> [6] : x^0 <= 0, cost: NONTERM 41: l5 -> [6] : (x^0-2*n7 <= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: NONTERM 42: l5 -> [6] : (x^0-2*n7 <= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: NONTERM 43: l5 -> [6] : (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM 44: l5 -> [6] : (-1+___rho_1^post6 >= 0 /\ -1+x^0 >= 0), cost: NONTERM Removed duplicate rules (ignoring updates) Start location: l5 40: l5 -> [6] : x^0 <= 0, cost: NONTERM 42: l5 -> [6] : (x^0-2*n7 <= 0 /\ 1+x^0-2*n7 >= 0 /\ -1+n7 >= 0 /\ ___rho_1^post6 <= 0), cost: NONTERM 44: l5 -> [6] : (-1+___rho_1^post6 >= 0 /\ -1+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: x^0 <= 0