const fn muladdcarry(x: Word, y: Word, z: Word, w: Word) -> (Word, Word)
Returns (hi, lo) such that hi * R + lo = x * y + z + w.
(hi, lo)
hi * R + lo = x * y + z + w