INNER CODE UNIT · Python
S
herumi/mcl · misc/mul-approx.py:87
S = 1<<(2*self.d - (a - self.l + 1))
(Q2, R2) = divmod(x0 * self.p0, S)
lhs = S * self.p * (Q - Q2)
rhs = S * x1 + self.p1 * x0 - S * R + self.p * R2
if Q == Q2 or Q == Q2 + 1:
return
if Q != Q2:
print('rare case')
print(f'{x=}')
print(f'{x0=}')
print(f'{x1=}')
print(f'{Q=}')
print(f'{R=}')
print(f'{Q2=}')
print(f'{R2=}')
if lhs != rhs:
print(f'check err {x=}')
print(f'{Q=} {R=}')