pub fn tanx(x: f80) callconv(.c) f80
pub fn tanx(x: f80) callconv(.c) f80 { const se = ld.signExponent(x) & 0x7fff; if (se == 0x7fff) { return x - x; } if (@abs(x) < kernel.pi_4) { if (se < 0x3fff - math.floatMantissaBits(f80) / 2) { if (compiler_rt.want_float_exceptions) { mem.doNotOptimizeAway(if (se == 0) x * 0x1p-120 else x + 0x1p120); } return x; } return kernel.tanx(x, 0.0, 0); } var y: [2]f80 = undefined; const n = rem_pio2l(f80, x, &y); return kernel.tanx(y[0], y[1], n & 1); }