unknown Initial ITS Start location: [1] Program variables: i x y z 0: [1] -> [2] : x'=nondet, T, cost: 1 1: [2] -> [3] : y'=nondet1, T, cost: 1 2: [3] -> [4] : z'=0, T, cost: 1 3: [4] -> [5] : i'=x, T, cost: 1 4: [5] -> [7] : (y > 0 /\ x > 0), cost: 1 16: [5] -> [6] : (y <= 0 \/ x <= 0), cost: 1 5: [7] -> [8] : i > 0, cost: 1 9: [7] -> [11] : i <= 0, cost: 1 6: [8] -> [9] : i'=-1+i, T, cost: 1 7: [9] -> [10] : z'=1+z, T, cost: 1 8: [10] -> [7] : T, cost: 1 10: [11] -> [12] : i-y < 0, cost: 1 14: [11] -> [15] : i-y >= 0, cost: 1 11: [12] -> [13] : i'=1+i, T, cost: 1 12: [13] -> [14] : z'=-1+z, T, cost: 1 13: [14] -> [11] : T, cost: 1 15: [15] -> [6] : T, cost: 1 Chained Linear Paths Start location: [1] Program variables: i x y z 19: [1] -> [5] : i'=nondet, x'=nondet, y'=nondet1, z'=0, T, cost: 1 4: [5] -> [7] : (y > 0 /\ x > 0), cost: 1 16: [5] -> [6] : (y <= 0 \/ x <= 0), cost: 1 9: [7] -> [11] : i <= 0, cost: 1 22: [7] -> [7] : i'=-1+i, z'=1+z, i > 0, cost: 1 24: [11] -> [6] : i-y >= 0, cost: 1 26: [11] -> [11] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 Eliminating location [2] by chaining: Applied chaining First rule: [1] -> [2] : x'=nondet, T, cost: 1 Second rule: [2] -> [3] : y'=nondet1, T, cost: 1 New rule: [1] -> [3] : x'=nondet, y'=nondet1, T, cost: 1 Applied deletion Removed the following rules: 0 1 Eliminating location [3] by chaining: Applied chaining First rule: [1] -> [3] : x'=nondet, y'=nondet1, T, cost: 1 Second rule: [3] -> [4] : z'=0, T, cost: 1 New rule: [1] -> [4] : x'=nondet, y'=nondet1, z'=0, T, cost: 1 Applied deletion Removed the following rules: 2 17 Eliminating location [4] by chaining: Applied chaining First rule: [1] -> [4] : x'=nondet, y'=nondet1, z'=0, T, cost: 1 Second rule: [4] -> [5] : i'=x, T, cost: 1 New rule: [1] -> [5] : i'=nondet, x'=nondet, y'=nondet1, z'=0, T, cost: 1 Applied deletion Removed the following rules: 3 18 Eliminating location [8] by chaining: Applied chaining First rule: [7] -> [8] : i > 0, cost: 1 Second rule: [8] -> [9] : i'=-1+i, T, cost: 1 New rule: [7] -> [9] : i'=-1+i, i > 0, cost: 1 Applied deletion Removed the following rules: 5 6 Eliminating location [9] by chaining: Applied chaining First rule: [7] -> [9] : i'=-1+i, i > 0, cost: 1 Second rule: [9] -> [10] : z'=1+z, T, cost: 1 New rule: [7] -> [10] : i'=-1+i, z'=1+z, i > 0, cost: 1 Applied deletion Removed the following rules: 7 20 Eliminating location [10] by chaining: Applied chaining First rule: [7] -> [10] : i'=-1+i, z'=1+z, i > 0, cost: 1 Second rule: [10] -> [7] : T, cost: 1 New rule: [7] -> [7] : i'=-1+i, z'=1+z, i > 0, cost: 1 Applied deletion Removed the following rules: 8 21 Eliminating location [12] by chaining: Applied chaining First rule: [11] -> [12] : i-y < 0, cost: 1 Second rule: [12] -> [13] : i'=1+i, T, cost: 1 New rule: [11] -> [13] : i'=1+i, i-y < 0, cost: 1 Applied deletion Removed the following rules: 10 11 Eliminating location [15] by chaining: Applied chaining First rule: [11] -> [15] : i-y >= 0, cost: 1 Second rule: [15] -> [6] : T, cost: 1 New rule: [11] -> [6] : i-y >= 0, cost: 1 Applied deletion Removed the following rules: 14 15 Eliminating location [13] by chaining: Applied chaining First rule: [11] -> [13] : i'=1+i, i-y < 0, cost: 1 Second rule: [13] -> [14] : z'=-1+z, T, cost: 1 New rule: [11] -> [14] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 Applied deletion Removed the following rules: 12 23 Eliminating location [14] by chaining: Applied chaining First rule: [11] -> [14] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 Second rule: [14] -> [11] : T, cost: 1 New rule: [11] -> [11] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 Applied deletion Removed the following rules: 13 25 Step with 19 Trace 19[T] Blocked [{}, {}] Step with 4 Trace 19[T], 4[(y > 0 /\ x > 0)] Blocked [{}, {}, {}] Step with 22 Trace 19[T], 4[(y > 0 /\ x > 0)], 22[(i > 0)] Blocked [{}, {}, {9[T]}, {}] Accelerate Start location: [1] Program variables: i x y z 19: [1] -> [5] : i'=nondet, x'=nondet, y'=nondet1, z'=0, T, cost: 1 4: [5] -> [7] : (y > 0 /\ x > 0), cost: 1 16: [5] -> [6] : (y <= 0 \/ x <= 0), cost: 1 9: [7] -> [11] : i <= 0, cost: 1 22: [7] -> [7] : i'=-1+i, z'=1+z, i > 0, cost: 1 27: [7] -> [7] : i'=i-n, z'=z+n, (-1+n >= 0 /\ 1+i-n > 0), cost: 1 24: [11] -> [6] : i-y >= 0, cost: 1 26: [11] -> [11] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 Loop Acceleration Original rule: [7] -> [7] : i'=-1+i, z'=1+z, (i > 0), cost: 1 New rule: [7] -> [7] : i'=i-n, z'=z+n, (-1+n >= 0 /\ 1+i-n > 0), cost: 1 i > 0 [0]: montonic decrease yields 1+i-n > 0 i > 0 [1]: eventual increase yields (1 <= 0 /\ i > 0) Replacement map: {i > 0 -> 1+i-n > 0} Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}] Step with 9 Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {}] Step with 26 Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)], 26[(i-y < 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T]}, {}] Accelerate Start location: [1] Program variables: i x y z 19: [1] -> [5] : i'=nondet, x'=nondet, y'=nondet1, z'=0, T, cost: 1 4: [5] -> [7] : (y > 0 /\ x > 0), cost: 1 16: [5] -> [6] : (y <= 0 \/ x <= 0), cost: 1 9: [7] -> [11] : i <= 0, cost: 1 22: [7] -> [7] : i'=-1+i, z'=1+z, i > 0, cost: 1 27: [7] -> [7] : i'=i-n, z'=z+n, (-1+n >= 0 /\ 1+i-n > 0), cost: 1 24: [11] -> [6] : i-y >= 0, cost: 1 26: [11] -> [11] : i'=1+i, z'=-1+z, i-y < 0, cost: 1 28: [11] -> [11] : i'=n2+i, z'=-n2+z, (-1+n2 >= 0 /\ 1-n2-i+y > 0), cost: 1 Loop Acceleration Original rule: [11] -> [11] : i'=1+i, z'=-1+z, (i-y < 0), cost: 1 New rule: [11] -> [11] : i'=n2+i, z'=-n2+z, (-1+n2 >= 0 /\ 1-n2-i+y > 0), cost: 1 -i+y > 0 [0]: montonic decrease yields 1-n2-i+y > 0 -i+y > 0 [1]: eventual increase yields (1 <= 0 /\ -i+y > 0) Replacement map: {-i+y > 0 -> 1-n2-i+y > 0} Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)], 28[(-1+n2 >= 0 /\ 1-n2-i+y > 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T]}, {26[T], 28[T]}] Step with 24 Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)], 28[(-1+n2 >= 0 /\ 1-n2-i+y > 0)], 24[(i-y >= 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T]}, {26[T], 28[T]}, {}] Backtrack Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)], 28[(-1+n2 >= 0 /\ 1-n2-i+y > 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T]}, {24[T], 26[T], 28[T]}] Backtrack Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T], 28[T]}] Step with 26 Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)], 26[(i-y < 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T], 28[T]}, {}] Covered Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)], 9[(i <= 0)] Blocked [{}, {}, {9[T]}, {22[T], 27[T]}, {24[T], 26[T], 28[T]}] Backtrack Trace 19[T], 4[(y > 0 /\ x > 0)], 27[(-1+n >= 0 /\ 1+i-n > 0)] Blocked [{}, {}, {9[T]}, {9[T], 22[T], 27[T]}] Backtrack Trace 19[T], 4[(y > 0 /\ x > 0)] Blocked [{}, {}, {9[T], 27[T]}] Step with 22 Trace 19[T], 4[(y > 0 /\ x > 0)], 22[(i > 0)] Blocked [{}, {}, {9[T], 27[T]}, {}] Covered Trace 19[T], 4[(y > 0 /\ x > 0)] Blocked [{}, {}, {9[T], 22[T], 27[T]}] Backtrack Trace 19[T] Blocked [{}, {4[T]}] Step with 16 Trace 19[T], 16[(y <= 0)] Blocked [{}, {4[T]}, {}] Backtrack Trace 19[T] Blocked [{}, {4[T], 16[y <= 0]}] Step with 16 Trace 19[T], 16[(x <= 0)] Blocked [{}, {4[T], 16[y <= 0]}, {}] Backtrack Trace 19[T] Blocked [{}, {4[T], 16[(y <= 0 /\ x <= 0)]}] Backtrack Trace Blocked [{19[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b