aboutsummaryrefslogtreecommitdiff
path: root/libquadmath/math/coshq.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-07-19 15:12:58 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2017-07-19 15:12:58 +0200
commit1eba0867060b1643d71d4185fbc23995248092bf (patch)
treeb933cf0474996b72f099f09c134fd321c9590600 /libquadmath/math/coshq.c
parent564e405c138dc1891ca92462a585bf89444d7dd1 (diff)
downloadgcc-1eba0867060b1643d71d4185fbc23995248092bf.zip
gcc-1eba0867060b1643d71d4185fbc23995248092bf.tar.gz
gcc-1eba0867060b1643d71d4185fbc23995248092bf.tar.bz2
re PR libquadmath/65757 (gfortran gives incorrect result for anint with real*16 argument)
PR libquadmath/65757 * quadmath-imp.h (math_opt_barrier, math_force_eval, math_narrow_eval, math_check_force_underflow, math_check_force_underflow_nonneg): Define. * math/ceilq.c: Backport changes from upstream glibc between 2012-11-01 and 2017-07-13. * math/remquoq.c: Likewise. * math/expq.c: Likewise. * math/llroundq.c: Likewise. * math/logq.c: Likewise. * math/atanq.c: Likewise. * math/nearbyintq.c: Likewise. * math/scalblnq.c: Likewise. * math/finiteq.c: Likewise. * math/atanhq.c: Likewise. * math/expm1q.c: Likewise. * math/sinhq.c: Likewise. * math/log10q.c: Likewise. * math/rintq.c: Likewise. * math/roundq.c: Likewise. * math/fmaq.c: Likewise. * math/erfq.c: Likewise. * math/log2q.c: Likewise. * math/lroundq.c: Likewise. * math/j1q.c: Likewise. * math/scalbnq.c: Likewise. * math/truncq.c: Likewise. * math/frexpq.c: Likewise. * math/sincosq.c: Likewise. * math/tanhq.c: Likewise. * math/asinq.c: Likewise. * math/coshq.c: Likewise. * math/j0q.c: Likewise. * math/asinhq.c: Likewise. * math/floorq.c: Likewise. * math/sinq_kernel.c: Likewise. * math/powq.c: Likewise. * math/hypotq.c: Likewise. * math/sincos_table.c: Likewise. * math/rem_pio2q.c: Likewise. * math/nextafterq.c: Likewise. * math/log1pq.c: Likewise. * math/sincosq_kernel.c: Likewise. * math/tanq.c: Likewise. * math/acosq.c: Likewise. * math/lrintq.c: Likewise. * math/llrintq.c: Likewise. From-SVN: r250343
Diffstat (limited to 'libquadmath/math/coshq.c')
-rw-r--r--libquadmath/math/coshq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libquadmath/math/coshq.c b/libquadmath/math/coshq.c
index 77f4b98..6139750 100644
--- a/libquadmath/math/coshq.c
+++ b/libquadmath/math/coshq.c
@@ -76,10 +76,10 @@ coshq (__float128 x)
/* |x| in [0,0.5*ln2], return 1+expm1l(|x|)^2/(2*expq(|x|)) */
if (ex < 0x3ffd62e4) /* 0.3465728759765625 */
{
+ if (ex < 0x3fb80000) /* |x| < 2^-116 */
+ return one; /* cosh(tiny) = 1 */
t = expm1q (u.value);
w = one + t;
- if (ex < 0x3fb80000) /* |x| < 2^-116 */
- return w; /* cosh(tiny) = 1 */
return one + (t * t) / (w + w);
}