pub fn ext_residue(x: &BigInt, y: &BigInt) -> BigInt
x | y: y reduced modulo x, the residue taking x’s sign; 0 | y is y.
x | y
0 | y