diff options
Diffstat (limited to 'lib/msun/src/s_tanl.c')
-rw-r--r-- | lib/msun/src/s_tanl.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/msun/src/s_tanl.c b/lib/msun/src/s_tanl.c index 9562cf8..eadc837 100644 --- a/lib/msun/src/s_tanl.c +++ b/lib/msun/src/s_tanl.c @@ -34,6 +34,9 @@ __FBSDID("$FreeBSD$"); */ #include <float.h> +#ifdef __i386__ +#include <ieeefp.h> +#endif #include "math.h" #include "math_private.h" @@ -65,10 +68,12 @@ tanl(long double x) if (z.bits.exp == 32767) return ((x - x) / (x - x)); + ENTERI(); + /* Optimize the case where x is already within range. */ if (z.e < M_PI_4) { hi = __kernel_tanl(z.e, 0, 0); - return (s ? -hi : hi); + RETURNI(s ? -hi : hi); } e0 = __ieee754_rem_pio2l(x, y); @@ -86,5 +91,5 @@ tanl(long double x) break; } - return (hi); + RETURNI(hi); } |