fn u128_mulhi(x: u128, y: u128) -> u128
Multiply unsigned 128 bit integers, return upper 128 bits of the result