This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix ldbl-128ibm sinhl spurious overflows (bug 19350)

The ldbl-128ibm implementation of sinhl uses a slightly too small
overflow threshold (similar to bug 16407 for coshl).  This patch fixes
it to use a safe threshold (so that values whose high part is above
the value compared with definitely result in an overflow in all
rounding modes).

Tested for powerpc.

2015-12-09  Joseph Myers  <>

	[BZ #19350]
	* sysdeps/ieee754/ldbl-128ibm/e_sinhl.c (__ieee754_sinhl):
	Increase overflow threshold.

diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
index 29700ad..67d9d24 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
@@ -67,7 +67,7 @@ __ieee754_sinhl(long double x)
 	if (ix < 0x40862e42fefa39efLL)  return h*__ieee754_expl(fabsl(x));
     /* |x| in [log(maxdouble), overflowthresold] */
-	if (ix <= 0x408633ce8fb9f87dLL) {
+	if (ix <= 0x408633ce8fb9f87eLL) {
 	    w = __ieee754_expl(0.5*fabsl(x));
 	    t = h*w;
 	    return t*w;

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]