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