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