| i0 * 2 + j < 0 ∧ i0 * 2 + j ≠ ~1, abs(j) < 2, j ≤ 0, i0 ≤ 0, i0 * 2 + j < 0 ⊦ int2bits(j) = (int2bits((i0 * 2 + j - 1) / 2) + (~1 = (i0 * 2 + j) % 2)').last ' |
abs(j) < 2, j ≤ 0, i0 ≤ 0, i0 * 2 + j < 0 ⊦ i0 * 2 + j = ~1, int2bits(j) = (~1 = j)'
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (bits + boolvar ').last ↔ boolvar;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 0 < j ∧ i ≤ 0 ∧ i0 ≤ 0 ∧ abs(i0) < j → (j * i + i0) % j = i0;