unknown Initial ITS Start location: l10 Program variables: i2^0 i34^0 i6^0 i8^0 0: l0 -> l1 : i2^0'=i2^post1, i34^0'=i34^post1, i6^0'=i6^post1, i8^0'=i8^post1, (-i2^post1+i2^0 == 0 /\ i34^0-i34^post1 == 0 /\ 1+i34^0 <= 0 /\ -i8^post1+i8^0 == 0 /\ -i6^post1+i6^0 == 0), cost: 1 1: l0 -> l2 : i2^0'=i2^post2, i34^0'=i34^post2, i6^0'=i6^post2, i8^0'=i8^post2, (i8^0-i8^post2 == 0 /\ 1+i34^post2-i34^0 == 0 /\ -i6^post2+i6^0 == 0 /\ -i34^0 <= 0 /\ -i2^post2+i2^0 == 0), cost: 1 12: l1 -> l4 : i2^0'=i2^post13, i34^0'=i34^post13, i6^0'=i6^post13, i8^0'=i8^post13, (-i2^post13+i2^0 == 0 /\ -i8^post13+i8^0 == 0 /\ i34^0-i34^post13 == 0 /\ -999+i6^post13 == 0), cost: 1 5: l2 -> l0 : i2^0'=i2^post6, i34^0'=i34^post6, i6^0'=i6^post6, i8^0'=i8^post6, (i34^0-i34^post6 == 0 /\ -i2^post6+i2^0 == 0 /\ i8^0-i8^post6 == 0 /\ -i6^post6+i6^0 == 0), cost: 1 2: l3 -> l1 : i2^0'=i2^post3, i34^0'=i34^post3, i6^0'=i6^post3, i8^0'=i8^post3, (-i34^post3+i34^0 == 0 /\ -i6^post3+i6^0 == 0 /\ i8^0-i8^post3 == 0 /\ -i2^post3+i2^0 == 0 /\ 1-i2^0 <= 0), cost: 1 3: l3 -> l1 : i2^0'=i2^post4, i34^0'=i34^post4, i6^0'=i6^post4, i8^0'=i8^post4, (-i34^post4+i34^0 == 0 /\ 1+i2^0 <= 0 /\ -i6^post4+i6^0 == 0 /\ -i2^post4+i2^0 == 0 /\ -i8^post4+i8^0 == 0), cost: 1 4: l3 -> l2 : i2^0'=i2^post5, i34^0'=i34^post5, i6^0'=i6^post5, i8^0'=i8^post5, (-999+i34^post5 == 0 /\ -i6^post5+i6^0 == 0 /\ -i8^post5+i8^0 == 0 /\ -i2^post5+i2^0 == 0 /\ i2^0 <= 0 /\ -i2^0 <= 0), cost: 1 6: l4 -> l5 : i2^0'=i2^post7, i34^0'=i34^post7, i6^0'=i6^post7, i8^0'=i8^post7, (-i6^post7+i6^0 == 0 /\ -i2^post7+i2^0 == 0 /\ -i34^post7+i34^0 == 0 /\ i8^0-i8^post7 == 0), cost: 1 10: l5 -> l8 : i2^0'=i2^post11, i34^0'=i34^post11, i6^0'=i6^post11, i8^0'=i8^post11, (1+i6^0 <= 0 /\ -i2^post11+i2^0 == 0 /\ -999+i8^post11 == 0 /\ -i34^post11+i34^0 == 0 /\ -i6^post11+i6^0 == 0), cost: 1 11: l5 -> l4 : i2^0'=i2^post12, i34^0'=i34^post12, i6^0'=i6^post12, i8^0'=i8^post12, (-i8^post12+i8^0 == 0 /\ -i2^post12+i2^0 == 0 /\ -i34^post12+i34^0 == 0 /\ 1+i6^post12-i6^0 == 0 /\ -i6^0 <= 0), cost: 1 7: l6 -> l7 : i2^0'=i2^post8, i34^0'=i34^post8, i6^0'=i6^post8, i8^0'=i8^post8, (-i8^post8+i8^0 == 0 /\ -i6^post8+i6^0 == 0 /\ -i2^post8+i2^0 == 0 /\ 1+i8^0 <= 0 /\ -i34^post8+i34^0 == 0), cost: 1 8: l6 -> l8 : i2^0'=i2^post9, i34^0'=i34^post9, i6^0'=i6^post9, i8^0'=i8^post9, (-i8^0 <= 0 /\ i6^0-i6^post9 == 0 /\ 1+i8^post9-i8^0 == 0 /\ -i2^post9+i2^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 9: l8 -> l6 : i2^0'=i2^post10, i34^0'=i34^post10, i6^0'=i6^post10, i8^0'=i8^post10, (-i2^post10+i2^0 == 0 /\ i34^0-i34^post10 == 0 /\ i8^0-i8^post10 == 0 /\ -i6^post10+i6^0 == 0), cost: 1 13: l9 -> l3 : i2^0'=i2^post14, i34^0'=i34^post14, i6^0'=i6^post14, i8^0'=i8^post14, (-i34^post14+i34^0 == 0 /\ -i6^post14+i6^0 == 0 /\ i8^0-i8^post14 == 0 /\ -1+i2^post14 == 0), cost: 1 14: l10 -> l9 : i2^0'=i2^post15, i34^0'=i34^post15, i6^0'=i6^post15, i8^0'=i8^post15, (-i2^post15+i2^0 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0), cost: 1 Chained Linear Paths Start location: l10 Program variables: i2^0 i34^0 i6^0 i8^0 0: l0 -> l1 : i2^0'=i2^post1, i34^0'=i34^post1, i6^0'=i6^post1, i8^0'=i8^post1, (-i2^post1+i2^0 == 0 /\ i34^0-i34^post1 == 0 /\ 1+i34^0 <= 0 /\ -i8^post1+i8^0 == 0 /\ -i6^post1+i6^0 == 0), cost: 1 1: l0 -> l2 : i2^0'=i2^post2, i34^0'=i34^post2, i6^0'=i6^post2, i8^0'=i8^post2, (i8^0-i8^post2 == 0 /\ 1+i34^post2-i34^0 == 0 /\ -i6^post2+i6^0 == 0 /\ -i34^0 <= 0 /\ -i2^post2+i2^0 == 0), cost: 1 12: l1 -> l4 : i2^0'=i2^post13, i34^0'=i34^post13, i6^0'=i6^post13, i8^0'=i8^post13, (-i2^post13+i2^0 == 0 /\ -i8^post13+i8^0 == 0 /\ i34^0-i34^post13 == 0 /\ -999+i6^post13 == 0), cost: 1 5: l2 -> l0 : i2^0'=i2^post6, i34^0'=i34^post6, i6^0'=i6^post6, i8^0'=i8^post6, (i34^0-i34^post6 == 0 /\ -i2^post6+i2^0 == 0 /\ i8^0-i8^post6 == 0 /\ -i6^post6+i6^0 == 0), cost: 1 2: l3 -> l1 : i2^0'=i2^post3, i34^0'=i34^post3, i6^0'=i6^post3, i8^0'=i8^post3, (-i34^post3+i34^0 == 0 /\ -i6^post3+i6^0 == 0 /\ i8^0-i8^post3 == 0 /\ -i2^post3+i2^0 == 0 /\ 1-i2^0 <= 0), cost: 1 3: l3 -> l1 : i2^0'=i2^post4, i34^0'=i34^post4, i6^0'=i6^post4, i8^0'=i8^post4, (-i34^post4+i34^0 == 0 /\ 1+i2^0 <= 0 /\ -i6^post4+i6^0 == 0 /\ -i2^post4+i2^0 == 0 /\ -i8^post4+i8^0 == 0), cost: 1 4: l3 -> l2 : i2^0'=i2^post5, i34^0'=i34^post5, i6^0'=i6^post5, i8^0'=i8^post5, (-999+i34^post5 == 0 /\ -i6^post5+i6^0 == 0 /\ -i8^post5+i8^0 == 0 /\ -i2^post5+i2^0 == 0 /\ i2^0 <= 0 /\ -i2^0 <= 0), cost: 1 6: l4 -> l5 : i2^0'=i2^post7, i34^0'=i34^post7, i6^0'=i6^post7, i8^0'=i8^post7, (-i6^post7+i6^0 == 0 /\ -i2^post7+i2^0 == 0 /\ -i34^post7+i34^0 == 0 /\ i8^0-i8^post7 == 0), cost: 1 10: l5 -> l8 : i2^0'=i2^post11, i34^0'=i34^post11, i6^0'=i6^post11, i8^0'=i8^post11, (1+i6^0 <= 0 /\ -i2^post11+i2^0 == 0 /\ -999+i8^post11 == 0 /\ -i34^post11+i34^0 == 0 /\ -i6^post11+i6^0 == 0), cost: 1 11: l5 -> l4 : i2^0'=i2^post12, i34^0'=i34^post12, i6^0'=i6^post12, i8^0'=i8^post12, (-i8^post12+i8^0 == 0 /\ -i2^post12+i2^0 == 0 /\ -i34^post12+i34^0 == 0 /\ 1+i6^post12-i6^0 == 0 /\ -i6^0 <= 0), cost: 1 7: l6 -> l7 : i2^0'=i2^post8, i34^0'=i34^post8, i6^0'=i6^post8, i8^0'=i8^post8, (-i8^post8+i8^0 == 0 /\ -i6^post8+i6^0 == 0 /\ -i2^post8+i2^0 == 0 /\ 1+i8^0 <= 0 /\ -i34^post8+i34^0 == 0), cost: 1 8: l6 -> l8 : i2^0'=i2^post9, i34^0'=i34^post9, i6^0'=i6^post9, i8^0'=i8^post9, (-i8^0 <= 0 /\ i6^0-i6^post9 == 0 /\ 1+i8^post9-i8^0 == 0 /\ -i2^post9+i2^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 9: l8 -> l6 : i2^0'=i2^post10, i34^0'=i34^post10, i6^0'=i6^post10, i8^0'=i8^post10, (-i2^post10+i2^0 == 0 /\ i34^0-i34^post10 == 0 /\ i8^0-i8^post10 == 0 /\ -i6^post10+i6^0 == 0), cost: 1 15: l10 -> l3 : i2^0'=i2^post14, i34^0'=i34^post14, i6^0'=i6^post14, i8^0'=i8^post14, (-i2^post15+i2^0 == 0 /\ i8^post15-i8^post14 == 0 /\ -i34^post14+i34^post15 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0 /\ -i6^post14+i6^post15 == 0 /\ -1+i2^post14 == 0), cost: 1 Eliminating location l9 by chaining: Applied chaining First rule: l10 -> l9 : i2^0'=i2^post15, i34^0'=i34^post15, i6^0'=i6^post15, i8^0'=i8^post15, (-i2^post15+i2^0 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0), cost: 1 Second rule: l9 -> l3 : i2^0'=i2^post14, i34^0'=i34^post14, i6^0'=i6^post14, i8^0'=i8^post14, (-i34^post14+i34^0 == 0 /\ -i6^post14+i6^0 == 0 /\ i8^0-i8^post14 == 0 /\ -1+i2^post14 == 0), cost: 1 New rule: l10 -> l3 : i2^0'=i2^post14, i34^0'=i34^post14, i6^0'=i6^post14, i8^0'=i8^post14, (-i2^post15+i2^0 == 0 /\ i8^post15-i8^post14 == 0 /\ -i34^post14+i34^post15 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0 /\ -i6^post14+i6^post15 == 0 /\ -1+i2^post14 == 0), cost: 1 Applied deletion Removed the following rules: 13 14 Simplified Transitions Start location: l10 Program variables: i2^0 i34^0 i6^0 i8^0 16: l0 -> l1 : 1+i34^0 <= 0, cost: 1 17: l0 -> l2 : i34^0'=-1+i34^0, -i34^0 <= 0, cost: 1 28: l1 -> l4 : i6^0'=999, T, cost: 1 21: l2 -> l0 : T, cost: 1 18: l3 -> l1 : 1-i2^0 <= 0, cost: 1 19: l3 -> l1 : 1+i2^0 <= 0, cost: 1 20: l3 -> l2 : i34^0'=999, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 22: l4 -> l5 : T, cost: 1 26: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 27: l5 -> l4 : i6^0'=-1+i6^0, -i6^0 <= 0, cost: 1 23: l6 -> l7 : 1+i8^0 <= 0, cost: 1 24: l6 -> l8 : i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 25: l8 -> l6 : T, cost: 1 29: l10 -> l3 : i2^0'=1, T, cost: 1 Propagated Equalities Original rule: l0 -> l1 : i2^0'=i2^post1, i34^0'=i34^post1, i6^0'=i6^post1, i8^0'=i8^post1, (-i2^post1+i2^0 == 0 /\ i34^0-i34^post1 == 0 /\ 1+i34^0 <= 0 /\ -i8^post1+i8^0 == 0 /\ -i6^post1+i6^0 == 0), cost: 1 New rule: l0 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i34^0 <= 0), cost: 1 propagated equality i2^post1 = i2^0 propagated equality i34^post1 = i34^0 propagated equality i8^post1 = i8^0 propagated equality i6^post1 = i6^0 Simplified Guard Original rule: l0 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i34^0 <= 0), cost: 1 New rule: l0 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i34^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l0 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i34^0 <= 0, cost: 1 New rule: l0 -> l1 : 1+i34^0 <= 0, cost: 1 Propagated Equalities Original rule: l0 -> l2 : i2^0'=i2^post2, i34^0'=i34^post2, i6^0'=i6^post2, i8^0'=i8^post2, (i8^0-i8^post2 == 0 /\ 1+i34^post2-i34^0 == 0 /\ -i6^post2+i6^0 == 0 /\ -i34^0 <= 0 /\ -i2^post2+i2^0 == 0), cost: 1 New rule: l0 -> l2 : i2^0'=i2^0, i34^0'=-1+i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ -i34^0 <= 0), cost: 1 propagated equality i8^post2 = i8^0 propagated equality i34^post2 = -1+i34^0 propagated equality i6^post2 = i6^0 propagated equality i2^post2 = i2^0 Simplified Guard Original rule: l0 -> l2 : i2^0'=i2^0, i34^0'=-1+i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ -i34^0 <= 0), cost: 1 New rule: l0 -> l2 : i2^0'=i2^0, i34^0'=-1+i34^0, i6^0'=i6^0, i8^0'=i8^0, -i34^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l0 -> l2 : i2^0'=i2^0, i34^0'=-1+i34^0, i6^0'=i6^0, i8^0'=i8^0, -i34^0 <= 0, cost: 1 New rule: l0 -> l2 : i34^0'=-1+i34^0, -i34^0 <= 0, cost: 1 Propagated Equalities Original rule: l3 -> l1 : i2^0'=i2^post3, i34^0'=i34^post3, i6^0'=i6^post3, i8^0'=i8^post3, (-i34^post3+i34^0 == 0 /\ -i6^post3+i6^0 == 0 /\ i8^0-i8^post3 == 0 /\ -i2^post3+i2^0 == 0 /\ 1-i2^0 <= 0), cost: 1 New rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1-i2^0 <= 0), cost: 1 propagated equality i34^post3 = i34^0 propagated equality i6^post3 = i6^0 propagated equality i8^post3 = i8^0 propagated equality i2^post3 = i2^0 Simplified Guard Original rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1-i2^0 <= 0), cost: 1 New rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1-i2^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1-i2^0 <= 0, cost: 1 New rule: l3 -> l1 : 1-i2^0 <= 0, cost: 1 Propagated Equalities Original rule: l3 -> l1 : i2^0'=i2^post4, i34^0'=i34^post4, i6^0'=i6^post4, i8^0'=i8^post4, (-i34^post4+i34^0 == 0 /\ 1+i2^0 <= 0 /\ -i6^post4+i6^0 == 0 /\ -i2^post4+i2^0 == 0 /\ -i8^post4+i8^0 == 0), cost: 1 New rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i2^0 <= 0), cost: 1 propagated equality i34^post4 = i34^0 propagated equality i6^post4 = i6^0 propagated equality i2^post4 = i2^0 propagated equality i8^post4 = i8^0 Simplified Guard Original rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i2^0 <= 0), cost: 1 New rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i2^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l3 -> l1 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i2^0 <= 0, cost: 1 New rule: l3 -> l1 : 1+i2^0 <= 0, cost: 1 made implied equalities explicit Original rule: l3 -> l2 : i2^0'=i2^post5, i34^0'=i34^post5, i6^0'=i6^post5, i8^0'=i8^post5, (-999+i34^post5 == 0 /\ -i6^post5+i6^0 == 0 /\ -i8^post5+i8^0 == 0 /\ -i2^post5+i2^0 == 0 /\ i2^0 <= 0 /\ -i2^0 <= 0), cost: 1 New rule: l3 -> l2 : i2^0'=i2^post5, i34^0'=i34^post5, i6^0'=i6^post5, i8^0'=i8^post5, (-999+i34^post5 == 0 /\ -i6^post5+i6^0 == 0 /\ -i8^post5+i8^0 == 0 /\ -i2^post5+i2^0 == 0 /\ i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 Propagated Equalities Original rule: l3 -> l2 : i2^0'=i2^post5, i34^0'=i34^post5, i6^0'=i6^post5, i8^0'=i8^post5, (-999+i34^post5 == 0 /\ -i6^post5+i6^0 == 0 /\ -i8^post5+i8^0 == 0 /\ -i2^post5+i2^0 == 0 /\ i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 New rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 propagated equality i34^post5 = 999 propagated equality i6^post5 = i6^0 propagated equality i8^post5 = i8^0 propagated equality i2^post5 = i2^0 Simplified Guard Original rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 New rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 made implied equalities explicit Original rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 New rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 Removed Trivial Updates Original rule: l3 -> l2 : i2^0'=i2^0, i34^0'=999, i6^0'=i6^0, i8^0'=i8^0, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 New rule: l3 -> l2 : i34^0'=999, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 Propagated Equalities Original rule: l2 -> l0 : i2^0'=i2^post6, i34^0'=i34^post6, i6^0'=i6^post6, i8^0'=i8^post6, (i34^0-i34^post6 == 0 /\ -i2^post6+i2^0 == 0 /\ i8^0-i8^post6 == 0 /\ -i6^post6+i6^0 == 0), cost: 1 New rule: l2 -> l0 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 propagated equality i34^post6 = i34^0 propagated equality i2^post6 = i2^0 propagated equality i8^post6 = i8^0 propagated equality i6^post6 = i6^0 Simplified Guard Original rule: l2 -> l0 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 New rule: l2 -> l0 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 Removed Trivial Updates Original rule: l2 -> l0 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 New rule: l2 -> l0 : T, cost: 1 Propagated Equalities Original rule: l4 -> l5 : i2^0'=i2^post7, i34^0'=i34^post7, i6^0'=i6^post7, i8^0'=i8^post7, (-i6^post7+i6^0 == 0 /\ -i2^post7+i2^0 == 0 /\ -i34^post7+i34^0 == 0 /\ i8^0-i8^post7 == 0), cost: 1 New rule: l4 -> l5 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 propagated equality i6^post7 = i6^0 propagated equality i2^post7 = i2^0 propagated equality i34^post7 = i34^0 propagated equality i8^post7 = i8^0 Simplified Guard Original rule: l4 -> l5 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 New rule: l4 -> l5 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 Removed Trivial Updates Original rule: l4 -> l5 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 New rule: l4 -> l5 : T, cost: 1 Propagated Equalities Original rule: l6 -> l7 : i2^0'=i2^post8, i34^0'=i34^post8, i6^0'=i6^post8, i8^0'=i8^post8, (-i8^post8+i8^0 == 0 /\ -i6^post8+i6^0 == 0 /\ -i2^post8+i2^0 == 0 /\ 1+i8^0 <= 0 /\ -i34^post8+i34^0 == 0), cost: 1 New rule: l6 -> l7 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i8^0 <= 0), cost: 1 propagated equality i8^post8 = i8^0 propagated equality i6^post8 = i6^0 propagated equality i2^post8 = i2^0 propagated equality i34^post8 = i34^0 Simplified Guard Original rule: l6 -> l7 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, (0 == 0 /\ 1+i8^0 <= 0), cost: 1 New rule: l6 -> l7 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i8^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l6 -> l7 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 1+i8^0 <= 0, cost: 1 New rule: l6 -> l7 : 1+i8^0 <= 0, cost: 1 Propagated Equalities Original rule: l6 -> l8 : i2^0'=i2^post9, i34^0'=i34^post9, i6^0'=i6^post9, i8^0'=i8^post9, (-i8^0 <= 0 /\ i6^0-i6^post9 == 0 /\ 1+i8^post9-i8^0 == 0 /\ -i2^post9+i2^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 New rule: l6 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=-1+i8^0, (0 == 0 /\ -i8^0 <= 0), cost: 1 propagated equality i6^post9 = i6^0 propagated equality i8^post9 = -1+i8^0 propagated equality i2^post9 = i2^0 propagated equality i34^post9 = i34^0 Simplified Guard Original rule: l6 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=-1+i8^0, (0 == 0 /\ -i8^0 <= 0), cost: 1 New rule: l6 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l6 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 New rule: l6 -> l8 : i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 Propagated Equalities Original rule: l8 -> l6 : i2^0'=i2^post10, i34^0'=i34^post10, i6^0'=i6^post10, i8^0'=i8^post10, (-i2^post10+i2^0 == 0 /\ i34^0-i34^post10 == 0 /\ i8^0-i8^post10 == 0 /\ -i6^post10+i6^0 == 0), cost: 1 New rule: l8 -> l6 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 propagated equality i2^post10 = i2^0 propagated equality i34^post10 = i34^0 propagated equality i8^post10 = i8^0 propagated equality i6^post10 = i6^0 Simplified Guard Original rule: l8 -> l6 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 New rule: l8 -> l6 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 Removed Trivial Updates Original rule: l8 -> l6 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 New rule: l8 -> l6 : T, cost: 1 Propagated Equalities Original rule: l5 -> l8 : i2^0'=i2^post11, i34^0'=i34^post11, i6^0'=i6^post11, i8^0'=i8^post11, (1+i6^0 <= 0 /\ -i2^post11+i2^0 == 0 /\ -999+i8^post11 == 0 /\ -i34^post11+i34^0 == 0 /\ -i6^post11+i6^0 == 0), cost: 1 New rule: l5 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=999, (0 == 0 /\ 1+i6^0 <= 0), cost: 1 propagated equality i2^post11 = i2^0 propagated equality i8^post11 = 999 propagated equality i34^post11 = i34^0 propagated equality i6^post11 = i6^0 Simplified Guard Original rule: l5 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=999, (0 == 0 /\ 1+i6^0 <= 0), cost: 1 New rule: l5 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=999, 1+i6^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l5 -> l8 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=i6^0, i8^0'=999, 1+i6^0 <= 0, cost: 1 New rule: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 Propagated Equalities Original rule: l5 -> l4 : i2^0'=i2^post12, i34^0'=i34^post12, i6^0'=i6^post12, i8^0'=i8^post12, (-i8^post12+i8^0 == 0 /\ -i2^post12+i2^0 == 0 /\ -i34^post12+i34^0 == 0 /\ 1+i6^post12-i6^0 == 0 /\ -i6^0 <= 0), cost: 1 New rule: l5 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=-1+i6^0, i8^0'=i8^0, (0 == 0 /\ -i6^0 <= 0), cost: 1 propagated equality i8^post12 = i8^0 propagated equality i2^post12 = i2^0 propagated equality i34^post12 = i34^0 propagated equality i6^post12 = -1+i6^0 Simplified Guard Original rule: l5 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=-1+i6^0, i8^0'=i8^0, (0 == 0 /\ -i6^0 <= 0), cost: 1 New rule: l5 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=-1+i6^0, i8^0'=i8^0, -i6^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l5 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=-1+i6^0, i8^0'=i8^0, -i6^0 <= 0, cost: 1 New rule: l5 -> l4 : i6^0'=-1+i6^0, -i6^0 <= 0, cost: 1 Propagated Equalities Original rule: l1 -> l4 : i2^0'=i2^post13, i34^0'=i34^post13, i6^0'=i6^post13, i8^0'=i8^post13, (-i2^post13+i2^0 == 0 /\ -i8^post13+i8^0 == 0 /\ i34^0-i34^post13 == 0 /\ -999+i6^post13 == 0), cost: 1 New rule: l1 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=999, i8^0'=i8^0, 0 == 0, cost: 1 propagated equality i2^post13 = i2^0 propagated equality i8^post13 = i8^0 propagated equality i34^post13 = i34^0 propagated equality i6^post13 = 999 Simplified Guard Original rule: l1 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=999, i8^0'=i8^0, 0 == 0, cost: 1 New rule: l1 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=999, i8^0'=i8^0, T, cost: 1 Removed Trivial Updates Original rule: l1 -> l4 : i2^0'=i2^0, i34^0'=i34^0, i6^0'=999, i8^0'=i8^0, T, cost: 1 New rule: l1 -> l4 : i6^0'=999, T, cost: 1 Propagated Equalities Original rule: l10 -> l3 : i2^0'=i2^post14, i34^0'=i34^post14, i6^0'=i6^post14, i8^0'=i8^post14, (-i2^post15+i2^0 == 0 /\ i8^post15-i8^post14 == 0 /\ -i34^post14+i34^post15 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0 /\ -i6^post14+i6^post15 == 0 /\ -1+i2^post14 == 0), cost: 1 New rule: l10 -> l3 : i2^0'=1, i34^0'=i34^post15, i6^0'=i6^post15, i8^0'=i8^post15, (0 == 0 /\ -i2^post15+i2^0 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0), cost: 1 propagated equality i8^post14 = i8^post15 propagated equality i34^post14 = i34^post15 propagated equality i6^post14 = i6^post15 propagated equality i2^post14 = 1 Propagated Equalities Original rule: l10 -> l3 : i2^0'=1, i34^0'=i34^post15, i6^0'=i6^post15, i8^0'=i8^post15, (0 == 0 /\ -i2^post15+i2^0 == 0 /\ -i34^post15+i34^0 == 0 /\ -i8^post15+i8^0 == 0 /\ -i6^post15+i6^0 == 0), cost: 1 New rule: l10 -> l3 : i2^0'=1, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 propagated equality i2^post15 = i2^0 propagated equality i34^post15 = i34^0 propagated equality i8^post15 = i8^0 propagated equality i6^post15 = i6^0 Simplified Guard Original rule: l10 -> l3 : i2^0'=1, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, 0 == 0, cost: 1 New rule: l10 -> l3 : i2^0'=1, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 Removed Trivial Updates Original rule: l10 -> l3 : i2^0'=1, i34^0'=i34^0, i6^0'=i6^0, i8^0'=i8^0, T, cost: 1 New rule: l10 -> l3 : i2^0'=1, T, cost: 1 Step with 29 Trace 29[T] Blocked [{}, {}] Step with 18 Trace 29[T], 18[(1-i2^0 <= 0)] Blocked [{}, {}, {}] Step with 28 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T] Blocked [{}, {}, {}, {}] Step with 22 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 22[T] Blocked [{}, {}, {}, {}, {}] Step with 27 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 22[T], 27[(-i6^0 <= 0)] Blocked [{}, {}, {}, {}, {26[T]}, {}] Accelerate Start location: l10 Program variables: i2^0 i34^0 i6^0 i8^0 16: l0 -> l1 : 1+i34^0 <= 0, cost: 1 17: l0 -> l2 : i34^0'=-1+i34^0, -i34^0 <= 0, cost: 1 28: l1 -> l4 : i6^0'=999, T, cost: 1 21: l2 -> l0 : T, cost: 1 18: l3 -> l1 : 1-i2^0 <= 0, cost: 1 19: l3 -> l1 : 1+i2^0 <= 0, cost: 1 20: l3 -> l2 : i34^0'=999, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 22: l4 -> l5 : T, cost: 1 30: l4 -> l4 : i6^0'=-n+i6^0, (1-n+i6^0 >= 0 /\ -1+n >= 0), cost: 1 26: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 27: l5 -> l4 : i6^0'=-1+i6^0, -i6^0 <= 0, cost: 1 23: l6 -> l7 : 1+i8^0 <= 0, cost: 1 24: l6 -> l8 : i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 25: l8 -> l6 : T, cost: 1 29: l10 -> l3 : i2^0'=1, T, cost: 1 Loop Acceleration Original rule: l4 -> l4 : i6^0'=-1+i6^0, -i6^0 <= 0, cost: 1 New rule: l4 -> l4 : i6^0'=-n+i6^0, (1-n+i6^0 >= 0 /\ -1+n >= 0), cost: 1 i6^0 >= 0 [0]: montonic decrease yields 1-n+i6^0 >= 0 i6^0 >= 0 [1]: eventual increase yields (1 <= 0 /\ i6^0 >= 0) Replacement map: {i6^0 >= 0 -> 1-n+i6^0 >= 0} Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)] Blocked [{}, {}, {}, {}, {30[T]}] Step with 22 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T] Blocked [{}, {}, {}, {}, {30[T]}, {}] Step with 27 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 27[(-i6^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {}, {}] Covered Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}] Step with 26 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}] Step with 25 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {}] Step with 24 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 25[T], 24[(-i8^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {23[T]}, {}] Accelerate Start location: l10 Program variables: i2^0 i34^0 i6^0 i8^0 16: l0 -> l1 : 1+i34^0 <= 0, cost: 1 17: l0 -> l2 : i34^0'=-1+i34^0, -i34^0 <= 0, cost: 1 28: l1 -> l4 : i6^0'=999, T, cost: 1 21: l2 -> l0 : T, cost: 1 18: l3 -> l1 : 1-i2^0 <= 0, cost: 1 19: l3 -> l1 : 1+i2^0 <= 0, cost: 1 20: l3 -> l2 : i34^0'=999, (i2^0 <= 0 /\ i2^0 == 0 /\ -i2^0 <= 0), cost: 1 22: l4 -> l5 : T, cost: 1 30: l4 -> l4 : i6^0'=-n+i6^0, (1-n+i6^0 >= 0 /\ -1+n >= 0), cost: 1 26: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 27: l5 -> l4 : i6^0'=-1+i6^0, -i6^0 <= 0, cost: 1 23: l6 -> l7 : 1+i8^0 <= 0, cost: 1 24: l6 -> l8 : i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 25: l8 -> l6 : T, cost: 1 31: l8 -> l8 : i8^0'=-n2+i8^0, (1-n2+i8^0 >= 0 /\ -1+n2 >= 0), cost: 1 29: l10 -> l3 : i2^0'=1, T, cost: 1 Loop Acceleration Original rule: l8 -> l8 : i8^0'=-1+i8^0, -i8^0 <= 0, cost: 1 New rule: l8 -> l8 : i8^0'=-n2+i8^0, (1-n2+i8^0 >= 0 /\ -1+n2 >= 0), cost: 1 i8^0 >= 0 [0]: montonic decrease yields 1-n2+i8^0 >= 0 i8^0 >= 0 [1]: eventual increase yields (1 <= 0 /\ i8^0 >= 0) Replacement map: {i8^0 >= 0 -> 1-n2+i8^0 >= 0} Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}] Step with 25 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}, {}] Step with 24 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)], 25[T], 24[(-i8^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}, {}, {}] Covered Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}, {24[T]}] Step with 23 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)], 25[T], 23[(1+i8^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}, {24[T]}, {}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {31[T]}, {23[T], 24[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 31[(1-n2+i8^0 >= 0 /\ -1+n2 >= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {}, {25[T], 31[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {31[T]}] Step with 25 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {31[T]}, {}] Step with 24 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 25[T], 24[(-i8^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {31[T]}, {23[T]}, {}] Covered Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)], 25[T] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {31[T]}, {23[T], 24[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T], 26[(1+i6^0 <= 0)] Blocked [{}, {}, {}, {}, {30[T]}, {27[T]}, {25[T], 31[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)], 22[T] Blocked [{}, {}, {}, {}, {30[T]}, {26[T], 27[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 30[(1-n+i6^0 >= 0 /\ -1+n >= 0)] Blocked [{}, {}, {}, {}, {22[T], 30[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T] Blocked [{}, {}, {}, {30[T]}] Step with 22 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 22[T] Blocked [{}, {}, {}, {30[T]}, {}] Step with 27 Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 22[T], 27[(-i6^0 <= 0)] Blocked [{}, {}, {}, {30[T]}, {26[T]}, {}] Covered Trace 29[T], 18[(1-i2^0 <= 0)], 28[T], 22[T] Blocked [{}, {}, {}, {30[T]}, {26[T], 27[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)], 28[T] Blocked [{}, {}, {}, {22[T], 30[T]}] Backtrack Trace 29[T], 18[(1-i2^0 <= 0)] Blocked [{}, {}, {28[T]}] Backtrack Trace 29[T] Blocked [{}, {18[T]}] Backtrack Trace Blocked [{29[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b