| # bits = 8 * m + n0, # bits / 8 < m, # bits ≤ 8 * m + 8, n0 < 8 ⊦ # bits % 8 = 0, fix(m + 1, bits2bytes(bits)) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits), n0 = 0, bits = [] |
Used simplifier rules: ⊦ m * n = n * m;%n ≠ 0 ⊦ (m + n0 * n) % n = m % n;% ⊦ m < n → m % n = m;% ⊦ m0 * m * n = (m0 * m) * n;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ m + n - n + n1 = m - n1;%n ≠ 0 ⊦ (n0 + m * n) / n = n0 / n + m;% ⊦ m < n → m / n = 0;% ⊦ 0 + m = m;% ⊦ ¬ n < n;