diff options
Diffstat (limited to 'math/s_ctan.c')
-rw-r--r-- | math/s_ctan.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/math/s_ctan.c b/math/s_ctan.c index eaf31fa647..bcf5cfcec0 100644 --- a/math/s_ctan.c +++ b/math/s_ctan.c @@ -110,6 +110,16 @@ __ctan (__complex__ double x) __real__ res = sinrx * cosrx / den; __imag__ res = sinhix * coshix / den; } + if (fabs (__real__ res) < DBL_MIN) + { + double force_underflow = __real__ res * __real__ res; + math_force_eval (force_underflow); + } + if (fabs (__imag__ res) < DBL_MIN) + { + double force_underflow = __imag__ res * __imag__ res; + math_force_eval (force_underflow); + } } return res; |