| (j - 1) / 2 < 0, j < 0 ⊦ j = ~1, sgn(bitsinvert(uint2bits(~ j)) +1) = sgn(bitsinvert(uint2bits(abs((j - 1) / 2))) +1) + (~1 = j % 2)' |
j < 0, (j - 1) / 2 < 0, j ≤ 0 ⊦ j = ~1, sgn(bitsinvert(uint2bits(~ j)) +1) = sgn(bitsinvert(uint2bits((1 - j) / 2)) +1) + (~1 = j % 2)'
Used simplifier rules: ⊦ i < 1 ↔ i ≤ 0;% ⊦ i - j < i0 ↔ i < j + i0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + ~ j = i - j;% ⊦ ~(i - 1) = ~ i + 1;% ⊦ i < 0 → abs(i) = ~ i;% ⊦ i / 2 < 0 → i < 0; (forward)%j ≠ 0 ⊦ abs(i / j) = abs(i) / abs(j);