NO Initial ITS Start location: l7 Program variables: i5^0 n_promoted_1^0 tmp^0 tmp___0^0 0: l0 -> l1 : i5^0'=i5^post1, n_promoted_1^0'=n_promoted_1^post1, tmp^0'=tmp^post1, tmp___0^0'=tmp___0^post1, (0 == 0 /\ -tmp^post1+tmp^0 == 0 /\ n_promoted_1^0-n_promoted_1^post1 == 0 /\ -1023+n_promoted_1^0 <= 0 /\ i5^0-i5^post1 == 0), cost: 1 1: l0 -> l1 : i5^0'=i5^post2, n_promoted_1^0'=n_promoted_1^post2, tmp^0'=tmp^post2, tmp___0^0'=tmp___0^post2, (-n_promoted_1^post2+n_promoted_1^0 == 0 /\ 1024-n_promoted_1^0 <= 0 /\ -tmp___0^post2+tmp___0^0 == 0 /\ tmp^0-tmp^post2 == 0 /\ i5^0-i5^post2 == 0), cost: 1 2: l1 -> l2 : i5^0'=i5^post3, n_promoted_1^0'=n_promoted_1^post3, tmp^0'=tmp^post3, tmp___0^0'=tmp___0^post3, (i5^post3 == 0 /\ -n_promoted_1^post3+n_promoted_1^0 == 0 /\ tmp___0^0-tmp___0^post3 == 0 /\ tmp^0-tmp^post3 == 0), cost: 1 5: l2 -> l4 : i5^0'=i5^post6, n_promoted_1^0'=n_promoted_1^post6, tmp^0'=tmp^post6, tmp___0^0'=tmp___0^post6, (i5^0-i5^post6 == 0 /\ n_promoted_1^0-n_promoted_1^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ -tmp___0^post6+tmp___0^0 == 0), cost: 1 3: l3 -> l0 : i5^0'=i5^post4, n_promoted_1^0'=n_promoted_1^post4, tmp^0'=tmp^post4, tmp___0^0'=tmp___0^post4, (-n_promoted_1^post4+n_promoted_1^0 == 0 /\ -tmp___0^post4+tmp___0^0 == 0 /\ 1-n_promoted_1^0 <= 0 /\ tmp^0-tmp^post4 == 0 /\ -i5^post4+i5^0 == 0), cost: 1 4: l3 -> l1 : i5^0'=i5^post5, n_promoted_1^0'=n_promoted_1^post5, tmp^0'=tmp^post5, tmp___0^0'=tmp___0^post5, (-tmp___0^post5+tmp___0^0 == 0 /\ i5^0-i5^post5 == 0 /\ n_promoted_1^0-n_promoted_1^post5 == 0 /\ n_promoted_1^0 <= 0 /\ -tmp^post5+tmp^0 == 0), cost: 1 6: l4 -> l5 : i5^0'=i5^post7, n_promoted_1^0'=n_promoted_1^post7, tmp^0'=tmp^post7, tmp___0^0'=tmp___0^post7, (tmp^0-tmp^post7 == 0 /\ -tmp___0^post7+tmp___0^0 == 0 /\ -n_promoted_1^post7+n_promoted_1^0 == 0 /\ i5^0-i5^post7 == 0), cost: 1 7: l4 -> l2 : i5^0'=i5^post8, n_promoted_1^0'=n_promoted_1^post8, tmp^0'=tmp^post8, tmp___0^0'=tmp___0^post8, (-1+i5^post8-i5^0 == 0 /\ -tmp___0^post8+tmp___0^0 == 0 /\ tmp^0-tmp^post8 == 0 /\ -n_promoted_1^post8+n_promoted_1^0 == 0), cost: 1 8: l6 -> l3 : i5^0'=i5^post9, n_promoted_1^0'=n_promoted_1^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post9, (0 == 0 /\ n_promoted_1^post9-tmp^post9 == 0 /\ -tmp___0^post9+tmp___0^0 == 0 /\ i5^0-i5^post9 == 0), cost: 1 9: l7 -> l6 : i5^0'=i5^post10, n_promoted_1^0'=n_promoted_1^post10, tmp^0'=tmp^post10, tmp___0^0'=tmp___0^post10, (tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 Chained Linear Paths Start location: l7 Program variables: i5^0 n_promoted_1^0 tmp^0 tmp___0^0 0: l0 -> l1 : i5^0'=i5^post1, n_promoted_1^0'=n_promoted_1^post1, tmp^0'=tmp^post1, tmp___0^0'=tmp___0^post1, (0 == 0 /\ -tmp^post1+tmp^0 == 0 /\ n_promoted_1^0-n_promoted_1^post1 == 0 /\ -1023+n_promoted_1^0 <= 0 /\ i5^0-i5^post1 == 0), cost: 1 1: l0 -> l1 : i5^0'=i5^post2, n_promoted_1^0'=n_promoted_1^post2, tmp^0'=tmp^post2, tmp___0^0'=tmp___0^post2, (-n_promoted_1^post2+n_promoted_1^0 == 0 /\ 1024-n_promoted_1^0 <= 0 /\ -tmp___0^post2+tmp___0^0 == 0 /\ tmp^0-tmp^post2 == 0 /\ i5^0-i5^post2 == 0), cost: 1 2: l1 -> l2 : i5^0'=i5^post3, n_promoted_1^0'=n_promoted_1^post3, tmp^0'=tmp^post3, tmp___0^0'=tmp___0^post3, (i5^post3 == 0 /\ -n_promoted_1^post3+n_promoted_1^0 == 0 /\ tmp___0^0-tmp___0^post3 == 0 /\ tmp^0-tmp^post3 == 0), cost: 1 5: l2 -> l4 : i5^0'=i5^post6, n_promoted_1^0'=n_promoted_1^post6, tmp^0'=tmp^post6, tmp___0^0'=tmp___0^post6, (i5^0-i5^post6 == 0 /\ n_promoted_1^0-n_promoted_1^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ -tmp___0^post6+tmp___0^0 == 0), cost: 1 3: l3 -> l0 : i5^0'=i5^post4, n_promoted_1^0'=n_promoted_1^post4, tmp^0'=tmp^post4, tmp___0^0'=tmp___0^post4, (-n_promoted_1^post4+n_promoted_1^0 == 0 /\ -tmp___0^post4+tmp___0^0 == 0 /\ 1-n_promoted_1^0 <= 0 /\ tmp^0-tmp^post4 == 0 /\ -i5^post4+i5^0 == 0), cost: 1 4: l3 -> l1 : i5^0'=i5^post5, n_promoted_1^0'=n_promoted_1^post5, tmp^0'=tmp^post5, tmp___0^0'=tmp___0^post5, (-tmp___0^post5+tmp___0^0 == 0 /\ i5^0-i5^post5 == 0 /\ n_promoted_1^0-n_promoted_1^post5 == 0 /\ n_promoted_1^0 <= 0 /\ -tmp^post5+tmp^0 == 0), cost: 1 6: l4 -> l5 : i5^0'=i5^post7, n_promoted_1^0'=n_promoted_1^post7, tmp^0'=tmp^post7, tmp___0^0'=tmp___0^post7, (tmp^0-tmp^post7 == 0 /\ -tmp___0^post7+tmp___0^0 == 0 /\ -n_promoted_1^post7+n_promoted_1^0 == 0 /\ i5^0-i5^post7 == 0), cost: 1 7: l4 -> l2 : i5^0'=i5^post8, n_promoted_1^0'=n_promoted_1^post8, tmp^0'=tmp^post8, tmp___0^0'=tmp___0^post8, (-1+i5^post8-i5^0 == 0 /\ -tmp___0^post8+tmp___0^0 == 0 /\ tmp^0-tmp^post8 == 0 /\ -n_promoted_1^post8+n_promoted_1^0 == 0), cost: 1 10: l7 -> l3 : i5^0'=i5^post9, n_promoted_1^0'=n_promoted_1^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post9, (0 == 0 /\ -tmp___0^post9+tmp___0^post10 == 0 /\ n_promoted_1^post9-tmp^post9 == 0 /\ -i5^post9+i5^post10 == 0 /\ tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 Eliminating location l6 by chaining: Applied chaining First rule: l7 -> l6 : i5^0'=i5^post10, n_promoted_1^0'=n_promoted_1^post10, tmp^0'=tmp^post10, tmp___0^0'=tmp___0^post10, (tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 Second rule: l6 -> l3 : i5^0'=i5^post9, n_promoted_1^0'=n_promoted_1^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post9, (0 == 0 /\ n_promoted_1^post9-tmp^post9 == 0 /\ -tmp___0^post9+tmp___0^0 == 0 /\ i5^0-i5^post9 == 0), cost: 1 New rule: l7 -> l3 : i5^0'=i5^post9, n_promoted_1^0'=n_promoted_1^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post9, (0 == 0 /\ -tmp___0^post9+tmp___0^post10 == 0 /\ n_promoted_1^post9-tmp^post9 == 0 /\ -i5^post9+i5^post10 == 0 /\ tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 Applied deletion Removed the following rules: 8 9 Simplified Transitions Start location: l7 Program variables: i5^0 n_promoted_1^0 tmp^0 tmp___0^0 11: l0 -> l1 : tmp___0^0'=tmp___0^post1, -1023+n_promoted_1^0 <= 0, cost: 1 12: l0 -> l1 : 1024-n_promoted_1^0 <= 0, cost: 1 13: l1 -> l2 : i5^0'=0, T, cost: 1 16: l2 -> l4 : T, cost: 1 14: l3 -> l0 : 1-n_promoted_1^0 <= 0, cost: 1 15: l3 -> l1 : n_promoted_1^0 <= 0, cost: 1 17: l4 -> l5 : T, cost: 1 18: l4 -> l2 : i5^0'=1+i5^0, T, cost: 1 19: l7 -> l3 : n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, T, cost: 1 Propagated Equalities Original rule: l0 -> l1 : i5^0'=i5^post1, n_promoted_1^0'=n_promoted_1^post1, tmp^0'=tmp^post1, tmp___0^0'=tmp___0^post1, (0 == 0 /\ -tmp^post1+tmp^0 == 0 /\ n_promoted_1^0-n_promoted_1^post1 == 0 /\ -1023+n_promoted_1^0 <= 0 /\ i5^0-i5^post1 == 0), cost: 1 New rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^post1, (0 == 0 /\ -1023+n_promoted_1^0 <= 0), cost: 1 propagated equality tmp^post1 = tmp^0 propagated equality n_promoted_1^post1 = n_promoted_1^0 propagated equality i5^post1 = i5^0 Simplified Guard Original rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^post1, (0 == 0 /\ -1023+n_promoted_1^0 <= 0), cost: 1 New rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^post1, -1023+n_promoted_1^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^post1, -1023+n_promoted_1^0 <= 0, cost: 1 New rule: l0 -> l1 : tmp___0^0'=tmp___0^post1, -1023+n_promoted_1^0 <= 0, cost: 1 Propagated Equalities Original rule: l0 -> l1 : i5^0'=i5^post2, n_promoted_1^0'=n_promoted_1^post2, tmp^0'=tmp^post2, tmp___0^0'=tmp___0^post2, (-n_promoted_1^post2+n_promoted_1^0 == 0 /\ 1024-n_promoted_1^0 <= 0 /\ -tmp___0^post2+tmp___0^0 == 0 /\ tmp^0-tmp^post2 == 0 /\ i5^0-i5^post2 == 0), cost: 1 New rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ 1024-n_promoted_1^0 <= 0), cost: 1 propagated equality n_promoted_1^post2 = n_promoted_1^0 propagated equality tmp___0^post2 = tmp___0^0 propagated equality tmp^post2 = tmp^0 propagated equality i5^post2 = i5^0 Simplified Guard Original rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ 1024-n_promoted_1^0 <= 0), cost: 1 New rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 1024-n_promoted_1^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l0 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 1024-n_promoted_1^0 <= 0, cost: 1 New rule: l0 -> l1 : 1024-n_promoted_1^0 <= 0, cost: 1 Propagated Equalities Original rule: l1 -> l2 : i5^0'=i5^post3, n_promoted_1^0'=n_promoted_1^post3, tmp^0'=tmp^post3, tmp___0^0'=tmp___0^post3, (i5^post3 == 0 /\ -n_promoted_1^post3+n_promoted_1^0 == 0 /\ tmp___0^0-tmp___0^post3 == 0 /\ tmp^0-tmp^post3 == 0), cost: 1 New rule: l1 -> l2 : i5^0'=0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 propagated equality i5^post3 = 0 propagated equality n_promoted_1^post3 = n_promoted_1^0 propagated equality tmp___0^post3 = tmp___0^0 propagated equality tmp^post3 = tmp^0 Simplified Guard Original rule: l1 -> l2 : i5^0'=0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 New rule: l1 -> l2 : i5^0'=0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 Removed Trivial Updates Original rule: l1 -> l2 : i5^0'=0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 New rule: l1 -> l2 : i5^0'=0, T, cost: 1 Propagated Equalities Original rule: l3 -> l0 : i5^0'=i5^post4, n_promoted_1^0'=n_promoted_1^post4, tmp^0'=tmp^post4, tmp___0^0'=tmp___0^post4, (-n_promoted_1^post4+n_promoted_1^0 == 0 /\ -tmp___0^post4+tmp___0^0 == 0 /\ 1-n_promoted_1^0 <= 0 /\ tmp^0-tmp^post4 == 0 /\ -i5^post4+i5^0 == 0), cost: 1 New rule: l3 -> l0 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ 1-n_promoted_1^0 <= 0), cost: 1 propagated equality n_promoted_1^post4 = n_promoted_1^0 propagated equality tmp___0^post4 = tmp___0^0 propagated equality tmp^post4 = tmp^0 propagated equality i5^post4 = i5^0 Simplified Guard Original rule: l3 -> l0 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ 1-n_promoted_1^0 <= 0), cost: 1 New rule: l3 -> l0 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 1-n_promoted_1^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l3 -> l0 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 1-n_promoted_1^0 <= 0, cost: 1 New rule: l3 -> l0 : 1-n_promoted_1^0 <= 0, cost: 1 Propagated Equalities Original rule: l3 -> l1 : i5^0'=i5^post5, n_promoted_1^0'=n_promoted_1^post5, tmp^0'=tmp^post5, tmp___0^0'=tmp___0^post5, (-tmp___0^post5+tmp___0^0 == 0 /\ i5^0-i5^post5 == 0 /\ n_promoted_1^0-n_promoted_1^post5 == 0 /\ n_promoted_1^0 <= 0 /\ -tmp^post5+tmp^0 == 0), cost: 1 New rule: l3 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ n_promoted_1^0 <= 0), cost: 1 propagated equality tmp___0^post5 = tmp___0^0 propagated equality i5^post5 = i5^0 propagated equality n_promoted_1^post5 = n_promoted_1^0 propagated equality tmp^post5 = tmp^0 Simplified Guard Original rule: l3 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, (0 == 0 /\ n_promoted_1^0 <= 0), cost: 1 New rule: l3 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, n_promoted_1^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l3 -> l1 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, n_promoted_1^0 <= 0, cost: 1 New rule: l3 -> l1 : n_promoted_1^0 <= 0, cost: 1 Propagated Equalities Original rule: l2 -> l4 : i5^0'=i5^post6, n_promoted_1^0'=n_promoted_1^post6, tmp^0'=tmp^post6, tmp___0^0'=tmp___0^post6, (i5^0-i5^post6 == 0 /\ n_promoted_1^0-n_promoted_1^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ -tmp___0^post6+tmp___0^0 == 0), cost: 1 New rule: l2 -> l4 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 propagated equality i5^post6 = i5^0 propagated equality n_promoted_1^post6 = n_promoted_1^0 propagated equality tmp^post6 = tmp^0 propagated equality tmp___0^post6 = tmp___0^0 Simplified Guard Original rule: l2 -> l4 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 New rule: l2 -> l4 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 Removed Trivial Updates Original rule: l2 -> l4 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 New rule: l2 -> l4 : T, cost: 1 Propagated Equalities Original rule: l4 -> l5 : i5^0'=i5^post7, n_promoted_1^0'=n_promoted_1^post7, tmp^0'=tmp^post7, tmp___0^0'=tmp___0^post7, (tmp^0-tmp^post7 == 0 /\ -tmp___0^post7+tmp___0^0 == 0 /\ -n_promoted_1^post7+n_promoted_1^0 == 0 /\ i5^0-i5^post7 == 0), cost: 1 New rule: l4 -> l5 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 propagated equality tmp^post7 = tmp^0 propagated equality tmp___0^post7 = tmp___0^0 propagated equality n_promoted_1^post7 = n_promoted_1^0 propagated equality i5^post7 = i5^0 Simplified Guard Original rule: l4 -> l5 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 New rule: l4 -> l5 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 Removed Trivial Updates Original rule: l4 -> l5 : i5^0'=i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 New rule: l4 -> l5 : T, cost: 1 Propagated Equalities Original rule: l4 -> l2 : i5^0'=i5^post8, n_promoted_1^0'=n_promoted_1^post8, tmp^0'=tmp^post8, tmp___0^0'=tmp___0^post8, (-1+i5^post8-i5^0 == 0 /\ -tmp___0^post8+tmp___0^0 == 0 /\ tmp^0-tmp^post8 == 0 /\ -n_promoted_1^post8+n_promoted_1^0 == 0), cost: 1 New rule: l4 -> l2 : i5^0'=1+i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 propagated equality i5^post8 = 1+i5^0 propagated equality tmp___0^post8 = tmp___0^0 propagated equality tmp^post8 = tmp^0 propagated equality n_promoted_1^post8 = n_promoted_1^0 Simplified Guard Original rule: l4 -> l2 : i5^0'=1+i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 New rule: l4 -> l2 : i5^0'=1+i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 Removed Trivial Updates Original rule: l4 -> l2 : i5^0'=1+i5^0, n_promoted_1^0'=n_promoted_1^0, tmp^0'=tmp^0, tmp___0^0'=tmp___0^0, T, cost: 1 New rule: l4 -> l2 : i5^0'=1+i5^0, T, cost: 1 Propagated Equalities Original rule: l7 -> l3 : i5^0'=i5^post9, n_promoted_1^0'=n_promoted_1^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post9, (0 == 0 /\ -tmp___0^post9+tmp___0^post10 == 0 /\ n_promoted_1^post9-tmp^post9 == 0 /\ -i5^post9+i5^post10 == 0 /\ tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 New rule: l7 -> l3 : i5^0'=i5^post10, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post10, (0 == 0 /\ tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 propagated equality tmp___0^post9 = tmp___0^post10 propagated equality n_promoted_1^post9 = tmp^post9 propagated equality i5^post9 = i5^post10 Propagated Equalities Original rule: l7 -> l3 : i5^0'=i5^post10, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^post10, (0 == 0 /\ tmp^0-tmp^post10 == 0 /\ i5^0-i5^post10 == 0 /\ n_promoted_1^0-n_promoted_1^post10 == 0 /\ -tmp___0^post10+tmp___0^0 == 0), cost: 1 New rule: l7 -> l3 : i5^0'=i5^0, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 propagated equality tmp^post10 = tmp^0 propagated equality i5^post10 = i5^0 propagated equality n_promoted_1^post10 = n_promoted_1^0 propagated equality tmp___0^post10 = tmp___0^0 Simplified Guard Original rule: l7 -> l3 : i5^0'=i5^0, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^0, 0 == 0, cost: 1 New rule: l7 -> l3 : i5^0'=i5^0, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^0, T, cost: 1 Removed Trivial Updates Original rule: l7 -> l3 : i5^0'=i5^0, n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, tmp___0^0'=tmp___0^0, T, cost: 1 New rule: l7 -> l3 : n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, T, cost: 1 Step with 19 Trace 19[T] Blocked [{}, {}] Step with 14 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)] Blocked [{}, {}, {}] Step with 11 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)] Blocked [{}, {}, {}, {}] Step with 13 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T] Blocked [{}, {}, {}, {}, {}] Step with 16 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T], 16[T] Blocked [{}, {}, {}, {}, {}, {}] Step with 17 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T], 16[T], 17[T] Blocked [{}, {}, {}, {}, {}, {}, {}] Backtrack Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T], 16[T] Blocked [{}, {}, {}, {}, {}, {17[T]}] Step with 18 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T], 16[T], 18[T] Blocked [{}, {}, {}, {}, {}, {17[T]}, {}] Nonterm Start location: l7 Program variables: i5^0 n_promoted_1^0 tmp^0 tmp___0^0 11: l0 -> l1 : tmp___0^0'=tmp___0^post1, -1023+n_promoted_1^0 <= 0, cost: 1 12: l0 -> l1 : 1024-n_promoted_1^0 <= 0, cost: 1 13: l1 -> l2 : i5^0'=0, T, cost: 1 16: l2 -> l4 : T, cost: 1 20: l2 -> LoAT_sink : -1+n >= 0, cost: NONTERM 21: l2 -> l2 : i5^0'=n+i5^0, -1+n >= 0, cost: 1 14: l3 -> l0 : 1-n_promoted_1^0 <= 0, cost: 1 15: l3 -> l1 : n_promoted_1^0 <= 0, cost: 1 17: l4 -> l5 : T, cost: 1 18: l4 -> l2 : i5^0'=1+i5^0, T, cost: 1 19: l7 -> l3 : n_promoted_1^0'=tmp^post9, tmp^0'=tmp^post9, T, cost: 1 Certificate of Non-Termination Original rule: l2 -> l2 : i5^0'=1+i5^0, T, cost: 1 New rule: l2 -> LoAT_sink : -1+n >= 0, cost: NONTERM Replacement map: {} Loop Acceleration Original rule: l2 -> l2 : i5^0'=1+i5^0, T, cost: 1 New rule: l2 -> l2 : i5^0'=n+i5^0, -1+n >= 0, cost: 1 Replacement map: {} Step with 20 Trace 19[T], 14[(1-n_promoted_1^0 <= 0)], 11[(-1023+n_promoted_1^0 <= 0)], 13[T], 20[-1+n >= 0] Blocked [{}, {}, {}, {}, {}, {20[T]}] Refute Counterexample [ i5^0=0 n_promoted_1^0=1 tmp^0=1 tmp___0^0=0 ] 19 [ i5^0=0 n_promoted_1^0=1 tmp^0=1 tmp___0^0=0 ] 14 [ i5^0=0 n_promoted_1^0=1 tmp^0=1 tmp___0^0=0 ] 11 [ i5^0=0 n_promoted_1^0=1 tmp^0=1 tmp___0^0=0 ] 13 [ i5^0=0 n_promoted_1^0=n_promoted_1^0 tmp^0=tmp^0 tmp___0^0=0 ] 20 NO Build SHA: a05f16bf13df659c382799650051f91bf6828c7b