| ⊦ i2l(bits2int(lastn(64, int2bits(~9223372036854775809)))) = i2l(9223372036854775807) |
⊦ i < 0 → int2bits(i) = sgn(bitsinvert(uint2bits(abs(i))) +1)
Used simplifier rules: 1 < i ⊦ uint2bits((* i)) = uint2bits(i / 2) + (i % 2 = 1);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ bits + boolvar = bits + boolvar ';% ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);% ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);% ⊦ bitsinvert(true ') = false ';% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (bits + false ')+1 = bits + true;% ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;%0 < n ⊦ lastn((* n), bits + boolvar ') = lastn(n -1, bits) + boolvar ';% ⊦ lastn(1, bits) = bits.last ';% ⊦ (bits + boolvar ').last ↔ boolvar;% ⊦ bits2int(false ' + bits) = bits2uint(bits);% ⊦ bits2uint(bits + true ') = bits2uint(bits) * 2 + 1;% ⊦ bits2uint(true ') = 1; Used terms: ~9223372036854775809