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