| (i * 256 + j - 65536) + 65536 = i * 256 + j, 0 ≤ i, 0 ≤ j, ~65536 ≤ i * 256 + j - 65536, i * 256 + j - 65536 < 0, j < 256 ⊦ ((i * 256 + j - 65536) + 1) % 256 + 255 = j |
j < 256, 0 ≤ i, 0 ≤ j, i * 256 + j < 65536 ⊦ 255 + (j + i * 256 - 65535) % 256 = j
Used simplifier rules: ⊦ i - j < i0 ↔ i < j + i0;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ 0 ≤ j1 ∧ j1 < j → (0 ≤ i0 * j + j1 ↔ 0 ≤ i0);% ⊦ i ≤ j - i0 ↔ i + i0 ≤ j;%i < 0 ⊦ (* i) + j = j - ~ i;% ⊦ (* i) + i0 - (* j) = (i - j) + i0;% ⊦ i + (j - i0) = i + j - i0;% ⊦ i + j = i + i0 ↔ j = i0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + (j - i) = j;% ⊦ i * j = j * i;