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