inline fn mul64(a: u64, b: u64) u64
inline fn mul64(a: u64, b: u64) u64 { return @intCast(@as(u128, a) * b >> 64); }