| j + i * 256 = (i0 * 256 + j0) + 65535, i0 ≤ 0, j0 ≤ 0, j + i * 256 < 65535, abs(j0) < 256, 0 ≤ j, 0 ≤ i, j < 256 ⊦ 255 + j0 = j |
(i0 * 256 + j0) + 65535 = (i0 + 255) * 256 + j0 + 255, j + i * 256 = (i0 * 256 + j0) + 65535, i0 ≤ 0, j0 ≤ 0, j + i * 256 < 65535, abs(j0) < 256, 0 ≤ j, 0 ≤ i, j < 256 ⊦ 255 + j0 = j
Used simplifier rules: ⊦ i + j = i + i0 ↔ j = i0;% ⊦ i + (* j) = i0 + (* j0) ↔ i = i0 + (j0 - j);%i < 0 ⊦ (* i) + j = j - ~ i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i - j = i0 ↔ i = i0 + j;% ⊦ (i + j) * i0 = j0 + j * i0 ↔ i * i0 = j0;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i; Used formulas: (i0 * 256 + j0) + 65535 = (i0 + 255) * 256 + j0 + 255