| abs(s2i(sho)) < abs(256), s2i(sho) % 256 = 0, 0 ≤ (65536 + s2i(sho)) / 256, ~65536 ≤ s2i(sho), s2i(sho) < 0, ~256 < s2i(sho) ⊦ band(255, 0) = ((65536 + s2i(sho)) / 256) % 256 |
s2i(sho) % 256 = 0, 0 ≤ (65536 + s2i(sho)) / 256, ~65536 ≤ s2i(sho), s2i(sho) < 0, ~256 < s2i(sho) ⊦ 0 = ((65536 + s2i(sho)) / 256) % 256
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;%i0 ≠ 0, i0 ≤ i ⊦ (* i) < j → (* i0) < j;% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ ~ i < j ↔ 0 < j + i;% ⊦ i < 0 → abs(i) = ~ i;% ⊦ band(i, j) = band(j, i);% ⊦ band(i, band(i0, j)) = band(band(i, i0), j);% ⊦ 0 ≤ i → band(i, 255) = i % 256;