pub fn __mulsi3(a: i32, b: i32) callconv(.c) i32
pub fn __mulsi3(a: i32, b: i32) callconv(.c) i32 { var ua: u32 = @bitCast(a); var ub: u32 = @bitCast(b); var r: u32 = 0; while (ua > 0) { if ((ua & 1) != 0) r +%= ub; ua >>= 1; ub <<= 1; } return @bitCast(r); }