let lo: u32; let hi: u32; export function add(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: i64 = (loLeft | hiLeft << 32) + (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function sub(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: i64 = (loLeft | hiLeft << 32) - (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function mul(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: i64 = (loLeft | hiLeft << 32) * (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function div_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: i64 = (loLeft | hiLeft << 32) / (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function div_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: u64 = (loLeft | hiLeft << 32) / (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function rem_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: i64 = (loLeft | hiLeft << 32) % (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); } export function rem_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void { const ret: u64 = (loLeft | hiLeft << 32) % (loRight | hiRight << 32); lo = ret; hi = (ret >>> 32); }