unknown Initial ITS Start location: l5 Program variables: x_13^0 x_27^0 x_32^0 y_16^0 y_28^0 y_33^0 0: l0 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post1, x_32^0'=x_32^post1, y_16^0'=y_16^post1, y_28^0'=y_28^post1, y_33^0'=y_33^post1, (0 == 0 /\ -y_28^post1+y_28^0 == 0 /\ y_33^0-y_33^post1 == 0 /\ -x_32^post1+x_32^0 == 0 /\ -x_27^post1+x_27^0 == 0), cost: 1 1: l1 -> l2 : x_13^0'=x_13^post2, x_27^0'=x_27^post2, x_32^0'=x_32^post2, y_16^0'=y_16^post2, y_28^0'=y_28^post2, y_33^0'=y_33^post2, (1-y_16^post2 <= 0 /\ -x_13^post2+x_13^0 == 0 /\ 1-x_13^0 <= 0 /\ -5000+y_16^post2 == 0 /\ y_33^0-y_33^post2 == 0 /\ x_27^0-x_27^post2 == 0 /\ y_28^0-y_28^post2 == 0 /\ -x_32^post2+x_32^0 == 0), cost: 1 3: l2 -> l1 : x_13^0'=x_13^post4, x_27^0'=x_27^post4, x_32^0'=x_32^post4, y_16^0'=y_16^post4, y_28^0'=y_28^post4, y_33^0'=y_33^post4, (y_16^0 <= 0 /\ x_27^0-x_27^post4 == 0 /\ y_33^0-y_33^post4 == 0 /\ y_16^0-y_16^post4 == 0 /\ -x_32^post4+x_32^0 == 0 /\ -x_13^post4+x_13^0 == 0 /\ -y_28^post4+y_28^0 == 0), cost: 1 4: l2 -> l4 : x_13^0'=x_13^post5, x_27^0'=x_27^post5, x_32^0'=x_32^post5, y_16^0'=y_16^post5, y_28^0'=y_28^post5, y_33^0'=y_33^post5, (0 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 2: l3 -> l2 : x_13^0'=x_13^post3, x_27^0'=x_27^post3, x_32^0'=x_32^post3, y_16^0'=y_16^post3, y_28^0'=y_28^post3, y_33^0'=y_33^post3, (0 == 0 /\ -1-y_16^post3+y_28^post3 <= 0 /\ y_33^0-y_33^post3 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_28^post3 <= 0 /\ -1-x_13^post3+x_27^post3 <= 0 /\ -x_32^post3+x_32^0 == 0 /\ 1+y_16^post3-y_28^post3 <= 0 /\ 1-y_16^0+y_16^post3 == 0 /\ 1-x_27^post3 <= 0 /\ 1+x_13^post3-x_27^post3 <= 0 /\ 1+x_13^post3-x_13^0 == 0), cost: 1 5: l4 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (-y_28^post6+y_28^0 == 0 /\ -x_32^post6+x_32^0 == 0 /\ x_13^0-x_13^post6 == 0 /\ -x_27^post6+x_27^0 == 0 /\ y_33^0-y_33^post6 == 0 /\ y_16^0-y_16^post6 == 0), cost: 1 6: l5 -> l0 : x_13^0'=x_13^post7, x_27^0'=x_27^post7, x_32^0'=x_32^post7, y_16^0'=y_16^post7, y_28^0'=y_28^post7, y_33^0'=y_33^post7, (y_33^0-y_33^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 Chained Linear Paths Start location: l5 Program variables: x_13^0 x_27^0 x_32^0 y_16^0 y_28^0 y_33^0 1: l1 -> l2 : x_13^0'=x_13^post2, x_27^0'=x_27^post2, x_32^0'=x_32^post2, y_16^0'=y_16^post2, y_28^0'=y_28^post2, y_33^0'=y_33^post2, (1-y_16^post2 <= 0 /\ -x_13^post2+x_13^0 == 0 /\ 1-x_13^0 <= 0 /\ -5000+y_16^post2 == 0 /\ y_33^0-y_33^post2 == 0 /\ x_27^0-x_27^post2 == 0 /\ y_28^0-y_28^post2 == 0 /\ -x_32^post2+x_32^0 == 0), cost: 1 3: l2 -> l1 : x_13^0'=x_13^post4, x_27^0'=x_27^post4, x_32^0'=x_32^post4, y_16^0'=y_16^post4, y_28^0'=y_28^post4, y_33^0'=y_33^post4, (y_16^0 <= 0 /\ x_27^0-x_27^post4 == 0 /\ y_33^0-y_33^post4 == 0 /\ y_16^0-y_16^post4 == 0 /\ -x_32^post4+x_32^0 == 0 /\ -x_13^post4+x_13^0 == 0 /\ -y_28^post4+y_28^0 == 0), cost: 1 8: l2 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (0 == 0 /\ -y_33^post6+y_33^post5 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ -x_32^post6+x_32^post5 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -y_28^post6+y_28^post5 == 0 /\ y_16^post5-y_16^post6 == 0 /\ -x_27^post6+x_27^post5 == 0 /\ x_13^post5-x_13^post6 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 2: l3 -> l2 : x_13^0'=x_13^post3, x_27^0'=x_27^post3, x_32^0'=x_32^post3, y_16^0'=y_16^post3, y_28^0'=y_28^post3, y_33^0'=y_33^post3, (0 == 0 /\ -1-y_16^post3+y_28^post3 <= 0 /\ y_33^0-y_33^post3 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_28^post3 <= 0 /\ -1-x_13^post3+x_27^post3 <= 0 /\ -x_32^post3+x_32^0 == 0 /\ 1+y_16^post3-y_28^post3 <= 0 /\ 1-y_16^0+y_16^post3 == 0 /\ 1-x_27^post3 <= 0 /\ 1+x_13^post3-x_27^post3 <= 0 /\ 1+x_13^post3-x_13^0 == 0), cost: 1 7: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post1, x_32^0'=x_32^post1, y_16^0'=y_16^post1, y_28^0'=y_28^post1, y_33^0'=y_33^post1, (0 == 0 /\ y_33^0-y_33^post7 == 0 /\ -x_27^post1+x_27^post7 == 0 /\ -y_28^post1+y_28^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ -x_32^post1+x_32^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -y_33^post1+y_33^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 Eliminating location l0 by chaining: Applied chaining First rule: l5 -> l0 : x_13^0'=x_13^post7, x_27^0'=x_27^post7, x_32^0'=x_32^post7, y_16^0'=y_16^post7, y_28^0'=y_28^post7, y_33^0'=y_33^post7, (y_33^0-y_33^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 Second rule: l0 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post1, x_32^0'=x_32^post1, y_16^0'=y_16^post1, y_28^0'=y_28^post1, y_33^0'=y_33^post1, (0 == 0 /\ -y_28^post1+y_28^0 == 0 /\ y_33^0-y_33^post1 == 0 /\ -x_32^post1+x_32^0 == 0 /\ -x_27^post1+x_27^0 == 0), cost: 1 New rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post1, x_32^0'=x_32^post1, y_16^0'=y_16^post1, y_28^0'=y_28^post1, y_33^0'=y_33^post1, (0 == 0 /\ y_33^0-y_33^post7 == 0 /\ -x_27^post1+x_27^post7 == 0 /\ -y_28^post1+y_28^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ -x_32^post1+x_32^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -y_33^post1+y_33^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 Applied deletion Removed the following rules: 0 6 Eliminating location l4 by chaining: Applied chaining First rule: l2 -> l4 : x_13^0'=x_13^post5, x_27^0'=x_27^post5, x_32^0'=x_32^post5, y_16^0'=y_16^post5, y_28^0'=y_28^post5, y_33^0'=y_33^post5, (0 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 Second rule: l4 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (-y_28^post6+y_28^0 == 0 /\ -x_32^post6+x_32^0 == 0 /\ x_13^0-x_13^post6 == 0 /\ -x_27^post6+x_27^0 == 0 /\ y_33^0-y_33^post6 == 0 /\ y_16^0-y_16^post6 == 0), cost: 1 New rule: l2 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (0 == 0 /\ -y_33^post6+y_33^post5 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ -x_32^post6+x_32^post5 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -y_28^post6+y_28^post5 == 0 /\ y_16^post5-y_16^post6 == 0 /\ -x_27^post6+x_27^post5 == 0 /\ x_13^post5-x_13^post6 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 Applied deletion Removed the following rules: 4 5 Simplified Transitions Start location: l5 Program variables: x_13^0 x_27^0 x_32^0 y_16^0 y_28^0 y_33^0 9: l1 -> l2 : y_16^0'=5000, 1-x_13^0 <= 0, cost: 1 11: l2 -> l1 : y_16^0 <= 0, cost: 1 13: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 10: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 12: l5 -> l1 : x_13^0'=x_13^post1, y_16^0'=y_16^post1, T, cost: 1 Propagated Equalities Original rule: l1 -> l2 : x_13^0'=x_13^post2, x_27^0'=x_27^post2, x_32^0'=x_32^post2, y_16^0'=y_16^post2, y_28^0'=y_28^post2, y_33^0'=y_33^post2, (1-y_16^post2 <= 0 /\ -x_13^post2+x_13^0 == 0 /\ 1-x_13^0 <= 0 /\ -5000+y_16^post2 == 0 /\ y_33^0-y_33^post2 == 0 /\ x_27^0-x_27^post2 == 0 /\ y_28^0-y_28^post2 == 0 /\ -x_32^post2+x_32^0 == 0), cost: 1 New rule: l1 -> l2 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=5000, y_28^0'=y_28^0, y_33^0'=y_33^0, (0 == 0 /\ -4999 <= 0 /\ 1-x_13^0 <= 0), cost: 1 propagated equality x_13^post2 = x_13^0 propagated equality y_16^post2 = 5000 propagated equality y_33^post2 = y_33^0 propagated equality x_27^post2 = x_27^0 propagated equality y_28^post2 = y_28^0 propagated equality x_32^post2 = x_32^0 Simplified Guard Original rule: l1 -> l2 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=5000, y_28^0'=y_28^0, y_33^0'=y_33^0, (0 == 0 /\ -4999 <= 0 /\ 1-x_13^0 <= 0), cost: 1 New rule: l1 -> l2 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=5000, y_28^0'=y_28^0, y_33^0'=y_33^0, 1-x_13^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l2 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=5000, y_28^0'=y_28^0, y_33^0'=y_33^0, 1-x_13^0 <= 0, cost: 1 New rule: l1 -> l2 : y_16^0'=5000, 1-x_13^0 <= 0, cost: 1 made implied equalities explicit Original rule: l3 -> l2 : x_13^0'=x_13^post3, x_27^0'=x_27^post3, x_32^0'=x_32^post3, y_16^0'=y_16^post3, y_28^0'=y_28^post3, y_33^0'=y_33^post3, (0 == 0 /\ -1-y_16^post3+y_28^post3 <= 0 /\ y_33^0-y_33^post3 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_28^post3 <= 0 /\ -1-x_13^post3+x_27^post3 <= 0 /\ -x_32^post3+x_32^0 == 0 /\ 1+y_16^post3-y_28^post3 <= 0 /\ 1-y_16^0+y_16^post3 == 0 /\ 1-x_27^post3 <= 0 /\ 1+x_13^post3-x_27^post3 <= 0 /\ 1+x_13^post3-x_13^0 == 0), cost: 1 New rule: l3 -> l2 : x_13^0'=x_13^post3, x_27^0'=x_27^post3, x_32^0'=x_32^post3, y_16^0'=y_16^post3, y_28^0'=y_28^post3, y_33^0'=y_33^post3, (0 == 0 /\ -1-y_16^post3+y_28^post3 <= 0 /\ -1-y_16^post3+y_28^post3 == 0 /\ y_33^0-y_33^post3 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_28^post3 <= 0 /\ -1-x_13^post3+x_27^post3 <= 0 /\ -1-x_13^post3+x_27^post3 == 0 /\ -x_32^post3+x_32^0 == 0 /\ 1+y_16^post3-y_28^post3 <= 0 /\ 1-y_16^0+y_16^post3 == 0 /\ 1-x_27^post3 <= 0 /\ 1+x_13^post3-x_27^post3 <= 0 /\ 1+x_13^post3-x_13^0 == 0), cost: 1 Propagated Equalities Original rule: l3 -> l2 : x_13^0'=x_13^post3, x_27^0'=x_27^post3, x_32^0'=x_32^post3, y_16^0'=y_16^post3, y_28^0'=y_28^post3, y_33^0'=y_33^post3, (0 == 0 /\ -1-y_16^post3+y_28^post3 <= 0 /\ -1-y_16^post3+y_28^post3 == 0 /\ y_33^0-y_33^post3 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_28^post3 <= 0 /\ -1-x_13^post3+x_27^post3 <= 0 /\ -1-x_13^post3+x_27^post3 == 0 /\ -x_32^post3+x_32^0 == 0 /\ 1+y_16^post3-y_28^post3 <= 0 /\ 1-y_16^0+y_16^post3 == 0 /\ 1-x_27^post3 <= 0 /\ 1+x_13^post3-x_27^post3 <= 0 /\ 1+x_13^post3-x_13^0 == 0), cost: 1 New rule: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, x_32^0'=x_32^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, y_33^0'=y_33^0, (0 <= 0 /\ 0 == 0 /\ 1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 propagated equality y_16^post3 = -1+y_28^post3 propagated equality y_33^post3 = y_33^0 propagated equality x_13^post3 = -1+x_27^post3 propagated equality x_32^post3 = x_32^0 propagated equality y_28^post3 = y_16^0 propagated equality x_27^post3 = x_13^0 Simplified Guard Original rule: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, x_32^0'=x_32^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, y_33^0'=y_33^0, (0 <= 0 /\ 0 == 0 /\ 1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 New rule: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, x_32^0'=x_32^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, y_33^0'=y_33^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 Removed Trivial Updates Original rule: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, x_32^0'=x_32^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, y_33^0'=y_33^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 New rule: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 Propagated Equalities Original rule: l2 -> l1 : x_13^0'=x_13^post4, x_27^0'=x_27^post4, x_32^0'=x_32^post4, y_16^0'=y_16^post4, y_28^0'=y_28^post4, y_33^0'=y_33^post4, (y_16^0 <= 0 /\ x_27^0-x_27^post4 == 0 /\ y_33^0-y_33^post4 == 0 /\ y_16^0-y_16^post4 == 0 /\ -x_32^post4+x_32^0 == 0 /\ -x_13^post4+x_13^0 == 0 /\ -y_28^post4+y_28^0 == 0), cost: 1 New rule: l2 -> l1 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^0, y_28^0'=y_28^0, y_33^0'=y_33^0, (0 == 0 /\ y_16^0 <= 0), cost: 1 propagated equality x_27^post4 = x_27^0 propagated equality y_33^post4 = y_33^0 propagated equality y_16^post4 = y_16^0 propagated equality x_32^post4 = x_32^0 propagated equality x_13^post4 = x_13^0 propagated equality y_28^post4 = y_28^0 Simplified Guard Original rule: l2 -> l1 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^0, y_28^0'=y_28^0, y_33^0'=y_33^0, (0 == 0 /\ y_16^0 <= 0), cost: 1 New rule: l2 -> l1 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^0, y_28^0'=y_28^0, y_33^0'=y_33^0, y_16^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l2 -> l1 : x_13^0'=x_13^0, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^0, y_28^0'=y_28^0, y_33^0'=y_33^0, y_16^0 <= 0, cost: 1 New rule: l2 -> l1 : y_16^0 <= 0, cost: 1 Propagated Equalities Original rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post1, x_32^0'=x_32^post1, y_16^0'=y_16^post1, y_28^0'=y_28^post1, y_33^0'=y_33^post1, (0 == 0 /\ y_33^0-y_33^post7 == 0 /\ -x_27^post1+x_27^post7 == 0 /\ -y_28^post1+y_28^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ -x_32^post1+x_32^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -y_33^post1+y_33^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 New rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post7, x_32^0'=x_32^post7, y_16^0'=y_16^post1, y_28^0'=y_28^post7, y_33^0'=y_33^post7, (0 == 0 /\ y_33^0-y_33^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 propagated equality x_27^post1 = x_27^post7 propagated equality y_28^post1 = y_28^post7 propagated equality x_32^post1 = x_32^post7 propagated equality y_33^post1 = y_33^post7 Propagated Equalities Original rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^post7, x_32^0'=x_32^post7, y_16^0'=y_16^post1, y_28^0'=y_28^post7, y_33^0'=y_33^post7, (0 == 0 /\ y_33^0-y_33^post7 == 0 /\ -x_27^post7+x_27^0 == 0 /\ -y_28^post7+y_28^0 == 0 /\ y_16^0-y_16^post7 == 0 /\ x_13^0-x_13^post7 == 0 /\ -x_32^post7+x_32^0 == 0), cost: 1 New rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^post1, y_28^0'=y_28^0, y_33^0'=y_33^0, 0 == 0, cost: 1 propagated equality y_33^post7 = y_33^0 propagated equality x_27^post7 = x_27^0 propagated equality y_28^post7 = y_28^0 propagated equality y_16^post7 = y_16^0 propagated equality x_13^post7 = x_13^0 propagated equality x_32^post7 = x_32^0 Simplified Guard Original rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^post1, y_28^0'=y_28^0, y_33^0'=y_33^0, 0 == 0, cost: 1 New rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^post1, y_28^0'=y_28^0, y_33^0'=y_33^0, T, cost: 1 Removed Trivial Updates Original rule: l5 -> l1 : x_13^0'=x_13^post1, x_27^0'=x_27^0, x_32^0'=x_32^0, y_16^0'=y_16^post1, y_28^0'=y_28^0, y_33^0'=y_33^0, T, cost: 1 New rule: l5 -> l1 : x_13^0'=x_13^post1, y_16^0'=y_16^post1, T, cost: 1 made implied equalities explicit Original rule: l2 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (0 == 0 /\ -y_33^post6+y_33^post5 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ -x_32^post6+x_32^post5 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -y_28^post6+y_28^post5 == 0 /\ y_16^post5-y_16^post6 == 0 /\ -x_27^post6+x_27^post5 == 0 /\ x_13^post5-x_13^post6 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 New rule: l2 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (0 == 0 /\ -y_33^post6+y_33^post5 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1+y_16^post5-y_33^post5 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+x_13^post5-x_32^post5 == 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ -x_32^post6+x_32^post5 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -y_28^post6+y_28^post5 == 0 /\ y_16^post5-y_16^post6 == 0 /\ -x_27^post6+x_27^post5 == 0 /\ x_13^post5-x_13^post6 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 Propagated Equalities Original rule: l2 -> l2 : x_13^0'=x_13^post6, x_27^0'=x_27^post6, x_32^0'=x_32^post6, y_16^0'=y_16^post6, y_28^0'=y_28^post6, y_33^0'=y_33^post6, (0 == 0 /\ -y_33^post6+y_33^post5 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1+y_16^post5-y_33^post5 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+x_13^post5-x_32^post5 == 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ -x_32^post6+x_32^post5 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -y_28^post6+y_28^post5 == 0 /\ y_16^post5-y_16^post6 == 0 /\ -x_27^post6+x_27^post5 == 0 /\ x_13^post5-x_13^post6 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 New rule: l2 -> l2 : x_13^0'=x_13^post5, x_27^0'=x_27^post5, x_32^0'=x_32^post5, y_16^0'=y_16^post5, y_28^0'=y_28^post5, y_33^0'=y_33^post5, (0 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1+y_16^post5-y_33^post5 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+x_13^post5-x_32^post5 == 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 propagated equality y_33^post6 = y_33^post5 propagated equality x_32^post6 = x_32^post5 propagated equality y_28^post6 = y_28^post5 propagated equality y_16^post6 = y_16^post5 propagated equality x_27^post6 = x_27^post5 propagated equality x_13^post6 = x_13^post5 Propagated Equalities Original rule: l2 -> l2 : x_13^0'=x_13^post5, x_27^0'=x_27^post5, x_32^0'=x_32^post5, y_16^0'=y_16^post5, y_28^0'=y_28^post5, y_33^0'=y_33^post5, (0 == 0 /\ 1+y_16^post5-y_33^post5 <= 0 /\ 1+y_16^post5-y_33^post5 == 0 /\ 1-y_16^0 <= 0 /\ 1-y_33^post5 <= 0 /\ 1+x_13^post5-x_32^post5 <= 0 /\ 1+x_13^post5-x_32^post5 == 0 /\ 1+y_16^post5-y_16^0 == 0 /\ -y_28^post5+y_28^0 == 0 /\ x_27^0-x_27^post5 == 0 /\ -1-y_16^post5+y_33^post5 <= 0 /\ 1+x_13^post5-x_13^0 == 0 /\ -1-x_13^post5+x_32^post5 <= 0), cost: 1 New rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_27^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_28^0, y_33^0'=y_16^0, (0 <= 0 /\ 0 == 0 /\ 1-y_16^0 <= 0), cost: 1 propagated equality y_16^post5 = -1+y_33^post5 propagated equality x_13^post5 = -1+x_32^post5 propagated equality y_33^post5 = y_16^0 propagated equality y_28^post5 = y_28^0 propagated equality x_27^post5 = x_27^0 propagated equality x_32^post5 = x_13^0 Simplified Guard Original rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_27^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_28^0, y_33^0'=y_16^0, (0 <= 0 /\ 0 == 0 /\ 1-y_16^0 <= 0), cost: 1 New rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_27^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_28^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_27^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_28^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 New rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 Step with 12 Trace 12[T] Blocked [{}, {}] Step with 9 Trace 12[T], 9[(1-x_13^0 <= 0)] Blocked [{}, {}, {}] Step with 13 Trace 12[T], 9[(1-x_13^0 <= 0)], 13[(1-y_16^0 <= 0)] Blocked [{}, {}, {11[T]}, {}] Accelerate Start location: l5 Program variables: x_13^0 x_27^0 x_32^0 y_16^0 y_28^0 y_33^0 9: l1 -> l2 : y_16^0'=5000, 1-x_13^0 <= 0, cost: 1 11: l2 -> l1 : y_16^0 <= 0, cost: 1 13: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 14: l2 -> l2 : x_13^0'=-n+x_13^0, x_32^0'=1-n+x_13^0, y_16^0'=y_16^0-n, y_33^0'=1+y_16^0-n, (-1+n >= 0 /\ y_16^0-n >= 0), cost: 1 10: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 12: l5 -> l1 : x_13^0'=x_13^post1, y_16^0'=y_16^post1, T, cost: 1 Loop Acceleration Original rule: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, (1-y_16^0 <= 0), cost: 1 New rule: l2 -> l2 : x_13^0'=-n+x_13^0, x_32^0'=1-n+x_13^0, y_16^0'=y_16^0-n, y_33^0'=1+y_16^0-n, (-1+n >= 0 /\ y_16^0-n >= 0), cost: 1 -1+y_16^0 >= 0 [0]: montonic decrease yields y_16^0-n >= 0 -1+y_16^0 >= 0 [1]: eventual increase yields (1 <= 0 /\ -1+y_16^0 >= 0) Replacement map: {-1+y_16^0 >= 0 -> y_16^0-n >= 0} Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {}, {11[T]}, {13[T], 14[T]}] Step with 11 Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)], 11[(y_16^0 <= 0)] Blocked [{}, {}, {11[T]}, {13[T], 14[T]}, {}] Accelerate Start location: l5 Program variables: x_13^0 x_27^0 x_32^0 y_16^0 y_28^0 y_33^0 9: l1 -> l2 : y_16^0'=5000, 1-x_13^0 <= 0, cost: 1 15: l1 -> l1 : x_13^0'=-5000*n2+x_13^0, x_32^0'=1-5000*n2+x_13^0, y_16^0'=0, y_33^0'=1, (-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0), cost: 1 11: l2 -> l1 : y_16^0 <= 0, cost: 1 13: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, 1-y_16^0 <= 0, cost: 1 14: l2 -> l2 : x_13^0'=-n+x_13^0, x_32^0'=1-n+x_13^0, y_16^0'=y_16^0-n, y_33^0'=1+y_16^0-n, (-1+n >= 0 /\ y_16^0-n >= 0), cost: 1 10: l3 -> l2 : x_13^0'=-1+x_13^0, x_27^0'=x_13^0, y_16^0'=-1+y_16^0, y_28^0'=y_16^0, (1-y_16^0 <= 0 /\ 1-x_13^0 <= 0), cost: 1 12: l5 -> l1 : x_13^0'=x_13^post1, y_16^0'=y_16^post1, T, cost: 1 Loop Acceleration Original rule: l1 -> l1 : x_13^0'=-5000+x_13^0, x_32^0'=-4999+x_13^0, y_16^0'=0, y_33^0'=1, 1-x_13^0 <= 0, cost: 1 New rule: l1 -> l1 : x_13^0'=-5000*n2+x_13^0, x_32^0'=1-5000*n2+x_13^0, y_16^0'=0, y_33^0'=1, (-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0), cost: 1 -1+x_13^0 >= 0 [0]: montonic decrease yields 4999-5000*n2+x_13^0 >= 0 -1+x_13^0 >= 0 [1]: eventual increase yields (-1+x_13^0 >= 0 /\ 5000 <= 0) Replacement map: {-1+x_13^0 >= 0 -> 4999-5000*n2+x_13^0 >= 0} Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)] Blocked [{}, {}, {15[T]}] Step with 9 Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)] Blocked [{}, {}, {15[T]}, {}] Step with 13 Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 13[(1-y_16^0 <= 0)] Blocked [{}, {}, {15[T]}, {11[T]}, {}] Covered Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}] Step with 14 Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}, {14[T]}] Step with 11 Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)], 11[(y_16^0 <= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}, {14[T]}, {}] Covered Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}, {11[T], 14[T]}] Step with 13 Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)], 13[(1-y_16^0 <= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}, {11[T], 14[T]}, {}] Covered Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T]}, {11[T], 13[T], 14[T]}] Backtrack Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)], 9[(1-x_13^0 <= 0)] Blocked [{}, {}, {15[T]}, {11[T], 13[T], 14[T]}] Backtrack Trace 12[T], 15[(-1+n2 >= 0 /\ 4999-5000*n2+x_13^0 >= 0)] Blocked [{}, {}, {9[T], 15[T]}] Backtrack Trace 12[T] Blocked [{}, {15[T]}] Step with 9 Trace 12[T], 9[(1-x_13^0 <= 0)] Blocked [{}, {15[T]}, {}] Step with 13 Trace 12[T], 9[(1-x_13^0 <= 0)], 13[(1-y_16^0 <= 0)] Blocked [{}, {15[T]}, {}, {}] Covered Trace 12[T], 9[(1-x_13^0 <= 0)] Blocked [{}, {15[T]}, {13[T]}] Step with 14 Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {15[T]}, {13[T]}, {14[T]}] Step with 11 Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)], 11[(y_16^0 <= 0)] Blocked [{}, {15[T]}, {13[T]}, {14[T]}, {}] Covered Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {15[T]}, {13[T]}, {11[T], 14[T]}] Step with 13 Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)], 13[(1-y_16^0 <= 0)] Blocked [{}, {15[T]}, {13[T]}, {11[T], 14[T]}, {}] Covered Trace 12[T], 9[(1-x_13^0 <= 0)], 14[(-1+n >= 0 /\ y_16^0-n >= 0)] Blocked [{}, {15[T]}, {13[T]}, {11[T], 13[T], 14[T]}] Backtrack Trace 12[T], 9[(1-x_13^0 <= 0)] Blocked [{}, {15[T]}, {13[T], 14[T]}] Backtrack Trace 12[T] Blocked [{}, {9[T], 15[T]}] Backtrack Trace Blocked [{12[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b