NO Initial ITS Start location: l4 Program variables: cnt_15^0 cnt_20^0 lt_7^0 lt_8^0 lt_9^0 result_4^0 x_5^0 y_6^0 0: l0 -> l1 : cnt_15^0'=cnt_15^post1, cnt_20^0'=cnt_20^post1, lt_7^0'=lt_7^post1, lt_8^0'=lt_8^post1, lt_9^0'=lt_9^post1, result_4^0'=result_4^post1, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ -cnt_20^post1+cnt_20^0 == 0 /\ result_4^0-result_4^post1 == 0 /\ lt_8^0-lt_8^post1 == 0 /\ lt_7^0-lt_7^post1 == 0 /\ -cnt_15^post1+cnt_15^0 == 0 /\ -lt_9^post1+lt_9^0 == 0), cost: 1 1: l1 -> l2 : cnt_15^0'=cnt_15^post2, cnt_20^0'=cnt_20^post2, lt_7^0'=lt_7^post2, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^post2, y_6^0'=y_6^post2, (0 == 0 /\ -y_6^post2+y_6^0 == 0 /\ -cnt_15^post2+cnt_15^0 == 0 /\ -lt_8^1+lt_9^1 <= 0 /\ -cnt_20^post2+cnt_20^0 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_7^0-lt_7^post2 == 0 /\ x_5^0-x_5^post2 == 0 /\ lt_8^1-cnt_15^0 == 0), cost: 1 2: l1 -> l3 : cnt_15^0'=cnt_15^post3, cnt_20^0'=cnt_20^post3, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^post3, x_5^0'=x_5^post3, y_6^0'=y_6^post3, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0), cost: 1 3: l3 -> l1 : cnt_15^0'=cnt_15^post4, cnt_20^0'=cnt_20^post4, lt_7^0'=lt_7^post4, lt_8^0'=lt_8^post4, lt_9^0'=lt_9^post4, result_4^0'=result_4^post4, x_5^0'=x_5^post4, y_6^0'=y_6^post4, (lt_7^0-lt_7^post4 == 0 /\ cnt_20^0-cnt_20^post4 == 0 /\ x_5^0-x_5^post4 == 0 /\ result_4^0-result_4^post4 == 0 /\ -lt_8^post4+lt_8^0 == 0 /\ lt_9^0-lt_9^post4 == 0 /\ y_6^0-y_6^post4 == 0 /\ -cnt_15^post4+cnt_15^0 == 0), cost: 1 4: l4 -> l0 : cnt_15^0'=cnt_15^post5, cnt_20^0'=cnt_20^post5, lt_7^0'=lt_7^post5, lt_8^0'=lt_8^post5, lt_9^0'=lt_9^post5, result_4^0'=result_4^post5, x_5^0'=x_5^post5, y_6^0'=y_6^post5, (lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 Chained Linear Paths Start location: l4 Program variables: cnt_15^0 cnt_20^0 lt_7^0 lt_8^0 lt_9^0 result_4^0 x_5^0 y_6^0 1: l1 -> l2 : cnt_15^0'=cnt_15^post2, cnt_20^0'=cnt_20^post2, lt_7^0'=lt_7^post2, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^post2, y_6^0'=y_6^post2, (0 == 0 /\ -y_6^post2+y_6^0 == 0 /\ -cnt_15^post2+cnt_15^0 == 0 /\ -lt_8^1+lt_9^1 <= 0 /\ -cnt_20^post2+cnt_20^0 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_7^0-lt_7^post2 == 0 /\ x_5^0-x_5^post2 == 0 /\ lt_8^1-cnt_15^0 == 0), cost: 1 6: l1 -> l1 : cnt_15^0'=cnt_15^post4, cnt_20^0'=cnt_20^post4, lt_7^0'=lt_7^post4, lt_8^0'=lt_8^post4, lt_9^0'=lt_9^post4, result_4^0'=result_4^post4, x_5^0'=x_5^post4, y_6^0'=y_6^post4, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ lt_7^post3-lt_7^post4 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ cnt_20^post3-cnt_20^post4 == 0 /\ -lt_8^post4+lt_8^post3 == 0 /\ lt_9^post3-lt_9^post4 == 0 /\ -x_5^post4+x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ -cnt_15^post4+cnt_15^post3 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0 /\ result_4^post3-result_4^post4 == 0 /\ -y_6^post4+y_6^post3 == 0), cost: 1 5: l4 -> l1 : cnt_15^0'=cnt_15^post1, cnt_20^0'=cnt_20^post1, lt_7^0'=lt_7^post1, lt_8^0'=lt_8^post1, lt_9^0'=lt_9^post1, result_4^0'=result_4^post1, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ cnt_20^post5-cnt_20^post1 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ lt_8^post5-lt_8^post1 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ lt_9^post5-lt_9^post1 == 0 /\ -cnt_15^post1+cnt_15^post5 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_7^post5-lt_7^post1 == 0 /\ result_4^post5-result_4^post1 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 Eliminating location l0 by chaining: Applied chaining First rule: l4 -> l0 : cnt_15^0'=cnt_15^post5, cnt_20^0'=cnt_20^post5, lt_7^0'=lt_7^post5, lt_8^0'=lt_8^post5, lt_9^0'=lt_9^post5, result_4^0'=result_4^post5, x_5^0'=x_5^post5, y_6^0'=y_6^post5, (lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 Second rule: l0 -> l1 : cnt_15^0'=cnt_15^post1, cnt_20^0'=cnt_20^post1, lt_7^0'=lt_7^post1, lt_8^0'=lt_8^post1, lt_9^0'=lt_9^post1, result_4^0'=result_4^post1, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ -cnt_20^post1+cnt_20^0 == 0 /\ result_4^0-result_4^post1 == 0 /\ lt_8^0-lt_8^post1 == 0 /\ lt_7^0-lt_7^post1 == 0 /\ -cnt_15^post1+cnt_15^0 == 0 /\ -lt_9^post1+lt_9^0 == 0), cost: 1 New rule: l4 -> l1 : cnt_15^0'=cnt_15^post1, cnt_20^0'=cnt_20^post1, lt_7^0'=lt_7^post1, lt_8^0'=lt_8^post1, lt_9^0'=lt_9^post1, result_4^0'=result_4^post1, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ cnt_20^post5-cnt_20^post1 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ lt_8^post5-lt_8^post1 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ lt_9^post5-lt_9^post1 == 0 /\ -cnt_15^post1+cnt_15^post5 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_7^post5-lt_7^post1 == 0 /\ result_4^post5-result_4^post1 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 Applied deletion Removed the following rules: 0 4 Eliminating location l3 by chaining: Applied chaining First rule: l1 -> l3 : cnt_15^0'=cnt_15^post3, cnt_20^0'=cnt_20^post3, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^post3, x_5^0'=x_5^post3, y_6^0'=y_6^post3, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0), cost: 1 Second rule: l3 -> l1 : cnt_15^0'=cnt_15^post4, cnt_20^0'=cnt_20^post4, lt_7^0'=lt_7^post4, lt_8^0'=lt_8^post4, lt_9^0'=lt_9^post4, result_4^0'=result_4^post4, x_5^0'=x_5^post4, y_6^0'=y_6^post4, (lt_7^0-lt_7^post4 == 0 /\ cnt_20^0-cnt_20^post4 == 0 /\ x_5^0-x_5^post4 == 0 /\ result_4^0-result_4^post4 == 0 /\ -lt_8^post4+lt_8^0 == 0 /\ lt_9^0-lt_9^post4 == 0 /\ y_6^0-y_6^post4 == 0 /\ -cnt_15^post4+cnt_15^0 == 0), cost: 1 New rule: l1 -> l1 : cnt_15^0'=cnt_15^post4, cnt_20^0'=cnt_20^post4, lt_7^0'=lt_7^post4, lt_8^0'=lt_8^post4, lt_9^0'=lt_9^post4, result_4^0'=result_4^post4, x_5^0'=x_5^post4, y_6^0'=y_6^post4, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ lt_7^post3-lt_7^post4 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ cnt_20^post3-cnt_20^post4 == 0 /\ -lt_8^post4+lt_8^post3 == 0 /\ lt_9^post3-lt_9^post4 == 0 /\ -x_5^post4+x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ -cnt_15^post4+cnt_15^post3 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0 /\ result_4^post3-result_4^post4 == 0 /\ -y_6^post4+y_6^post3 == 0), cost: 1 Applied deletion Removed the following rules: 2 3 Simplified Transitions Start location: l4 Program variables: cnt_15^0 cnt_20^0 lt_7^0 lt_8^0 lt_9^0 result_4^0 x_5^0 y_6^0 7: l1 -> l2 : lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, cnt_20^0-cnt_15^0 <= 0, cost: 1 9: l1 -> l1 : lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, 1-cnt_20^0+cnt_15^0 <= 0, cost: 1 8: l4 -> l1 : x_5^0'=x_5^post1, y_6^0'=y_6^post1, T, cost: 1 Propagated Equalities Original rule: l1 -> l2 : cnt_15^0'=cnt_15^post2, cnt_20^0'=cnt_20^post2, lt_7^0'=lt_7^post2, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^post2, y_6^0'=y_6^post2, (0 == 0 /\ -y_6^post2+y_6^0 == 0 /\ -cnt_15^post2+cnt_15^0 == 0 /\ -lt_8^1+lt_9^1 <= 0 /\ -cnt_20^post2+cnt_20^0 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_7^0-lt_7^post2 == 0 /\ x_5^0-x_5^post2 == 0 /\ lt_8^1-cnt_15^0 == 0), cost: 1 New rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ -lt_8^1+lt_9^1 <= 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0), cost: 1 propagated equality y_6^post2 = y_6^0 propagated equality cnt_15^post2 = cnt_15^0 propagated equality cnt_20^post2 = cnt_20^0 propagated equality lt_7^post2 = lt_7^0 propagated equality x_5^post2 = x_5^0 Propagated Equalities Original rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ -lt_8^1+lt_9^1 <= 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0), cost: 1 New rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ cnt_20^0-cnt_15^0 <= 0), cost: 1 propagated equality lt_9^1 = cnt_20^0 propagated equality lt_8^1 = cnt_15^0 Simplified Guard Original rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ cnt_20^0-cnt_15^0 <= 0), cost: 1 New rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, cnt_20^0-cnt_15^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l2 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, x_5^0'=x_5^0, y_6^0'=y_6^0, cnt_20^0-cnt_15^0 <= 0, cost: 1 New rule: l1 -> l2 : lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, cnt_20^0-cnt_15^0 <= 0, cost: 1 Propagated Equalities Original rule: l4 -> l1 : cnt_15^0'=cnt_15^post1, cnt_20^0'=cnt_20^post1, lt_7^0'=lt_7^post1, lt_8^0'=lt_8^post1, lt_9^0'=lt_9^post1, result_4^0'=result_4^post1, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ cnt_20^post5-cnt_20^post1 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ lt_8^post5-lt_8^post1 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ lt_9^post5-lt_9^post1 == 0 /\ -cnt_15^post1+cnt_15^post5 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_7^post5-lt_7^post1 == 0 /\ result_4^post5-result_4^post1 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 New rule: l4 -> l1 : cnt_15^0'=cnt_15^post5, cnt_20^0'=cnt_20^post5, lt_7^0'=lt_7^post5, lt_8^0'=lt_8^post5, lt_9^0'=lt_9^post5, result_4^0'=result_4^post5, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 propagated equality cnt_20^post1 = cnt_20^post5 propagated equality lt_8^post1 = lt_8^post5 propagated equality lt_9^post1 = lt_9^post5 propagated equality cnt_15^post1 = cnt_15^post5 propagated equality lt_7^post1 = lt_7^post5 propagated equality result_4^post1 = result_4^post5 Propagated Equalities Original rule: l4 -> l1 : cnt_15^0'=cnt_15^post5, cnt_20^0'=cnt_20^post5, lt_7^0'=lt_7^post5, lt_8^0'=lt_8^post5, lt_9^0'=lt_9^post5, result_4^0'=result_4^post5, x_5^0'=x_5^post1, y_6^0'=y_6^post1, (0 == 0 /\ lt_7^0-lt_7^post5 == 0 /\ x_5^0-x_5^post5 == 0 /\ result_4^0-result_4^post5 == 0 /\ -cnt_20^post5+cnt_20^0 == 0 /\ -cnt_15^post5+cnt_15^0 == 0 /\ -lt_9^post5+lt_9^0 == 0 /\ lt_8^0-lt_8^post5 == 0 /\ -y_6^post5+y_6^0 == 0), cost: 1 New rule: l4 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^0, lt_9^0'=lt_9^0, result_4^0'=result_4^0, x_5^0'=x_5^post1, y_6^0'=y_6^post1, 0 == 0, cost: 1 propagated equality lt_7^post5 = lt_7^0 propagated equality x_5^post5 = x_5^0 propagated equality result_4^post5 = result_4^0 propagated equality cnt_20^post5 = cnt_20^0 propagated equality cnt_15^post5 = cnt_15^0 propagated equality lt_9^post5 = lt_9^0 propagated equality lt_8^post5 = lt_8^0 propagated equality y_6^post5 = y_6^0 Simplified Guard Original rule: l4 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^0, lt_9^0'=lt_9^0, result_4^0'=result_4^0, x_5^0'=x_5^post1, y_6^0'=y_6^post1, 0 == 0, cost: 1 New rule: l4 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^0, lt_9^0'=lt_9^0, result_4^0'=result_4^0, x_5^0'=x_5^post1, y_6^0'=y_6^post1, T, cost: 1 Removed Trivial Updates Original rule: l4 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^0, lt_8^0'=lt_8^0, lt_9^0'=lt_9^0, result_4^0'=result_4^0, x_5^0'=x_5^post1, y_6^0'=y_6^post1, T, cost: 1 New rule: l4 -> l1 : x_5^0'=x_5^post1, y_6^0'=y_6^post1, T, cost: 1 Propagated Equalities Original rule: l1 -> l1 : cnt_15^0'=cnt_15^post4, cnt_20^0'=cnt_20^post4, lt_7^0'=lt_7^post4, lt_8^0'=lt_8^post4, lt_9^0'=lt_9^post4, result_4^0'=result_4^post4, x_5^0'=x_5^post4, y_6^0'=y_6^post4, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ lt_7^post3-lt_7^post4 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ cnt_20^post3-cnt_20^post4 == 0 /\ -lt_8^post4+lt_8^post3 == 0 /\ lt_9^post3-lt_9^post4 == 0 /\ -x_5^post4+x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ -cnt_15^post4+cnt_15^post3 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0 /\ result_4^post3-result_4^post4 == 0 /\ -y_6^post4+y_6^post3 == 0), cost: 1 New rule: l1 -> l1 : cnt_15^0'=cnt_15^post3, cnt_20^0'=cnt_20^post3, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^post3, x_5^0'=x_5^post3, y_6^0'=y_6^post3, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0), cost: 1 propagated equality lt_7^post4 = lt_7^post3 propagated equality cnt_20^post4 = cnt_20^post3 propagated equality lt_8^post4 = lt_8^post3 propagated equality lt_9^post4 = lt_9^post3 propagated equality x_5^post4 = x_5^post3 propagated equality cnt_15^post4 = cnt_15^post3 propagated equality result_4^post4 = result_4^post3 propagated equality y_6^post4 = y_6^post3 Propagated Equalities Original rule: l1 -> l1 : cnt_15^0'=cnt_15^post3, cnt_20^0'=cnt_20^post3, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^post3, x_5^0'=x_5^post3, y_6^0'=y_6^post3, (0 == 0 /\ y_6^0-y_6^post3 == 0 /\ -cnt_20^post3+cnt_20^0 == 0 /\ lt_7^1-cnt_15^0 == 0 /\ x_5^0-x_5^post3 == 0 /\ -cnt_20^0+lt_9^1 == 0 /\ lt_8^1-cnt_15^0 == 0 /\ -cnt_15^post3+cnt_15^0 == 0 /\ 1+lt_8^1-lt_9^1 <= 0 /\ result_4^0-result_4^post3 == 0), cost: 1 New rule: l1 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^0, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ 1-cnt_20^0+cnt_15^0 <= 0), cost: 1 propagated equality y_6^post3 = y_6^0 propagated equality cnt_20^post3 = cnt_20^0 propagated equality lt_7^1 = cnt_15^0 propagated equality x_5^post3 = x_5^0 propagated equality lt_9^1 = cnt_20^0 propagated equality lt_8^1 = cnt_15^0 propagated equality cnt_15^post3 = cnt_15^0 propagated equality result_4^post3 = result_4^0 Simplified Guard Original rule: l1 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^0, x_5^0'=x_5^0, y_6^0'=y_6^0, (0 == 0 /\ 1-cnt_20^0+cnt_15^0 <= 0), cost: 1 New rule: l1 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^0, x_5^0'=x_5^0, y_6^0'=y_6^0, 1-cnt_20^0+cnt_15^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l1 : cnt_15^0'=cnt_15^0, cnt_20^0'=cnt_20^0, lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, result_4^0'=result_4^0, x_5^0'=x_5^0, y_6^0'=y_6^0, 1-cnt_20^0+cnt_15^0 <= 0, cost: 1 New rule: l1 -> l1 : lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, 1-cnt_20^0+cnt_15^0 <= 0, cost: 1 Step with 8 Trace 8[T] Blocked [{}, {}] Step with 7 Trace 8[T], 7[(cnt_20^0-cnt_15^0 <= 0)] Blocked [{}, {}, {}] Backtrack Trace 8[T] Blocked [{}, {7[T]}] Step with 9 Trace 8[T], 9[(1-cnt_20^0+cnt_15^0 <= 0)] Blocked [{}, {7[T]}, {}] Nonterm Start location: l4 Program variables: cnt_15^0 cnt_20^0 lt_7^0 lt_8^0 lt_9^0 result_4^0 x_5^0 y_6^0 7: l1 -> l2 : lt_8^0'=lt_8^post2, lt_9^0'=lt_9^post2, result_4^0'=result_4^post2, cnt_20^0-cnt_15^0 <= 0, cost: 1 9: l1 -> l1 : lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, 1-cnt_20^0+cnt_15^0 <= 0, cost: 1 10: l1 -> LoAT_sink : (-1+cnt_20^0-cnt_15^0 >= 0 /\ -1+n >= 0), cost: NONTERM 8: l4 -> l1 : x_5^0'=x_5^post1, y_6^0'=y_6^post1, T, cost: 1 Certificate of Non-Termination Original rule: l1 -> l1 : lt_7^0'=lt_7^post3, lt_8^0'=lt_8^post3, lt_9^0'=lt_9^post3, (1-cnt_20^0+cnt_15^0 <= 0), cost: 1 New rule: l1 -> LoAT_sink : (-1+cnt_20^0-cnt_15^0 >= 0 /\ -1+n >= 0), cost: NONTERM -1+cnt_20^0-cnt_15^0 >= 0 [0]: monotonic increase yields -1+cnt_20^0-cnt_15^0 >= 0 Replacement map: {-1+cnt_20^0-cnt_15^0 >= 0 -> -1+cnt_20^0-cnt_15^0 >= 0} Step with 10 Trace 8[T], 10[(-1+cnt_20^0-cnt_15^0 >= 0 /\ -1+n >= 0)] Blocked [{}, {7[T]}, {10[T]}] Refute Counterexample [ cnt_15^0=0 cnt_20^0=1 lt_7^0=0 lt_8^0=0 lt_9^0=0 result_4^0=0 x_5^0=0 y_6^0=0 ] 8 [ cnt_15^0=0 cnt_20^0=1 lt_7^0=0 lt_8^0=0 lt_9^0=0 result_4^0=0 x_5^0=x_5^0 y_6^0=y_6^0 ] 10 NO Build SHA: a05f16bf13df659c382799650051f91bf6828c7b