def mul128
import bend-collections@1.0.0.0/src/math/w64.bend as W64import Base
import bend-collections@1.0.0.0/src/math/u64.bend as W
407# the full product as (low 64 bits, high 64 bits)
408def mul128(+a: W.U64, +b: W.U64) -> W.U64 & W.U64:
409 mul128_mid(mul32(lo(a), lo(b)), mul32(lo(a), hi(b)), mul32(hi(a), lo(b)), mul32(hi(a), hi(b)))