public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
                   ` (2 preceding siblings ...)
  2016-08-16 17:02 ` [PATCH 6/6] Make shared ldbl files more shareable Paul E. Murphy
@ 2016-08-16 17:02 ` Paul E. Murphy
  2016-08-16 18:03   ` Joseph Myers
  2016-08-16 17:02 ` [PATCH 2/6] ldbl-128: Define and use mathx_hidden_def wrapper to hidden_def Paul E. Murphy
  2016-08-16 17:03 ` [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants Paul E. Murphy
  5 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

This did not alter compilation for s390x and aarch64
targets.

	* sysdeps/ieee754/ldbl-128/e_asinl.c:
	Remove unused sqrtl declaration.
---
 sysdeps/ieee754/ldbl-128/e_asinl.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c
index 5a0e473..4a8ed4c 100644
--- a/sysdeps/ieee754/ldbl-128/e_asinl.c
+++ b/sysdeps/ieee754/ldbl-128/e_asinl.c
@@ -62,7 +62,6 @@
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
-long double sqrtl (long double);
 
 static const long double
   one = 1.0L,
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t'
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
@ 2016-08-16 17:02 ` Paul E. Murphy
  2016-08-16 18:10   ` Joseph Myers
  2016-08-16 17:02 ` [PATCH 1/6] ldbl-128: Simplify fma usage Paul E. Murphy
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

Add a layer of macro indirection for long double files
which need to be built using another typename.  Likewise,
add the L(num) macro used in a later patch to override
real constants.

These changes produce identical binaries for s390x and
aarch64.

	* sysdeps/generic/math_private.h:
	[!__LDOUBLE_T_OVERRIDDEN] (ldouble_t): New default macro
	alias for long double.
	[!__LDOUBLE_T_OVERRIDDEN] (L): New default macro to apply
	long double literal suffix.

	* sysdeps/ieee754/ldbl-128/e_acoshl.c: Rename long double
	ldouble_t and ensure math_private.h gets added as needed.

	* sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_atan2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_exp10l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_fmodl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_ilogbl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_j0l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/gamma_productl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/lgamma_productl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/mul_splitl.h: Likewise.
	* sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_ceill.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_fabsl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_floorl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_frexpl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_issignalingl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_logbl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_modfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nextupl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_remquol.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_roundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_scalblnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_scalbnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_signbitl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_sinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_truncl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/t_expl.h: Likewise.
	* sysdeps/ieee754/ldbl-128/t_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
---
 sysdeps/generic/math_private.h             |   7 ++
 sysdeps/ieee754/ldbl-128/e_acoshl.c        |   8 +-
 sysdeps/ieee754/ldbl-128/e_acosl.c         |   8 +-
 sysdeps/ieee754/ldbl-128/e_asinl.c         |  10 +-
 sysdeps/ieee754/ldbl-128/e_atan2l.c        |   8 +-
 sysdeps/ieee754/ldbl-128/e_atanhl.c        |  10 +-
 sysdeps/ieee754/ldbl-128/e_coshl.c         |   8 +-
 sysdeps/ieee754/ldbl-128/e_exp10l.c        |  12 +-
 sysdeps/ieee754/ldbl-128/e_expl.c          |   8 +-
 sysdeps/ieee754/ldbl-128/e_fmodl.c         |   6 +-
 sysdeps/ieee754/ldbl-128/e_gammal_r.c      |  50 ++++-----
 sysdeps/ieee754/ldbl-128/e_hypotl.c        |   6 +-
 sysdeps/ieee754/ldbl-128/e_ilogbl.c        |   2 +-
 sysdeps/ieee754/ldbl-128/e_j0l.c           | 104 +++++++++---------
 sysdeps/ieee754/ldbl-128/e_j1l.c           | 104 +++++++++---------
 sysdeps/ieee754/ldbl-128/e_jnl.c           |  44 ++++----
 sysdeps/ieee754/ldbl-128/e_lgammal_r.c     | 170 ++++++++++++++---------------
 sysdeps/ieee754/ldbl-128/e_log10l.c        |  30 ++---
 sysdeps/ieee754/ldbl-128/e_log2l.c         |  30 ++---
 sysdeps/ieee754/ldbl-128/e_logl.c          |  12 +-
 sysdeps/ieee754/ldbl-128/e_powl.c          |  32 +++---
 sysdeps/ieee754/ldbl-128/e_rem_pio2l.c     |  10 +-
 sysdeps/ieee754/ldbl-128/e_remainderl.c    |   8 +-
 sysdeps/ieee754/ldbl-128/e_sinhl.c         |   8 +-
 sysdeps/ieee754/ldbl-128/gamma_productl.c  |   8 +-
 sysdeps/ieee754/ldbl-128/k_cosl.c          |  10 +-
 sysdeps/ieee754/ldbl-128/k_sincosl.c       |   8 +-
 sysdeps/ieee754/ldbl-128/k_sinl.c          |  10 +-
 sysdeps/ieee754/ldbl-128/k_tanl.c          |  10 +-
 sysdeps/ieee754/ldbl-128/lgamma_negl.c     |  82 +++++++-------
 sysdeps/ieee754/ldbl-128/lgamma_productl.c |  24 ++--
 sysdeps/ieee754/ldbl-128/mul_splitl.h      |  10 +-
 sysdeps/ieee754/ldbl-128/s_asinhl.c        |   8 +-
 sysdeps/ieee754/ldbl-128/s_atanl.c         |  12 +-
 sysdeps/ieee754/ldbl-128/s_cbrtl.c         |  14 +--
 sysdeps/ieee754/ldbl-128/s_ceill.c         |   2 +-
 sysdeps/ieee754/ldbl-128/s_copysignl.c     |   8 +-
 sysdeps/ieee754/ldbl-128/s_cosl.c          |   4 +-
 sysdeps/ieee754/ldbl-128/s_erfl.c          | 140 ++++++++++++------------
 sysdeps/ieee754/ldbl-128/s_expm1l.c        |   8 +-
 sysdeps/ieee754/ldbl-128/s_fabsl.c         |   2 +-
 sysdeps/ieee754/ldbl-128/s_finitel.c       |   2 +-
 sysdeps/ieee754/ldbl-128/s_floorl.c        |   2 +-
 sysdeps/ieee754/ldbl-128/s_fmal.c          |  28 ++---
 sysdeps/ieee754/ldbl-128/s_fpclassifyl.c   |   2 +-
 sysdeps/ieee754/ldbl-128/s_frexpl.c        |   6 +-
 sysdeps/ieee754/ldbl-128/s_isinfl.c        |   2 +-
 sysdeps/ieee754/ldbl-128/s_isnanl.c        |   2 +-
 sysdeps/ieee754/ldbl-128/s_issignalingl.c  |   2 +-
 sysdeps/ieee754/ldbl-128/s_llrintl.c       |  16 +--
 sysdeps/ieee754/ldbl-128/s_llroundl.c      |   6 +-
 sysdeps/ieee754/ldbl-128/s_log1pl.c        |  18 +--
 sysdeps/ieee754/ldbl-128/s_logbl.c         |   6 +-
 sysdeps/ieee754/ldbl-128/s_lrintl.c        |  18 +--
 sysdeps/ieee754/ldbl-128/s_lroundl.c       |   6 +-
 sysdeps/ieee754/ldbl-128/s_modfl.c         |   4 +-
 sysdeps/ieee754/ldbl-128/s_nearbyintl.c    |   6 +-
 sysdeps/ieee754/ldbl-128/s_nextafterl.c    |   8 +-
 sysdeps/ieee754/ldbl-128/s_nextupl.c       |   4 +-
 sysdeps/ieee754/ldbl-128/s_remquol.c       |   8 +-
 sysdeps/ieee754/ldbl-128/s_rintl.c         |   6 +-
 sysdeps/ieee754/ldbl-128/s_roundl.c        |   4 +-
 sysdeps/ieee754/ldbl-128/s_scalblnl.c      |   6 +-
 sysdeps/ieee754/ldbl-128/s_scalbnl.c       |   4 +-
 sysdeps/ieee754/ldbl-128/s_signbitl.c      |   3 +-
 sysdeps/ieee754/ldbl-128/s_sincosl.c       |   4 +-
 sysdeps/ieee754/ldbl-128/s_sinl.c          |   4 +-
 sysdeps/ieee754/ldbl-128/s_tanhl.c         |   8 +-
 sysdeps/ieee754/ldbl-128/s_tanl.c          |   4 +-
 sysdeps/ieee754/ldbl-128/s_truncl.c        |   4 +-
 sysdeps/ieee754/ldbl-128/t_expl.h          |   2 +-
 sysdeps/ieee754/ldbl-128/t_sincosl.c       |   5 +-
 sysdeps/ieee754/ldbl-128/x2y2m1l.c         |  16 +--
 73 files changed, 641 insertions(+), 630 deletions(-)

diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
index 08b04e0..15f1efc 100644
--- a/sysdeps/generic/math_private.h
+++ b/sysdeps/generic/math_private.h
@@ -185,6 +185,13 @@ do {								\
    ldbl-128 files as another type (e.g _Float128).  */
 #define mathx_hidden_def(name) hidden_def(name)
 
+/* These hooks let us override certain long double files using
+   a different type (e.g building ldbl-128 as _Float128).  */
+#ifndef __LDOUBLE_T_OVERRIDDEN
+# define ldouble_t long double
+# define L(x) x##L
+#endif
+
 /* Get long double macros from a separate header.  */
 #include <math_ldbl.h>
 
diff --git a/sysdeps/ieee754/ldbl-128/e_acoshl.c b/sysdeps/ieee754/ldbl-128/e_acoshl.c
index 6234289..a71bb5a 100644
--- a/sysdeps/ieee754/ldbl-128/e_acoshl.c
+++ b/sysdeps/ieee754/ldbl-128/e_acoshl.c
@@ -30,14 +30,14 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 one	= 1.0,
 ln2	= 0.6931471805599453094172321214581766L;
 
-long double
-__ieee754_acoshl(long double x)
+ldouble_t
+__ieee754_acoshl(ldouble_t x)
 {
-	long double t;
+	ldouble_t t;
 	u_int64_t lx;
 	int64_t hx;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/e_acosl.c b/sysdeps/ieee754/ldbl-128/e_acosl.c
index 8c8ec93..a1f031d 100644
--- a/sysdeps/ieee754/ldbl-128/e_acosl.c
+++ b/sysdeps/ieee754/ldbl-128/e_acosl.c
@@ -57,7 +57,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
   one = 1.0L,
   pio2_hi = 1.5707963267948966192313216916397514420986L,
   pio2_lo = 4.3359050650618905123985220130216759843812E-35L,
@@ -148,10 +148,10 @@ static const long double
   qS8 = -4.175375777334867025769346564600396877176E1L;
   /* 1.000000000000000000000000000000000000000E0 */
 
-long double
-__ieee754_acosl (long double x)
+ldouble_t
+__ieee754_acosl (ldouble_t x)
 {
-  long double z, r, w, p, q, s, t, f2;
+  ldouble_t z, r, w, p, q, s, t, f2;
   int32_t ix, sign;
   ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c
index 4a8ed4c..0909acc 100644
--- a/sysdeps/ieee754/ldbl-128/e_asinl.c
+++ b/sysdeps/ieee754/ldbl-128/e_asinl.c
@@ -63,7 +63,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
   one = 1.0L,
   huge = 1.0e+4932L,
   pio2_hi = 1.5707963267948966192313216916397514420986L,
@@ -128,10 +128,10 @@ static const long double
 
 
 
-long double
-__ieee754_asinl (long double x)
+ldouble_t
+__ieee754_asinl (ldouble_t x)
 {
-  long double t, w, p, q, c, r, s;
+  ldouble_t t, w, p, q, c, r, s;
   int32_t ix, sign, flag;
   ieee854_long_double_shape_type u;
 
@@ -153,7 +153,7 @@ __ieee754_asinl (long double x)
       if (ix < 0x3fc60000) /* |x| < 2**-57 */
 	{
 	  math_check_force_underflow (x);
-	  long double force_inexact = huge + x;
+	  ldouble_t force_inexact = huge + x;
 	  math_force_eval (force_inexact);
 	  return x;		/* return x with inexact if x!=0 */
 	}
diff --git a/sysdeps/ieee754/ldbl-128/e_atan2l.c b/sysdeps/ieee754/ldbl-128/e_atan2l.c
index d31ee70..6a9eb26 100644
--- a/sysdeps/ieee754/ldbl-128/e_atan2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_atan2l.c
@@ -43,7 +43,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 tiny  = 1.0e-4900L,
 zero  = 0.0,
 pi_o_4  = 7.85398163397448309615660845819875699e-01L, /* 3ffe921fb54442d18469898cc51701b8 */
@@ -51,10 +51,10 @@ pi_o_2  = 1.57079632679489661923132169163975140e+00L, /* 3fff921fb54442d18469898
 pi      = 3.14159265358979323846264338327950280e+00L, /* 4000921fb54442d18469898cc51701b8 */
 pi_lo   = 8.67181013012378102479704402604335225e-35L; /* 3f8dcd129024e088a67cc74020bbea64 */
 
-long double
-__ieee754_atan2l(long double y, long double x)
+ldouble_t
+__ieee754_atan2l(ldouble_t y, ldouble_t x)
 {
-	long double z;
+	ldouble_t z;
 	int64_t k,m,hx,hy,ix,iy;
 	u_int64_t lx,ly;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_atanhl.c b/sysdeps/ieee754/ldbl-128/e_atanhl.c
index 7fa53ef..20a4604 100644
--- a/sysdeps/ieee754/ldbl-128/e_atanhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_atanhl.c
@@ -36,14 +36,14 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0L, huge = 1e4900L;
+static const ldouble_t one = 1.0L, huge = 1e4900L;
 
-static const long double zero = 0.0L;
+static const ldouble_t zero = 0.0L;
 
-long double
-__ieee754_atanhl(long double x)
+ldouble_t
+__ieee754_atanhl(ldouble_t x)
 {
-	long double t;
+	ldouble_t t;
 	u_int32_t jx, ix;
 	ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_coshl.c b/sysdeps/ieee754/ldbl-128/e_coshl.c
index 488c318..5eb08c5 100644
--- a/sysdeps/ieee754/ldbl-128/e_coshl.c
+++ b/sysdeps/ieee754/ldbl-128/e_coshl.c
@@ -54,13 +54,13 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0, half = 0.5, huge = 1.0e4900L,
+static const ldouble_t one = 1.0, half = 0.5, huge = 1.0e4900L,
 ovf_thresh = 1.1357216553474703894801348310092223067821E4L;
 
-long double
-__ieee754_coshl (long double x)
+ldouble_t
+__ieee754_coshl (ldouble_t x)
 {
-  long double t, w;
+  ldouble_t t, w;
   int32_t ex;
   ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_exp10l.c b/sysdeps/ieee754/ldbl-128/e_exp10l.c
index 9870025..5d4f69a 100644
--- a/sysdeps/ieee754/ldbl-128/e_exp10l.c
+++ b/sysdeps/ieee754/ldbl-128/e_exp10l.c
@@ -19,15 +19,15 @@
 #include <math_private.h>
 #include <float.h>
 
-static const long double log10_high = 0x2.4d763776aaa2bp0L;
-static const long double log10_low = 0x5.ba95b58ae0b4c28a38a3fb3e7698p-60L;
+static const ldouble_t log10_high = 0x2.4d763776aaa2bp0L;
+static const ldouble_t log10_low = 0x5.ba95b58ae0b4c28a38a3fb3e7698p-60L;
 
-long double
-__ieee754_exp10l (long double arg)
+ldouble_t
+__ieee754_exp10l (ldouble_t arg)
 {
   ieee854_long_double_shape_type u;
-  long double arg_high, arg_low;
-  long double exp_high, exp_low;
+  ldouble_t arg_high, arg_low;
+  ldouble_t exp_high, exp_low;
 
   if (!isfinite (arg))
     return __ieee754_expl (arg);
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c
index 7b71e64..0427021 100644
--- a/sysdeps/ieee754/ldbl-128/e_expl.c
+++ b/sysdeps/ieee754/ldbl-128/e_expl.c
@@ -68,7 +68,7 @@
 #include <stdlib.h>
 #include "t_expl.h"
 
-static const long double C[] = {
+static const ldouble_t C[] = {
 /* Smallest integer x for which e^x overflows.  */
 #define himark C[0]
  11356.523406294143949491931077970765L,
@@ -132,14 +132,14 @@ static const long double C[] = {
  1.98412698413981650382436541785404286E-04L,
 };
 
-long double
-__ieee754_expl (long double x)
+ldouble_t
+__ieee754_expl (ldouble_t x)
 {
   /* Check for usual case.  */
   if (isless (x, himark) && isgreater (x, lomark))
     {
       int tval1, tval2, unsafe, n_i;
-      long double x22, n, t, result, xl;
+      ldouble_t x22, n, t, result, xl;
       union ieee854_long_double ex2_u, scale_u;
       fenv_t oldenv;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_fmodl.c b/sysdeps/ieee754/ldbl-128/e_fmodl.c
index 3328003..63f5e1d 100644
--- a/sysdeps/ieee754/ldbl-128/e_fmodl.c
+++ b/sysdeps/ieee754/ldbl-128/e_fmodl.c
@@ -21,10 +21,10 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0, Zero[] = {0.0, -0.0,};
+static const ldouble_t one = 1.0, Zero[] = {0.0, -0.0,};
 
-long double
-__ieee754_fmodl (long double x, long double y)
+ldouble_t
+__ieee754_fmodl (ldouble_t x, ldouble_t y)
 {
 	int64_t n,hx,hy,hz,ix,iy,sx,i;
 	u_int64_t lx,ly,lz;
diff --git a/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
index d0286e3..e9e4c4f 100644
--- a/sysdeps/ieee754/ldbl-128/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
@@ -25,7 +25,7 @@
 /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's
    approximation to gamma function.  */
 
-static const long double gamma_coeff[] =
+static const ldouble_t gamma_coeff[] =
   {
     0x1.5555555555555555555555555555p-4L,
     -0xb.60b60b60b60b60b60b60b60b60b8p-12L,
@@ -49,8 +49,8 @@ static const long double gamma_coeff[] =
    2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to
    avoid overflow or underflow in intermediate calculations.  */
 
-static long double
-gammal_positive (long double x, int *exp2_adj)
+static ldouble_t
+gammal_positive (ldouble_t x, int *exp2_adj)
 {
   int local_signgam;
   if (x < 0.5L)
@@ -67,24 +67,24 @@ gammal_positive (long double x, int *exp2_adj)
     {
       /* Adjust into the range for using exp (lgamma).  */
       *exp2_adj = 0;
-      long double n = __ceill (x - 1.5L);
-      long double x_adj = x - n;
-      long double eps;
-      long double prod = __gamma_productl (x_adj, 0, n, &eps);
+      ldouble_t n = __ceill (x - 1.5L);
+      ldouble_t x_adj = x - n;
+      ldouble_t eps;
+      ldouble_t prod = __gamma_productl (x_adj, 0, n, &eps);
       return (__ieee754_expl (__ieee754_lgammal_r (x_adj, &local_signgam))
 	      * prod * (1.0L + eps));
     }
   else
     {
-      long double eps = 0;
-      long double x_eps = 0;
-      long double x_adj = x;
-      long double prod = 1;
+      ldouble_t eps = 0;
+      ldouble_t x_eps = 0;
+      ldouble_t x_adj = x;
+      ldouble_t prod = 1;
       if (x < 24.0L)
 	{
 	  /* Adjust into the range for applying Stirling's
 	     approximation.  */
-	  long double n = __ceill (24.0L - x);
+	  ldouble_t n = __ceill (24.0L - x);
 	  x_adj = x + n;
 	  x_eps = (x - (x_adj - n));
 	  prod = __gamma_productl (x_adj - n, x_eps, n, &eps);
@@ -93,25 +93,25 @@ gammal_positive (long double x, int *exp2_adj)
 	 Compute gamma (X_ADJ + X_EPS) using Stirling's approximation,
 	 starting by computing pow (X_ADJ, X_ADJ) with a power of 2
 	 factored out.  */
-      long double exp_adj = -eps;
-      long double x_adj_int = __roundl (x_adj);
-      long double x_adj_frac = x_adj - x_adj_int;
+      ldouble_t exp_adj = -eps;
+      ldouble_t x_adj_int = __roundl (x_adj);
+      ldouble_t x_adj_frac = x_adj - x_adj_int;
       int x_adj_log2;
-      long double x_adj_mant = __frexpl (x_adj, &x_adj_log2);
+      ldouble_t x_adj_mant = __frexpl (x_adj, &x_adj_log2);
       if (x_adj_mant < M_SQRT1_2l)
 	{
 	  x_adj_log2--;
 	  x_adj_mant *= 2.0L;
 	}
       *exp2_adj = x_adj_log2 * (int) x_adj_int;
-      long double ret = (__ieee754_powl (x_adj_mant, x_adj)
+      ldouble_t ret = (__ieee754_powl (x_adj_mant, x_adj)
 			 * __ieee754_exp2l (x_adj_log2 * x_adj_frac)
 			 * __ieee754_expl (-x_adj)
 			 * __ieee754_sqrtl (2 * M_PIl / x_adj)
 			 / prod);
       exp_adj += x_eps * __ieee754_logl (x_adj);
-      long double bsum = gamma_coeff[NCOEFF - 1];
-      long double x_adj2 = x_adj * x_adj;
+      ldouble_t bsum = gamma_coeff[NCOEFF - 1];
+      ldouble_t x_adj2 = x_adj * x_adj;
       for (size_t i = 1; i <= NCOEFF - 1; i++)
 	bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i];
       exp_adj += bsum / x_adj;
@@ -119,12 +119,12 @@ gammal_positive (long double x, int *exp2_adj)
     }
 }
 
-long double
-__ieee754_gammal_r (long double x, int *signgamp)
+ldouble_t
+__ieee754_gammal_r (ldouble_t x, int *signgamp)
 {
   int64_t hx;
   u_int64_t lx;
-  long double ret;
+  ldouble_t ret;
 
   GET_LDOUBLE_WORDS64 (hx, lx, x);
 
@@ -177,17 +177,17 @@ __ieee754_gammal_r (long double x, int *signgamp)
 	}
       else
 	{
-	  long double tx = __truncl (x);
+	  ldouble_t tx = __truncl (x);
 	  *signgamp = (tx == 2.0L * __truncl (tx / 2.0L)) ? -1 : 1;
 	  if (x <= -1775.0L)
 	    /* Underflow.  */
 	    ret = LDBL_MIN * LDBL_MIN;
 	  else
 	    {
-	      long double frac = tx - x;
+	      ldouble_t frac = tx - x;
 	      if (frac > 0.5L)
 		frac = 1.0L - frac;
-	      long double sinpix = (frac <= 0.25L
+	      ldouble_t sinpix = (frac <= 0.25L
 				    ? __sinl (M_PIl * frac)
 				    : __cosl (M_PIl * (0.5L - frac)));
 	      int exp2_adj;
diff --git a/sysdeps/ieee754/ldbl-128/e_hypotl.c b/sysdeps/ieee754/ldbl-128/e_hypotl.c
index 80e5e38..fb3d2ab 100644
--- a/sysdeps/ieee754/ldbl-128/e_hypotl.c
+++ b/sysdeps/ieee754/ldbl-128/e_hypotl.c
@@ -48,10 +48,10 @@
 #include <math.h>
 #include <math_private.h>
 
-long double
-__ieee754_hypotl(long double x, long double y)
+ldouble_t
+__ieee754_hypotl(ldouble_t x, ldouble_t y)
 {
-	long double a,b,t1,t2,y1,y2,w;
+	ldouble_t a,b,t1,t2,y1,y2,w;
 	int64_t j,k,ha,hb;
 
 	GET_LDOUBLE_MSW64(ha,x);
diff --git a/sysdeps/ieee754/ldbl-128/e_ilogbl.c b/sysdeps/ieee754/ldbl-128/e_ilogbl.c
index 0a47649..7512b28 100644
--- a/sysdeps/ieee754/ldbl-128/e_ilogbl.c
+++ b/sysdeps/ieee754/ldbl-128/e_ilogbl.c
@@ -28,7 +28,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-int __ieee754_ilogbl (long double x)
+int __ieee754_ilogbl (ldouble_t x)
 {
 	int64_t hx,lx;
 	int ix;
diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c
index ddc8214..e437a83 100644
--- a/sysdeps/ieee754/ldbl-128/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j0l.c
@@ -96,16 +96,16 @@
 #include <float.h>
 
 /* 1 / sqrt(pi) */
-static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
+static const ldouble_t ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
 /* 2 / pi */
-static const long double TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
-static const long double zero = 0.0L;
+static const ldouble_t TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
+static const ldouble_t zero = 0.0L;
 
 /* J0(x) = 1 - x^2/4 + x^2 x^2 R(x^2)
    Peak relative error 3.4e-37
    0 <= x <= 2  */
 #define NJ0_2N 6
-static const long double J0_2N[NJ0_2N + 1] = {
+static const ldouble_t J0_2N[NJ0_2N + 1] = {
   3.133239376997663645548490085151484674892E16L,
  -5.479944965767990821079467311839107722107E14L,
   6.290828903904724265980249871997551894090E12L,
@@ -115,7 +115,7 @@ static const long double J0_2N[NJ0_2N + 1] = {
   1.562826808020631846245296572935547005859E2L,
 };
 #define NJ0_2D 6
-static const long double J0_2D[NJ0_2D + 1] = {
+static const ldouble_t J0_2D[NJ0_2D + 1] = {
   2.005273201278504733151033654496928968261E18L,
   2.063038558793221244373123294054149790864E16L,
   1.053350447931127971406896594022010524994E14L,
@@ -130,7 +130,7 @@ static const long double J0_2D[NJ0_2D + 1] = {
    0 <= 1/x <= .0625
    Peak relative error 3.3e-36  */
 #define NP16_IN 9
-static const long double P16_IN[NP16_IN + 1] = {
+static const ldouble_t P16_IN[NP16_IN + 1] = {
   -1.901689868258117463979611259731176301065E-16L,
   -1.798743043824071514483008340803573980931E-13L,
   -6.481746687115262291873324132944647438959E-11L,
@@ -143,7 +143,7 @@ static const long double P16_IN[NP16_IN + 1] = {
   -1.271468546258855781530458854476627766233E-1L,
 };
 #define NP16_ID 9
-static const long double P16_ID[NP16_ID + 1] = {
+static const ldouble_t P16_ID[NP16_ID + 1] = {
   2.704625590411544837659891569420764475007E-15L,
   2.562526347676857624104306349421985403573E-12L,
   9.259137589952741054108665570122085036246E-10L,
@@ -161,7 +161,7 @@ static const long double P16_ID[NP16_ID + 1] = {
     0.0625 <= 1/x <= 0.125
     Peak relative error 2.4e-35  */
 #define NP8_16N 10
-static const long double P8_16N[NP8_16N + 1] = {
+static const ldouble_t P8_16N[NP8_16N + 1] = {
   -2.335166846111159458466553806683579003632E-15L,
   -1.382763674252402720401020004169367089975E-12L,
   -3.192160804534716696058987967592784857907E-10L,
@@ -175,7 +175,7 @@ static const long double P8_16N[NP8_16N + 1] = {
   -1.670703190068873186016102289227646035035E-1L,
 };
 #define NP8_16D 10
-static const long double P8_16D[NP8_16D + 1] = {
+static const ldouble_t P8_16D[NP8_16D + 1] = {
   3.321126181135871232648331450082662856743E-14L,
   1.971894594837650840586859228510007703641E-11L,
   4.571144364787008285981633719513897281690E-9L,
@@ -194,7 +194,7 @@ static const long double P8_16D[NP8_16D + 1] = {
   0.125 <= 1/x <= 0.1875
   Peak relative error 2.7e-35  */
 #define NP5_8N 10
-static const long double P5_8N[NP5_8N + 1] = {
+static const ldouble_t P5_8N[NP5_8N + 1] = {
   -1.270478335089770355749591358934012019596E-12L,
   -4.007588712145412921057254992155810347245E-10L,
   -4.815187822989597568124520080486652009281E-8L,
@@ -208,7 +208,7 @@ static const long double P5_8N[NP5_8N + 1] = {
   -8.920026499909994671248893388013790366712E-3L,
 };
 #define NP5_8D 9
-static const long double P5_8D[NP5_8D + 1] = {
+static const ldouble_t P5_8D[NP5_8D + 1] = {
   1.806902521016705225778045904631543990314E-11L,
   5.728502760243502431663549179135868966031E-9L,
   6.938168504826004255287618819550667978450E-7L,
@@ -226,7 +226,7 @@ static const long double P5_8D[NP5_8D + 1] = {
    Peak relative error 3.5e-35
    0.1875 <= 1/x <= 0.25  */
 #define NP4_5N 9
-static const long double P4_5N[NP4_5N + 1] = {
+static const ldouble_t P4_5N[NP4_5N + 1] = {
   -9.791405771694098960254468859195175708252E-10L,
   -1.917193059944531970421626610188102836352E-7L,
   -1.393597539508855262243816152893982002084E-5L,
@@ -239,7 +239,7 @@ static const long double P4_5N[NP4_5N + 1] = {
   -2.251804386252969656586810309252357233320E-1L,
 };
 #define NP4_5D 9
-static const long double P4_5D[NP4_5D + 1] = {
+static const ldouble_t P4_5D[NP4_5D + 1] = {
   1.392555487577717669739688337895791213139E-8L,
   2.748886559120659027172816051276451376854E-6L,
   2.024717710644378047477189849678576659290E-4L,
@@ -257,7 +257,7 @@ static const long double P4_5D[NP4_5D + 1] = {
    Peak relative error 2.3e-36
    0.25 <= 1/x <= 0.3125  */
 #define NP3r2_4N 9
-static const long double P3r2_4N[NP3r2_4N + 1] = {
+static const ldouble_t P3r2_4N[NP3r2_4N + 1] = {
   -2.589155123706348361249809342508270121788E-8L,
   -3.746254369796115441118148490849195516593E-6L,
   -1.985595497390808544622893738135529701062E-4L,
@@ -270,7 +270,7 @@ static const long double P3r2_4N[NP3r2_4N + 1] = {
   -2.518966692256192789269859830255724429375E-1L,
 };
 #define NP3r2_4D 9
-static const long double P3r2_4D[NP3r2_4D + 1] = {
+static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
   3.682353957237979993646169732962573930237E-7L,
   5.386741661883067824698973455566332102029E-5L,
   2.906881154171822780345134853794241037053E-3L,
@@ -288,7 +288,7 @@ static const long double P3r2_4D[NP3r2_4D + 1] = {
    Peak relative error 1.0e-35
    0.3125 <= 1/x <= 0.375  */
 #define NP2r7_3r2N 9
-static const long double P2r7_3r2N[NP2r7_3r2N + 1] = {
+static const ldouble_t P2r7_3r2N[NP2r7_3r2N + 1] = {
   -1.917322340814391131073820537027234322550E-7L,
   -1.966595744473227183846019639723259011906E-5L,
   -7.177081163619679403212623526632690465290E-4L,
@@ -301,7 +301,7 @@ static const long double P2r7_3r2N[NP2r7_3r2N + 1] = {
   -4.098025357743657347681137871388402849581E-3L,
 };
 #define NP2r7_3r2D 8
-static const long double P2r7_3r2D[NP2r7_3r2D + 1] = {
+static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
   2.726858489303036441686496086962545034018E-6L,
   2.840430827557109238386808968234848081424E-4L,
   1.063826772041781947891481054529454088832E-2L,
@@ -318,7 +318,7 @@ static const long double P2r7_3r2D[NP2r7_3r2D + 1] = {
    Peak relative error 1.3e-36
    0.3125 <= 1/x <= 0.4375  */
 #define NP2r3_2r7N 9
-static const long double P2r3_2r7N[NP2r3_2r7N + 1] = {
+static const ldouble_t P2r3_2r7N[NP2r3_2r7N + 1] = {
   -1.594642785584856746358609622003310312622E-6L,
   -1.323238196302221554194031733595194539794E-4L,
   -3.856087818696874802689922536987100372345E-3L,
@@ -331,7 +331,7 @@ static const long double P2r3_2r7N[NP2r3_2r7N + 1] = {
   -3.246859189246653459359775001466924610236E-3L,
 };
 #define NP2r3_2r7D 8
-static const long double P2r3_2r7D[NP2r3_2r7D + 1] = {
+static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
   2.267936634217251403663034189684284173018E-5L,
   1.918112982168673386858072491437971732237E-3L,
   5.771704085468423159125856786653868219522E-2L,
@@ -348,7 +348,7 @@ static const long double P2r3_2r7D[NP2r3_2r7D + 1] = {
    Peak relative error 1.2e-35
    0.4375 <= 1/x <= 0.5  */
 #define NP2_2r3N 8
-static const long double P2_2r3N[NP2_2r3N + 1] = {
+static const ldouble_t P2_2r3N[NP2_2r3N + 1] = {
   -1.001042324337684297465071506097365389123E-4L,
   -6.289034524673365824853547252689991418981E-3L,
   -1.346527918018624234373664526930736205806E-1L,
@@ -360,7 +360,7 @@ static const long double P2_2r3N[NP2_2r3N + 1] = {
   -3.000348318524471807839934764596331810608E-1L,
 };
 #define NP2_2r3D 8
-static const long double P2_2r3D[NP2_2r3D + 1] = {
+static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
   1.423705538269770974803901422532055612980E-3L,
   9.171476630091439978533535167485230575894E-2L,
   2.049776318166637248868444600215942828537E0L,
@@ -378,7 +378,7 @@ static const long double P2_2r3D[NP2_2r3D + 1] = {
    Peak relative error 2.2e-35
    0 <= 1/x <= .0625  */
 #define NQ16_IN 10
-static const long double Q16_IN[NQ16_IN + 1] = {
+static const ldouble_t Q16_IN[NQ16_IN + 1] = {
   2.343640834407975740545326632205999437469E-18L,
   2.667978112927811452221176781536278257448E-15L,
   1.178415018484555397390098879501969116536E-12L,
@@ -392,7 +392,7 @@ static const long double Q16_IN[NQ16_IN + 1] = {
   1.107891967702173292405380993183694932208E-2L,
 };
 #define NQ16_ID 9
-static const long double Q16_ID[NQ16_ID + 1] = {
+static const ldouble_t Q16_ID[NQ16_ID + 1] = {
   3.199850952578356211091219295199301766718E-17L,
   3.652601488020654842194486058637953363918E-14L,
   1.620179741394865258354608590461839031281E-11L,
@@ -411,7 +411,7 @@ static const long double Q16_ID[NQ16_ID + 1] = {
    Peak relative error 5.1e-36
    0.0625 <= 1/x <= 0.125  */
 #define NQ8_16N 11
-static const long double Q8_16N[NQ8_16N + 1] = {
+static const ldouble_t Q8_16N[NQ8_16N + 1] = {
   1.001954266485599464105669390693597125904E-17L,
   7.545499865295034556206475956620160007849E-15L,
   2.267838684785673931024792538193202559922E-12L,
@@ -426,7 +426,7 @@ static const long double Q8_16N[NQ8_16N + 1] = {
   7.598886310387075708640370806458926458301E-2L,
 };
 #define NQ8_16D 11
-static const long double Q8_16D[NQ8_16D + 1] = {
+static const ldouble_t Q8_16D[NQ8_16D + 1] = {
   1.368001558508338469503329967729951830843E-16L,
   1.034454121857542147020549303317348297289E-13L,
   3.128109209247090744354764050629381674436E-11L,
@@ -447,7 +447,7 @@ static const long double Q8_16D[NQ8_16D + 1] = {
    Peak relative error 3.9e-35
    0.125 <= 1/x <= 0.1875  */
 #define NQ5_8N 10
-static const long double Q5_8N[NQ5_8N + 1] = {
+static const ldouble_t Q5_8N[NQ5_8N + 1] = {
   1.750399094021293722243426623211733898747E-13L,
   6.483426211748008735242909236490115050294E-11L,
   9.279430665656575457141747875716899958373E-9L,
@@ -461,7 +461,7 @@ static const long double Q5_8N[NQ5_8N + 1] = {
   8.383984859679804095463699702165659216831E-2L,
 };
 #define NQ5_8D 10
-static const long double Q5_8D[NQ5_8D + 1] = {
+static const ldouble_t Q5_8D[NQ5_8D + 1] = {
   2.389878229704327939008104855942987615715E-12L,
   8.926142817142546018703814194987786425099E-10L,
   1.294065862406745901206588525833274399038E-7L,
@@ -481,7 +481,7 @@ static const long double Q5_8D[NQ5_8D + 1] = {
    Peak relative error 3.2e-35
    0.1875 <= 1/x <= 0.25  */
 #define NQ4_5N 10
-static const long double Q4_5N[NQ4_5N + 1] = {
+static const ldouble_t Q4_5N[NQ4_5N + 1] = {
   2.233870042925895644234072357400122854086E-11L,
   5.146223225761993222808463878999151699792E-9L,
   4.459114531468296461688753521109797474523E-7L,
@@ -495,7 +495,7 @@ static const long double Q4_5N[NQ4_5N + 1] = {
   1.941595365256460232175236758506411486667E-3L,
 };
 #define NQ4_5D 9
-static const long double Q4_5D[NQ4_5D + 1] = {
+static const ldouble_t Q4_5D[NQ4_5D + 1] = {
   3.049977232266999249626430127217988047453E-10L,
   7.120883230531035857746096928889676144099E-8L,
   6.301786064753734446784637919554359588859E-6L,
@@ -514,7 +514,7 @@ static const long double Q4_5D[NQ4_5D + 1] = {
    Peak relative error 1.4e-36
    0.25 <= 1/x <= 0.3125  */
 #define NQ3r2_4N 10
-static const long double Q3r2_4N[NQ3r2_4N + 1] = {
+static const ldouble_t Q3r2_4N[NQ3r2_4N + 1] = {
   6.126167301024815034423262653066023684411E-10L,
   1.043969327113173261820028225053598975128E-7L,
   6.592927270288697027757438170153763220190E-6L,
@@ -528,7 +528,7 @@ static const long double Q3r2_4N[NQ3r2_4N + 1] = {
   1.229509543620976530030153018986910810747E-3L,
 };
 #define NQ3r2_4D 9
-static const long double Q3r2_4D[NQ3r2_4D + 1] = {
+static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
   8.364260446128475461539941389210166156568E-9L,
   1.451301850638956578622154585560759862764E-6L,
   9.431830010924603664244578867057141839463E-5L,
@@ -547,7 +547,7 @@ static const long double Q3r2_4D[NQ3r2_4D + 1] = {
    Peak relative error 3.8e-36
    0.3125 <= 1/x <= 0.375  */
 #define NQ2r7_3r2N 9
-static const long double Q2r7_3r2N[NQ2r7_3r2N + 1] = {
+static const ldouble_t Q2r7_3r2N[NQ2r7_3r2N + 1] = {
   7.584861620402450302063691901886141875454E-8L,
   9.300939338814216296064659459966041794591E-6L,
   4.112108906197521696032158235392604947895E-4L,
@@ -560,7 +560,7 @@ static const long double Q2r7_3r2N[NQ2r7_3r2N + 1] = {
   9.805848115375053300608712721986235900715E-2L,
 };
 #define NQ2r7_3r2D 9
-static const long double Q2r7_3r2D[NQ2r7_3r2D + 1] = {
+static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
   1.035586492113036586458163971239438078160E-6L,
   1.301999337731768381683593636500979713689E-4L,
   5.993695702564527062553071126719088859654E-3L,
@@ -579,7 +579,7 @@ static const long double Q2r7_3r2D[NQ2r7_3r2D + 1] = {
    Peak relative error 2.2e-35
    0.375 <= 1/x <= 0.4375  */
 #define NQ2r3_2r7N 9
-static const long double Q2r3_2r7N[NQ2r3_2r7N + 1] = {
+static const ldouble_t Q2r3_2r7N[NQ2r3_2r7N + 1] = {
   4.455027774980750211349941766420190722088E-7L,
   4.031998274578520170631601850866780366466E-5L,
   1.273987274325947007856695677491340636339E-3L,
@@ -592,7 +592,7 @@ static const long double Q2r3_2r7N[NQ2r3_2r7N + 1] = {
   7.261345286655345047417257611469066147561E-4L,
 };
 #define NQ2r3_2r7D 8
-static const long double Q2r3_2r7D[NQ2r3_2r7D + 1] = {
+static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
   6.082600739680555266312417978064954793142E-6L,
   5.693622538165494742945717226571441747567E-4L,
   1.901625907009092204458328768129666975975E-2L,
@@ -610,7 +610,7 @@ static const long double Q2r3_2r7D[NQ2r3_2r7D + 1] = {
    Peak relative error 3.1e-36
    0.4375 <= 1/x <= 0.5  */
 #define NQ2_2r3N 9
-static const long double Q2_2r3N[NQ2_2r3N + 1] = {
+static const ldouble_t Q2_2r3N[NQ2_2r3N + 1] = {
   2.817566786579768804844367382809101929314E-6L,
   2.122772176396691634147024348373539744935E-4L,
   5.501378031780457828919593905395747517585E-3L,
@@ -623,7 +623,7 @@ static const long double Q2_2r3N[NQ2_2r3N + 1] = {
   5.317668723070450235320878117210807236375E-4L,
 };
 #define NQ2_2r3D 8
-static const long double Q2_2r3D[NQ2_2r3D + 1] = {
+static const ldouble_t Q2_2r3D[NQ2_2r3D + 1] = {
   3.846924354014260866793741072933159380158E-5L,
   3.017562820057704325510067178327449946763E-3L,
   8.356305620686867949798885808540444210935E-2L,
@@ -639,10 +639,10 @@ static const long double Q2_2r3D[NQ2_2r3D + 1] = {
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -657,10 +657,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -675,10 +675,10 @@ deval (long double x, const long double *p, int n)
 
 /* Bessel function of the first kind, order zero.  */
 
-long double
-__ieee754_j0l (long double x)
+ldouble_t
+__ieee754_j0l (ldouble_t x)
 {
-  long double xx, xinv, z, p, q, c, s, cc, ss;
+  ldouble_t xx, xinv, z, p, q, c, s, cc, ss;
 
   if (! isfinite (x))
     {
@@ -796,7 +796,7 @@ strong_alias (__ieee754_j0l, __j0l_finite)
    Peak absolute error 1.7e-36 (relative where Y0 > 1)
    0 <= x <= 2   */
 #define NY0_2N 7
-static long double Y0_2N[NY0_2N + 1] = {
+static ldouble_t Y0_2N[NY0_2N + 1] = {
  -1.062023609591350692692296993537002558155E19L,
   2.542000883190248639104127452714966858866E19L,
  -1.984190771278515324281415820316054696545E18L,
@@ -807,7 +807,7 @@ static long double Y0_2N[NY0_2N + 1] = {
   8.230845651379566339707130644134372793322E6L,
 };
 #define NY0_2D 7
-static long double Y0_2D[NY0_2D + 1] = {
+static ldouble_t Y0_2D[NY0_2D + 1] = {
   1.438972634353286978700329883122253752192E20L,
   1.856409101981569254247700169486907405500E18L,
   1.219693352678218589553725579802986255614E16L,
@@ -819,14 +819,14 @@ static long double Y0_2D[NY0_2D + 1] = {
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
-static const long double U0 = -7.3804295108687225274343927948483016310862e-02L;
+static const ldouble_t U0 = -7.3804295108687225274343927948483016310862e-02L;
 
 /* Bessel function of the second kind, order zero.  */
 
-long double
- __ieee754_y0l(long double x)
+ldouble_t
+ __ieee754_y0l(ldouble_t x)
 {
-  long double xx, xinv, z, p, q, c, s, cc, ss;
+  ldouble_t xx, xinv, z, p, q, c, s, cc, ss;
 
   if (! isfinite (x))
     {
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 3265204..8f9e219 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -101,16 +101,16 @@
 #include <float.h>
 
 /* 1 / sqrt(pi) */
-static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
+static const ldouble_t ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
 /* 2 / pi */
-static const long double TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
-static const long double zero = 0.0L;
+static const ldouble_t TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
+static const ldouble_t zero = 0.0L;
 
 /* J1(x) = .5x + x x^2 R(x^2)
    Peak relative error 1.9e-35
    0 <= x <= 2  */
 #define NJ0_2N 6
-static const long double J0_2N[NJ0_2N + 1] = {
+static const ldouble_t J0_2N[NJ0_2N + 1] = {
  -5.943799577386942855938508697619735179660E16L,
   1.812087021305009192259946997014044074711E15L,
  -2.761698314264509665075127515729146460895E13L,
@@ -120,7 +120,7 @@ static const long double J0_2N[NJ0_2N + 1] = {
  -1.559552840946694171346552770008812083969E3L
 };
 #define NJ0_2D 6
-static const long double J0_2D[NJ0_2D + 1] = {
+static const ldouble_t J0_2D[NJ0_2D + 1] = {
   9.510079323819108569501613916191477479397E17L,
   1.063193817503280529676423936545854693915E16L,
   5.934143516050192600795972192791775226920E13L,
@@ -135,7 +135,7 @@ static const long double J0_2D[NJ0_2D + 1] = {
    0 <= 1/x <= .0625
    Peak relative error 3.6e-36  */
 #define NP16_IN 9
-static const long double P16_IN[NP16_IN + 1] = {
+static const ldouble_t P16_IN[NP16_IN + 1] = {
   5.143674369359646114999545149085139822905E-16L,
   4.836645664124562546056389268546233577376E-13L,
   1.730945562285804805325011561498453013673E-10L,
@@ -148,7 +148,7 @@ static const long double P16_IN[NP16_IN + 1] = {
   3.032580002220628812728954785118117124520E-1L,
 };
 #define NP16_ID 9
-static const long double P16_ID[NP16_ID + 1] = {
+static const ldouble_t P16_ID[NP16_ID + 1] = {
   4.389268795186898018132945193912677177553E-15L,
   4.132671824807454334388868363256830961655E-12L,
   1.482133328179508835835963635130894413136E-9L,
@@ -166,7 +166,7 @@ static const long double P16_ID[NP16_ID + 1] = {
     0.0625 <= 1/x <= 0.125
     Peak relative error 1.9e-36  */
 #define NP8_16N 11
-static const long double P8_16N[NP8_16N + 1] = {
+static const ldouble_t P8_16N[NP8_16N + 1] = {
   2.984612480763362345647303274082071598135E-16L,
   1.923651877544126103941232173085475682334E-13L,
   4.881258879388869396043760693256024307743E-11L,
@@ -181,7 +181,7 @@ static const long double P8_16N[NP8_16N + 1] = {
   2.991314703282528370270179989044994319374E-2L,
 };
 #define NP8_16D 10
-static const long double P8_16D[NP8_16D + 1] = {
+static const ldouble_t P8_16D[NP8_16D + 1] = {
   2.546869316918069202079580939942463010937E-15L,
   1.644650111942455804019788382157745229955E-12L,
   4.185430770291694079925607420808011147173E-10L,
@@ -200,7 +200,7 @@ static const long double P8_16D[NP8_16D + 1] = {
   0.125 <= 1/x <= 0.1875
   Peak relative error 1.3e-36  */
 #define NP5_8N 10
-static const long double P5_8N[NP5_8N + 1] = {
+static const ldouble_t P5_8N[NP5_8N + 1] = {
   2.837678373978003452653763806968237227234E-12L,
   9.726641165590364928442128579282742354806E-10L,
   1.284408003604131382028112171490633956539E-7L,
@@ -214,7 +214,7 @@ static const long double P5_8N[NP5_8N + 1] = {
   5.465927698800862172307352821870223855365E-1L
 };
 #define NP5_8D 10
-static const long double P5_8D[NP5_8D + 1] = {
+static const ldouble_t P5_8D[NP5_8D + 1] = {
   2.421485545794616609951168511612060482715E-11L,
   8.329862750896452929030058039752327232310E-9L,
   1.106137992233383429630592081375289010720E-6L,
@@ -233,7 +233,7 @@ static const long double P5_8D[NP5_8D + 1] = {
    Peak relative error 1.4e-36
    0.1875 <= 1/x <= 0.25  */
 #define NP4_5N 10
-static const long double P4_5N[NP4_5N + 1] = {
+static const ldouble_t P4_5N[NP4_5N + 1] = {
   1.846029078268368685834261260420933914621E-10L,
   3.916295939611376119377869680335444207768E-8L,
   3.122158792018920627984597530935323997312E-6L,
@@ -247,7 +247,7 @@ static const long double P4_5N[NP4_5N + 1] = {
   1.804473805689725610052078464951722064757E-2L,
 };
 #define NP4_5D 9
-static const long double P4_5D[NP4_5D + 1] = {
+static const ldouble_t P4_5D[NP4_5D + 1] = {
   1.575278146806816970152174364308980863569E-9L,
   3.361289173657099516191331123405675054321E-7L,
   2.704692281550877810424745289838790693708E-5L,
@@ -265,7 +265,7 @@ static const long double P4_5D[NP4_5D + 1] = {
    Peak relative error 3.0e-36
    0.25 <= 1/x <= 0.3125  */
 #define NP3r2_4N 9
-static const long double P3r2_4N[NP3r2_4N + 1] = {
+static const ldouble_t P3r2_4N[NP3r2_4N + 1] = {
   8.240803130988044478595580300846665863782E-8L,
   1.179418958381961224222969866406483744580E-5L,
   6.179787320956386624336959112503824397755E-4L,
@@ -278,7 +278,7 @@ static const long double P3r2_4N[NP3r2_4N + 1] = {
   7.299530852495776936690976966995187714739E-1L,
 };
 #define NP3r2_4D 9
-static const long double P3r2_4D[NP3r2_4D + 1] = {
+static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
   7.032152009675729604487575753279187576521E-7L,
   1.015090352324577615777511269928856742848E-4L,
   5.394262184808448484302067955186308730620E-3L,
@@ -296,7 +296,7 @@ static const long double P3r2_4D[NP3r2_4D + 1] = {
    Peak relative error 1.0e-35
    0.3125 <= 1/x <= 0.375  */
 #define NP2r7_3r2N 9
-static const long double P2r7_3r2N[NP2r7_3r2N + 1] = {
+static const ldouble_t P2r7_3r2N[NP2r7_3r2N + 1] = {
   4.599033469240421554219816935160627085991E-7L,
   4.665724440345003914596647144630893997284E-5L,
   1.684348845667764271596142716944374892756E-3L,
@@ -309,7 +309,7 @@ static const long double P2r7_3r2N[NP2r7_3r2N + 1] = {
   1.316470424456061252962568223251247207325E-2L,
 };
 #define NP2r7_3r2D 8
-static const long double P2r7_3r2D[NP2r7_3r2D + 1] = {
+static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
   3.924508608545520758883457108453520099610E-6L,
   4.029707889408829273226495756222078039823E-4L,
   1.484629715787703260797886463307469600219E-2L,
@@ -326,7 +326,7 @@ static const long double P2r7_3r2D[NP2r7_3r2D + 1] = {
    Peak relative error 1.7e-36
    0.3125 <= 1/x <= 0.4375  */
 #define NP2r3_2r7N 9
-static const long double P2r3_2r7N[NP2r3_2r7N + 1] = {
+static const ldouble_t P2r3_2r7N[NP2r3_2r7N + 1] = {
   3.916766777108274628543759603786857387402E-6L,
   3.212176636756546217390661984304645137013E-4L,
   9.255768488524816445220126081207248947118E-3L,
@@ -339,7 +339,7 @@ static const long double P2r3_2r7N[NP2r3_2r7N + 1] = {
   1.109902737860249670981355149101343427885E-2L,
 };
 #define NP2r3_2r7D 8
-static const long double P2r3_2r7D[NP2r3_2r7D + 1] = {
+static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
   3.342307880794065640312646341190547184461E-5L,
   2.782182891138893201544978009012096558265E-3L,
   8.221304931614200702142049236141249929207E-2L,
@@ -356,7 +356,7 @@ static const long double P2r3_2r7D[NP2r3_2r7D + 1] = {
    Peak relative error 1.7e-35
    0.4375 <= 1/x <= 0.5  */
 #define NP2_2r3N 8
-static const long double P2_2r3N[NP2_2r3N + 1] = {
+static const ldouble_t P2_2r3N[NP2_2r3N + 1] = {
   3.397930802851248553545191160608731940751E-4L,
   2.104020902735482418784312825637833698217E-2L,
   4.442291771608095963935342749477836181939E-1L,
@@ -368,7 +368,7 @@ static const long double P2_2r3N[NP2_2r3N + 1] = {
   9.455702270242780642835086549285560316461E-1L,
 };
 #define NP2_2r3D 8
-static const long double P2_2r3D[NP2_2r3D + 1] = {
+static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
   2.899568897241432883079888249845707400614E-3L,
   1.831107138190848460767699919531132426356E-1L,
   3.999350044057883839080258832758908825165E0L,
@@ -386,7 +386,7 @@ static const long double P2_2r3D[NP2_2r3D + 1] = {
    Peak relative error 8.0e-36
    0 <= 1/x <= .0625  */
 #define NQ16_IN 10
-static const long double Q16_IN[NQ16_IN + 1] = {
+static const ldouble_t Q16_IN[NQ16_IN + 1] = {
   -3.917420835712508001321875734030357393421E-18L,
   -4.440311387483014485304387406538069930457E-15L,
   -1.951635424076926487780929645954007139616E-12L,
@@ -400,7 +400,7 @@ static const long double Q16_IN[NQ16_IN + 1] = {
   -1.922298704033332356899546792898156493887E-2L,
 };
 #define NQ16_ID 9
-static const long double Q16_ID[NQ16_ID + 1] = {
+static const ldouble_t Q16_ID[NQ16_ID + 1] = {
   3.820418034066293517479619763498400162314E-17L,
   4.340702810799239909648911373329149354911E-14L,
   1.914985356383416140706179933075303538524E-11L,
@@ -419,7 +419,7 @@ static const long double Q16_ID[NQ16_ID + 1] = {
    Peak relative error 1.9e-36
    0.0625 <= 1/x <= 0.125  */
 #define NQ8_16N 11
-static const long double Q8_16N[NQ8_16N + 1] = {
+static const ldouble_t Q8_16N[NQ8_16N + 1] = {
   -2.028630366670228670781362543615221542291E-17L,
   -1.519634620380959966438130374006858864624E-14L,
   -4.540596528116104986388796594639405114524E-12L,
@@ -434,7 +434,7 @@ static const long double Q8_16N[NQ8_16N + 1] = {
   -1.365364204556573800719985118029601401323E-1L,
 };
 #define NQ8_16D 11
-static const long double Q8_16D[NQ8_16D + 1] = {
+static const ldouble_t Q8_16D[NQ8_16D + 1] = {
   1.978397614733632533581207058069628242280E-16L,
   1.487361156806202736877009608336766720560E-13L,
   4.468041406888412086042576067133365913456E-11L,
@@ -455,7 +455,7 @@ static const long double Q8_16D[NQ8_16D + 1] = {
    Peak relative error 1.5e-35
    0.125 <= 1/x <= 0.1875  */
 #define NQ5_8N 10
-static const long double Q5_8N[NQ5_8N + 1] = {
+static const ldouble_t Q5_8N[NQ5_8N + 1] = {
   -3.656082407740970534915918390488336879763E-13L,
   -1.344660308497244804752334556734121771023E-10L,
   -1.909765035234071738548629788698150760791E-8L,
@@ -469,7 +469,7 @@ static const long double Q5_8N[NQ5_8N + 1] = {
   -1.549000892545288676809660828213589804884E-1L,
 };
 #define NQ5_8D 10
-static const long double Q5_8D[NQ5_8D + 1] = {
+static const ldouble_t Q5_8D[NQ5_8D + 1] = {
   3.565550843359501079050699598913828460036E-12L,
   1.321016015556560621591847454285330528045E-9L,
   1.897542728662346479999969679234270605975E-7L,
@@ -489,7 +489,7 @@ static const long double Q5_8D[NQ5_8D + 1] = {
    Peak relative error 1.3e-35
    0.1875 <= 1/x <= 0.25  */
 #define NQ4_5N 10
-static const long double Q4_5N[NQ4_5N + 1] = {
+static const ldouble_t Q4_5N[NQ4_5N + 1] = {
   -4.079513568708891749424783046520200903755E-11L,
   -9.326548104106791766891812583019664893311E-9L,
   -8.016795121318423066292906123815687003356E-7L,
@@ -503,7 +503,7 @@ static const long double Q4_5N[NQ4_5N + 1] = {
   -4.320429862021265463213168186061696944062E-3L,
 };
 #define NQ4_5D 9
-static const long double Q4_5D[NQ4_5D + 1] = {
+static const ldouble_t Q4_5D[NQ4_5D + 1] = {
   3.978497042580921479003851216297330701056E-10L,
   9.203304163828145809278568906420772246666E-8L,
   8.059685467088175644915010485174545743798E-6L,
@@ -522,7 +522,7 @@ static const long double Q4_5D[NQ4_5D + 1] = {
    Peak relative error 2.1e-35
    0.25 <= 1/x <= 0.3125  */
 #define NQ3r2_4N 9
-static const long double Q3r2_4N[NQ3r2_4N + 1] = {
+static const ldouble_t Q3r2_4N[NQ3r2_4N + 1] = {
   -1.087480809271383885936921889040388133627E-8L,
   -1.690067828697463740906962973479310170932E-6L,
   -9.608064416995105532790745641974762550982E-5L,
@@ -535,7 +535,7 @@ static const long double Q3r2_4N[NQ3r2_4N + 1] = {
   -1.812932453006641348145049323713469043328E-1L,
 };
 #define NQ3r2_4D 9
-static const long double Q3r2_4D[NQ3r2_4D + 1] = {
+static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
   1.060552717496912381388763753841473407026E-7L,
   1.676928002024920520786883649102388708024E-5L,
   9.803481712245420839301400601140812255737E-4L,
@@ -554,7 +554,7 @@ static const long double Q3r2_4D[NQ3r2_4D + 1] = {
    Peak relative error 1.6e-36
    0.3125 <= 1/x <= 0.375  */
 #define NQ2r7_3r2N 9
-static const long double Q2r7_3r2N[NQ2r7_3r2N + 1] = {
+static const ldouble_t Q2r7_3r2N[NQ2r7_3r2N + 1] = {
   -1.723405393982209853244278760171643219530E-7L,
   -2.090508758514655456365709712333460087442E-5L,
   -9.140104013370974823232873472192719263019E-4L,
@@ -567,7 +567,7 @@ static const long double Q2r7_3r2N[NQ2r7_3r2N + 1] = {
   -1.930796319299022954013840684651016077770E-1L,
 };
 #define NQ2r7_3r2D 9
-static const long double Q2r7_3r2D[NQ2r7_3r2D + 1] = {
+static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
   1.680730662300831976234547482334347983474E-6L,
   2.084241442440551016475972218719621841120E-4L,
   9.445316642108367479043541702688736295579E-3L,
@@ -586,7 +586,7 @@ static const long double Q2r7_3r2D[NQ2r7_3r2D + 1] = {
    Peak relative error 9.5e-36
    0.375 <= 1/x <= 0.4375  */
 #define NQ2r3_2r7N 9
-static const long double Q2r3_2r7N[NQ2r3_2r7N + 1] = {
+static const ldouble_t Q2r3_2r7N[NQ2r3_2r7N + 1] = {
   -8.603042076329122085722385914954878953775E-7L,
   -7.701746260451647874214968882605186675720E-5L,
   -2.407932004380727587382493696877569654271E-3L,
@@ -599,7 +599,7 @@ static const long double Q2r3_2r7N[NQ2r3_2r7N + 1] = {
   -1.890595651683552228232308756569450822905E-3L,
 };
 #define NQ2r3_2r7D 8
-static const long double Q2r3_2r7D[NQ2r3_2r7D + 1] = {
+static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
   8.390017524798316921170710533381568175665E-6L,
   7.738148683730826286477254659973968763659E-4L,
   2.541480810958665794368759558791634341779E-2L,
@@ -617,7 +617,7 @@ static const long double Q2r3_2r7D[NQ2r3_2r7D + 1] = {
    Peak relative error 1.4e-36
    0.4375 <= 1/x <= 0.5  */
 #define NQ2_2r3N 9
-static const long double Q2_2r3N[NQ2_2r3N + 1] = {
+static const ldouble_t Q2_2r3N[NQ2_2r3N + 1] = {
   -5.552507516089087822166822364590806076174E-6L,
   -4.135067659799500521040944087433752970297E-4L,
   -1.059928728869218962607068840646564457980E-2L,
@@ -630,7 +630,7 @@ static const long double Q2_2r3N[NQ2_2r3N + 1] = {
   -1.458550613639093752909985189067233504148E-3L,
 };
 #define NQ2_2r3D 8
-static const long double Q2_2r3D[NQ2_2r3D + 1] = {
+static const ldouble_t Q2_2r3D[NQ2_2r3D + 1] = {
   5.415024336507980465169023996403597916115E-5L,
   4.179246497380453022046357404266022870788E-3L,
   1.136306384261959483095442402929502368598E-1L,
@@ -646,10 +646,10 @@ static const long double Q2_2r3D[NQ2_2r3D + 1] = {
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -664,10 +664,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -682,10 +682,10 @@ deval (long double x, const long double *p, int n)
 
 /* Bessel function of the first kind, order one.  */
 
-long double
-__ieee754_j1l (long double x)
+ldouble_t
+__ieee754_j1l (ldouble_t x)
 {
-  long double xx, xinv, z, p, q, c, s, cc, ss;
+  ldouble_t xx, xinv, z, p, q, c, s, cc, ss;
 
   if (! isfinite (x))
     {
@@ -699,7 +699,7 @@ __ieee754_j1l (long double x)
   xx = fabsl (x);
   if (xx <= 0x1p-58L)
     {
-      long double ret = x * 0.5L;
+      ldouble_t ret = x * 0.5L;
       math_check_force_underflow (ret);
       if (ret == 0)
 	__set_errno (ERANGE);
@@ -815,7 +815,7 @@ strong_alias (__ieee754_j1l, __j1l_finite)
    Peak relative error 6.2e-38
    0 <= x <= 2   */
 #define NY0_2N 7
-static long double Y0_2N[NY0_2N + 1] = {
+static ldouble_t Y0_2N[NY0_2N + 1] = {
   -6.804415404830253804408698161694720833249E19L,
   1.805450517967019908027153056150465849237E19L,
   -8.065747497063694098810419456383006737312E17L,
@@ -826,7 +826,7 @@ static long double Y0_2N[NY0_2N + 1] = {
   9.541172044989995856117187515882879304461E5L,
 };
 #define NY0_2D 7
-static long double Y0_2D[NY0_2D + 1] = {
+static ldouble_t Y0_2D[NY0_2D + 1] = {
   3.470629591820267059538637461549677594549E20L,
   4.120796439009916326855848107545425217219E18L,
   2.477653371652018249749350657387030814542E16L,
@@ -841,10 +841,10 @@ static long double Y0_2D[NY0_2D + 1] = {
 
 /* Bessel function of the second kind, order one.  */
 
-long double
-__ieee754_y1l (long double x)
+ldouble_t
+__ieee754_y1l (ldouble_t x)
 {
-  long double xx, xinv, z, p, q, c, s, cc, ss;
+  ldouble_t xx, xinv, z, p, q, c, s, cc, ss;
 
   if (! isfinite (x))
     {
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index 98669e6..51f5a7f 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -61,20 +61,20 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
   invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
   two = 2.0e0L,
   one = 1.0e0L,
   zero = 0.0L;
 
 
-long double
-__ieee754_jnl (int n, long double x)
+ldouble_t
+__ieee754_jnl (int n, ldouble_t x)
 {
   u_int32_t se;
   int32_t i, ix, sgn;
-  long double a, b, temp, di, ret;
-  long double z, w;
+  ldouble_t a, b, temp, di, ret;
+  ldouble_t z, w;
   ieee854_long_double_shape_type u;
 
 
@@ -110,7 +110,7 @@ __ieee754_jnl (int n, long double x)
     SET_RESTORE_ROUNDL (FE_TONEAREST);
     if (x == 0.0L || ix >= 0x7fff0000)	/* if x is 0 or inf */
       return sgn == 1 ? -zero : zero;
-    else if ((long double) n <= x)
+    else if ((ldouble_t) n <= x)
       {
 	/* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */
 	if (ix >= 0x412D0000)
@@ -131,8 +131,8 @@ __ieee754_jnl (int n, long double x)
 	     *             2    -s+c            -c-s
 	     *             3     s+c             c-s
 	     */
-	    long double s;
-	    long double c;
+	    ldouble_t s;
+	    ldouble_t c;
 	    __sincosl (x, &s, &c);
 	    switch (n & 3)
 	      {
@@ -158,7 +158,7 @@ __ieee754_jnl (int n, long double x)
 	    for (i = 1; i < n; i++)
 	      {
 		temp = b;
-		b = b * ((long double) (i + i) / x) - a;	/* avoid underflow */
+		b = b * ((ldouble_t) (i + i) / x) - a;	/* avoid underflow */
 		a = temp;
 	      }
 	  }
@@ -178,7 +178,7 @@ __ieee754_jnl (int n, long double x)
 		b = temp;
 		for (a = one, i = 2; i <= n; i++)
 		  {
-		    a *= (long double) i;	/* a = n! */
+		    a *= (ldouble_t) i;	/* a = n! */
 		    b *= temp;	/* b = (x/2)^n */
 		  }
 		b = b / a;
@@ -215,11 +215,11 @@ __ieee754_jnl (int n, long double x)
 	     * When Q(k) > 1e17     good for quadruple
 	     */
 	    /* determine k */
-	    long double t, v;
-	    long double q0, q1, h, tmp;
+	    ldouble_t t, v;
+	    ldouble_t q0, q1, h, tmp;
 	    int32_t k, m;
-	    w = (n + n) / (long double) x;
-	    h = 2.0L / (long double) x;
+	    w = (n + n) / (ldouble_t) x;
+	    h = 2.0L / (ldouble_t) x;
 	    q0 = w;
 	    z = w + h;
 	    q1 = w * z - 1.0L;
@@ -251,7 +251,7 @@ __ieee754_jnl (int n, long double x)
 
 	    if (tmp < 1.1356523406294143949491931077970765006170e+04L)
 	      {
-		for (i = n - 1, di = (long double) (i + i); i > 0; i--)
+		for (i = n - 1, di = (ldouble_t) (i + i); i > 0; i--)
 		  {
 		    temp = b;
 		    b *= di;
@@ -262,7 +262,7 @@ __ieee754_jnl (int n, long double x)
 	      }
 	    else
 	      {
-		for (i = n - 1, di = (long double) (i + i); i > 0; i--)
+		for (i = n - 1, di = (ldouble_t) (i + i); i > 0; i--)
 		  {
 		    temp = b;
 		    b *= di;
@@ -306,13 +306,13 @@ __ieee754_jnl (int n, long double x)
 }
 strong_alias (__ieee754_jnl, __jnl_finite)
 
-long double
-__ieee754_ynl (int n, long double x)
+ldouble_t
+__ieee754_ynl (int n, ldouble_t x)
 {
   u_int32_t se;
   int32_t i, ix;
   int32_t sign;
-  long double a, b, temp, ret;
+  ldouble_t a, b, temp, ret;
   ieee854_long_double_shape_type u;
 
   u.value = x;
@@ -367,8 +367,8 @@ __ieee754_ynl (int n, long double x)
 	 *             2    -s+c            -c-s
 	 *             3     s+c             c-s
 	 */
-	long double s;
-	long double c;
+	ldouble_t s;
+	ldouble_t c;
 	__sincosl (x, &s, &c);
 	switch (n & 3)
 	  {
@@ -397,7 +397,7 @@ __ieee754_ynl (int n, long double x)
 	for (i = 1; i < n && se != 0xffff0000; i++)
 	  {
 	    temp = b;
-	    b = ((long double) (i + i) / x) * b - a;
+	    b = ((ldouble_t) (i + i) / x) * b - a;
 	    u.value = b;
 	    se = u.parts32.w0 & 0xffff0000;
 	    a = temp;
diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
index 5b513ea..22e8dc2 100644
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
@@ -72,21 +72,21 @@
 #include <math_private.h>
 #include <float.h>
 
-static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
+static const ldouble_t PIL = 3.1415926535897932384626433832795028841972E0L;
 #if LDBL_MANT_DIG == 106
-static const long double MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L;
+static const ldouble_t MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L;
 #else
-static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
+static const ldouble_t MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
 #endif
-static const long double one = 1.0L;
-static const long double huge = LDBL_MAX;
+static const ldouble_t one = 1.0L;
+static const ldouble_t huge = LDBL_MAX;
 
 /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2)
    1/x <= 0.0741 (x >= 13.495...)
    Peak relative error 1.5e-36  */
-static const long double ls2pi = 9.1893853320467274178032973640561763986140E-1L;
+static const ldouble_t ls2pi = 9.1893853320467274178032973640561763986140E-1L;
 #define NRASY 12
-static const long double RASY[NRASY + 1] =
+static const ldouble_t RASY[NRASY + 1] =
 {
   8.333333333333333333333333333310437112111E-2L,
  -2.777777777777777777777774789556228296902E-3L,
@@ -108,10 +108,10 @@ static const long double RASY[NRASY + 1] =
    -0.5 <= x <= 0.5
    12.5 <= x+13 <= 13.5
    Peak relative error 1.1e-36  */
-static const long double lgam13a = 1.9987213134765625E1L;
-static const long double lgam13b = 1.3608962611495173623870550785125024484248E-6L;
+static const ldouble_t lgam13a = 1.9987213134765625E1L;
+static const ldouble_t lgam13b = 1.3608962611495173623870550785125024484248E-6L;
 #define NRN13 7
-static const long double RN13[NRN13 + 1] =
+static const ldouble_t RN13[NRN13 + 1] =
 {
   8.591478354823578150238226576156275285700E11L,
   2.347931159756482741018258864137297157668E11L,
@@ -123,7 +123,7 @@ static const long double RN13[NRN13 + 1] =
   6.850783280018706668924952057996075215223E0L
 };
 #define NRD13 6
-static const long double RD13[NRD13 + 1] =
+static const ldouble_t RD13[NRD13 + 1] =
 {
   3.401225382297342302296607039352935541669E11L,
   8.756765276918037910363513243563234551784E10L,
@@ -140,10 +140,10 @@ static const long double RD13[NRD13 + 1] =
    -0.5 <= x <= 0.5
    11.5 <= x+12 <= 12.5
    Peak relative error 4.1e-36  */
-static const long double lgam12a = 1.75023040771484375E1L;
-static const long double lgam12b = 3.7687254483392876529072161996717039575982E-6L;
+static const ldouble_t lgam12a = 1.75023040771484375E1L;
+static const ldouble_t lgam12b = 3.7687254483392876529072161996717039575982E-6L;
 #define NRN12 7
-static const long double RN12[NRN12 + 1] =
+static const ldouble_t RN12[NRN12 + 1] =
 {
   4.709859662695606986110997348630997559137E11L,
   1.398713878079497115037857470168777995230E11L,
@@ -155,7 +155,7 @@ static const long double RN12[NRN12 + 1] =
   6.769610657004672719224614163196946862747E0L
 };
 #define NRD12 6
-static const long double RD12[NRD12 + 1] =
+static const ldouble_t RD12[NRD12 + 1] =
 {
   1.928167007860968063912467318985802726613E11L,
   5.383198282277806237247492369072266389233E10L,
@@ -172,10 +172,10 @@ static const long double RD12[NRD12 + 1] =
    -0.5 <= x <= 0.5
    10.5 <= x+11 <= 11.5
    Peak relative error 1.8e-35  */
-static const long double lgam11a = 1.5104400634765625E1L;
-static const long double lgam11b = 1.1938309890295225709329251070371882250744E-5L;
+static const ldouble_t lgam11a = 1.5104400634765625E1L;
+static const ldouble_t lgam11b = 1.1938309890295225709329251070371882250744E-5L;
 #define NRN11 7
-static const long double RN11[NRN11 + 1] =
+static const ldouble_t RN11[NRN11 + 1] =
 {
   2.446960438029415837384622675816736622795E11L,
   7.955444974446413315803799763901729640350E10L,
@@ -187,7 +187,7 @@ static const long double RN11[NRN11 + 1] =
   6.681356101133728289358838690666225691363E0L
 };
 #define NRD11 6
-static const long double RD11[NRD11 + 1] =
+static const ldouble_t RD11[NRD11 + 1] =
 {
   1.040483786179428590683912396379079477432E11L,
   3.172251138489229497223696648369823779729E10L,
@@ -204,10 +204,10 @@ static const long double RD11[NRD11 + 1] =
    -0.5 <= x <= 0.5
    9.5 <= x+10 <= 10.5
    Peak relative error 5.4e-37  */
-static const long double lgam10a = 1.280181884765625E1L;
-static const long double lgam10b = 8.6324252196112077178745667061642811492557E-6L;
+static const ldouble_t lgam10a = 1.280181884765625E1L;
+static const ldouble_t lgam10b = 8.6324252196112077178745667061642811492557E-6L;
 #define NRN10 7
-static const long double RN10[NRN10 + 1] =
+static const ldouble_t RN10[NRN10 + 1] =
 {
   -1.239059737177249934158597996648808363783E14L,
   -4.725899566371458992365624673357356908719E13L,
@@ -219,7 +219,7 @@ static const long double RN10[NRN10 + 1] =
   -2.350975266781548931856017239843273049384E4L
 };
 #define NRD10 7
-static const long double RD10[NRD10 + 1] =
+static const ldouble_t RD10[NRD10 + 1] =
 {
   -5.502645997581822567468347817182347679552E13L,
   -1.970266640239849804162284805400136473801E13L,
@@ -237,10 +237,10 @@ static const long double RD10[NRD10 + 1] =
    -0.5 <= x <= 0.5
    8.5 <= x+9 <= 9.5
    Peak relative error 3.6e-36  */
-static const long double lgam9a = 1.06045989990234375E1L;
-static const long double lgam9b = 3.9037218127284172274007216547549861681400E-6L;
+static const ldouble_t lgam9a = 1.06045989990234375E1L;
+static const ldouble_t lgam9b = 3.9037218127284172274007216547549861681400E-6L;
 #define NRN9 7
-static const long double RN9[NRN9 + 1] =
+static const ldouble_t RN9[NRN9 + 1] =
 {
   -4.936332264202687973364500998984608306189E13L,
   -2.101372682623700967335206138517766274855E13L,
@@ -252,7 +252,7 @@ static const long double RN9[NRN9 + 1] =
   -2.036280038903695980912289722995505277253E4L
 };
 #define NRD9 7
-static const long double RD9[NRD9 + 1] =
+static const ldouble_t RD9[NRD9 + 1] =
 {
   -2.306006080437656357167128541231915480393E13L,
   -9.183606842453274924895648863832233799950E12L,
@@ -270,10 +270,10 @@ static const long double RD9[NRD9 + 1] =
    -0.5 <= x <= 0.5
    7.5 <= x+8 <= 8.5
    Peak relative error 2.4e-37  */
-static const long double lgam8a = 8.525146484375E0L;
-static const long double lgam8b = 1.4876690414300165531036347125050759667737E-5L;
+static const ldouble_t lgam8a = 8.525146484375E0L;
+static const ldouble_t lgam8b = 1.4876690414300165531036347125050759667737E-5L;
 #define NRN8 8
-static const long double RN8[NRN8 + 1] =
+static const ldouble_t RN8[NRN8 + 1] =
 {
   6.600775438203423546565361176829139703289E11L,
   3.406361267593790705240802723914281025800E11L,
@@ -286,7 +286,7 @@ static const long double RN8[NRN8 + 1] =
   6.596977510622195827183948478627058738034E0L
 };
 #define NRD8 7
-static const long double RD8[NRD8 + 1] =
+static const ldouble_t RD8[NRD8 + 1] =
 {
   3.274776546520735414638114828622673016920E11L,
   1.581811207929065544043963828487733970107E11L,
@@ -304,10 +304,10 @@ static const long double RD8[NRD8 + 1] =
    -0.5 <= x <= 0.5
    6.5 <= x+7 <= 7.5
    Peak relative error 3.2e-36  */
-static const long double lgam7a = 6.5792388916015625E0L;
-static const long double lgam7b = 1.2320408538495060178292903945321122583007E-5L;
+static const ldouble_t lgam7a = 6.5792388916015625E0L;
+static const ldouble_t lgam7b = 1.2320408538495060178292903945321122583007E-5L;
 #define NRN7 8
-static const long double RN7[NRN7 + 1] =
+static const ldouble_t RN7[NRN7 + 1] =
 {
   2.065019306969459407636744543358209942213E11L,
   1.226919919023736909889724951708796532847E11L,
@@ -320,7 +320,7 @@ static const long double RN7[NRN7 + 1] =
   6.460280377802030953041566617300902020435E0L
 };
 #define NRD7 7
-static const long double RD7[NRD7 + 1] =
+static const ldouble_t RD7[NRD7 + 1] =
 {
   1.102646614598516998880874785339049304483E11L,
   6.099297512712715445879759589407189290040E10L,
@@ -338,10 +338,10 @@ static const long double RD7[NRD7 + 1] =
    -0.5 <= x <= 0.5
    5.5 <= x+6 <= 6.5
    Peak relative error 6.2e-37  */
-static const long double lgam6a = 4.7874908447265625E0L;
-static const long double lgam6b = 8.9805548349424770093452324304839959231517E-7L;
+static const ldouble_t lgam6a = 4.7874908447265625E0L;
+static const ldouble_t lgam6b = 8.9805548349424770093452324304839959231517E-7L;
 #define NRN6 8
-static const long double RN6[NRN6 + 1] =
+static const ldouble_t RN6[NRN6 + 1] =
 {
   -3.538412754670746879119162116819571823643E13L,
   -2.613432593406849155765698121483394257148E13L,
@@ -354,7 +354,7 @@ static const long double RN6[NRN6 + 1] =
   -1.576834867378554185210279285358586385266E4L
 };
 #define NRD6 8
-static const long double RD6[NRD6 + 1] =
+static const ldouble_t RD6[NRD6 + 1] =
 {
   -2.073955870771283609792355579558899389085E13L,
   -1.421592856111673959642750863283919318175E13L,
@@ -373,10 +373,10 @@ static const long double RD6[NRD6 + 1] =
    -0.5 <= x <= 0.5
    4.5 <= x+5 <= 5.5
    Peak relative error 3.4e-37  */
-static const long double lgam5a = 3.17803955078125E0L;
-static const long double lgam5b = 1.4279566695619646941601297055408873990961E-5L;
+static const ldouble_t lgam5a = 3.17803955078125E0L;
+static const ldouble_t lgam5b = 1.4279566695619646941601297055408873990961E-5L;
 #define NRN5 9
-static const long double RN5[NRN5 + 1] =
+static const ldouble_t RN5[NRN5 + 1] =
 {
   2.010952885441805899580403215533972172098E11L,
   1.916132681242540921354921906708215338584E11L,
@@ -390,7 +390,7 @@ static const long double RN5[NRN5 + 1] =
   6.330318119566998299106803922739066556550E0L
 };
 #define NRD5 8
-static const long double RD5[NRD5 + 1] =
+static const ldouble_t RD5[NRD5 + 1] =
 {
   1.335189758138651840605141370223112376176E11L,
   1.174130445739492885895466097516530211283E11L,
@@ -409,10 +409,10 @@ static const long double RD5[NRD5 + 1] =
    -0.5 <= x <= 0.5
    3.5 <= x+4 <= 4.5
    Peak relative error 6.7e-37  */
-static const long double lgam4a = 1.791748046875E0L;
-static const long double lgam4b = 1.1422353055000812477358380702272722990692E-5L;
+static const ldouble_t lgam4a = 1.791748046875E0L;
+static const ldouble_t lgam4b = 1.1422353055000812477358380702272722990692E-5L;
 #define NRN4 9
-static const long double RN4[NRN4 + 1] =
+static const ldouble_t RN4[NRN4 + 1] =
 {
   -1.026583408246155508572442242188887829208E13L,
   -1.306476685384622809290193031208776258809E13L,
@@ -426,7 +426,7 @@ static const long double RN4[NRN4 + 1] =
   -1.180509051468390914200720003907727988201E4L
 };
 #define NRD4 9
-static const long double RD4[NRD4 + 1] =
+static const ldouble_t RD4[NRD4 + 1] =
 {
   -8.172669122056002077809119378047536240889E12L,
   -9.477592426087986751343695251801814226960E12L,
@@ -446,11 +446,11 @@ static const long double RD4[NRD4 + 1] =
    -0.25 <= x <= 0.5
    2.75 <= x+3 <= 3.5
    Peak relative error 6.0e-37  */
-static const long double lgam3a = 6.93145751953125E-1L;
-static const long double lgam3b = 1.4286068203094172321214581765680755001344E-6L;
+static const ldouble_t lgam3a = 6.93145751953125E-1L;
+static const ldouble_t lgam3b = 1.4286068203094172321214581765680755001344E-6L;
 
 #define NRN3 9
-static const long double RN3[NRN3 + 1] =
+static const ldouble_t RN3[NRN3 + 1] =
 {
   -4.813901815114776281494823863935820876670E11L,
   -8.425592975288250400493910291066881992620E11L,
@@ -464,7 +464,7 @@ static const long double RN3[NRN3 + 1] =
   -8.333374463411801009783402800801201603736E3L
 };
 #define NRD3 9
-static const long double RD3[NRD3 + 1] =
+static const ldouble_t RD3[NRD3 + 1] =
 {
   -5.216713843111675050627304523368029262450E11L,
   -8.014292925418308759369583419234079164391E11L,
@@ -483,10 +483,10 @@ static const long double RD3[NRD3 + 1] =
 /* log gamma(x+2.5) = log gamma(2.5) +  x P(x)/Q(x)
    -0.125 <= x <= 0.25
    2.375 <= x+2.5 <= 2.75  */
-static const long double lgam2r5a = 2.8466796875E-1L;
-static const long double lgam2r5b = 1.4901722919159632494669682701924320137696E-5L;
+static const ldouble_t lgam2r5a = 2.8466796875E-1L;
+static const ldouble_t lgam2r5b = 1.4901722919159632494669682701924320137696E-5L;
 #define NRN2r5 8
-static const long double RN2r5[NRN2r5 + 1] =
+static const ldouble_t RN2r5[NRN2r5 + 1] =
 {
   -4.676454313888335499356699817678862233205E9L,
   -9.361888347911187924389905984624216340639E9L,
@@ -499,7 +499,7 @@ static const long double RN2r5[NRN2r5 + 1] =
   -4.717341584067827676530426007495274711306E3L
 };
 #define NRD2r5 8
-static const long double RD2r5[NRD2r5 + 1] =
+static const ldouble_t RD2r5[NRD2r5 + 1] =
 {
   -6.650657966618993679456019224416926875619E9L,
   -1.099511409330635807899718829033488771623E10L,
@@ -519,7 +519,7 @@ static const long double RD2r5[NRD2r5 + 1] =
    1.875 <= x+2 <= 2.375
    Peak relative error 4.6e-36  */
 #define NRN2 9
-static const long double RN2[NRN2 + 1] =
+static const ldouble_t RN2[NRN2 + 1] =
 {
   -3.716661929737318153526921358113793421524E9L,
   -1.138816715030710406922819131397532331321E10L,
@@ -533,7 +533,7 @@ static const long double RN2[NRN2 + 1] =
   -4.778761333044147141559311805999540765612E3L
 };
 #define NRD2 9
-static const long double RD2[NRD2 + 1] =
+static const ldouble_t RD2[NRD2 + 1] =
 {
   -8.790916836764308497770359421351673950111E9L,
   -2.023108608053212516399197678553737477486E10L,
@@ -553,10 +553,10 @@ static const long double RD2[NRD2 + 1] =
    -0.125 <= x <= +0.125
    1.625 <= x+1.75 <= 1.875
    Peak relative error 9.2e-37 */
-static const long double lgam1r75a = -8.441162109375E-2L;
-static const long double lgam1r75b = 1.0500073264444042213965868602268256157604E-5L;
+static const ldouble_t lgam1r75a = -8.441162109375E-2L;
+static const ldouble_t lgam1r75b = 1.0500073264444042213965868602268256157604E-5L;
 #define NRN1r75 8
-static const long double RN1r75[NRN1r75 + 1] =
+static const ldouble_t RN1r75[NRN1r75 + 1] =
 {
   -5.221061693929833937710891646275798251513E7L,
   -2.052466337474314812817883030472496436993E8L,
@@ -569,7 +569,7 @@ static const long double RN1r75[NRN1r75 + 1] =
   -2.698453601378319296159355612094598695530E3L
 };
 #define NRD1r75 8
-static const long double RD1r75[NRD1r75 + 1] =
+static const ldouble_t RD1r75[NRD1r75 + 1] =
 {
   -2.109754689501705828789976311354395393605E8L,
   -5.036651829232895725959911504899241062286E8L,
@@ -588,12 +588,12 @@ static const long double RD1r75[NRD1r75 + 1] =
    -0.0867 <= x <= +0.1634
    1.374932... <= x+x0 <= 1.625032...
    Peak relative error 4.0e-36  */
-static const long double x0a = 1.4616241455078125L;
-static const long double x0b = 7.9994605498412626595423257213002588621246E-6L;
-static const long double y0a = -1.21490478515625E-1L;
-static const long double y0b = 4.1879797753919044854428223084178486438269E-6L;
+static const ldouble_t x0a = 1.4616241455078125L;
+static const ldouble_t x0b = 7.9994605498412626595423257213002588621246E-6L;
+static const ldouble_t y0a = -1.21490478515625E-1L;
+static const ldouble_t y0b = 4.1879797753919044854428223084178486438269E-6L;
 #define NRN1r5 8
-static const long double RN1r5[NRN1r5 + 1] =
+static const ldouble_t RN1r5[NRN1r5 + 1] =
 {
   6.827103657233705798067415468881313128066E5L,
   1.910041815932269464714909706705242148108E6L,
@@ -606,7 +606,7 @@ static const long double RN1r5[NRN1r5 + 1] =
   5.040631576303952022968949605613514584950E0L
 };
 #define NRD1r5 8
-static const long double RD1r5[NRD1r5 + 1] =
+static const ldouble_t RD1r5[NRD1r5 + 1] =
 {
   1.411036368843183477558773688484699813355E6L,
   4.378121767236251950226362443134306184849E6L,
@@ -625,10 +625,10 @@ static const long double RD1r5[NRD1r5 + 1] =
    -.125 <= x <= +.125
    1.125 <= x+1.25 <= 1.375
    Peak relative error = 4.9e-36 */
-static const long double lgam1r25a = -9.82818603515625E-2L;
-static const long double lgam1r25b = 1.0023929749338536146197303364159774377296E-5L;
+static const ldouble_t lgam1r25a = -9.82818603515625E-2L;
+static const ldouble_t lgam1r25b = 1.0023929749338536146197303364159774377296E-5L;
 #define NRN1r25 9
-static const long double RN1r25[NRN1r25 + 1] =
+static const ldouble_t RN1r25[NRN1r25 + 1] =
 {
   -9.054787275312026472896002240379580536760E4L,
   -8.685076892989927640126560802094680794471E4L,
@@ -642,7 +642,7 @@ static const long double RN1r25[NRN1r25 + 1] =
   4.907821957946273805080625052510832015792E0L
 };
 #define NRD1r25 8
-static const long double RD1r25[NRD1r25 + 1] =
+static const ldouble_t RD1r25[NRD1r25 + 1] =
 {
   3.980939377333448005389084785896660309000E5L,
   1.429634893085231519692365775184490465542E6L,
@@ -662,7 +662,7 @@ static const long double RD1r25[NRD1r25 + 1] =
    1.0 <= x+1 <= 1.125
    Peak relative error 1.1e-35  */
 #define NRN1 8
-static const long double RN1[NRN1 + 1] =
+static const ldouble_t RN1[NRN1 + 1] =
 {
   -9.987560186094800756471055681088744738818E3L,
   -2.506039379419574361949680225279376329742E4L,
@@ -675,7 +675,7 @@ static const long double RN1[NRN1 + 1] =
   4.516830313569454663374271993200291219855E0L
 };
 #define NRD1 7
-static const long double RD1[NRD1 + 1] =
+static const ldouble_t RD1[NRD1 + 1] =
 {
   1.730299573175751778863269333703788214547E4L,
   6.807080914851328611903744668028014678148E4L,
@@ -694,7 +694,7 @@ static const long double RD1[NRD1 + 1] =
    0.875 <= x+1 <= 1.0
    Peak relative error 7.0e-37  */
 #define NRNr9 8
-static const long double RNr9[NRNr9 + 1] =
+static const ldouble_t RNr9[NRNr9 + 1] =
 {
   4.441379198241760069548832023257571176884E5L,
   1.273072988367176540909122090089580368732E6L,
@@ -707,7 +707,7 @@ static const long double RNr9[NRNr9 + 1] =
   -1.032901669542994124131223797515913955938E3L,
 };
 #define NRDr9 8
-static const long double RDr9[NRDr9 + 1] =
+static const ldouble_t RDr9[NRDr9 + 1] =
 {
   -7.694488331323118759486182246005193998007E5L,
   -3.301918855321234414232308938454112213751E6L,
@@ -724,10 +724,10 @@ static const long double RDr9[NRDr9 + 1] =
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -742,10 +742,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -758,10 +758,10 @@ deval (long double x, const long double *p, int n)
 }
 
 
-long double
-__ieee754_lgammal_r (long double x, int *signgamp)
+ldouble_t
+__ieee754_lgammal_r (ldouble_t x, int *signgamp)
 {
-  long double p, q, w, z, nx;
+  ldouble_t p, q, w, z, nx;
   int i, nn;
 
   *signgamp = 1;
@@ -783,7 +783,7 @@ __ieee754_lgammal_r (long double x, int *signgamp)
       p = __floorl (q);
       if (p == q)
 	return (one / (p - p));
-      long double halfp = p * 0.5L;
+      ldouble_t halfp = p * 0.5L;
       if (halfp == __floorl (halfp))
 	*signgamp = -1;
       else
diff --git a/sysdeps/ieee754/ldbl-128/e_log10l.c b/sysdeps/ieee754/ldbl-128/e_log10l.c
index 618255f..fbc7c4c 100644
--- a/sysdeps/ieee754/ldbl-128/e_log10l.c
+++ b/sysdeps/ieee754/ldbl-128/e_log10l.c
@@ -68,7 +68,7 @@
  * Theoretical peak relative error = 5.3e-37,
  * relative peak error spread = 2.3e-14
  */
-static const long double P[13] =
+static const ldouble_t P[13] =
 {
   1.313572404063446165910279910527789794488E4L,
   7.771154681358524243729929227226708890930E4L,
@@ -84,7 +84,7 @@ static const long double P[13] =
   4.998469661968096229986658302195402690910E-1L,
   1.538612243596254322971797716843006400388E-6L
 };
-static const long double Q[12] =
+static const ldouble_t Q[12] =
 {
   3.940717212190338497730839731583397586124E4L,
   2.626900195321832660448791748036714883242E5L,
@@ -107,7 +107,7 @@ static const long double Q[12] =
  * Theoretical peak relative error = 1.1e-35,
  * relative peak error spread 1.1e-9
  */
-static const long double R[6] =
+static const ldouble_t R[6] =
 {
   1.418134209872192732479751274970992665513E5L,
  -8.977257995689735303686582344659576526998E4L,
@@ -116,7 +116,7 @@ static const long double R[6] =
   8.057002716646055371965756206836056074715E1L,
  -8.828896441624934385266096344596648080902E-1L
 };
-static const long double S[6] =
+static const ldouble_t S[6] =
 {
   1.701761051846631278975701529965589676574E6L,
  -1.332535117259762928288745111081235577029E6L,
@@ -127,7 +127,7 @@ static const long double S[6] =
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
-static const long double
+static const ldouble_t
 /* log10(2) */
 L102A = 0.3125L,
 L102B = -1.14700043360188047862611052755069732318101185E-2L,
@@ -141,10 +141,10 @@ SQRTH = 7.071067811865475244008443621048490392848359E-1L;
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -159,10 +159,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -176,11 +176,11 @@ deval (long double x, const long double *p, int n)
 
 
 
-long double
-__ieee754_log10l (long double x)
+ldouble_t
+__ieee754_log10l (ldouble_t x)
 {
-  long double z;
-  long double y;
+  ldouble_t z;
+  ldouble_t y;
   int e;
   int64_t hx, lx;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_log2l.c b/sysdeps/ieee754/ldbl-128/e_log2l.c
index 6b1faa0..8685b76 100644
--- a/sysdeps/ieee754/ldbl-128/e_log2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_log2l.c
@@ -67,7 +67,7 @@
  * Theoretical peak relative error = 5.3e-37,
  * relative peak error spread = 2.3e-14
  */
-static const long double P[13] =
+static const ldouble_t P[13] =
 {
   1.313572404063446165910279910527789794488E4L,
   7.771154681358524243729929227226708890930E4L,
@@ -83,7 +83,7 @@ static const long double P[13] =
   4.998469661968096229986658302195402690910E-1L,
   1.538612243596254322971797716843006400388E-6L
 };
-static const long double Q[12] =
+static const ldouble_t Q[12] =
 {
   3.940717212190338497730839731583397586124E4L,
   2.626900195321832660448791748036714883242E5L,
@@ -106,7 +106,7 @@ static const long double Q[12] =
  * Theoretical peak relative error = 1.1e-35,
  * relative peak error spread 1.1e-9
  */
-static const long double R[6] =
+static const ldouble_t R[6] =
 {
   1.418134209872192732479751274970992665513E5L,
  -8.977257995689735303686582344659576526998E4L,
@@ -115,7 +115,7 @@ static const long double R[6] =
   8.057002716646055371965756206836056074715E1L,
  -8.828896441624934385266096344596648080902E-1L
 };
-static const long double S[6] =
+static const ldouble_t S[6] =
 {
   1.701761051846631278975701529965589676574E6L,
  -1.332535117259762928288745111081235577029E6L,
@@ -126,7 +126,7 @@ static const long double S[6] =
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
-static const long double
+static const ldouble_t
 /* log2(e) - 1 */
 LOG2EA = 4.4269504088896340735992468100189213742664595E-1L,
 /* sqrt(2)/2 */
@@ -135,10 +135,10 @@ SQRTH = 7.071067811865475244008443621048490392848359E-1L;
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -153,10 +153,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -170,11 +170,11 @@ deval (long double x, const long double *p, int n)
 
 
 
-long double
-__ieee754_log2l (long double x)
+ldouble_t
+__ieee754_log2l (ldouble_t x)
 {
-  long double z;
-  long double y;
+  ldouble_t z;
+  ldouble_t y;
   int e;
   int64_t hx, lx;
 
diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c
index cb43816..7a51917 100644
--- a/sysdeps/ieee754/ldbl-128/e_logl.c
+++ b/sysdeps/ieee754/ldbl-128/e_logl.c
@@ -63,7 +63,7 @@
 /* log(1+x) = x - .5 x^2 + x^3 l(x)
    -.0078125 <= x <= +.0078125
    peak relative error 1.2e-37 */
-static const long double
+static const ldouble_t
 l3 =   3.333333333333333333333333333333336096926E-1L,
 l4 =  -2.499999999999999999999999999486853077002E-1L,
 l5 =   1.999999999999999999999999998515277861905E-1L,
@@ -81,7 +81,7 @@ l15 =  6.668057591071739754844678883223432347481E-2L;
 /* Lookup table of ln(t) - (t-1)
     t = 0.5 + (k+26)/128)
     k = 0, ..., 91   */
-static const long double logtbl[92] = {
+static const ldouble_t logtbl[92] = {
 -5.5345593589352099112142921677820359632418E-2L,
 -5.2108257402767124761784665198737642086148E-2L,
 -4.8991686870576856279407775480686721935120E-2L,
@@ -178,14 +178,14 @@ static const long double logtbl[92] = {
 };
 
 /* ln(2) = ln2a + ln2b with extended precision. */
-static const long double
+static const ldouble_t
   ln2a = 6.93145751953125e-1L,
   ln2b = 1.4286068203094172321214581765680755001344E-6L;
 
-long double
-__ieee754_logl(long double x)
+ldouble_t
+__ieee754_logl(ldouble_t x)
 {
-  long double z, y, w;
+  ldouble_t z, y, w;
   ieee854_long_double_shape_type u, t;
   unsigned int m;
   int k, e;
diff --git a/sysdeps/ieee754/ldbl-128/e_powl.c b/sysdeps/ieee754/ldbl-128/e_powl.c
index 7f3037f..53316ef 100644
--- a/sysdeps/ieee754/ldbl-128/e_powl.c
+++ b/sysdeps/ieee754/ldbl-128/e_powl.c
@@ -67,24 +67,24 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double bp[] = {
+static const ldouble_t bp[] = {
   1.0L,
   1.5L,
 };
 
 /* log_2(1.5) */
-static const long double dp_h[] = {
+static const ldouble_t dp_h[] = {
   0.0,
   5.8496250072115607565592654282227158546448E-1L
 };
 
 /* Low part of log_2(1.5) */
-static const long double dp_l[] = {
+static const ldouble_t dp_l[] = {
   0.0,
   1.0579781240112554492329533686862998106046E-16L
 };
 
-static const long double zero = 0.0L,
+static const ldouble_t zero = 0.0L,
   one = 1.0L,
   two = 2.0L,
   two113 = 1.0384593717069655257060992658440192E34L,
@@ -95,7 +95,7 @@ static const long double zero = 0.0L,
    z = (x-1)/(x+1)
    1 <= x <= 1.25
    Peak relative error 2.3e-37 */
-static const long double LN[] =
+static const ldouble_t LN[] =
 {
  -3.0779177200290054398792536829702930623200E1L,
   6.5135778082209159921251824580292116201640E1L,
@@ -103,7 +103,7 @@ static const long double LN[] =
   1.2510208195629420304615674658258363295208E1L,
  -9.9266909031921425609179910128531667336670E-1L
 };
-static const long double LD[] =
+static const ldouble_t LD[] =
 {
  -5.129862866715009066465422805058933131960E1L,
   1.452015077564081884387441590064272782044E2L,
@@ -116,7 +116,7 @@ static const long double LD[] =
 /* exp(x) = 1 + x - x / (1 - 2 / (x - x^2 R(x^2)))
    0 <= x <= 0.5
    Peak relative error 5.7e-38  */
-static const long double PN[] =
+static const ldouble_t PN[] =
 {
   5.081801691915377692446852383385968225675E8L,
   9.360895299872484512023336636427675327355E6L,
@@ -124,7 +124,7 @@ static const long double PN[] =
   5.201006511142748908655720086041570288182E1L,
   9.088368420359444263703202925095675982530E-3L,
 };
-static const long double PD[] =
+static const ldouble_t PD[] =
 {
   3.049081015149226615468111430031590411682E9L,
   1.069833887183886839966085436512368982758E8L,
@@ -133,7 +133,7 @@ static const long double PD[] =
   /* 1.0E0 */
 };
 
-static const long double
+static const ldouble_t
   /* ln 2 */
   lg2 = 6.9314718055994530941723212145817656807550E-1L,
   lg2_h = 6.9314718055994528622676398299518041312695E-1L,
@@ -144,12 +144,12 @@ static const long double
   cp_h = 9.6179669392597555432899980587535537779331E-1L,
   cp_l = 5.0577616648125906047157785230014751039424E-17L;
 
-long double
-__ieee754_powl (long double x, long double y)
+ldouble_t
+__ieee754_powl (ldouble_t x, ldouble_t y)
 {
-  long double z, ax, z_h, z_l, p_h, p_l;
-  long double y1, t1, t2, r, s, sgn, t, u, v, w;
-  long double s2, s_h, s_l, t_h, t_l, ay;
+  ldouble_t z, ax, z_h, z_l, p_h, p_l;
+  ldouble_t y1, t1, t2, r, s, sgn, t, u, v, w;
+  ldouble_t s2, s_h, s_l, t_h, t_l, ay;
   int32_t i, j, k, yisint, n;
   u_int32_t ix, iy;
   int32_t hx, hy;
@@ -363,7 +363,7 @@ __ieee754_powl (long double x, long double y)
   z_h = cp_h * p_h;		/* cp_h+cp_l = 2/(3*log2) */
   z_l = cp_l * p_h + p_l * cp + dp_l[k];
   /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
-  t = (long double) n;
+  t = (ldouble_t) n;
   t1 = (((z_h + z_l) + dp_h[k]) + t);
   o.value = t1;
   o.parts32.w3 = 0;
@@ -437,7 +437,7 @@ __ieee754_powl (long double x, long double y)
   if ((j >> 16) <= 0)
     {
       z = __scalbnl (z, n);	/* subnormal output */
-      long double force_underflow = z * z;
+      ldouble_t force_underflow = z * z;
       math_force_eval (force_underflow);
     }
   else
diff --git a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
index 101a4c9..d19894f 100644
--- a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
@@ -183,7 +183,7 @@ static const int32_t two_over_pi[] = {
 0x7b7b89, 0x483d38,
 };
 
-static const long double c[] = {
+static const ldouble_t c[] = {
 /* 113 bits of pi/2 */
 #define PI_2_1 c[0]
  0x1.921fb54442d18469898cc51701b8p+0L,
@@ -193,9 +193,9 @@ static const long double c[] = {
  0x3.9a252049c1114cf98e804177d4c8p-116L,
 };
 
-int32_t __ieee754_rem_pio2l(long double x, long double *y)
+int32_t __ieee754_rem_pio2l(ldouble_t x, ldouble_t *y)
 {
-  long double z, w, t;
+  ldouble_t z, w, t;
   double tx[8];
   int64_t exp, n, ix, hx;
   u_int64_t lx;
@@ -255,8 +255,8 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y)
 
   /* The result is now stored in 3 double values, we need to convert it into
      two long double values.  */
-  t = (long double) tx [6] + (long double) tx [7];
-  w = (long double) tx [5];
+  t = (ldouble_t) tx [6] + (ldouble_t) tx [7];
+  w = (ldouble_t) tx [5];
 
   if (hx >= 0)
     {
diff --git a/sysdeps/ieee754/ldbl-128/e_remainderl.c b/sysdeps/ieee754/ldbl-128/e_remainderl.c
index 88df6f5..3bb4cbe 100644
--- a/sysdeps/ieee754/ldbl-128/e_remainderl.c
+++ b/sysdeps/ieee754/ldbl-128/e_remainderl.c
@@ -24,15 +24,15 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double zero = 0.0L;
+static const ldouble_t zero = 0.0L;
 
 
-long double
-__ieee754_remainderl(long double x, long double p)
+ldouble_t
+__ieee754_remainderl(ldouble_t x, ldouble_t p)
 {
 	int64_t hx,hp;
 	u_int64_t sx,lx,lp;
-	long double p_half;
+	ldouble_t p_half;
 
 	GET_LDOUBLE_WORDS64(hx,lx,x);
 	GET_LDOUBLE_WORDS64(hp,lp,p);
diff --git a/sysdeps/ieee754/ldbl-128/e_sinhl.c b/sysdeps/ieee754/ldbl-128/e_sinhl.c
index 11974a3..09ef4c9 100644
--- a/sysdeps/ieee754/ldbl-128/e_sinhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_sinhl.c
@@ -57,13 +57,13 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0, shuge = 1.0e4931L,
+static const ldouble_t one = 1.0, shuge = 1.0e4931L,
 ovf_thresh = 1.1357216553474703894801348310092223067821E4L;
 
-long double
-__ieee754_sinhl (long double x)
+ldouble_t
+__ieee754_sinhl (ldouble_t x)
 {
-  long double t, w, h;
+  ldouble_t t, w, h;
   u_int32_t jx, ix;
   ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/gamma_productl.c b/sysdeps/ieee754/ldbl-128/gamma_productl.c
index 6f3f05e..9cf8399 100644
--- a/sysdeps/ieee754/ldbl-128/gamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/gamma_productl.c
@@ -30,16 +30,16 @@
    X is small enough that factors quadratic in it can be
    neglected.  */
 
-long double
-__gamma_productl (long double x, long double x_eps, int n, long double *eps)
+ldouble_t
+__gamma_productl (ldouble_t x, ldouble_t x_eps, int n, ldouble_t *eps)
 {
   SET_RESTORE_ROUNDL (FE_TONEAREST);
-  long double ret = x;
+  ldouble_t ret = x;
   *eps = x_eps / x;
   for (int i = 1; i < n; i++)
     {
       *eps += x_eps / (x + i);
-      long double lo;
+      ldouble_t lo;
       mul_split (&ret, &lo, ret, x + i);
       *eps += lo / ret;
     }
diff --git a/sysdeps/ieee754/ldbl-128/k_cosl.c b/sysdeps/ieee754/ldbl-128/k_cosl.c
index 3985b12..db66040 100644
--- a/sysdeps/ieee754/ldbl-128/k_cosl.c
+++ b/sysdeps/ieee754/ldbl-128/k_cosl.c
@@ -20,7 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double c[] = {
+static const ldouble_t c[] = {
 #define ONE c[0]
  1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
 
@@ -74,12 +74,12 @@ static const long double c[] = {
 #define SINCOSL_COS_LO 1
 #define SINCOSL_SIN_HI 2
 #define SINCOSL_SIN_LO 3
-extern const long double __sincosl_table[];
+extern const ldouble_t __sincosl_table[];
 
-long double
-__kernel_cosl(long double x, long double y)
+ldouble_t
+__kernel_cosl(ldouble_t x, ldouble_t y)
 {
-  long double h, l, z, sin_l, cos_l_m1;
+  ldouble_t h, l, z, sin_l, cos_l_m1;
   int64_t ix;
   u_int32_t tix, hix, index;
   GET_LDOUBLE_MSW64 (ix, x);
diff --git a/sysdeps/ieee754/ldbl-128/k_sincosl.c b/sysdeps/ieee754/ldbl-128/k_sincosl.c
index 404df35..bc90590 100644
--- a/sysdeps/ieee754/ldbl-128/k_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sincosl.c
@@ -21,7 +21,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double c[] = {
+static const ldouble_t c[] = {
 #define ONE c[0]
  1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
 
@@ -94,12 +94,12 @@ static const long double c[] = {
 #define SINCOSL_COS_LO 1
 #define SINCOSL_SIN_HI 2
 #define SINCOSL_SIN_LO 3
-extern const long double __sincosl_table[];
+extern const ldouble_t __sincosl_table[];
 
 void
-__kernel_sincosl(long double x, long double y, long double *sinx, long double *cosx, int iy)
+__kernel_sincosl(ldouble_t x, ldouble_t y, ldouble_t *sinx, ldouble_t *cosx, int iy)
 {
-  long double h, l, z, sin_l, cos_l_m1;
+  ldouble_t h, l, z, sin_l, cos_l_m1;
   int64_t ix;
   u_int32_t tix, hix, index;
   GET_LDOUBLE_MSW64 (ix, x);
diff --git a/sysdeps/ieee754/ldbl-128/k_sinl.c b/sysdeps/ieee754/ldbl-128/k_sinl.c
index 6290b17..5d34c81 100644
--- a/sysdeps/ieee754/ldbl-128/k_sinl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sinl.c
@@ -21,7 +21,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double c[] = {
+static const ldouble_t c[] = {
 #define ONE c[0]
  1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
 
@@ -75,12 +75,12 @@ static const long double c[] = {
 #define SINCOSL_COS_LO 1
 #define SINCOSL_SIN_HI 2
 #define SINCOSL_SIN_LO 3
-extern const long double __sincosl_table[];
+extern const ldouble_t __sincosl_table[];
 
-long double
-__kernel_sinl(long double x, long double y, int iy)
+ldouble_t
+__kernel_sinl(ldouble_t x, ldouble_t y, int iy)
 {
-  long double h, l, z, sin_l, cos_l_m1;
+  ldouble_t h, l, z, sin_l, cos_l_m1;
   int64_t ix;
   u_int32_t tix, hix, index;
   GET_LDOUBLE_MSW64 (ix, x);
diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c
index cd2bbf5..564e9f9 100644
--- a/sysdeps/ieee754/ldbl-128/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/k_tanl.c
@@ -60,7 +60,7 @@
 #include <libc-internal.h>
 #include <math.h>
 #include <math_private.h>
-static const long double
+static const ldouble_t
   one = 1.0L,
   pio4hi = 7.8539816339744830961566084581987569936977E-1L,
   pio4lo = 2.1679525325309452561992610065108379921906E-35L,
@@ -83,10 +83,10 @@ static const long double
   /* 1.000000000000000000000000000000000000000E0 */
 
 
-long double
-__kernel_tanl (long double x, long double y, int iy)
+ldouble_t
+__kernel_tanl (ldouble_t x, ldouble_t y, int iy)
 {
-  long double z, r, v, w, s;
+  ldouble_t z, r, v, w, s;
   int32_t ix, sign;
   ieee854_long_double_shape_type u, u1;
 
@@ -134,7 +134,7 @@ __kernel_tanl (long double x, long double y, int iy)
   w = x + r;
   if (ix >= 0x3ffe5942)
     {
-      v = (long double) iy;
+      v = (ldouble_t) iy;
       w = (v - 2.0 * (x - (w * w / (w + v) - r)));
       /* SIGN is set for arguments that reach this code, but not
 	 otherwise, resulting in warnings that it may be used
diff --git a/sysdeps/ieee754/ldbl-128/lgamma_negl.c b/sysdeps/ieee754/ldbl-128/lgamma_negl.c
index df46199..b94062b 100644
--- a/sysdeps/ieee754/ldbl-128/lgamma_negl.c
+++ b/sysdeps/ieee754/ldbl-128/lgamma_negl.c
@@ -20,7 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double lgamma_zeros[][2] =
+static const ldouble_t lgamma_zeros[][2] =
   {
     { -0x2.74ff92c01f0d82abec9f315f1a08p+0L, 0xe.d3ccb7fb2658634a2b9f6b2ba81p-116L },
     { -0x2.bf6821437b20197995a4b4641eaep+0L, -0xb.f4b00b4829f961e428533e6ad048p-116L },
@@ -120,14 +120,14 @@ static const long double lgamma_zeros[][2] =
     { -0x3.2p+4L, 0x3.766dedc259af040be140a68a6c04p-216L },
   };
 
-static const long double e_hi = 0x2.b7e151628aed2a6abf7158809cf4p+0L;
-static const long double e_lo = 0xf.3c762e7160f38b4da56a784d9048p-116L;
+static const ldouble_t e_hi = 0x2.b7e151628aed2a6abf7158809cf4p+0L;
+static const ldouble_t e_lo = 0xf.3c762e7160f38b4da56a784d9048p-116L;
 
 
 /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) in Stirling's
    approximation to lgamma function.  */
 
-static const long double lgamma_coeff[] =
+static const ldouble_t lgamma_coeff[] =
   {
     0x1.5555555555555555555555555555p-4L,
     -0xb.60b60b60b60b60b60b60b60b60b8p-12L,
@@ -166,7 +166,7 @@ static const long double lgamma_coeff[] =
    polynomial is expressed in terms of x-xm, where xm is the midpoint
    of the interval for which the polynomial applies.  */
 
-static const long double poly_coeff[] =
+static const ldouble_t poly_coeff[] =
   {
     /* Interval [-2.125, -2] (polynomial degree 23).  */
     -0x1.0b71c5c54d42eb6c17f30b7aa8f5p+0L,
@@ -412,8 +412,8 @@ static const size_t poly_end[] =
 
 /* Compute sin (pi * X) for -0.25 <= X <= 0.5.  */
 
-static long double
-lg_sinpi (long double x)
+static ldouble_t
+lg_sinpi (ldouble_t x)
 {
   if (x <= 0.25L)
     return __sinl (M_PIl * x);
@@ -423,8 +423,8 @@ lg_sinpi (long double x)
 
 /* Compute cos (pi * X) for -0.25 <= X <= 0.5.  */
 
-static long double
-lg_cospi (long double x)
+static ldouble_t
+lg_cospi (ldouble_t x)
 {
   if (x <= 0.25L)
     return __cosl (M_PIl * x);
@@ -434,8 +434,8 @@ lg_cospi (long double x)
 
 /* Compute cot (pi * X) for -0.25 <= X <= 0.5.  */
 
-static long double
-lg_cotpi (long double x)
+static ldouble_t
+lg_cotpi (ldouble_t x)
 {
   return lg_cospi (x) / lg_sinpi (x);
 }
@@ -443,34 +443,34 @@ lg_cotpi (long double x)
 /* Compute lgamma of a negative argument -50 < X < -2, setting
    *SIGNGAMP accordingly.  */
 
-long double
-__lgamma_negl (long double x, int *signgamp)
+ldouble_t
+__lgamma_negl (ldouble_t x, int *signgamp)
 {
   /* Determine the half-integer region X lies in, handle exact
      integers and determine the sign of the result.  */
   int i = __floorl (-2 * x);
   if ((i & 1) == 0 && i == -2 * x)
     return 1.0L / 0.0L;
-  long double xn = ((i & 1) == 0 ? -i / 2 : (-i - 1) / 2);
+  ldouble_t xn = ((i & 1) == 0 ? -i / 2 : (-i - 1) / 2);
   i -= 4;
   *signgamp = ((i & 2) == 0 ? -1 : 1);
 
   SET_RESTORE_ROUNDL (FE_TONEAREST);
 
   /* Expand around the zero X0 = X0_HI + X0_LO.  */
-  long double x0_hi = lgamma_zeros[i][0], x0_lo = lgamma_zeros[i][1];
-  long double xdiff = x - x0_hi - x0_lo;
+  ldouble_t x0_hi = lgamma_zeros[i][0], x0_lo = lgamma_zeros[i][1];
+  ldouble_t xdiff = x - x0_hi - x0_lo;
 
   /* For arguments in the range -3 to -2, use polynomial
      approximations to an adjusted version of the gamma function.  */
   if (i < 2)
     {
       int j = __floorl (-8 * x) - 16;
-      long double xm = (-33 - 2 * j) * 0.0625L;
-      long double x_adj = x - xm;
+      ldouble_t xm = (-33 - 2 * j) * 0.0625L;
+      ldouble_t x_adj = x - xm;
       size_t deg = poly_deg[j];
       size_t end = poly_end[j];
-      long double g = poly_coeff[end];
+      ldouble_t g = poly_coeff[end];
       for (size_t j = 1; j <= deg; j++)
 	g = g * x_adj + poly_coeff[end - j];
       return __log1pl (g * xdiff / (x - xn));
@@ -478,8 +478,8 @@ __lgamma_negl (long double x, int *signgamp)
 
   /* The result we want is log (sinpi (X0) / sinpi (X))
      + log (gamma (1 - X0) / gamma (1 - X)).  */
-  long double x_idiff = fabsl (xn - x), x0_idiff = fabsl (xn - x0_hi - x0_lo);
-  long double log_sinpi_ratio;
+  ldouble_t x_idiff = fabsl (xn - x), x0_idiff = fabsl (xn - x0_hi - x0_lo);
+  ldouble_t log_sinpi_ratio;
   if (x0_idiff < x_idiff * 0.5L)
     /* Use log not log1p to avoid inaccuracy from log1p of arguments
        close to -1.  */
@@ -490,29 +490,29 @@ __lgamma_negl (long double x, int *signgamp)
       /* Use log1p not log to avoid inaccuracy from log of arguments
 	 close to 1.  X0DIFF2 has positive sign if X0 is further from
 	 XN than X is from XN, negative sign otherwise.  */
-      long double x0diff2 = ((i & 1) == 0 ? xdiff : -xdiff) * 0.5L;
-      long double sx0d2 = lg_sinpi (x0diff2);
-      long double cx0d2 = lg_cospi (x0diff2);
+      ldouble_t x0diff2 = ((i & 1) == 0 ? xdiff : -xdiff) * 0.5L;
+      ldouble_t sx0d2 = lg_sinpi (x0diff2);
+      ldouble_t cx0d2 = lg_cospi (x0diff2);
       log_sinpi_ratio = __log1pl (2 * sx0d2
 				  * (-sx0d2 + cx0d2 * lg_cotpi (x_idiff)));
     }
 
-  long double log_gamma_ratio;
-  long double y0 = 1 - x0_hi;
-  long double y0_eps = -x0_hi + (1 - y0) - x0_lo;
-  long double y = 1 - x;
-  long double y_eps = -x + (1 - y);
+  ldouble_t log_gamma_ratio;
+  ldouble_t y0 = 1 - x0_hi;
+  ldouble_t y0_eps = -x0_hi + (1 - y0) - x0_lo;
+  ldouble_t y = 1 - x;
+  ldouble_t y_eps = -x + (1 - y);
   /* We now wish to compute LOG_GAMMA_RATIO
      = log (gamma (Y0 + Y0_EPS) / gamma (Y + Y_EPS)).  XDIFF
      accurately approximates the difference Y0 + Y0_EPS - Y -
      Y_EPS.  Use Stirling's approximation.  First, we may need to
      adjust into the range where Stirling's approximation is
      sufficiently accurate.  */
-  long double log_gamma_adj = 0;
+  ldouble_t log_gamma_adj = 0;
   if (i < 20)
     {
       int n_up = (21 - i) / 2;
-      long double ny0, ny0_eps, ny, ny_eps;
+      ldouble_t ny0, ny0_eps, ny, ny_eps;
       ny0 = y0 + n_up;
       ny0_eps = y0 - (ny0 - n_up) + y0_eps;
       y0 = ny0;
@@ -521,28 +521,28 @@ __lgamma_negl (long double x, int *signgamp)
       ny_eps = y - (ny - n_up) + y_eps;
       y = ny;
       y_eps = ny_eps;
-      long double prodm1 = __lgamma_productl (xdiff, y - n_up, y_eps, n_up);
+      ldouble_t prodm1 = __lgamma_productl (xdiff, y - n_up, y_eps, n_up);
       log_gamma_adj = -__log1pl (prodm1);
     }
-  long double log_gamma_high
+  ldouble_t log_gamma_high
     = (xdiff * __log1pl ((y0 - e_hi - e_lo + y0_eps) / e_hi)
        + (y - 0.5L + y_eps) * __log1pl (xdiff / y) + log_gamma_adj);
   /* Compute the sum of (B_2k / 2k(2k-1))(Y0^-(2k-1) - Y^-(2k-1)).  */
-  long double y0r = 1 / y0, yr = 1 / y;
-  long double y0r2 = y0r * y0r, yr2 = yr * yr;
-  long double rdiff = -xdiff / (y * y0);
-  long double bterm[NCOEFF];
-  long double dlast = rdiff, elast = rdiff * yr * (yr + y0r);
+  ldouble_t y0r = 1 / y0, yr = 1 / y;
+  ldouble_t y0r2 = y0r * y0r, yr2 = yr * yr;
+  ldouble_t rdiff = -xdiff / (y * y0);
+  ldouble_t bterm[NCOEFF];
+  ldouble_t dlast = rdiff, elast = rdiff * yr * (yr + y0r);
   bterm[0] = dlast * lgamma_coeff[0];
   for (size_t j = 1; j < NCOEFF; j++)
     {
-      long double dnext = dlast * y0r2 + elast;
-      long double enext = elast * yr2;
+      ldouble_t dnext = dlast * y0r2 + elast;
+      ldouble_t enext = elast * yr2;
       bterm[j] = dnext * lgamma_coeff[j];
       dlast = dnext;
       elast = enext;
     }
-  long double log_gamma_low = 0;
+  ldouble_t log_gamma_low = 0;
   for (size_t j = 0; j < NCOEFF; j++)
     log_gamma_low += bterm[NCOEFF - 1 - j];
   log_gamma_ratio = log_gamma_high + log_gamma_low;
diff --git a/sysdeps/ieee754/ldbl-128/lgamma_productl.c b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
index 625e54c..6dcad1e 100644
--- a/sysdeps/ieee754/ldbl-128/lgamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
@@ -28,24 +28,24 @@
    X_EPS / X is small enough that factors quadratic in it can be
    neglected.  */
 
-long double
-__lgamma_productl (long double t, long double x, long double x_eps, int n)
+ldouble_t
+__lgamma_productl (ldouble_t t, ldouble_t x, ldouble_t x_eps, int n)
 {
-  long double ret = 0, ret_eps = 0;
+  ldouble_t ret = 0, ret_eps = 0;
   for (int i = 0; i < n; i++)
     {
-      long double xi = x + i;
-      long double quot = t / xi;
-      long double mhi, mlo;
+      ldouble_t xi = x + i;
+      ldouble_t quot = t / xi;
+      ldouble_t mhi, mlo;
       mul_split (&mhi, &mlo, quot, xi);
-      long double quot_lo = (t - mhi - mlo) / xi - t * x_eps / (xi * xi);
+      ldouble_t quot_lo = (t - mhi - mlo) / xi - t * x_eps / (xi * xi);
       /* We want (1 + RET + RET_EPS) * (1 + QUOT + QUOT_LO) - 1.  */
-      long double rhi, rlo;
+      ldouble_t rhi, rlo;
       mul_split (&rhi, &rlo, ret, quot);
-      long double rpq = ret + quot;
-      long double rpq_eps = (ret - rpq) + quot;
-      long double nret = rpq + rhi;
-      long double nret_eps = (rpq - nret) + rhi;
+      ldouble_t rpq = ret + quot;
+      ldouble_t rpq_eps = (ret - rpq) + quot;
+      ldouble_t nret = rpq + rhi;
+      ldouble_t nret_eps = (rpq - nret) + rhi;
       ret_eps += (rpq_eps + nret_eps + rlo + ret_eps * quot
 		  + quot_lo + quot_lo * (ret + ret_eps));
       ret = nret;
diff --git a/sysdeps/ieee754/ldbl-128/mul_splitl.h b/sysdeps/ieee754/ldbl-128/mul_splitl.h
index dee572d..eb79b42 100644
--- a/sysdeps/ieee754/ldbl-128/mul_splitl.h
+++ b/sysdeps/ieee754/ldbl-128/mul_splitl.h
@@ -31,7 +31,7 @@
    large enough (or zero) that no underflow occurs.  */
 
 static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
+mul_split (ldouble_t *hi, ldouble_t *lo, ldouble_t x, ldouble_t y)
 {
 #ifdef __FMAL
   /* Fast library fused multiply-add, if supported.  */
@@ -41,13 +41,13 @@ mul_split (long double *hi, long double *lo, long double x, long double y)
   /* Apply Dekker's algorithm.  */
   *hi = x * y;
 # define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
+  ldouble_t x1 = x * C;
+  ldouble_t y1 = y * C;
 # undef C
   x1 = (x - x1) + x1;
   y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
+  ldouble_t x2 = x - x1;
+  ldouble_t y2 = y - y1;
   *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
 #endif
 }
diff --git a/sysdeps/ieee754/ldbl-128/s_asinhl.c b/sysdeps/ieee754/ldbl-128/s_asinhl.c
index 5f3b9f2..91e29d0 100644
--- a/sysdeps/ieee754/ldbl-128/s_asinhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_asinhl.c
@@ -33,15 +33,15 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
   one = 1.0L,
   ln2 = 6.931471805599453094172321214581765681e-1L,
   huge = 1.0e+4900L;
 
-long double
-__asinhl (long double x)
+ldouble_t
+__asinhl (ldouble_t x)
 {
-  long double t, w;
+  ldouble_t t, w;
   int32_t ix, sign;
   ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/s_atanl.c b/sysdeps/ieee754/ldbl-128/s_atanl.c
index 35577a8..747031e 100644
--- a/sysdeps/ieee754/ldbl-128/s_atanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_atanl.c
@@ -64,7 +64,7 @@
 #include <math_private.h>
 
 /* arctan(k/8), k = 0, ..., 82 */
-static const long double atantbl[84] = {
+static const ldouble_t atantbl[84] = {
   0.0000000000000000000000000000000000000000E0L,
   1.2435499454676143503135484916387102557317E-1L, /* arctan(0.125)  */
   2.4497866312686415417208248121127581091414E-1L,
@@ -156,7 +156,7 @@ static const long double atantbl[84] = {
    |t| <= 0.09375
    peak relative error 5.3e-37 */
 
-static const long double
+static const ldouble_t
   p0 = -4.283708356338736809269381409828726405572E1L,
   p1 = -8.636132499244548540964557273544599863825E1L,
   p2 = -5.713554848244551350855604111031839613216E1L,
@@ -169,13 +169,13 @@ static const long double
   q4 = 2.173623741810414221251136181221172551416E1L;
   /* q5 = 1.000000000000000000000000000000000000000E0 */
 
-static const long double huge = 1.0e4930L;
+static const ldouble_t huge = 1.0e4930L;
 
-long double
-__atanl (long double x)
+ldouble_t
+__atanl (ldouble_t x)
 {
   int k, sign;
-  long double t, u, p, q;
+  ldouble_t t, u, p, q;
   ieee854_long_double_shape_type s;
 
   s.value = x;
diff --git a/sysdeps/ieee754/ldbl-128/s_cbrtl.c b/sysdeps/ieee754/ldbl-128/s_cbrtl.c
index c3ae968..b876c6e 100644
--- a/sysdeps/ieee754/ldbl-128/s_cbrtl.c
+++ b/sysdeps/ieee754/ldbl-128/s_cbrtl.c
@@ -57,17 +57,17 @@ Adapted for glibc October, 2001.
 #include <math.h>
 #include <math_private.h>
 
-static const long double CBRT2 = 1.259921049894873164767210607278228350570251L;
-static const long double CBRT4 = 1.587401051968199474751705639272308260391493L;
-static const long double CBRT2I = 0.7937005259840997373758528196361541301957467L;
-static const long double CBRT4I = 0.6299605249474365823836053036391141752851257L;
+static const ldouble_t CBRT2 = 1.259921049894873164767210607278228350570251L;
+static const ldouble_t CBRT4 = 1.587401051968199474751705639272308260391493L;
+static const ldouble_t CBRT2I = 0.7937005259840997373758528196361541301957467L;
+static const ldouble_t CBRT4I = 0.6299605249474365823836053036391141752851257L;
 
 
-long double
-__cbrtl (long double x)
+ldouble_t
+__cbrtl (ldouble_t x)
 {
   int e, rem, sign;
-  long double z;
+  ldouble_t z;
 
   if (!isfinite (x))
     return x + x;
diff --git a/sysdeps/ieee754/ldbl-128/s_ceill.c b/sysdeps/ieee754/ldbl-128/s_ceill.c
index 6b73673..044cf81 100644
--- a/sysdeps/ieee754/ldbl-128/s_ceill.c
+++ b/sysdeps/ieee754/ldbl-128/s_ceill.c
@@ -27,7 +27,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double __ceill(long double x)
+ldouble_t __ceill(ldouble_t x)
 {
 	int64_t i0,i1,j0;
 	u_int64_t i,j;
diff --git a/sysdeps/ieee754/ldbl-128/s_copysignl.c b/sysdeps/ieee754/ldbl-128/s_copysignl.c
index 19b6880..2d1f6f4 100644
--- a/sysdeps/ieee754/ldbl-128/s_copysignl.c
+++ b/sysdeps/ieee754/ldbl-128/s_copysignl.c
@@ -1,5 +1,5 @@
-/* s_copysignl.c -- long double version of s_copysign.c.
- * Conversion to long double by Jakub Jelinek, jj@ultra.linux.cz.
+/* s_copysignl.c -- ldouble_t version of s_copysign.c.
+ * Conversion to ldouble_t by Jakub Jelinek, jj@ultra.linux.cz.
  */
 
 /*
@@ -18,7 +18,7 @@ static char rcsid[] = "$NetBSD: $";
 #endif
 
 /*
- * copysignl(long double x, long double y)
+ * copysignl(ldouble_t x, ldouble_t y)
  * copysignl(x,y) returns a value with the magnitude of x and
  * with the sign bit of y.
  */
@@ -26,7 +26,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double __copysignl(long double x, long double y)
+ldouble_t __copysignl(ldouble_t x, ldouble_t y)
 {
 	u_int64_t hx,hy;
 	GET_LDOUBLE_MSW64(hx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_cosl.c b/sysdeps/ieee754/ldbl-128/s_cosl.c
index 2c3bff6..b3a96c1 100644
--- a/sysdeps/ieee754/ldbl-128/s_cosl.c
+++ b/sysdeps/ieee754/ldbl-128/s_cosl.c
@@ -48,9 +48,9 @@
 #include <math.h>
 #include <math_private.h>
 
-long double __cosl(long double x)
+ldouble_t __cosl(ldouble_t x)
 {
-	long double y[2],z=0.0L;
+	ldouble_t y[2],z=0.0L;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/s_erfl.c b/sysdeps/ieee754/ldbl-128/s_erfl.c
index dd275a7..26e9cda 100644
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
@@ -103,10 +103,10 @@
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-neval (long double x, const long double *p, int n)
+static ldouble_t
+neval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = *p--;
@@ -121,10 +121,10 @@ neval (long double x, const long double *p, int n)
 
 /* Evaluate x^n+1  +  P[n] x^(n)  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
 
-static long double
-deval (long double x, const long double *p, int n)
+static ldouble_t
+deval (ldouble_t x, const ldouble_t *p, int n)
 {
-  long double y;
+  ldouble_t y;
 
   p += n;
   y = x + *p--;
@@ -138,7 +138,7 @@ deval (long double x, const long double *p, int n)
 
 
 
-static const long double
+static const ldouble_t
 tiny = 1e-4931L,
   one = 1.0L,
   two = 2.0L,
@@ -150,7 +150,7 @@ tiny = 1e-4931L,
    0 <= x <= 7/8
    Peak relative error 1.8e-35  */
 #define NTN1 8
-static const long double TN1[NTN1 + 1] =
+static const ldouble_t TN1[NTN1 + 1] =
 {
  -3.858252324254637124543172907442106422373E10L,
   9.580319248590464682316366876952214879858E10L,
@@ -163,7 +163,7 @@ static const long double TN1[NTN1 + 1] =
   3.390868480059991640235675479463287886081E1L
 };
 #define NTD1 8
-static const long double TD1[NTD1 + 1] =
+static const ldouble_t TD1[NTD1 + 1] =
 {
   -3.005357030696532927149885530689529032152E11L,
   -1.342602283126282827411658673839982164042E11L,
@@ -181,9 +181,9 @@ static const long double TD1[NTD1 + 1] =
 /* erf(z+1)  = erf_const + P(z)/Q(z)
    -.125 <= z <= 0
    Peak relative error 7.3e-36  */
-static const long double erf_const = 0.845062911510467529296875L;
+static const ldouble_t erf_const = 0.845062911510467529296875L;
 #define NTN2 8
-static const long double TN2[NTN2 + 1] =
+static const ldouble_t TN2[NTN2 + 1] =
 {
  -4.088889697077485301010486931817357000235E1L,
   7.157046430681808553842307502826960051036E3L,
@@ -196,7 +196,7 @@ static const long double TN2[NTN2 + 1] =
   5.127662277706787664956025545897050896203E-1L
 };
 #define NTD2 8
-static const long double TD2[NTD2 + 1] =
+static const ldouble_t TD2[NTD2 + 1] =
 {
   1.731026445926834008273768924015161048885E4L,
   1.209682239007990370796112604286048173750E4L,
@@ -215,7 +215,7 @@ static const long double TD2[NTD2 + 1] =
    0 <= x < 0.125
    Peak relative error 1.4e-35  */
 #define NRNr13 8
-static const long double RNr13[NRNr13 + 1] =
+static const ldouble_t RNr13[NRNr13 + 1] =
 {
  -2.353707097641280550282633036456457014829E3L,
   3.871159656228743599994116143079870279866E2L,
@@ -228,7 +228,7 @@ static const long double RNr13[NRNr13 + 1] =
  -8.098602878463854789780108161581050357814E-2L
 };
 #define NRDr13 7
-static const long double RDr13[NRDr13 + 1] =
+static const ldouble_t RDr13[NRDr13 + 1] =
 {
   2.220448796306693503549505450626652881752E3L,
   1.899133258779578688791041599040951431383E2L,
@@ -241,15 +241,15 @@ static const long double RDr13[NRDr13 + 1] =
  /* 1.0E0 */
 };
 /* erfc(0.25) = C13a + C13b to extra precision.  */
-static const long double C13a = 0.723663330078125L;
-static const long double C13b = 1.0279753638067014931732235184287934646022E-5L;
+static const ldouble_t C13a = 0.723663330078125L;
+static const ldouble_t C13b = 1.0279753638067014931732235184287934646022E-5L;
 
 
 /* erfc(x + 0.375) = erfc(0.375) + x R(x)
    0 <= x < 0.125
    Peak relative error 1.2e-35  */
 #define NRNr14 8
-static const long double RNr14[NRNr14 + 1] =
+static const ldouble_t RNr14[NRNr14 + 1] =
 {
  -2.446164016404426277577283038988918202456E3L,
   6.718753324496563913392217011618096698140E2L,
@@ -262,7 +262,7 @@ static const long double RNr14[NRNr14 + 1] =
  -2.230395570574153963203348263549700967918E-2L
 };
 #define NRDr14 7
-static const long double RDr14[NRDr14 + 1] =
+static const ldouble_t RDr14[NRDr14 + 1] =
 {
   2.495187439241869732696223349840963702875E3L,
   2.503549449872925580011284635695738412162E2L,
@@ -275,14 +275,14 @@ static const long double RDr14[NRDr14 + 1] =
  /* 1.0E0 */
 };
 /* erfc(0.375) = C14a + C14b to extra precision.  */
-static const long double C14a = 0.5958709716796875L;
-static const long double C14b = 1.2118885490201676174914080878232469565953E-5L;
+static const ldouble_t C14a = 0.5958709716796875L;
+static const ldouble_t C14b = 1.2118885490201676174914080878232469565953E-5L;
 
 /* erfc(x + 0.5) = erfc(0.5) + x R(x)
    0 <= x < 0.125
    Peak relative error 4.7e-36  */
 #define NRNr15 8
-static const long double RNr15[NRNr15 + 1] =
+static const ldouble_t RNr15[NRNr15 + 1] =
 {
  -2.624212418011181487924855581955853461925E3L,
   8.473828904647825181073831556439301342756E2L,
@@ -295,7 +295,7 @@ static const long double RNr15[NRNr15 + 1] =
   1.990253655948179713415957791776180406812E-2L
 };
 #define NRDr15 7
-static const long double RDr15[NRDr15 + 1] =
+static const ldouble_t RDr15[NRDr15 + 1] =
 {
   2.986190760847974943034021764693341524962E3L,
   5.288262758961073066335410218650047725985E2L,
@@ -308,14 +308,14 @@ static const long double RDr15[NRDr15 + 1] =
   /* 1.0E0 */
 };
 /* erfc(0.5) = C15a + C15b to extra precision.  */
-static const long double C15a = 0.4794921875L;
-static const long double C15b = 7.9346869534623172533461080354712635484242E-6L;
+static const ldouble_t C15a = 0.4794921875L;
+static const ldouble_t C15b = 7.9346869534623172533461080354712635484242E-6L;
 
 /* erfc(x + 0.625) = erfc(0.625) + x R(x)
    0 <= x < 0.125
    Peak relative error 5.1e-36  */
 #define NRNr16 8
-static const long double RNr16[NRNr16 + 1] =
+static const ldouble_t RNr16[NRNr16 + 1] =
 {
  -2.347887943200680563784690094002722906820E3L,
   8.008590660692105004780722726421020136482E2L,
@@ -328,7 +328,7 @@ static const long double RNr16[NRNr16 + 1] =
   2.022958279982138755020825717073966576670E-2L,
 };
 #define NRDr16 7
-static const long double RDr16[NRDr16 + 1] =
+static const ldouble_t RDr16[NRDr16 + 1] =
 {
   3.075166170024837215399323264868308087281E3L,
   8.730468942160798031608053127270430036627E2L,
@@ -341,14 +341,14 @@ static const long double RDr16[NRDr16 + 1] =
   /* 1.0E0 */
 };
 /* erfc(0.625) = C16a + C16b to extra precision.  */
-static const long double C16a = 0.3767547607421875L;
-static const long double C16b = 4.3570693945275513594941232097252997287766E-6L;
+static const ldouble_t C16a = 0.3767547607421875L;
+static const ldouble_t C16b = 4.3570693945275513594941232097252997287766E-6L;
 
 /* erfc(x + 0.75) = erfc(0.75) + x R(x)
    0 <= x < 0.125
    Peak relative error 1.7e-35  */
 #define NRNr17 8
-static const long double RNr17[NRNr17 + 1] =
+static const ldouble_t RNr17[NRNr17 + 1] =
 {
   -1.767068734220277728233364375724380366826E3L,
   6.693746645665242832426891888805363898707E2L,
@@ -361,7 +361,7 @@ static const long double RNr17[NRNr17 + 1] =
   -1.488945487149634820537348176770282391202E-2L
 };
 #define NRDr17 7
-static const long double RDr17[NRDr17 + 1] =
+static const ldouble_t RDr17[NRDr17 + 1] =
 {
   2.748457523498150741964464942246913394647E3L,
   1.020213390713477686776037331757871252652E3L,
@@ -374,15 +374,15 @@ static const long double RDr17[NRDr17 + 1] =
   /* 1.0E0 */
 };
 /* erfc(0.75) = C17a + C17b to extra precision.  */
-static const long double C17a = 0.2888336181640625L;
-static const long double C17b = 1.0748182422368401062165408589222625794046E-5L;
+static const ldouble_t C17a = 0.2888336181640625L;
+static const ldouble_t C17b = 1.0748182422368401062165408589222625794046E-5L;
 
 
 /* erfc(x + 0.875) = erfc(0.875) + x R(x)
    0 <= x < 0.125
    Peak relative error 2.2e-35  */
 #define NRNr18 8
-static const long double RNr18[NRNr18 + 1] =
+static const ldouble_t RNr18[NRNr18 + 1] =
 {
  -1.342044899087593397419622771847219619588E3L,
   6.127221294229172997509252330961641850598E2L,
@@ -395,7 +395,7 @@ static const long double RNr18[NRNr18 + 1] =
  -5.557645435858916025452563379795159124753E-2L
 };
 #define NRDr18 7
-static const long double RDr18[NRDr18 + 1] =
+static const ldouble_t RDr18[NRDr18 + 1] =
 {
   2.557518000661700588758505116291983092951E3L,
   1.070171433382888994954602511991940418588E3L,
@@ -408,14 +408,14 @@ static const long double RDr18[NRDr18 + 1] =
   /* 1.0E0 */
 };
 /* erfc(0.875) = C18a + C18b to extra precision.  */
-static const long double C18a = 0.215911865234375L;
-static const long double C18b = 1.3073705765341685464282101150637224028267E-5L;
+static const ldouble_t C18a = 0.215911865234375L;
+static const ldouble_t C18b = 1.3073705765341685464282101150637224028267E-5L;
 
 /* erfc(x + 1.0) = erfc(1.0) + x R(x)
    0 <= x < 0.125
    Peak relative error 1.6e-35  */
 #define NRNr19 8
-static const long double RNr19[NRNr19 + 1] =
+static const ldouble_t RNr19[NRNr19 + 1] =
 {
  -1.139180936454157193495882956565663294826E3L,
   6.134903129086899737514712477207945973616E2L,
@@ -428,7 +428,7 @@ static const long double RNr19[NRNr19 + 1] =
  -8.629945436917752003058064731308767664446E-2L
 };
 #define NRDr19 7
-static const long double RDr19[NRDr19 + 1] =
+static const ldouble_t RDr19[NRDr19 + 1] =
 {
   2.744303447981132701432716278363418643778E3L,
   1.266396359526187065222528050591302171471E3L,
@@ -441,14 +441,14 @@ static const long double RDr19[NRDr19 + 1] =
   /* 1.0E0 */
 };
 /* erfc(1.0) = C19a + C19b to extra precision.  */
-static const long double C19a = 0.15728759765625L;
-static const long double C19b = 1.1609394035130658779364917390740703933002E-5L;
+static const ldouble_t C19a = 0.15728759765625L;
+static const ldouble_t C19b = 1.1609394035130658779364917390740703933002E-5L;
 
 /* erfc(x + 1.125) = erfc(1.125) + x R(x)
    0 <= x < 0.125
    Peak relative error 3.6e-36  */
 #define NRNr20 8
-static const long double RNr20[NRNr20 + 1] =
+static const ldouble_t RNr20[NRNr20 + 1] =
 {
  -9.652706916457973956366721379612508047640E2L,
   5.577066396050932776683469951773643880634E2L,
@@ -461,7 +461,7 @@ static const long double RNr20[NRNr20 + 1] =
  -9.611744011489092894027478899545635991213E-2L
 };
 #define NRDr20 7
-static const long double RDr20[NRDr20 + 1] =
+static const ldouble_t RDr20[NRDr20 + 1] =
 {
   3.032829629520142564106649167182428189014E3L,
   1.659648470721967719961167083684972196891E3L,
@@ -474,14 +474,14 @@ static const long double RDr20[NRDr20 + 1] =
  /* 1.0E0 */
 };
 /* erfc(1.125) = C20a + C20b to extra precision.  */
-static const long double C20a = 0.111602783203125L;
-static const long double C20b = 8.9850951672359304215530728365232161564636E-6L;
+static const ldouble_t C20a = 0.111602783203125L;
+static const ldouble_t C20b = 8.9850951672359304215530728365232161564636E-6L;
 
 /* erfc(1/x) = 1/x exp (-1/x^2 - 0.5625 + R(1/x^2))
    7/8 <= 1/x < 1
    Peak relative error 1.4e-35  */
 #define NRNr8 9
-static const long double RNr8[NRNr8 + 1] =
+static const ldouble_t RNr8[NRNr8 + 1] =
 {
   3.587451489255356250759834295199296936784E1L,
   5.406249749087340431871378009874875889602E2L,
@@ -495,7 +495,7 @@ static const long double RNr8[NRNr8 + 1] =
   4.876422978828717219629814794707963640913E-2L
 };
 #define NRDr8 8
-static const long double RDr8[NRDr8 + 1] =
+static const ldouble_t RDr8[NRDr8 + 1] =
 {
   6.358593134096908350929496535931630140282E1L,
   9.900253816552450073757174323424051765523E2L,
@@ -513,7 +513,7 @@ static const long double RDr8[NRDr8 + 1] =
    0.75 <= 1/x <= 0.875
    Peak relative error 2.0e-36  */
 #define NRNr7 9
-static const long double RNr7[NRNr7 + 1] =
+static const ldouble_t RNr7[NRNr7 + 1] =
 {
  1.686222193385987690785945787708644476545E1L,
  1.178224543567604215602418571310612066594E3L,
@@ -527,7 +527,7 @@ static const long double RNr7[NRNr7 + 1] =
  6.700393957480661937695573729183733234400E2L
 };
 #define NRDr7 9
-static const long double RDr7[NRDr7 + 1] =
+static const ldouble_t RDr7[NRDr7 + 1] =
 {
 -1.709305024718358874701575813642933561169E3L,
 -3.280033887481333199580464617020514788369E4L,
@@ -546,7 +546,7 @@ static const long double RDr7[NRDr7 + 1] =
    5/8 <= 1/x < 3/4
    Peak relative error 1.9e-35  */
 #define NRNr6 9
-static const long double RNr6[NRNr6 + 1] =
+static const ldouble_t RNr6[NRNr6 + 1] =
 {
  1.642076876176834390623842732352935761108E0L,
  1.207150003611117689000664385596211076662E2L,
@@ -560,7 +560,7 @@ static const long double RNr6[NRNr6 + 1] =
  4.506934806567986810091824791963991057083E2L
 };
 #define NRDr6 9
-static const long double RDr6[NRDr6 + 1] =
+static const ldouble_t RDr6[NRDr6 + 1] =
 {
 -1.664557643928263091879301304019826629067E2L,
 -3.800035902507656624590531122291160668452E3L,
@@ -579,7 +579,7 @@ static const long double RDr6[NRDr6 + 1] =
    1/2 <= 1/x < 5/8
    Peak relative error 4.6e-36  */
 #define NRNr5 10
-static const long double RNr5[NRNr5 + 1] =
+static const ldouble_t RNr5[NRNr5 + 1] =
 {
 -3.332258927455285458355550878136506961608E-3L,
 -2.697100758900280402659586595884478660721E-1L,
@@ -594,7 +594,7 @@ static const long double RNr5[NRNr5 + 1] =
 -2.077715925587834606379119585995758954399E0L
 };
 #define NRDr5 9
-static const long double RDr5[NRDr5 + 1] =
+static const ldouble_t RDr5[NRDr5 + 1] =
 {
  3.377879570417399341550710467744693125385E-1L,
  1.021963322742390735430008860602594456187E1L,
@@ -613,7 +613,7 @@ static const long double RDr5[NRDr5 + 1] =
    3/8 <= 1/x < 1/2
    Peak relative error 2.0e-36  */
 #define NRNr4 10
-static const long double RNr4[NRNr4 + 1] =
+static const ldouble_t RNr4[NRNr4 + 1] =
 {
  3.258530712024527835089319075288494524465E-3L,
  2.987056016877277929720231688689431056567E-1L,
@@ -628,7 +628,7 @@ static const long double RNr4[NRNr4 + 1] =
  2.127493573166454249221983582495245662319E2L
 };
 #define NRDr4 10
-static const long double RDr4[NRDr4 + 1] =
+static const ldouble_t RDr4[NRDr4 + 1] =
 {
 -3.303141981514540274165450687270180479586E-1L,
 -1.353768629363605300707949368917687066724E1L,
@@ -648,7 +648,7 @@ static const long double RDr4[NRDr4 + 1] =
    1/4 <= 1/x < 3/8
    Peak relative error 8.4e-37  */
 #define NRNr3 11
-static const long double RNr3[NRNr3 + 1] =
+static const ldouble_t RNr3[NRNr3 + 1] =
 {
 -1.952401126551202208698629992497306292987E-6L,
 -2.130881743066372952515162564941682716125E-4L,
@@ -664,7 +664,7 @@ static const long double RNr3[NRNr3 + 1] =
 -1.787995944187565676837847610706317833247E0L
 };
 #define NRDr3 10
-static const long double RDr3[NRDr3 + 1] =
+static const ldouble_t RDr3[NRDr3 + 1] =
 {
  1.979130686770349481460559711878399476903E-4L,
  1.156941716128488266238105813374635099057E-2L,
@@ -684,7 +684,7 @@ static const long double RDr3[NRDr3 + 1] =
    1/8 <= 1/x < 1/4
    Peak relative error 1.5e-36  */
 #define NRNr2 11
-static const long double RNr2[NRNr2 + 1] =
+static const ldouble_t RNr2[NRNr2 + 1] =
 {
 -2.638914383420287212401687401284326363787E-8L,
 -3.479198370260633977258201271399116766619E-6L,
@@ -700,7 +700,7 @@ static const long double RNr2[NRNr2 + 1] =
 -1.572436106228070195510230310658206154374E0L
 };
 #define NRDr2 10
-static const long double RDr2[NRDr2 + 1] =
+static const ldouble_t RDr2[NRDr2 + 1] =
 {
  2.675042728136731923554119302571867799673E-6L,
  2.170997868451812708585443282998329996268E-4L,
@@ -720,7 +720,7 @@ static const long double RDr2[NRDr2 + 1] =
    1/128 <= 1/x < 1/8
    Peak relative error 2.2e-36  */
 #define NRNr1 9
-static const long double RNr1[NRNr1 + 1] =
+static const ldouble_t RNr1[NRNr1 + 1] =
 {
 -4.250780883202361946697751475473042685782E-8L,
 -5.375777053288612282487696975623206383019E-6L,
@@ -734,7 +734,7 @@ static const long double RNr1[NRNr1 + 1] =
 -1.290865243944292370661544030414667556649E0L
 };
 #define NRDr1 8
-static const long double RDr1[NRDr1 + 1] =
+static const ldouble_t RDr1[NRDr1 + 1] =
 {
  4.308976661749509034845251315983612976224E-6L,
  3.265390126432780184125233455960049294580E-4L,
@@ -749,10 +749,10 @@ static const long double RDr1[NRDr1 + 1] =
 };
 
 
-long double
-__erfl (long double x)
+ldouble_t
+__erfl (ldouble_t x)
 {
-  long double a, y, z;
+  ldouble_t a, y, z;
   int32_t i, ix, sign;
   ieee854_long_double_shape_type u;
 
@@ -763,7 +763,7 @@ __erfl (long double x)
   if (ix >= 0x7fff0000)
     {				/* erf(nan)=nan */
       i = ((sign & 0xffff0000) >> 31) << 1;
-      return (long double) (1 - i) + one / x;	/* erf(+-inf)=+-1 */
+      return (ldouble_t) (1 - i) + one / x;	/* erf(+-inf)=+-1 */
     }
 
   if (ix >= 0x3fff0000) /* |x| >= 1.0 */
@@ -784,7 +784,7 @@ __erfl (long double x)
 	  if (ix < 0x00080000)
 	    {
 	      /* Avoid spurious underflow.  */
-	      long double ret =  0.0625 * (16.0 * x + (16.0 * efx) * x);
+	      ldouble_t ret =  0.0625 * (16.0 * x + (16.0 * efx) * x);
 	      math_check_force_underflow (ret);
 	      return ret;
 	    }
@@ -804,10 +804,10 @@ __erfl (long double x)
 }
 
 weak_alias (__erfl, erfl)
-long double
-__erfcl (long double x)
+ldouble_t
+__erfcl (ldouble_t x)
 {
-  long double y, z, p, r;
+  ldouble_t y, z, p, r;
   int32_t i, ix, sign;
   ieee854_long_double_shape_type u;
 
@@ -819,7 +819,7 @@ __erfcl (long double x)
   if (ix >= 0x7fff0000)
     {				/* erfc(nan)=nan */
       /* erfc(+-inf)=0,2 */
-      return (long double) (((u_int32_t) sign >> 31) << 1) + one / x;
+      return (ldouble_t) (((u_int32_t) sign >> 31) << 1) + one / x;
     }
 
   if (ix < 0x3ffd0000) /* |x| <1/4 */
@@ -925,7 +925,7 @@ __erfcl (long double x)
 	__ieee754_expl ((z - x) * (z + x) + p);
       if ((sign & 0x80000000) == 0)
 	{
-	  long double ret = r / x;
+	  ldouble_t ret = r / x;
 	  if (ret == 0)
 	    __set_errno (ERANGE);
 	  return ret;
diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c
index da902ef..8a32db3 100644
--- a/sysdeps/ieee754/ldbl-128/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c
@@ -62,7 +62,7 @@
    -.5 ln 2  <  x  <  .5 ln 2
    Theoretical peak relative error = 8.1e-36  */
 
-static const long double
+static const ldouble_t
   P0 = 2.943520915569954073888921213330863757240E8L,
   P1 = -5.722847283900608941516165725053359168840E7L,
   P2 = 8.944630806357575461578107295909719817253E6L,
@@ -88,10 +88,10 @@ static const long double
   minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e4932L;
 
 
-long double
-__expm1l (long double x)
+ldouble_t
+__expm1l (ldouble_t x)
 {
-  long double px, qx, xx;
+  ldouble_t px, qx, xx;
   int32_t ix, sign;
   ieee854_long_double_shape_type u;
   int k;
diff --git a/sysdeps/ieee754/ldbl-128/s_fabsl.c b/sysdeps/ieee754/ldbl-128/s_fabsl.c
index a1bb6c5..934d9a9 100644
--- a/sysdeps/ieee754/ldbl-128/s_fabsl.c
+++ b/sysdeps/ieee754/ldbl-128/s_fabsl.c
@@ -24,7 +24,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double __fabsl(long double x)
+ldouble_t __fabsl(ldouble_t x)
 {
 	u_int64_t hx;
 	GET_LDOUBLE_MSW64(hx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c
index 25450ba..d5114d5 100644
--- a/sysdeps/ieee754/ldbl-128/s_finitel.c
+++ b/sysdeps/ieee754/ldbl-128/s_finitel.c
@@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-int __finitel(long double x)
+int __finitel(ldouble_t x)
 {
 	int64_t hx;
 	GET_LDOUBLE_MSW64(hx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_floorl.c b/sysdeps/ieee754/ldbl-128/s_floorl.c
index 14a0efe..57a7220 100644
--- a/sysdeps/ieee754/ldbl-128/s_floorl.c
+++ b/sysdeps/ieee754/ldbl-128/s_floorl.c
@@ -27,7 +27,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double __floorl(long double x)
+ldouble_t __floorl(ldouble_t x)
 {
 	int64_t i0,i1,j0;
 	u_int64_t i,j;
diff --git a/sysdeps/ieee754/ldbl-128/s_fmal.c b/sysdeps/ieee754/ldbl-128/s_fmal.c
index 728949c..69507b0 100644
--- a/sysdeps/ieee754/ldbl-128/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-128/s_fmal.c
@@ -28,8 +28,8 @@
    double rounding.  See a paper by Boldo and Melquiond:
    http://www.lri.fr/~melquion/doc/08-tc.pdf  */
 
-long double
-__fmal (long double x, long double y, long double z)
+ldouble_t
+__fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 {
   union ieee854_long_double u, v, w;
   int adjust = 0;
@@ -75,7 +75,7 @@ __fmal (long double x, long double y, long double z)
 	  < IEEE854_LONG_DOUBLE_BIAS - LDBL_MANT_DIG - 2)
 	{
 	  int neg = u.ieee.negative ^ v.ieee.negative;
-	  long double tiny = neg ? -0x1p-16494L : 0x1p-16494L;
+	  ldouble_t tiny = neg ? -0x1p-16494L : 0x1p-16494L;
 	  if (w.ieee.exponent >= 3)
 	    return tiny + z;
 	  /* Scaling up, adding TINY and scaling down produces the
@@ -94,7 +94,7 @@ __fmal (long double x, long double y, long double z)
 		     && w.ieee.mantissa1 == 0
 		     && w.ieee.mantissa0 == 0)))
 	    {
-	      long double force_underflow = x * y;
+	      ldouble_t force_underflow = x * y;
 	      math_force_eval (force_underflow);
 	    }
 	  return v.d * 0x1p-114L;
@@ -190,22 +190,22 @@ __fmal (long double x, long double y, long double z)
 
   /* Multiplication m1 + m2 = x * y using Dekker's algorithm.  */
 #define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-  long double m1 = x * y;
+  ldouble_t x1 = x * C;
+  ldouble_t y1 = y * C;
+  ldouble_t m1 = x * y;
   x1 = (x - x1) + x1;
   y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  long double m2 = (((x1 * y1 - m1) + x1 * y2) + x2 * y1) + x2 * y2;
+  ldouble_t x2 = x - x1;
+  ldouble_t y2 = y - y1;
+  ldouble_t m2 = (((x1 * y1 - m1) + x1 * y2) + x2 * y1) + x2 * y2;
 
   /* Addition a1 + a2 = z + m1 using Knuth's algorithm.  */
-  long double a1 = z + m1;
-  long double t1 = a1 - z;
-  long double t2 = a1 - t1;
+  ldouble_t a1 = z + m1;
+  ldouble_t t1 = a1 - z;
+  ldouble_t t2 = a1 - t1;
   t1 = m1 - t1;
   t2 = z - t2;
-  long double a2 = t1 + t2;
+  ldouble_t a2 = t1 + t2;
   /* Ensure the arithmetic is not scheduled after feclearexcept call.  */
   math_force_eval (m2);
   math_force_eval (a2);
diff --git a/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c b/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c
index c89686f..fd179ba 100644
--- a/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c
+++ b/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c
@@ -24,7 +24,7 @@
 
 
 int
-__fpclassifyl (long double x)
+__fpclassifyl (ldouble_t x)
 {
   u_int64_t hx, lx;
   int retval = FP_NORMAL;
diff --git a/sysdeps/ieee754/ldbl-128/s_frexpl.c b/sysdeps/ieee754/ldbl-128/s_frexpl.c
index 70b2d3a..12a3fb7 100644
--- a/sysdeps/ieee754/ldbl-128/s_frexpl.c
+++ b/sysdeps/ieee754/ldbl-128/s_frexpl.c
@@ -20,7 +20,7 @@ static char rcsid[] = "$NetBSD: $";
 /*
  * for non-zero x
  *	x = frexpl(arg,&exp);
- * return a long double fp quantity x such that 0.5 <= |x| <1.0
+ * return a ldouble_t fp quantity x such that 0.5 <= |x| <1.0
  * and the corresponding binary exponent "exp". That is
  *	arg = x*2^exp.
  * If arg is inf, 0.0, or NaN, then frexpl(arg,&exp) returns arg
@@ -30,10 +30,10 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 two114 = 2.0769187434139310514121985316880384E+34L; /* 0x4071000000000000, 0 */
 
-long double __frexpl(long double x, int *eptr)
+ldouble_t __frexpl(ldouble_t x, int *eptr)
 {
 	u_int64_t hx, lx, ix;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c
index 0066a57..f623e45 100644
--- a/sysdeps/ieee754/ldbl-128/s_isinfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c
@@ -17,7 +17,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 
 int
-__isinfl (long double x)
+__isinfl (ldouble_t x)
 {
 	int64_t hx,lx;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c
index 297a669..dced4c0 100644
--- a/sysdeps/ieee754/ldbl-128/s_isnanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c
@@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-int __isnanl(long double x)
+int __isnanl(ldouble_t x)
 {
 	int64_t hx,lx;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_issignalingl.c b/sysdeps/ieee754/ldbl-128/s_issignalingl.c
index c06f14d..950b3f1 100644
--- a/sysdeps/ieee754/ldbl-128/s_issignalingl.c
+++ b/sysdeps/ieee754/ldbl-128/s_issignalingl.c
@@ -20,7 +20,7 @@
 #include <math_private.h>
 
 int
-__issignalingl (long double x)
+__issignalingl (ldouble_t x)
 {
   u_int64_t hxi, lxi __attribute__ ((unused));
   GET_LDOUBLE_WORDS64 (hxi, lxi, x);
diff --git a/sysdeps/ieee754/ldbl-128/s_llrintl.c b/sysdeps/ieee754/ldbl-128/s_llrintl.c
index 84fc576..58138bf 100644
--- a/sysdeps/ieee754/ldbl-128/s_llrintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_llrintl.c
@@ -26,19 +26,19 @@
 #include <math_private.h>
 #include <fix-fp-int-convert-overflow.h>
 
-static const long double two112[2] =
+static const ldouble_t two112[2] =
 {
   5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
  -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
 };
 
 long long int
-__llrintl (long double x)
+__llrintl (ldouble_t x)
 {
   int32_t j0;
   u_int64_t i0,i1;
-  long double w;
-  long double t;
+  ldouble_t w;
+  ldouble_t t;
   long long int result;
   int sx;
 
@@ -52,7 +52,7 @@ __llrintl (long double x)
     {
 #if defined FE_INVALID || defined FE_INEXACT
       /* X < LLONG_MAX + 1 implied by J0 < 63.  */
-      if (x > (long double) LLONG_MAX)
+      if (x > (ldouble_t) LLONG_MAX)
 	{
 	  /* In the event of overflow we must raise the "invalid"
 	     exception, but not "inexact".  */
@@ -83,8 +83,8 @@ __llrintl (long double x)
 	 FE_INVALID must be raised and the return value is
 	 unspecified.  */
 #if defined FE_INVALID || defined FE_INEXACT
-      if (x < (long double) LLONG_MIN
-	  && x > (long double) LLONG_MIN - 1.0L)
+      if (x < (ldouble_t) LLONG_MIN
+	  && x > (ldouble_t) LLONG_MIN - 1.0L)
 	{
 	  /* If truncation produces LLONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
@@ -92,7 +92,7 @@ __llrintl (long double x)
 	  feraiseexcept (t == LLONG_MIN ? FE_INEXACT : FE_INVALID);
 	  return LLONG_MIN;
 	}
-      else if (FIX_LDBL_LLONG_CONVERT_OVERFLOW && x != (long double) LLONG_MIN)
+      else if (FIX_LDBL_LLONG_CONVERT_OVERFLOW && x != (ldouble_t) LLONG_MIN)
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sx == 0 ? LLONG_MAX : LLONG_MIN;
diff --git a/sysdeps/ieee754/ldbl-128/s_llroundl.c b/sysdeps/ieee754/ldbl-128/s_llroundl.c
index bfc81cc..042a492 100644
--- a/sysdeps/ieee754/ldbl-128/s_llroundl.c
+++ b/sysdeps/ieee754/ldbl-128/s_llroundl.c
@@ -26,7 +26,7 @@
 #include <fix-fp-int-convert-overflow.h>
 
 long long int
-__llroundl (long double x)
+__llroundl (ldouble_t x)
 {
   int64_t j0;
   u_int64_t i1, i0;
@@ -79,13 +79,13 @@ __llroundl (long double x)
 	 unspecified.  */
 #ifdef FE_INVALID
       if (FIX_LDBL_LLONG_CONVERT_OVERFLOW
-	  && !(sign == -1 && x > (long double) LLONG_MIN - 0.5L))
+	  && !(sign == -1 && x > (ldouble_t) LLONG_MIN - 0.5L))
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sign == 1 ? LLONG_MAX : LLONG_MIN;
 	}
       else if (!FIX_LDBL_LLONG_CONVERT_OVERFLOW
-	       && x <= (long double) LLONG_MIN - 0.5L)
+	       && x <= (ldouble_t) LLONG_MIN - 0.5L)
 	{
 	  /* If truncation produces LLONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c
index b348f41..eb0dd03 100644
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -62,7 +62,7 @@
  * Theoretical peak relative error = 5.3e-37,
  * relative peak error spread = 2.3e-14
  */
-static const long double
+static const ldouble_t
   P12 = 1.538612243596254322971797716843006400388E-6L,
   P11 = 4.998469661968096229986658302195402690910E-1L,
   P10 = 2.321125933898420063925789532045674660756E1L,
@@ -96,7 +96,7 @@ static const long double
  * Theoretical peak relative error = 1.1e-35,
  * relative peak error spread 1.1e-9
  */
-static const long double
+static const ldouble_t
   R5 = -8.828896441624934385266096344596648080902E-1L,
   R4 = 8.057002716646055371965756206836056074715E1L,
   R3 = -2.024301798136027039250415126250455056397E3L,
@@ -112,17 +112,17 @@ static const long double
   S0 = 1.701761051846631278975701529965589676574E6L;
 
 /* C1 + C2 = ln 2 */
-static const long double C1 = 6.93145751953125E-1L;
-static const long double C2 = 1.428606820309417232121458176568075500134E-6L;
+static const ldouble_t C1 = 6.93145751953125E-1L;
+static const ldouble_t C2 = 1.428606820309417232121458176568075500134E-6L;
 
-static const long double sqrth = 0.7071067811865475244008443621048490392848L;
+static const ldouble_t sqrth = 0.7071067811865475244008443621048490392848L;
 /* ln (2^16384 * (1 - 2^-113)) */
-static const long double zero = 0.0L;
+static const ldouble_t zero = 0.0L;
 
-long double
-__log1pl (long double xm1)
+ldouble_t
+__log1pl (ldouble_t xm1)
 {
-  long double x, y, z, r, s;
+  ldouble_t x, y, z, r, s;
   ieee854_long_double_shape_type u;
   int32_t hx;
   int e;
diff --git a/sysdeps/ieee754/ldbl-128/s_logbl.c b/sysdeps/ieee754/ldbl-128/s_logbl.c
index b7c1ca1..b1e746d 100644
--- a/sysdeps/ieee754/ldbl-128/s_logbl.c
+++ b/sysdeps/ieee754/ldbl-128/s_logbl.c
@@ -26,8 +26,8 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double
-__logbl (long double x)
+ldouble_t
+__logbl (ldouble_t x)
 {
   int64_t lx, hx, ex;
 
@@ -48,7 +48,7 @@ __logbl (long double x)
 	ma = __builtin_clzll (hx);
       ex -= ma - 16;
     }
-  return (long double) (ex - 16383);
+  return (ldouble_t) (ex - 16383);
 }
 
 weak_alias (__logbl, logbl)
diff --git a/sysdeps/ieee754/ldbl-128/s_lrintl.c b/sysdeps/ieee754/ldbl-128/s_lrintl.c
index 23f828f..67ced38 100644
--- a/sysdeps/ieee754/ldbl-128/s_lrintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_lrintl.c
@@ -26,19 +26,19 @@
 #include <math_private.h>
 #include <fix-fp-int-convert-overflow.h>
 
-static const long double two112[2] =
+static const ldouble_t two112[2] =
 {
   5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
  -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
 };
 
 long int
-__lrintl (long double x)
+__lrintl (ldouble_t x)
 {
   int32_t j0;
   u_int64_t i0,i1;
-  long double w;
-  long double t;
+  ldouble_t w;
+  ldouble_t t;
   long int result;
   int sx;
 
@@ -55,7 +55,7 @@ __lrintl (long double x)
 #if defined FE_INVALID || defined FE_INEXACT
 	  /* X < LONG_MAX + 1 implied by J0 < 31.  */
 	  if (sizeof (long int) == 4
-	      && x > (long double) LONG_MAX)
+	      && x > (ldouble_t) LONG_MAX)
 	    {
 	      /* In the event of overflow we must raise the "invalid"
 		 exception, but not "inexact".  */
@@ -82,7 +82,7 @@ __lrintl (long double x)
 #if defined FE_INVALID || defined FE_INEXACT
 	  /* X < LONG_MAX + 1 implied by J0 < 63.  */
 	  if (sizeof (long int) == 8
-	      && x > (long double) LONG_MAX)
+	      && x > (ldouble_t) LONG_MAX)
 	    {
 	      /* In the event of overflow we must raise the "invalid"
 		 exception, but not "inexact".  */
@@ -112,8 +112,8 @@ __lrintl (long double x)
 	 FE_INVALID must be raised and the return value is
 	 unspecified.  */
 #if defined FE_INVALID || defined FE_INEXACT
-      if (x < (long double) LONG_MIN
-	  && x > (long double) LONG_MIN - 1.0L)
+      if (x < (ldouble_t) LONG_MIN
+	  && x > (ldouble_t) LONG_MIN - 1.0L)
 	{
 	  /* If truncation produces LONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
@@ -121,7 +121,7 @@ __lrintl (long double x)
 	  feraiseexcept (t == LONG_MIN ? FE_INEXACT : FE_INVALID);
 	  return LONG_MIN;
 	}
-      else if (FIX_LDBL_LONG_CONVERT_OVERFLOW && x != (long double) LONG_MIN)
+      else if (FIX_LDBL_LONG_CONVERT_OVERFLOW && x != (ldouble_t) LONG_MIN)
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sx == 0 ? LONG_MAX : LONG_MIN;
diff --git a/sysdeps/ieee754/ldbl-128/s_lroundl.c b/sysdeps/ieee754/ldbl-128/s_lroundl.c
index f032625..eb30540 100644
--- a/sysdeps/ieee754/ldbl-128/s_lroundl.c
+++ b/sysdeps/ieee754/ldbl-128/s_lroundl.c
@@ -26,7 +26,7 @@
 #include <fix-fp-int-convert-overflow.h>
 
 long int
-__lroundl (long double x)
+__lroundl (ldouble_t x)
 {
   int64_t j0;
   u_int64_t i1, i0;
@@ -88,13 +88,13 @@ __lroundl (long double x)
 	 unspecified.  */
 #ifdef FE_INVALID
       if (FIX_LDBL_LONG_CONVERT_OVERFLOW
-	  && !(sign == -1 && x > (long double) LONG_MIN - 0.5L))
+	  && !(sign == -1 && x > (ldouble_t) LONG_MIN - 0.5L))
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sign == 1 ? LONG_MAX : LONG_MIN;
 	}
       else if (!FIX_LDBL_LONG_CONVERT_OVERFLOW
-	       && x <= (long double) LONG_MIN - 0.5L)
+	       && x <= (ldouble_t) LONG_MIN - 0.5L)
 	{
 	  /* If truncation produces LONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_modfl.c b/sysdeps/ieee754/ldbl-128/s_modfl.c
index 597a5c9..03fa75e 100644
--- a/sysdeps/ieee754/ldbl-128/s_modfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_modfl.c
@@ -30,9 +30,9 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0;
+static const ldouble_t one = 1.0;
 
-long double __modfl(long double x, long double *iptr)
+ldouble_t __modfl(ldouble_t x, ldouble_t *iptr)
 {
 	int64_t i0,i1,j0;
 	u_int64_t i;
diff --git a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
index 2017c04..706d390 100644
--- a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
@@ -27,18 +27,18 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 TWO112[2]={
   5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
  -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
 };
 
-long double __nearbyintl(long double x)
+ldouble_t __nearbyintl(ldouble_t x)
 {
 	fenv_t env;
 	int64_t i0,j0,sx;
 	u_int64_t i1 __attribute__ ((unused));
-	long double w,t;
+	ldouble_t w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);
 	j0 = ((i0>>48)&0x7fff)-0x3fff;
diff --git a/sysdeps/ieee754/ldbl-128/s_nextafterl.c b/sysdeps/ieee754/ldbl-128/s_nextafterl.c
index 4e9a2ce..652fbe4 100644
--- a/sysdeps/ieee754/ldbl-128/s_nextafterl.c
+++ b/sysdeps/ieee754/ldbl-128/s_nextafterl.c
@@ -28,7 +28,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-long double __nextafterl(long double x, long double y)
+ldouble_t __nextafterl(ldouble_t x, ldouble_t y)
 {
 	int64_t hx,hy,ix,iy;
 	u_int64_t lx,ly;
@@ -43,7 +43,7 @@ long double __nextafterl(long double x, long double y)
 	   return x+y;
 	if(x==y) return y;		/* x=y, return y */
 	if((ix|lx)==0) {			/* x == 0 */
-	    long double u;
+	    ldouble_t u;
 	    SET_LDOUBLE_WORDS64(x,hy&0x8000000000000000ULL,1);/* return +-minsubnormal */
 	    u = math_opt_barrier (x);
 	    u = u * u;
@@ -69,12 +69,12 @@ long double __nextafterl(long double x, long double y)
 	}
 	hy = hx&0x7fff000000000000LL;
 	if(hy==0x7fff000000000000LL) {
-	    long double u = x + x;		/* overflow  */
+	    ldouble_t u = x + x;		/* overflow  */
 	    math_force_eval (u);
 	    __set_errno (ERANGE);
 	}
 	if(hy==0) {
-	    long double u = x*x;		/* underflow */
+	    ldouble_t u = x*x;		/* underflow */
 	    math_force_eval (u);		/* raise underflow flag */
 	    __set_errno (ERANGE);
 	}
diff --git a/sysdeps/ieee754/ldbl-128/s_nextupl.c b/sysdeps/ieee754/ldbl-128/s_nextupl.c
index 3ee47d8..0ef64d6 100644
--- a/sysdeps/ieee754/ldbl-128/s_nextupl.c
+++ b/sysdeps/ieee754/ldbl-128/s_nextupl.c
@@ -20,8 +20,8 @@
 #include <math_private.h>
 
 /* Return the least floating-point number greater than X.  */
-long double
-__nextupl (long double x)
+ldouble_t
+__nextupl (ldouble_t x)
 {
   int64_t hx, ix;
   u_int64_t lx;
diff --git a/sysdeps/ieee754/ldbl-128/s_remquol.c b/sysdeps/ieee754/ldbl-128/s_remquol.c
index 7356f5f..dc3c9ac 100644
--- a/sysdeps/ieee754/ldbl-128/s_remquol.c
+++ b/sysdeps/ieee754/ldbl-128/s_remquol.c
@@ -23,11 +23,11 @@
 #include <math_private.h>
 
 
-static const long double zero = 0.0;
+static const ldouble_t zero = 0.0;
 
 
-long double
-__remquol (long double x, long double y, int *quo)
+ldouble_t
+__remquol (ldouble_t x, ldouble_t y, int *quo)
 {
   int64_t hx,hy;
   u_int64_t sx,lx,ly,qs;
@@ -87,7 +87,7 @@ __remquol (long double x, long double y, int *quo)
     }
   else
     {
-      long double y_half = 0.5L * y;
+      ldouble_t y_half = 0.5L * y;
       if (x > y_half)
 	{
 	  x -= y;
diff --git a/sysdeps/ieee754/ldbl-128/s_rintl.c b/sysdeps/ieee754/ldbl-128/s_rintl.c
index ae2142b..069f75f 100644
--- a/sysdeps/ieee754/ldbl-128/s_rintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_rintl.c
@@ -30,17 +30,17 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 TWO112[2]={
   5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
  -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
 };
 
-long double __rintl(long double x)
+ldouble_t __rintl(ldouble_t x)
 {
 	int64_t i0,j0,sx;
 	u_int64_t i1 __attribute__ ((unused));
-	long double w,t;
+	ldouble_t w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);
 	j0 = ((i0>>48)&0x7fff)-0x3fff;
diff --git a/sysdeps/ieee754/ldbl-128/s_roundl.c b/sysdeps/ieee754/ldbl-128/s_roundl.c
index 63ffd73..d30d017 100644
--- a/sysdeps/ieee754/ldbl-128/s_roundl.c
+++ b/sysdeps/ieee754/ldbl-128/s_roundl.c
@@ -23,8 +23,8 @@
 #include <math_private.h>
 
 
-long double
-__roundl (long double x)
+ldouble_t
+__roundl (ldouble_t x)
 {
   int32_t j0;
   u_int64_t i1, i0;
diff --git a/sysdeps/ieee754/ldbl-128/s_scalblnl.c b/sysdeps/ieee754/ldbl-128/s_scalblnl.c
index 1e24197..1c30d90 100644
--- a/sysdeps/ieee754/ldbl-128/s_scalblnl.c
+++ b/sysdeps/ieee754/ldbl-128/s_scalblnl.c
@@ -19,7 +19,7 @@ static char rcsid[] = "$NetBSD: $";
 #endif
 
 /*
- * scalblnl (long double x, long int n)
+ * scalblnl (ldouble_t x, long int n)
  * scalblnl(x,n) returns x* 2**n  computed by  exponent
  * manipulation rather than by actually performing an
  * exponentiation or a multiplication.
@@ -28,13 +28,13 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */
 twom114 = 4.8148248609680896326399448564623183E-35L, /* 0x3F8D000000000000, 0 */
 huge   = 1.0E+4900L,
 tiny   = 1.0E-4900L;
 
-long double __scalblnl (long double x, long int n)
+ldouble_t __scalblnl (ldouble_t x, long int n)
 {
 	int64_t k,hx,lx;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_scalbnl.c b/sysdeps/ieee754/ldbl-128/s_scalbnl.c
index a5cbd0d..b4e62f6 100644
--- a/sysdeps/ieee754/ldbl-128/s_scalbnl.c
+++ b/sysdeps/ieee754/ldbl-128/s_scalbnl.c
@@ -28,13 +28,13 @@ static char rcsid[] = "$NetBSD: $";
 #include <math.h>
 #include <math_private.h>
 
-static const long double
+static const ldouble_t
 two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */
 twom114 = 4.8148248609680896326399448564623183E-35L, /* 0x3F8D000000000000, 0 */
 huge   = 1.0E+4900L,
 tiny   = 1.0E-4900L;
 
-long double __scalbnl (long double x, int n)
+ldouble_t __scalbnl (ldouble_t x, int n)
 {
 	int64_t k,hx,lx;
 	GET_LDOUBLE_WORDS64(hx,lx,x);
diff --git a/sysdeps/ieee754/ldbl-128/s_signbitl.c b/sysdeps/ieee754/ldbl-128/s_signbitl.c
index ee5d77e..876be6c 100644
--- a/sysdeps/ieee754/ldbl-128/s_signbitl.c
+++ b/sysdeps/ieee754/ldbl-128/s_signbitl.c
@@ -18,9 +18,10 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 
 int
-__signbitl (long double x)
+__signbitl (ldouble_t x)
 {
   return __builtin_signbitl (x);
 }
diff --git a/sysdeps/ieee754/ldbl-128/s_sincosl.c b/sysdeps/ieee754/ldbl-128/s_sincosl.c
index 1abdb44..33f5f0f 100644
--- a/sysdeps/ieee754/ldbl-128/s_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/s_sincosl.c
@@ -24,7 +24,7 @@
 #include <math_private.h>
 
 void
-__sincosl (long double x, long double *sinx, long double *cosx)
+__sincosl (ldouble_t x, ldouble_t *sinx, ldouble_t *cosx)
 {
   int64_t ix;
 
@@ -45,7 +45,7 @@ __sincosl (long double x, long double *sinx, long double *cosx)
   else
     {
       /* Argument reduction needed.  */
-      long double y[2];
+      ldouble_t y[2];
       int n;
 
       n = __ieee754_rem_pio2l (x, y);
diff --git a/sysdeps/ieee754/ldbl-128/s_sinl.c b/sysdeps/ieee754/ldbl-128/s_sinl.c
index 582a53f..d4c13a6 100644
--- a/sysdeps/ieee754/ldbl-128/s_sinl.c
+++ b/sysdeps/ieee754/ldbl-128/s_sinl.c
@@ -48,9 +48,9 @@
 #include <math.h>
 #include <math_private.h>
 
-long double __sinl(long double x)
+ldouble_t __sinl(ldouble_t x)
 {
-	long double y[2],z=0.0L;
+	ldouble_t y[2],z=0.0L;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/s_tanhl.c b/sysdeps/ieee754/ldbl-128/s_tanhl.c
index f7a1d20..c5f9ede 100644
--- a/sysdeps/ieee754/ldbl-128/s_tanhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_tanhl.c
@@ -45,12 +45,12 @@
 #include <math.h>
 #include <math_private.h>
 
-static const long double one = 1.0, two = 2.0, tiny = 1.0e-4900L;
+static const ldouble_t one = 1.0, two = 2.0, tiny = 1.0e-4900L;
 
-long double
-__tanhl (long double x)
+ldouble_t
+__tanhl (ldouble_t x)
 {
-  long double t, z;
+  ldouble_t t, z;
   u_int32_t jx, ix;
   ieee854_long_double_shape_type u;
 
diff --git a/sysdeps/ieee754/ldbl-128/s_tanl.c b/sysdeps/ieee754/ldbl-128/s_tanl.c
index c7d6374..e8af5b3 100644
--- a/sysdeps/ieee754/ldbl-128/s_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_tanl.c
@@ -48,9 +48,9 @@
 #include <math.h>
 #include <math_private.h>
 
-long double __tanl(long double x)
+ldouble_t __tanl(ldouble_t x)
 {
-	long double y[2],z=0.0L;
+	ldouble_t y[2],z=0.0L;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/s_truncl.c b/sysdeps/ieee754/ldbl-128/s_truncl.c
index c71f0ab..f96f155 100644
--- a/sysdeps/ieee754/ldbl-128/s_truncl.c
+++ b/sysdeps/ieee754/ldbl-128/s_truncl.c
@@ -23,8 +23,8 @@
 #include <math_private.h>
 
 
-long double
-__truncl (long double x)
+ldouble_t
+__truncl (ldouble_t x)
 {
   int32_t j0;
   u_int64_t i0, i1, sx;
diff --git a/sysdeps/ieee754/ldbl-128/t_expl.h b/sysdeps/ieee754/ldbl-128/t_expl.h
index a23d3d9..777c188 100644
--- a/sysdeps/ieee754/ldbl-128/t_expl.h
+++ b/sysdeps/ieee754/ldbl-128/t_expl.h
@@ -29,7 +29,7 @@
    __expl_table[T_EXPL_ARGN+2*i] == i/S+s
    where absl(s) <= 2^-54 and absl(r) <= 2^-212.  */
 
-static const long double __expl_table [] = {
+static const ldouble_t __expl_table [] = {
  -3.47656250000000000584188889839535373E-01L, /* bffd640000000000002b1b04213cf000 */
   6.90417668990715641167244540876988960E-32L, /* 3f97667c3fdb588a6ae1af8748357a17 */
  -3.43749999999999981853132895957607418E-01L, /* bffd5ffffffffffffac4ff5f4050b000 */
diff --git a/sysdeps/ieee754/ldbl-128/t_sincosl.c b/sysdeps/ieee754/ldbl-128/t_sincosl.c
index de5fe0d..ca4224e 100644
--- a/sysdeps/ieee754/ldbl-128/t_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/t_sincosl.c
@@ -25,7 +25,10 @@
    Computed using gmp.
  */
 
-const long double __sincosl_table[] = {
+/* Include to grab typedefs and wrappers for ldouble_t and such.  */
+#include <math_private.h>
+
+const ldouble_t __sincosl_table[] = {
 
 /* x =  1.48437500000000000000000000000000000e-01L 3ffc3000000000000000000000000000 */
 /* cos(x) = 0.fd2f5320e1b790209b4dda2f98f79caaa7b873aff1014b0fbc5243766d03cb006bc837c4358 */
diff --git a/sysdeps/ieee754/ldbl-128/x2y2m1l.c b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
index f0fe68e..963a8da 100644
--- a/sysdeps/ieee754/ldbl-128/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
@@ -28,7 +28,7 @@
    overflow occurs.  */
 
 static inline void
-add_split (long double *hi, long double *lo, long double x, long double y)
+add_split (ldouble_t *hi, ldouble_t *lo, ldouble_t x, ldouble_t y)
 {
   /* Apply Dekker's algorithm.  */
   *hi = x + y;
@@ -41,8 +41,8 @@ add_split (long double *hi, long double *lo, long double x, long double y)
 static int
 compare (const void *p, const void *q)
 {
-  long double pld = fabsl (*(const long double *) p);
-  long double qld = fabsl (*(const long double *) q);
+  ldouble_t pld = fabsl (*(const ldouble_t *) p);
+  ldouble_t qld = fabsl (*(const ldouble_t *) q);
   if (pld < qld)
     return -1;
   else if (pld == qld)
@@ -55,22 +55,22 @@ compare (const void *p, const void *q)
    It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
    0.5.  */
 
-long double
-__x2y2m1l (long double x, long double y)
+ldouble_t
+__x2y2m1l (ldouble_t x, ldouble_t y)
 {
-  long double vals[5];
+  ldouble_t vals[5];
   SET_RESTORE_ROUNDL (FE_TONEAREST);
   mul_split (&vals[1], &vals[0], x, x);
   mul_split (&vals[3], &vals[2], y, y);
   vals[4] = -1.0L;
-  qsort (vals, 5, sizeof (long double), compare);
+  qsort (vals, 5, sizeof (ldouble_t), compare);
   /* Add up the values so that each element of VALS has absolute value
      at most equal to the last set bit of the next nonzero
      element.  */
   for (size_t i = 0; i <= 3; i++)
     {
       add_split (&vals[i + 1], &vals[i], vals[i + 1], vals[i]);
-      qsort (vals + i + 1, 4 - i, sizeof (long double), compare);
+      qsort (vals + i + 1, 4 - i, sizeof (ldouble_t), compare);
     }
   /* Now any error from this addition will be small.  */
   return vals[4] + vals[3] + vals[2] + vals[1] + vals[0];
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 2/6] ldbl-128: Define and use mathx_hidden_def wrapper to hidden_def
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
                   ` (3 preceding siblings ...)
  2016-08-16 17:02 ` [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c Paul E. Murphy
@ 2016-08-16 17:02 ` Paul E. Murphy
  2016-08-16 17:03 ` [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants Paul E. Murphy
  5 siblings, 0 replies; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

This provides an extra macro expansion before invoking
the hidden_def macro.  This removes the need for ugly
workarounds when building these files as float128.

	* sysdeps/generic/math_private.h:
	(mathx_hidden_def): New macro.
	* sysdeps/ieee754/ldbl-128/s_finitel.c: Replace
	hidden_def usage with mathx_hidden_def.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
---
 sysdeps/generic/math_private.h       | 4 ++++
 sysdeps/ieee754/ldbl-128/s_finitel.c | 2 +-
 sysdeps/ieee754/ldbl-128/s_isinfl.c  | 2 +-
 sysdeps/ieee754/ldbl-128/s_isnanl.c  | 2 +-
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
index cf1865d..08b04e0 100644
--- a/sysdeps/generic/math_private.h
+++ b/sysdeps/generic/math_private.h
@@ -181,6 +181,10 @@ do {								\
 } while (0)
 #endif
 
+/* We need to guarantee an expansion of name when building
+   ldbl-128 files as another type (e.g _Float128).  */
+#define mathx_hidden_def(name) hidden_def(name)
+
 /* Get long double macros from a separate header.  */
 #include <math_ldbl.h>
 
diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c
index ea8a9ba..25450ba 100644
--- a/sysdeps/ieee754/ldbl-128/s_finitel.c
+++ b/sysdeps/ieee754/ldbl-128/s_finitel.c
@@ -32,5 +32,5 @@ int __finitel(long double x)
 	return (int)((u_int64_t)((hx&0x7fff000000000000LL)
 				 -0x7fff000000000000LL)>>63);
 }
-hidden_def (__finitel)
+mathx_hidden_def (__finitel)
 weak_alias (__finitel, finitel)
diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c
index 03e4d13..0066a57 100644
--- a/sysdeps/ieee754/ldbl-128/s_isinfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c
@@ -25,5 +25,5 @@ __isinfl (long double x)
 	lx |= -lx;
 	return ~(lx >> 63) & (hx >> 62);
 }
-hidden_def (__isinfl)
+mathx_hidden_def (__isinfl)
 weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c
index 74960e7..297a669 100644
--- a/sysdeps/ieee754/ldbl-128/s_isnanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c
@@ -34,5 +34,5 @@ int __isnanl(long double x)
 	hx = 0x7fff000000000000LL - hx;
 	return (int)((u_int64_t)hx>>63);
 }
-hidden_def (__isnanl)
+mathx_hidden_def (__isnanl)
 weak_alias (__isnanl, isnanl)
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 0/6] Prepare ldbl-128 to build as float128
@ 2016-08-16 17:02 Paul E. Murphy
  2016-08-16 17:02 ` [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t' Paul E. Murphy
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

These are the minimal set of changes necessary to
existing long double files to build them as float128
by macro overrides of the form:

  include <float128_private.h>
  include "../ldbl-128/FUNC.c"

whereby float128_private.h contains the set of
preprocessor directives necessary to rename the
contents of the shared files which minimizes
explicit macro injection.

Using this strategy, two explict macros must be
introduced.  One which renames long double as a
single token, and another to enable using an
alternate literal suffix.

Likewise, as a minor consequence, the usage of
hidden_def must be guaranteed to expand its
input once.  The mathx_hidden_def macro
accomplishes this.

Likewise, I have made several other small
cleanups in order to apply the above strategy
correctly.

Paul E. Murphy (6):
  ldbl-128: Simplify fma usage
  ldbl-128: Define and use mathx_hidden_def wrapper to hidden_def
  ldbl-128: Remove unused sqrtl declaration in e_asinl.c
  ldbl-128: Rename 'long double' to 'ldouble_t'
  ldbl-128: Use L(x) macro for long double constants
  Make shared ldbl files more shareable.

 math/e_exp2l.c                             |   20 +-
 math/k_rem_pio2l.c                         |    2 +-
 math/s_fdiml.c                             |   10 +-
 math/s_fmaxl.c                             |    5 +-
 math/s_fminl.c                             |    5 +-
 math/s_ldexpl.c                            |    3 +-
 math/s_nextdownl.c                         |    4 +-
 sysdeps/generic/math_private.h             |   11 +
 sysdeps/ieee754/ldbl-128/e_acoshl.c        |   14 +-
 sysdeps/ieee754/ldbl-128/e_acosl.c         |  148 +--
 sysdeps/ieee754/ldbl-128/e_asinl.c         |  103 +-
 sysdeps/ieee754/ldbl-128/e_atan2l.c        |   26 +-
 sysdeps/ieee754/ldbl-128/e_atanhl.c        |   10 +-
 sysdeps/ieee754/ldbl-128/e_coshl.c         |   10 +-
 sysdeps/ieee754/ldbl-128/e_exp10l.c        |   16 +-
 sysdeps/ieee754/ldbl-128/e_expl.c          |   46 +-
 sysdeps/ieee754/ldbl-128/e_fmodl.c         |    6 +-
 sysdeps/ieee754/ldbl-128/e_gammal_r.c      |  108 +-
 sysdeps/ieee754/ldbl-128/e_hypotl.c        |    8 +-
 sysdeps/ieee754/ldbl-128/e_ilogbl.c        |    2 +-
 sysdeps/ieee754/ldbl-128/e_j0l.c           |  864 ++++++-------
 sysdeps/ieee754/ldbl-128/e_j1l.c           |  858 ++++++-------
 sysdeps/ieee754/ldbl-128/e_jnl.c           |   68 +-
 sysdeps/ieee754/ldbl-128/e_lgammal_r.c     |  930 +++++++-------
 sysdeps/ieee754/ldbl-128/e_log10l.c        |  134 +-
 sysdeps/ieee754/ldbl-128/e_log2l.c         |  128 +-
 sysdeps/ieee754/ldbl-128/e_logl.c          |  240 ++--
 sysdeps/ieee754/ldbl-128/e_powl.c          |  110 +-
 sysdeps/ieee754/ldbl-128/e_rem_pio2l.c     |   14 +-
 sysdeps/ieee754/ldbl-128/e_remainderl.c    |   10 +-
 sysdeps/ieee754/ldbl-128/e_sinhl.c         |   10 +-
 sysdeps/ieee754/ldbl-128/gamma_productl.c  |   38 +-
 sysdeps/ieee754/ldbl-128/k_cosl.c          |   48 +-
 sysdeps/ieee754/ldbl-128/k_sincosl.c       |   62 +-
 sysdeps/ieee754/ldbl-128/k_sinl.c          |   48 +-
 sysdeps/ieee754/ldbl-128/k_tanl.c          |   38 +-
 sysdeps/ieee754/ldbl-128/lgamma_negl.c     |  758 +++++------
 sysdeps/ieee754/ldbl-128/lgamma_productl.c |   54 +-
 sysdeps/ieee754/ldbl-128/mul_splitl.h      |   55 +
 sysdeps/ieee754/ldbl-128/s_asinhl.c        |   14 +-
 sysdeps/ieee754/ldbl-128/s_atanl.c         |  202 +--
 sysdeps/ieee754/ldbl-128/s_cbrtl.c         |   30 +-
 sysdeps/ieee754/ldbl-128/s_ceill.c         |    2 +-
 sysdeps/ieee754/ldbl-128/s_copysignl.c     |    8 +-
 sysdeps/ieee754/ldbl-128/s_cosl.c          |    4 +-
 sysdeps/ieee754/ldbl-128/s_erfl.c          |  916 +++++++-------
 sysdeps/ieee754/ldbl-128/s_expm1l.c        |   52 +-
 sysdeps/ieee754/ldbl-128/s_fabsl.c         |    2 +-
 sysdeps/ieee754/ldbl-128/s_finitel.c       |    4 +-
 sysdeps/ieee754/ldbl-128/s_floorl.c        |    2 +-
 sysdeps/ieee754/ldbl-128/s_fmal.c          |   54 +-
 sysdeps/ieee754/ldbl-128/s_fpclassifyl.c   |    2 +-
 sysdeps/ieee754/ldbl-128/s_frexpl.c        |    8 +-
 sysdeps/ieee754/ldbl-128/s_isinfl.c        |    4 +-
 sysdeps/ieee754/ldbl-128/s_isnanl.c        |    4 +-
 sysdeps/ieee754/ldbl-128/s_issignalingl.c  |    2 +-
 sysdeps/ieee754/ldbl-128/s_llrintl.c       |   20 +-
 sysdeps/ieee754/ldbl-128/s_llroundl.c      |    6 +-
 sysdeps/ieee754/ldbl-128/s_log1pl.c        |  118 +-
 sysdeps/ieee754/ldbl-128/s_logbl.c         |    6 +-
 sysdeps/ieee754/ldbl-128/s_lrintl.c        |   22 +-
 sysdeps/ieee754/ldbl-128/s_lroundl.c       |    6 +-
 sysdeps/ieee754/ldbl-128/s_modfl.c         |    4 +-
 sysdeps/ieee754/ldbl-128/s_nearbyintl.c    |   10 +-
 sysdeps/ieee754/ldbl-128/s_nextafterl.c    |   12 +-
 sysdeps/ieee754/ldbl-128/s_nextupl.c       |    4 +-
 sysdeps/ieee754/ldbl-128/s_remquol.c       |   12 +-
 sysdeps/ieee754/ldbl-128/s_rintl.c         |    6 +-
 sysdeps/ieee754/ldbl-128/s_roundl.c        |    4 +-
 sysdeps/ieee754/ldbl-128/s_scalblnl.c      |   14 +-
 sysdeps/ieee754/ldbl-128/s_scalbnl.c       |   12 +-
 sysdeps/ieee754/ldbl-128/s_signbitl.c      |    3 +-
 sysdeps/ieee754/ldbl-128/s_sincosl.c       |    6 +-
 sysdeps/ieee754/ldbl-128/s_sinl.c          |    4 +-
 sysdeps/ieee754/ldbl-128/s_tanhl.c         |    8 +-
 sysdeps/ieee754/ldbl-128/s_tanl.c          |    4 +-
 sysdeps/ieee754/ldbl-128/s_truncl.c        |    4 +-
 sysdeps/ieee754/ldbl-128/t_expl.h          | 1862 ++++++++++++++--------------
 sysdeps/ieee754/ldbl-128/t_sincosl.c       |  669 +++++-----
 sysdeps/ieee754/ldbl-128/x2y2m1l.c         |   50 +-
 80 files changed, 4597 insertions(+), 4603 deletions(-)
 create mode 100644 sysdeps/ieee754/ldbl-128/mul_splitl.h

-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 6/6] Make shared ldbl files more shareable.
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
  2016-08-16 17:02 ` [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t' Paul E. Murphy
  2016-08-16 17:02 ` [PATCH 1/6] ldbl-128: Simplify fma usage Paul E. Murphy
@ 2016-08-16 17:02 ` Paul E. Murphy
  2016-08-16 18:15   ` Joseph Myers
  2016-08-16 17:02 ` [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c Paul E. Murphy
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

Use integer constants when equivalent, and use ldouble_t
to enable sharing with the _Float128 variants.

	* math/e_exp2l.c (__ieee754_exp2l): Replace long double
	with ldouble_t, and use integer constants as appropriate.
	* math/s_fdiml.c: (__fdiml): Likewise.

	* math/k_rem_pio2l.c: (__kernel_rem_pio2l): Replace
	long double with ldouble_t.
	* math/s_ldexpl.c: (__ldexpl): Likewise.
	* math/s_nextdownl.c: (__nextdownl): Likewise.

	* math/s_fmaxl.c: (__fmaxl): Likewise, and include
	math_private.h for alias.
	* math/s_fminl.c: (__fminl): Likewise.
---
 math/e_exp2l.c     | 20 ++++++++++----------
 math/k_rem_pio2l.c |  2 +-
 math/s_fdiml.c     | 10 ++++++----
 math/s_fmaxl.c     |  5 +++--
 math/s_fminl.c     |  5 +++--
 math/s_ldexpl.c    |  3 ++-
 math/s_nextdownl.c |  4 ++--
 7 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/math/e_exp2l.c b/math/e_exp2l.c
index b1ea7c7..5111a95 100644
--- a/math/e_exp2l.c
+++ b/math/e_exp2l.c
@@ -27,20 +27,20 @@
 # define LDBL_EPSILON 0x1p-106L
 #endif
 
-long double
-__ieee754_exp2l (long double x)
+ldouble_t
+__ieee754_exp2l (ldouble_t x)
 {
-  if (__glibc_likely (isless (x, (long double) LDBL_MAX_EXP)))
+  if (__glibc_likely (isless (x, (ldouble_t) LDBL_MAX_EXP)))
     {
-      if (__builtin_expect (isgreaterequal (x, (long double) (LDBL_MIN_EXP
-							      - LDBL_MANT_DIG
-							      - 1)), 1))
+      if (__builtin_expect (isgreaterequal (x, (ldouble_t) (LDBL_MIN_EXP
+							    - LDBL_MANT_DIG
+							    - 1)), 1))
 	{
 	  int intx = (int) x;
-	  long double fractx = x - intx;
-	  long double result;
-	  if (fabsl (fractx) < LDBL_EPSILON / 4.0L)
-	    result = __scalbnl (1.0L + fractx, intx);
+	  ldouble_t fractx = x - intx;
+	  ldouble_t result;
+	  if (fabsl (fractx) < LDBL_EPSILON / 4)
+	    result = __scalbnl (1 + fractx, intx);
 	  else
 	    result = __scalbnl (__ieee754_expl (M_LN2l * fractx), intx);
 	  math_check_force_underflow_nonneg (result);
diff --git a/math/k_rem_pio2l.c b/math/k_rem_pio2l.c
index 01bf158..d9613ed 100644
--- a/math/k_rem_pio2l.c
+++ b/math/k_rem_pio2l.c
@@ -4,7 +4,7 @@
 #include <errno.h>
 
 int
-__kernel_rem_pio2l (long double *x, long double *y, int e0, int nx, int prec,
+__kernel_rem_pio2l (ldouble_t *x, ldouble_t *y, int e0, int nx, int prec,
 		    const int *ipio2)
 {
   fputs ("__kernel_rem_pio2l not implemented\n", stderr);
diff --git a/math/s_fdiml.c b/math/s_fdiml.c
index 4a1f672..38a2687 100644
--- a/math/s_fdiml.c
+++ b/math/s_fdiml.c
@@ -20,13 +20,15 @@
 #include <errno.h>
 #include <math.h>
 
-long double
-__fdiml (long double x, long double y)
+#include <math_private.h>
+
+ldouble_t
+__fdiml (ldouble_t x, ldouble_t y)
 {
   if (islessequal (x, y))
-    return 0.0f;
+    return 0;
 
-  long double r = x - y;
+  ldouble_t r = x - y;
   if (isinf (r) && !isinf (x) && !isinf (y))
     __set_errno (ERANGE);
 
diff --git a/math/s_fmaxl.c b/math/s_fmaxl.c
index 3b22735..9536f9f 100644
--- a/math/s_fmaxl.c
+++ b/math/s_fmaxl.c
@@ -18,10 +18,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 
 
-long double
-__fmaxl (long double x, long double y)
+ldouble_t
+__fmaxl (ldouble_t x, ldouble_t y)
 {
   return (isgreaterequal (x, y) || isnan (y)) ? x : y;
 }
diff --git a/math/s_fminl.c b/math/s_fminl.c
index 84e9e51..3ca2b47 100644
--- a/math/s_fminl.c
+++ b/math/s_fminl.c
@@ -18,10 +18,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 
 
-long double
-__fminl (long double x, long double y)
+ldouble_t
+__fminl (ldouble_t x, ldouble_t y)
 {
   return (islessequal (x, y) || isnan (y)) ? x : y;
 }
diff --git a/math/s_ldexpl.c b/math/s_ldexpl.c
index 52fb093..d95708e 100644
--- a/math/s_ldexpl.c
+++ b/math/s_ldexpl.c
@@ -22,7 +22,8 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 #include <errno.h>
 
-long double __ldexpl(long double value, int exp)
+ldouble_t
+__ldexpl(ldouble_t value, int exp)
 {
 	if(!isfinite(value)||value==0.0) return value + value;
 	value = __scalbnl(value,exp);
diff --git a/math/s_nextdownl.c b/math/s_nextdownl.c
index e7607f5..e81d255 100644
--- a/math/s_nextdownl.c
+++ b/math/s_nextdownl.c
@@ -20,8 +20,8 @@
 #include <math_private.h>
 
 /* Return the greatest floating-point number less than X.  */
-long double
-__nextdownl (long double x)
+ldouble_t
+__nextdownl (ldouble_t x)
 {
   return -__nextupl (-x);
 }
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 1/6] ldbl-128: Simplify fma usage
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
  2016-08-16 17:02 ` [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t' Paul E. Murphy
@ 2016-08-16 17:02 ` Paul E. Murphy
  2016-08-16 18:03   ` Joseph Myers
  2016-08-16 17:02 ` [PATCH 6/6] Make shared ldbl files more shareable Paul E. Murphy
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:02 UTC (permalink / raw)
  To: libc-alpha

Several ldbl-128 files share identical code which does
not ammend itself to the macro renaming necessary to
support building with another type.

This moves the duplicated function mul_split into its
own header, and refactors the fma usage into a single
selection macro.

	* sysdeps/ieee754/ldbl-128/gamma_productl.c:
	(mul_split) Remove and and include via mul_splitl.h.
	* sysdeps/ieee754/ldbl-128/lgamma_productl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise.

	* sysdeps/ieee754/ldbl-128/mul_splitl.h: New file.
---
 sysdeps/ieee754/ldbl-128/gamma_productl.c  | 30 +---------------
 sysdeps/ieee754/ldbl-128/lgamma_productl.c | 30 +---------------
 sysdeps/ieee754/ldbl-128/mul_splitl.h      | 55 ++++++++++++++++++++++++++++++
 sysdeps/ieee754/ldbl-128/x2y2m1l.c         | 32 ++---------------
 4 files changed, 59 insertions(+), 88 deletions(-)
 create mode 100644 sysdeps/ieee754/ldbl-128/mul_splitl.h

diff --git a/sysdeps/ieee754/ldbl-128/gamma_productl.c b/sysdeps/ieee754/ldbl-128/gamma_productl.c
index 849b57d..6f3f05e 100644
--- a/sysdeps/ieee754/ldbl-128/gamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/gamma_productl.c
@@ -20,35 +20,7 @@
 #include <math_private.h>
 #include <float.h>
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include "mul_splitl.h"
 
 /* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N
    - 1, in the form R * (1 + *EPS) where the return value R is an
diff --git a/sysdeps/ieee754/ldbl-128/lgamma_productl.c b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
index de67cbe..625e54c 100644
--- a/sysdeps/ieee754/ldbl-128/lgamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
@@ -20,35 +20,7 @@
 #include <math_private.h>
 #include <float.h>
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include "mul_splitl.h"
 
 /* Compute the product of 1 + (T / (X + X_EPS)), 1 + (T / (X + X_EPS +
    1)), ..., 1 + (T / (X + X_EPS + N - 1)), minus 1.  X is such that
diff --git a/sysdeps/ieee754/ldbl-128/mul_splitl.h b/sysdeps/ieee754/ldbl-128/mul_splitl.h
new file mode 100644
index 0000000..dee572d
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-128/mul_splitl.h
@@ -0,0 +1,55 @@
+/* Compute full X * Y.
+   Copyright (C) 2013-2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MUL_SPLIT_H
+#define _MUL_SPLIT_H
+
+/* Choose an appropriate fused multiply-add function, if any.  */
+#ifdef __FP_FAST_FMAL
+# define __FMAL __builtin_fmal
+#elif defined FP_FAST_FMAL
+# define __FMAL __fmal
+#endif
+
+/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
+   given that the values are small enough that no overflow occurs and
+   large enough (or zero) that no underflow occurs.  */
+
+static inline void
+mul_split (long double *hi, long double *lo, long double x, long double y)
+{
+#ifdef __FMAL
+  /* Fast library fused multiply-add, if supported.  */
+  *hi = x * y;
+  *lo = __FMAL (x, y, -*hi);
+#else
+  /* Apply Dekker's algorithm.  */
+  *hi = x * y;
+# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
+  long double x1 = x * C;
+  long double y1 = y * C;
+# undef C
+  x1 = (x - x1) + x1;
+  y1 = (y - y1) + y1;
+  long double x2 = x - x1;
+  long double y2 = y - y1;
+  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
+#endif
+}
+
+#endif /* _MUL_SPLIT_H */
diff --git a/sysdeps/ieee754/ldbl-128/x2y2m1l.c b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
index 733742d..f0fe68e 100644
--- a/sysdeps/ieee754/ldbl-128/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
@@ -21,6 +21,8 @@
 #include <float.h>
 #include <stdlib.h>
 
+#include "mul_splitl.h"
+
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
    given that |X| >= |Y| and the values are small enough that no
    overflow occurs.  */
@@ -33,36 +35,6 @@ add_split (long double *hi, long double *lo, long double x, long double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Compare absolute values of floating-point values pointed to by P
    and Q for qsort.  */
 
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants
  2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
                   ` (4 preceding siblings ...)
  2016-08-16 17:02 ` [PATCH 2/6] ldbl-128: Define and use mathx_hidden_def wrapper to hidden_def Paul E. Murphy
@ 2016-08-16 17:03 ` Paul E. Murphy
  2016-08-16 18:13   ` Joseph Myers
  5 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 17:03 UTC (permalink / raw)
  To: libc-alpha

This change, paired with the previous change to alias
usage of the long double type are the two major changes
necessary to support building float128.

This attempts to apply the minimum set of L(x) macros to
ldbl-128.  Likewise, integer constants are substituted
when evaluation is otherwise equivalent, excepting cases
to improve readability.

	* sysdeps/ieee754/ldbl-128/e_acoshl.c: Wrap long double literals
	with L() and remove explicit suffix, and convert real literals
	which can be equivalentally substituted with integers.

	* sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_atan2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_exp10l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_j0l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_frexpl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_remquol.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_scalblnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_scalbnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_sinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/t_expl.h: Likewise.
	* sysdeps/ieee754/ldbl-128/t_sincosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise.
---
 sysdeps/ieee754/ldbl-128/e_acoshl.c     |    6 +-
 sysdeps/ieee754/ldbl-128/e_acosl.c      |  140 +--
 sysdeps/ieee754/ldbl-128/e_asinl.c      |   92 +-
 sysdeps/ieee754/ldbl-128/e_atan2l.c     |   18 +-
 sysdeps/ieee754/ldbl-128/e_atanhl.c     |    4 +-
 sysdeps/ieee754/ldbl-128/e_coshl.c      |    4 +-
 sysdeps/ieee754/ldbl-128/e_exp10l.c     |    8 +-
 sysdeps/ieee754/ldbl-128/e_expl.c       |   38 +-
 sysdeps/ieee754/ldbl-128/e_gammal_r.c   |   64 +-
 sysdeps/ieee754/ldbl-128/e_hypotl.c     |    2 +-
 sysdeps/ieee754/ldbl-128/e_j0l.c        |  768 ++++++-------
 sysdeps/ieee754/ldbl-128/e_j1l.c        |  762 ++++++-------
 sysdeps/ieee754/ldbl-128/e_jnl.c        |   26 +-
 sysdeps/ieee754/ldbl-128/e_lgammal_r.c  |  836 +++++++-------
 sysdeps/ieee754/ldbl-128/e_log10l.c     |  104 +-
 sysdeps/ieee754/ldbl-128/e_log2l.c      |   98 +-
 sysdeps/ieee754/ldbl-128/e_logl.c       |  228 ++--
 sysdeps/ieee754/ldbl-128/e_powl.c       |   80 +-
 sysdeps/ieee754/ldbl-128/e_rem_pio2l.c  |    4 +-
 sysdeps/ieee754/ldbl-128/e_remainderl.c |    4 +-
 sysdeps/ieee754/ldbl-128/e_sinhl.c      |    4 +-
 sysdeps/ieee754/ldbl-128/k_cosl.c       |   38 +-
 sysdeps/ieee754/ldbl-128/k_sincosl.c    |   54 +-
 sysdeps/ieee754/ldbl-128/k_sinl.c       |   38 +-
 sysdeps/ieee754/ldbl-128/k_tanl.c       |   28 +-
 sysdeps/ieee754/ldbl-128/lgamma_negl.c  |  684 ++++++------
 sysdeps/ieee754/ldbl-128/s_asinhl.c     |    6 +-
 sysdeps/ieee754/ldbl-128/s_atanl.c      |  192 ++--
 sysdeps/ieee754/ldbl-128/s_cbrtl.c      |   24 +-
 sysdeps/ieee754/ldbl-128/s_cosl.c       |    2 +-
 sysdeps/ieee754/ldbl-128/s_erfl.c       |  738 ++++++------
 sysdeps/ieee754/ldbl-128/s_expm1l.c     |   44 +-
 sysdeps/ieee754/ldbl-128/s_fmal.c       |   28 +-
 sysdeps/ieee754/ldbl-128/s_frexpl.c     |    2 +-
 sysdeps/ieee754/ldbl-128/s_llrintl.c    |    6 +-
 sysdeps/ieee754/ldbl-128/s_llroundl.c   |    4 +-
 sysdeps/ieee754/ldbl-128/s_log1pl.c     |  108 +-
 sysdeps/ieee754/ldbl-128/s_lrintl.c     |    6 +-
 sysdeps/ieee754/ldbl-128/s_lroundl.c    |    4 +-
 sysdeps/ieee754/ldbl-128/s_nearbyintl.c |    4 +-
 sysdeps/ieee754/ldbl-128/s_nextafterl.c |    4 +
 sysdeps/ieee754/ldbl-128/s_remquol.c    |    6 +-
 sysdeps/ieee754/ldbl-128/s_scalblnl.c   |    8 +-
 sysdeps/ieee754/ldbl-128/s_scalbnl.c    |    8 +-
 sysdeps/ieee754/ldbl-128/s_sincosl.c    |    2 +-
 sysdeps/ieee754/ldbl-128/s_sinl.c       |    2 +-
 sysdeps/ieee754/ldbl-128/s_tanhl.c      |    2 +-
 sysdeps/ieee754/ldbl-128/s_tanl.c       |    2 +-
 sysdeps/ieee754/ldbl-128/t_expl.h       | 1860 +++++++++++++++----------------
 sysdeps/ieee754/ldbl-128/t_sincosl.c    |  664 +++++------
 sysdeps/ieee754/ldbl-128/x2y2m1l.c      |    2 +-
 51 files changed, 3932 insertions(+), 3928 deletions(-)

diff --git a/sysdeps/ieee754/ldbl-128/e_acoshl.c b/sysdeps/ieee754/ldbl-128/e_acoshl.c
index a71bb5a..212eaab 100644
--- a/sysdeps/ieee754/ldbl-128/e_acoshl.c
+++ b/sysdeps/ieee754/ldbl-128/e_acoshl.c
@@ -32,7 +32,7 @@
 
 static const ldouble_t
 one	= 1.0,
-ln2	= 0.6931471805599453094172321214581766L;
+ln2	= L(0.6931471805599453094172321214581766);
 
 ldouble_t
 __ieee754_acoshl(ldouble_t x)
@@ -52,10 +52,10 @@ __ieee754_acoshl(ldouble_t x)
 	    return 0.0L;			/* acosh(1) = 0 */
 	} else if (hx > 0x4000000000000000LL) {	/* 2**28 > x > 2 */
 	    t=x*x;
-	    return __ieee754_logl(2.0L*x-one/(x+__ieee754_sqrtl(t-one)));
+	    return __ieee754_logl(2*x-one/(x+__ieee754_sqrtl(t-one)));
 	} else {			/* 1<x<2 */
 	    t = x-one;
-	    return __log1pl(t+__sqrtl(2.0L*t+t*t));
+	    return __log1pl(t+__sqrtl(2*t+t*t));
 	}
 }
 strong_alias (__ieee754_acoshl, __acoshl_finite)
diff --git a/sysdeps/ieee754/ldbl-128/e_acosl.c b/sysdeps/ieee754/ldbl-128/e_acosl.c
index a1f031d..a4eed19 100644
--- a/sysdeps/ieee754/ldbl-128/e_acosl.c
+++ b/sysdeps/ieee754/ldbl-128/e_acosl.c
@@ -58,94 +58,94 @@
 #include <math_private.h>
 
 static const ldouble_t
-  one = 1.0L,
-  pio2_hi = 1.5707963267948966192313216916397514420986L,
-  pio2_lo = 4.3359050650618905123985220130216759843812E-35L,
+  one     = L(1.0),
+  pio2_hi = L(1.5707963267948966192313216916397514420986),
+  pio2_lo = L(4.3359050650618905123985220130216759843812E-35),
 
   /* acos(0.5625 + x) = acos(0.5625) + x rS(x) / sS(x)
      -0.0625 <= x <= 0.0625
      peak relative error 3.3e-35  */
 
-  rS0 =  5.619049346208901520945464704848780243887E0L,
-  rS1 = -4.460504162777731472539175700169871920352E1L,
-  rS2 =  1.317669505315409261479577040530751477488E2L,
-  rS3 = -1.626532582423661989632442410808596009227E2L,
-  rS4 =  3.144806644195158614904369445440583873264E1L,
-  rS5 =  9.806674443470740708765165604769099559553E1L,
-  rS6 = -5.708468492052010816555762842394927806920E1L,
-  rS7 = -1.396540499232262112248553357962639431922E1L,
-  rS8 =  1.126243289311910363001762058295832610344E1L,
-  rS9 =  4.956179821329901954211277873774472383512E-1L,
-  rS10 = -3.313227657082367169241333738391762525780E-1L,
+  rS0 =  L(5.619049346208901520945464704848780243887E0),
+  rS1 = -L(4.460504162777731472539175700169871920352E1),
+  rS2 =  L(1.317669505315409261479577040530751477488E2),
+  rS3 = -L(1.626532582423661989632442410808596009227E2),
+  rS4 =  L(3.144806644195158614904369445440583873264E1),
+  rS5 =  L(9.806674443470740708765165604769099559553E1),
+  rS6 = -L(5.708468492052010816555762842394927806920E1),
+  rS7 = -L(1.396540499232262112248553357962639431922E1),
+  rS8 =  L(1.126243289311910363001762058295832610344E1),
+  rS9 =  L(4.956179821329901954211277873774472383512E-1),
+  rS10 = -L(3.313227657082367169241333738391762525780E-1),
 
-  sS0 = -4.645814742084009935700221277307007679325E0L,
-  sS1 =  3.879074822457694323970438316317961918430E1L,
-  sS2 = -1.221986588013474694623973554726201001066E2L,
-  sS3 =  1.658821150347718105012079876756201905822E2L,
-  sS4 = -4.804379630977558197953176474426239748977E1L,
-  sS5 = -1.004296417397316948114344573811562952793E2L,
-  sS6 =  7.530281592861320234941101403870010111138E1L,
-  sS7 =  1.270735595411673647119592092304357226607E1L,
-  sS8 = -1.815144839646376500705105967064792930282E1L,
-  sS9 = -7.821597334910963922204235247786840828217E-2L,
+  sS0 = -L(4.645814742084009935700221277307007679325E0),
+  sS1 =  L(3.879074822457694323970438316317961918430E1),
+  sS2 = -L(1.221986588013474694623973554726201001066E2),
+  sS3 =  L(1.658821150347718105012079876756201905822E2),
+  sS4 = -L(4.804379630977558197953176474426239748977E1),
+  sS5 = -L(1.004296417397316948114344573811562952793E2),
+  sS6 =  L(7.530281592861320234941101403870010111138E1),
+  sS7 =  L(1.270735595411673647119592092304357226607E1),
+  sS8 = -L(1.815144839646376500705105967064792930282E1),
+  sS9 = -L(7.821597334910963922204235247786840828217E-2),
   /* 1.000000000000000000000000000000000000000E0 */
 
-  acosr5625 = 9.7338991014954640492751132535550279812151E-1L,
-  pimacosr5625 = 2.1682027434402468335351320579240000860757E0L,
+  acosr5625 = L(9.7338991014954640492751132535550279812151E-1),
+  pimacosr5625 = L(2.1682027434402468335351320579240000860757E0),
 
   /* acos(0.4375 + x) = acos(0.4375) + x rS(x) / sS(x)
      -0.0625 <= x <= 0.0625
      peak relative error 2.1e-35  */
 
-  P0 =  2.177690192235413635229046633751390484892E0L,
-  P1 = -2.848698225706605746657192566166142909573E1L,
-  P2 =  1.040076477655245590871244795403659880304E2L,
-  P3 = -1.400087608918906358323551402881238180553E2L,
-  P4 =  2.221047917671449176051896400503615543757E1L,
-  P5 =  9.643714856395587663736110523917499638702E1L,
-  P6 = -5.158406639829833829027457284942389079196E1L,
-  P7 = -1.578651828337585944715290382181219741813E1L,
-  P8 =  1.093632715903802870546857764647931045906E1L,
-  P9 =  5.448925479898460003048760932274085300103E-1L,
-  P10 = -3.315886001095605268470690485170092986337E-1L,
-  Q0 = -1.958219113487162405143608843774587557016E0L,
-  Q1 =  2.614577866876185080678907676023269360520E1L,
-  Q2 = -9.990858606464150981009763389881793660938E1L,
-  Q3 =  1.443958741356995763628660823395334281596E2L,
-  Q4 = -3.206441012484232867657763518369723873129E1L,
-  Q5 = -1.048560885341833443564920145642588991492E2L,
-  Q6 =  6.745883931909770880159915641984874746358E1L,
-  Q7 =  1.806809656342804436118449982647641392951E1L,
-  Q8 = -1.770150690652438294290020775359580915464E1L,
-  Q9 = -5.659156469628629327045433069052560211164E-1L,
+  P0 =  L(2.177690192235413635229046633751390484892E0),
+  P1 = -L(2.848698225706605746657192566166142909573E1),
+  P2 =  L(1.040076477655245590871244795403659880304E2),
+  P3 = -L(1.400087608918906358323551402881238180553E2),
+  P4 =  L(2.221047917671449176051896400503615543757E1),
+  P5 =  L(9.643714856395587663736110523917499638702E1),
+  P6 = -L(5.158406639829833829027457284942389079196E1),
+  P7 = -L(1.578651828337585944715290382181219741813E1),
+  P8 =  L(1.093632715903802870546857764647931045906E1),
+  P9 =  L(5.448925479898460003048760932274085300103E-1),
+  P10 = -L(3.315886001095605268470690485170092986337E-1),
+  Q0 = -L(1.958219113487162405143608843774587557016E0),
+  Q1 =  L(2.614577866876185080678907676023269360520E1),
+  Q2 = -L(9.990858606464150981009763389881793660938E1),
+  Q3 =  L(1.443958741356995763628660823395334281596E2),
+  Q4 = -L(3.206441012484232867657763518369723873129E1),
+  Q5 = -L(1.048560885341833443564920145642588991492E2),
+  Q6 =  L(6.745883931909770880159915641984874746358E1),
+  Q7 =  L(1.806809656342804436118449982647641392951E1),
+  Q8 = -L(1.770150690652438294290020775359580915464E1),
+  Q9 = -L(5.659156469628629327045433069052560211164E-1),
   /* 1.000000000000000000000000000000000000000E0 */
 
-  acosr4375 = 1.1179797320499710475919903296900511518755E0L,
-  pimacosr4375 = 2.0236129215398221908706530535894517323217E0L,
+  acosr4375 = L(1.1179797320499710475919903296900511518755E0),
+  pimacosr4375 = L(2.0236129215398221908706530535894517323217E0),
 
   /* asin(x) = x + x^3 pS(x^2) / qS(x^2)
      0 <= x <= 0.5
      peak relative error 1.9e-35  */
-  pS0 = -8.358099012470680544198472400254596543711E2L,
-  pS1 =  3.674973957689619490312782828051860366493E3L,
-  pS2 = -6.730729094812979665807581609853656623219E3L,
-  pS3 =  6.643843795209060298375552684423454077633E3L,
-  pS4 = -3.817341990928606692235481812252049415993E3L,
-  pS5 =  1.284635388402653715636722822195716476156E3L,
-  pS6 = -2.410736125231549204856567737329112037867E2L,
-  pS7 =  2.219191969382402856557594215833622156220E1L,
-  pS8 = -7.249056260830627156600112195061001036533E-1L,
-  pS9 =  1.055923570937755300061509030361395604448E-3L,
+  pS0 = -L(8.358099012470680544198472400254596543711E2),
+  pS1 =  L(3.674973957689619490312782828051860366493E3),
+  pS2 = -L(6.730729094812979665807581609853656623219E3),
+  pS3 =  L(6.643843795209060298375552684423454077633E3),
+  pS4 = -L(3.817341990928606692235481812252049415993E3),
+  pS5 =  L(1.284635388402653715636722822195716476156E3),
+  pS6 = -L(2.410736125231549204856567737329112037867E2),
+  pS7 =  L(2.219191969382402856557594215833622156220E1),
+  pS8 = -L(7.249056260830627156600112195061001036533E-1),
+  pS9 =  L(1.055923570937755300061509030361395604448E-3),
 
-  qS0 = -5.014859407482408326519083440151745519205E3L,
-  qS1 =  2.430653047950480068881028451580393430537E4L,
-  qS2 = -4.997904737193653607449250593976069726962E4L,
-  qS3 =  5.675712336110456923807959930107347511086E4L,
-  qS4 = -3.881523118339661268482937768522572588022E4L,
-  qS5 =  1.634202194895541569749717032234510811216E4L,
-  qS6 = -4.151452662440709301601820849901296953752E3L,
-  qS7 =  5.956050864057192019085175976175695342168E2L,
-  qS8 = -4.175375777334867025769346564600396877176E1L;
+  qS0 = -L(5.014859407482408326519083440151745519205E3),
+  qS1 =  L(2.430653047950480068881028451580393430537E4),
+  qS2 = -L(4.997904737193653607449250593976069726962E4),
+  qS3 =  L(5.675712336110456923807959930107347511086E4),
+  qS4 = -L(3.881523118339661268482937768522572588022E4),
+  qS5 =  L(1.634202194895541569749717032234510811216E4),
+  qS6 = -L(4.151452662440709301601820849901296953752E3),
+  qS7 =  L(5.956050864057192019085175976175695342168E2),
+  qS8 = -L(4.175375777334867025769346564600396877176E1);
   /* 1.000000000000000000000000000000000000000E0 */
 
 ldouble_t
@@ -204,7 +204,7 @@ __ieee754_acosl (ldouble_t x)
 	  return z;
 	}
       /* .4375 <= |x| < .5 */
-      t = u.value - 0.4375L;
+      t = u.value - L(0.4375);
       p = ((((((((((P10 * t
 		    + P9) * t
 		   + P8) * t
@@ -237,7 +237,7 @@ __ieee754_acosl (ldouble_t x)
     }
   else if (ix < 0x3ffe4000)	/* |x| < 0.625 */
     {
-      t = u.value - 0.5625L;
+      t = u.value - L(0.5625);
       p = ((((((((((rS10 * t
 		    + rS9) * t
 		   + rS8) * t
diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c
index 0909acc..65ee7a7 100644
--- a/sysdeps/ieee754/ldbl-128/e_asinl.c
+++ b/sysdeps/ieee754/ldbl-128/e_asinl.c
@@ -64,67 +64,67 @@
 #include <math_private.h>
 
 static const ldouble_t
-  one = 1.0L,
-  huge = 1.0e+4932L,
-  pio2_hi = 1.5707963267948966192313216916397514420986L,
-  pio2_lo = 4.3359050650618905123985220130216759843812E-35L,
-  pio4_hi = 7.8539816339744830961566084581987569936977E-1L,
+  one = 1.0,
+  huge = L(1.0e+4932),
+  pio2_hi = L(1.5707963267948966192313216916397514420986),
+  pio2_lo = L(4.3359050650618905123985220130216759843812E-35),
+  pio4_hi = L(7.8539816339744830961566084581987569936977E-1),
 
 	/* coefficient for R(x^2) */
 
   /* asin(x) = x + x^3 pS(x^2) / qS(x^2)
      0 <= x <= 0.5
      peak relative error 1.9e-35  */
-  pS0 = -8.358099012470680544198472400254596543711E2L,
-  pS1 =  3.674973957689619490312782828051860366493E3L,
-  pS2 = -6.730729094812979665807581609853656623219E3L,
-  pS3 =  6.643843795209060298375552684423454077633E3L,
-  pS4 = -3.817341990928606692235481812252049415993E3L,
-  pS5 =  1.284635388402653715636722822195716476156E3L,
-  pS6 = -2.410736125231549204856567737329112037867E2L,
-  pS7 =  2.219191969382402856557594215833622156220E1L,
-  pS8 = -7.249056260830627156600112195061001036533E-1L,
-  pS9 =  1.055923570937755300061509030361395604448E-3L,
+  pS0 = -L(8.358099012470680544198472400254596543711E2),
+  pS1 =  L(3.674973957689619490312782828051860366493E3),
+  pS2 = -L(6.730729094812979665807581609853656623219E3),
+  pS3 =  L(6.643843795209060298375552684423454077633E3),
+  pS4 = -L(3.817341990928606692235481812252049415993E3),
+  pS5 =  L(1.284635388402653715636722822195716476156E3),
+  pS6 = -L(2.410736125231549204856567737329112037867E2),
+  pS7 =  L(2.219191969382402856557594215833622156220E1),
+  pS8 = -L(7.249056260830627156600112195061001036533E-1),
+  pS9 =  L(1.055923570937755300061509030361395604448E-3),
 
-  qS0 = -5.014859407482408326519083440151745519205E3L,
-  qS1 =  2.430653047950480068881028451580393430537E4L,
-  qS2 = -4.997904737193653607449250593976069726962E4L,
-  qS3 =  5.675712336110456923807959930107347511086E4L,
-  qS4 = -3.881523118339661268482937768522572588022E4L,
-  qS5 =  1.634202194895541569749717032234510811216E4L,
-  qS6 = -4.151452662440709301601820849901296953752E3L,
-  qS7 =  5.956050864057192019085175976175695342168E2L,
-  qS8 = -4.175375777334867025769346564600396877176E1L,
+  qS0 = -L(5.014859407482408326519083440151745519205E3),
+  qS1 =  L(2.430653047950480068881028451580393430537E4),
+  qS2 = -L(4.997904737193653607449250593976069726962E4),
+  qS3 =  L(5.675712336110456923807959930107347511086E4),
+  qS4 = -L(3.881523118339661268482937768522572588022E4),
+  qS5 =  L(1.634202194895541569749717032234510811216E4),
+  qS6 = -L(4.151452662440709301601820849901296953752E3),
+  qS7 =  L(5.956050864057192019085175976175695342168E2),
+  qS8 = -L(4.175375777334867025769346564600396877176E1),
   /* 1.000000000000000000000000000000000000000E0 */
 
   /* asin(0.5625 + x) = asin(0.5625) + x rS(x) / sS(x)
      -0.0625 <= x <= 0.0625
      peak relative error 3.3e-35  */
-  rS0 = -5.619049346208901520945464704848780243887E0L,
-  rS1 =  4.460504162777731472539175700169871920352E1L,
-  rS2 = -1.317669505315409261479577040530751477488E2L,
-  rS3 =  1.626532582423661989632442410808596009227E2L,
-  rS4 = -3.144806644195158614904369445440583873264E1L,
-  rS5 = -9.806674443470740708765165604769099559553E1L,
-  rS6 =  5.708468492052010816555762842394927806920E1L,
-  rS7 =  1.396540499232262112248553357962639431922E1L,
-  rS8 = -1.126243289311910363001762058295832610344E1L,
-  rS9 = -4.956179821329901954211277873774472383512E-1L,
-  rS10 =  3.313227657082367169241333738391762525780E-1L,
+  rS0 = -L(5.619049346208901520945464704848780243887E0),
+  rS1 =  L(4.460504162777731472539175700169871920352E1),
+  rS2 = -L(1.317669505315409261479577040530751477488E2),
+  rS3 =  L(1.626532582423661989632442410808596009227E2),
+  rS4 = -L(3.144806644195158614904369445440583873264E1),
+  rS5 = -L(9.806674443470740708765165604769099559553E1),
+  rS6 =  L(5.708468492052010816555762842394927806920E1),
+  rS7 =  L(1.396540499232262112248553357962639431922E1),
+  rS8 = -L(1.126243289311910363001762058295832610344E1),
+  rS9 = -L(4.956179821329901954211277873774472383512E-1),
+  rS10 =  L(3.313227657082367169241333738391762525780E-1),
 
-  sS0 = -4.645814742084009935700221277307007679325E0L,
-  sS1 =  3.879074822457694323970438316317961918430E1L,
-  sS2 = -1.221986588013474694623973554726201001066E2L,
-  sS3 =  1.658821150347718105012079876756201905822E2L,
-  sS4 = -4.804379630977558197953176474426239748977E1L,
-  sS5 = -1.004296417397316948114344573811562952793E2L,
-  sS6 =  7.530281592861320234941101403870010111138E1L,
-  sS7 =  1.270735595411673647119592092304357226607E1L,
-  sS8 = -1.815144839646376500705105967064792930282E1L,
-  sS9 = -7.821597334910963922204235247786840828217E-2L,
+  sS0 = -L(4.645814742084009935700221277307007679325E0),
+  sS1 =  L(3.879074822457694323970438316317961918430E1),
+  sS2 = -L(1.221986588013474694623973554726201001066E2),
+  sS3 =  L(1.658821150347718105012079876756201905822E2),
+  sS4 = -L(4.804379630977558197953176474426239748977E1),
+  sS5 = -L(1.004296417397316948114344573811562952793E2),
+  sS6 =  L(7.530281592861320234941101403870010111138E1),
+  sS7 =  L(1.270735595411673647119592092304357226607E1),
+  sS8 = -L(1.815144839646376500705105967064792930282E1),
+  sS9 = -L(7.821597334910963922204235247786840828217E-2),
   /*  1.000000000000000000000000000000000000000E0 */
 
- asinr5625 =  5.9740641664535021430381036628424864397707E-1L;
+ asinr5625 =  L(5.9740641664535021430381036628424864397707E-1);
 
 
 
diff --git a/sysdeps/ieee754/ldbl-128/e_atan2l.c b/sysdeps/ieee754/ldbl-128/e_atan2l.c
index 6a9eb26..6492970 100644
--- a/sysdeps/ieee754/ldbl-128/e_atan2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_atan2l.c
@@ -44,12 +44,12 @@
 #include <math_private.h>
 
 static const ldouble_t
-tiny  = 1.0e-4900L,
+tiny  = L(1.0e-4900),
 zero  = 0.0,
-pi_o_4  = 7.85398163397448309615660845819875699e-01L, /* 3ffe921fb54442d18469898cc51701b8 */
-pi_o_2  = 1.57079632679489661923132169163975140e+00L, /* 3fff921fb54442d18469898cc51701b8 */
-pi      = 3.14159265358979323846264338327950280e+00L, /* 4000921fb54442d18469898cc51701b8 */
-pi_lo   = 8.67181013012378102479704402604335225e-35L; /* 3f8dcd129024e088a67cc74020bbea64 */
+pi_o_4  = L(7.85398163397448309615660845819875699e-01), /* 3ffe921fb54442d18469898cc51701b8 */
+pi_o_2  = L(1.57079632679489661923132169163975140e+00), /* 3fff921fb54442d18469898cc51701b8 */
+pi      = L(3.14159265358979323846264338327950280e+00), /* 4000921fb54442d18469898cc51701b8 */
+pi_lo   = L(8.67181013012378102479704402604335225e-35); /* 3f8dcd129024e088a67cc74020bbea64 */
 
 ldouble_t
 __ieee754_atan2l(ldouble_t y, ldouble_t x)
@@ -86,8 +86,8 @@ __ieee754_atan2l(ldouble_t y, ldouble_t x)
 		switch(m) {
 		    case 0: return  pi_o_4+tiny;/* atan(+INF,+INF) */
 		    case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
-		    case 2: return  3.0L*pi_o_4+tiny;/*atan(+INF,-INF)*/
-		    case 3: return -3.0L*pi_o_4-tiny;/*atan(-INF,-INF)*/
+		    case 2: return  3*pi_o_4+tiny;/*atan(+INF,-INF)*/
+		    case 3: return -3*pi_o_4-tiny;/*atan(-INF,-INF)*/
 		}
 	    } else {
 		switch(m) {
@@ -103,8 +103,8 @@ __ieee754_atan2l(ldouble_t y, ldouble_t x)
 
     /* compute y/x */
 	k = (iy-ix)>>48;
-	if(k > 120) z=pi_o_2+0.5L*pi_lo;	/* |y/x| >  2**120 */
-	else if(hx<0&&k<-120) z=0.0L;		/* |y|/x < -2**120 */
+	if(k > 120) z=pi_o_2+L(0.5)*pi_lo;	/* |y/x| >  2**120 */
+	else if(hx<0&&k<-120) z=0;		/* |y|/x < -2**120 */
 	else z=__atanl(fabsl(y/x));		/* safe to do y/x */
 	switch (m) {
 	    case 0: return       z  ;	/* atan(+,+) */
diff --git a/sysdeps/ieee754/ldbl-128/e_atanhl.c b/sysdeps/ieee754/ldbl-128/e_atanhl.c
index 20a4604..0d57fd2 100644
--- a/sysdeps/ieee754/ldbl-128/e_atanhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_atanhl.c
@@ -36,9 +36,9 @@
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t one = 1.0L, huge = 1e4900L;
+static const ldouble_t one = 1, huge = L(1e4900);
 
-static const ldouble_t zero = 0.0L;
+static const ldouble_t zero = 0;
 
 ldouble_t
 __ieee754_atanhl(ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/e_coshl.c b/sysdeps/ieee754/ldbl-128/e_coshl.c
index 5eb08c5..6f17b28 100644
--- a/sysdeps/ieee754/ldbl-128/e_coshl.c
+++ b/sysdeps/ieee754/ldbl-128/e_coshl.c
@@ -54,8 +54,8 @@
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t one = 1.0, half = 0.5, huge = 1.0e4900L,
-ovf_thresh = 1.1357216553474703894801348310092223067821E4L;
+static const ldouble_t one = 1, half = 0.5, huge = L(1.0e4900),
+ovf_thresh = L(1.1357216553474703894801348310092223067821E4);
 
 ldouble_t
 __ieee754_coshl (ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/e_exp10l.c b/sysdeps/ieee754/ldbl-128/e_exp10l.c
index 5d4f69a..b6c159f 100644
--- a/sysdeps/ieee754/ldbl-128/e_exp10l.c
+++ b/sysdeps/ieee754/ldbl-128/e_exp10l.c
@@ -19,8 +19,8 @@
 #include <math_private.h>
 #include <float.h>
 
-static const ldouble_t log10_high = 0x2.4d763776aaa2bp0L;
-static const ldouble_t log10_low = 0x5.ba95b58ae0b4c28a38a3fb3e7698p-60L;
+static const ldouble_t log10_high = L(0x2.4d763776aaa2bp0);
+static const ldouble_t log10_low = L(0x5.ba95b58ae0b4c28a38a3fb3e7698p-60);
 
 ldouble_t
 __ieee754_exp10l (ldouble_t arg)
@@ -35,8 +35,8 @@ __ieee754_exp10l (ldouble_t arg)
     return LDBL_MIN * LDBL_MIN;
   else if (arg > LDBL_MAX_10_EXP + 1)
     return LDBL_MAX * LDBL_MAX;
-  else if (fabsl (arg) < 0x1p-116L)
-    return 1.0L;
+  else if (fabsl (arg) < L(0x1p-116))
+    return 1;
 
   u.value = arg;
   u.parts64.lsw &= 0xfe00000000000000LL;
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c
index 0427021..5c15d4e 100644
--- a/sysdeps/ieee754/ldbl-128/e_expl.c
+++ b/sysdeps/ieee754/ldbl-128/e_expl.c
@@ -71,51 +71,51 @@
 static const ldouble_t C[] = {
 /* Smallest integer x for which e^x overflows.  */
 #define himark C[0]
- 11356.523406294143949491931077970765L,
+ L(11356.523406294143949491931077970765),
 
 /* Largest integer x for which e^x underflows.  */
 #define lomark C[1]
--11433.4627433362978788372438434526231L,
+L(-11433.4627433362978788372438434526231),
 
 /* 3x2^96 */
 #define THREEp96 C[2]
- 59421121885698253195157962752.0L,
+ L(59421121885698253195157962752.0),
 
 /* 3x2^103 */
 #define THREEp103 C[3]
- 30423614405477505635920876929024.0L,
+ L(30423614405477505635920876929024.0),
 
 /* 3x2^111 */
 #define THREEp111 C[4]
- 7788445287802241442795744493830144.0L,
+ L(7788445287802241442795744493830144.0),
 
 /* 1/ln(2) */
 #define M_1_LN2 C[5]
- 1.44269504088896340735992468100189204L,
+ L(1.44269504088896340735992468100189204),
 
 /* first 93 bits of ln(2) */
 #define M_LN2_0 C[6]
- 0.693147180559945309417232121457981864L,
+ L(0.693147180559945309417232121457981864),
 
 /* ln2_0 - ln(2) */
 #define M_LN2_1 C[7]
--1.94704509238074995158795957333327386E-31L,
+L(-1.94704509238074995158795957333327386E-31),
 
 /* very small number */
 #define TINY C[8]
- 1.0e-4900L,
+ L(1.0e-4900),
 
 /* 2^16383 */
 #define TWO16383 C[9]
- 5.94865747678615882542879663314003565E+4931L,
+ L(5.94865747678615882542879663314003565E+4931),
 
 /* 256 */
 #define TWO8 C[10]
- 256.0L,
+ 256,
 
 /* 32768 */
 #define TWO15 C[11]
- 32768.0L,
+ 32768,
 
 /* Chebyshev polynom coefficients for (exp(x)-1)/x */
 #define P1 C[12]
@@ -124,12 +124,12 @@ static const ldouble_t C[] = {
 #define P4 C[15]
 #define P5 C[16]
 #define P6 C[17]
- 0.5L,
- 1.66666666666666666666666666666666683E-01L,
- 4.16666666666666666666654902320001674E-02L,
- 8.33333333333333333333314659767198461E-03L,
- 1.38888888889899438565058018857254025E-03L,
- 1.98412698413981650382436541785404286E-04L,
+ L(0.5),
+ L(1.66666666666666666666666666666666683E-01),
+ L(4.16666666666666666666654902320001674E-02),
+ L(8.33333333333333333333314659767198461E-03),
+ L(1.38888888889899438565058018857254025E-03),
+ L(1.98412698413981650382436541785404286E-04),
 };
 
 ldouble_t
@@ -185,7 +185,7 @@ __ieee754_expl (ldouble_t x)
       ex2_u.ieee.exponent += n_i >> unsafe;
 
       /* Compute scale = 2^n_1.  */
-      scale_u.d = 1.0L;
+      scale_u.d = 1;
       scale_u.ieee.exponent += n_i - (n_i >> unsafe);
 
       /* Approximate e^x2 - 1, using a seventh-degree polynomial,
diff --git a/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
index e9e4c4f..c5ec2f9 100644
--- a/sysdeps/ieee754/ldbl-128/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
@@ -27,20 +27,20 @@
 
 static const ldouble_t gamma_coeff[] =
   {
-    0x1.5555555555555555555555555555p-4L,
-    -0xb.60b60b60b60b60b60b60b60b60b8p-12L,
-    0x3.4034034034034034034034034034p-12L,
-    -0x2.7027027027027027027027027028p-12L,
-    0x3.72a3c5631fe46ae1d4e700dca8f2p-12L,
-    -0x7.daac36664f1f207daac36664f1f4p-12L,
-    0x1.a41a41a41a41a41a41a41a41a41ap-8L,
-    -0x7.90a1b2c3d4e5f708192a3b4c5d7p-8L,
-    0x2.dfd2c703c0cfff430edfd2c703cp-4L,
-    -0x1.6476701181f39edbdb9ce625987dp+0L,
-    0xd.672219167002d3a7a9c886459cp+0L,
-    -0x9.cd9292e6660d55b3f712eb9e07c8p+4L,
-    0x8.911a740da740da740da740da741p+8L,
-    -0x8.d0cc570e255bf59ff6eec24b49p+12L,
+    L( 0x1.5555555555555555555555555555p-4),
+    L(-0xb.60b60b60b60b60b60b60b60b60b8p-12),
+    L( 0x3.4034034034034034034034034034p-12),
+    L(-0x2.7027027027027027027027027028p-12),
+    L( 0x3.72a3c5631fe46ae1d4e700dca8f2p-12),
+    L(-0x7.daac36664f1f207daac36664f1f4p-12),
+    L( 0x1.a41a41a41a41a41a41a41a41a41ap-8),
+    L(-0x7.90a1b2c3d4e5f708192a3b4c5d7p-8),
+    L( 0x2.dfd2c703c0cfff430edfd2c703cp-4),
+    L(-0x1.6476701181f39edbdb9ce625987dp+0),
+    L( 0xd.672219167002d3a7a9c886459cp+0),
+    L(-0x9.cd9292e6660d55b3f712eb9e07c8p+4),
+    L( 0x8.911a740da740da740da740da741p+8),
+    L(-0x8.d0cc570e255bf59ff6eec24b49p+12),
   };
 
 #define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0]))
@@ -53,26 +53,26 @@ static ldouble_t
 gammal_positive (ldouble_t x, int *exp2_adj)
 {
   int local_signgam;
-  if (x < 0.5L)
+  if (x < L(0.5))
     {
       *exp2_adj = 0;
       return __ieee754_expl (__ieee754_lgammal_r (x + 1, &local_signgam)) / x;
     }
-  else if (x <= 1.5L)
+  else if (x <= L(1.5))
     {
       *exp2_adj = 0;
       return __ieee754_expl (__ieee754_lgammal_r (x, &local_signgam));
     }
-  else if (x < 12.5L)
+  else if (x < L(12.5))
     {
       /* Adjust into the range for using exp (lgamma).  */
       *exp2_adj = 0;
-      ldouble_t n = __ceill (x - 1.5L);
+      ldouble_t n = __ceill (x - L(1.5));
       ldouble_t x_adj = x - n;
       ldouble_t eps;
       ldouble_t prod = __gamma_productl (x_adj, 0, n, &eps);
       return (__ieee754_expl (__ieee754_lgammal_r (x_adj, &local_signgam))
-	      * prod * (1.0L + eps));
+	      * prod * (1 + eps));
     }
   else
     {
@@ -80,11 +80,11 @@ gammal_positive (ldouble_t x, int *exp2_adj)
       ldouble_t x_eps = 0;
       ldouble_t x_adj = x;
       ldouble_t prod = 1;
-      if (x < 24.0L)
+      if (x < 24)
 	{
 	  /* Adjust into the range for applying Stirling's
 	     approximation.  */
-	  ldouble_t n = __ceill (24.0L - x);
+	  ldouble_t n = __ceill (24 - x);
 	  x_adj = x + n;
 	  x_eps = (x - (x_adj - n));
 	  prod = __gamma_productl (x_adj - n, x_eps, n, &eps);
@@ -101,7 +101,7 @@ gammal_positive (ldouble_t x, int *exp2_adj)
       if (x_adj_mant < M_SQRT1_2l)
 	{
 	  x_adj_log2--;
-	  x_adj_mant *= 2.0L;
+	  x_adj_mant *= 2;
 	}
       *exp2_adj = x_adj_log2 * (int) x_adj_int;
       ldouble_t ret = (__ieee754_powl (x_adj_mant, x_adj)
@@ -154,7 +154,7 @@ __ieee754_gammal_r (ldouble_t x, int *signgamp)
       return x + x;
     }
 
-  if (x >= 1756.0L)
+  if (x >= 1756)
     {
       /* Overflow.  */
       *signgamp = 0;
@@ -163,33 +163,33 @@ __ieee754_gammal_r (ldouble_t x, int *signgamp)
   else
     {
       SET_RESTORE_ROUNDL (FE_TONEAREST);
-      if (x > 0.0L)
+      if (x > 0)
 	{
 	  *signgamp = 0;
 	  int exp2_adj;
 	  ret = gammal_positive (x, &exp2_adj);
 	  ret = __scalbnl (ret, exp2_adj);
 	}
-      else if (x >= -LDBL_EPSILON / 4.0L)
+      else if (x >= -LDBL_EPSILON / 4)
 	{
 	  *signgamp = 0;
-	  ret = 1.0L / x;
+	  ret = 1 / x;
 	}
       else
 	{
 	  ldouble_t tx = __truncl (x);
-	  *signgamp = (tx == 2.0L * __truncl (tx / 2.0L)) ? -1 : 1;
-	  if (x <= -1775.0L)
+	  *signgamp = (tx == 2 * __truncl (tx / 2)) ? -1 : 1;
+	  if (x <= -1775)
 	    /* Underflow.  */
 	    ret = LDBL_MIN * LDBL_MIN;
 	  else
 	    {
 	      ldouble_t frac = tx - x;
-	      if (frac > 0.5L)
-		frac = 1.0L - frac;
-	      ldouble_t sinpix = (frac <= 0.25L
+	      if (frac > L(0.5))
+		frac = 1 - frac;
+	      ldouble_t sinpix = (frac <= L(0.25)
 				    ? __sinl (M_PIl * frac)
-				    : __cosl (M_PIl * (0.5L - frac)));
+				    : __cosl (M_PIl * (L(0.5) - frac)));
 	      int exp2_adj;
 	      ret = M_PIl / (-x * sinpix
 			     * gammal_positive (-x, &exp2_adj));
diff --git a/sysdeps/ieee754/ldbl-128/e_hypotl.c b/sysdeps/ieee754/ldbl-128/e_hypotl.c
index fb3d2ab..8f62b79 100644
--- a/sysdeps/ieee754/ldbl-128/e_hypotl.c
+++ b/sysdeps/ieee754/ldbl-128/e_hypotl.c
@@ -127,7 +127,7 @@ __ieee754_hypotl(ldouble_t x, ldouble_t y)
 	}
 	if(k!=0) {
 	    u_int64_t high;
-	    t1 = 1.0L;
+	    t1 = 1;
 	    GET_LDOUBLE_MSW64(high,t1);
 	    SET_LDOUBLE_MSW64(t1,high+(k<<48));
 	    w *= t1;
diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c
index e437a83..fa01c2d 100644
--- a/sysdeps/ieee754/ldbl-128/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j0l.c
@@ -96,33 +96,33 @@
 #include <float.h>
 
 /* 1 / sqrt(pi) */
-static const ldouble_t ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
+static const ldouble_t ONEOSQPI = L(5.6418958354775628694807945156077258584405E-1);
 /* 2 / pi */
-static const ldouble_t TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
-static const ldouble_t zero = 0.0L;
+static const ldouble_t TWOOPI = L(6.3661977236758134307553505349005744813784E-1);
+static const ldouble_t zero = 0;
 
 /* J0(x) = 1 - x^2/4 + x^2 x^2 R(x^2)
    Peak relative error 3.4e-37
    0 <= x <= 2  */
 #define NJ0_2N 6
 static const ldouble_t J0_2N[NJ0_2N + 1] = {
-  3.133239376997663645548490085151484674892E16L,
- -5.479944965767990821079467311839107722107E14L,
-  6.290828903904724265980249871997551894090E12L,
- -3.633750176832769659849028554429106299915E10L,
-  1.207743757532429576399485415069244807022E8L,
- -2.107485999925074577174305650549367415465E5L,
-  1.562826808020631846245296572935547005859E2L,
+  L(3.133239376997663645548490085151484674892E16),
+ -L(5.479944965767990821079467311839107722107E14),
+  L(6.290828903904724265980249871997551894090E12),
+ -L(3.633750176832769659849028554429106299915E10),
+  L(1.207743757532429576399485415069244807022E8),
+ -L(2.107485999925074577174305650549367415465E5),
+  L(1.562826808020631846245296572935547005859E2),
 };
 #define NJ0_2D 6
 static const ldouble_t J0_2D[NJ0_2D + 1] = {
-  2.005273201278504733151033654496928968261E18L,
-  2.063038558793221244373123294054149790864E16L,
-  1.053350447931127971406896594022010524994E14L,
-  3.496556557558702583143527876385508882310E11L,
-  8.249114511878616075860654484367133976306E8L,
-  1.402965782449571800199759247964242790589E6L,
-  1.619910762853439600957801751815074787351E3L,
+  L(2.005273201278504733151033654496928968261E18),
+  L(2.063038558793221244373123294054149790864E16),
+  L(1.053350447931127971406896594022010524994E14),
+  L(3.496556557558702583143527876385508882310E11),
+  L(8.249114511878616075860654484367133976306E8),
+  L(1.402965782449571800199759247964242790589E6),
+  L(1.619910762853439600957801751815074787351E3),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -131,29 +131,29 @@ static const ldouble_t J0_2D[NJ0_2D + 1] = {
    Peak relative error 3.3e-36  */
 #define NP16_IN 9
 static const ldouble_t P16_IN[NP16_IN + 1] = {
-  -1.901689868258117463979611259731176301065E-16L,
-  -1.798743043824071514483008340803573980931E-13L,
-  -6.481746687115262291873324132944647438959E-11L,
-  -1.150651553745409037257197798528294248012E-8L,
-  -1.088408467297401082271185599507222695995E-6L,
-  -5.551996725183495852661022587879817546508E-5L,
-  -1.477286941214245433866838787454880214736E-3L,
-  -1.882877976157714592017345347609200402472E-2L,
-  -9.620983176855405325086530374317855880515E-2L,
-  -1.271468546258855781530458854476627766233E-1L,
+  -L(1.901689868258117463979611259731176301065E-16),
+  -L(1.798743043824071514483008340803573980931E-13),
+  -L(6.481746687115262291873324132944647438959E-11),
+  -L(1.150651553745409037257197798528294248012E-8),
+  -L(1.088408467297401082271185599507222695995E-6),
+  -L(5.551996725183495852661022587879817546508E-5),
+  -L(1.477286941214245433866838787454880214736E-3),
+  -L(1.882877976157714592017345347609200402472E-2),
+  -L(9.620983176855405325086530374317855880515E-2),
+  -L(1.271468546258855781530458854476627766233E-1),
 };
 #define NP16_ID 9
 static const ldouble_t P16_ID[NP16_ID + 1] = {
-  2.704625590411544837659891569420764475007E-15L,
-  2.562526347676857624104306349421985403573E-12L,
-  9.259137589952741054108665570122085036246E-10L,
-  1.651044705794378365237454962653430805272E-7L,
-  1.573561544138733044977714063100859136660E-5L,
-  8.134482112334882274688298469629884804056E-4L,
-  2.219259239404080863919375103673593571689E-2L,
-  2.976990606226596289580242451096393862792E-1L,
-  1.713895630454693931742734911930937246254E0L,
-  3.231552290717904041465898249160757368855E0L,
+  L(2.704625590411544837659891569420764475007E-15),
+  L(2.562526347676857624104306349421985403573E-12),
+  L(9.259137589952741054108665570122085036246E-10),
+  L(1.651044705794378365237454962653430805272E-7),
+  L(1.573561544138733044977714063100859136660E-5),
+  L(8.134482112334882274688298469629884804056E-4),
+  L(2.219259239404080863919375103673593571689E-2),
+  L(2.976990606226596289580242451096393862792E-1),
+  L(1.713895630454693931742734911930937246254E0),
+  L(3.231552290717904041465898249160757368855E0),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -162,31 +162,31 @@ static const ldouble_t P16_ID[NP16_ID + 1] = {
     Peak relative error 2.4e-35  */
 #define NP8_16N 10
 static const ldouble_t P8_16N[NP8_16N + 1] = {
-  -2.335166846111159458466553806683579003632E-15L,
-  -1.382763674252402720401020004169367089975E-12L,
-  -3.192160804534716696058987967592784857907E-10L,
-  -3.744199606283752333686144670572632116899E-8L,
-  -2.439161236879511162078619292571922772224E-6L,
-  -9.068436986859420951664151060267045346549E-5L,
-  -1.905407090637058116299757292660002697359E-3L,
-  -2.164456143936718388053842376884252978872E-2L,
-  -1.212178415116411222341491717748696499966E-1L,
-  -2.782433626588541494473277445959593334494E-1L,
-  -1.670703190068873186016102289227646035035E-1L,
+  -L(2.335166846111159458466553806683579003632E-15),
+  -L(1.382763674252402720401020004169367089975E-12),
+  -L(3.192160804534716696058987967592784857907E-10),
+  -L(3.744199606283752333686144670572632116899E-8),
+  -L(2.439161236879511162078619292571922772224E-6),
+  -L(9.068436986859420951664151060267045346549E-5),
+  -L(1.905407090637058116299757292660002697359E-3),
+  -L(2.164456143936718388053842376884252978872E-2),
+  -L(1.212178415116411222341491717748696499966E-1),
+  -L(2.782433626588541494473277445959593334494E-1),
+  -L(1.670703190068873186016102289227646035035E-1),
 };
 #define NP8_16D 10
 static const ldouble_t P8_16D[NP8_16D + 1] = {
-  3.321126181135871232648331450082662856743E-14L,
-  1.971894594837650840586859228510007703641E-11L,
-  4.571144364787008285981633719513897281690E-9L,
-  5.396419143536287457142904742849052402103E-7L,
-  3.551548222385845912370226756036899901549E-5L,
-  1.342353874566932014705609788054598013516E-3L,
-  2.899133293006771317589357444614157734385E-2L,
-  3.455374978185770197704507681491574261545E-1L,
-  2.116616964297512311314454834712634820514E0L,
-  5.850768316827915470087758636881584174432E0L,
-  5.655273858938766830855753983631132928968E0L,
+  L(3.321126181135871232648331450082662856743E-14),
+  L(1.971894594837650840586859228510007703641E-11),
+  L(4.571144364787008285981633719513897281690E-9),
+  L(5.396419143536287457142904742849052402103E-7),
+  L(3.551548222385845912370226756036899901549E-5),
+  L(1.342353874566932014705609788054598013516E-3),
+  L(2.899133293006771317589357444614157734385E-2),
+  L(3.455374978185770197704507681491574261545E-1),
+  L(2.116616964297512311314454834712634820514E0),
+  L(5.850768316827915470087758636881584174432E0),
+  L(5.655273858938766830855753983631132928968E0),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -195,30 +195,30 @@ static const ldouble_t P8_16D[NP8_16D + 1] = {
   Peak relative error 2.7e-35  */
 #define NP5_8N 10
 static const ldouble_t P5_8N[NP5_8N + 1] = {
-  -1.270478335089770355749591358934012019596E-12L,
-  -4.007588712145412921057254992155810347245E-10L,
-  -4.815187822989597568124520080486652009281E-8L,
-  -2.867070063972764880024598300408284868021E-6L,
-  -9.218742195161302204046454768106063638006E-5L,
-  -1.635746821447052827526320629828043529997E-3L,
-  -1.570376886640308408247709616497261011707E-2L,
-  -7.656484795303305596941813361786219477807E-2L,
-  -1.659371030767513274944805479908858628053E-1L,
-  -1.185340550030955660015841796219919804915E-1L,
-  -8.920026499909994671248893388013790366712E-3L,
+  -L(1.270478335089770355749591358934012019596E-12),
+  -L(4.007588712145412921057254992155810347245E-10),
+  -L(4.815187822989597568124520080486652009281E-8),
+  -L(2.867070063972764880024598300408284868021E-6),
+  -L(9.218742195161302204046454768106063638006E-5),
+  -L(1.635746821447052827526320629828043529997E-3),
+  -L(1.570376886640308408247709616497261011707E-2),
+  -L(7.656484795303305596941813361786219477807E-2),
+  -L(1.659371030767513274944805479908858628053E-1),
+  -L(1.185340550030955660015841796219919804915E-1),
+  -L(8.920026499909994671248893388013790366712E-3),
 };
 #define NP5_8D 9
 static const ldouble_t P5_8D[NP5_8D + 1] = {
-  1.806902521016705225778045904631543990314E-11L,
-  5.728502760243502431663549179135868966031E-9L,
-  6.938168504826004255287618819550667978450E-7L,
-  4.183769964807453250763325026573037785902E-5L,
-  1.372660678476925468014882230851637878587E-3L,
-  2.516452105242920335873286419212708961771E-2L,
-  2.550502712902647803796267951846557316182E-1L,
-  1.365861559418983216913629123778747617072E0L,
-  3.523825618308783966723472468855042541407E0L,
-  3.656365803506136165615111349150536282434E0L,
+  L(1.806902521016705225778045904631543990314E-11),
+  L(5.728502760243502431663549179135868966031E-9),
+  L(6.938168504826004255287618819550667978450E-7),
+  L(4.183769964807453250763325026573037785902E-5),
+  L(1.372660678476925468014882230851637878587E-3),
+  L(2.516452105242920335873286419212708961771E-2),
+  L(2.550502712902647803796267951846557316182E-1),
+  L(1.365861559418983216913629123778747617072E0),
+  L(3.523825618308783966723472468855042541407E0),
+  L(3.656365803506136165615111349150536282434E0),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -227,29 +227,29 @@ static const ldouble_t P5_8D[NP5_8D + 1] = {
    0.1875 <= 1/x <= 0.25  */
 #define NP4_5N 9
 static const ldouble_t P4_5N[NP4_5N + 1] = {
-  -9.791405771694098960254468859195175708252E-10L,
-  -1.917193059944531970421626610188102836352E-7L,
-  -1.393597539508855262243816152893982002084E-5L,
-  -4.881863490846771259880606911667479860077E-4L,
-  -8.946571245022470127331892085881699269853E-3L,
-  -8.707474232568097513415336886103899434251E-2L,
-  -4.362042697474650737898551272505525973766E-1L,
-  -1.032712171267523975431451359962375617386E0L,
-  -9.630502683169895107062182070514713702346E-1L,
-  -2.251804386252969656586810309252357233320E-1L,
+  -L(9.791405771694098960254468859195175708252E-10),
+  -L(1.917193059944531970421626610188102836352E-7),
+  -L(1.393597539508855262243816152893982002084E-5),
+  -L(4.881863490846771259880606911667479860077E-4),
+  -L(8.946571245022470127331892085881699269853E-3),
+  -L(8.707474232568097513415336886103899434251E-2),
+  -L(4.362042697474650737898551272505525973766E-1),
+  -L(1.032712171267523975431451359962375617386E0),
+  -L(9.630502683169895107062182070514713702346E-1),
+  -L(2.251804386252969656586810309252357233320E-1),
 };
 #define NP4_5D 9
 static const ldouble_t P4_5D[NP4_5D + 1] = {
-  1.392555487577717669739688337895791213139E-8L,
-  2.748886559120659027172816051276451376854E-6L,
-  2.024717710644378047477189849678576659290E-4L,
-  7.244868609350416002930624752604670292469E-3L,
-  1.373631762292244371102989739300382152416E-1L,
-  1.412298581400224267910294815260613240668E0L,
-  7.742495637843445079276397723849017617210E0L,
-  2.138429269198406512028307045259503811861E1L,
-  2.651547684548423476506826951831712762610E1L,
-  1.167499382465291931571685222882909166935E1L,
+  L(1.392555487577717669739688337895791213139E-8),
+  L(2.748886559120659027172816051276451376854E-6),
+  L(2.024717710644378047477189849678576659290E-4),
+  L(7.244868609350416002930624752604670292469E-3),
+  L(1.373631762292244371102989739300382152416E-1),
+  L(1.412298581400224267910294815260613240668E0),
+  L(7.742495637843445079276397723849017617210E0),
+  L(2.138429269198406512028307045259503811861E1),
+  L(2.651547684548423476506826951831712762610E1),
+  L(1.167499382465291931571685222882909166935E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -258,29 +258,29 @@ static const ldouble_t P4_5D[NP4_5D + 1] = {
    0.25 <= 1/x <= 0.3125  */
 #define NP3r2_4N 9
 static const ldouble_t P3r2_4N[NP3r2_4N + 1] = {
-  -2.589155123706348361249809342508270121788E-8L,
-  -3.746254369796115441118148490849195516593E-6L,
-  -1.985595497390808544622893738135529701062E-4L,
-  -5.008253705202932091290132760394976551426E-3L,
-  -6.529469780539591572179155511840853077232E-2L,
-  -4.468736064761814602927408833818990271514E-1L,
-  -1.556391252586395038089729428444444823380E0L,
-  -2.533135309840530224072920725976994981638E0L,
-  -1.605509621731068453869408718565392869560E0L,
-  -2.518966692256192789269859830255724429375E-1L,
+  -L(2.589155123706348361249809342508270121788E-8),
+  -L(3.746254369796115441118148490849195516593E-6),
+  -L(1.985595497390808544622893738135529701062E-4),
+  -L(5.008253705202932091290132760394976551426E-3),
+  -L(6.529469780539591572179155511840853077232E-2),
+  -L(4.468736064761814602927408833818990271514E-1),
+  -L(1.556391252586395038089729428444444823380E0),
+  -L(2.533135309840530224072920725976994981638E0),
+  -L(1.605509621731068453869408718565392869560E0),
+  -L(2.518966692256192789269859830255724429375E-1),
 };
 #define NP3r2_4D 9
 static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
-  3.682353957237979993646169732962573930237E-7L,
-  5.386741661883067824698973455566332102029E-5L,
-  2.906881154171822780345134853794241037053E-3L,
-  7.545832595801289519475806339863492074126E-2L,
-  1.029405357245594877344360389469584526654E0L,
-  7.565706120589873131187989560509757626725E0L,
-  2.951172890699569545357692207898667665796E1L,
-  5.785723537170311456298467310529815457536E1L,
-  5.095621464598267889126015412522773474467E1L,
-  1.602958484169953109437547474953308401442E1L,
+  L(3.682353957237979993646169732962573930237E-7),
+  L(5.386741661883067824698973455566332102029E-5),
+  L(2.906881154171822780345134853794241037053E-3),
+  L(7.545832595801289519475806339863492074126E-2),
+  L(1.029405357245594877344360389469584526654E0),
+  L(7.565706120589873131187989560509757626725E0),
+  L(2.951172890699569545357692207898667665796E1),
+  L(5.785723537170311456298467310529815457536E1),
+  L(5.095621464598267889126015412522773474467E1),
+  L(1.602958484169953109437547474953308401442E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -289,28 +289,28 @@ static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
    0.3125 <= 1/x <= 0.375  */
 #define NP2r7_3r2N 9
 static const ldouble_t P2r7_3r2N[NP2r7_3r2N + 1] = {
-  -1.917322340814391131073820537027234322550E-7L,
-  -1.966595744473227183846019639723259011906E-5L,
-  -7.177081163619679403212623526632690465290E-4L,
-  -1.206467373860974695661544653741899755695E-2L,
-  -1.008656452188539812154551482286328107316E-1L,
-  -4.216016116408810856620947307438823892707E-1L,
-  -8.378631013025721741744285026537009814161E-1L,
-  -6.973895635309960850033762745957946272579E-1L,
-  -1.797864718878320770670740413285763554812E-1L,
-  -4.098025357743657347681137871388402849581E-3L,
+  -L(1.917322340814391131073820537027234322550E-7),
+  -L(1.966595744473227183846019639723259011906E-5),
+  -L(7.177081163619679403212623526632690465290E-4),
+  -L(1.206467373860974695661544653741899755695E-2),
+  -L(1.008656452188539812154551482286328107316E-1),
+  -L(4.216016116408810856620947307438823892707E-1),
+  -L(8.378631013025721741744285026537009814161E-1),
+  -L(6.973895635309960850033762745957946272579E-1),
+  -L(1.797864718878320770670740413285763554812E-1),
+  -L(4.098025357743657347681137871388402849581E-3),
 };
 #define NP2r7_3r2D 8
 static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
-  2.726858489303036441686496086962545034018E-6L,
-  2.840430827557109238386808968234848081424E-4L,
-  1.063826772041781947891481054529454088832E-2L,
-  1.864775537138364773178044431045514405468E-1L,
-  1.665660052857205170440952607701728254211E0L,
-  7.723745889544331153080842168958348568395E0L,
-  1.810726427571829798856428548102077799835E1L,
-  1.986460672157794440666187503833545388527E1L,
-  8.645503204552282306364296517220055815488E0L,
+  L(2.726858489303036441686496086962545034018E-6),
+  L(2.840430827557109238386808968234848081424E-4),
+  L(1.063826772041781947891481054529454088832E-2),
+  L(1.864775537138364773178044431045514405468E-1),
+  L(1.665660052857205170440952607701728254211E0),
+  L(7.723745889544331153080842168958348568395E0),
+  L(1.810726427571829798856428548102077799835E1),
+  L(1.986460672157794440666187503833545388527E1),
+  L(8.645503204552282306364296517220055815488E0),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -319,28 +319,28 @@ static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
    0.3125 <= 1/x <= 0.4375  */
 #define NP2r3_2r7N 9
 static const ldouble_t P2r3_2r7N[NP2r3_2r7N + 1] = {
-  -1.594642785584856746358609622003310312622E-6L,
-  -1.323238196302221554194031733595194539794E-4L,
-  -3.856087818696874802689922536987100372345E-3L,
-  -5.113241710697777193011470733601522047399E-2L,
-  -3.334229537209911914449990372942022350558E-1L,
-  -1.075703518198127096179198549659283422832E0L,
-  -1.634174803414062725476343124267110981807E0L,
-  -1.030133247434119595616826842367268304880E0L,
-  -1.989811539080358501229347481000707289391E-1L,
-  -3.246859189246653459359775001466924610236E-3L,
+  -L(1.594642785584856746358609622003310312622E-6),
+  -L(1.323238196302221554194031733595194539794E-4),
+  -L(3.856087818696874802689922536987100372345E-3),
+  -L(5.113241710697777193011470733601522047399E-2),
+  -L(3.334229537209911914449990372942022350558E-1),
+  -L(1.075703518198127096179198549659283422832E0),
+  -L(1.634174803414062725476343124267110981807E0),
+  -L(1.030133247434119595616826842367268304880E0),
+  -L(1.989811539080358501229347481000707289391E-1),
+  -L(3.246859189246653459359775001466924610236E-3),
 };
 #define NP2r3_2r7D 8
 static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
-  2.267936634217251403663034189684284173018E-5L,
-  1.918112982168673386858072491437971732237E-3L,
-  5.771704085468423159125856786653868219522E-2L,
-  8.056124451167969333717642810661498890507E-1L,
-  5.687897967531010276788680634413789328776E0L,
-  2.072596760717695491085444438270778394421E1L,
-  3.801722099819929988585197088613160496684E1L,
-  3.254620235902912339534998592085115836829E1L,
-  1.104847772130720331801884344645060675036E1L,
+  L(2.267936634217251403663034189684284173018E-5),
+  L(1.918112982168673386858072491437971732237E-3),
+  L(5.771704085468423159125856786653868219522E-2),
+  L(8.056124451167969333717642810661498890507E-1),
+  L(5.687897967531010276788680634413789328776E0),
+  L(2.072596760717695491085444438270778394421E1),
+  L(3.801722099819929988585197088613160496684E1),
+  L(3.254620235902912339534998592085115836829E1),
+  L(1.104847772130720331801884344645060675036E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -349,27 +349,27 @@ static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
    0.4375 <= 1/x <= 0.5  */
 #define NP2_2r3N 8
 static const ldouble_t P2_2r3N[NP2_2r3N + 1] = {
-  -1.001042324337684297465071506097365389123E-4L,
-  -6.289034524673365824853547252689991418981E-3L,
-  -1.346527918018624234373664526930736205806E-1L,
-  -1.268808313614288355444506172560463315102E0L,
-  -5.654126123607146048354132115649177406163E0L,
-  -1.186649511267312652171775803270911971693E1L,
-  -1.094032424931998612551588246779200724257E1L,
-  -3.728792136814520055025256353193674625267E0L,
-  -3.000348318524471807839934764596331810608E-1L,
+  -L(1.001042324337684297465071506097365389123E-4),
+  -L(6.289034524673365824853547252689991418981E-3),
+  -L(1.346527918018624234373664526930736205806E-1),
+  -L(1.268808313614288355444506172560463315102E0),
+  -L(5.654126123607146048354132115649177406163E0),
+  -L(1.186649511267312652171775803270911971693E1),
+  -L(1.094032424931998612551588246779200724257E1),
+  -L(3.728792136814520055025256353193674625267E0),
+  -L(3.000348318524471807839934764596331810608E-1),
 };
 #define NP2_2r3D 8
 static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
-  1.423705538269770974803901422532055612980E-3L,
-  9.171476630091439978533535167485230575894E-2L,
-  2.049776318166637248868444600215942828537E0L,
-  2.068970329743769804547326701946144899583E1L,
-  1.025103500560831035592731539565060347709E2L,
-  2.528088049697570728252145557167066708284E2L,
-  2.992160327587558573740271294804830114205E2L,
-  1.540193761146551025832707739468679973036E2L,
-  2.779516701986912132637672140709452502650E1L,
+  L(1.423705538269770974803901422532055612980E-3),
+  L(9.171476630091439978533535167485230575894E-2),
+  L(2.049776318166637248868444600215942828537E0),
+  L(2.068970329743769804547326701946144899583E1),
+  L(1.025103500560831035592731539565060347709E2),
+  L(2.528088049697570728252145557167066708284E2),
+  L(2.992160327587558573740271294804830114205E2),
+  L(1.540193761146551025832707739468679973036E2),
+  L(2.779516701986912132637672140709452502650E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -379,30 +379,30 @@ static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
    0 <= 1/x <= .0625  */
 #define NQ16_IN 10
 static const ldouble_t Q16_IN[NQ16_IN + 1] = {
-  2.343640834407975740545326632205999437469E-18L,
-  2.667978112927811452221176781536278257448E-15L,
-  1.178415018484555397390098879501969116536E-12L,
-  2.622049767502719728905924701288614016597E-10L,
-  3.196908059607618864801313380896308968673E-8L,
-  2.179466154171673958770030655199434798494E-6L,
-  8.139959091628545225221976413795645177291E-5L,
-  1.563900725721039825236927137885747138654E-3L,
-  1.355172364265825167113562519307194840307E-2L,
-  3.928058355906967977269780046844768588532E-2L,
-  1.107891967702173292405380993183694932208E-2L,
+  L(2.343640834407975740545326632205999437469E-18),
+  L(2.667978112927811452221176781536278257448E-15),
+  L(1.178415018484555397390098879501969116536E-12),
+  L(2.622049767502719728905924701288614016597E-10),
+  L(3.196908059607618864801313380896308968673E-8),
+  L(2.179466154171673958770030655199434798494E-6),
+  L(8.139959091628545225221976413795645177291E-5),
+  L(1.563900725721039825236927137885747138654E-3),
+  L(1.355172364265825167113562519307194840307E-2),
+  L(3.928058355906967977269780046844768588532E-2),
+  L(1.107891967702173292405380993183694932208E-2),
 };
 #define NQ16_ID 9
 static const ldouble_t Q16_ID[NQ16_ID + 1] = {
-  3.199850952578356211091219295199301766718E-17L,
-  3.652601488020654842194486058637953363918E-14L,
-  1.620179741394865258354608590461839031281E-11L,
-  3.629359209474609630056463248923684371426E-9L,
-  4.473680923894354600193264347733477363305E-7L,
-  3.106368086644715743265603656011050476736E-5L,
-  1.198239259946770604954664925153424252622E-3L,
-  2.446041004004283102372887804475767568272E-2L,
-  2.403235525011860603014707768815113698768E-1L,
-  9.491006790682158612266270665136910927149E-1L,
+  L(3.199850952578356211091219295199301766718E-17),
+  L(3.652601488020654842194486058637953363918E-14),
+  L(1.620179741394865258354608590461839031281E-11),
+  L(3.629359209474609630056463248923684371426E-9),
+  L(4.473680923894354600193264347733477363305E-7),
+  L(3.106368086644715743265603656011050476736E-5),
+  L(1.198239259946770604954664925153424252622E-3),
+  L(2.446041004004283102372887804475767568272E-2),
+  L(2.403235525011860603014707768815113698768E-1),
+  L(9.491006790682158612266270665136910927149E-1),
  /* 1.000000000000000000000000000000000000000E0 */
  };
 
@@ -412,33 +412,33 @@ static const ldouble_t Q16_ID[NQ16_ID + 1] = {
    0.0625 <= 1/x <= 0.125  */
 #define NQ8_16N 11
 static const ldouble_t Q8_16N[NQ8_16N + 1] = {
-  1.001954266485599464105669390693597125904E-17L,
-  7.545499865295034556206475956620160007849E-15L,
-  2.267838684785673931024792538193202559922E-12L,
-  3.561909705814420373609574999542459912419E-10L,
-  3.216201422768092505214730633842924944671E-8L,
-  1.731194793857907454569364622452058554314E-6L,
-  5.576944613034537050396518509871004586039E-5L,
-  1.051787760316848982655967052985391418146E-3L,
-  1.102852974036687441600678598019883746959E-2L,
-  5.834647019292460494254225988766702933571E-2L,
-  1.290281921604364618912425380717127576529E-1L,
-  7.598886310387075708640370806458926458301E-2L,
+  L(1.001954266485599464105669390693597125904E-17),
+  L(7.545499865295034556206475956620160007849E-15),
+  L(2.267838684785673931024792538193202559922E-12),
+  L(3.561909705814420373609574999542459912419E-10),
+  L(3.216201422768092505214730633842924944671E-8),
+  L(1.731194793857907454569364622452058554314E-6),
+  L(5.576944613034537050396518509871004586039E-5),
+  L(1.051787760316848982655967052985391418146E-3),
+  L(1.102852974036687441600678598019883746959E-2),
+  L(5.834647019292460494254225988766702933571E-2),
+  L(1.290281921604364618912425380717127576529E-1),
+  L(7.598886310387075708640370806458926458301E-2),
 };
 #define NQ8_16D 11
 static const ldouble_t Q8_16D[NQ8_16D + 1] = {
-  1.368001558508338469503329967729951830843E-16L,
-  1.034454121857542147020549303317348297289E-13L,
-  3.128109209247090744354764050629381674436E-11L,
-  4.957795214328501986562102573522064468671E-9L,
-  4.537872468606711261992676606899273588899E-7L,
-  2.493639207101727713192687060517509774182E-5L,
-  8.294957278145328349785532236663051405805E-4L,
-  1.646471258966713577374948205279380115839E-2L,
-  1.878910092770966718491814497982191447073E-1L,
-  1.152641605706170353727903052525652504075E0L,
-  3.383550240669773485412333679367792932235E0L,
-  3.823875252882035706910024716609908473970E0L,
+  L(1.368001558508338469503329967729951830843E-16),
+  L(1.034454121857542147020549303317348297289E-13),
+  L(3.128109209247090744354764050629381674436E-11),
+  L(4.957795214328501986562102573522064468671E-9),
+  L(4.537872468606711261992676606899273588899E-7),
+  L(2.493639207101727713192687060517509774182E-5),
+  L(8.294957278145328349785532236663051405805E-4),
+  L(1.646471258966713577374948205279380115839E-2),
+  L(1.878910092770966718491814497982191447073E-1),
+  L(1.152641605706170353727903052525652504075E0),
+  L(3.383550240669773485412333679367792932235E0),
+  L(3.823875252882035706910024716609908473970E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -448,31 +448,31 @@ static const ldouble_t Q8_16D[NQ8_16D + 1] = {
    0.125 <= 1/x <= 0.1875  */
 #define NQ5_8N 10
 static const ldouble_t Q5_8N[NQ5_8N + 1] = {
-  1.750399094021293722243426623211733898747E-13L,
-  6.483426211748008735242909236490115050294E-11L,
-  9.279430665656575457141747875716899958373E-9L,
-  6.696634968526907231258534757736576340266E-7L,
-  2.666560823798895649685231292142838188061E-5L,
-  6.025087697259436271271562769707550594540E-4L,
-  7.652807734168613251901945778921336353485E-3L,
-  5.226269002589406461622551452343519078905E-2L,
-  1.748390159751117658969324896330142895079E-1L,
-  2.378188719097006494782174902213083589660E-1L,
-  8.383984859679804095463699702165659216831E-2L,
+  L(1.750399094021293722243426623211733898747E-13),
+  L(6.483426211748008735242909236490115050294E-11),
+  L(9.279430665656575457141747875716899958373E-9),
+  L(6.696634968526907231258534757736576340266E-7),
+  L(2.666560823798895649685231292142838188061E-5),
+  L(6.025087697259436271271562769707550594540E-4),
+  L(7.652807734168613251901945778921336353485E-3),
+  L(5.226269002589406461622551452343519078905E-2),
+  L(1.748390159751117658969324896330142895079E-1),
+  L(2.378188719097006494782174902213083589660E-1),
+  L(8.383984859679804095463699702165659216831E-2),
 };
 #define NQ5_8D 10
 static const ldouble_t Q5_8D[NQ5_8D + 1] = {
-  2.389878229704327939008104855942987615715E-12L,
-  8.926142817142546018703814194987786425099E-10L,
-  1.294065862406745901206588525833274399038E-7L,
-  9.524139899457666250828752185212769682191E-6L,
-  3.908332488377770886091936221573123353489E-4L,
-  9.250427033957236609624199884089916836748E-3L,
-  1.263420066165922645975830877751588421451E-1L,
-  9.692527053860420229711317379861733180654E-1L,
-  3.937813834630430172221329298841520707954E0L,
-  7.603126427436356534498908111445191312181E0L,
-  5.670677653334105479259958485084550934305E0L,
+  L(2.389878229704327939008104855942987615715E-12),
+  L(8.926142817142546018703814194987786425099E-10),
+  L(1.294065862406745901206588525833274399038E-7),
+  L(9.524139899457666250828752185212769682191E-6),
+  L(3.908332488377770886091936221573123353489E-4),
+  L(9.250427033957236609624199884089916836748E-3),
+  L(1.263420066165922645975830877751588421451E-1),
+  L(9.692527053860420229711317379861733180654E-1),
+  L(3.937813834630430172221329298841520707954E0),
+  L(7.603126427436356534498908111445191312181E0),
+  L(5.670677653334105479259958485084550934305E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -482,30 +482,30 @@ static const ldouble_t Q5_8D[NQ5_8D + 1] = {
    0.1875 <= 1/x <= 0.25  */
 #define NQ4_5N 10
 static const ldouble_t Q4_5N[NQ4_5N + 1] = {
-  2.233870042925895644234072357400122854086E-11L,
-  5.146223225761993222808463878999151699792E-9L,
-  4.459114531468296461688753521109797474523E-7L,
-  1.891397692931537975547242165291668056276E-5L,
-  4.279519145911541776938964806470674565504E-4L,
-  5.275239415656560634702073291768904783989E-3L,
-  3.468698403240744801278238473898432608887E-2L,
-  1.138773146337708415188856882915457888274E-1L,
-  1.622717518946443013587108598334636458955E-1L,
-  7.249040006390586123760992346453034628227E-2L,
-  1.941595365256460232175236758506411486667E-3L,
+  L(2.233870042925895644234072357400122854086E-11),
+  L(5.146223225761993222808463878999151699792E-9),
+  L(4.459114531468296461688753521109797474523E-7),
+  L(1.891397692931537975547242165291668056276E-5),
+  L(4.279519145911541776938964806470674565504E-4),
+  L(5.275239415656560634702073291768904783989E-3),
+  L(3.468698403240744801278238473898432608887E-2),
+  L(1.138773146337708415188856882915457888274E-1),
+  L(1.622717518946443013587108598334636458955E-1),
+  L(7.249040006390586123760992346453034628227E-2),
+  L(1.941595365256460232175236758506411486667E-3),
 };
 #define NQ4_5D 9
 static const ldouble_t Q4_5D[NQ4_5D + 1] = {
-  3.049977232266999249626430127217988047453E-10L,
-  7.120883230531035857746096928889676144099E-8L,
-  6.301786064753734446784637919554359588859E-6L,
-  2.762010530095069598480766869426308077192E-4L,
-  6.572163250572867859316828886203406361251E-3L,
-  8.752566114841221958200215255461843397776E-2L,
-  6.487654992874805093499285311075289932664E-1L,
-  2.576550017826654579451615283022812801435E0L,
-  5.056392229924022835364779562707348096036E0L,
-  4.179770081068251464907531367859072157773E0L,
+  L(3.049977232266999249626430127217988047453E-10),
+  L(7.120883230531035857746096928889676144099E-8),
+  L(6.301786064753734446784637919554359588859E-6),
+  L(2.762010530095069598480766869426308077192E-4),
+  L(6.572163250572867859316828886203406361251E-3),
+  L(8.752566114841221958200215255461843397776E-2),
+  L(6.487654992874805093499285311075289932664E-1),
+  L(2.576550017826654579451615283022812801435E0),
+  L(5.056392229924022835364779562707348096036E0),
+  L(4.179770081068251464907531367859072157773E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -515,30 +515,30 @@ static const ldouble_t Q4_5D[NQ4_5D + 1] = {
    0.25 <= 1/x <= 0.3125  */
 #define NQ3r2_4N 10
 static const ldouble_t Q3r2_4N[NQ3r2_4N + 1] = {
-  6.126167301024815034423262653066023684411E-10L,
-  1.043969327113173261820028225053598975128E-7L,
-  6.592927270288697027757438170153763220190E-6L,
-  2.009103660938497963095652951912071336730E-4L,
-  3.220543385492643525985862356352195896964E-3L,
-  2.774405975730545157543417650436941650990E-2L,
-  1.258114008023826384487378016636555041129E-1L,
-  2.811724258266902502344701449984698323860E-1L,
-  2.691837665193548059322831687432415014067E-1L,
-  7.949087384900985370683770525312735605034E-2L,
-  1.229509543620976530030153018986910810747E-3L,
+  L(6.126167301024815034423262653066023684411E-10),
+  L(1.043969327113173261820028225053598975128E-7),
+  L(6.592927270288697027757438170153763220190E-6),
+  L(2.009103660938497963095652951912071336730E-4),
+  L(3.220543385492643525985862356352195896964E-3),
+  L(2.774405975730545157543417650436941650990E-2),
+  L(1.258114008023826384487378016636555041129E-1),
+  L(2.811724258266902502344701449984698323860E-1),
+  L(2.691837665193548059322831687432415014067E-1),
+  L(7.949087384900985370683770525312735605034E-2),
+  L(1.229509543620976530030153018986910810747E-3),
 };
 #define NQ3r2_4D 9
 static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
-  8.364260446128475461539941389210166156568E-9L,
-  1.451301850638956578622154585560759862764E-6L,
-  9.431830010924603664244578867057141839463E-5L,
-  3.004105101667433434196388593004526182741E-3L,
-  5.148157397848271739710011717102773780221E-2L,
-  4.901089301726939576055285374953887874895E-1L,
-  2.581760991981709901216967665934142240346E0L,
-  7.257105880775059281391729708630912791847E0L,
-  1.006014717326362868007913423810737369312E1L,
-  5.879416600465399514404064187445293212470E0L,
+  L(8.364260446128475461539941389210166156568E-9),
+  L(1.451301850638956578622154585560759862764E-6),
+  L(9.431830010924603664244578867057141839463E-5),
+  L(3.004105101667433434196388593004526182741E-3),
+  L(5.148157397848271739710011717102773780221E-2),
+  L(4.901089301726939576055285374953887874895E-1),
+  L(2.581760991981709901216967665934142240346E0),
+  L(7.257105880775059281391729708630912791847E0),
+  L(1.006014717326362868007913423810737369312E1),
+  L(5.879416600465399514404064187445293212470E0),
  /* 1.000000000000000000000000000000000000000E0*/
 };
 
@@ -548,29 +548,29 @@ static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
    0.3125 <= 1/x <= 0.375  */
 #define NQ2r7_3r2N 9
 static const ldouble_t Q2r7_3r2N[NQ2r7_3r2N + 1] = {
-  7.584861620402450302063691901886141875454E-8L,
-  9.300939338814216296064659459966041794591E-6L,
-  4.112108906197521696032158235392604947895E-4L,
-  8.515168851578898791897038357239630654431E-3L,
-  8.971286321017307400142720556749573229058E-2L,
-  4.885856732902956303343015636331874194498E-1L,
-  1.334506268733103291656253500506406045846E0L,
-  1.681207956863028164179042145803851824654E0L,
-  8.165042692571721959157677701625853772271E-1L,
-  9.805848115375053300608712721986235900715E-2L,
+  L(7.584861620402450302063691901886141875454E-8),
+  L(9.300939338814216296064659459966041794591E-6),
+  L(4.112108906197521696032158235392604947895E-4),
+  L(8.515168851578898791897038357239630654431E-3),
+  L(8.971286321017307400142720556749573229058E-2),
+  L(4.885856732902956303343015636331874194498E-1),
+  L(1.334506268733103291656253500506406045846E0),
+  L(1.681207956863028164179042145803851824654E0),
+  L(8.165042692571721959157677701625853772271E-1),
+  L(9.805848115375053300608712721986235900715E-2),
 };
 #define NQ2r7_3r2D 9
 static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
-  1.035586492113036586458163971239438078160E-6L,
-  1.301999337731768381683593636500979713689E-4L,
-  5.993695702564527062553071126719088859654E-3L,
-  1.321184892887881883489141186815457808785E-1L,
-  1.528766555485015021144963194165165083312E0L,
-  9.561463309176490874525827051566494939295E0L,
-  3.203719484883967351729513662089163356911E1L,
-  5.497294687660930446641539152123568668447E1L,
-  4.391158169390578768508675452986948391118E1L,
-  1.347836630730048077907818943625789418378E1L,
+  L(1.035586492113036586458163971239438078160E-6),
+  L(1.301999337731768381683593636500979713689E-4),
+  L(5.993695702564527062553071126719088859654E-3),
+  L(1.321184892887881883489141186815457808785E-1),
+  L(1.528766555485015021144963194165165083312E0),
+  L(9.561463309176490874525827051566494939295E0),
+  L(3.203719484883967351729513662089163356911E1),
+  L(5.497294687660930446641539152123568668447E1),
+  L(4.391158169390578768508675452986948391118E1),
+  L(1.347836630730048077907818943625789418378E1),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -580,28 +580,28 @@ static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
    0.375 <= 1/x <= 0.4375  */
 #define NQ2r3_2r7N 9
 static const ldouble_t Q2r3_2r7N[NQ2r3_2r7N + 1] = {
-  4.455027774980750211349941766420190722088E-7L,
-  4.031998274578520170631601850866780366466E-5L,
-  1.273987274325947007856695677491340636339E-3L,
-  1.818754543377448509897226554179659122873E-2L,
-  1.266748858326568264126353051352269875352E-1L,
-  4.327578594728723821137731555139472880414E-1L,
-  6.892532471436503074928194969154192615359E-1L,
-  4.490775818438716873422163588640262036506E-1L,
-  8.649615949297322440032000346117031581572E-2L,
-  7.261345286655345047417257611469066147561E-4L,
+  L(4.455027774980750211349941766420190722088E-7),
+  L(4.031998274578520170631601850866780366466E-5),
+  L(1.273987274325947007856695677491340636339E-3),
+  L(1.818754543377448509897226554179659122873E-2),
+  L(1.266748858326568264126353051352269875352E-1),
+  L(4.327578594728723821137731555139472880414E-1),
+  L(6.892532471436503074928194969154192615359E-1),
+  L(4.490775818438716873422163588640262036506E-1),
+  L(8.649615949297322440032000346117031581572E-2),
+  L(7.261345286655345047417257611469066147561E-4),
 };
 #define NQ2r3_2r7D 8
 static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
-  6.082600739680555266312417978064954793142E-6L,
-  5.693622538165494742945717226571441747567E-4L,
-  1.901625907009092204458328768129666975975E-2L,
-  2.958689532697857335456896889409923371570E-1L,
-  2.343124711045660081603809437993368799568E0L,
-  9.665894032187458293568704885528192804376E0L,
-  2.035273104990617136065743426322454881353E1L,
-  2.044102010478792896815088858740075165531E1L,
-  8.445937177863155827844146643468706599304E0L,
+  L(6.082600739680555266312417978064954793142E-6),
+  L(5.693622538165494742945717226571441747567E-4),
+  L(1.901625907009092204458328768129666975975E-2),
+  L(2.958689532697857335456896889409923371570E-1),
+  L(2.343124711045660081603809437993368799568E0),
+  L(9.665894032187458293568704885528192804376E0),
+  L(2.035273104990617136065743426322454881353E1),
+  L(2.044102010478792896815088858740075165531E1),
+  L(8.445937177863155827844146643468706599304E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -611,28 +611,28 @@ static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
    0.4375 <= 1/x <= 0.5  */
 #define NQ2_2r3N 9
 static const ldouble_t Q2_2r3N[NQ2_2r3N + 1] = {
-  2.817566786579768804844367382809101929314E-6L,
-  2.122772176396691634147024348373539744935E-4L,
-  5.501378031780457828919593905395747517585E-3L,
-  6.355374424341762686099147452020466524659E-2L,
-  3.539652320122661637429658698954748337223E-1L,
-  9.571721066119617436343740541777014319695E-1L,
-  1.196258777828426399432550698612171955305E0L,
-  6.069388659458926158392384709893753793967E-1L,
-  9.026746127269713176512359976978248763621E-2L,
-  5.317668723070450235320878117210807236375E-4L,
+  L(2.817566786579768804844367382809101929314E-6),
+  L(2.122772176396691634147024348373539744935E-4),
+  L(5.501378031780457828919593905395747517585E-3),
+  L(6.355374424341762686099147452020466524659E-2),
+  L(3.539652320122661637429658698954748337223E-1),
+  L(9.571721066119617436343740541777014319695E-1),
+  L(1.196258777828426399432550698612171955305E0),
+  L(6.069388659458926158392384709893753793967E-1),
+  L(9.026746127269713176512359976978248763621E-2),
+  L(5.317668723070450235320878117210807236375E-4),
 };
 #define NQ2_2r3D 8
 static const ldouble_t Q2_2r3D[NQ2_2r3D + 1] = {
-  3.846924354014260866793741072933159380158E-5L,
-  3.017562820057704325510067178327449946763E-3L,
-  8.356305620686867949798885808540444210935E-2L,
-  1.068314930499906838814019619594424586273E0L,
-  6.900279623894821067017966573640732685233E0L,
-  2.307667390886377924509090271780839563141E1L,
-  3.921043465412723970791036825401273528513E1L,
-  3.167569478939719383241775717095729233436E1L,
-  1.051023841699200920276198346301543665909E1L,
+  L(3.846924354014260866793741072933159380158E-5),
+  L(3.017562820057704325510067178327449946763E-3),
+  L(8.356305620686867949798885808540444210935E-2),
+  L(1.068314930499906838814019619594424586273E0),
+  L(6.900279623894821067017966573640732685233E0),
+  L(2.307667390886377924509090271780839563141E1),
+  L(3.921043465412723970791036825401273528513E1),
+  L(3.167569478939719383241775717095729233436E1),
+  L(1.051023841699200920276198346301543665909E1),
  /* 1.000000000000000000000000000000000000000E0*/
 };
 
@@ -685,21 +685,21 @@ __ieee754_j0l (ldouble_t x)
       if (x != x)
 	return x + x;
       else
-	return 0.0L;
+	return 0;
     }
-  if (x == 0.0L)
-    return 1.0L;
+  if (x == 0)
+    return 1;
 
   xx = fabsl (x);
-  if (xx <= 2.0L)
+  if (xx <= 2)
     {
-      if (xx < 0x1p-57L)
-	return 1.0L;
+      if (xx < L(0x1p-57))
+	return 1.0;
       /* 0 <= x <= 2 */
       z = xx * xx;
       p = z * z * neval (z, J0_2N, NJ0_2N) / deval (z, J0_2D, NJ0_2D);
-      p -= 0.25L * z;
-      p += 1.0L;
+      p -= L(0.25) * z;
+      p += 1;
       return p;
     }
 
@@ -713,7 +713,7 @@ __ieee754_j0l (ldouble_t x)
   __sincosl (xx, &s, &c);
   ss = s - c;
   cc = s + c;
-  if (xx <= LDBL_MAX / 2.0L)
+  if (xx <= LDBL_MAX / 2)
     {
       z = -__cosl (xx + xx);
       if ((s * c) < 0)
@@ -722,14 +722,14 @@ __ieee754_j0l (ldouble_t x)
 	ss = z / cc;
     }
 
-  if (xx > 0x1p256L)
+  if (xx > L(0x1p256))
     return ONEOSQPI * cc / __ieee754_sqrtl (xx);
 
-  xinv = 1.0L / xx;
+  xinv = 1 / xx;
   z = xinv * xinv;
-  if (xinv <= 0.25)
+  if (xinv <= L(0.25))
     {
-      if (xinv <= 0.125)
+      if (xinv <= L(0.125))
 	{
 	  if (xinv <= 0.0625)
 	    {
@@ -783,9 +783,9 @@ __ieee754_j0l (ldouble_t x)
 	  q = neval (z, Q2_2r3N, NQ2_2r3N) / deval (z, Q2_2r3D, NQ2_2r3D);
 	}
     }
-  p = 1.0L + z * p;
+  p = 1 + z * p;
   q = z * xinv * q;
-  q = q - 0.125L * xinv;
+  q = q - L(0.125) * xinv;
   z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
   return z;
 }
@@ -797,29 +797,29 @@ strong_alias (__ieee754_j0l, __j0l_finite)
    0 <= x <= 2   */
 #define NY0_2N 7
 static ldouble_t Y0_2N[NY0_2N + 1] = {
- -1.062023609591350692692296993537002558155E19L,
-  2.542000883190248639104127452714966858866E19L,
- -1.984190771278515324281415820316054696545E18L,
-  4.982586044371592942465373274440222033891E16L,
- -5.529326354780295177243773419090123407550E14L,
-  3.013431465522152289279088265336861140391E12L,
- -7.959436160727126750732203098982718347785E9L,
-  8.230845651379566339707130644134372793322E6L,
+ -L(1.062023609591350692692296993537002558155E19),
+  L(2.542000883190248639104127452714966858866E19),
+ -L(1.984190771278515324281415820316054696545E18),
+  L(4.982586044371592942465373274440222033891E16),
+ -L(5.529326354780295177243773419090123407550E14),
+  L(3.013431465522152289279088265336861140391E12),
+ -L(7.959436160727126750732203098982718347785E9),
+  L(8.230845651379566339707130644134372793322E6),
 };
 #define NY0_2D 7
 static ldouble_t Y0_2D[NY0_2D + 1] = {
-  1.438972634353286978700329883122253752192E20L,
-  1.856409101981569254247700169486907405500E18L,
-  1.219693352678218589553725579802986255614E16L,
-  5.389428943282838648918475915779958097958E13L,
-  1.774125762108874864433872173544743051653E11L,
-  4.522104832545149534808218252434693007036E8L,
-  8.872187401232943927082914504125234454930E5L,
-  1.251945613186787532055610876304669413955E3L,
+  L(1.438972634353286978700329883122253752192E20),
+  L(1.856409101981569254247700169486907405500E18),
+  L(1.219693352678218589553725579802986255614E16),
+  L(5.389428943282838648918475915779958097958E13),
+  L(1.774125762108874864433872173544743051653E11),
+  L(4.522104832545149534808218252434693007036E8),
+  L(8.872187401232943927082914504125234454930E5),
+  L(1.251945613186787532055610876304669413955E3),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
-static const ldouble_t U0 = -7.3804295108687225274343927948483016310862e-02L;
+static const ldouble_t U0 = -L(7.3804295108687225274343927948483016310862e-02);
 
 /* Bessel function of the second kind, order zero.  */
 
@@ -833,18 +833,18 @@ ldouble_t
       if (x != x)
 	return x + x;
       else
-	return 0.0L;
+	return 0;
     }
-  if (x <= 0.0L)
+  if (x <= 0)
     {
-      if (x < 0.0L)
+      if (x < 0)
 	return (zero / (zero * x));
       return -HUGE_VALL + x;
     }
   xx = fabsl (x);
   if (xx <= 0x1p-57)
     return U0 + TWOOPI * __ieee754_logl (x);
-  if (xx <= 2.0L)
+  if (xx <= 2)
     {
       /* 0 <= x <= 2 */
       z = xx * xx;
@@ -863,7 +863,7 @@ ldouble_t
   __sincosl (x, &s, &c);
   ss = s - c;
   cc = s + c;
-  if (xx <= LDBL_MAX / 2.0L)
+  if (xx <= LDBL_MAX / 2)
     {
       z = -__cosl (x + x);
       if ((s * c) < 0)
@@ -872,10 +872,10 @@ ldouble_t
 	ss = z / cc;
     }
 
-  if (xx > 0x1p256L)
+  if (xx > L(0x1p256))
     return ONEOSQPI * ss / __ieee754_sqrtl (x);
 
-  xinv = 1.0L / xx;
+  xinv = 1 / xx;
   z = xinv * xinv;
   if (xinv <= 0.25)
     {
@@ -933,9 +933,9 @@ ldouble_t
 	  q = neval (z, Q2_2r3N, NQ2_2r3N) / deval (z, Q2_2r3D, NQ2_2r3D);
 	}
     }
-  p = 1.0L + z * p;
+  p = 1 + z * p;
   q = z * xinv * q;
-  q = q - 0.125L * xinv;
+  q = q - L(0.125) * xinv;
   z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (x);
   return z;
 }
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 8f9e219..08f404c 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -101,33 +101,33 @@
 #include <float.h>
 
 /* 1 / sqrt(pi) */
-static const ldouble_t ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L;
+static const ldouble_t ONEOSQPI = L(5.6418958354775628694807945156077258584405E-1);
 /* 2 / pi */
-static const ldouble_t TWOOPI = 6.3661977236758134307553505349005744813784E-1L;
-static const ldouble_t zero = 0.0L;
+static const ldouble_t TWOOPI = L(6.3661977236758134307553505349005744813784E-1);
+static const ldouble_t zero = 0;
 
 /* J1(x) = .5x + x x^2 R(x^2)
    Peak relative error 1.9e-35
    0 <= x <= 2  */
 #define NJ0_2N 6
 static const ldouble_t J0_2N[NJ0_2N + 1] = {
- -5.943799577386942855938508697619735179660E16L,
-  1.812087021305009192259946997014044074711E15L,
- -2.761698314264509665075127515729146460895E13L,
-  2.091089497823600978949389109350658815972E11L,
- -8.546413231387036372945453565654130054307E8L,
-  1.797229225249742247475464052741320612261E6L,
- -1.559552840946694171346552770008812083969E3L
+ -L(5.943799577386942855938508697619735179660E16),
+  L(1.812087021305009192259946997014044074711E15),
+ -L(2.761698314264509665075127515729146460895E13),
+  L(2.091089497823600978949389109350658815972E11),
+ -L(8.546413231387036372945453565654130054307E8),
+  L(1.797229225249742247475464052741320612261E6),
+ -L(1.559552840946694171346552770008812083969E3)
 };
 #define NJ0_2D 6
 static const ldouble_t J0_2D[NJ0_2D + 1] = {
-  9.510079323819108569501613916191477479397E17L,
-  1.063193817503280529676423936545854693915E16L,
-  5.934143516050192600795972192791775226920E13L,
-  2.168000911950620999091479265214368352883E11L,
-  5.673775894803172808323058205986256928794E8L,
-  1.080329960080981204840966206372671147224E6L,
-  1.411951256636576283942477881535283304912E3L,
+  L(9.510079323819108569501613916191477479397E17),
+  L(1.063193817503280529676423936545854693915E16),
+  L(5.934143516050192600795972192791775226920E13),
+  L(2.168000911950620999091479265214368352883E11),
+  L(5.673775894803172808323058205986256928794E8),
+  L(1.080329960080981204840966206372671147224E6),
+  L(1.411951256636576283942477881535283304912E3),
  /* 1.000000000000000000000000000000000000000E0L */
 };
 
@@ -136,29 +136,29 @@ static const ldouble_t J0_2D[NJ0_2D + 1] = {
    Peak relative error 3.6e-36  */
 #define NP16_IN 9
 static const ldouble_t P16_IN[NP16_IN + 1] = {
-  5.143674369359646114999545149085139822905E-16L,
-  4.836645664124562546056389268546233577376E-13L,
-  1.730945562285804805325011561498453013673E-10L,
-  3.047976856147077889834905908605310585810E-8L,
-  2.855227609107969710407464739188141162386E-6L,
-  1.439362407936705484122143713643023998457E-4L,
-  3.774489768532936551500999699815873422073E-3L,
-  4.723962172984642566142399678920790598426E-2L,
-  2.359289678988743939925017240478818248735E-1L,
-  3.032580002220628812728954785118117124520E-1L,
+  L(5.143674369359646114999545149085139822905E-16),
+  L(4.836645664124562546056389268546233577376E-13),
+  L(1.730945562285804805325011561498453013673E-10),
+  L(3.047976856147077889834905908605310585810E-8),
+  L(2.855227609107969710407464739188141162386E-6),
+  L(1.439362407936705484122143713643023998457E-4),
+  L(3.774489768532936551500999699815873422073E-3),
+  L(4.723962172984642566142399678920790598426E-2),
+  L(2.359289678988743939925017240478818248735E-1),
+  L(3.032580002220628812728954785118117124520E-1),
 };
 #define NP16_ID 9
 static const ldouble_t P16_ID[NP16_ID + 1] = {
-  4.389268795186898018132945193912677177553E-15L,
-  4.132671824807454334388868363256830961655E-12L,
-  1.482133328179508835835963635130894413136E-9L,
-  2.618941412861122118906353737117067376236E-7L,
-  2.467854246740858470815714426201888034270E-5L,
-  1.257192927368839847825938545925340230490E-3L,
-  3.362739031941574274949719324644120720341E-2L,
-  4.384458231338934105875343439265370178858E-1L,
-  2.412830809841095249170909628197264854651E0L,
-  4.176078204111348059102962617368214856874E0L,
+  L(4.389268795186898018132945193912677177553E-15),
+  L(4.132671824807454334388868363256830961655E-12),
+  L(1.482133328179508835835963635130894413136E-9),
+  L(2.618941412861122118906353737117067376236E-7),
+  L(2.467854246740858470815714426201888034270E-5),
+  L(1.257192927368839847825938545925340230490E-3),
+  L(3.362739031941574274949719324644120720341E-2),
+  L(4.384458231338934105875343439265370178858E-1),
+  L(2.412830809841095249170909628197264854651E0),
+  L(4.176078204111348059102962617368214856874E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -167,32 +167,32 @@ static const ldouble_t P16_ID[NP16_ID + 1] = {
     Peak relative error 1.9e-36  */
 #define NP8_16N 11
 static const ldouble_t P8_16N[NP8_16N + 1] = {
-  2.984612480763362345647303274082071598135E-16L,
-  1.923651877544126103941232173085475682334E-13L,
-  4.881258879388869396043760693256024307743E-11L,
-  6.368866572475045408480898921866869811889E-9L,
-  4.684818344104910450523906967821090796737E-7L,
-  2.005177298271593587095982211091300382796E-5L,
-  4.979808067163957634120681477207147536182E-4L,
-  6.946005761642579085284689047091173581127E-3L,
-  5.074601112955765012750207555985299026204E-2L,
-  1.698599455896180893191766195194231825379E-1L,
-  1.957536905259237627737222775573623779638E-1L,
-  2.991314703282528370270179989044994319374E-2L,
+  L(2.984612480763362345647303274082071598135E-16),
+  L(1.923651877544126103941232173085475682334E-13),
+  L(4.881258879388869396043760693256024307743E-11),
+  L(6.368866572475045408480898921866869811889E-9),
+  L(4.684818344104910450523906967821090796737E-7),
+  L(2.005177298271593587095982211091300382796E-5),
+  L(4.979808067163957634120681477207147536182E-4),
+  L(6.946005761642579085284689047091173581127E-3),
+  L(5.074601112955765012750207555985299026204E-2),
+  L(1.698599455896180893191766195194231825379E-1),
+  L(1.957536905259237627737222775573623779638E-1),
+  L(2.991314703282528370270179989044994319374E-2),
 };
 #define NP8_16D 10
 static const ldouble_t P8_16D[NP8_16D + 1] = {
-  2.546869316918069202079580939942463010937E-15L,
-  1.644650111942455804019788382157745229955E-12L,
-  4.185430770291694079925607420808011147173E-10L,
-  5.485331966975218025368698195861074143153E-8L,
-  4.062884421686912042335466327098932678905E-6L,
-  1.758139661060905948870523641319556816772E-4L,
-  4.445143889306356207566032244985607493096E-3L,
-  6.391901016293512632765621532571159071158E-2L,
-  4.933040207519900471177016015718145795434E-1L,
-  1.839144086168947712971630337250761842976E0L,
-  2.715120873995490920415616716916149586579E0L,
+  L(2.546869316918069202079580939942463010937E-15),
+  L(1.644650111942455804019788382157745229955E-12),
+  L(4.185430770291694079925607420808011147173E-10),
+  L(5.485331966975218025368698195861074143153E-8),
+  L(4.062884421686912042335466327098932678905E-6),
+  L(1.758139661060905948870523641319556816772E-4),
+  L(4.445143889306356207566032244985607493096E-3),
+  L(6.391901016293512632765621532571159071158E-2),
+  L(4.933040207519900471177016015718145795434E-1),
+  L(1.839144086168947712971630337250761842976E0),
+  L(2.715120873995490920415616716916149586579E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -201,31 +201,31 @@ static const ldouble_t P8_16D[NP8_16D + 1] = {
   Peak relative error 1.3e-36  */
 #define NP5_8N 10
 static const ldouble_t P5_8N[NP5_8N + 1] = {
-  2.837678373978003452653763806968237227234E-12L,
-  9.726641165590364928442128579282742354806E-10L,
-  1.284408003604131382028112171490633956539E-7L,
-  8.524624695868291291250573339272194285008E-6L,
-  3.111516908953172249853673787748841282846E-4L,
-  6.423175156126364104172801983096596409176E-3L,
-  7.430220589989104581004416356260692450652E-2L,
-  4.608315409833682489016656279567605536619E-1L,
-  1.396870223510964882676225042258855977512E0L,
-  1.718500293904122365894630460672081526236E0L,
-  5.465927698800862172307352821870223855365E-1L
+  L(2.837678373978003452653763806968237227234E-12),
+  L(9.726641165590364928442128579282742354806E-10),
+  L(1.284408003604131382028112171490633956539E-7),
+  L(8.524624695868291291250573339272194285008E-6),
+  L(3.111516908953172249853673787748841282846E-4),
+  L(6.423175156126364104172801983096596409176E-3),
+  L(7.430220589989104581004416356260692450652E-2),
+  L(4.608315409833682489016656279567605536619E-1),
+  L(1.396870223510964882676225042258855977512E0),
+  L(1.718500293904122365894630460672081526236E0),
+  L(5.465927698800862172307352821870223855365E-1)
 };
 #define NP5_8D 10
 static const ldouble_t P5_8D[NP5_8D + 1] = {
-  2.421485545794616609951168511612060482715E-11L,
-  8.329862750896452929030058039752327232310E-9L,
-  1.106137992233383429630592081375289010720E-6L,
-  7.405786153760681090127497796448503306939E-5L,
-  2.740364785433195322492093333127633465227E-3L,
-  5.781246470403095224872243564165254652198E-2L,
-  6.927711353039742469918754111511109983546E-1L,
-  4.558679283460430281188304515922826156690E0L,
-  1.534468499844879487013168065728837900009E1L,
-  2.313927430889218597919624843161569422745E1L,
-  1.194506341319498844336768473218382828637E1L,
+  L(2.421485545794616609951168511612060482715E-11),
+  L(8.329862750896452929030058039752327232310E-9),
+  L(1.106137992233383429630592081375289010720E-6),
+  L(7.405786153760681090127497796448503306939E-5),
+  L(2.740364785433195322492093333127633465227E-3),
+  L(5.781246470403095224872243564165254652198E-2),
+  L(6.927711353039742469918754111511109983546E-1),
+  L(4.558679283460430281188304515922826156690E0),
+  L(1.534468499844879487013168065728837900009E1),
+  L(2.313927430889218597919624843161569422745E1),
+  L(1.194506341319498844336768473218382828637E1),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -234,30 +234,30 @@ static const ldouble_t P5_8D[NP5_8D + 1] = {
    0.1875 <= 1/x <= 0.25  */
 #define NP4_5N 10
 static const ldouble_t P4_5N[NP4_5N + 1] = {
-  1.846029078268368685834261260420933914621E-10L,
-  3.916295939611376119377869680335444207768E-8L,
-  3.122158792018920627984597530935323997312E-6L,
-  1.218073444893078303994045653603392272450E-4L,
-  2.536420827983485448140477159977981844883E-3L,
-  2.883011322006690823959367922241169171315E-2L,
-  1.755255190734902907438042414495469810830E-1L,
-  5.379317079922628599870898285488723736599E-1L,
-  7.284904050194300773890303361501726561938E-1L,
-  3.270110346613085348094396323925000362813E-1L,
-  1.804473805689725610052078464951722064757E-2L,
+  L(1.846029078268368685834261260420933914621E-10),
+  L(3.916295939611376119377869680335444207768E-8),
+  L(3.122158792018920627984597530935323997312E-6),
+  L(1.218073444893078303994045653603392272450E-4),
+  L(2.536420827983485448140477159977981844883E-3),
+  L(2.883011322006690823959367922241169171315E-2),
+  L(1.755255190734902907438042414495469810830E-1),
+  L(5.379317079922628599870898285488723736599E-1),
+  L(7.284904050194300773890303361501726561938E-1),
+  L(3.270110346613085348094396323925000362813E-1),
+  L(1.804473805689725610052078464951722064757E-2),
 };
 #define NP4_5D 9
 static const ldouble_t P4_5D[NP4_5D + 1] = {
-  1.575278146806816970152174364308980863569E-9L,
-  3.361289173657099516191331123405675054321E-7L,
-  2.704692281550877810424745289838790693708E-5L,
-  1.070854930483999749316546199273521063543E-3L,
-  2.282373093495295842598097265627962125411E-2L,
-  2.692025460665354148328762368240343249830E-1L,
-  1.739892942593664447220951225734811133759E0L,
-  5.890727576752230385342377570386657229324E0L,
-  9.517442287057841500750256954117735128153E0L,
-  6.100616353935338240775363403030137736013E0L,
+  L(1.575278146806816970152174364308980863569E-9),
+  L(3.361289173657099516191331123405675054321E-7),
+  L(2.704692281550877810424745289838790693708E-5),
+  L(1.070854930483999749316546199273521063543E-3),
+  L(2.282373093495295842598097265627962125411E-2),
+  L(2.692025460665354148328762368240343249830E-1),
+  L(1.739892942593664447220951225734811133759E0),
+  L(5.890727576752230385342377570386657229324E0),
+  L(9.517442287057841500750256954117735128153E0),
+  L(6.100616353935338240775363403030137736013E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -266,29 +266,29 @@ static const ldouble_t P4_5D[NP4_5D + 1] = {
    0.25 <= 1/x <= 0.3125  */
 #define NP3r2_4N 9
 static const ldouble_t P3r2_4N[NP3r2_4N + 1] = {
-  8.240803130988044478595580300846665863782E-8L,
-  1.179418958381961224222969866406483744580E-5L,
-  6.179787320956386624336959112503824397755E-4L,
-  1.540270833608687596420595830747166658383E-2L,
-  1.983904219491512618376375619598837355076E-1L,
-  1.341465722692038870390470651608301155565E0L,
-  4.617865326696612898792238245990854646057E0L,
-  7.435574801812346424460233180412308000587E0L,
-  4.671327027414635292514599201278557680420E0L,
-  7.299530852495776936690976966995187714739E-1L,
+  L(8.240803130988044478595580300846665863782E-8),
+  L(1.179418958381961224222969866406483744580E-5),
+  L(6.179787320956386624336959112503824397755E-4),
+  L(1.540270833608687596420595830747166658383E-2),
+  L(1.983904219491512618376375619598837355076E-1),
+  L(1.341465722692038870390470651608301155565E0),
+  L(4.617865326696612898792238245990854646057E0),
+  L(7.435574801812346424460233180412308000587E0),
+  L(4.671327027414635292514599201278557680420E0),
+  L(7.299530852495776936690976966995187714739E-1),
 };
 #define NP3r2_4D 9
 static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
-  7.032152009675729604487575753279187576521E-7L,
-  1.015090352324577615777511269928856742848E-4L,
-  5.394262184808448484302067955186308730620E-3L,
-  1.375291438480256110455809354836988584325E-1L,
-  1.836247144461106304788160919310404376670E0L,
-  1.314378564254376655001094503090935880349E1L,
-  4.957184590465712006934452500894672343488E1L,
-  9.287394244300647738855415178790263465398E1L,
-  7.652563275535900609085229286020552768399E1L,
-  2.147042473003074533150718117770093209096E1L,
+  L(7.032152009675729604487575753279187576521E-7),
+  L(1.015090352324577615777511269928856742848E-4),
+  L(5.394262184808448484302067955186308730620E-3),
+  L(1.375291438480256110455809354836988584325E-1),
+  L(1.836247144461106304788160919310404376670E0),
+  L(1.314378564254376655001094503090935880349E1),
+  L(4.957184590465712006934452500894672343488E1),
+  L(9.287394244300647738855415178790263465398E1),
+  L(7.652563275535900609085229286020552768399E1),
+  L(2.147042473003074533150718117770093209096E1),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -297,28 +297,28 @@ static const ldouble_t P3r2_4D[NP3r2_4D + 1] = {
    0.3125 <= 1/x <= 0.375  */
 #define NP2r7_3r2N 9
 static const ldouble_t P2r7_3r2N[NP2r7_3r2N + 1] = {
-  4.599033469240421554219816935160627085991E-7L,
-  4.665724440345003914596647144630893997284E-5L,
-  1.684348845667764271596142716944374892756E-3L,
-  2.802446446884455707845985913454440176223E-2L,
-  2.321937586453963310008279956042545173930E-1L,
-  9.640277413988055668692438709376437553804E-1L,
-  1.911021064710270904508663334033003246028E0L,
-  1.600811610164341450262992138893970224971E0L,
-  4.266299218652587901171386591543457861138E-1L,
-  1.316470424456061252962568223251247207325E-2L,
+  L(4.599033469240421554219816935160627085991E-7),
+  L(4.665724440345003914596647144630893997284E-5),
+  L(1.684348845667764271596142716944374892756E-3),
+  L(2.802446446884455707845985913454440176223E-2),
+  L(2.321937586453963310008279956042545173930E-1),
+  L(9.640277413988055668692438709376437553804E-1),
+  L(1.911021064710270904508663334033003246028E0),
+  L(1.600811610164341450262992138893970224971E0),
+  L(4.266299218652587901171386591543457861138E-1),
+  L(1.316470424456061252962568223251247207325E-2),
 };
 #define NP2r7_3r2D 8
 static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
-  3.924508608545520758883457108453520099610E-6L,
-  4.029707889408829273226495756222078039823E-4L,
-  1.484629715787703260797886463307469600219E-2L,
-  2.553136379967180865331706538897231588685E-1L,
-  2.229457223891676394409880026887106228740E0L,
-  1.005708903856384091956550845198392117318E1L,
-  2.277082659664386953166629360352385889558E1L,
-  2.384726835193630788249826630376533988245E1L,
-  9.700989749041320895890113781610939632410E0L,
+  L(3.924508608545520758883457108453520099610E-6),
+  L(4.029707889408829273226495756222078039823E-4),
+  L(1.484629715787703260797886463307469600219E-2),
+  L(2.553136379967180865331706538897231588685E-1),
+  L(2.229457223891676394409880026887106228740E0),
+  L(1.005708903856384091956550845198392117318E1),
+  L(2.277082659664386953166629360352385889558E1),
+  L(2.384726835193630788249826630376533988245E1),
+  L(9.700989749041320895890113781610939632410E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -327,28 +327,28 @@ static const ldouble_t P2r7_3r2D[NP2r7_3r2D + 1] = {
    0.3125 <= 1/x <= 0.4375  */
 #define NP2r3_2r7N 9
 static const ldouble_t P2r3_2r7N[NP2r3_2r7N + 1] = {
-  3.916766777108274628543759603786857387402E-6L,
-  3.212176636756546217390661984304645137013E-4L,
-  9.255768488524816445220126081207248947118E-3L,
-  1.214853146369078277453080641911700735354E-1L,
-  7.855163309847214136198449861311404633665E-1L,
-  2.520058073282978403655488662066019816540E0L,
-  3.825136484837545257209234285382183711466E0L,
-  2.432569427554248006229715163865569506873E0L,
-  4.877934835018231178495030117729800489743E-1L,
-  1.109902737860249670981355149101343427885E-2L,
+  L(3.916766777108274628543759603786857387402E-6),
+  L(3.212176636756546217390661984304645137013E-4),
+  L(9.255768488524816445220126081207248947118E-3),
+  L(1.214853146369078277453080641911700735354E-1),
+  L(7.855163309847214136198449861311404633665E-1),
+  L(2.520058073282978403655488662066019816540E0),
+  L(3.825136484837545257209234285382183711466E0),
+  L(2.432569427554248006229715163865569506873E0),
+  L(4.877934835018231178495030117729800489743E-1),
+  L(1.109902737860249670981355149101343427885E-2),
 };
 #define NP2r3_2r7D 8
 static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
-  3.342307880794065640312646341190547184461E-5L,
-  2.782182891138893201544978009012096558265E-3L,
-  8.221304931614200702142049236141249929207E-2L,
-  1.123728246291165812392918571987858010949E0L,
-  7.740482453652715577233858317133423434590E0L,
-  2.737624677567945952953322566311201919139E1L,
-  4.837181477096062403118304137851260715475E1L,
-  3.941098643468580791437772701093795299274E1L,
-  1.245821247166544627558323920382547533630E1L,
+  L(3.342307880794065640312646341190547184461E-5),
+  L(2.782182891138893201544978009012096558265E-3),
+  L(8.221304931614200702142049236141249929207E-2),
+  L(1.123728246291165812392918571987858010949E0),
+  L(7.740482453652715577233858317133423434590E0),
+  L(2.737624677567945952953322566311201919139E1),
+  L(4.837181477096062403118304137851260715475E1),
+  L(3.941098643468580791437772701093795299274E1),
+  L(1.245821247166544627558323920382547533630E1),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -357,27 +357,27 @@ static const ldouble_t P2r3_2r7D[NP2r3_2r7D + 1] = {
    0.4375 <= 1/x <= 0.5  */
 #define NP2_2r3N 8
 static const ldouble_t P2_2r3N[NP2_2r3N + 1] = {
-  3.397930802851248553545191160608731940751E-4L,
-  2.104020902735482418784312825637833698217E-2L,
-  4.442291771608095963935342749477836181939E-1L,
-  4.131797328716583282869183304291833754967E0L,
-  1.819920169779026500146134832455189917589E1L,
-  3.781779616522937565300309684282401791291E1L,
-  3.459605449728864218972931220783543410347E1L,
-  1.173594248397603882049066603238568316561E1L,
-  9.455702270242780642835086549285560316461E-1L,
+  L(3.397930802851248553545191160608731940751E-4),
+  L(2.104020902735482418784312825637833698217E-2),
+  L(4.442291771608095963935342749477836181939E-1),
+  L(4.131797328716583282869183304291833754967E0),
+  L(1.819920169779026500146134832455189917589E1),
+  L(3.781779616522937565300309684282401791291E1),
+  L(3.459605449728864218972931220783543410347E1),
+  L(1.173594248397603882049066603238568316561E1),
+  L(9.455702270242780642835086549285560316461E-1),
 };
 #define NP2_2r3D 8
 static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
-  2.899568897241432883079888249845707400614E-3L,
-  1.831107138190848460767699919531132426356E-1L,
-  3.999350044057883839080258832758908825165E0L,
-  3.929041535867957938340569419874195303712E1L,
-  1.884245613422523323068802689915538908291E2L,
-  4.461469948819229734353852978424629815929E2L,
-  5.004998753999796821224085972610636347903E2L,
-  2.386342520092608513170837883757163414100E2L,
-  3.791322528149347975999851588922424189957E1L,
+  L(2.899568897241432883079888249845707400614E-3),
+  L(1.831107138190848460767699919531132426356E-1),
+  L(3.999350044057883839080258832758908825165E0),
+  L(3.929041535867957938340569419874195303712E1),
+  L(1.884245613422523323068802689915538908291E2),
+  L(4.461469948819229734353852978424629815929E2),
+  L(5.004998753999796821224085972610636347903E2),
+  L(2.386342520092608513170837883757163414100E2),
+  L(3.791322528149347975999851588922424189957E1),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -387,30 +387,30 @@ static const ldouble_t P2_2r3D[NP2_2r3D + 1] = {
    0 <= 1/x <= .0625  */
 #define NQ16_IN 10
 static const ldouble_t Q16_IN[NQ16_IN + 1] = {
-  -3.917420835712508001321875734030357393421E-18L,
-  -4.440311387483014485304387406538069930457E-15L,
-  -1.951635424076926487780929645954007139616E-12L,
-  -4.318256438421012555040546775651612810513E-10L,
-  -5.231244131926180765270446557146989238020E-8L,
-  -3.540072702902043752460711989234732357653E-6L,
-  -1.311017536555269966928228052917534882984E-4L,
-  -2.495184669674631806622008769674827575088E-3L,
-  -2.141868222987209028118086708697998506716E-2L,
-  -6.184031415202148901863605871197272650090E-2L,
-  -1.922298704033332356899546792898156493887E-2L,
+  -L(3.917420835712508001321875734030357393421E-18),
+  -L(4.440311387483014485304387406538069930457E-15),
+  -L(1.951635424076926487780929645954007139616E-12),
+  -L(4.318256438421012555040546775651612810513E-10),
+  -L(5.231244131926180765270446557146989238020E-8),
+  -L(3.540072702902043752460711989234732357653E-6),
+  -L(1.311017536555269966928228052917534882984E-4),
+  -L(2.495184669674631806622008769674827575088E-3),
+  -L(2.141868222987209028118086708697998506716E-2),
+  -L(6.184031415202148901863605871197272650090E-2),
+  -L(1.922298704033332356899546792898156493887E-2),
 };
 #define NQ16_ID 9
 static const ldouble_t Q16_ID[NQ16_ID + 1] = {
-  3.820418034066293517479619763498400162314E-17L,
-  4.340702810799239909648911373329149354911E-14L,
-  1.914985356383416140706179933075303538524E-11L,
-  4.262333682610888819476498617261895474330E-9L,
-  5.213481314722233980346462747902942182792E-7L,
-  3.585741697694069399299005316809954590558E-5L,
-  1.366513429642842006385029778105539457546E-3L,
-  2.745282599850704662726337474371355160594E-2L,
-  2.637644521611867647651200098449903330074E-1L,
-  1.006953426110765984590782655598680488746E0L,
+  L(3.820418034066293517479619763498400162314E-17),
+  L(4.340702810799239909648911373329149354911E-14),
+  L(1.914985356383416140706179933075303538524E-11),
+  L(4.262333682610888819476498617261895474330E-9),
+  L(5.213481314722233980346462747902942182792E-7),
+  L(3.585741697694069399299005316809954590558E-5),
+  L(1.366513429642842006385029778105539457546E-3),
+  L(2.745282599850704662726337474371355160594E-2),
+  L(2.637644521611867647651200098449903330074E-1),
+  L(1.006953426110765984590782655598680488746E0),
  /* 1.000000000000000000000000000000000000000E0 */
  };
 
@@ -420,33 +420,33 @@ static const ldouble_t Q16_ID[NQ16_ID + 1] = {
    0.0625 <= 1/x <= 0.125  */
 #define NQ8_16N 11
 static const ldouble_t Q8_16N[NQ8_16N + 1] = {
-  -2.028630366670228670781362543615221542291E-17L,
-  -1.519634620380959966438130374006858864624E-14L,
-  -4.540596528116104986388796594639405114524E-12L,
-  -7.085151756671466559280490913558388648274E-10L,
-  -6.351062671323970823761883833531546885452E-8L,
-  -3.390817171111032905297982523519503522491E-6L,
-  -1.082340897018886970282138836861233213972E-4L,
-  -2.020120801187226444822977006648252379508E-3L,
-  -2.093169910981725694937457070649605557555E-2L,
-  -1.092176538874275712359269481414448063393E-1L,
-  -2.374790947854765809203590474789108718733E-1L,
-  -1.365364204556573800719985118029601401323E-1L,
+  -L(2.028630366670228670781362543615221542291E-17),
+  -L(1.519634620380959966438130374006858864624E-14),
+  -L(4.540596528116104986388796594639405114524E-12),
+  -L(7.085151756671466559280490913558388648274E-10),
+  -L(6.351062671323970823761883833531546885452E-8),
+  -L(3.390817171111032905297982523519503522491E-6),
+  -L(1.082340897018886970282138836861233213972E-4),
+  -L(2.020120801187226444822977006648252379508E-3),
+  -L(2.093169910981725694937457070649605557555E-2),
+  -L(1.092176538874275712359269481414448063393E-1),
+  -L(2.374790947854765809203590474789108718733E-1),
+  -L(1.365364204556573800719985118029601401323E-1),
 };
 #define NQ8_16D 11
 static const ldouble_t Q8_16D[NQ8_16D + 1] = {
-  1.978397614733632533581207058069628242280E-16L,
-  1.487361156806202736877009608336766720560E-13L,
-  4.468041406888412086042576067133365913456E-11L,
-  7.027822074821007443672290507210594648877E-9L,
-  6.375740580686101224127290062867976007374E-7L,
-  3.466887658320002225888644977076410421940E-5L,
-  1.138625640905289601186353909213719596986E-3L,
-  2.224470799470414663443449818235008486439E-2L,
-  2.487052928527244907490589787691478482358E-1L,
-  1.483927406564349124649083853892380899217E0L,
-  4.182773513276056975777258788903489507705E0L,
-  4.419665392573449746043880892524360870944E0L,
+  L(1.978397614733632533581207058069628242280E-16),
+  L(1.487361156806202736877009608336766720560E-13),
+  L(4.468041406888412086042576067133365913456E-11),
+  L(7.027822074821007443672290507210594648877E-9),
+  L(6.375740580686101224127290062867976007374E-7),
+  L(3.466887658320002225888644977076410421940E-5),
+  L(1.138625640905289601186353909213719596986E-3),
+  L(2.224470799470414663443449818235008486439E-2),
+  L(2.487052928527244907490589787691478482358E-1),
+  L(1.483927406564349124649083853892380899217E0),
+  L(4.182773513276056975777258788903489507705E0),
+  L(4.419665392573449746043880892524360870944E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -456,31 +456,31 @@ static const ldouble_t Q8_16D[NQ8_16D + 1] = {
    0.125 <= 1/x <= 0.1875  */
 #define NQ5_8N 10
 static const ldouble_t Q5_8N[NQ5_8N + 1] = {
-  -3.656082407740970534915918390488336879763E-13L,
-  -1.344660308497244804752334556734121771023E-10L,
-  -1.909765035234071738548629788698150760791E-8L,
-  -1.366668038160120210269389551283666716453E-6L,
-  -5.392327355984269366895210704976314135683E-5L,
-  -1.206268245713024564674432357634540343884E-3L,
-  -1.515456784370354374066417703736088291287E-2L,
-  -1.022454301137286306933217746545237098518E-1L,
-  -3.373438906472495080504907858424251082240E-1L,
-  -4.510782522110845697262323973549178453405E-1L,
-  -1.549000892545288676809660828213589804884E-1L,
+  -L(3.656082407740970534915918390488336879763E-13),
+  -L(1.344660308497244804752334556734121771023E-10),
+  -L(1.909765035234071738548629788698150760791E-8),
+  -L(1.366668038160120210269389551283666716453E-6),
+  -L(5.392327355984269366895210704976314135683E-5),
+  -L(1.206268245713024564674432357634540343884E-3),
+  -L(1.515456784370354374066417703736088291287E-2),
+  -L(1.022454301137286306933217746545237098518E-1),
+  -L(3.373438906472495080504907858424251082240E-1),
+  -L(4.510782522110845697262323973549178453405E-1),
+  -L(1.549000892545288676809660828213589804884E-1),
 };
 #define NQ5_8D 10
 static const ldouble_t Q5_8D[NQ5_8D + 1] = {
-  3.565550843359501079050699598913828460036E-12L,
-  1.321016015556560621591847454285330528045E-9L,
-  1.897542728662346479999969679234270605975E-7L,
-  1.381720283068706710298734234287456219474E-5L,
-  5.599248147286524662305325795203422873725E-4L,
-  1.305442352653121436697064782499122164843E-2L,
-  1.750234079626943298160445750078631894985E-1L,
-  1.311420542073436520965439883806946678491E0L,
-  5.162757689856842406744504211089724926650E0L,
-  9.527760296384704425618556332087850581308E0L,
-  6.604648207463236667912921642545100248584E0L,
+  L(3.565550843359501079050699598913828460036E-12),
+  L(1.321016015556560621591847454285330528045E-9),
+  L(1.897542728662346479999969679234270605975E-7),
+  L(1.381720283068706710298734234287456219474E-5),
+  L(5.599248147286524662305325795203422873725E-4),
+  L(1.305442352653121436697064782499122164843E-2),
+  L(1.750234079626943298160445750078631894985E-1),
+  L(1.311420542073436520965439883806946678491E0),
+  L(5.162757689856842406744504211089724926650E0),
+  L(9.527760296384704425618556332087850581308E0),
+  L(6.604648207463236667912921642545100248584E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -490,30 +490,30 @@ static const ldouble_t Q5_8D[NQ5_8D + 1] = {
    0.1875 <= 1/x <= 0.25  */
 #define NQ4_5N 10
 static const ldouble_t Q4_5N[NQ4_5N + 1] = {
-  -4.079513568708891749424783046520200903755E-11L,
-  -9.326548104106791766891812583019664893311E-9L,
-  -8.016795121318423066292906123815687003356E-7L,
-  -3.372350544043594415609295225664186750995E-5L,
-  -7.566238665947967882207277686375417983917E-4L,
-  -9.248861580055565402130441618521591282617E-3L,
-  -6.033106131055851432267702948850231270338E-2L,
-  -1.966908754799996793730369265431584303447E-1L,
-  -2.791062741179964150755788226623462207560E-1L,
-  -1.255478605849190549914610121863534191666E-1L,
-  -4.320429862021265463213168186061696944062E-3L,
+  -L(4.079513568708891749424783046520200903755E-11),
+  -L(9.326548104106791766891812583019664893311E-9),
+  -L(8.016795121318423066292906123815687003356E-7),
+  -L(3.372350544043594415609295225664186750995E-5),
+  -L(7.566238665947967882207277686375417983917E-4),
+  -L(9.248861580055565402130441618521591282617E-3),
+  -L(6.033106131055851432267702948850231270338E-2),
+  -L(1.966908754799996793730369265431584303447E-1),
+  -L(2.791062741179964150755788226623462207560E-1),
+  -L(1.255478605849190549914610121863534191666E-1),
+  -L(4.320429862021265463213168186061696944062E-3),
 };
 #define NQ4_5D 9
 static const ldouble_t Q4_5D[NQ4_5D + 1] = {
-  3.978497042580921479003851216297330701056E-10L,
-  9.203304163828145809278568906420772246666E-8L,
-  8.059685467088175644915010485174545743798E-6L,
-  3.490187375993956409171098277561669167446E-4L,
-  8.189109654456872150100501732073810028829E-3L,
-  1.072572867311023640958725265762483033769E-1L,
-  7.790606862409960053675717185714576937994E-1L,
-  3.016049768232011196434185423512777656328E0L,
-  5.722963851442769787733717162314477949360E0L,
-  4.510527838428473279647251350931380867663E0L,
+  L(3.978497042580921479003851216297330701056E-10),
+  L(9.203304163828145809278568906420772246666E-8),
+  L(8.059685467088175644915010485174545743798E-6),
+  L(3.490187375993956409171098277561669167446E-4),
+  L(8.189109654456872150100501732073810028829E-3),
+  L(1.072572867311023640958725265762483033769E-1),
+  L(7.790606862409960053675717185714576937994E-1),
+  L(3.016049768232011196434185423512777656328E0),
+  L(5.722963851442769787733717162314477949360E0),
+  L(4.510527838428473279647251350931380867663E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -523,29 +523,29 @@ static const ldouble_t Q4_5D[NQ4_5D + 1] = {
    0.25 <= 1/x <= 0.3125  */
 #define NQ3r2_4N 9
 static const ldouble_t Q3r2_4N[NQ3r2_4N + 1] = {
-  -1.087480809271383885936921889040388133627E-8L,
-  -1.690067828697463740906962973479310170932E-6L,
-  -9.608064416995105532790745641974762550982E-5L,
-  -2.594198839156517191858208513873961837410E-3L,
-  -3.610954144421543968160459863048062977822E-2L,
-  -2.629866798251843212210482269563961685666E-1L,
-  -9.709186825881775885917984975685752956660E-1L,
-  -1.667521829918185121727268867619982417317E0L,
-  -1.109255082925540057138766105229900943501E0L,
-  -1.812932453006641348145049323713469043328E-1L,
+  -L(1.087480809271383885936921889040388133627E-8),
+  -L(1.690067828697463740906962973479310170932E-6),
+  -L(9.608064416995105532790745641974762550982E-5),
+  -L(2.594198839156517191858208513873961837410E-3),
+  -L(3.610954144421543968160459863048062977822E-2),
+  -L(2.629866798251843212210482269563961685666E-1),
+  -L(9.709186825881775885917984975685752956660E-1),
+  -L(1.667521829918185121727268867619982417317E0),
+  -L(1.109255082925540057138766105229900943501E0),
+  -L(1.812932453006641348145049323713469043328E-1),
 };
 #define NQ3r2_4D 9
 static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
-  1.060552717496912381388763753841473407026E-7L,
-  1.676928002024920520786883649102388708024E-5L,
-  9.803481712245420839301400601140812255737E-4L,
-  2.765559874262309494758505158089249012930E-2L,
-  4.117921827792571791298862613287549140706E-1L,
-  3.323769515244751267093378361930279161413E0L,
-  1.436602494405814164724810151689705353670E1L,
-  3.163087869617098638064881410646782408297E1L,
-  3.198181264977021649489103980298349589419E1L,
-  1.203649258862068431199471076202897823272E1L,
+  L(1.060552717496912381388763753841473407026E-7),
+  L(1.676928002024920520786883649102388708024E-5),
+  L(9.803481712245420839301400601140812255737E-4),
+  L(2.765559874262309494758505158089249012930E-2),
+  L(4.117921827792571791298862613287549140706E-1),
+  L(3.323769515244751267093378361930279161413E0),
+  L(1.436602494405814164724810151689705353670E1),
+  L(3.163087869617098638064881410646782408297E1),
+  L(3.198181264977021649489103980298349589419E1),
+  L(1.203649258862068431199471076202897823272E1),
  /* 1.000000000000000000000000000000000000000E0  */
 };
 
@@ -555,29 +555,29 @@ static const ldouble_t Q3r2_4D[NQ3r2_4D + 1] = {
    0.3125 <= 1/x <= 0.375  */
 #define NQ2r7_3r2N 9
 static const ldouble_t Q2r7_3r2N[NQ2r7_3r2N + 1] = {
-  -1.723405393982209853244278760171643219530E-7L,
-  -2.090508758514655456365709712333460087442E-5L,
-  -9.140104013370974823232873472192719263019E-4L,
-  -1.871349499990714843332742160292474780128E-2L,
-  -1.948930738119938669637865956162512983416E-1L,
-  -1.048764684978978127908439526343174139788E0L,
-  -2.827714929925679500237476105843643064698E0L,
-  -3.508761569156476114276988181329773987314E0L,
-  -1.669332202790211090973255098624488308989E0L,
-  -1.930796319299022954013840684651016077770E-1L,
+  -L(1.723405393982209853244278760171643219530E-7),
+  -L(2.090508758514655456365709712333460087442E-5),
+  -L(9.140104013370974823232873472192719263019E-4),
+  -L(1.871349499990714843332742160292474780128E-2),
+  -L(1.948930738119938669637865956162512983416E-1),
+  -L(1.048764684978978127908439526343174139788E0),
+  -L(2.827714929925679500237476105843643064698E0),
+  -L(3.508761569156476114276988181329773987314E0),
+  -L(1.669332202790211090973255098624488308989E0),
+  -L(1.930796319299022954013840684651016077770E-1),
 };
 #define NQ2r7_3r2D 9
 static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
-  1.680730662300831976234547482334347983474E-6L,
-  2.084241442440551016475972218719621841120E-4L,
-  9.445316642108367479043541702688736295579E-3L,
-  2.044637889456631896650179477133252184672E-1L,
-  2.316091982244297350829522534435350078205E0L,
-  1.412031891783015085196708811890448488865E1L,
-  4.583830154673223384837091077279595496149E1L,
-  7.549520609270909439885998474045974122261E1L,
-  5.697605832808113367197494052388203310638E1L,
-  1.601496240876192444526383314589371686234E1L,
+  L(1.680730662300831976234547482334347983474E-6),
+  L(2.084241442440551016475972218719621841120E-4),
+  L(9.445316642108367479043541702688736295579E-3),
+  L(2.044637889456631896650179477133252184672E-1),
+  L(2.316091982244297350829522534435350078205E0),
+  L(1.412031891783015085196708811890448488865E1),
+  L(4.583830154673223384837091077279595496149E1),
+  L(7.549520609270909439885998474045974122261E1),
+  L(5.697605832808113367197494052388203310638E1),
+  L(1.601496240876192444526383314589371686234E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -587,28 +587,28 @@ static const ldouble_t Q2r7_3r2D[NQ2r7_3r2D + 1] = {
    0.375 <= 1/x <= 0.4375  */
 #define NQ2r3_2r7N 9
 static const ldouble_t Q2r3_2r7N[NQ2r3_2r7N + 1] = {
-  -8.603042076329122085722385914954878953775E-7L,
-  -7.701746260451647874214968882605186675720E-5L,
-  -2.407932004380727587382493696877569654271E-3L,
-  -3.403434217607634279028110636919987224188E-2L,
-  -2.348707332185238159192422084985713102877E-1L,
-  -7.957498841538254916147095255700637463207E-1L,
-  -1.258469078442635106431098063707934348577E0L,
-  -8.162415474676345812459353639449971369890E-1L,
-  -1.581783890269379690141513949609572806898E-1L,
-  -1.890595651683552228232308756569450822905E-3L,
+  -L(8.603042076329122085722385914954878953775E-7),
+  -L(7.701746260451647874214968882605186675720E-5),
+  -L(2.407932004380727587382493696877569654271E-3),
+  -L(3.403434217607634279028110636919987224188E-2),
+  -L(2.348707332185238159192422084985713102877E-1),
+  -L(7.957498841538254916147095255700637463207E-1),
+  -L(1.258469078442635106431098063707934348577E0),
+  -L(8.162415474676345812459353639449971369890E-1),
+  -L(1.581783890269379690141513949609572806898E-1),
+  -L(1.890595651683552228232308756569450822905E-3),
 };
 #define NQ2r3_2r7D 8
 static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
-  8.390017524798316921170710533381568175665E-6L,
-  7.738148683730826286477254659973968763659E-4L,
-  2.541480810958665794368759558791634341779E-2L,
-  3.878879789711276799058486068562386244873E-1L,
-  3.003783779325811292142957336802456109333E0L,
-  1.206480374773322029883039064575464497400E1L,
-  2.458414064785315978408974662900438351782E1L,
-  2.367237826273668567199042088835448715228E1L,
-  9.231451197519171090875569102116321676763E0L,
+  L(8.390017524798316921170710533381568175665E-6),
+  L(7.738148683730826286477254659973968763659E-4),
+  L(2.541480810958665794368759558791634341779E-2),
+  L(3.878879789711276799058486068562386244873E-1),
+  L(3.003783779325811292142957336802456109333E0),
+  L(1.206480374773322029883039064575464497400E1),
+  L(2.458414064785315978408974662900438351782E1),
+  L(2.367237826273668567199042088835448715228E1),
+  L(9.231451197519171090875569102116321676763E0),
  /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -618,28 +618,28 @@ static const ldouble_t Q2r3_2r7D[NQ2r3_2r7D + 1] = {
    0.4375 <= 1/x <= 0.5  */
 #define NQ2_2r3N 9
 static const ldouble_t Q2_2r3N[NQ2_2r3N + 1] = {
-  -5.552507516089087822166822364590806076174E-6L,
-  -4.135067659799500521040944087433752970297E-4L,
-  -1.059928728869218962607068840646564457980E-2L,
-  -1.212070036005832342565792241385459023801E-1L,
-  -6.688350110633603958684302153362735625156E-1L,
-  -1.793587878197360221340277951304429821582E0L,
-  -2.225407682237197485644647380483725045326E0L,
-  -1.123402135458940189438898496348239744403E0L,
-  -1.679187241566347077204805190763597299805E-1L,
-  -1.458550613639093752909985189067233504148E-3L,
+  -L(5.552507516089087822166822364590806076174E-6),
+  -L(4.135067659799500521040944087433752970297E-4),
+  -L(1.059928728869218962607068840646564457980E-2),
+  -L(1.212070036005832342565792241385459023801E-1),
+  -L(6.688350110633603958684302153362735625156E-1),
+  -L(1.793587878197360221340277951304429821582E0),
+  -L(2.225407682237197485644647380483725045326E0),
+  -L(1.123402135458940189438898496348239744403E0),
+  -L(1.679187241566347077204805190763597299805E-1),
+  -L(1.458550613639093752909985189067233504148E-3),
 };
 #define NQ2_2r3D 8
 static const ldouble_t Q2_2r3D[NQ2_2r3D + 1] = {
-  5.415024336507980465169023996403597916115E-5L,
-  4.179246497380453022046357404266022870788E-3L,
-  1.136306384261959483095442402929502368598E-1L,
-  1.422640343719842213484515445393284072830E0L,
-  8.968786703393158374728850922289204805764E0L,
-  2.914542473339246127533384118781216495934E1L,
-  4.781605421020380669870197378210457054685E1L,
-  3.693865837171883152382820584714795072937E1L,
-  1.153220502744204904763115556224395893076E1L,
+  L(5.415024336507980465169023996403597916115E-5),
+  L(4.179246497380453022046357404266022870788E-3),
+  L(1.136306384261959483095442402929502368598E-1),
+  L(1.422640343719842213484515445393284072830E0),
+  L(8.968786703393158374728850922289204805764E0),
+  L(2.914542473339246127533384118781216495934E1),
+  L(4.781605421020380669870197378210457054685E1),
+  L(3.693865837171883152382820584714795072937E1),
+  L(1.153220502744204904763115556224395893076E1),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -692,25 +692,25 @@ __ieee754_j1l (ldouble_t x)
       if (x != x)
 	return x + x;
       else
-	return 0.0L;
+	return 0;
     }
-  if (x == 0.0L)
+  if (x == 0)
     return x;
   xx = fabsl (x);
-  if (xx <= 0x1p-58L)
+  if (xx <= L(0x1p-58))
     {
-      ldouble_t ret = x * 0.5L;
+      ldouble_t ret = x * L(0.5);
       math_check_force_underflow (ret);
       if (ret == 0)
 	__set_errno (ERANGE);
       return ret;
     }
-  if (xx <= 2.0L)
+  if (xx <= 2)
     {
       /* 0 <= x <= 2 */
       z = xx * xx;
       p = xx * z * neval (z, J0_2N, NJ0_2N) / deval (z, J0_2D, NJ0_2D);
-      p += 0.5L * xx;
+      p += L(0.5) * xx;
       if (x < 0)
 	p = -p;
       return p;
@@ -725,7 +725,7 @@ __ieee754_j1l (ldouble_t x)
   __sincosl (xx, &s, &c);
   ss = -s - c;
   cc = s - c;
-  if (xx <= LDBL_MAX / 2.0L)
+  if (xx <= LDBL_MAX / 2)
     {
       z = __cosl (xx + xx);
       if ((s * c) > 0)
@@ -734,7 +734,7 @@ __ieee754_j1l (ldouble_t x)
 	ss = z / cc;
     }
 
-  if (xx > 0x1p256L)
+  if (xx > L(0x1p256))
     {
       z = ONEOSQPI * cc / __ieee754_sqrtl (xx);
       if (x < 0)
@@ -742,7 +742,7 @@ __ieee754_j1l (ldouble_t x)
       return z;
     }
 
-  xinv = 1.0L / xx;
+  xinv = 1 / xx;
   z = xinv * xinv;
   if (xinv <= 0.25)
     {
@@ -800,9 +800,9 @@ __ieee754_j1l (ldouble_t x)
 	  q = neval (z, Q2_2r3N, NQ2_2r3N) / deval (z, Q2_2r3D, NQ2_2r3D);
 	}
     }
-  p = 1.0L + z * p;
+  p = 1 + z * p;
   q = z * q;
-  q = q * xinv + 0.375L * xinv;
+  q = q * xinv + L(0.375) * xinv;
   z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
   if (x < 0)
     z = -z;
@@ -816,25 +816,25 @@ strong_alias (__ieee754_j1l, __j1l_finite)
    0 <= x <= 2   */
 #define NY0_2N 7
 static ldouble_t Y0_2N[NY0_2N + 1] = {
-  -6.804415404830253804408698161694720833249E19L,
-  1.805450517967019908027153056150465849237E19L,
-  -8.065747497063694098810419456383006737312E17L,
-  1.401336667383028259295830955439028236299E16L,
-  -1.171654432898137585000399489686629680230E14L,
-  5.061267920943853732895341125243428129150E11L,
-  -1.096677850566094204586208610960870217970E9L,
-  9.541172044989995856117187515882879304461E5L,
+  -L(6.804415404830253804408698161694720833249E19),
+  L(1.805450517967019908027153056150465849237E19),
+  -L(8.065747497063694098810419456383006737312E17),
+  L(1.401336667383028259295830955439028236299E16),
+  -L(1.171654432898137585000399489686629680230E14),
+  L(5.061267920943853732895341125243428129150E11),
+  -L(1.096677850566094204586208610960870217970E9),
+  L(9.541172044989995856117187515882879304461E5),
 };
 #define NY0_2D 7
 static ldouble_t Y0_2D[NY0_2D + 1] = {
-  3.470629591820267059538637461549677594549E20L,
-  4.120796439009916326855848107545425217219E18L,
-  2.477653371652018249749350657387030814542E16L,
-  9.954678543353888958177169349272167762797E13L,
-  2.957927997613630118216218290262851197754E11L,
-  6.748421382188864486018861197614025972118E8L,
-  1.173453425218010888004562071020305709319E6L,
-  1.450335662961034949894009554536003377187E3L,
+  L(3.470629591820267059538637461549677594549E20),
+  L(4.120796439009916326855848107545425217219E18),
+  L(2.477653371652018249749350657387030814542E16),
+  L(9.954678543353888958177169349272167762797E13),
+  L(2.957927997613630118216218290262851197754E11),
+  L(6.748421382188864486018861197614025972118E8),
+  L(1.173453425218010888004562071020305709319E6),
+  L(1.450335662961034949894009554536003377187E3),
   /* 1.000000000000000000000000000000000000000E0 */
 };
 
@@ -851,11 +851,11 @@ __ieee754_y1l (ldouble_t x)
       if (x != x)
 	return x + x;
       else
-	return 0.0L;
+	return 0;
     }
-  if (x <= 0.0L)
+  if (x <= 0)
     {
-      if (x < 0.0L)
+      if (x < 0)
 	return (zero / (zero * x));
       return -HUGE_VALL + x;
     }
@@ -867,7 +867,7 @@ __ieee754_y1l (ldouble_t x)
 	__set_errno (ERANGE);
       return z;
     }
-  if (xx <= 2.0L)
+  if (xx <= 2)
     {
       /* 0 <= x <= 2 */
       SET_RESTORE_ROUNDL (FE_TONEAREST);
@@ -887,7 +887,7 @@ __ieee754_y1l (ldouble_t x)
   __sincosl (xx, &s, &c);
   ss = -s - c;
   cc = s - c;
-  if (xx <= LDBL_MAX / 2.0L)
+  if (xx <= LDBL_MAX / 2)
     {
       z = __cosl (xx + xx);
       if ((s * c) > 0)
@@ -896,10 +896,10 @@ __ieee754_y1l (ldouble_t x)
 	ss = z / cc;
     }
 
-  if (xx > 0x1p256L)
+  if (xx > L(0x1p256))
     return ONEOSQPI * ss / __ieee754_sqrtl (xx);
 
-  xinv = 1.0L / xx;
+  xinv = 1 / xx;
   z = xinv * xinv;
   if (xinv <= 0.25)
     {
@@ -957,9 +957,9 @@ __ieee754_y1l (ldouble_t x)
 	  q = neval (z, Q2_2r3N, NQ2_2r3N) / deval (z, Q2_2r3D, NQ2_2r3D);
 	}
     }
-  p = 1.0L + z * p;
+  p = 1 + z * p;
   q = z * q;
-  q = q * xinv + 0.375L * xinv;
+  q = q * xinv + L(0.375) * xinv;
   z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (xx);
   return z;
 }
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index 51f5a7f..e5a1ac4 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -62,10 +62,10 @@
 #include <math_private.h>
 
 static const ldouble_t
-  invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
-  two = 2.0e0L,
-  one = 1.0e0L,
-  zero = 0.0L;
+  invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
+  two = 2,
+  one = 1,
+  zero = 0;
 
 
 ldouble_t
@@ -108,7 +108,7 @@ __ieee754_jnl (int n, ldouble_t x)
 
   {
     SET_RESTORE_ROUNDL (FE_TONEAREST);
-    if (x == 0.0L || ix >= 0x7fff0000)	/* if x is 0 or inf */
+    if (x == 0 || ix >= 0x7fff0000)	/* if x is 0 or inf */
       return sgn == 1 ? -zero : zero;
     else if ((ldouble_t) n <= x)
       {
@@ -219,12 +219,12 @@ __ieee754_jnl (int n, ldouble_t x)
 	    ldouble_t q0, q1, h, tmp;
 	    int32_t k, m;
 	    w = (n + n) / (ldouble_t) x;
-	    h = 2.0L / (ldouble_t) x;
+	    h = 2 / (ldouble_t) x;
 	    q0 = w;
 	    z = w + h;
-	    q1 = w * z - 1.0L;
+	    q1 = w * z - 1;
 	    k = 1;
-	    while (q1 < 1.0e17L)
+	    while (q1 < L(1.0e17))
 	      {
 		k += 1;
 		z += h;
@@ -249,7 +249,7 @@ __ieee754_jnl (int n, ldouble_t x)
 	    v = two / x;
 	    tmp = tmp * __ieee754_logl (fabsl (v * tmp));
 
-	    if (tmp < 1.1356523406294143949491931077970765006170e+04L)
+	    if (tmp < L(1.1356523406294143949491931077970765006170e+04))
 	      {
 		for (i = n - 1, di = (ldouble_t) (i + i); i > 0; i--)
 		  {
@@ -270,7 +270,7 @@ __ieee754_jnl (int n, ldouble_t x)
 		    a = temp;
 		    di -= two;
 		    /* scale b to avoid spurious overflow */
-		    if (b > 1e100L)
+		    if (b > L(1e100))
 		      {
 			a /= b;
 			t /= b;
@@ -325,10 +325,10 @@ __ieee754_ynl (int n, ldouble_t x)
       if ((u.parts32.w0 & 0xffff) | u.parts32.w1 | u.parts32.w2 | u.parts32.w3)
 	return x + x;
     }
-  if (x <= 0.0L)
+  if (x <= 0)
     {
-      if (x == 0.0L)
-	return ((n < 0 && (n & 1) != 0) ? 1.0L : -1.0L) / 0.0L;
+      if (x == 0)
+	return ((n < 0 && (n & 1) != 0) ? 1 : -1) / L(0.0);
       if (se & 0x80000000)
 	return zero / (zero * x);
     }
diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
index 22e8dc2..9b1b0d4 100644
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
@@ -72,35 +72,35 @@
 #include <math_private.h>
 #include <float.h>
 
-static const ldouble_t PIL = 3.1415926535897932384626433832795028841972E0L;
+static const ldouble_t PIL = L(3.1415926535897932384626433832795028841972E0);
 #if LDBL_MANT_DIG == 106
-static const ldouble_t MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L;
+static const ldouble_t MAXLGM = L(0x5.d53649e2d469dbc1f01e99fd66p+1012);
 #else
-static const ldouble_t MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
+static const ldouble_t MAXLGM = L(1.0485738685148938358098967157129705071571E4928);
 #endif
-static const ldouble_t one = 1.0L;
+static const ldouble_t one = 1;
 static const ldouble_t huge = LDBL_MAX;
 
 /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2)
    1/x <= 0.0741 (x >= 13.495...)
    Peak relative error 1.5e-36  */
-static const ldouble_t ls2pi = 9.1893853320467274178032973640561763986140E-1L;
+static const ldouble_t ls2pi = L(9.1893853320467274178032973640561763986140E-1);
 #define NRASY 12
 static const ldouble_t RASY[NRASY + 1] =
 {
-  8.333333333333333333333333333310437112111E-2L,
- -2.777777777777777777777774789556228296902E-3L,
-  7.936507936507936507795933938448586499183E-4L,
- -5.952380952380952041799269756378148574045E-4L,
-  8.417508417507928904209891117498524452523E-4L,
- -1.917526917481263997778542329739806086290E-3L,
-  6.410256381217852504446848671499409919280E-3L,
- -2.955064066900961649768101034477363301626E-2L,
-  1.796402955865634243663453415388336954675E-1L,
- -1.391522089007758553455753477688592767741E0L,
-  1.326130089598399157988112385013829305510E1L,
- -1.420412699593782497803472576479997819149E2L,
-  1.218058922427762808938869872528846787020E3L
+  L(8.333333333333333333333333333310437112111E-2),
+ -L(2.777777777777777777777774789556228296902E-3),
+  L(7.936507936507936507795933938448586499183E-4),
+ -L(5.952380952380952041799269756378148574045E-4),
+  L(8.417508417507928904209891117498524452523E-4),
+ -L(1.917526917481263997778542329739806086290E-3),
+  L(6.410256381217852504446848671499409919280E-3),
+ -L(2.955064066900961649768101034477363301626E-2),
+  L(1.796402955865634243663453415388336954675E-1),
+ -L(1.391522089007758553455753477688592767741E0),
+  L(1.326130089598399157988112385013829305510E1),
+ -L(1.420412699593782497803472576479997819149E2),
+  L(1.218058922427762808938869872528846787020E3)
 };
 
 
@@ -108,30 +108,30 @@ static const ldouble_t RASY[NRASY + 1] =
    -0.5 <= x <= 0.5
    12.5 <= x+13 <= 13.5
    Peak relative error 1.1e-36  */
-static const ldouble_t lgam13a = 1.9987213134765625E1L;
-static const ldouble_t lgam13b = 1.3608962611495173623870550785125024484248E-6L;
+static const ldouble_t lgam13a = L(1.9987213134765625E1);
+static const ldouble_t lgam13b = L(1.3608962611495173623870550785125024484248E-6);
 #define NRN13 7
 static const ldouble_t RN13[NRN13 + 1] =
 {
-  8.591478354823578150238226576156275285700E11L,
-  2.347931159756482741018258864137297157668E11L,
-  2.555408396679352028680662433943000804616E10L,
-  1.408581709264464345480765758902967123937E9L,
-  4.126759849752613822953004114044451046321E7L,
-  6.133298899622688505854211579222889943778E5L,
-  3.929248056293651597987893340755876578072E3L,
-  6.850783280018706668924952057996075215223E0L
+  L(8.591478354823578150238226576156275285700E11),
+  L(2.347931159756482741018258864137297157668E11),
+  L(2.555408396679352028680662433943000804616E10),
+  L(1.408581709264464345480765758902967123937E9),
+  L(4.126759849752613822953004114044451046321E7),
+  L(6.133298899622688505854211579222889943778E5),
+  L(3.929248056293651597987893340755876578072E3),
+  L(6.850783280018706668924952057996075215223E0)
 };
 #define NRD13 6
 static const ldouble_t RD13[NRD13 + 1] =
 {
-  3.401225382297342302296607039352935541669E11L,
-  8.756765276918037910363513243563234551784E10L,
-  8.873913342866613213078554180987647243903E9L,
-  4.483797255342763263361893016049310017973E8L,
-  1.178186288833066430952276702931512870676E7L,
-  1.519928623743264797939103740132278337476E5L,
-  7.989298844938119228411117593338850892311E2L
+  L(3.401225382297342302296607039352935541669E11),
+  L(8.756765276918037910363513243563234551784E10),
+  L(8.873913342866613213078554180987647243903E9),
+  L(4.483797255342763263361893016049310017973E8),
+  L(1.178186288833066430952276702931512870676E7),
+  L(1.519928623743264797939103740132278337476E5),
+  L(7.989298844938119228411117593338850892311E2)
  /* 1.0E0L */
 };
 
@@ -140,30 +140,30 @@ static const ldouble_t RD13[NRD13 + 1] =
    -0.5 <= x <= 0.5
    11.5 <= x+12 <= 12.5
    Peak relative error 4.1e-36  */
-static const ldouble_t lgam12a = 1.75023040771484375E1L;
-static const ldouble_t lgam12b = 3.7687254483392876529072161996717039575982E-6L;
+static const ldouble_t lgam12a = L(1.75023040771484375E1);
+static const ldouble_t lgam12b = L(3.7687254483392876529072161996717039575982E-6);
 #define NRN12 7
 static const ldouble_t RN12[NRN12 + 1] =
 {
-  4.709859662695606986110997348630997559137E11L,
-  1.398713878079497115037857470168777995230E11L,
-  1.654654931821564315970930093932954900867E10L,
-  9.916279414876676861193649489207282144036E8L,
-  3.159604070526036074112008954113411389879E7L,
-  5.109099197547205212294747623977502492861E5L,
-  3.563054878276102790183396740969279826988E3L,
-  6.769610657004672719224614163196946862747E0L
+  L(4.709859662695606986110997348630997559137E11),
+  L(1.398713878079497115037857470168777995230E11),
+  L(1.654654931821564315970930093932954900867E10),
+  L(9.916279414876676861193649489207282144036E8),
+  L(3.159604070526036074112008954113411389879E7),
+  L(5.109099197547205212294747623977502492861E5),
+  L(3.563054878276102790183396740969279826988E3),
+  L(6.769610657004672719224614163196946862747E0)
 };
 #define NRD12 6
 static const ldouble_t RD12[NRD12 + 1] =
 {
-  1.928167007860968063912467318985802726613E11L,
-  5.383198282277806237247492369072266389233E10L,
-  5.915693215338294477444809323037871058363E9L,
-  3.241438287570196713148310560147925781342E8L,
-  9.236680081763754597872713592701048455890E6L,
-  1.292246897881650919242713651166596478850E5L,
-  7.366532445427159272584194816076600211171E2L
+  L(1.928167007860968063912467318985802726613E11),
+  L(5.383198282277806237247492369072266389233E10),
+  L(5.915693215338294477444809323037871058363E9),
+  L(3.241438287570196713148310560147925781342E8),
+  L(9.236680081763754597872713592701048455890E6),
+  L(1.292246897881650919242713651166596478850E5),
+  L(7.366532445427159272584194816076600211171E2)
  /* 1.0E0L */
 };
 
@@ -172,30 +172,30 @@ static const ldouble_t RD12[NRD12 + 1] =
    -0.5 <= x <= 0.5
    10.5 <= x+11 <= 11.5
    Peak relative error 1.8e-35  */
-static const ldouble_t lgam11a = 1.5104400634765625E1L;
-static const ldouble_t lgam11b = 1.1938309890295225709329251070371882250744E-5L;
+static const ldouble_t lgam11a = L(1.5104400634765625E1);
+static const ldouble_t lgam11b = L(1.1938309890295225709329251070371882250744E-5);
 #define NRN11 7
 static const ldouble_t RN11[NRN11 + 1] =
 {
-  2.446960438029415837384622675816736622795E11L,
-  7.955444974446413315803799763901729640350E10L,
-  1.030555327949159293591618473447420338444E10L,
-  6.765022131195302709153994345470493334946E8L,
-  2.361892792609204855279723576041468347494E7L,
-  4.186623629779479136428005806072176490125E5L,
-  3.202506022088912768601325534149383594049E3L,
-  6.681356101133728289358838690666225691363E0L
+  L(2.446960438029415837384622675816736622795E11),
+  L(7.955444974446413315803799763901729640350E10),
+  L(1.030555327949159293591618473447420338444E10),
+  L(6.765022131195302709153994345470493334946E8),
+  L(2.361892792609204855279723576041468347494E7),
+  L(4.186623629779479136428005806072176490125E5),
+  L(3.202506022088912768601325534149383594049E3),
+  L(6.681356101133728289358838690666225691363E0)
 };
 #define NRD11 6
 static const ldouble_t RD11[NRD11 + 1] =
 {
-  1.040483786179428590683912396379079477432E11L,
-  3.172251138489229497223696648369823779729E10L,
-  3.806961885984850433709295832245848084614E9L,
-  2.278070344022934913730015420611609620171E8L,
-  7.089478198662651683977290023829391596481E6L,
-  1.083246385105903533237139380509590158658E5L,
-  6.744420991491385145885727942219463243597E2L
+  L(1.040483786179428590683912396379079477432E11),
+  L(3.172251138489229497223696648369823779729E10),
+  L(3.806961885984850433709295832245848084614E9),
+  L(2.278070344022934913730015420611609620171E8),
+  L(7.089478198662651683977290023829391596481E6),
+  L(1.083246385105903533237139380509590158658E5),
+  L(6.744420991491385145885727942219463243597E2)
  /* 1.0E0L */
 };
 
@@ -204,31 +204,31 @@ static const ldouble_t RD11[NRD11 + 1] =
    -0.5 <= x <= 0.5
    9.5 <= x+10 <= 10.5
    Peak relative error 5.4e-37  */
-static const ldouble_t lgam10a = 1.280181884765625E1L;
-static const ldouble_t lgam10b = 8.6324252196112077178745667061642811492557E-6L;
+static const ldouble_t lgam10a = L(1.280181884765625E1);
+static const ldouble_t lgam10b = L(8.6324252196112077178745667061642811492557E-6);
 #define NRN10 7
 static const ldouble_t RN10[NRN10 + 1] =
 {
-  -1.239059737177249934158597996648808363783E14L,
-  -4.725899566371458992365624673357356908719E13L,
-  -7.283906268647083312042059082837754850808E12L,
-  -5.802855515464011422171165179767478794637E11L,
-  -2.532349691157548788382820303182745897298E10L,
-  -5.884260178023777312587193693477072061820E8L,
-  -6.437774864512125749845840472131829114906E6L,
-  -2.350975266781548931856017239843273049384E4L
+  -L(1.239059737177249934158597996648808363783E14),
+  -L(4.725899566371458992365624673357356908719E13),
+  -L(7.283906268647083312042059082837754850808E12),
+  -L(5.802855515464011422171165179767478794637E11),
+  -L(2.532349691157548788382820303182745897298E10),
+  -L(5.884260178023777312587193693477072061820E8),
+  -L(6.437774864512125749845840472131829114906E6),
+  -L(2.350975266781548931856017239843273049384E4)
 };
 #define NRD10 7
 static const ldouble_t RD10[NRD10 + 1] =
 {
-  -5.502645997581822567468347817182347679552E13L,
-  -1.970266640239849804162284805400136473801E13L,
-  -2.819677689615038489384974042561531409392E12L,
-  -2.056105863694742752589691183194061265094E11L,
-  -8.053670086493258693186307810815819662078E9L,
-  -1.632090155573373286153427982504851867131E8L,
-  -1.483575879240631280658077826889223634921E6L,
-  -4.002806669713232271615885826373550502510E3L
+  -L(5.502645997581822567468347817182347679552E13),
+  -L(1.970266640239849804162284805400136473801E13),
+  -L(2.819677689615038489384974042561531409392E12),
+  -L(2.056105863694742752589691183194061265094E11),
+  -L(8.053670086493258693186307810815819662078E9),
+  -L(1.632090155573373286153427982504851867131E8),
+  -L(1.483575879240631280658077826889223634921E6),
+  -L(4.002806669713232271615885826373550502510E3)
  /* 1.0E0L */
 };
 
@@ -237,31 +237,31 @@ static const ldouble_t RD10[NRD10 + 1] =
    -0.5 <= x <= 0.5
    8.5 <= x+9 <= 9.5
    Peak relative error 3.6e-36  */
-static const ldouble_t lgam9a = 1.06045989990234375E1L;
-static const ldouble_t lgam9b = 3.9037218127284172274007216547549861681400E-6L;
+static const ldouble_t lgam9a = L(1.06045989990234375E1);
+static const ldouble_t lgam9b = L(3.9037218127284172274007216547549861681400E-6);
 #define NRN9 7
 static const ldouble_t RN9[NRN9 + 1] =
 {
-  -4.936332264202687973364500998984608306189E13L,
-  -2.101372682623700967335206138517766274855E13L,
-  -3.615893404644823888655732817505129444195E12L,
-  -3.217104993800878891194322691860075472926E11L,
-  -1.568465330337375725685439173603032921399E10L,
-  -4.073317518162025744377629219101510217761E8L,
-  -4.983232096406156139324846656819246974500E6L,
-  -2.036280038903695980912289722995505277253E4L
+  -L(4.936332264202687973364500998984608306189E13),
+  -L(2.101372682623700967335206138517766274855E13),
+  -L(3.615893404644823888655732817505129444195E12),
+  -L(3.217104993800878891194322691860075472926E11),
+  -L(1.568465330337375725685439173603032921399E10),
+  -L(4.073317518162025744377629219101510217761E8),
+  -L(4.983232096406156139324846656819246974500E6),
+  -L(2.036280038903695980912289722995505277253E4)
 };
 #define NRD9 7
 static const ldouble_t RD9[NRD9 + 1] =
 {
-  -2.306006080437656357167128541231915480393E13L,
-  -9.183606842453274924895648863832233799950E12L,
-  -1.461857965935942962087907301194381010380E12L,
-  -1.185728254682789754150068652663124298303E11L,
-  -5.166285094703468567389566085480783070037E9L,
-  -1.164573656694603024184768200787835094317E8L,
-  -1.177343939483908678474886454113163527909E6L,
-  -3.529391059783109732159524500029157638736E3L
+  -L(2.306006080437656357167128541231915480393E13),
+  -L(9.183606842453274924895648863832233799950E12),
+  -L(1.461857965935942962087907301194381010380E12),
+  -L(1.185728254682789754150068652663124298303E11),
+  -L(5.166285094703468567389566085480783070037E9),
+  -L(1.164573656694603024184768200787835094317E8),
+  -L(1.177343939483908678474886454113163527909E6),
+  -L(3.529391059783109732159524500029157638736E3)
   /* 1.0E0L */
 };
 
@@ -270,32 +270,32 @@ static const ldouble_t RD9[NRD9 + 1] =
    -0.5 <= x <= 0.5
    7.5 <= x+8 <= 8.5
    Peak relative error 2.4e-37  */
-static const ldouble_t lgam8a = 8.525146484375E0L;
-static const ldouble_t lgam8b = 1.4876690414300165531036347125050759667737E-5L;
+static const ldouble_t lgam8a = L(8.525146484375E0);
+static const ldouble_t lgam8b = L(1.4876690414300165531036347125050759667737E-5);
 #define NRN8 8
 static const ldouble_t RN8[NRN8 + 1] =
 {
-  6.600775438203423546565361176829139703289E11L,
-  3.406361267593790705240802723914281025800E11L,
-  7.222460928505293914746983300555538432830E10L,
-  8.102984106025088123058747466840656458342E9L,
-  5.157620015986282905232150979772409345927E8L,
-  1.851445288272645829028129389609068641517E7L,
-  3.489261702223124354745894067468953756656E5L,
-  2.892095396706665774434217489775617756014E3L,
-  6.596977510622195827183948478627058738034E0L
+  L(6.600775438203423546565361176829139703289E11),
+  L(3.406361267593790705240802723914281025800E11),
+  L(7.222460928505293914746983300555538432830E10),
+  L(8.102984106025088123058747466840656458342E9),
+  L(5.157620015986282905232150979772409345927E8),
+  L(1.851445288272645829028129389609068641517E7),
+  L(3.489261702223124354745894067468953756656E5),
+  L(2.892095396706665774434217489775617756014E3),
+  L(6.596977510622195827183948478627058738034E0)
 };
 #define NRD8 7
 static const ldouble_t RD8[NRD8 + 1] =
 {
-  3.274776546520735414638114828622673016920E11L,
-  1.581811207929065544043963828487733970107E11L,
-  3.108725655667825188135393076860104546416E10L,
-  3.193055010502912617128480163681842165730E9L,
-  1.830871482669835106357529710116211541839E8L,
-  5.790862854275238129848491555068073485086E6L,
-  9.305213264307921522842678835618803553589E4L,
-  6.216974105861848386918949336819572333622E2L
+  L(3.274776546520735414638114828622673016920E11),
+  L(1.581811207929065544043963828487733970107E11),
+  L(3.108725655667825188135393076860104546416E10),
+  L(3.193055010502912617128480163681842165730E9),
+  L(1.830871482669835106357529710116211541839E8),
+  L(5.790862854275238129848491555068073485086E6),
+  L(9.305213264307921522842678835618803553589E4),
+  L(6.216974105861848386918949336819572333622E2)
   /* 1.0E0L */
 };
 
@@ -304,32 +304,32 @@ static const ldouble_t RD8[NRD8 + 1] =
    -0.5 <= x <= 0.5
    6.5 <= x+7 <= 7.5
    Peak relative error 3.2e-36  */
-static const ldouble_t lgam7a = 6.5792388916015625E0L;
-static const ldouble_t lgam7b = 1.2320408538495060178292903945321122583007E-5L;
+static const ldouble_t lgam7a = L(6.5792388916015625E0);
+static const ldouble_t lgam7b = L(1.2320408538495060178292903945321122583007E-5);
 #define NRN7 8
 static const ldouble_t RN7[NRN7 + 1] =
 {
-  2.065019306969459407636744543358209942213E11L,
-  1.226919919023736909889724951708796532847E11L,
-  2.996157990374348596472241776917953749106E10L,
-  3.873001919306801037344727168434909521030E9L,
-  2.841575255593761593270885753992732145094E8L,
-  1.176342515359431913664715324652399565551E7L,
-  2.558097039684188723597519300356028511547E5L,
-  2.448525238332609439023786244782810774702E3L,
-  6.460280377802030953041566617300902020435E0L
+  L(2.065019306969459407636744543358209942213E11),
+  L(1.226919919023736909889724951708796532847E11),
+  L(2.996157990374348596472241776917953749106E10),
+  L(3.873001919306801037344727168434909521030E9),
+  L(2.841575255593761593270885753992732145094E8),
+  L(1.176342515359431913664715324652399565551E7),
+  L(2.558097039684188723597519300356028511547E5),
+  L(2.448525238332609439023786244782810774702E3),
+  L(6.460280377802030953041566617300902020435E0)
 };
 #define NRD7 7
 static const ldouble_t RD7[NRD7 + 1] =
 {
-  1.102646614598516998880874785339049304483E11L,
-  6.099297512712715445879759589407189290040E10L,
-  1.372898136289611312713283201112060238351E10L,
-  1.615306270420293159907951633566635172343E9L,
-  1.061114435798489135996614242842561967459E8L,
-  3.845638971184305248268608902030718674691E6L,
-  7.081730675423444975703917836972720495507E4L,
-  5.423122582741398226693137276201344096370E2L
+  L(1.102646614598516998880874785339049304483E11),
+  L(6.099297512712715445879759589407189290040E10),
+  L(1.372898136289611312713283201112060238351E10),
+  L(1.615306270420293159907951633566635172343E9),
+  L(1.061114435798489135996614242842561967459E8),
+  L(3.845638971184305248268608902030718674691E6),
+  L(7.081730675423444975703917836972720495507E4),
+  L(5.423122582741398226693137276201344096370E2)
   /* 1.0E0L */
 };
 
@@ -338,34 +338,34 @@ static const ldouble_t RD7[NRD7 + 1] =
    -0.5 <= x <= 0.5
    5.5 <= x+6 <= 6.5
    Peak relative error 6.2e-37  */
-static const ldouble_t lgam6a = 4.7874908447265625E0L;
-static const ldouble_t lgam6b = 8.9805548349424770093452324304839959231517E-7L;
+static const ldouble_t lgam6a = L(4.7874908447265625E0);
+static const ldouble_t lgam6b = L(8.9805548349424770093452324304839959231517E-7);
 #define NRN6 8
 static const ldouble_t RN6[NRN6 + 1] =
 {
-  -3.538412754670746879119162116819571823643E13L,
-  -2.613432593406849155765698121483394257148E13L,
-  -8.020670732770461579558867891923784753062E12L,
-  -1.322227822931250045347591780332435433420E12L,
-  -1.262809382777272476572558806855377129513E11L,
-  -7.015006277027660872284922325741197022467E9L,
-  -2.149320689089020841076532186783055727299E8L,
-  -3.167210585700002703820077565539658995316E6L,
-  -1.576834867378554185210279285358586385266E4L
+  -L(3.538412754670746879119162116819571823643E13),
+  -L(2.613432593406849155765698121483394257148E13),
+  -L(8.020670732770461579558867891923784753062E12),
+  -L(1.322227822931250045347591780332435433420E12),
+  -L(1.262809382777272476572558806855377129513E11),
+  -L(7.015006277027660872284922325741197022467E9),
+  -L(2.149320689089020841076532186783055727299E8),
+  -L(3.167210585700002703820077565539658995316E6),
+  -L(1.576834867378554185210279285358586385266E4)
 };
 #define NRD6 8
 static const ldouble_t RD6[NRD6 + 1] =
 {
-  -2.073955870771283609792355579558899389085E13L,
-  -1.421592856111673959642750863283919318175E13L,
-  -4.012134994918353924219048850264207074949E12L,
-  -6.013361045800992316498238470888523722431E11L,
-  -5.145382510136622274784240527039643430628E10L,
-  -2.510575820013409711678540476918249524123E9L,
-  -6.564058379709759600836745035871373240904E7L,
-  -7.861511116647120540275354855221373571536E5L,
-  -2.821943442729620524365661338459579270561E3L
-  /* 1.0E0L */
+  -L(2.073955870771283609792355579558899389085E13),
+  -L(1.421592856111673959642750863283919318175E13),
+  -L(4.012134994918353924219048850264207074949E12),
+  -L(6.013361045800992316498238470888523722431E11),
+  -L(5.145382510136622274784240527039643430628E10),
+  -L(2.510575820013409711678540476918249524123E9),
+  -L(6.564058379709759600836745035871373240904E7),
+  -L(7.861511116647120540275354855221373571536E5),
+  -L(2.821943442729620524365661338459579270561E3)
+  /* L(1.0E0) */
 };
 
 
@@ -373,34 +373,34 @@ static const ldouble_t RD6[NRD6 + 1] =
    -0.5 <= x <= 0.5
    4.5 <= x+5 <= 5.5
    Peak relative error 3.4e-37  */
-static const ldouble_t lgam5a = 3.17803955078125E0L;
-static const ldouble_t lgam5b = 1.4279566695619646941601297055408873990961E-5L;
+static const ldouble_t lgam5a = L(3.17803955078125E0);
+static const ldouble_t lgam5b = L(1.4279566695619646941601297055408873990961E-5);
 #define NRN5 9
 static const ldouble_t RN5[NRN5 + 1] =
 {
-  2.010952885441805899580403215533972172098E11L,
-  1.916132681242540921354921906708215338584E11L,
-  7.679102403710581712903937970163206882492E10L,
-  1.680514903671382470108010973615268125169E10L,
-  2.181011222911537259440775283277711588410E9L,
-  1.705361119398837808244780667539728356096E8L,
-  7.792391565652481864976147945997033946360E6L,
-  1.910741381027985291688667214472560023819E5L,
-  2.088138241893612679762260077783794329559E3L,
-  6.330318119566998299106803922739066556550E0L
+  L(2.010952885441805899580403215533972172098E11),
+  L(1.916132681242540921354921906708215338584E11),
+  L(7.679102403710581712903937970163206882492E10),
+  L(1.680514903671382470108010973615268125169E10),
+  L(2.181011222911537259440775283277711588410E9),
+  L(1.705361119398837808244780667539728356096E8),
+  L(7.792391565652481864976147945997033946360E6),
+  L(1.910741381027985291688667214472560023819E5),
+  L(2.088138241893612679762260077783794329559E3),
+  L(6.330318119566998299106803922739066556550E0)
 };
 #define NRD5 8
 static const ldouble_t RD5[NRD5 + 1] =
 {
-  1.335189758138651840605141370223112376176E11L,
-  1.174130445739492885895466097516530211283E11L,
-  4.308006619274572338118732154886328519910E10L,
-  8.547402888692578655814445003283720677468E9L,
-  9.934628078575618309542580800421370730906E8L,
-  6.847107420092173812998096295422311820672E7L,
-  2.698552646016599923609773122139463150403E6L,
-  5.526516251532464176412113632726150253215E4L,
-  4.772343321713697385780533022595450486932E2L
+  L(1.335189758138651840605141370223112376176E11),
+  L(1.174130445739492885895466097516530211283E11),
+  L(4.308006619274572338118732154886328519910E10),
+  L(8.547402888692578655814445003283720677468E9),
+  L(9.934628078575618309542580800421370730906E8),
+  L(6.847107420092173812998096295422311820672E7),
+  L(2.698552646016599923609773122139463150403E6),
+  L(5.526516251532464176412113632726150253215E4),
+  L(4.772343321713697385780533022595450486932E2)
   /* 1.0E0L */
 };
 
@@ -409,35 +409,35 @@ static const ldouble_t RD5[NRD5 + 1] =
    -0.5 <= x <= 0.5
    3.5 <= x+4 <= 4.5
    Peak relative error 6.7e-37  */
-static const ldouble_t lgam4a = 1.791748046875E0L;
-static const ldouble_t lgam4b = 1.1422353055000812477358380702272722990692E-5L;
+static const ldouble_t lgam4a = L(1.791748046875E0);
+static const ldouble_t lgam4b = L(1.1422353055000812477358380702272722990692E-5);
 #define NRN4 9
 static const ldouble_t RN4[NRN4 + 1] =
 {
-  -1.026583408246155508572442242188887829208E13L,
-  -1.306476685384622809290193031208776258809E13L,
-  -7.051088602207062164232806511992978915508E12L,
-  -2.100849457735620004967624442027793656108E12L,
-  -3.767473790774546963588549871673843260569E11L,
-  -4.156387497364909963498394522336575984206E10L,
-  -2.764021460668011732047778992419118757746E9L,
-  -1.036617204107109779944986471142938641399E8L,
-  -1.895730886640349026257780896972598305443E6L,
-  -1.180509051468390914200720003907727988201E4L
+  -L(1.026583408246155508572442242188887829208E13),
+  -L(1.306476685384622809290193031208776258809E13),
+  -L(7.051088602207062164232806511992978915508E12),
+  -L(2.100849457735620004967624442027793656108E12),
+  -L(3.767473790774546963588549871673843260569E11),
+  -L(4.156387497364909963498394522336575984206E10),
+  -L(2.764021460668011732047778992419118757746E9),
+  -L(1.036617204107109779944986471142938641399E8),
+  -L(1.895730886640349026257780896972598305443E6),
+  -L(1.180509051468390914200720003907727988201E4)
 };
 #define NRD4 9
 static const ldouble_t RD4[NRD4 + 1] =
 {
-  -8.172669122056002077809119378047536240889E12L,
-  -9.477592426087986751343695251801814226960E12L,
-  -4.629448850139318158743900253637212801682E12L,
-  -1.237965465892012573255370078308035272942E12L,
-  -1.971624313506929845158062177061297598956E11L,
-  -1.905434843346570533229942397763361493610E10L,
-  -1.089409357680461419743730978512856675984E9L,
-  -3.416703082301143192939774401370222822430E7L,
-  -4.981791914177103793218433195857635265295E5L,
-  -2.192507743896742751483055798411231453733E3L
+  -L(8.172669122056002077809119378047536240889E12),
+  -L(9.477592426087986751343695251801814226960E12),
+  -L(4.629448850139318158743900253637212801682E12),
+  -L(1.237965465892012573255370078308035272942E12),
+  -L(1.971624313506929845158062177061297598956E11),
+  -L(1.905434843346570533229942397763361493610E10),
+  -L(1.089409357680461419743730978512856675984E9),
+  -L(3.416703082301143192939774401370222822430E7),
+  -L(4.981791914177103793218433195857635265295E5),
+  -L(2.192507743896742751483055798411231453733E3)
   /* 1.0E0L */
 };
 
@@ -446,36 +446,36 @@ static const ldouble_t RD4[NRD4 + 1] =
    -0.25 <= x <= 0.5
    2.75 <= x+3 <= 3.5
    Peak relative error 6.0e-37  */
-static const ldouble_t lgam3a = 6.93145751953125E-1L;
-static const ldouble_t lgam3b = 1.4286068203094172321214581765680755001344E-6L;
+static const ldouble_t lgam3a = L(6.93145751953125E-1);
+static const ldouble_t lgam3b = L(1.4286068203094172321214581765680755001344E-6);
 
 #define NRN3 9
 static const ldouble_t RN3[NRN3 + 1] =
 {
-  -4.813901815114776281494823863935820876670E11L,
-  -8.425592975288250400493910291066881992620E11L,
-  -6.228685507402467503655405482985516909157E11L,
-  -2.531972054436786351403749276956707260499E11L,
-  -6.170200796658926701311867484296426831687E10L,
-  -9.211477458528156048231908798456365081135E9L,
-  -8.251806236175037114064561038908691305583E8L,
-  -4.147886355917831049939930101151160447495E7L,
-  -1.010851868928346082547075956946476932162E6L,
-  -8.333374463411801009783402800801201603736E3L
+  -L(4.813901815114776281494823863935820876670E11),
+  -L(8.425592975288250400493910291066881992620E11),
+  -L(6.228685507402467503655405482985516909157E11),
+  -L(2.531972054436786351403749276956707260499E11),
+  -L(6.170200796658926701311867484296426831687E10),
+  -L(9.211477458528156048231908798456365081135E9),
+  -L(8.251806236175037114064561038908691305583E8),
+  -L(4.147886355917831049939930101151160447495E7),
+  -L(1.010851868928346082547075956946476932162E6),
+  -L(8.333374463411801009783402800801201603736E3)
 };
 #define NRD3 9
 static const ldouble_t RD3[NRD3 + 1] =
 {
-  -5.216713843111675050627304523368029262450E11L,
-  -8.014292925418308759369583419234079164391E11L,
-  -5.180106858220030014546267824392678611990E11L,
-  -1.830406975497439003897734969120997840011E11L,
-  -3.845274631904879621945745960119924118925E10L,
-  -4.891033385370523863288908070309417710903E9L,
-  -3.670172254411328640353855768698287474282E8L,
-  -1.505316381525727713026364396635522516989E7L,
-  -2.856327162923716881454613540575964890347E5L,
-  -1.622140448015769906847567212766206894547E3L
+  -L(5.216713843111675050627304523368029262450E11),
+  -L(8.014292925418308759369583419234079164391E11),
+  -L(5.180106858220030014546267824392678611990E11),
+  -L(1.830406975497439003897734969120997840011E11),
+  -L(3.845274631904879621945745960119924118925E10),
+  -L(4.891033385370523863288908070309417710903E9),
+  -L(3.670172254411328640353855768698287474282E8),
+  -L(1.505316381525727713026364396635522516989E7),
+  -L(2.856327162923716881454613540575964890347E5),
+  -L(1.622140448015769906847567212766206894547E3)
   /* 1.0E0L */
 };
 
@@ -483,33 +483,33 @@ static const ldouble_t RD3[NRD3 + 1] =
 /* log gamma(x+2.5) = log gamma(2.5) +  x P(x)/Q(x)
    -0.125 <= x <= 0.25
    2.375 <= x+2.5 <= 2.75  */
-static const ldouble_t lgam2r5a = 2.8466796875E-1L;
-static const ldouble_t lgam2r5b = 1.4901722919159632494669682701924320137696E-5L;
+static const ldouble_t lgam2r5a = L(2.8466796875E-1);
+static const ldouble_t lgam2r5b = L(1.4901722919159632494669682701924320137696E-5);
 #define NRN2r5 8
 static const ldouble_t RN2r5[NRN2r5 + 1] =
 {
-  -4.676454313888335499356699817678862233205E9L,
-  -9.361888347911187924389905984624216340639E9L,
-  -7.695353600835685037920815799526540237703E9L,
-  -3.364370100981509060441853085968900734521E9L,
-  -8.449902011848163568670361316804900559863E8L,
-  -1.225249050950801905108001246436783022179E8L,
-  -9.732972931077110161639900388121650470926E6L,
-  -3.695711763932153505623248207576425983573E5L,
-  -4.717341584067827676530426007495274711306E3L
+  -L(4.676454313888335499356699817678862233205E9),
+  -L(9.361888347911187924389905984624216340639E9),
+  -L(7.695353600835685037920815799526540237703E9),
+  -L(3.364370100981509060441853085968900734521E9),
+  -L(8.449902011848163568670361316804900559863E8),
+  -L(1.225249050950801905108001246436783022179E8),
+  -L(9.732972931077110161639900388121650470926E6),
+  -L(3.695711763932153505623248207576425983573E5),
+  -L(4.717341584067827676530426007495274711306E3)
 };
 #define NRD2r5 8
 static const ldouble_t RD2r5[NRD2r5 + 1] =
 {
-  -6.650657966618993679456019224416926875619E9L,
-  -1.099511409330635807899718829033488771623E10L,
-  -7.482546968307837168164311101447116903148E9L,
-  -2.702967190056506495988922973755870557217E9L,
-  -5.570008176482922704972943389590409280950E8L,
-  -6.536934032192792470926310043166993233231E7L,
-  -4.101991193844953082400035444146067511725E6L,
-  -1.174082735875715802334430481065526664020E5L,
-  -9.932840389994157592102947657277692978511E2L
+  -L(6.650657966618993679456019224416926875619E9),
+  -L(1.099511409330635807899718829033488771623E10),
+  -L(7.482546968307837168164311101447116903148E9),
+  -L(2.702967190056506495988922973755870557217E9),
+  -L(5.570008176482922704972943389590409280950E8),
+  -L(6.536934032192792470926310043166993233231E7),
+  -L(4.101991193844953082400035444146067511725E6),
+  -L(1.174082735875715802334430481065526664020E5),
+  -L(9.932840389994157592102947657277692978511E2)
   /* 1.0E0L */
 };
 
@@ -521,30 +521,30 @@ static const ldouble_t RD2r5[NRD2r5 + 1] =
 #define NRN2 9
 static const ldouble_t RN2[NRN2 + 1] =
 {
-  -3.716661929737318153526921358113793421524E9L,
-  -1.138816715030710406922819131397532331321E10L,
-  -1.421017419363526524544402598734013569950E10L,
-  -9.510432842542519665483662502132010331451E9L,
-  -3.747528562099410197957514973274474767329E9L,
-  -8.923565763363912474488712255317033616626E8L,
-  -1.261396653700237624185350402781338231697E8L,
-  -9.918402520255661797735331317081425749014E6L,
-  -3.753996255897143855113273724233104768831E5L,
-  -4.778761333044147141559311805999540765612E3L
+  -L(3.716661929737318153526921358113793421524E9),
+  -L(1.138816715030710406922819131397532331321E10),
+  -L(1.421017419363526524544402598734013569950E10),
+  -L(9.510432842542519665483662502132010331451E9),
+  -L(3.747528562099410197957514973274474767329E9),
+  -L(8.923565763363912474488712255317033616626E8),
+  -L(1.261396653700237624185350402781338231697E8),
+  -L(9.918402520255661797735331317081425749014E6),
+  -L(3.753996255897143855113273724233104768831E5),
+  -L(4.778761333044147141559311805999540765612E3)
 };
 #define NRD2 9
 static const ldouble_t RD2[NRD2 + 1] =
 {
-  -8.790916836764308497770359421351673950111E9L,
-  -2.023108608053212516399197678553737477486E10L,
-  -1.958067901852022239294231785363504458367E10L,
-  -1.035515043621003101254252481625188704529E10L,
-  -3.253884432621336737640841276619272224476E9L,
-  -6.186383531162456814954947669274235815544E8L,
-  -6.932557847749518463038934953605969951466E7L,
-  -4.240731768287359608773351626528479703758E6L,
-  -1.197343995089189188078944689846348116630E5L,
-  -1.004622911670588064824904487064114090920E3L
+  -L(8.790916836764308497770359421351673950111E9),
+  -L(2.023108608053212516399197678553737477486E10),
+  -L(1.958067901852022239294231785363504458367E10),
+  -L(1.035515043621003101254252481625188704529E10),
+  -L(3.253884432621336737640841276619272224476E9),
+  -L(6.186383531162456814954947669274235815544E8),
+  -L(6.932557847749518463038934953605969951466E7),
+  -L(4.240731768287359608773351626528479703758E6),
+  -L(1.197343995089189188078944689846348116630E5),
+  -L(1.004622911670588064824904487064114090920E3)
 /* 1.0E0 */
 };
 
@@ -553,33 +553,33 @@ static const ldouble_t RD2[NRD2 + 1] =
    -0.125 <= x <= +0.125
    1.625 <= x+1.75 <= 1.875
    Peak relative error 9.2e-37 */
-static const ldouble_t lgam1r75a = -8.441162109375E-2L;
-static const ldouble_t lgam1r75b = 1.0500073264444042213965868602268256157604E-5L;
+static const ldouble_t lgam1r75a = -L(8.441162109375E-2);
+static const ldouble_t lgam1r75b = L(1.0500073264444042213965868602268256157604E-5);
 #define NRN1r75 8
 static const ldouble_t RN1r75[NRN1r75 + 1] =
 {
-  -5.221061693929833937710891646275798251513E7L,
-  -2.052466337474314812817883030472496436993E8L,
-  -2.952718275974940270675670705084125640069E8L,
-  -2.132294039648116684922965964126389017840E8L,
-  -8.554103077186505960591321962207519908489E7L,
-  -1.940250901348870867323943119132071960050E7L,
-  -2.379394147112756860769336400290402208435E6L,
-  -1.384060879999526222029386539622255797389E5L,
-  -2.698453601378319296159355612094598695530E3L
+  -L(5.221061693929833937710891646275798251513E7),
+  -L(2.052466337474314812817883030472496436993E8),
+  -L(2.952718275974940270675670705084125640069E8),
+  -L(2.132294039648116684922965964126389017840E8),
+  -L(8.554103077186505960591321962207519908489E7),
+  -L(1.940250901348870867323943119132071960050E7),
+  -L(2.379394147112756860769336400290402208435E6),
+  -L(1.384060879999526222029386539622255797389E5),
+  -L(2.698453601378319296159355612094598695530E3)
 };
 #define NRD1r75 8
 static const ldouble_t RD1r75[NRD1r75 + 1] =
 {
-  -2.109754689501705828789976311354395393605E8L,
-  -5.036651829232895725959911504899241062286E8L,
-  -4.954234699418689764943486770327295098084E8L,
-  -2.589558042412676610775157783898195339410E8L,
-  -7.731476117252958268044969614034776883031E7L,
-  -1.316721702252481296030801191240867486965E7L,
-  -1.201296501404876774861190604303728810836E6L,
-  -5.007966406976106636109459072523610273928E4L,
-  -6.155817990560743422008969155276229018209E2L
+  -L(2.109754689501705828789976311354395393605E8),
+  -L(5.036651829232895725959911504899241062286E8),
+  -L(4.954234699418689764943486770327295098084E8),
+  -L(2.589558042412676610775157783898195339410E8),
+  -L(7.731476117252958268044969614034776883031E7),
+  -L(1.316721702252481296030801191240867486965E7),
+  -L(1.201296501404876774861190604303728810836E6),
+  -L(5.007966406976106636109459072523610273928E4),
+  -L(6.155817990560743422008969155276229018209E2)
   /* 1.0E0L */
 };
 
@@ -588,35 +588,35 @@ static const ldouble_t RD1r75[NRD1r75 + 1] =
    -0.0867 <= x <= +0.1634
    1.374932... <= x+x0 <= 1.625032...
    Peak relative error 4.0e-36  */
-static const ldouble_t x0a = 1.4616241455078125L;
-static const ldouble_t x0b = 7.9994605498412626595423257213002588621246E-6L;
-static const ldouble_t y0a = -1.21490478515625E-1L;
-static const ldouble_t y0b = 4.1879797753919044854428223084178486438269E-6L;
+static const ldouble_t x0a = L(1.4616241455078125);
+static const ldouble_t x0b = L(7.9994605498412626595423257213002588621246E-6);
+static const ldouble_t y0a = -L(1.21490478515625E-1);
+static const ldouble_t y0b = L(4.1879797753919044854428223084178486438269E-6);
 #define NRN1r5 8
 static const ldouble_t RN1r5[NRN1r5 + 1] =
 {
-  6.827103657233705798067415468881313128066E5L,
-  1.910041815932269464714909706705242148108E6L,
-  2.194344176925978377083808566251427771951E6L,
-  1.332921400100891472195055269688876427962E6L,
-  4.589080973377307211815655093824787123508E5L,
-  8.900334161263456942727083580232613796141E4L,
-  9.053840838306019753209127312097612455236E3L,
-  4.053367147553353374151852319743594873771E2L,
-  5.040631576303952022968949605613514584950E0L
+  L(6.827103657233705798067415468881313128066E5),
+  L(1.910041815932269464714909706705242148108E6),
+  L(2.194344176925978377083808566251427771951E6),
+  L(1.332921400100891472195055269688876427962E6),
+  L(4.589080973377307211815655093824787123508E5),
+  L(8.900334161263456942727083580232613796141E4),
+  L(9.053840838306019753209127312097612455236E3),
+  L(4.053367147553353374151852319743594873771E2),
+  L(5.040631576303952022968949605613514584950E0)
 };
 #define NRD1r5 8
 static const ldouble_t RD1r5[NRD1r5 + 1] =
 {
-  1.411036368843183477558773688484699813355E6L,
-  4.378121767236251950226362443134306184849E6L,
-  5.682322855631723455425929877581697918168E6L,
-  3.999065731556977782435009349967042222375E6L,
-  1.653651390456781293163585493620758410333E6L,
-  4.067774359067489605179546964969435858311E5L,
-  5.741463295366557346748361781768833633256E4L,
-  4.226404539738182992856094681115746692030E3L,
-  1.316980975410327975566999780608618774469E2L,
+  L(1.411036368843183477558773688484699813355E6),
+  L(4.378121767236251950226362443134306184849E6),
+  L(5.682322855631723455425929877581697918168E6),
+  L(3.999065731556977782435009349967042222375E6),
+  L(1.653651390456781293163585493620758410333E6),
+  L(4.067774359067489605179546964969435858311E5),
+  L(5.741463295366557346748361781768833633256E4),
+  L(4.226404539738182992856094681115746692030E3),
+  L(1.316980975410327975566999780608618774469E2),
   /* 1.0E0L */
 };
 
@@ -625,34 +625,34 @@ static const ldouble_t RD1r5[NRD1r5 + 1] =
    -.125 <= x <= +.125
    1.125 <= x+1.25 <= 1.375
    Peak relative error = 4.9e-36 */
-static const ldouble_t lgam1r25a = -9.82818603515625E-2L;
-static const ldouble_t lgam1r25b = 1.0023929749338536146197303364159774377296E-5L;
+static const ldouble_t lgam1r25a = -L(9.82818603515625E-2);
+static const ldouble_t lgam1r25b = L(1.0023929749338536146197303364159774377296E-5);
 #define NRN1r25 9
 static const ldouble_t RN1r25[NRN1r25 + 1] =
 {
-  -9.054787275312026472896002240379580536760E4L,
-  -8.685076892989927640126560802094680794471E4L,
-  2.797898965448019916967849727279076547109E5L,
-  6.175520827134342734546868356396008898299E5L,
-  5.179626599589134831538516906517372619641E5L,
-  2.253076616239043944538380039205558242161E5L,
-  5.312653119599957228630544772499197307195E4L,
-  6.434329437514083776052669599834938898255E3L,
-  3.385414416983114598582554037612347549220E2L,
-  4.907821957946273805080625052510832015792E0L
+  -L(9.054787275312026472896002240379580536760E4),
+  -L(8.685076892989927640126560802094680794471E4),
+  L(2.797898965448019916967849727279076547109E5),
+  L(6.175520827134342734546868356396008898299E5),
+  L(5.179626599589134831538516906517372619641E5),
+  L(2.253076616239043944538380039205558242161E5),
+  L(5.312653119599957228630544772499197307195E4),
+  L(6.434329437514083776052669599834938898255E3),
+  L(3.385414416983114598582554037612347549220E2),
+  L(4.907821957946273805080625052510832015792E0)
 };
 #define NRD1r25 8
 static const ldouble_t RD1r25[NRD1r25 + 1] =
 {
-  3.980939377333448005389084785896660309000E5L,
-  1.429634893085231519692365775184490465542E6L,
-  2.145438946455476062850151428438668234336E6L,
-  1.743786661358280837020848127465970357893E6L,
-  8.316364251289743923178092656080441655273E5L,
-  2.355732939106812496699621491135458324294E5L,
-  3.822267399625696880571810137601310855419E4L,
-  3.228463206479133236028576845538387620856E3L,
-  1.152133170470059555646301189220117965514E2L
+  L(3.980939377333448005389084785896660309000E5),
+  L(1.429634893085231519692365775184490465542E6),
+  L(2.145438946455476062850151428438668234336E6),
+  L(1.743786661358280837020848127465970357893E6),
+  L(8.316364251289743923178092656080441655273E5),
+  L(2.355732939106812496699621491135458324294E5),
+  L(3.822267399625696880571810137601310855419E4),
+  L(3.228463206479133236028576845538387620856E3),
+  L(1.152133170470059555646301189220117965514E2)
   /* 1.0E0L */
 };
 
@@ -664,27 +664,27 @@ static const ldouble_t RD1r25[NRD1r25 + 1] =
 #define NRN1 8
 static const ldouble_t RN1[NRN1 + 1] =
 {
-  -9.987560186094800756471055681088744738818E3L,
-  -2.506039379419574361949680225279376329742E4L,
-  -1.386770737662176516403363873617457652991E4L,
-  1.439445846078103202928677244188837130744E4L,
-  2.159612048879650471489449668295139990693E4L,
-  1.047439813638144485276023138173676047079E4L,
-  2.250316398054332592560412486630769139961E3L,
-  1.958510425467720733041971651126443864041E2L,
-  4.516830313569454663374271993200291219855E0L
+  -L(9.987560186094800756471055681088744738818E3),
+  -L(2.506039379419574361949680225279376329742E4),
+  -L(1.386770737662176516403363873617457652991E4),
+  L(1.439445846078103202928677244188837130744E4),
+  L(2.159612048879650471489449668295139990693E4),
+  L(1.047439813638144485276023138173676047079E4),
+  L(2.250316398054332592560412486630769139961E3),
+  L(1.958510425467720733041971651126443864041E2),
+  L(4.516830313569454663374271993200291219855E0)
 };
 #define NRD1 7
 static const ldouble_t RD1[NRD1 + 1] =
 {
-  1.730299573175751778863269333703788214547E4L,
-  6.807080914851328611903744668028014678148E4L,
-  1.090071629101496938655806063184092302439E5L,
-  9.124354356415154289343303999616003884080E4L,
-  4.262071638655772404431164427024003253954E4L,
-  1.096981664067373953673982635805821283581E4L,
-  1.431229503796575892151252708527595787588E3L,
-  7.734110684303689320830401788262295992921E1L
+  L(1.730299573175751778863269333703788214547E4),
+  L(6.807080914851328611903744668028014678148E4),
+  L(1.090071629101496938655806063184092302439E5),
+  L(9.124354356415154289343303999616003884080E4),
+  L(4.262071638655772404431164427024003253954E4),
+  L(1.096981664067373953673982635805821283581E4),
+  L(1.431229503796575892151252708527595787588E3),
+  L(7.734110684303689320830401788262295992921E1)
  /* 1.0E0 */
 };
 
@@ -696,28 +696,28 @@ static const ldouble_t RD1[NRD1 + 1] =
 #define NRNr9 8
 static const ldouble_t RNr9[NRNr9 + 1] =
 {
-  4.441379198241760069548832023257571176884E5L,
-  1.273072988367176540909122090089580368732E6L,
-  9.732422305818501557502584486510048387724E5L,
-  -5.040539994443998275271644292272870348684E5L,
-  -1.208719055525609446357448132109723786736E6L,
-  -7.434275365370936547146540554419058907156E5L,
-  -2.075642969983377738209203358199008185741E5L,
-  -2.565534860781128618589288075109372218042E4L,
-  -1.032901669542994124131223797515913955938E3L,
+  L(4.441379198241760069548832023257571176884E5),
+  L(1.273072988367176540909122090089580368732E6),
+  L(9.732422305818501557502584486510048387724E5),
+ -L(5.040539994443998275271644292272870348684E5),
+ -L(1.208719055525609446357448132109723786736E6),
+ -L(7.434275365370936547146540554419058907156E5),
+ -L(2.075642969983377738209203358199008185741E5),
+ -L(2.565534860781128618589288075109372218042E4),
+ -L(1.032901669542994124131223797515913955938E3),
 };
 #define NRDr9 8
 static const ldouble_t RDr9[NRDr9 + 1] =
 {
-  -7.694488331323118759486182246005193998007E5L,
-  -3.301918855321234414232308938454112213751E6L,
-  -5.856830900232338906742924836032279404702E6L,
-  -5.540672519616151584486240871424021377540E6L,
-  -3.006530901041386626148342989181721176919E6L,
-  -9.350378280513062139466966374330795935163E5L,
-  -1.566179100031063346901755685375732739511E5L,
-  -1.205016539620260779274902967231510804992E4L,
-  -2.724583156305709733221564484006088794284E2L
+  -L(7.694488331323118759486182246005193998007E5),
+  -L(3.301918855321234414232308938454112213751E6),
+  -L(5.856830900232338906742924836032279404702E6),
+  -L(5.540672519616151584486240871424021377540E6),
+  -L(3.006530901041386626148342989181721176919E6),
+  -L(9.350378280513062139466966374330795935163E5),
+  -L(1.566179100031063346901755685375732739511E5),
+  -L(1.205016539620260779274902967231510804992E4),
+  -L(2.724583156305709733221564484006088794284E2)
 /* 1.0E0 */
 };
 
@@ -769,31 +769,31 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
   if (! isfinite (x))
     return x * x;
 
-  if (x == 0.0L)
+  if (x == 0)
     {
       if (signbit (x))
 	*signgamp = -1;
     }
 
-  if (x < 0.0L)
+  if (x < 0)
     {
-      if (x < -2.0L && x > (LDBL_MANT_DIG == 106 ? -48.0L : -50.0L))
+      if (x < -2 && x > (LDBL_MANT_DIG == 106 ? -48 : -50))
 	return __lgamma_negl (x, signgamp);
       q = -x;
       p = __floorl (q);
       if (p == q)
 	return (one / (p - p));
-      ldouble_t halfp = p * 0.5L;
+      ldouble_t halfp = p * L(0.5);
       if (halfp == __floorl (halfp))
 	*signgamp = -1;
       else
 	*signgamp = 1;
-      if (q < 0x1p-120L)
+      if (q < L(0x1p-120))
 	return -__logl (q);
       z = q - p;
-      if (z > 0.5L)
+      if (z > L(0.5))
 	{
-	  p += 1.0L;
+	  p += 1;
 	  z = p - q;
 	}
       z = q * __sinl (PIL * z);
@@ -802,16 +802,16 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
       return (z);
     }
 
-  if (x < 13.5L)
+  if (x < L(13.5))
     {
-      p = 0.0L;
-      nx = __floorl (x + 0.5L);
+      p = 0;
+      nx = __floorl (x + L(0.5));
       nn = nx;
       switch (nn)
 	{
 	case 0:
 	  /* log gamma (x + 1) = log(x) + log gamma(x) */
-	  if (x < 0x1p-120L)
+	  if (x < L(0x1p-120))
 	    return -__logl (x);
 	  else if (x <= 0.125)
 	    {
@@ -819,14 +819,14 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	    }
 	  else if (x <= 0.375)
 	    {
-	      z = x - 0.25L;
+	      z = x - L(0.25);
 	      p = z * neval (z, RN1r25, NRN1r25) / deval (z, RD1r25, NRD1r25);
 	      p += lgam1r25b;
 	      p += lgam1r25a;
 	    }
 	  else if (x <= 0.625)
 	    {
-	      z = x + (1.0L - x0a);
+	      z = x + (1 - x0a);
 	      z = z - x0b;
 	      p = neval (z, RN1r5, NRN1r5) / deval (z, RD1r5, NRD1r5);
 	      p = p * z * z;
@@ -835,25 +835,25 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	    }
 	  else if (x <= 0.875)
 	    {
-	      z = x - 0.75L;
+	      z = x - L(0.75);
 	      p = z * neval (z, RN1r75, NRN1r75) / deval (z, RD1r75, NRD1r75);
 	      p += lgam1r75b;
 	      p += lgam1r75a;
 	    }
 	  else
 	    {
-	      z = x - 1.0L;
+	      z = x - 1;
 	      p = z * neval (z, RN2, NRN2) / deval (z, RD2, NRD2);
 	    }
 	  p = p - __logl (x);
 	  break;
 
 	case 1:
-	  if (x < 0.875L)
+	  if (x < L(0.875))
 	    {
 	      if (x <= 0.625)
 		{
-		  z = x + (1.0L - x0a);
+		  z = x + (1 - x0a);
 		  z = z - x0b;
 		  p = neval (z, RN1r5, NRN1r5) / deval (z, RD1r5, NRD1r5);
 		  p = p * z * z;
@@ -862,7 +862,7 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 		}
 	      else if (x <= 0.875)
 		{
-		  z = x - 0.75L;
+		  z = x - L(0.75);
 		  p = z * neval (z, RN1r75, NRN1r75)
 			/ deval (z, RD1r75, NRD1r75);
 		  p += lgam1r75b;
@@ -870,26 +870,26 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 		}
 	      else
 		{
-		  z = x - 1.0L;
+		  z = x - 1;
 		  p = z * neval (z, RN2, NRN2) / deval (z, RD2, NRD2);
 		}
 	      p = p - __logl (x);
 	    }
-	  else if (x < 1.0L)
+	  else if (x < 1)
 	    {
-	      z = x - 1.0L;
+	      z = x - 1;
 	      p = z * neval (z, RNr9, NRNr9) / deval (z, RDr9, NRDr9);
 	    }
-	  else if (x == 1.0L)
-	    p = 0.0L;
-	  else if (x <= 1.125L)
+	  else if (x == 1)
+	    p = 0;
+	  else if (x <= L(1.125))
 	    {
-	      z = x - 1.0L;
+	      z = x - 1;
 	      p = z * neval (z, RN1, NRN1) / deval (z, RD1, NRD1);
 	    }
 	  else if (x <= 1.375)
 	    {
-	      z = x - 1.25L;
+	      z = x - L(1.25);
 	      p = z * neval (z, RN1r25, NRN1r25) / deval (z, RD1r25, NRD1r25);
 	      p += lgam1r25b;
 	      p += lgam1r25a;
@@ -907,7 +907,7 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	  break;
 
 	case 2:
-	  if (x < 1.625L)
+	  if (x < L(1.625))
 	    {
 	      z = x - x0a;
 	      z = z - x0b;
@@ -916,23 +916,23 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	      p = p + y0b;
 	      p = p + y0a;
 	    }
-	  else if (x < 1.875L)
+	  else if (x < L(1.875))
 	    {
-	      z = x - 1.75L;
+	      z = x - L(1.75);
 	      p = z * neval (z, RN1r75, NRN1r75) / deval (z, RD1r75, NRD1r75);
 	      p += lgam1r75b;
 	      p += lgam1r75a;
 	    }
-	  else if (x == 2.0L)
-	    p = 0.0L;
-	  else if (x < 2.375L)
+	  else if (x == 2)
+	    p = 0;
+	  else if (x < L(2.375))
 	    {
-	      z = x - 2.0L;
+	      z = x - 2;
 	      p = z * neval (z, RN2, NRN2) / deval (z, RD2, NRD2);
 	    }
 	  else
 	    {
-	      z = x - 2.5L;
+	      z = x - L(2.5);
 	      p = z * neval (z, RN2r5, NRN2r5) / deval (z, RD2r5, NRD2r5);
 	      p += lgam2r5b;
 	      p += lgam2r5a;
@@ -942,14 +942,14 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	case 3:
 	  if (x < 2.75)
 	    {
-	      z = x - 2.5L;
+	      z = x - L(2.5);
 	      p = z * neval (z, RN2r5, NRN2r5) / deval (z, RD2r5, NRD2r5);
 	      p += lgam2r5b;
 	      p += lgam2r5a;
 	    }
 	  else
 	    {
-	      z = x - 3.0L;
+	      z = x - 3;
 	      p = z * neval (z, RN3, NRN3) / deval (z, RD3, NRD3);
 	      p += lgam3b;
 	      p += lgam3a;
@@ -957,70 +957,70 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
 	  break;
 
 	case 4:
-	  z = x - 4.0L;
+	  z = x - 4;
 	  p = z * neval (z, RN4, NRN4) / deval (z, RD4, NRD4);
 	  p += lgam4b;
 	  p += lgam4a;
 	  break;
 
 	case 5:
-	  z = x - 5.0L;
+	  z = x - 5;
 	  p = z * neval (z, RN5, NRN5) / deval (z, RD5, NRD5);
 	  p += lgam5b;
 	  p += lgam5a;
 	  break;
 
 	case 6:
-	  z = x - 6.0L;
+	  z = x - 6;
 	  p = z * neval (z, RN6, NRN6) / deval (z, RD6, NRD6);
 	  p += lgam6b;
 	  p += lgam6a;
 	  break;
 
 	case 7:
-	  z = x - 7.0L;
+	  z = x - 7;
 	  p = z * neval (z, RN7, NRN7) / deval (z, RD7, NRD7);
 	  p += lgam7b;
 	  p += lgam7a;
 	  break;
 
 	case 8:
-	  z = x - 8.0L;
+	  z = x - 8;
 	  p = z * neval (z, RN8, NRN8) / deval (z, RD8, NRD8);
 	  p += lgam8b;
 	  p += lgam8a;
 	  break;
 
 	case 9:
-	  z = x - 9.0L;
+	  z = x - 9;
 	  p = z * neval (z, RN9, NRN9) / deval (z, RD9, NRD9);
 	  p += lgam9b;
 	  p += lgam9a;
 	  break;
 
 	case 10:
-	  z = x - 10.0L;
+	  z = x - 10;
 	  p = z * neval (z, RN10, NRN10) / deval (z, RD10, NRD10);
 	  p += lgam10b;
 	  p += lgam10a;
 	  break;
 
 	case 11:
-	  z = x - 11.0L;
+	  z = x - 11;
 	  p = z * neval (z, RN11, NRN11) / deval (z, RD11, NRD11);
 	  p += lgam11b;
 	  p += lgam11a;
 	  break;
 
 	case 12:
-	  z = x - 12.0L;
+	  z = x - 12;
 	  p = z * neval (z, RN12, NRN12) / deval (z, RD12, NRD12);
 	  p += lgam12b;
 	  p += lgam12a;
 	  break;
 
 	case 13:
-	  z = x - 13.0L;
+	  z = x - 13;
 	  p = z * neval (z, RN13, NRN13) / deval (z, RD13, NRD13);
 	  p += lgam13b;
 	  p += lgam13a;
@@ -1032,14 +1032,14 @@ __ieee754_lgammal_r (ldouble_t x, int *signgamp)
   if (x > MAXLGM)
     return (*signgamp * huge * huge);
 
-  if (x > 0x1p120L)
-    return x * (__logl (x) - 1.0L);
+  if (x > L(0x1p120))
+    return x * (__logl (x) - 1);
   q = ls2pi - x;
-  q = (x - 0.5L) * __logl (x) + q;
-  if (x > 1.0e18L)
+  q = (x - L(0.5)) * __logl (x) + q;
+  if (x > L(1.0e18))
     return (q);
 
-  p = 1.0L / (x * x);
+  p = 1 / (x * x);
   q += neval (p, RASY, NRASY) / x;
   return (q);
 }
diff --git a/sysdeps/ieee754/ldbl-128/e_log10l.c b/sysdeps/ieee754/ldbl-128/e_log10l.c
index fbc7c4c..b39d0e2 100644
--- a/sysdeps/ieee754/ldbl-128/e_log10l.c
+++ b/sysdeps/ieee754/ldbl-128/e_log10l.c
@@ -70,34 +70,34 @@
  */
 static const ldouble_t P[13] =
 {
-  1.313572404063446165910279910527789794488E4L,
-  7.771154681358524243729929227226708890930E4L,
-  2.014652742082537582487669938141683759923E5L,
-  3.007007295140399532324943111654767187848E5L,
-  2.854829159639697837788887080758954924001E5L,
-  1.797628303815655343403735250238293741397E5L,
-  7.594356839258970405033155585486712125861E4L,
-  2.128857716871515081352991964243375186031E4L,
-  3.824952356185897735160588078446136783779E3L,
-  4.114517881637811823002128927449878962058E2L,
-  2.321125933898420063925789532045674660756E1L,
-  4.998469661968096229986658302195402690910E-1L,
-  1.538612243596254322971797716843006400388E-6L
+  L(1.313572404063446165910279910527789794488E4),
+  L(7.771154681358524243729929227226708890930E4),
+  L(2.014652742082537582487669938141683759923E5),
+  L(3.007007295140399532324943111654767187848E5),
+  L(2.854829159639697837788887080758954924001E5),
+  L(1.797628303815655343403735250238293741397E5),
+  L(7.594356839258970405033155585486712125861E4),
+  L(2.128857716871515081352991964243375186031E4),
+  L(3.824952356185897735160588078446136783779E3),
+  L(4.114517881637811823002128927449878962058E2),
+  L(2.321125933898420063925789532045674660756E1),
+  L(4.998469661968096229986658302195402690910E-1),
+  L(1.538612243596254322971797716843006400388E-6)
 };
 static const ldouble_t Q[12] =
 {
-  3.940717212190338497730839731583397586124E4L,
-  2.626900195321832660448791748036714883242E5L,
-  7.777690340007566932935753241556479363645E5L,
-  1.347518538384329112529391120390701166528E6L,
-  1.514882452993549494932585972882995548426E6L,
-  1.158019977462989115839826904108208787040E6L,
-  6.132189329546557743179177159925690841200E5L,
-  2.248234257620569139969141618556349415120E5L,
-  5.605842085972455027590989944010492125825E4L,
-  9.147150349299596453976674231612674085381E3L,
-  9.104928120962988414618126155557301584078E2L,
-  4.839208193348159620282142911143429644326E1L
+  L(3.940717212190338497730839731583397586124E4),
+  L(2.626900195321832660448791748036714883242E5),
+  L(7.777690340007566932935753241556479363645E5),
+  L(1.347518538384329112529391120390701166528E6),
+  L(1.514882452993549494932585972882995548426E6),
+  L(1.158019977462989115839826904108208787040E6),
+  L(6.132189329546557743179177159925690841200E5),
+  L(2.248234257620569139969141618556349415120E5),
+  L(5.605842085972455027590989944010492125825E4),
+  L(9.147150349299596453976674231612674085381E3),
+  L(9.104928120962988414618126155557301584078E2),
+  L(4.839208193348159620282142911143429644326E1)
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
@@ -109,33 +109,33 @@ static const ldouble_t Q[12] =
  */
 static const ldouble_t R[6] =
 {
-  1.418134209872192732479751274970992665513E5L,
- -8.977257995689735303686582344659576526998E4L,
-  2.048819892795278657810231591630928516206E4L,
- -2.024301798136027039250415126250455056397E3L,
-  8.057002716646055371965756206836056074715E1L,
- -8.828896441624934385266096344596648080902E-1L
+  L(1.418134209872192732479751274970992665513E5),
+ -L(8.977257995689735303686582344659576526998E4),
+  L(2.048819892795278657810231591630928516206E4),
+ -L(2.024301798136027039250415126250455056397E3),
+  L(8.057002716646055371965756206836056074715E1),
+ -L(8.828896441624934385266096344596648080902E-1)
 };
 static const ldouble_t S[6] =
 {
-  1.701761051846631278975701529965589676574E6L,
- -1.332535117259762928288745111081235577029E6L,
-  4.001557694070773974936904547424676279307E5L,
- -5.748542087379434595104154610899551484314E4L,
-  3.998526750980007367835804959888064681098E3L,
- -1.186359407982897997337150403816839480438E2L
+  L(1.701761051846631278975701529965589676574E6),
+ -L(1.332535117259762928288745111081235577029E6),
+  L(4.001557694070773974936904547424676279307E5),
+ -L(5.748542087379434595104154610899551484314E4),
+  L(3.998526750980007367835804959888064681098E3),
+ -L(1.186359407982897997337150403816839480438E2)
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
 static const ldouble_t
 /* log10(2) */
-L102A = 0.3125L,
-L102B = -1.14700043360188047862611052755069732318101185E-2L,
+L102A = L(0.3125),
+L102B = -L(1.14700043360188047862611052755069732318101185E-2),
 /* log10(e) */
-L10EA = 0.5L,
-L10EB = -6.570551809674817234887108108339491770560299E-2L,
+L10EA = L(0.5),
+L10EB = -L(6.570551809674817234887108108339491770560299E-2),
 /* sqrt(2)/2 */
-SQRTH = 7.071067811865475244008443621048490392848359E-1L;
+SQRTH = L(7.071067811865475244008443621048490392848359E-1);
 
 
 
@@ -187,14 +187,14 @@ __ieee754_log10l (ldouble_t x)
 /* Test for domain */
   GET_LDOUBLE_WORDS64 (hx, lx, x);
   if (((hx & 0x7fffffffffffffffLL) | lx) == 0)
-    return (-1.0L / (x - x));
+    return (-1 / (x - x));
   if (hx < 0)
     return (x - x) / (x - x);
   if (hx >= 0x7fff000000000000LL)
     return (x + x);
 
-  if (x == 1.0L)
-    return 0.0L;
+  if (x == 1)
+    return 0;
 
 /* separate mantissa from exponent */
 
@@ -212,14 +212,14 @@ __ieee754_log10l (ldouble_t x)
       if (x < SQRTH)
 	{			/* 2( 2x-1 )/( 2x+1 ) */
 	  e -= 1;
-	  z = x - 0.5L;
-	  y = 0.5L * z + 0.5L;
+	  z = x - L(0.5);
+	  y = L(0.5) * z + L(0.5);
 	}
       else
 	{			/*  2 (x-1)/(x+1)   */
-	  z = x - 0.5L;
-	  z -= 0.5L;
-	  y = 0.5L * x + 0.5L;
+	  z = x - L(0.5);
+	  z -= L(0.5);
+	  y = L(0.5) * x + L(0.5);
 	}
       x = z / y;
       z = x * x;
@@ -233,11 +233,11 @@ __ieee754_log10l (ldouble_t x)
   if (x < SQRTH)
     {
       e -= 1;
-      x = 2.0 * x - 1.0L;	/*  2x - 1  */
+      x = 2 * x - 1;	/*  2x - 1  */
     }
   else
     {
-      x = x - 1.0L;
+      x = x - 1;
     }
   z = x * x;
   y = x * (z * neval (x, P, 12) / deval (x, Q, 11));
diff --git a/sysdeps/ieee754/ldbl-128/e_log2l.c b/sysdeps/ieee754/ldbl-128/e_log2l.c
index 8685b76..6ad4e7e 100644
--- a/sysdeps/ieee754/ldbl-128/e_log2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_log2l.c
@@ -69,34 +69,34 @@
  */
 static const ldouble_t P[13] =
 {
-  1.313572404063446165910279910527789794488E4L,
-  7.771154681358524243729929227226708890930E4L,
-  2.014652742082537582487669938141683759923E5L,
-  3.007007295140399532324943111654767187848E5L,
-  2.854829159639697837788887080758954924001E5L,
-  1.797628303815655343403735250238293741397E5L,
-  7.594356839258970405033155585486712125861E4L,
-  2.128857716871515081352991964243375186031E4L,
-  3.824952356185897735160588078446136783779E3L,
-  4.114517881637811823002128927449878962058E2L,
-  2.321125933898420063925789532045674660756E1L,
-  4.998469661968096229986658302195402690910E-1L,
-  1.538612243596254322971797716843006400388E-6L
+  L(1.313572404063446165910279910527789794488E4),
+  L(7.771154681358524243729929227226708890930E4),
+  L(2.014652742082537582487669938141683759923E5),
+  L(3.007007295140399532324943111654767187848E5),
+  L(2.854829159639697837788887080758954924001E5),
+  L(1.797628303815655343403735250238293741397E5),
+  L(7.594356839258970405033155585486712125861E4),
+  L(2.128857716871515081352991964243375186031E4),
+  L(3.824952356185897735160588078446136783779E3),
+  L(4.114517881637811823002128927449878962058E2),
+  L(2.321125933898420063925789532045674660756E1),
+  L(4.998469661968096229986658302195402690910E-1),
+  L(1.538612243596254322971797716843006400388E-6)
 };
 static const ldouble_t Q[12] =
 {
-  3.940717212190338497730839731583397586124E4L,
-  2.626900195321832660448791748036714883242E5L,
-  7.777690340007566932935753241556479363645E5L,
-  1.347518538384329112529391120390701166528E6L,
-  1.514882452993549494932585972882995548426E6L,
-  1.158019977462989115839826904108208787040E6L,
-  6.132189329546557743179177159925690841200E5L,
-  2.248234257620569139969141618556349415120E5L,
-  5.605842085972455027590989944010492125825E4L,
-  9.147150349299596453976674231612674085381E3L,
-  9.104928120962988414618126155557301584078E2L,
-  4.839208193348159620282142911143429644326E1L
+  L(3.940717212190338497730839731583397586124E4),
+  L(2.626900195321832660448791748036714883242E5),
+  L(7.777690340007566932935753241556479363645E5),
+  L(1.347518538384329112529391120390701166528E6),
+  L(1.514882452993549494932585972882995548426E6),
+  L(1.158019977462989115839826904108208787040E6),
+  L(6.132189329546557743179177159925690841200E5),
+  L(2.248234257620569139969141618556349415120E5),
+  L(5.605842085972455027590989944010492125825E4),
+  L(9.147150349299596453976674231612674085381E3),
+  L(9.104928120962988414618126155557301584078E2),
+  L(4.839208193348159620282142911143429644326E1)
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
@@ -108,29 +108,29 @@ static const ldouble_t Q[12] =
  */
 static const ldouble_t R[6] =
 {
-  1.418134209872192732479751274970992665513E5L,
- -8.977257995689735303686582344659576526998E4L,
-  2.048819892795278657810231591630928516206E4L,
- -2.024301798136027039250415126250455056397E3L,
-  8.057002716646055371965756206836056074715E1L,
- -8.828896441624934385266096344596648080902E-1L
+  L(1.418134209872192732479751274970992665513E5),
+ -L(8.977257995689735303686582344659576526998E4),
+  L(2.048819892795278657810231591630928516206E4),
+ -L(2.024301798136027039250415126250455056397E3),
+  L(8.057002716646055371965756206836056074715E1),
+ -L(8.828896441624934385266096344596648080902E-1)
 };
 static const ldouble_t S[6] =
 {
-  1.701761051846631278975701529965589676574E6L,
- -1.332535117259762928288745111081235577029E6L,
-  4.001557694070773974936904547424676279307E5L,
- -5.748542087379434595104154610899551484314E4L,
-  3.998526750980007367835804959888064681098E3L,
- -1.186359407982897997337150403816839480438E2L
+  L(1.701761051846631278975701529965589676574E6),
+ -L(1.332535117259762928288745111081235577029E6),
+  L(4.001557694070773974936904547424676279307E5),
+ -L(5.748542087379434595104154610899551484314E4),
+  L(3.998526750980007367835804959888064681098E3),
+ -L(1.186359407982897997337150403816839480438E2)
 /* 1.000000000000000000000000000000000000000E0L, */
 };
 
 static const ldouble_t
 /* log2(e) - 1 */
-LOG2EA = 4.4269504088896340735992468100189213742664595E-1L,
+LOG2EA = L(4.4269504088896340735992468100189213742664595E-1),
 /* sqrt(2)/2 */
-SQRTH = 7.071067811865475244008443621048490392848359E-1L;
+SQRTH = L(7.071067811865475244008443621048490392848359E-1);
 
 
 /* Evaluate P[n] x^n  +  P[n-1] x^(n-1)  +  ...  +  P[0] */
@@ -181,14 +181,14 @@ __ieee754_log2l (ldouble_t x)
 /* Test for domain */
   GET_LDOUBLE_WORDS64 (hx, lx, x);
   if (((hx & 0x7fffffffffffffffLL) | lx) == 0)
-    return (-1.0L / (x - x));
+    return (-1 / (x - x));
   if (hx < 0)
     return (x - x) / (x - x);
   if (hx >= 0x7fff000000000000LL)
     return (x + x);
 
-  if (x == 1.0L)
-    return 0.0L;
+  if (x == 1)
+    return 0;
 
 /* separate mantissa from exponent */
 
@@ -206,14 +206,14 @@ __ieee754_log2l (ldouble_t x)
       if (x < SQRTH)
 	{			/* 2( 2x-1 )/( 2x+1 ) */
 	  e -= 1;
-	  z = x - 0.5L;
-	  y = 0.5L * z + 0.5L;
+	  z = x - L(0.5);
+	  y = L(0.5) * z + L(0.5);
 	}
       else
 	{			/*  2 (x-1)/(x+1)   */
-	  z = x - 0.5L;
-	  z -= 0.5L;
-	  y = 0.5L * x + 0.5L;
+	  z = x - L(0.5);
+	  z -= L(0.5);
+	  y = L(0.5) * x + L(0.5);
 	}
       x = z / y;
       z = x * x;
@@ -227,11 +227,11 @@ __ieee754_log2l (ldouble_t x)
   if (x < SQRTH)
     {
       e -= 1;
-      x = 2.0 * x - 1.0L;	/*  2x - 1  */
+      x = 2 * x - 1;	/*  2x - 1  */
     }
   else
     {
-      x = x - 1.0L;
+      x = x - 1;
     }
   z = x * x;
   y = x * (z * neval (x, P, 12) / deval (x, Q, 11));
diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c
index 7a51917..4b32335 100644
--- a/sysdeps/ieee754/ldbl-128/e_logl.c
+++ b/sysdeps/ieee754/ldbl-128/e_logl.c
@@ -64,123 +64,123 @@
    -.0078125 <= x <= +.0078125
    peak relative error 1.2e-37 */
 static const ldouble_t
-l3 =   3.333333333333333333333333333333336096926E-1L,
-l4 =  -2.499999999999999999999999999486853077002E-1L,
-l5 =   1.999999999999999999999999998515277861905E-1L,
-l6 =  -1.666666666666666666666798448356171665678E-1L,
-l7 =   1.428571428571428571428808945895490721564E-1L,
-l8 =  -1.249999999999999987884655626377588149000E-1L,
-l9 =   1.111111111111111093947834982832456459186E-1L,
-l10 = -1.000000000000532974938900317952530453248E-1L,
-l11 =  9.090909090915566247008015301349979892689E-2L,
-l12 = -8.333333211818065121250921925397567745734E-2L,
-l13 =  7.692307559897661630807048686258659316091E-2L,
-l14 = -7.144242754190814657241902218399056829264E-2L,
-l15 =  6.668057591071739754844678883223432347481E-2L;
+l3 =   L(3.333333333333333333333333333333336096926E-1),
+l4 =  -L(2.499999999999999999999999999486853077002E-1),
+l5 =   L(1.999999999999999999999999998515277861905E-1),
+l6 =  -L(1.666666666666666666666798448356171665678E-1),
+l7 =   L(1.428571428571428571428808945895490721564E-1),
+l8 =  -L(1.249999999999999987884655626377588149000E-1),
+l9 =   L(1.111111111111111093947834982832456459186E-1),
+l10 = -L(1.000000000000532974938900317952530453248E-1),
+l11 =  L(9.090909090915566247008015301349979892689E-2),
+l12 = -L(8.333333211818065121250921925397567745734E-2),
+l13 =  L(7.692307559897661630807048686258659316091E-2),
+l14 = -L(7.144242754190814657241902218399056829264E-2),
+l15 =  L(6.668057591071739754844678883223432347481E-2);
 
 /* Lookup table of ln(t) - (t-1)
     t = 0.5 + (k+26)/128)
     k = 0, ..., 91   */
 static const ldouble_t logtbl[92] = {
--5.5345593589352099112142921677820359632418E-2L,
--5.2108257402767124761784665198737642086148E-2L,
--4.8991686870576856279407775480686721935120E-2L,
--4.5993270766361228596215288742353061431071E-2L,
--4.3110481649613269682442058976885699556950E-2L,
--4.0340872319076331310838085093194799765520E-2L,
--3.7682072451780927439219005993827431503510E-2L,
--3.5131785416234343803903228503274262719586E-2L,
--3.2687785249045246292687241862699949178831E-2L,
--3.0347913785027239068190798397055267411813E-2L,
--2.8110077931525797884641940838507561326298E-2L,
--2.5972247078357715036426583294246819637618E-2L,
--2.3932450635346084858612873953407168217307E-2L,
--2.1988775689981395152022535153795155900240E-2L,
--2.0139364778244501615441044267387667496733E-2L,
--1.8382413762093794819267536615342902718324E-2L,
--1.6716169807550022358923589720001638093023E-2L,
--1.5138929457710992616226033183958974965355E-2L,
--1.3649036795397472900424896523305726435029E-2L,
--1.2244881690473465543308397998034325468152E-2L,
--1.0924898127200937840689817557742469105693E-2L,
--9.6875626072830301572839422532631079809328E-3L,
--8.5313926245226231463436209313499745894157E-3L,
--7.4549452072765973384933565912143044991706E-3L,
--6.4568155251217050991200599386801665681310E-3L,
--5.5356355563671005131126851708522185605193E-3L,
--4.6900728132525199028885749289712348829878E-3L,
--3.9188291218610470766469347968659624282519E-3L,
--3.2206394539524058873423550293617843896540E-3L,
--2.5942708080877805657374888909297113032132E-3L,
--2.0385211375711716729239156839929281289086E-3L,
--1.5522183228760777967376942769773768850872E-3L,
--1.1342191863606077520036253234446621373191E-3L,
--7.8340854719967065861624024730268350459991E-4L,
--4.9869831458030115699628274852562992756174E-4L,
--2.7902661731604211834685052867305795169688E-4L,
--1.2335696813916860754951146082826952093496E-4L,
--3.0677461025892873184042490943581654591817E-5L,
+-L(5.5345593589352099112142921677820359632418E-2),
+-L(5.2108257402767124761784665198737642086148E-2),
+-L(4.8991686870576856279407775480686721935120E-2),
+-L(4.5993270766361228596215288742353061431071E-2),
+-L(4.3110481649613269682442058976885699556950E-2),
+-L(4.0340872319076331310838085093194799765520E-2),
+-L(3.7682072451780927439219005993827431503510E-2),
+-L(3.5131785416234343803903228503274262719586E-2),
+-L(3.2687785249045246292687241862699949178831E-2),
+-L(3.0347913785027239068190798397055267411813E-2),
+-L(2.8110077931525797884641940838507561326298E-2),
+-L(2.5972247078357715036426583294246819637618E-2),
+-L(2.3932450635346084858612873953407168217307E-2),
+-L(2.1988775689981395152022535153795155900240E-2),
+-L(2.0139364778244501615441044267387667496733E-2),
+-L(1.8382413762093794819267536615342902718324E-2),
+-L(1.6716169807550022358923589720001638093023E-2),
+-L(1.5138929457710992616226033183958974965355E-2),
+-L(1.3649036795397472900424896523305726435029E-2),
+-L(1.2244881690473465543308397998034325468152E-2),
+-L(1.0924898127200937840689817557742469105693E-2),
+-L(9.6875626072830301572839422532631079809328E-3),
+-L(8.5313926245226231463436209313499745894157E-3),
+-L(7.4549452072765973384933565912143044991706E-3),
+-L(6.4568155251217050991200599386801665681310E-3),
+-L(5.5356355563671005131126851708522185605193E-3),
+-L(4.6900728132525199028885749289712348829878E-3),
+-L(3.9188291218610470766469347968659624282519E-3),
+-L(3.2206394539524058873423550293617843896540E-3),
+-L(2.5942708080877805657374888909297113032132E-3),
+-L(2.0385211375711716729239156839929281289086E-3),
+-L(1.5522183228760777967376942769773768850872E-3),
+-L(1.1342191863606077520036253234446621373191E-3),
+-L(7.8340854719967065861624024730268350459991E-4),
+-L(4.9869831458030115699628274852562992756174E-4),
+-L(2.7902661731604211834685052867305795169688E-4),
+-L(1.2335696813916860754951146082826952093496E-4),
+-L(3.0677461025892873184042490943581654591817E-5),
 #define ZERO logtbl[38]
- 0.0000000000000000000000000000000000000000E0L,
--3.0359557945051052537099938863236321874198E-5L,
--1.2081346403474584914595395755316412213151E-4L,
--2.7044071846562177120083903771008342059094E-4L,
--4.7834133324631162897179240322783590830326E-4L,
--7.4363569786340080624467487620270965403695E-4L,
--1.0654639687057968333207323853366578860679E-3L,
--1.4429854811877171341298062134712230604279E-3L,
--1.8753781835651574193938679595797367137975E-3L,
--2.3618380914922506054347222273705859653658E-3L,
--2.9015787624124743013946600163375853631299E-3L,
--3.4938307889254087318399313316921940859043E-3L,
--4.1378413103128673800485306215154712148146E-3L,
--4.8328735414488877044289435125365629849599E-3L,
--5.5782063183564351739381962360253116934243E-3L,
--6.3731336597098858051938306767880719015261E-3L,
--7.2169643436165454612058905294782949315193E-3L,
--8.1090214990427641365934846191367315083867E-3L,
--9.0486422112807274112838713105168375482480E-3L,
--1.0035177140880864314674126398350812606841E-2L,
--1.1067990155502102718064936259435676477423E-2L,
--1.2146457974158024928196575103115488672416E-2L,
--1.3269969823361415906628825374158424754308E-2L,
--1.4437927104692837124388550722759686270765E-2L,
--1.5649743073340777659901053944852735064621E-2L,
--1.6904842527181702880599758489058031645317E-2L,
--1.8202661505988007336096407340750378994209E-2L,
--1.9542647000370545390701192438691126552961E-2L,
--2.0924256670080119637427928803038530924742E-2L,
--2.2346958571309108496179613803760727786257E-2L,
--2.3810230892650362330447187267648486279460E-2L,
--2.5313561699385640380910474255652501521033E-2L,
--2.6856448685790244233704909690165496625399E-2L,
--2.8438398935154170008519274953860128449036E-2L,
--3.0058928687233090922411781058956589863039E-2L,
--3.1717563112854831855692484086486099896614E-2L,
--3.3413836095418743219397234253475252001090E-2L,
--3.5147290019036555862676702093393332533702E-2L,
--3.6917475563073933027920505457688955423688E-2L,
--3.8723951502862058660874073462456610731178E-2L,
--4.0566284516358241168330505467000838017425E-2L,
--4.2444048996543693813649967076598766917965E-2L,
--4.4356826869355401653098777649745233339196E-2L,
--4.6304207416957323121106944474331029996141E-2L,
--4.8285787106164123613318093945035804818364E-2L,
--5.0301169421838218987124461766244507342648E-2L,
--5.2349964705088137924875459464622098310997E-2L,
--5.4431789996103111613753440311680967840214E-2L,
--5.6546268881465384189752786409400404404794E-2L,
--5.8693031345788023909329239565012647817664E-2L,
--6.0871713627532018185577188079210189048340E-2L,
--6.3081958078862169742820420185833800925568E-2L,
--6.5323413029406789694910800219643791556918E-2L,
--6.7595732653791419081537811574227049288168E-2L
+ L(0.0000000000000000000000000000000000000000E0),
+-L(3.0359557945051052537099938863236321874198E-5),
+-L(1.2081346403474584914595395755316412213151E-4),
+-L(2.7044071846562177120083903771008342059094E-4),
+-L(4.7834133324631162897179240322783590830326E-4),
+-L(7.4363569786340080624467487620270965403695E-4),
+-L(1.0654639687057968333207323853366578860679E-3),
+-L(1.4429854811877171341298062134712230604279E-3),
+-L(1.8753781835651574193938679595797367137975E-3),
+-L(2.3618380914922506054347222273705859653658E-3),
+-L(2.9015787624124743013946600163375853631299E-3),
+-L(3.4938307889254087318399313316921940859043E-3),
+-L(4.1378413103128673800485306215154712148146E-3),
+-L(4.8328735414488877044289435125365629849599E-3),
+-L(5.5782063183564351739381962360253116934243E-3),
+-L(6.3731336597098858051938306767880719015261E-3),
+-L(7.2169643436165454612058905294782949315193E-3),
+-L(8.1090214990427641365934846191367315083867E-3),
+-L(9.0486422112807274112838713105168375482480E-3),
+-L(1.0035177140880864314674126398350812606841E-2),
+-L(1.1067990155502102718064936259435676477423E-2),
+-L(1.2146457974158024928196575103115488672416E-2),
+-L(1.3269969823361415906628825374158424754308E-2),
+-L(1.4437927104692837124388550722759686270765E-2),
+-L(1.5649743073340777659901053944852735064621E-2),
+-L(1.6904842527181702880599758489058031645317E-2),
+-L(1.8202661505988007336096407340750378994209E-2),
+-L(1.9542647000370545390701192438691126552961E-2),
+-L(2.0924256670080119637427928803038530924742E-2),
+-L(2.2346958571309108496179613803760727786257E-2),
+-L(2.3810230892650362330447187267648486279460E-2),
+-L(2.5313561699385640380910474255652501521033E-2),
+-L(2.6856448685790244233704909690165496625399E-2),
+-L(2.8438398935154170008519274953860128449036E-2),
+-L(3.0058928687233090922411781058956589863039E-2),
+-L(3.1717563112854831855692484086486099896614E-2),
+-L(3.3413836095418743219397234253475252001090E-2),
+-L(3.5147290019036555862676702093393332533702E-2),
+-L(3.6917475563073933027920505457688955423688E-2),
+-L(3.8723951502862058660874073462456610731178E-2),
+-L(4.0566284516358241168330505467000838017425E-2),
+-L(4.2444048996543693813649967076598766917965E-2),
+-L(4.4356826869355401653098777649745233339196E-2),
+-L(4.6304207416957323121106944474331029996141E-2),
+-L(4.8285787106164123613318093945035804818364E-2),
+-L(5.0301169421838218987124461766244507342648E-2),
+-L(5.2349964705088137924875459464622098310997E-2),
+-L(5.4431789996103111613753440311680967840214E-2),
+-L(5.6546268881465384189752786409400404404794E-2),
+-L(5.8693031345788023909329239565012647817664E-2),
+-L(6.0871713627532018185577188079210189048340E-2),
+-L(6.3081958078862169742820420185833800925568E-2),
+-L(6.5323413029406789694910800219643791556918E-2),
+-L(6.7595732653791419081537811574227049288168E-2)
 };
 
 /* ln(2) = ln2a + ln2b with extended precision. */
 static const ldouble_t
-  ln2a = 6.93145751953125e-1L,
-  ln2b = 1.4286068203094172321214581765680755001344E-6L;
+  ln2a = L(6.93145751953125e-1),
+  ln2b = L(1.4286068203094172321214581765680755001344E-6);
 
 ldouble_t
 __ieee754_logl(ldouble_t x)
@@ -198,7 +198,7 @@ __ieee754_logl(ldouble_t x)
   /* log(0) = -infinity. */
   if ((k | u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
     {
-      return -0.5L / ZERO;
+      return L(-0.5) / ZERO;
     }
   /* log ( x < 0 ) = NaN */
   if (m & 0x80000000)
@@ -238,13 +238,13 @@ __ieee754_logl(ldouble_t x)
       t.parts32.w3 = 0;
     }
   /* On this interval the table is not used due to cancellation error.  */
-  if ((x <= 1.0078125L) && (x >= 0.9921875L))
+  if ((x <= L(1.0078125)) && (x >= L(0.9921875)))
     {
-      if (x == 1.0L)
-	return 0.0L;
-      z = x - 1.0L;
+      if (x == 1)
+	return 0;
+      z = x - 1;
       k = 64;
-      t.value  = 1.0L;
+      t.value  = 1;
       e = 0;
     }
   else
@@ -274,7 +274,7 @@ __ieee754_logl(ldouble_t x)
   y += e * ln2b;  /* Base 2 exponent offset times ln(2).  */
   y += z;
   y += logtbl[k-26]; /* log(t) - (t-1) */
-  y += (t.value - 1.0L);
+  y += (t.value - 1);
   y += e * ln2a;
   return y;
 }
diff --git a/sysdeps/ieee754/ldbl-128/e_powl.c b/sysdeps/ieee754/ldbl-128/e_powl.c
index 53316ef..1db2e66 100644
--- a/sysdeps/ieee754/ldbl-128/e_powl.c
+++ b/sysdeps/ieee754/ldbl-128/e_powl.c
@@ -68,28 +68,28 @@
 #include <math_private.h>
 
 static const ldouble_t bp[] = {
-  1.0L,
-  1.5L,
+  L(1.0),
+  L(1.5),
 };
 
 /* log_2(1.5) */
 static const ldouble_t dp_h[] = {
-  0.0,
-  5.8496250072115607565592654282227158546448E-1L
+    0.0,
+  L(5.8496250072115607565592654282227158546448E-1)
 };
 
 /* Low part of log_2(1.5) */
 static const ldouble_t dp_l[] = {
-  0.0,
-  1.0579781240112554492329533686862998106046E-16L
+    0.0,
+  L(1.0579781240112554492329533686862998106046E-16)
 };
 
-static const ldouble_t zero = 0.0L,
-  one = 1.0L,
-  two = 2.0L,
-  two113 = 1.0384593717069655257060992658440192E34L,
-  huge = 1.0e3000L,
-  tiny = 1.0e-3000L;
+static const ldouble_t zero = 0,
+  one = 1,
+  two = 2,
+  two113 = L(1.0384593717069655257060992658440192E34),
+  huge = L(1.0e3000),
+  tiny = L(1.0e-3000);
 
 /* 3/2 log x = 3 z + z^3 + z^3 (z^2 R(z^2))
    z = (x-1)/(x+1)
@@ -97,19 +97,19 @@ static const ldouble_t zero = 0.0L,
    Peak relative error 2.3e-37 */
 static const ldouble_t LN[] =
 {
- -3.0779177200290054398792536829702930623200E1L,
-  6.5135778082209159921251824580292116201640E1L,
- -4.6312921812152436921591152809994014413540E1L,
-  1.2510208195629420304615674658258363295208E1L,
- -9.9266909031921425609179910128531667336670E-1L
+ -L(3.0779177200290054398792536829702930623200E1),
+  L(6.5135778082209159921251824580292116201640E1),
+ -L(4.6312921812152436921591152809994014413540E1),
+  L(1.2510208195629420304615674658258363295208E1),
+ -L(9.9266909031921425609179910128531667336670E-1)
 };
 static const ldouble_t LD[] =
 {
- -5.129862866715009066465422805058933131960E1L,
-  1.452015077564081884387441590064272782044E2L,
- -1.524043275549860505277434040464085593165E2L,
-  7.236063513651544224319663428634139768808E1L,
- -1.494198912340228235853027849917095580053E1L
+ -L(5.129862866715009066465422805058933131960E1),
+  L(1.452015077564081884387441590064272782044E2),
+ -L(1.524043275549860505277434040464085593165E2),
+  L(7.236063513651544224319663428634139768808E1),
+ -L(1.494198912340228235853027849917095580053E1)
   /* 1.0E0 */
 };
 
@@ -118,31 +118,31 @@ static const ldouble_t LD[] =
    Peak relative error 5.7e-38  */
 static const ldouble_t PN[] =
 {
-  5.081801691915377692446852383385968225675E8L,
-  9.360895299872484512023336636427675327355E6L,
-  4.213701282274196030811629773097579432957E4L,
-  5.201006511142748908655720086041570288182E1L,
-  9.088368420359444263703202925095675982530E-3L,
+  L(5.081801691915377692446852383385968225675E8),
+  L(9.360895299872484512023336636427675327355E6),
+  L(4.213701282274196030811629773097579432957E4),
+  L(5.201006511142748908655720086041570288182E1),
+  L(9.088368420359444263703202925095675982530E-3),
 };
 static const ldouble_t PD[] =
 {
-  3.049081015149226615468111430031590411682E9L,
-  1.069833887183886839966085436512368982758E8L,
-  8.259257717868875207333991924545445705394E5L,
-  1.872583833284143212651746812884298360922E3L,
+  L(3.049081015149226615468111430031590411682E9),
+  L(1.069833887183886839966085436512368982758E8),
+  L(8.259257717868875207333991924545445705394E5),
+  L(1.872583833284143212651746812884298360922E3),
   /* 1.0E0 */
 };
 
 static const ldouble_t
   /* ln 2 */
-  lg2 = 6.9314718055994530941723212145817656807550E-1L,
-  lg2_h = 6.9314718055994528622676398299518041312695E-1L,
-  lg2_l = 2.3190468138462996154948554638754786504121E-17L,
-  ovt = 8.0085662595372944372e-0017L,
+  lg2 = L(6.9314718055994530941723212145817656807550E-1),
+  lg2_h = L(6.9314718055994528622676398299518041312695E-1),
+  lg2_l = L(2.3190468138462996154948554638754786504121E-17),
+  ovt = L(8.0085662595372944372e-0017),
   /* 2/(3*log(2)) */
-  cp = 9.6179669392597560490661645400126142495110E-1L,
-  cp_h = 9.6179669392597555432899980587535537779331E-1L,
-  cp_l = 5.0577616648125906047157785230014751039424E-17L;
+  cp = L(9.6179669392597560490661645400126142495110E-1),
+  cp_h = L(9.6179669392597555432899980587535537779331E-1),
+  cp_l = L(5.0577616648125906047157785230014751039424E-17);
 
 ldouble_t
 __ieee754_powl (ldouble_t x, ldouble_t y)
@@ -171,7 +171,7 @@ __ieee754_powl (ldouble_t x, ldouble_t y)
   /* 1.0**y = 1; -1.0**+-Inf = 1 */
   if (x == one)
     return one;
-  if (x == -1.0L && iy == 0x7fff0000
+  if (x == -1 && iy == 0x7fff0000
       && (q.parts32.w1 | q.parts32.w2 | q.parts32.w3) == 0)
     return one;
 
@@ -411,7 +411,7 @@ __ieee754_powl (ldouble_t x, ldouble_t y)
   n = 0;
   if (i > 0x3ffe0000)
     {				/* if |z| > 0.5, set n = [z+0.5] */
-      n = __floorl (z + 0.5L);
+      n = __floorl (z + L(0.5));
       t = n;
       p_h -= t;
     }
diff --git a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
index d19894f..804772d 100644
--- a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
+++ b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
@@ -186,11 +186,11 @@ static const int32_t two_over_pi[] = {
 static const ldouble_t c[] = {
 /* 113 bits of pi/2 */
 #define PI_2_1 c[0]
- 0x1.921fb54442d18469898cc51701b8p+0L,
+ L(0x1.921fb54442d18469898cc51701b8p+0),
 
 /* pi/2 - PI_2_1 */
 #define PI_2_1t c[1]
- 0x3.9a252049c1114cf98e804177d4c8p-116L,
+ L(0x3.9a252049c1114cf98e804177d4c8p-116),
 };
 
 int32_t __ieee754_rem_pio2l(ldouble_t x, ldouble_t *y)
diff --git a/sysdeps/ieee754/ldbl-128/e_remainderl.c b/sysdeps/ieee754/ldbl-128/e_remainderl.c
index 3bb4cbe..d07452f 100644
--- a/sysdeps/ieee754/ldbl-128/e_remainderl.c
+++ b/sysdeps/ieee754/ldbl-128/e_remainderl.c
@@ -24,7 +24,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t zero = 0.0L;
+static const ldouble_t zero = 0;
 
 
 ldouble_t
@@ -58,7 +58,7 @@ __ieee754_remainderl(ldouble_t x, ldouble_t p)
 		if(x+x>=p) x -= p;
 	    }
 	} else {
-	    p_half = 0.5L*p;
+	    p_half = L(0.5)*p;
 	    if(x>p_half) {
 		x-=p;
 		if(x>=p_half) x -= p;
diff --git a/sysdeps/ieee754/ldbl-128/e_sinhl.c b/sysdeps/ieee754/ldbl-128/e_sinhl.c
index 09ef4c9..2aedf6c 100644
--- a/sysdeps/ieee754/ldbl-128/e_sinhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_sinhl.c
@@ -57,8 +57,8 @@
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t one = 1.0, shuge = 1.0e4931L,
-ovf_thresh = 1.1357216553474703894801348310092223067821E4L;
+static const ldouble_t one = 1, shuge = L(1.0e4931),
+ovf_thresh = L(1.1357216553474703894801348310092223067821E4);
 
 ldouble_t
 __ieee754_sinhl (ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/k_cosl.c b/sysdeps/ieee754/ldbl-128/k_cosl.c
index db66040..de34fbf 100644
--- a/sysdeps/ieee754/ldbl-128/k_cosl.c
+++ b/sysdeps/ieee754/ldbl-128/k_cosl.c
@@ -22,7 +22,7 @@
 
 static const ldouble_t c[] = {
 #define ONE c[0]
- 1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
+ L(1.00000000000000000000000000000000000E+00), /* 3fff0000000000000000000000000000 */
 
 /* cos x ~ ONE + x^2 ( SCOS1 + SCOS2 * x^2 + ... + SCOS4 * x^6 + SCOS5 * x^8 )
    x in <0,1/256>  */
@@ -31,11 +31,11 @@ static const ldouble_t c[] = {
 #define SCOS3 c[3]
 #define SCOS4 c[4]
 #define SCOS5 c[5]
--5.00000000000000000000000000000000000E-01L, /* bffe0000000000000000000000000000 */
- 4.16666666666666666666666666556146073E-02L, /* 3ffa5555555555555555555555395023 */
--1.38888888888888888888309442601939728E-03L, /* bff56c16c16c16c16c16a566e42c0375 */
- 2.48015873015862382987049502531095061E-05L, /* 3fefa01a01a019ee02dcf7da2d6d5444 */
--2.75573112601362126593516899592158083E-07L, /* bfe927e4f5dce637cb0b54908754bde0 */
+-L(5.00000000000000000000000000000000000E-01), /* bffe0000000000000000000000000000 */
+ L(4.16666666666666666666666666556146073E-02), /* 3ffa5555555555555555555555395023 */
+-L(1.38888888888888888888309442601939728E-03), /* bff56c16c16c16c16c16a566e42c0375 */
+ L(2.48015873015862382987049502531095061E-05), /* 3fefa01a01a019ee02dcf7da2d6d5444 */
+-L(2.75573112601362126593516899592158083E-07), /* bfe927e4f5dce637cb0b54908754bde0 */
 
 /* cos x ~ ONE + x^2 ( COS1 + COS2 * x^2 + ... + COS7 * x^12 + COS8 * x^14 )
    x in <0,0.1484375>  */
@@ -47,14 +47,14 @@ static const ldouble_t c[] = {
 #define COS6 c[11]
 #define COS7 c[12]
 #define COS8 c[13]
--4.99999999999999999999999999999999759E-01L, /* bffdfffffffffffffffffffffffffffb */
- 4.16666666666666666666666666651287795E-02L, /* 3ffa5555555555555555555555516f30 */
--1.38888888888888888888888742314300284E-03L, /* bff56c16c16c16c16c16c16a463dfd0d */
- 2.48015873015873015867694002851118210E-05L, /* 3fefa01a01a01a01a0195cebe6f3d3a5 */
--2.75573192239858811636614709689300351E-07L, /* bfe927e4fb7789f5aa8142a22044b51f */
- 2.08767569877762248667431926878073669E-09L, /* 3fe21eed8eff881d1e9262d7adff4373 */
--1.14707451049343817400420280514614892E-11L, /* bfda9397496922a9601ed3d4ca48944b */
- 4.77810092804389587579843296923533297E-14L, /* 3fd2ae5f8197cbcdcaf7c3fb4523414c */
+-L(4.99999999999999999999999999999999759E-01), /* bffdfffffffffffffffffffffffffffb */
+ L(4.16666666666666666666666666651287795E-02), /* 3ffa5555555555555555555555516f30 */
+-L(1.38888888888888888888888742314300284E-03), /* bff56c16c16c16c16c16c16a463dfd0d */
+ L(2.48015873015873015867694002851118210E-05), /* 3fefa01a01a01a01a0195cebe6f3d3a5 */
+-L(2.75573192239858811636614709689300351E-07), /* bfe927e4fb7789f5aa8142a22044b51f */
+ L(2.08767569877762248667431926878073669E-09), /* 3fe21eed8eff881d1e9262d7adff4373 */
+-L(1.14707451049343817400420280514614892E-11), /* bfda9397496922a9601ed3d4ca48944b */
+ L(4.77810092804389587579843296923533297E-14), /* 3fd2ae5f8197cbcdcaf7c3fb4523414c */
 
 /* sin x ~ ONE * x + x^3 ( SSIN1 + SSIN2 * x^2 + ... + SSIN4 * x^6 + SSIN5 * x^8 )
    x in <0,1/256>  */
@@ -63,11 +63,11 @@ static const ldouble_t c[] = {
 #define SSIN3 c[16]
 #define SSIN4 c[17]
 #define SSIN5 c[18]
--1.66666666666666666666666666666666659E-01L, /* bffc5555555555555555555555555555 */
- 8.33333333333333333333333333146298442E-03L, /* 3ff81111111111111111111110fe195d */
--1.98412698412698412697726277416810661E-04L, /* bff2a01a01a01a01a019e7121e080d88 */
- 2.75573192239848624174178393552189149E-06L, /* 3fec71de3a556c640c6aaa51aa02ab41 */
--2.50521016467996193495359189395805639E-08L, /* bfe5ae644ee90c47dc71839de75b2787 */
+-L(1.66666666666666666666666666666666659E-01), /* bffc5555555555555555555555555555 */
+ L(8.33333333333333333333333333146298442E-03), /* 3ff81111111111111111111110fe195d */
+-L(1.98412698412698412697726277416810661E-04), /* bff2a01a01a01a01a019e7121e080d88 */
+ L(2.75573192239848624174178393552189149E-06), /* 3fec71de3a556c640c6aaa51aa02ab41 */
+-L(2.50521016467996193495359189395805639E-08), /* bfe5ae644ee90c47dc71839de75b2787 */
 };
 
 #define SINCOSL_COS_HI 0
diff --git a/sysdeps/ieee754/ldbl-128/k_sincosl.c b/sysdeps/ieee754/ldbl-128/k_sincosl.c
index bc90590..0bb8e4e 100644
--- a/sysdeps/ieee754/ldbl-128/k_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sincosl.c
@@ -23,7 +23,7 @@
 
 static const ldouble_t c[] = {
 #define ONE c[0]
- 1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
+ L(1.00000000000000000000000000000000000E+00), /* 3fff0000000000000000000000000000 */
 
 /* cos x ~ ONE + x^2 ( SCOS1 + SCOS2 * x^2 + ... + SCOS4 * x^6 + SCOS5 * x^8 )
    x in <0,1/256>  */
@@ -32,11 +32,11 @@ static const ldouble_t c[] = {
 #define SCOS3 c[3]
 #define SCOS4 c[4]
 #define SCOS5 c[5]
--5.00000000000000000000000000000000000E-01L, /* bffe0000000000000000000000000000 */
- 4.16666666666666666666666666556146073E-02L, /* 3ffa5555555555555555555555395023 */
--1.38888888888888888888309442601939728E-03L, /* bff56c16c16c16c16c16a566e42c0375 */
- 2.48015873015862382987049502531095061E-05L, /* 3fefa01a01a019ee02dcf7da2d6d5444 */
--2.75573112601362126593516899592158083E-07L, /* bfe927e4f5dce637cb0b54908754bde0 */
+-L(5.00000000000000000000000000000000000E-01), /* bffe0000000000000000000000000000 */
+ L(4.16666666666666666666666666556146073E-02), /* 3ffa5555555555555555555555395023 */
+-L(1.38888888888888888888309442601939728E-03), /* bff56c16c16c16c16c16a566e42c0375 */
+ L(2.48015873015862382987049502531095061E-05), /* 3fefa01a01a019ee02dcf7da2d6d5444 */
+-L(2.75573112601362126593516899592158083E-07), /* bfe927e4f5dce637cb0b54908754bde0 */
 
 /* cos x ~ ONE + x^2 ( COS1 + COS2 * x^2 + ... + COS7 * x^12 + COS8 * x^14 )
    x in <0,0.1484375>  */
@@ -48,14 +48,14 @@ static const ldouble_t c[] = {
 #define COS6 c[11]
 #define COS7 c[12]
 #define COS8 c[13]
--4.99999999999999999999999999999999759E-01L, /* bffdfffffffffffffffffffffffffffb */
- 4.16666666666666666666666666651287795E-02L, /* 3ffa5555555555555555555555516f30 */
--1.38888888888888888888888742314300284E-03L, /* bff56c16c16c16c16c16c16a463dfd0d */
- 2.48015873015873015867694002851118210E-05L, /* 3fefa01a01a01a01a0195cebe6f3d3a5 */
--2.75573192239858811636614709689300351E-07L, /* bfe927e4fb7789f5aa8142a22044b51f */
- 2.08767569877762248667431926878073669E-09L, /* 3fe21eed8eff881d1e9262d7adff4373 */
--1.14707451049343817400420280514614892E-11L, /* bfda9397496922a9601ed3d4ca48944b */
- 4.77810092804389587579843296923533297E-14L, /* 3fd2ae5f8197cbcdcaf7c3fb4523414c */
+-L(4.99999999999999999999999999999999759E-01), /* bffdfffffffffffffffffffffffffffb */
+ L(4.16666666666666666666666666651287795E-02), /* 3ffa5555555555555555555555516f30 */
+-L(1.38888888888888888888888742314300284E-03), /* bff56c16c16c16c16c16c16a463dfd0d */
+ L(2.48015873015873015867694002851118210E-05), /* 3fefa01a01a01a01a0195cebe6f3d3a5 */
+-L(2.75573192239858811636614709689300351E-07), /* bfe927e4fb7789f5aa8142a22044b51f */
+ L(2.08767569877762248667431926878073669E-09), /* 3fe21eed8eff881d1e9262d7adff4373 */
+-L(1.14707451049343817400420280514614892E-11), /* bfda9397496922a9601ed3d4ca48944b */
+ L(4.77810092804389587579843296923533297E-14), /* 3fd2ae5f8197cbcdcaf7c3fb4523414c */
 
 /* sin x ~ ONE * x + x^3 ( SSIN1 + SSIN2 * x^2 + ... + SSIN4 * x^6 + SSIN5 * x^8 )
    x in <0,1/256>  */
@@ -64,11 +64,11 @@ static const ldouble_t c[] = {
 #define SSIN3 c[16]
 #define SSIN4 c[17]
 #define SSIN5 c[18]
--1.66666666666666666666666666666666659E-01L, /* bffc5555555555555555555555555555 */
- 8.33333333333333333333333333146298442E-03L, /* 3ff81111111111111111111110fe195d */
--1.98412698412698412697726277416810661E-04L, /* bff2a01a01a01a01a019e7121e080d88 */
- 2.75573192239848624174178393552189149E-06L, /* 3fec71de3a556c640c6aaa51aa02ab41 */
--2.50521016467996193495359189395805639E-08L, /* bfe5ae644ee90c47dc71839de75b2787 */
+-L(1.66666666666666666666666666666666659E-01), /* bffc5555555555555555555555555555 */
+ L(8.33333333333333333333333333146298442E-03), /* 3ff81111111111111111111110fe195d */
+-L(1.98412698412698412697726277416810661E-04), /* bff2a01a01a01a01a019e7121e080d88 */
+ L(2.75573192239848624174178393552189149E-06), /* 3fec71de3a556c640c6aaa51aa02ab41 */
+-L(2.50521016467996193495359189395805639E-08), /* bfe5ae644ee90c47dc71839de75b2787 */
 
 /* sin x ~ ONE * x + x^3 ( SIN1 + SIN2 * x^2 + ... + SIN7 * x^12 + SIN8 * x^14 )
    x in <0,0.1484375>  */
@@ -80,14 +80,14 @@ static const ldouble_t c[] = {
 #define SIN6 c[24]
 #define SIN7 c[25]
 #define SIN8 c[26]
--1.66666666666666666666666666666666538e-01L, /* bffc5555555555555555555555555550 */
- 8.33333333333333333333333333307532934e-03L, /* 3ff811111111111111111111110e7340 */
--1.98412698412698412698412534478712057e-04L, /* bff2a01a01a01a01a01a019e7a626296 */
- 2.75573192239858906520896496653095890e-06L, /* 3fec71de3a556c7338fa38527474b8f5 */
--2.50521083854417116999224301266655662e-08L, /* bfe5ae64567f544e16c7de65c2ea551f */
- 1.60590438367608957516841576404938118e-10L, /* 3fde6124613a811480538a9a41957115 */
--7.64716343504264506714019494041582610e-13L, /* bfd6ae7f3d5aef30c7bc660b060ef365 */
- 2.81068754939739570236322404393398135e-15L, /* 3fce9510115aabf87aceb2022a9a9180 */
+-L(1.66666666666666666666666666666666538e-01), /* bffc5555555555555555555555555550 */
+ L(8.33333333333333333333333333307532934e-03), /* 3ff811111111111111111111110e7340 */
+-L(1.98412698412698412698412534478712057e-04), /* bff2a01a01a01a01a01a019e7a626296 */
+ L(2.75573192239858906520896496653095890e-06), /* 3fec71de3a556c7338fa38527474b8f5 */
+-L(2.50521083854417116999224301266655662e-08), /* bfe5ae64567f544e16c7de65c2ea551f */
+ L(1.60590438367608957516841576404938118e-10), /* 3fde6124613a811480538a9a41957115 */
+-L(7.64716343504264506714019494041582610e-13), /* bfd6ae7f3d5aef30c7bc660b060ef365 */
+ L(2.81068754939739570236322404393398135e-15), /* 3fce9510115aabf87aceb2022a9a9180 */
 };
 
 #define SINCOSL_COS_HI 0
diff --git a/sysdeps/ieee754/ldbl-128/k_sinl.c b/sysdeps/ieee754/ldbl-128/k_sinl.c
index 5d34c81..dc72db9 100644
--- a/sysdeps/ieee754/ldbl-128/k_sinl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sinl.c
@@ -23,7 +23,7 @@
 
 static const ldouble_t c[] = {
 #define ONE c[0]
- 1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
+ L(1.00000000000000000000000000000000000E+00), /* 3fff0000000000000000000000000000 */
 
 /* cos x ~ ONE + x^2 ( SCOS1 + SCOS2 * x^2 + ... + SCOS4 * x^6 + SCOS5 * x^8 )
    x in <0,1/256>  */
@@ -32,11 +32,11 @@ static const ldouble_t c[] = {
 #define SCOS3 c[3]
 #define SCOS4 c[4]
 #define SCOS5 c[5]
--5.00000000000000000000000000000000000E-01L, /* bffe0000000000000000000000000000 */
- 4.16666666666666666666666666556146073E-02L, /* 3ffa5555555555555555555555395023 */
--1.38888888888888888888309442601939728E-03L, /* bff56c16c16c16c16c16a566e42c0375 */
- 2.48015873015862382987049502531095061E-05L, /* 3fefa01a01a019ee02dcf7da2d6d5444 */
--2.75573112601362126593516899592158083E-07L, /* bfe927e4f5dce637cb0b54908754bde0 */
+-L(5.00000000000000000000000000000000000E-01), /* bffe0000000000000000000000000000 */
+ L(4.16666666666666666666666666556146073E-02), /* 3ffa5555555555555555555555395023 */
+-L(1.38888888888888888888309442601939728E-03), /* bff56c16c16c16c16c16a566e42c0375 */
+ L(2.48015873015862382987049502531095061E-05), /* 3fefa01a01a019ee02dcf7da2d6d5444 */
+-L(2.75573112601362126593516899592158083E-07), /* bfe927e4f5dce637cb0b54908754bde0 */
 
 /* sin x ~ ONE * x + x^3 ( SIN1 + SIN2 * x^2 + ... + SIN7 * x^12 + SIN8 * x^14 )
    x in <0,0.1484375>  */
@@ -48,14 +48,14 @@ static const ldouble_t c[] = {
 #define SIN6 c[11]
 #define SIN7 c[12]
 #define SIN8 c[13]
--1.66666666666666666666666666666666538e-01L, /* bffc5555555555555555555555555550 */
- 8.33333333333333333333333333307532934e-03L, /* 3ff811111111111111111111110e7340 */
--1.98412698412698412698412534478712057e-04L, /* bff2a01a01a01a01a01a019e7a626296 */
- 2.75573192239858906520896496653095890e-06L, /* 3fec71de3a556c7338fa38527474b8f5 */
--2.50521083854417116999224301266655662e-08L, /* bfe5ae64567f544e16c7de65c2ea551f */
- 1.60590438367608957516841576404938118e-10L, /* 3fde6124613a811480538a9a41957115 */
--7.64716343504264506714019494041582610e-13L, /* bfd6ae7f3d5aef30c7bc660b060ef365 */
- 2.81068754939739570236322404393398135e-15L, /* 3fce9510115aabf87aceb2022a9a9180 */
+-L(1.66666666666666666666666666666666538e-01), /* bffc5555555555555555555555555550 */
+ L(8.33333333333333333333333333307532934e-03), /* 3ff811111111111111111111110e7340 */
+-L(1.98412698412698412698412534478712057e-04), /* bff2a01a01a01a01a01a019e7a626296 */
+ L(2.75573192239858906520896496653095890e-06), /* 3fec71de3a556c7338fa38527474b8f5 */
+-L(2.50521083854417116999224301266655662e-08), /* bfe5ae64567f544e16c7de65c2ea551f */
+ L(1.60590438367608957516841576404938118e-10), /* 3fde6124613a811480538a9a41957115 */
+-L(7.64716343504264506714019494041582610e-13), /* bfd6ae7f3d5aef30c7bc660b060ef365 */
+ L(2.81068754939739570236322404393398135e-15), /* 3fce9510115aabf87aceb2022a9a9180 */
 
 /* sin x ~ ONE * x + x^3 ( SSIN1 + SSIN2 * x^2 + ... + SSIN4 * x^6 + SSIN5 * x^8 )
    x in <0,1/256>  */
@@ -64,11 +64,11 @@ static const ldouble_t c[] = {
 #define SSIN3 c[16]
 #define SSIN4 c[17]
 #define SSIN5 c[18]
--1.66666666666666666666666666666666659E-01L, /* bffc5555555555555555555555555555 */
- 8.33333333333333333333333333146298442E-03L, /* 3ff81111111111111111111110fe195d */
--1.98412698412698412697726277416810661E-04L, /* bff2a01a01a01a01a019e7121e080d88 */
- 2.75573192239848624174178393552189149E-06L, /* 3fec71de3a556c640c6aaa51aa02ab41 */
--2.50521016467996193495359189395805639E-08L, /* bfe5ae644ee90c47dc71839de75b2787 */
+-L(1.66666666666666666666666666666666659E-01), /* bffc5555555555555555555555555555 */
+ L(8.33333333333333333333333333146298442E-03), /* 3ff81111111111111111111110fe195d */
+-L(1.98412698412698412697726277416810661E-04), /* bff2a01a01a01a01a019e7121e080d88 */
+ L(2.75573192239848624174178393552189149E-06), /* 3fec71de3a556c640c6aaa51aa02ab41 */
+-L(2.50521016467996193495359189395805639E-08), /* bfe5ae644ee90c47dc71839de75b2787 */
 };
 
 #define SINCOSL_COS_HI 0
diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c
index 564e9f9..aeeabe8 100644
--- a/sysdeps/ieee754/ldbl-128/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/k_tanl.c
@@ -61,25 +61,25 @@
 #include <math.h>
 #include <math_private.h>
 static const ldouble_t
-  one = 1.0L,
-  pio4hi = 7.8539816339744830961566084581987569936977E-1L,
-  pio4lo = 2.1679525325309452561992610065108379921906E-35L,
+  one = 1,
+  pio4hi = L(7.8539816339744830961566084581987569936977E-1),
+  pio4lo = L(2.1679525325309452561992610065108379921906E-35),
 
   /* tan x = x + x^3 / 3 + x^5 T(x^2)/U(x^2)
      0 <= x <= 0.6743316650390625
      Peak relative error 8.0e-36  */
- TH =  3.333333333333333333333333333333333333333E-1L,
- T0 = -1.813014711743583437742363284336855889393E7L,
- T1 =  1.320767960008972224312740075083259247618E6L,
- T2 = -2.626775478255838182468651821863299023956E4L,
- T3 =  1.764573356488504935415411383687150199315E2L,
- T4 = -3.333267763822178690794678978979803526092E-1L,
+ TH =  L(3.333333333333333333333333333333333333333E-1),
+ T0 = -L(1.813014711743583437742363284336855889393E7),
+ T1 =  L(1.320767960008972224312740075083259247618E6),
+ T2 = -L(2.626775478255838182468651821863299023956E4),
+ T3 =  L(1.764573356488504935415411383687150199315E2),
+ T4 = -L(3.333267763822178690794678978979803526092E-1),
 
- U0 = -1.359761033807687578306772463253710042010E8L,
- U1 =  6.494370630656893175666729313065113194784E7L,
- U2 = -4.180787672237927475505536849168729386782E6L,
- U3 =  8.031643765106170040139966622980914621521E4L,
- U4 = -5.323131271912475695157127875560667378597E2L;
+ U0 = -L(1.359761033807687578306772463253710042010E8),
+ U1 =  L(6.494370630656893175666729313065113194784E7),
+ U2 = -L(4.180787672237927475505536849168729386782E6),
+ U3 =  L(8.031643765106170040139966622980914621521E4),
+ U4 = -L(5.323131271912475695157127875560667378597E2);
   /* 1.000000000000000000000000000000000000000E0 */
 
 
diff --git a/sysdeps/ieee754/ldbl-128/lgamma_negl.c b/sysdeps/ieee754/ldbl-128/lgamma_negl.c
index b94062b..e5d82ca 100644
--- a/sysdeps/ieee754/ldbl-128/lgamma_negl.c
+++ b/sysdeps/ieee754/ldbl-128/lgamma_negl.c
@@ -22,106 +22,106 @@
 
 static const ldouble_t lgamma_zeros[][2] =
   {
-    { -0x2.74ff92c01f0d82abec9f315f1a08p+0L, 0xe.d3ccb7fb2658634a2b9f6b2ba81p-116L },
-    { -0x2.bf6821437b20197995a4b4641eaep+0L, -0xb.f4b00b4829f961e428533e6ad048p-116L },
-    { -0x3.24c1b793cb35efb8be699ad3d9bap+0L, -0x6.5454cb7fac60e3f16d9d7840c2ep-116L },
-    { -0x3.f48e2a8f85fca170d4561291236cp+0L, -0xc.320a4887d1cb4c711828a75d5758p-116L },
-    { -0x4.0a139e16656030c39f0b0de18114p+0L, 0x1.53e84029416e1242006b2b3d1cfp-112L },
-    { -0x4.fdd5de9bbabf3510d0aa40769884p+0L, -0x1.01d7d78125286f78d1e501f14966p-112L },
-    { -0x5.021a95fc2db6432a4c56e595394cp+0L, -0x1.ecc6af0430d4fe5746fa7233356fp-112L },
-    { -0x5.ffa4bd647d0357dd4ed62cbd31ecp+0L, -0x1.f8e3f8e5deba2d67dbd70dd96ce1p-112L },
-    { -0x6.005ac9625f233b607c2d96d16384p+0L, -0x1.cb86ac569340cf1e5f24df7aab7bp-112L },
-    { -0x6.fff2fddae1bbff3d626b65c23fd4p+0L, 0x1.e0bfcff5c457ebcf4d3ad9674167p-112L },
-    { -0x7.000cff7b7f87adf4482dcdb98784p+0L, 0x1.54d99e35a74d6407b80292df199fp-112L },
-    { -0x7.fffe5fe05673c3ca9e82b522b0ccp+0L, 0x1.62d177c832e0eb42c2faffd1b145p-112L },
-    { -0x8.0001a01459fc9f60cb3cec1cec88p+0L, 0x2.8998835ac7277f7bcef67c47f188p-112L },
-    { -0x8.ffffd1c425e80ffc864e95749258p+0L, -0x1.e7e20210e7f81cf781b44e9d2b02p-112L },
-    { -0x9.00002e3bb47d86d6d843fedc352p+0L, 0x2.14852f613a16291751d2ab751f7ep-112L },
-    { -0x9.fffffb606bdfdcd062ae77a50548p+0L, 0x3.962d1490cc2e8f031c7007eaa1ap-116L },
-    { -0xa.0000049f93bb9927b45d95e1544p+0L, -0x1.e03086db9146a9287bd4f2172d5ap-112L },
-    { -0xa.ffffff9466e9f1b36dacd2adbd18p+0L, -0xd.05a4e458062f3f95345a4d9c9b6p-116L },
-    { -0xb.0000006b9915315d965a6ffea41p+0L, 0x1.b415c6fff233e7b7fdc3a094246fp-112L },
-    { -0xb.fffffff7089387387de41acc3d4p+0L, 0x3.687427c6373bd74a10306e10a28ep-112L },
-    { -0xc.00000008f76c7731567c0f0250fp+0L, -0x3.87920df5675833859190eb128ef6p-112L },
-    { -0xc.ffffffff4f6dcf617f97a5ffc758p+0L, 0x2.ab72d76f32eaee2d1a42ed515d3ap-116L },
-    { -0xd.00000000b092309c06683dd1b9p+0L, -0x3.e3700857a15c19ac5a611de9688ap-112L },
-    { -0xd.fffffffff36345ab9e184a3e09dp+0L, -0x1.176dc48e47f62d917973dd44e553p-112L },
-    { -0xe.000000000c9cba545e94e75ec57p+0L, -0x1.8f753e2501e757a17cf2ecbeeb89p-112L },
-    { -0xe.ffffffffff28c060c6604ef3037p+0L, -0x1.f89d37357c9e3dc17c6c6e63becap-112L },
-    { -0xf.0000000000d73f9f399bd0e420f8p+0L, -0x5.e9ee31b0b890744fc0e3fbc01048p-116L },
-    { -0xf.fffffffffff28c060c6621f512e8p+0L, 0xd.1b2eec9d960bd9adc5be5f5fa5p-116L },
-    { -0x1.000000000000d73f9f399da1424cp+4L, 0x6.c46e0e88305d2800f0e414c506a8p-116L },
-    { -0x1.0ffffffffffff3569c47e7a93e1cp+4L, -0x4.6a08a2e008a998ebabb8087efa2cp-112L },
-    { -0x1.1000000000000ca963b818568887p+4L, -0x6.ca5a3a64ec15db0a95caf2c9ffb4p-112L },
-    { -0x1.1fffffffffffff4bec3ce234132dp+4L, -0x8.b2b726187c841cb92cd5221e444p-116L },
-    { -0x1.20000000000000b413c31dcbeca5p+4L, 0x3.c4d005344b6cd0e7231120294abcp-112L },
-    { -0x1.2ffffffffffffff685b25cbf5f54p+4L, -0x5.ced932e38485f7dd296b8fa41448p-112L },
-    { -0x1.30000000000000097a4da340a0acp+4L, 0x7.e484e0e0ffe38d406ebebe112f88p-112L },
-    { -0x1.3fffffffffffffff86af516ff7f7p+4L, -0x6.bd67e720d57854502b7db75e1718p-112L },
-    { -0x1.40000000000000007950ae900809p+4L, 0x6.bec33375cac025d9c073168c5d9p-112L },
-    { -0x1.4ffffffffffffffffa391c4248c3p+4L, 0x5.c63022b62b5484ba346524db607p-112L },
-    { -0x1.500000000000000005c6e3bdb73dp+4L, -0x5.c62f55ed5322b2685c5e9a51e6a8p-112L },
-    { -0x1.5fffffffffffffffffbcc71a492p+4L, -0x1.eb5aeb96c74d7ad25e060528fb5p-112L },
-    { -0x1.6000000000000000004338e5b6ep+4L, 0x1.eb5aec04b2f2eb663e4e3d8a018cp-112L },
-    { -0x1.6ffffffffffffffffffd13c97d9dp+4L, -0x3.8fcc4d08d6fe5aa56ab04307ce7ep-112L },
-    { -0x1.70000000000000000002ec368263p+4L, 0x3.8fcc4d090cee2f5d0b69a99c353cp-112L },
-    { -0x1.7fffffffffffffffffffe0d30fe7p+4L, 0x7.2f577cca4b4c8cb1dc14001ac5ecp-112L },
-    { -0x1.800000000000000000001f2cf019p+4L, -0x7.2f577cca4b3442e35f0040b3b9e8p-112L },
-    { -0x1.8ffffffffffffffffffffec0c332p+4L, -0x2.e9a0572b1bb5b95f346a92d67a6p-112L },
-    { -0x1.90000000000000000000013f3ccep+4L, 0x2.e9a0572b1bb5c371ddb3561705ap-112L },
-    { -0x1.9ffffffffffffffffffffff3b8bdp+4L, -0x1.cad8d32e386fd783e97296d63dcbp-116L },
-    { -0x1.a0000000000000000000000c4743p+4L, 0x1.cad8d32e386fd7c1ab8c1fe34c0ep-116L },
-    { -0x1.afffffffffffffffffffffff8b95p+4L, -0x3.8f48cc5737d5979c39db806c5406p-112L },
-    { -0x1.b00000000000000000000000746bp+4L, 0x3.8f48cc5737d5979c3b3a6bda06f6p-112L },
-    { -0x1.bffffffffffffffffffffffffbd8p+4L, 0x6.2898d42174dcf171470d8c8c6028p-112L },
-    { -0x1.c000000000000000000000000428p+4L, -0x6.2898d42174dcf171470d18ba412cp-112L },
-    { -0x1.cfffffffffffffffffffffffffdbp+4L, -0x4.c0ce9794ea50a839e311320bde94p-112L },
-    { -0x1.d000000000000000000000000025p+4L, 0x4.c0ce9794ea50a839e311322f7cf8p-112L },
-    { -0x1.dfffffffffffffffffffffffffffp+4L, 0x3.932c5047d60e60caded4c298a174p-112L },
-    { -0x1.e000000000000000000000000001p+4L, -0x3.932c5047d60e60caded4c298973ap-112L },
-    { -0x1.fp+4L, 0xa.1a6973c1fade2170f7237d35fe3p-116L },
-    { -0x1.fp+4L, -0xa.1a6973c1fade2170f7237d35fe08p-116L },
-    { -0x2p+4L, 0x5.0d34b9e0fd6f10b87b91be9aff1p-120L },
-    { -0x2p+4L, -0x5.0d34b9e0fd6f10b87b91be9aff0cp-120L },
-    { -0x2.1p+4L, 0x2.73024a9ba1aa36a7059bff52e844p-124L },
-    { -0x2.1p+4L, -0x2.73024a9ba1aa36a7059bff52e844p-124L },
-    { -0x2.2p+4L, 0x1.2710231c0fd7a13f8a2b4af9d6b7p-128L },
-    { -0x2.2p+4L, -0x1.2710231c0fd7a13f8a2b4af9d6b7p-128L },
-    { -0x2.3p+4L, 0x8.6e2ce38b6c8f9419e3fad3f0312p-136L },
-    { -0x2.3p+4L, -0x8.6e2ce38b6c8f9419e3fad3f0312p-136L },
-    { -0x2.4p+4L, 0x3.bf30652185952560d71a254e4eb8p-140L },
-    { -0x2.4p+4L, -0x3.bf30652185952560d71a254e4eb8p-140L },
-    { -0x2.5p+4L, 0x1.9ec8d1c94e85af4c78b15c3d89d3p-144L },
-    { -0x2.5p+4L, -0x1.9ec8d1c94e85af4c78b15c3d89d3p-144L },
-    { -0x2.6p+4L, 0xa.ea565ce061d57489e9b85276274p-152L },
-    { -0x2.6p+4L, -0xa.ea565ce061d57489e9b85276274p-152L },
-    { -0x2.7p+4L, 0x4.7a6512692eb37804111dabad30ecp-156L },
-    { -0x2.7p+4L, -0x4.7a6512692eb37804111dabad30ecp-156L },
-    { -0x2.8p+4L, 0x1.ca8ed42a12ae3001a07244abad2bp-160L },
-    { -0x2.8p+4L, -0x1.ca8ed42a12ae3001a07244abad2bp-160L },
-    { -0x2.9p+4L, 0xb.2f30e1ce812063f12e7e8d8d96e8p-168L },
-    { -0x2.9p+4L, -0xb.2f30e1ce812063f12e7e8d8d96e8p-168L },
-    { -0x2.ap+4L, 0x4.42bd49d4c37a0db136489772e428p-172L },
-    { -0x2.ap+4L, -0x4.42bd49d4c37a0db136489772e428p-172L },
-    { -0x2.bp+4L, 0x1.95db45257e5122dcbae56def372p-176L },
-    { -0x2.bp+4L, -0x1.95db45257e5122dcbae56def372p-176L },
-    { -0x2.cp+4L, 0x9.3958d81ff63527ecf993f3fb6f48p-184L },
-    { -0x2.cp+4L, -0x9.3958d81ff63527ecf993f3fb6f48p-184L },
-    { -0x2.dp+4L, 0x3.47970e4440c8f1c058bd238c9958p-188L },
-    { -0x2.dp+4L, -0x3.47970e4440c8f1c058bd238c9958p-188L },
-    { -0x2.ep+4L, 0x1.240804f65951062ca46e4f25c608p-192L },
-    { -0x2.ep+4L, -0x1.240804f65951062ca46e4f25c608p-192L },
-    { -0x2.fp+4L, 0x6.36a382849fae6de2d15362d8a394p-200L },
-    { -0x2.fp+4L, -0x6.36a382849fae6de2d15362d8a394p-200L },
-    { -0x3p+4L, 0x2.123680d6dfe4cf4b9b1bcb9d8bdcp-204L },
-    { -0x3p+4L, -0x2.123680d6dfe4cf4b9b1bcb9d8bdcp-204L },
-    { -0x3.1p+4L, 0xa.d21786ff5842eca51fea0870919p-212L },
-    { -0x3.1p+4L, -0xa.d21786ff5842eca51fea0870919p-212L },
-    { -0x3.2p+4L, 0x3.766dedc259af040be140a68a6c04p-216L },
+    { L(-0x2.74ff92c01f0d82abec9f315f1a08p+0), L(0xe.d3ccb7fb2658634a2b9f6b2ba81p-116) },
+    { L(-0x2.bf6821437b20197995a4b4641eaep+0), L(-0xb.f4b00b4829f961e428533e6ad048p-116) },
+    { L(-0x3.24c1b793cb35efb8be699ad3d9bap+0), L(-0x6.5454cb7fac60e3f16d9d7840c2ep-116) },
+    { L(-0x3.f48e2a8f85fca170d4561291236cp+0), L(-0xc.320a4887d1cb4c711828a75d5758p-116) },
+    { L(-0x4.0a139e16656030c39f0b0de18114p+0), L(0x1.53e84029416e1242006b2b3d1cfp-112) },
+    { L(-0x4.fdd5de9bbabf3510d0aa40769884p+0), L(-0x1.01d7d78125286f78d1e501f14966p-112) },
+    { L(-0x5.021a95fc2db6432a4c56e595394cp+0), L(-0x1.ecc6af0430d4fe5746fa7233356fp-112) },
+    { L(-0x5.ffa4bd647d0357dd4ed62cbd31ecp+0), L(-0x1.f8e3f8e5deba2d67dbd70dd96ce1p-112) },
+    { L(-0x6.005ac9625f233b607c2d96d16384p+0), L(-0x1.cb86ac569340cf1e5f24df7aab7bp-112) },
+    { L(-0x6.fff2fddae1bbff3d626b65c23fd4p+0), L(0x1.e0bfcff5c457ebcf4d3ad9674167p-112) },
+    { L(-0x7.000cff7b7f87adf4482dcdb98784p+0), L(0x1.54d99e35a74d6407b80292df199fp-112) },
+    { L(-0x7.fffe5fe05673c3ca9e82b522b0ccp+0), L(0x1.62d177c832e0eb42c2faffd1b145p-112) },
+    { L(-0x8.0001a01459fc9f60cb3cec1cec88p+0), L(0x2.8998835ac7277f7bcef67c47f188p-112) },
+    { L(-0x8.ffffd1c425e80ffc864e95749258p+0), L(-0x1.e7e20210e7f81cf781b44e9d2b02p-112) },
+    { L(-0x9.00002e3bb47d86d6d843fedc352p+0),  L(0x2.14852f613a16291751d2ab751f7ep-112) },
+    { L(-0x9.fffffb606bdfdcd062ae77a50548p+0), L(0x3.962d1490cc2e8f031c7007eaa1ap-116) },
+    { L(-0xa.0000049f93bb9927b45d95e1544p+0),  L(-0x1.e03086db9146a9287bd4f2172d5ap-112) },
+    { L(-0xa.ffffff9466e9f1b36dacd2adbd18p+0), L(-0xd.05a4e458062f3f95345a4d9c9b6p-116) },
+    { L(-0xb.0000006b9915315d965a6ffea41p+0),  L(0x1.b415c6fff233e7b7fdc3a094246fp-112) },
+    { L(-0xb.fffffff7089387387de41acc3d4p+0),  L(0x3.687427c6373bd74a10306e10a28ep-112) },
+    { L(-0xc.00000008f76c7731567c0f0250fp+0),  L(-0x3.87920df5675833859190eb128ef6p-112) },
+    { L(-0xc.ffffffff4f6dcf617f97a5ffc758p+0), L(0x2.ab72d76f32eaee2d1a42ed515d3ap-116) },
+    { L(-0xd.00000000b092309c06683dd1b9p+0),   L(-0x3.e3700857a15c19ac5a611de9688ap-112) },
+    { L(-0xd.fffffffff36345ab9e184a3e09dp+0),  L(-0x1.176dc48e47f62d917973dd44e553p-112) },
+    { L(-0xe.000000000c9cba545e94e75ec57p+0),  L(-0x1.8f753e2501e757a17cf2ecbeeb89p-112) },
+    { L(-0xe.ffffffffff28c060c6604ef3037p+0),  L(-0x1.f89d37357c9e3dc17c6c6e63becap-112) },
+    { L(-0xf.0000000000d73f9f399bd0e420f8p+0), L(-0x5.e9ee31b0b890744fc0e3fbc01048p-116) },
+    { L(-0xf.fffffffffff28c060c6621f512e8p+0), L(0xd.1b2eec9d960bd9adc5be5f5fa5p-116) },
+    { L(-0x1.000000000000d73f9f399da1424cp+4), L(0x6.c46e0e88305d2800f0e414c506a8p-116) },
+    { L(-0x1.0ffffffffffff3569c47e7a93e1cp+4), L(-0x4.6a08a2e008a998ebabb8087efa2cp-112) },
+    { L(-0x1.1000000000000ca963b818568887p+4), L(-0x6.ca5a3a64ec15db0a95caf2c9ffb4p-112) },
+    { L(-0x1.1fffffffffffff4bec3ce234132dp+4), L(-0x8.b2b726187c841cb92cd5221e444p-116) },
+    { L(-0x1.20000000000000b413c31dcbeca5p+4), L(0x3.c4d005344b6cd0e7231120294abcp-112) },
+    { L(-0x1.2ffffffffffffff685b25cbf5f54p+4), L(-0x5.ced932e38485f7dd296b8fa41448p-112) },
+    { L(-0x1.30000000000000097a4da340a0acp+4), L(0x7.e484e0e0ffe38d406ebebe112f88p-112) },
+    { L(-0x1.3fffffffffffffff86af516ff7f7p+4), L(-0x6.bd67e720d57854502b7db75e1718p-112) },
+    { L(-0x1.40000000000000007950ae900809p+4), L(0x6.bec33375cac025d9c073168c5d9p-112) },
+    { L(-0x1.4ffffffffffffffffa391c4248c3p+4), L(0x5.c63022b62b5484ba346524db607p-112) },
+    { L(-0x1.500000000000000005c6e3bdb73dp+4), L(-0x5.c62f55ed5322b2685c5e9a51e6a8p-112) },
+    { L(-0x1.5fffffffffffffffffbcc71a492p+4),  L(-0x1.eb5aeb96c74d7ad25e060528fb5p-112) },
+    { L(-0x1.6000000000000000004338e5b6ep+4),  L(0x1.eb5aec04b2f2eb663e4e3d8a018cp-112) },
+    { L(-0x1.6ffffffffffffffffffd13c97d9dp+4), L(-0x3.8fcc4d08d6fe5aa56ab04307ce7ep-112) },
+    { L(-0x1.70000000000000000002ec368263p+4), L(0x3.8fcc4d090cee2f5d0b69a99c353cp-112) },
+    { L(-0x1.7fffffffffffffffffffe0d30fe7p+4), L(0x7.2f577cca4b4c8cb1dc14001ac5ecp-112) },
+    { L(-0x1.800000000000000000001f2cf019p+4), L(-0x7.2f577cca4b3442e35f0040b3b9e8p-112) },
+    { L(-0x1.8ffffffffffffffffffffec0c332p+4), L(-0x2.e9a0572b1bb5b95f346a92d67a6p-112) },
+    { L(-0x1.90000000000000000000013f3ccep+4), L(0x2.e9a0572b1bb5c371ddb3561705ap-112) },
+    { L(-0x1.9ffffffffffffffffffffff3b8bdp+4), L(-0x1.cad8d32e386fd783e97296d63dcbp-116) },
+    { L(-0x1.a0000000000000000000000c4743p+4), L(0x1.cad8d32e386fd7c1ab8c1fe34c0ep-116) },
+    { L(-0x1.afffffffffffffffffffffff8b95p+4), L(-0x3.8f48cc5737d5979c39db806c5406p-112) },
+    { L(-0x1.b00000000000000000000000746bp+4), L(0x3.8f48cc5737d5979c3b3a6bda06f6p-112) },
+    { L(-0x1.bffffffffffffffffffffffffbd8p+4), L(0x6.2898d42174dcf171470d8c8c6028p-112) },
+    { L(-0x1.c000000000000000000000000428p+4), L(-0x6.2898d42174dcf171470d18ba412cp-112) },
+    { L(-0x1.cfffffffffffffffffffffffffdbp+4), L(-0x4.c0ce9794ea50a839e311320bde94p-112) },
+    { L(-0x1.d000000000000000000000000025p+4), L(0x4.c0ce9794ea50a839e311322f7cf8p-112) },
+    { L(-0x1.dfffffffffffffffffffffffffffp+4), L(0x3.932c5047d60e60caded4c298a174p-112) },
+    { L(-0x1.e000000000000000000000000001p+4), L(-0x3.932c5047d60e60caded4c298973ap-112) },
+    { L(-0x1.fp+4), L(0xa.1a6973c1fade2170f7237d35fe3p-116) },
+    { L(-0x1.fp+4), L(-0xa.1a6973c1fade2170f7237d35fe08p-116) },
+    { L(-0x2p+4),   L(0x5.0d34b9e0fd6f10b87b91be9aff1p-120) },
+    { L(-0x2p+4),   L(-0x5.0d34b9e0fd6f10b87b91be9aff0cp-120) },
+    { L(-0x2.1p+4), L(0x2.73024a9ba1aa36a7059bff52e844p-124) },
+    { L(-0x2.1p+4), L(-0x2.73024a9ba1aa36a7059bff52e844p-124) },
+    { L(-0x2.2p+4), L(0x1.2710231c0fd7a13f8a2b4af9d6b7p-128) },
+    { L(-0x2.2p+4), L(-0x1.2710231c0fd7a13f8a2b4af9d6b7p-128) },
+    { L(-0x2.3p+4), L(0x8.6e2ce38b6c8f9419e3fad3f0312p-136) },
+    { L(-0x2.3p+4), L(-0x8.6e2ce38b6c8f9419e3fad3f0312p-136) },
+    { L(-0x2.4p+4), L(0x3.bf30652185952560d71a254e4eb8p-140) },
+    { L(-0x2.4p+4), L(-0x3.bf30652185952560d71a254e4eb8p-140) },
+    { L(-0x2.5p+4), L(0x1.9ec8d1c94e85af4c78b15c3d89d3p-144) },
+    { L(-0x2.5p+4), L(-0x1.9ec8d1c94e85af4c78b15c3d89d3p-144) },
+    { L(-0x2.6p+4), L(0xa.ea565ce061d57489e9b85276274p-152) },
+    { L(-0x2.6p+4), L(-0xa.ea565ce061d57489e9b85276274p-152) },
+    { L(-0x2.7p+4), L(0x4.7a6512692eb37804111dabad30ecp-156) },
+    { L(-0x2.7p+4), L(-0x4.7a6512692eb37804111dabad30ecp-156) },
+    { L(-0x2.8p+4), L(0x1.ca8ed42a12ae3001a07244abad2bp-160) },
+    { L(-0x2.8p+4), L(-0x1.ca8ed42a12ae3001a07244abad2bp-160) },
+    { L(-0x2.9p+4), L(0xb.2f30e1ce812063f12e7e8d8d96e8p-168) },
+    { L(-0x2.9p+4), L(-0xb.2f30e1ce812063f12e7e8d8d96e8p-168) },
+    { L(-0x2.ap+4), L(0x4.42bd49d4c37a0db136489772e428p-172) },
+    { L(-0x2.ap+4), L(-0x4.42bd49d4c37a0db136489772e428p-172) },
+    { L(-0x2.bp+4), L(0x1.95db45257e5122dcbae56def372p-176) },
+    { L(-0x2.bp+4), L(-0x1.95db45257e5122dcbae56def372p-176) },
+    { L(-0x2.cp+4), L(0x9.3958d81ff63527ecf993f3fb6f48p-184) },
+    { L(-0x2.cp+4), L(-0x9.3958d81ff63527ecf993f3fb6f48p-184) },
+    { L(-0x2.dp+4), L(0x3.47970e4440c8f1c058bd238c9958p-188) },
+    { L(-0x2.dp+4), L(-0x3.47970e4440c8f1c058bd238c9958p-188) },
+    { L(-0x2.ep+4), L(0x1.240804f65951062ca46e4f25c608p-192) },
+    { L(-0x2.ep+4), L(-0x1.240804f65951062ca46e4f25c608p-192) },
+    { L(-0x2.fp+4), L(0x6.36a382849fae6de2d15362d8a394p-200) },
+    { L(-0x2.fp+4), L(-0x6.36a382849fae6de2d15362d8a394p-200) },
+    { L(-0x3p+4),  L(0x2.123680d6dfe4cf4b9b1bcb9d8bdcp-204) },
+    { L(-0x3p+4),  L(-0x2.123680d6dfe4cf4b9b1bcb9d8bdcp-204) },
+    { L(-0x3.1p+4), L(0xa.d21786ff5842eca51fea0870919p-212) },
+    { L(-0x3.1p+4), L(-0xa.d21786ff5842eca51fea0870919p-212) },
+    { L(-0x3.2p+4), L(0x3.766dedc259af040be140a68a6c04p-216) },
   };
 
-static const ldouble_t e_hi = 0x2.b7e151628aed2a6abf7158809cf4p+0L;
-static const ldouble_t e_lo = 0xf.3c762e7160f38b4da56a784d9048p-116L;
+static const ldouble_t e_hi = L(0x2.b7e151628aed2a6abf7158809cf4p+0);
+static const ldouble_t e_lo = L(0xf.3c762e7160f38b4da56a784d9048p-116);
 
 
 /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) in Stirling's
@@ -129,33 +129,33 @@ static const ldouble_t e_lo = 0xf.3c762e7160f38b4da56a784d9048p-116L;
 
 static const ldouble_t lgamma_coeff[] =
   {
-    0x1.5555555555555555555555555555p-4L,
-    -0xb.60b60b60b60b60b60b60b60b60b8p-12L,
-    0x3.4034034034034034034034034034p-12L,
-    -0x2.7027027027027027027027027028p-12L,
-    0x3.72a3c5631fe46ae1d4e700dca8f2p-12L,
-    -0x7.daac36664f1f207daac36664f1f4p-12L,
-    0x1.a41a41a41a41a41a41a41a41a41ap-8L,
-    -0x7.90a1b2c3d4e5f708192a3b4c5d7p-8L,
-    0x2.dfd2c703c0cfff430edfd2c703cp-4L,
-    -0x1.6476701181f39edbdb9ce625987dp+0L,
-    0xd.672219167002d3a7a9c886459cp+0L,
-    -0x9.cd9292e6660d55b3f712eb9e07c8p+4L,
-    0x8.911a740da740da740da740da741p+8L,
-    -0x8.d0cc570e255bf59ff6eec24b49p+12L,
-    0xa.8d1044d3708d1c219ee4fdc446ap+16L,
-    -0xe.8844d8a169abbc406169abbc406p+20L,
-    0x1.6d29a0f6433b79890cede62433b8p+28L,
-    -0x2.88a233b3c8cddaba9809357125d8p+32L,
-    0x5.0dde6f27500939a85c40939a85c4p+36L,
-    -0xb.4005bde03d4642a243581714af68p+40L,
-    0x1.bc8cd6f8f1f755c78753cdb5d5c9p+48L,
-    -0x4.bbebb143bb94de5a0284fa7ec424p+52L,
-    0xe.2e1337f5af0bed90b6b0a352d4fp+56L,
-    -0x2.e78250162b62405ad3e4bfe61b38p+64L,
-    0xa.5f7eef9e71ac7c80326ab4cc8bfp+68L,
-    -0x2.83be0395e550213369924971b21ap+76L,
-    0xa.8ebfe48da17dd999790760b0cep+80L,
+    L(0x1.5555555555555555555555555555p-4),
+   -L(0xb.60b60b60b60b60b60b60b60b60b8p-12),
+    L(0x3.4034034034034034034034034034p-12),
+   -L(0x2.7027027027027027027027027028p-12),
+    L(0x3.72a3c5631fe46ae1d4e700dca8f2p-12),
+   -L(0x7.daac36664f1f207daac36664f1f4p-12),
+    L(0x1.a41a41a41a41a41a41a41a41a41ap-8),
+   -L(0x7.90a1b2c3d4e5f708192a3b4c5d7p-8),
+    L(0x2.dfd2c703c0cfff430edfd2c703cp-4),
+   -L(0x1.6476701181f39edbdb9ce625987dp+0),
+    L(0xd.672219167002d3a7a9c886459cp+0),
+   -L(0x9.cd9292e6660d55b3f712eb9e07c8p+4),
+    L(0x8.911a740da740da740da740da741p+8),
+   -L(0x8.d0cc570e255bf59ff6eec24b49p+12),
+    L(0xa.8d1044d3708d1c219ee4fdc446ap+16),
+   -L(0xe.8844d8a169abbc406169abbc406p+20),
+    L(0x1.6d29a0f6433b79890cede62433b8p+28),
+   -L(0x2.88a233b3c8cddaba9809357125d8p+32),
+    L(0x5.0dde6f27500939a85c40939a85c4p+36),
+   -L(0xb.4005bde03d4642a243581714af68p+40),
+    L(0x1.bc8cd6f8f1f755c78753cdb5d5c9p+48),
+   -L(0x4.bbebb143bb94de5a0284fa7ec424p+52),
+    L(0xe.2e1337f5af0bed90b6b0a352d4fp+56),
+   -L(0x2.e78250162b62405ad3e4bfe61b38p+64),
+    L(0xa.5f7eef9e71ac7c80326ab4cc8bfp+68),
+   -L(0x2.83be0395e550213369924971b21ap+76),
+    L(0xa.8ebfe48da17dd999790760b0cep+80),
   };
 
 #define NCOEFF (sizeof (lgamma_coeff) / sizeof (lgamma_coeff[0]))
@@ -169,221 +169,221 @@ static const ldouble_t lgamma_coeff[] =
 static const ldouble_t poly_coeff[] =
   {
     /* Interval [-2.125, -2] (polynomial degree 23).  */
-    -0x1.0b71c5c54d42eb6c17f30b7aa8f5p+0L,
-    -0xc.73a1dc05f34951602554c6d7506p-4L,
-    -0x1.ec841408528b51473e6c425ee5ffp-4L,
-    -0xe.37c9da26fc3c9a3c1844c8c7f1cp-4L,
-    -0x1.03cd87c519305703b021fa33f827p-4L,
-    -0xe.ae9ada65e09aa7f1c75216128f58p-4L,
-    0x9.b11855a4864b5731cf85736015a8p-8L,
-    -0xe.f28c133e697a95c28607c9701dep-4L,
-    0x2.6ec14a1c586a72a7cc33ee569d6ap-4L,
-    -0xf.57cab973e14464a262fc24723c38p-4L,
-    0x4.5b0fc25f16e52997b2886bbae808p-4L,
-    -0xf.f50e59f1a9b56e76e988dac9ccf8p-4L,
-    0x6.5f5eae15e9a93369e1d85146c6fcp-4L,
-    -0x1.0d2422daac459e33e0994325ed23p+0L,
-    0x8.82000a0e7401fb1117a0e6606928p-4L,
-    -0x1.1f492f178a3f1b19f58a2ca68e55p+0L,
-    0xa.cb545f949899a04c160b19389abp-4L,
-    -0x1.36165a1b155ba3db3d1b77caf498p+0L,
-    0xd.44c5d5576f74302e5cf79e183eep-4L,
-    -0x1.51f22e0cdd33d3d481e326c02f3ep+0L,
-    0xf.f73a349c08244ac389c007779bfp-4L,
-    -0x1.73317bf626156ba716747c4ca866p+0L,
-    0x1.379c3c97b9bc71e1c1c4802dd657p+0L,
-    -0x1.a72a351c54f902d483052000f5dfp+0L,
+   -L(0x1.0b71c5c54d42eb6c17f30b7aa8f5p+0),
+   -L(0xc.73a1dc05f34951602554c6d7506p-4),
+   -L(0x1.ec841408528b51473e6c425ee5ffp-4),
+   -L(0xe.37c9da26fc3c9a3c1844c8c7f1cp-4),
+   -L(0x1.03cd87c519305703b021fa33f827p-4),
+   -L(0xe.ae9ada65e09aa7f1c75216128f58p-4),
+    L(0x9.b11855a4864b5731cf85736015a8p-8),
+   -L(0xe.f28c133e697a95c28607c9701dep-4),
+    L(0x2.6ec14a1c586a72a7cc33ee569d6ap-4),
+   -L(0xf.57cab973e14464a262fc24723c38p-4),
+    L(0x4.5b0fc25f16e52997b2886bbae808p-4),
+   -L(0xf.f50e59f1a9b56e76e988dac9ccf8p-4),
+    L(0x6.5f5eae15e9a93369e1d85146c6fcp-4),
+   -L(0x1.0d2422daac459e33e0994325ed23p+0),
+    L(0x8.82000a0e7401fb1117a0e6606928p-4),
+   -L(0x1.1f492f178a3f1b19f58a2ca68e55p+0),
+    L(0xa.cb545f949899a04c160b19389abp-4),
+   -L(0x1.36165a1b155ba3db3d1b77caf498p+0),
+    L(0xd.44c5d5576f74302e5cf79e183eep-4),
+   -L(0x1.51f22e0cdd33d3d481e326c02f3ep+0),
+    L(0xf.f73a349c08244ac389c007779bfp-4),
+   -L(0x1.73317bf626156ba716747c4ca866p+0),
+    L(0x1.379c3c97b9bc71e1c1c4802dd657p+0),
+   -L(0x1.a72a351c54f902d483052000f5dfp+0),
     /* Interval [-2.25, -2.125] (polynomial degree 24).  */
-    -0xf.2930890d7d675a80c36afb0fd5e8p-4L,
-    -0xc.a5cfde054eab5c6770daeca577f8p-4L,
-    0x3.9c9e0fdebb07cdf89c61d41c9238p-4L,
-    -0x1.02a5ad35605fcf4af65a6dbacb84p+0L,
-    0x9.6e9b1185bb48be9de1918e00a2e8p-4L,
-    -0x1.4d8332f3cfbfa116fd611e9ce90dp+0L,
-    0x1.1c0c8cb4d9f4b1d490e1a41fae4dp+0L,
-    -0x1.c9a6f5ae9130cd0299e293a42714p+0L,
-    0x1.d7e9307fd58a2ea997f29573a112p+0L,
-    -0x2.921cb3473d96178ca2a11d2a8d46p+0L,
-    0x2.e8d59113b6f3409ff8db226e9988p+0L,
-    -0x3.cbab931625a1ae2b26756817f264p+0L,
-    0x4.7d9f0f05d5296d18663ca003912p+0L,
-    -0x5.ade9cba12a14ea485667b7135bbp+0L,
-    0x6.dc983a5da74fb48e767b7fec0a3p+0L,
-    -0x8.8d9ed454ae31d9e138dd8ee0d1a8p+0L,
-    0xa.6fa099d4e7c202e0c0fd6ed8492p+0L,
-    -0xc.ebc552a8090a0f0115e92d4ebbc8p+0L,
-    0xf.d695e4772c0d829b53fba9ca5568p+0L,
-    -0x1.38c32ae38e5e9eb79b2a4c5570a9p+4L,
-    0x1.8035145646cfab49306d0999a51bp+4L,
-    -0x1.d930adbb03dd342a4c2a8c4e1af6p+4L,
-    0x2.45c2edb1b4943ddb3686cd9c6524p+4L,
-    -0x2.e818ebbfafe2f916fa21abf7756p+4L,
-    0x3.9804ce51d0fb9a430a711fd7307p+4L,
+   -L(0xf.2930890d7d675a80c36afb0fd5e8p-4),
+   -L(0xc.a5cfde054eab5c6770daeca577f8p-4),
+    L(0x3.9c9e0fdebb07cdf89c61d41c9238p-4),
+   -L(0x1.02a5ad35605fcf4af65a6dbacb84p+0),
+    L(0x9.6e9b1185bb48be9de1918e00a2e8p-4),
+   -L(0x1.4d8332f3cfbfa116fd611e9ce90dp+0),
+    L(0x1.1c0c8cb4d9f4b1d490e1a41fae4dp+0),
+   -L(0x1.c9a6f5ae9130cd0299e293a42714p+0),
+    L(0x1.d7e9307fd58a2ea997f29573a112p+0),
+   -L(0x2.921cb3473d96178ca2a11d2a8d46p+0),
+    L(0x2.e8d59113b6f3409ff8db226e9988p+0),
+   -L(0x3.cbab931625a1ae2b26756817f264p+0),
+    L(0x4.7d9f0f05d5296d18663ca003912p+0),
+   -L(0x5.ade9cba12a14ea485667b7135bbp+0),
+    L(0x6.dc983a5da74fb48e767b7fec0a3p+0),
+   -L(0x8.8d9ed454ae31d9e138dd8ee0d1a8p+0),
+    L(0xa.6fa099d4e7c202e0c0fd6ed8492p+0),
+   -L(0xc.ebc552a8090a0f0115e92d4ebbc8p+0),
+    L(0xf.d695e4772c0d829b53fba9ca5568p+0),
+   -L(0x1.38c32ae38e5e9eb79b2a4c5570a9p+4),
+    L(0x1.8035145646cfab49306d0999a51bp+4),
+   -L(0x1.d930adbb03dd342a4c2a8c4e1af6p+4),
+    L(0x2.45c2edb1b4943ddb3686cd9c6524p+4),
+   -L(0x2.e818ebbfafe2f916fa21abf7756p+4),
+    L(0x3.9804ce51d0fb9a430a711fd7307p+4),
     /* Interval [-2.375, -2.25] (polynomial degree 25).  */
-    -0xd.7d28d505d6181218a25f31d5e45p-4L,
-    -0xe.69649a3040985140cdf946829fap-4L,
-    0xb.0d74a2827d053a8d44595012484p-4L,
-    -0x1.924b0922853617cac181afbc08ddp+0L,
-    0x1.d49b12bccf0a568582e2d3c410f3p+0L,
-    -0x3.0898bb7d8c4093e636279c791244p+0L,
-    0x4.207a6cac711cb53868e8a5057eep+0L,
-    -0x6.39ee63ea4fb1dcab0c9144bf3ddcp+0L,
-    0x8.e2e2556a797b649bf3f53bd26718p+0L,
-    -0xd.0e83ac82552ef12af508589e7a8p+0L,
-    0x1.2e4525e0ce6670563c6484a82b05p+4L,
-    -0x1.b8e350d6a8f2b222fa390a57c23dp+4L,
-    0x2.805cd69b919087d8a80295892c2cp+4L,
-    -0x3.a42585424a1b7e64c71743ab014p+4L,
-    0x5.4b4f409f98de49f7bfb03c05f984p+4L,
-    -0x7.b3c5827fbe934bc820d6832fb9fcp+4L,
-    0xb.33b7b90cc96c425526e0d0866e7p+4L,
-    -0x1.04b77047ac4f59ee3775ca10df0dp+8L,
-    0x1.7b366f5e94a34f41386eac086313p+8L,
-    -0x2.2797338429385c9849ca6355bfc2p+8L,
-    0x3.225273cf92a27c9aac1b35511256p+8L,
-    -0x4.8f078aa48afe6cb3a4e89690f898p+8L,
-    0x6.9f311d7b6654fc1d0b5195141d04p+8L,
-    -0x9.a0c297b6b4621619ca9bacc48ed8p+8L,
-    0xe.ce1f06b6f90d92138232a76e4cap+8L,
-    -0x1.5b0e6806fa064daf011613e43b17p+12L,
+   -L(0xd.7d28d505d6181218a25f31d5e45p-4),
+   -L(0xe.69649a3040985140cdf946829fap-4),
+    L(0xb.0d74a2827d053a8d44595012484p-4),
+   -L(0x1.924b0922853617cac181afbc08ddp+0),
+    L(0x1.d49b12bccf0a568582e2d3c410f3p+0),
+   -L(0x3.0898bb7d8c4093e636279c791244p+0),
+    L(0x4.207a6cac711cb53868e8a5057eep+0),
+   -L(0x6.39ee63ea4fb1dcab0c9144bf3ddcp+0),
+    L(0x8.e2e2556a797b649bf3f53bd26718p+0),
+   -L(0xd.0e83ac82552ef12af508589e7a8p+0),
+    L(0x1.2e4525e0ce6670563c6484a82b05p+4),
+   -L(0x1.b8e350d6a8f2b222fa390a57c23dp+4),
+    L(0x2.805cd69b919087d8a80295892c2cp+4),
+   -L(0x3.a42585424a1b7e64c71743ab014p+4),
+    L(0x5.4b4f409f98de49f7bfb03c05f984p+4),
+   -L(0x7.b3c5827fbe934bc820d6832fb9fcp+4),
+    L(0xb.33b7b90cc96c425526e0d0866e7p+4),
+   -L(0x1.04b77047ac4f59ee3775ca10df0dp+8),
+    L(0x1.7b366f5e94a34f41386eac086313p+8),
+   -L(0x2.2797338429385c9849ca6355bfc2p+8),
+    L(0x3.225273cf92a27c9aac1b35511256p+8),
+   -L(0x4.8f078aa48afe6cb3a4e89690f898p+8),
+    L(0x6.9f311d7b6654fc1d0b5195141d04p+8),
+   -L(0x9.a0c297b6b4621619ca9bacc48ed8p+8),
+    L(0xe.ce1f06b6f90d92138232a76e4cap+8),
+   -L(0x1.5b0e6806fa064daf011613e43b17p+12),
     /* Interval [-2.5, -2.375] (polynomial degree 27).  */
-    -0xb.74ea1bcfff94b2c01afba9daa7d8p-4L,
-    -0x1.2a82bd590c37538cab143308de4dp+0L,
-    0x1.88020f828b966fec66b8649fd6fcp+0L,
-    -0x3.32279f040eb694970e9db24863dcp+0L,
-    0x5.57ac82517767e68a721005853864p+0L,
-    -0x9.c2aedcfe22833de43834a0a6cc4p+0L,
-    0x1.12c132f1f5577f99e1a0ed3538e1p+4L,
-    -0x1.ea94e26628a3de3597f7bb55a948p+4L,
-    0x3.66b4ac4fa582f58b59f96b2f7c7p+4L,
-    -0x6.0cf746a9cf4cba8c39afcc73fc84p+4L,
-    0xa.c102ef2c20d75a342197df7fedf8p+4L,
-    -0x1.31ebff06e8f14626782df58db3b6p+8L,
-    0x2.1fd6f0c0e710994e059b9dbdb1fep+8L,
-    -0x3.c6d76040407f447f8b5074f07706p+8L,
-    0x6.b6d18e0d8feb4c2ef5af6a40ed18p+8L,
-    -0xb.efaf542c529f91e34217f24ae6a8p+8L,
-    0x1.53852d873210e7070f5d9eb2296p+12L,
-    -0x2.5b977c0ddc6d540717173ac29fc8p+12L,
-    0x4.310d452ae05100eff1e02343a724p+12L,
-    -0x7.73a5d8f20c4f986a7dd1912b2968p+12L,
-    0xd.3f5ea2484f3fca15eab1f4d1a218p+12L,
-    -0x1.78d18aac156d1d93a2ffe7e08d3fp+16L,
-    0x2.9df49ca75e5b567f5ea3e47106cp+16L,
-    -0x4.a7149af8961a08aa7c3233b5bb94p+16L,
-    0x8.3db10ffa742c707c25197d989798p+16L,
-    -0xe.a26d6dd023cadd02041a049ec368p+16L,
-    0x1.c825d90514e7c57c7fa5316f947cp+20L,
-    -0x3.34bb81e5a0952df8ca1abdc6684cp+20L,
+   -L(0xb.74ea1bcfff94b2c01afba9daa7d8p-4),
+   -L(0x1.2a82bd590c37538cab143308de4dp+0),
+    L(0x1.88020f828b966fec66b8649fd6fcp+0),
+   -L(0x3.32279f040eb694970e9db24863dcp+0),
+    L(0x5.57ac82517767e68a721005853864p+0),
+   -L(0x9.c2aedcfe22833de43834a0a6cc4p+0),
+    L(0x1.12c132f1f5577f99e1a0ed3538e1p+4),
+   -L(0x1.ea94e26628a3de3597f7bb55a948p+4),
+    L(0x3.66b4ac4fa582f58b59f96b2f7c7p+4),
+   -L(0x6.0cf746a9cf4cba8c39afcc73fc84p+4),
+    L(0xa.c102ef2c20d75a342197df7fedf8p+4),
+   -L(0x1.31ebff06e8f14626782df58db3b6p+8),
+    L(0x2.1fd6f0c0e710994e059b9dbdb1fep+8),
+   -L(0x3.c6d76040407f447f8b5074f07706p+8),
+    L(0x6.b6d18e0d8feb4c2ef5af6a40ed18p+8),
+   -L(0xb.efaf542c529f91e34217f24ae6a8p+8),
+    L(0x1.53852d873210e7070f5d9eb2296p+12),
+   -L(0x2.5b977c0ddc6d540717173ac29fc8p+12),
+    L(0x4.310d452ae05100eff1e02343a724p+12),
+   -L(0x7.73a5d8f20c4f986a7dd1912b2968p+12),
+    L(0xd.3f5ea2484f3fca15eab1f4d1a218p+12),
+   -L(0x1.78d18aac156d1d93a2ffe7e08d3fp+16),
+    L(0x2.9df49ca75e5b567f5ea3e47106cp+16),
+   -L(0x4.a7149af8961a08aa7c3233b5bb94p+16),
+    L(0x8.3db10ffa742c707c25197d989798p+16),
+   -L(0xe.a26d6dd023cadd02041a049ec368p+16),
+    L(0x1.c825d90514e7c57c7fa5316f947cp+20),
+   -L(0x3.34bb81e5a0952df8ca1abdc6684cp+20),
     /* Interval [-2.625, -2.5] (polynomial degree 28).  */
-    -0x3.d10108c27ebafad533c20eac32bp-4L,
-    0x1.cd557caff7d2b2085f41dbec5106p+0L,
-    0x3.819b4856d399520dad9776ea2cacp+0L,
-    0x6.8505cbad03dc34c5e42e8b12eb78p+0L,
-    0xb.c1b2e653a9e38f82b399c94e7f08p+0L,
-    0x1.50a53a38f148138105124df65419p+4L,
-    0x2.57ae00cbe5232cbeeed34d89727ap+4L,
-    0x4.2b156301b8604db85a601544bfp+4L,
-    0x7.6989ed23ca3ca7579b3462592b5cp+4L,
-    0xd.2dd2976557939517f831f5552cc8p+4L,
-    0x1.76e1c3430eb860969bce40cd494p+8L,
-    0x2.9a77bf5488742466db3a2c7c1ec6p+8L,
-    0x4.a0d62ed7266e8eb36f725a8ebcep+8L,
-    0x8.3a6184dd3021067df2f8b91e99c8p+8L,
-    0xe.a0ade1538245bf55d39d7e436b1p+8L,
-    0x1.a01359fae8617b5826dd74428e9p+12L,
-    0x2.e3b0a32caae77251169acaca1ad4p+12L,
-    0x5.2301257c81589f62b38fb5993ee8p+12L,
-    0x9.21c9275db253d4e719b73b18cb9p+12L,
-    0x1.03c104bc96141cda3f3fa4b112bcp+16L,
-    0x1.cdc8ed65119196a08b0c78f1445p+16L,
-    0x3.34f31d2eaacf34382cdb0073572ap+16L,
-    0x5.b37628cadf12bf0000907d0ef294p+16L,
-    0xa.22d8b332c0b1e6a616f425dfe5ap+16L,
-    0x1.205b01444804c3ff922cd78b4c42p+20L,
-    0x1.fe8f0cea9d1e0ff25be2470b4318p+20L,
-    0x3.8872aebeb368399aee02b39340aep+20L,
-    0x6.ebd560d351e84e26a4381f5b293cp+20L,
-    0xc.c3644d094b0dae2fbcbf682cd428p+20L,
+    -L(0x3.d10108c27ebafad533c20eac32bp-4),
+    L(0x1.cd557caff7d2b2085f41dbec5106p+0),
+    L(0x3.819b4856d399520dad9776ea2cacp+0),
+    L(0x6.8505cbad03dc34c5e42e8b12eb78p+0),
+    L(0xb.c1b2e653a9e38f82b399c94e7f08p+0),
+    L(0x1.50a53a38f148138105124df65419p+4),
+    L(0x2.57ae00cbe5232cbeeed34d89727ap+4),
+    L(0x4.2b156301b8604db85a601544bfp+4),
+    L(0x7.6989ed23ca3ca7579b3462592b5cp+4),
+    L(0xd.2dd2976557939517f831f5552cc8p+4),
+    L(0x1.76e1c3430eb860969bce40cd494p+8),
+    L(0x2.9a77bf5488742466db3a2c7c1ec6p+8),
+    L(0x4.a0d62ed7266e8eb36f725a8ebcep+8),
+    L(0x8.3a6184dd3021067df2f8b91e99c8p+8),
+    L(0xe.a0ade1538245bf55d39d7e436b1p+8),
+    L(0x1.a01359fae8617b5826dd74428e9p+12),
+    L(0x2.e3b0a32caae77251169acaca1ad4p+12),
+    L(0x5.2301257c81589f62b38fb5993ee8p+12),
+    L(0x9.21c9275db253d4e719b73b18cb9p+12),
+    L(0x1.03c104bc96141cda3f3fa4b112bcp+16),
+    L(0x1.cdc8ed65119196a08b0c78f1445p+16),
+    L(0x3.34f31d2eaacf34382cdb0073572ap+16),
+    L(0x5.b37628cadf12bf0000907d0ef294p+16),
+    L(0xa.22d8b332c0b1e6a616f425dfe5ap+16),
+    L(0x1.205b01444804c3ff922cd78b4c42p+20),
+    L(0x1.fe8f0cea9d1e0ff25be2470b4318p+20),
+    L(0x3.8872aebeb368399aee02b39340aep+20),
+    L(0x6.ebd560d351e84e26a4381f5b293cp+20),
+    L(0xc.c3644d094b0dae2fbcbf682cd428p+20),
     /* Interval [-2.75, -2.625] (polynomial degree 26).  */
-    -0x6.b5d252a56e8a75458a27ed1c2dd4p-4L,
-    0x1.28d60383da3ac721aed3c5794da9p+0L,
-    0x1.db6513ada8a66ea77d87d9a8827bp+0L,
-    0x2.e217118f9d348a27f7506a707e6ep+0L,
-    0x4.450112c5cbf725a0fb9802396c9p+0L,
-    0x6.4af99151eae7810a75df2a0303c4p+0L,
-    0x9.2db598b4a97a7f69aeef32aec758p+0L,
-    0xd.62bef9c22471f5ee47ea1b9c0b5p+0L,
-    0x1.379f294e412bd62328326d4222f9p+4L,
-    0x1.c5827349d8865f1e8825c37c31c6p+4L,
-    0x2.93a7e7a75b7568cc8cbe8c016c12p+4L,
-    0x3.bf9bb882afe57edb383d41879d3ap+4L,
-    0x5.73c737828cee095c43a5566731c8p+4L,
-    0x7.ee4653493a7f81e0442062b3823cp+4L,
-    0xb.891c6b83fc8b55bd973b5d962d6p+4L,
-    0x1.0c775d7de3bf9b246c0208e0207ep+8L,
-    0x1.867ee43ec4bd4f4fd56abc05110ap+8L,
-    0x2.37fe9ba6695821e9822d8c8af0a6p+8L,
-    0x3.3a2c667e37c942f182cd3223a936p+8L,
-    0x4.b1b500eb59f3f782c7ccec88754p+8L,
-    0x6.d3efd3b65b3d0d8488d30b79fa4cp+8L,
-    0x9.ee8224e65bed5ced8b75eaec609p+8L,
-    0xe.72416e510cca77d53fc615c1f3dp+8L,
-    0x1.4fb538b0a2dfe567a8904b7e0445p+12L,
-    0x1.e7f56a9266cf525a5b8cf4cb76cep+12L,
-    0x2.f0365c983f68c597ee49d099cce8p+12L,
-    0x4.53aa229e1b9f5b5e59625265951p+12L,
+   -L(0x6.b5d252a56e8a75458a27ed1c2dd4p-4),
+    L(0x1.28d60383da3ac721aed3c5794da9p+0),
+    L(0x1.db6513ada8a66ea77d87d9a8827bp+0),
+    L(0x2.e217118f9d348a27f7506a707e6ep+0),
+    L(0x4.450112c5cbf725a0fb9802396c9p+0),
+    L(0x6.4af99151eae7810a75df2a0303c4p+0),
+    L(0x9.2db598b4a97a7f69aeef32aec758p+0),
+    L(0xd.62bef9c22471f5ee47ea1b9c0b5p+0),
+    L(0x1.379f294e412bd62328326d4222f9p+4),
+    L(0x1.c5827349d8865f1e8825c37c31c6p+4),
+    L(0x2.93a7e7a75b7568cc8cbe8c016c12p+4),
+    L(0x3.bf9bb882afe57edb383d41879d3ap+4),
+    L(0x5.73c737828cee095c43a5566731c8p+4),
+    L(0x7.ee4653493a7f81e0442062b3823cp+4),
+    L(0xb.891c6b83fc8b55bd973b5d962d6p+4),
+    L(0x1.0c775d7de3bf9b246c0208e0207ep+8),
+    L(0x1.867ee43ec4bd4f4fd56abc05110ap+8),
+    L(0x2.37fe9ba6695821e9822d8c8af0a6p+8),
+    L(0x3.3a2c667e37c942f182cd3223a936p+8),
+    L(0x4.b1b500eb59f3f782c7ccec88754p+8),
+    L(0x6.d3efd3b65b3d0d8488d30b79fa4cp+8),
+    L(0x9.ee8224e65bed5ced8b75eaec609p+8),
+    L(0xe.72416e510cca77d53fc615c1f3dp+8),
+    L(0x1.4fb538b0a2dfe567a8904b7e0445p+12),
+    L(0x1.e7f56a9266cf525a5b8cf4cb76cep+12),
+    L(0x2.f0365c983f68c597ee49d099cce8p+12),
+    L(0x4.53aa229e1b9f5b5e59625265951p+12),
     /* Interval [-2.875, -2.75] (polynomial degree 24).  */
-    -0x8.a41b1e4f36ff88dc820815607d68p-4L,
-    0xc.da87d3b69dc0f2f9c6f368b8ca1p-4L,
-    0x1.1474ad5c36158a7bea04fd2f98c6p+0L,
-    0x1.761ecb90c555df6555b7dba955b6p+0L,
-    0x1.d279bff9ae291caf6c4b4bcb3202p+0L,
-    0x2.4e5d00559a6e2b9b5d7fe1f6689cp+0L,
-    0x2.d57545a75cee8743ae2b17bc8d24p+0L,
-    0x3.8514eee3aac88b89bec2307021bap+0L,
-    0x4.5235e3b6e1891ffeb87fed9f8a24p+0L,
-    0x5.562acdb10eef3c9a773b3e27a864p+0L,
-    0x6.8ec8965c76efe03c26bff60b1194p+0L,
-    0x8.15251aca144877af32658399f9b8p+0L,
-    0x9.f08d56aba174d844138af782c0f8p+0L,
-    0xc.3dbbeda2679e8a1346ccc3f6da88p+0L,
-    0xf.0f5bfd5eacc26db308ffa0556fa8p+0L,
-    0x1.28a6ccd84476fbc713d6bab49ac9p+4L,
-    0x1.6d0a3ae2a3b1c8ff400641a3a21fp+4L,
-    0x1.c15701b28637f87acfb6a91d33b5p+4L,
-    0x2.28fbe0eccf472089b017651ca55ep+4L,
-    0x2.a8a453004f6e8ffaacd1603bc3dp+4L,
-    0x3.45ae4d9e1e7cd1a5dba0e4ec7f6cp+4L,
-    0x4.065fbfacb7fad3e473cb577a61e8p+4L,
-    0x4.f3d1473020927acac1944734a39p+4L,
-    0x6.54bb091245815a36fb74e314dd18p+4L,
-    0x7.d7f445129f7fb6c055e582d3f6ep+4L,
+   -L(0x8.a41b1e4f36ff88dc820815607d68p-4),
+    L(0xc.da87d3b69dc0f2f9c6f368b8ca1p-4),
+    L(0x1.1474ad5c36158a7bea04fd2f98c6p+0),
+    L(0x1.761ecb90c555df6555b7dba955b6p+0),
+    L(0x1.d279bff9ae291caf6c4b4bcb3202p+0),
+    L(0x2.4e5d00559a6e2b9b5d7fe1f6689cp+0),
+    L(0x2.d57545a75cee8743ae2b17bc8d24p+0),
+    L(0x3.8514eee3aac88b89bec2307021bap+0),
+    L(0x4.5235e3b6e1891ffeb87fed9f8a24p+0),
+    L(0x5.562acdb10eef3c9a773b3e27a864p+0),
+    L(0x6.8ec8965c76efe03c26bff60b1194p+0),
+    L(0x8.15251aca144877af32658399f9b8p+0),
+    L(0x9.f08d56aba174d844138af782c0f8p+0),
+    L(0xc.3dbbeda2679e8a1346ccc3f6da88p+0),
+    L(0xf.0f5bfd5eacc26db308ffa0556fa8p+0),
+    L(0x1.28a6ccd84476fbc713d6bab49ac9p+4),
+    L(0x1.6d0a3ae2a3b1c8ff400641a3a21fp+4),
+    L(0x1.c15701b28637f87acfb6a91d33b5p+4),
+    L(0x2.28fbe0eccf472089b017651ca55ep+4),
+    L(0x2.a8a453004f6e8ffaacd1603bc3dp+4),
+    L(0x3.45ae4d9e1e7cd1a5dba0e4ec7f6cp+4),
+    L(0x4.065fbfacb7fad3e473cb577a61e8p+4),
+    L(0x4.f3d1473020927acac1944734a39p+4),
+    L(0x6.54bb091245815a36fb74e314dd18p+4),
+    L(0x7.d7f445129f7fb6c055e582d3f6ep+4),
     /* Interval [-3, -2.875] (polynomial degree 23).  */
-    -0xa.046d667e468f3e44dcae1afcc648p-4L,
-    0x9.70b88dcc006c214d8d996fdf5ccp-4L,
-    0xa.a8a39421c86d3ff24931a0929fp-4L,
-    0xd.2f4d1363f324da2b357c8b6ec94p-4L,
-    0xd.ca9aa1a3a5c00de11bf60499a97p-4L,
-    0xf.cf09c31eeb52a45dfa7ebe3778dp-4L,
-    0x1.04b133a39ed8a09691205660468bp+0L,
-    0x1.22b547a06edda944fcb12fd9b5ecp+0L,
-    0x1.2c57fce7db86a91df09602d344b3p+0L,
-    0x1.4aade4894708f84795212fe257eep+0L,
-    0x1.579c8b7b67ec4afed5b28c8bf787p+0L,
-    0x1.776820e7fc80ae5284239733078ap+0L,
-    0x1.883ab28c7301fde4ca6b8ec26ec8p+0L,
-    0x1.aa2ef6e1ae52eb42c9ee83b206e3p+0L,
-    0x1.bf4ad50f0a9a9311300cf0c51ee7p+0L,
-    0x1.e40206e0e96b1da463814dde0d09p+0L,
-    0x1.fdcbcffef3a21b29719c2bd9feb1p+0L,
-    0x2.25e2e8948939c4d42cf108fae4bep+0L,
-    0x2.44ce14d2b59c1c0e6bf2cfa81018p+0L,
-    0x2.70ee80bbd0387162be4861c43622p+0L,
-    0x2.954b64d2c2ebf3489b949c74476p+0L,
-    0x2.c616e133a811c1c9446105208656p+0L,
-    0x3.05a69dfe1a9ba1079f90fcf26bd4p+0L,
-    0x3.410d2ad16a0506de29736e6aafdap+0L,
+   -L(0xa.046d667e468f3e44dcae1afcc648p-4),
+    L(0x9.70b88dcc006c214d8d996fdf5ccp-4),
+    L(0xa.a8a39421c86d3ff24931a0929fp-4),
+    L(0xd.2f4d1363f324da2b357c8b6ec94p-4),
+    L(0xd.ca9aa1a3a5c00de11bf60499a97p-4),
+    L(0xf.cf09c31eeb52a45dfa7ebe3778dp-4),
+    L(0x1.04b133a39ed8a09691205660468bp+0),
+    L(0x1.22b547a06edda944fcb12fd9b5ecp+0),
+    L(0x1.2c57fce7db86a91df09602d344b3p+0),
+    L(0x1.4aade4894708f84795212fe257eep+0),
+    L(0x1.579c8b7b67ec4afed5b28c8bf787p+0),
+    L(0x1.776820e7fc80ae5284239733078ap+0),
+    L(0x1.883ab28c7301fde4ca6b8ec26ec8p+0),
+    L(0x1.aa2ef6e1ae52eb42c9ee83b206e3p+0),
+    L(0x1.bf4ad50f0a9a9311300cf0c51ee7p+0),
+    L(0x1.e40206e0e96b1da463814dde0d09p+0),
+    L(0x1.fdcbcffef3a21b29719c2bd9feb1p+0),
+    L(0x2.25e2e8948939c4d42cf108fae4bep+0),
+    L(0x2.44ce14d2b59c1c0e6bf2cfa81018p+0),
+    L(0x2.70ee80bbd0387162be4861c43622p+0),
+    L(0x2.954b64d2c2ebf3489b949c74476p+0),
+    L(0x2.c616e133a811c1c9446105208656p+0),
+    L(0x3.05a69dfe1a9ba1079f90fcf26bd4p+0),
+    L(0x3.410d2ad16a0506de29736e6aafdap+0),
   };
 
 static const size_t poly_deg[] =
@@ -415,10 +415,10 @@ static const size_t poly_end[] =
 static ldouble_t
 lg_sinpi (ldouble_t x)
 {
-  if (x <= 0.25L)
+  if (x <= L(0.25))
     return __sinl (M_PIl * x);
   else
-    return __cosl (M_PIl * (0.5L - x));
+    return __cosl (M_PIl * (L(0.5) - x));
 }
 
 /* Compute cos (pi * X) for -0.25 <= X <= 0.5.  */
@@ -426,10 +426,10 @@ lg_sinpi (ldouble_t x)
 static ldouble_t
 lg_cospi (ldouble_t x)
 {
-  if (x <= 0.25L)
+  if (x <= L(0.25))
     return __cosl (M_PIl * x);
   else
-    return __sinl (M_PIl * (0.5L - x));
+    return __sinl (M_PIl * (L(0.5) - x));
 }
 
 /* Compute cot (pi * X) for -0.25 <= X <= 0.5.  */
@@ -450,7 +450,7 @@ __lgamma_negl (ldouble_t x, int *signgamp)
      integers and determine the sign of the result.  */
   int i = __floorl (-2 * x);
   if ((i & 1) == 0 && i == -2 * x)
-    return 1.0L / 0.0L;
+    return L(1.0) / L(0.0);
   ldouble_t xn = ((i & 1) == 0 ? -i / 2 : (-i - 1) / 2);
   i -= 4;
   *signgamp = ((i & 2) == 0 ? -1 : 1);
@@ -466,7 +466,7 @@ __lgamma_negl (ldouble_t x, int *signgamp)
   if (i < 2)
     {
       int j = __floorl (-8 * x) - 16;
-      ldouble_t xm = (-33 - 2 * j) * 0.0625L;
+      ldouble_t xm = (-33 - 2 * j) * L(0.0625);
       ldouble_t x_adj = x - xm;
       size_t deg = poly_deg[j];
       size_t end = poly_end[j];
@@ -480,7 +480,7 @@ __lgamma_negl (ldouble_t x, int *signgamp)
      + log (gamma (1 - X0) / gamma (1 - X)).  */
   ldouble_t x_idiff = fabsl (xn - x), x0_idiff = fabsl (xn - x0_hi - x0_lo);
   ldouble_t log_sinpi_ratio;
-  if (x0_idiff < x_idiff * 0.5L)
+  if (x0_idiff < x_idiff * L(0.5))
     /* Use log not log1p to avoid inaccuracy from log1p of arguments
        close to -1.  */
     log_sinpi_ratio = __ieee754_logl (lg_sinpi (x0_idiff)
@@ -490,7 +490,7 @@ __lgamma_negl (ldouble_t x, int *signgamp)
       /* Use log1p not log to avoid inaccuracy from log of arguments
 	 close to 1.  X0DIFF2 has positive sign if X0 is further from
 	 XN than X is from XN, negative sign otherwise.  */
-      ldouble_t x0diff2 = ((i & 1) == 0 ? xdiff : -xdiff) * 0.5L;
+      ldouble_t x0diff2 = ((i & 1) == 0 ? xdiff : -xdiff) * L(0.5);
       ldouble_t sx0d2 = lg_sinpi (x0diff2);
       ldouble_t cx0d2 = lg_cospi (x0diff2);
       log_sinpi_ratio = __log1pl (2 * sx0d2
@@ -526,7 +526,7 @@ __lgamma_negl (ldouble_t x, int *signgamp)
     }
   ldouble_t log_gamma_high
     = (xdiff * __log1pl ((y0 - e_hi - e_lo + y0_eps) / e_hi)
-       + (y - 0.5L + y_eps) * __log1pl (xdiff / y) + log_gamma_adj);
+       + (y - L(0.5) + y_eps) * __log1pl (xdiff / y) + log_gamma_adj);
   /* Compute the sum of (B_2k / 2k(2k-1))(Y0^-(2k-1) - Y^-(2k-1)).  */
   ldouble_t y0r = 1 / y0, yr = 1 / y;
   ldouble_t y0r2 = y0r * y0r, yr2 = yr * yr;
diff --git a/sysdeps/ieee754/ldbl-128/s_asinhl.c b/sysdeps/ieee754/ldbl-128/s_asinhl.c
index 91e29d0..708ab80 100644
--- a/sysdeps/ieee754/ldbl-128/s_asinhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_asinhl.c
@@ -34,9 +34,9 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 
 static const ldouble_t
-  one = 1.0L,
-  ln2 = 6.931471805599453094172321214581765681e-1L,
-  huge = 1.0e+4900L;
+  one = 1,
+  ln2 = L(6.931471805599453094172321214581765681e-1),
+  huge = L(1.0e+4900);
 
 ldouble_t
 __asinhl (ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/s_atanl.c b/sysdeps/ieee754/ldbl-128/s_atanl.c
index 747031e..4b7c841 100644
--- a/sysdeps/ieee754/ldbl-128/s_atanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_atanl.c
@@ -65,90 +65,90 @@
 
 /* arctan(k/8), k = 0, ..., 82 */
 static const ldouble_t atantbl[84] = {
-  0.0000000000000000000000000000000000000000E0L,
-  1.2435499454676143503135484916387102557317E-1L, /* arctan(0.125)  */
-  2.4497866312686415417208248121127581091414E-1L,
-  3.5877067027057222039592006392646049977698E-1L,
-  4.6364760900080611621425623146121440202854E-1L,
-  5.5859931534356243597150821640166127034645E-1L,
-  6.4350110879328438680280922871732263804151E-1L,
-  7.1882999962162450541701415152590465395142E-1L,
-  7.8539816339744830961566084581987572104929E-1L,
-  8.4415398611317100251784414827164750652594E-1L,
-  8.9605538457134395617480071802993782702458E-1L,
-  9.4200004037946366473793717053459358607166E-1L,
-  9.8279372324732906798571061101466601449688E-1L,
-  1.0191413442663497346383429170230636487744E0L,
-  1.0516502125483736674598673120862998296302E0L,
-  1.0808390005411683108871567292171998202703E0L,
-  1.1071487177940905030170654601785370400700E0L,
-  1.1309537439791604464709335155363278047493E0L,
-  1.1525719972156675180401498626127513797495E0L,
-  1.1722738811284763866005949441337046149712E0L,
-  1.1902899496825317329277337748293183376012E0L,
-  1.2068173702852525303955115800565576303133E0L,
-  1.2220253232109896370417417439225704908830E0L,
-  1.2360594894780819419094519711090786987027E0L,
-  1.2490457723982544258299170772810901230778E0L,
-  1.2610933822524404193139408812473357720101E0L,
-  1.2722973952087173412961937498224804940684E0L,
-  1.2827408797442707473628852511364955306249E0L,
-  1.2924966677897852679030914214070816845853E0L,
-  1.3016288340091961438047858503666855921414E0L,
-  1.3101939350475556342564376891719053122733E0L,
-  1.3182420510168370498593302023271362531155E0L,
-  1.3258176636680324650592392104284756311844E0L,
-  1.3329603993374458675538498697331558093700E0L,
-  1.3397056595989995393283037525895557411039E0L,
-  1.3460851583802539310489409282517796256512E0L,
-  1.3521273809209546571891479413898128509842E0L,
-  1.3578579772154994751124898859640585287459E0L,
-  1.3633001003596939542892985278250991189943E0L,
-  1.3684746984165928776366381936948529556191E0L,
-  1.3734007669450158608612719264449611486510E0L,
-  1.3780955681325110444536609641291551522494E0L,
-  1.3825748214901258580599674177685685125566E0L,
-  1.3868528702577214543289381097042486034883E0L,
-  1.3909428270024183486427686943836432060856E0L,
-  1.3948567013423687823948122092044222644895E0L,
-  1.3986055122719575950126700816114282335732E0L,
-  1.4021993871854670105330304794336492676944E0L,
-  1.4056476493802697809521934019958079881002E0L,
-  1.4089588955564736949699075250792569287156E0L,
-  1.4121410646084952153676136718584891599630E0L,
-  1.4152014988178669079462550975833894394929E0L,
-  1.4181469983996314594038603039700989523716E0L,
-  1.4209838702219992566633046424614466661176E0L,
-  1.4237179714064941189018190466107297503086E0L,
-  1.4263547484202526397918060597281265695725E0L,
-  1.4288992721907326964184700745371983590908E0L,
-  1.4313562697035588982240194668401779312122E0L,
-  1.4337301524847089866404719096698873648610E0L,
-  1.4360250423171655234964275337155008780675E0L,
-  1.4382447944982225979614042479354815855386E0L,
-  1.4403930189057632173997301031392126865694E0L,
-  1.4424730991091018200252920599377292525125E0L,
-  1.4444882097316563655148453598508037025938E0L,
-  1.4464413322481351841999668424758804165254E0L,
-  1.4483352693775551917970437843145232637695E0L,
-  1.4501726582147939000905940595923466567576E0L,
-  1.4519559822271314199339700039142990228105E0L,
-  1.4536875822280323362423034480994649820285E0L,
-  1.4553696664279718992423082296859928222270E0L,
-  1.4570043196511885530074841089245667532358E0L,
-  1.4585935117976422128825857356750737658039E0L,
-  1.4601391056210009726721818194296893361233E0L,
-  1.4616428638860188872060496086383008594310E0L,
-  1.4631064559620759326975975316301202111560E0L,
-  1.4645314639038178118428450961503371619177E0L,
-  1.4659193880646627234129855241049975398470E0L,
-  1.4672716522843522691530527207287398276197E0L,
-  1.4685896086876430842559640450619880951144E0L,
-  1.4698745421276027686510391411132998919794E0L,
-  1.4711276743037345918528755717617308518553E0L,
-  1.4723501675822635384916444186631899205983E0L,
-  1.4735431285433308455179928682541563973416E0L, /* arctan(10.25) */
-  1.5707963267948966192313216916397514420986E0L  /* pi/2 */
+  L(0.0000000000000000000000000000000000000000E0),
+  L(1.2435499454676143503135484916387102557317E-1), /* arctan(0.125)  */
+  L(2.4497866312686415417208248121127581091414E-1),
+  L(3.5877067027057222039592006392646049977698E-1),
+  L(4.6364760900080611621425623146121440202854E-1),
+  L(5.5859931534356243597150821640166127034645E-1),
+  L(6.4350110879328438680280922871732263804151E-1),
+  L(7.1882999962162450541701415152590465395142E-1),
+  L(7.8539816339744830961566084581987572104929E-1),
+  L(8.4415398611317100251784414827164750652594E-1),
+  L(8.9605538457134395617480071802993782702458E-1),
+  L(9.4200004037946366473793717053459358607166E-1),
+  L(9.8279372324732906798571061101466601449688E-1),
+  L(1.0191413442663497346383429170230636487744E0),
+  L(1.0516502125483736674598673120862998296302E0),
+  L(1.0808390005411683108871567292171998202703E0),
+  L(1.1071487177940905030170654601785370400700E0),
+  L(1.1309537439791604464709335155363278047493E0),
+  L(1.1525719972156675180401498626127513797495E0),
+  L(1.1722738811284763866005949441337046149712E0),
+  L(1.1902899496825317329277337748293183376012E0),
+  L(1.2068173702852525303955115800565576303133E0),
+  L(1.2220253232109896370417417439225704908830E0),
+  L(1.2360594894780819419094519711090786987027E0),
+  L(1.2490457723982544258299170772810901230778E0),
+  L(1.2610933822524404193139408812473357720101E0),
+  L(1.2722973952087173412961937498224804940684E0),
+  L(1.2827408797442707473628852511364955306249E0),
+  L(1.2924966677897852679030914214070816845853E0),
+  L(1.3016288340091961438047858503666855921414E0),
+  L(1.3101939350475556342564376891719053122733E0),
+  L(1.3182420510168370498593302023271362531155E0),
+  L(1.3258176636680324650592392104284756311844E0),
+  L(1.3329603993374458675538498697331558093700E0),
+  L(1.3397056595989995393283037525895557411039E0),
+  L(1.3460851583802539310489409282517796256512E0),
+  L(1.3521273809209546571891479413898128509842E0),
+  L(1.3578579772154994751124898859640585287459E0),
+  L(1.3633001003596939542892985278250991189943E0),
+  L(1.3684746984165928776366381936948529556191E0),
+  L(1.3734007669450158608612719264449611486510E0),
+  L(1.3780955681325110444536609641291551522494E0),
+  L(1.3825748214901258580599674177685685125566E0),
+  L(1.3868528702577214543289381097042486034883E0),
+  L(1.3909428270024183486427686943836432060856E0),
+  L(1.3948567013423687823948122092044222644895E0),
+  L(1.3986055122719575950126700816114282335732E0),
+  L(1.4021993871854670105330304794336492676944E0),
+  L(1.4056476493802697809521934019958079881002E0),
+  L(1.4089588955564736949699075250792569287156E0),
+  L(1.4121410646084952153676136718584891599630E0),
+  L(1.4152014988178669079462550975833894394929E0),
+  L(1.4181469983996314594038603039700989523716E0),
+  L(1.4209838702219992566633046424614466661176E0),
+  L(1.4237179714064941189018190466107297503086E0),
+  L(1.4263547484202526397918060597281265695725E0),
+  L(1.4288992721907326964184700745371983590908E0),
+  L(1.4313562697035588982240194668401779312122E0),
+  L(1.4337301524847089866404719096698873648610E0),
+  L(1.4360250423171655234964275337155008780675E0),
+  L(1.4382447944982225979614042479354815855386E0),
+  L(1.4403930189057632173997301031392126865694E0),
+  L(1.4424730991091018200252920599377292525125E0),
+  L(1.4444882097316563655148453598508037025938E0),
+  L(1.4464413322481351841999668424758804165254E0),
+  L(1.4483352693775551917970437843145232637695E0),
+  L(1.4501726582147939000905940595923466567576E0),
+  L(1.4519559822271314199339700039142990228105E0),
+  L(1.4536875822280323362423034480994649820285E0),
+  L(1.4553696664279718992423082296859928222270E0),
+  L(1.4570043196511885530074841089245667532358E0),
+  L(1.4585935117976422128825857356750737658039E0),
+  L(1.4601391056210009726721818194296893361233E0),
+  L(1.4616428638860188872060496086383008594310E0),
+  L(1.4631064559620759326975975316301202111560E0),
+  L(1.4645314639038178118428450961503371619177E0),
+  L(1.4659193880646627234129855241049975398470E0),
+  L(1.4672716522843522691530527207287398276197E0),
+  L(1.4685896086876430842559640450619880951144E0),
+  L(1.4698745421276027686510391411132998919794E0),
+  L(1.4711276743037345918528755717617308518553E0),
+  L(1.4723501675822635384916444186631899205983E0),
+  L(1.4735431285433308455179928682541563973416E0), /* arctan(10.25) */
+  L(1.5707963267948966192313216916397514420986E0)  /* pi/2 */
 };
 
 
@@ -157,19 +157,19 @@ static const ldouble_t atantbl[84] = {
    peak relative error 5.3e-37 */
 
 static const ldouble_t
-  p0 = -4.283708356338736809269381409828726405572E1L,
-  p1 = -8.636132499244548540964557273544599863825E1L,
-  p2 = -5.713554848244551350855604111031839613216E1L,
-  p3 = -1.371405711877433266573835355036413750118E1L,
-  p4 = -8.638214309119210906997318946650189640184E-1L,
-  q0 = 1.285112506901621042780814422948906537959E2L,
-  q1 = 3.361907253914337187957855834229672347089E2L,
-  q2 = 3.180448303864130128268191635189365331680E2L,
-  q3 = 1.307244136980865800160844625025280344686E2L,
-  q4 = 2.173623741810414221251136181221172551416E1L;
+  p0 = -L(4.283708356338736809269381409828726405572E1),
+  p1 = -L(8.636132499244548540964557273544599863825E1),
+  p2 = -L(5.713554848244551350855604111031839613216E1),
+  p3 = -L(1.371405711877433266573835355036413750118E1),
+  p4 = -L(8.638214309119210906997318946650189640184E-1),
+  q0 =  L(1.285112506901621042780814422948906537959E2),
+  q1 =  L(3.361907253914337187957855834229672347089E2),
+  q2 =  L(3.180448303864130128268191635189365331680E2),
+  q3 =  L(1.307244136980865800160844625025280344686E2),
+  q4 =  L(2.173623741810414221251136181221172551416E1);
   /* q5 = 1.000000000000000000000000000000000000000E0 */
 
-static const ldouble_t huge = 1.0e4930L;
+static const ldouble_t huge = L(1.0e4930);
 
 ldouble_t
 __atanl (ldouble_t x)
@@ -231,7 +231,7 @@ __atanl (ldouble_t x)
 	 Roundoff to integer is asymmetrical to avoid cancellation when t < 0
          (cf. fdlibm). */
       k = 8.0 * x + 0.25;
-      u = 0.125L * k;
+      u = L(0.125) * k;
       /* Small arctan argument.  */
       t = (x - u) / (1.0 + x * u);
     }
diff --git a/sysdeps/ieee754/ldbl-128/s_cbrtl.c b/sysdeps/ieee754/ldbl-128/s_cbrtl.c
index b876c6e..90aea9e 100644
--- a/sysdeps/ieee754/ldbl-128/s_cbrtl.c
+++ b/sysdeps/ieee754/ldbl-128/s_cbrtl.c
@@ -57,10 +57,10 @@ Adapted for glibc October, 2001.
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t CBRT2 = 1.259921049894873164767210607278228350570251L;
-static const ldouble_t CBRT4 = 1.587401051968199474751705639272308260391493L;
-static const ldouble_t CBRT2I = 0.7937005259840997373758528196361541301957467L;
-static const ldouble_t CBRT4I = 0.6299605249474365823836053036391141752851257L;
+static const ldouble_t CBRT2 = L(1.259921049894873164767210607278228350570251);
+static const ldouble_t CBRT4 = L(1.587401051968199474751705639272308260391493);
+static const ldouble_t CBRT2I = L(0.7937005259840997373758528196361541301957467);
+static const ldouble_t CBRT4I = L(0.6299605249474365823836053036391141752851257);
 
 
 ldouble_t
@@ -89,11 +89,11 @@ __cbrtl (ldouble_t x)
 
   /* Approximate cube root of number between .5 and 1,
      peak relative error = 1.2e-6  */
-  x = ((((1.3584464340920900529734e-1L * x
-	  - 6.3986917220457538402318e-1L) * x
-	 + 1.2875551670318751538055e0L) * x
-	- 1.4897083391357284957891e0L) * x
-       + 1.3304961236013647092521e0L) * x + 3.7568280825958912391243e-1L;
+  x = ((((L(1.3584464340920900529734e-1) * x
+	  - L(6.3986917220457538402318e-1)) * x
+	 + L(1.2875551670318751538055e0)) * x
+	- L(1.4897083391357284957891e0)) * x
+       + L(1.3304961236013647092521e0)) * x + L(3.7568280825958912391243e-1);
 
   /* exponent divided by 3 */
   if (e >= 0)
@@ -123,9 +123,9 @@ __cbrtl (ldouble_t x)
   x = __ldexpl (x, e);
 
   /* Newton iteration */
-  x -= (x - (z / (x * x))) * 0.3333333333333333333333333333333333333333L;
-  x -= (x - (z / (x * x))) * 0.3333333333333333333333333333333333333333L;
-  x -= (x - (z / (x * x))) * 0.3333333333333333333333333333333333333333L;
+  x -= (x - (z / (x * x))) * L(0.3333333333333333333333333333333333333333);
+  x -= (x - (z / (x * x))) * L(0.3333333333333333333333333333333333333333);
+  x -= (x - (z / (x * x))) * L(0.3333333333333333333333333333333333333333);
 
   if (sign < 0)
     x = -x;
diff --git a/sysdeps/ieee754/ldbl-128/s_cosl.c b/sysdeps/ieee754/ldbl-128/s_cosl.c
index b3a96c1..efd0bab 100644
--- a/sysdeps/ieee754/ldbl-128/s_cosl.c
+++ b/sysdeps/ieee754/ldbl-128/s_cosl.c
@@ -50,7 +50,7 @@
 
 ldouble_t __cosl(ldouble_t x)
 {
-	ldouble_t y[2],z=0.0L;
+	ldouble_t y[2],z=0;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/s_erfl.c b/sysdeps/ieee754/ldbl-128/s_erfl.c
index 26e9cda..7b43ce5 100644
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
@@ -139,11 +139,11 @@ deval (ldouble_t x, const ldouble_t *p, int n)
 
 
 static const ldouble_t
-tiny = 1e-4931L,
-  one = 1.0L,
-  two = 2.0L,
+  tiny = L(1e-4931),
+  one = 1,
+  two = 2,
   /* 2/sqrt(pi) - 1 */
-  efx = 1.2837916709551257389615890312154517168810E-1L;
+  efx = L(1.2837916709551257389615890312154517168810E-1);
 
 
 /* erf(x)  = x  + x R(x^2)
@@ -152,28 +152,28 @@ tiny = 1e-4931L,
 #define NTN1 8
 static const ldouble_t TN1[NTN1 + 1] =
 {
- -3.858252324254637124543172907442106422373E10L,
-  9.580319248590464682316366876952214879858E10L,
-  1.302170519734879977595901236693040544854E10L,
-  2.922956950426397417800321486727032845006E9L,
-  1.764317520783319397868923218385468729799E8L,
-  1.573436014601118630105796794840834145120E7L,
-  4.028077380105721388745632295157816229289E5L,
-  1.644056806467289066852135096352853491530E4L,
-  3.390868480059991640235675479463287886081E1L
+ -L(3.858252324254637124543172907442106422373E10),
+  L(9.580319248590464682316366876952214879858E10),
+  L(1.302170519734879977595901236693040544854E10),
+  L(2.922956950426397417800321486727032845006E9),
+  L(1.764317520783319397868923218385468729799E8),
+  L(1.573436014601118630105796794840834145120E7),
+  L(4.028077380105721388745632295157816229289E5),
+  L(1.644056806467289066852135096352853491530E4),
+  L(3.390868480059991640235675479463287886081E1)
 };
 #define NTD1 8
 static const ldouble_t TD1[NTD1 + 1] =
 {
-  -3.005357030696532927149885530689529032152E11L,
-  -1.342602283126282827411658673839982164042E11L,
-  -2.777153893355340961288511024443668743399E10L,
-  -3.483826391033531996955620074072768276974E9L,
-  -2.906321047071299585682722511260895227921E8L,
-  -1.653347985722154162439387878512427542691E7L,
-  -6.245520581562848778466500301865173123136E5L,
-  -1.402124304177498828590239373389110545142E4L,
-  -1.209368072473510674493129989468348633579E2L
+  -L(3.005357030696532927149885530689529032152E11),
+  -L(1.342602283126282827411658673839982164042E11),
+  -L(2.777153893355340961288511024443668743399E10),
+  -L(3.483826391033531996955620074072768276974E9),
+  -L(2.906321047071299585682722511260895227921E8),
+  -L(1.653347985722154162439387878512427542691E7),
+  -L(6.245520581562848778466500301865173123136E5),
+  -L(1.402124304177498828590239373389110545142E4),
+  -L(1.209368072473510674493129989468348633579E2)
 /* 1.0E0 */
 };
 
@@ -181,32 +181,32 @@ static const ldouble_t TD1[NTD1 + 1] =
 /* erf(z+1)  = erf_const + P(z)/Q(z)
    -.125 <= z <= 0
    Peak relative error 7.3e-36  */
-static const ldouble_t erf_const = 0.845062911510467529296875L;
+static const ldouble_t erf_const = L(0.845062911510467529296875);
 #define NTN2 8
 static const ldouble_t TN2[NTN2 + 1] =
 {
- -4.088889697077485301010486931817357000235E1L,
-  7.157046430681808553842307502826960051036E3L,
- -2.191561912574409865550015485451373731780E3L,
-  2.180174916555316874988981177654057337219E3L,
-  2.848578658049670668231333682379720943455E2L,
-  1.630362490952512836762810462174798925274E2L,
-  6.317712353961866974143739396865293596895E0L,
-  2.450441034183492434655586496522857578066E1L,
-  5.127662277706787664956025545897050896203E-1L
+ -L(4.088889697077485301010486931817357000235E1),
+  L(7.157046430681808553842307502826960051036E3),
+ -L(2.191561912574409865550015485451373731780E3),
+  L(2.180174916555316874988981177654057337219E3),
+  L(2.848578658049670668231333682379720943455E2),
+  L(1.630362490952512836762810462174798925274E2),
+  L(6.317712353961866974143739396865293596895E0),
+  L(2.450441034183492434655586496522857578066E1),
+  L(5.127662277706787664956025545897050896203E-1)
 };
 #define NTD2 8
 static const ldouble_t TD2[NTD2 + 1] =
 {
-  1.731026445926834008273768924015161048885E4L,
-  1.209682239007990370796112604286048173750E4L,
-  1.160950290217993641320602282462976163857E4L,
-  5.394294645127126577825507169061355698157E3L,
-  2.791239340533632669442158497532521776093E3L,
-  8.989365571337319032943005387378993827684E2L,
-  2.974016493766349409725385710897298069677E2L,
-  6.148192754590376378740261072533527271947E1L,
-  1.178502892490738445655468927408440847480E1L
+  L(1.731026445926834008273768924015161048885E4),
+  L(1.209682239007990370796112604286048173750E4),
+  L(1.160950290217993641320602282462976163857E4),
+  L(5.394294645127126577825507169061355698157E3),
+  L(2.791239340533632669442158497532521776093E3),
+  L(8.989365571337319032943005387378993827684E2),
+  L(2.974016493766349409725385710897298069677E2),
+  L(6.148192754590376378740261072533527271947E1),
+  L(1.178502892490738445655468927408440847480E1)
  /* 1.0E0 */
 };
 
@@ -217,32 +217,32 @@ static const ldouble_t TD2[NTD2 + 1] =
 #define NRNr13 8
 static const ldouble_t RNr13[NRNr13 + 1] =
 {
- -2.353707097641280550282633036456457014829E3L,
-  3.871159656228743599994116143079870279866E2L,
- -3.888105134258266192210485617504098426679E2L,
- -2.129998539120061668038806696199343094971E1L,
- -8.125462263594034672468446317145384108734E1L,
-  8.151549093983505810118308635926270319660E0L,
- -5.033362032729207310462422357772568553670E0L,
- -4.253956621135136090295893547735851168471E-2L,
- -8.098602878463854789780108161581050357814E-2L
+ -L(2.353707097641280550282633036456457014829E3),
+  L(3.871159656228743599994116143079870279866E2),
+ -L(3.888105134258266192210485617504098426679E2),
+ -L(2.129998539120061668038806696199343094971E1),
+ -L(8.125462263594034672468446317145384108734E1),
+  L(8.151549093983505810118308635926270319660E0),
+ -L(5.033362032729207310462422357772568553670E0),
+ -L(4.253956621135136090295893547735851168471E-2),
+ -L(8.098602878463854789780108161581050357814E-2)
 };
 #define NRDr13 7
 static const ldouble_t RDr13[NRDr13 + 1] =
 {
-  2.220448796306693503549505450626652881752E3L,
-  1.899133258779578688791041599040951431383E2L,
-  1.061906712284961110196427571557149268454E3L,
-  7.497086072306967965180978101974566760042E1L,
-  2.146796115662672795876463568170441327274E2L,
-  1.120156008362573736664338015952284925592E1L,
-  2.211014952075052616409845051695042741074E1L,
-  6.469655675326150785692908453094054988938E-1L
+  L(2.220448796306693503549505450626652881752E3),
+  L(1.899133258779578688791041599040951431383E2),
+  L(1.061906712284961110196427571557149268454E3),
+  L(7.497086072306967965180978101974566760042E1),
+  L(2.146796115662672795876463568170441327274E2),
+  L(1.120156008362573736664338015952284925592E1),
+  L(2.211014952075052616409845051695042741074E1),
+  L(6.469655675326150785692908453094054988938E-1)
  /* 1.0E0 */
 };
 /* erfc(0.25) = C13a + C13b to extra precision.  */
-static const ldouble_t C13a = 0.723663330078125L;
-static const ldouble_t C13b = 1.0279753638067014931732235184287934646022E-5L;
+static const ldouble_t C13a = L(0.723663330078125);
+static const ldouble_t C13b = L(1.0279753638067014931732235184287934646022E-5);
 
 
 /* erfc(x + 0.375) = erfc(0.375) + x R(x)
@@ -251,32 +251,32 @@ static const ldouble_t C13b = 1.0279753638067014931732235184287934646022E-5L;
 #define NRNr14 8
 static const ldouble_t RNr14[NRNr14 + 1] =
 {
- -2.446164016404426277577283038988918202456E3L,
-  6.718753324496563913392217011618096698140E2L,
- -4.581631138049836157425391886957389240794E2L,
- -2.382844088987092233033215402335026078208E1L,
- -7.119237852400600507927038680970936336458E1L,
-  1.313609646108420136332418282286454287146E1L,
- -6.188608702082264389155862490056401365834E0L,
- -2.787116601106678287277373011101132659279E-2L,
- -2.230395570574153963203348263549700967918E-2L
+ -L(2.446164016404426277577283038988918202456E3),
+  L(6.718753324496563913392217011618096698140E2),
+ -L(4.581631138049836157425391886957389240794E2),
+ -L(2.382844088987092233033215402335026078208E1),
+ -L(7.119237852400600507927038680970936336458E1),
+  L(1.313609646108420136332418282286454287146E1),
+ -L(6.188608702082264389155862490056401365834E0),
+ -L(2.787116601106678287277373011101132659279E-2),
+ -L(2.230395570574153963203348263549700967918E-2)
 };
 #define NRDr14 7
 static const ldouble_t RDr14[NRDr14 + 1] =
 {
-  2.495187439241869732696223349840963702875E3L,
-  2.503549449872925580011284635695738412162E2L,
-  1.159033560988895481698051531263861842461E3L,
-  9.493751466542304491261487998684383688622E1L,
-  2.276214929562354328261422263078480321204E2L,
-  1.367697521219069280358984081407807931847E1L,
-  2.276988395995528495055594829206582732682E1L,
-  7.647745753648996559837591812375456641163E-1L
+  L(2.495187439241869732696223349840963702875E3),
+  L(2.503549449872925580011284635695738412162E2),
+  L(1.159033560988895481698051531263861842461E3),
+  L(9.493751466542304491261487998684383688622E1),
+  L(2.276214929562354328261422263078480321204E2),
+  L(1.367697521219069280358984081407807931847E1),
+  L(2.276988395995528495055594829206582732682E1),
+  L(7.647745753648996559837591812375456641163E-1)
  /* 1.0E0 */
 };
 /* erfc(0.375) = C14a + C14b to extra precision.  */
-static const ldouble_t C14a = 0.5958709716796875L;
-static const ldouble_t C14b = 1.2118885490201676174914080878232469565953E-5L;
+static const ldouble_t C14a = L(0.5958709716796875);
+static const ldouble_t C14b = L(1.2118885490201676174914080878232469565953E-5);
 
 /* erfc(x + 0.5) = erfc(0.5) + x R(x)
    0 <= x < 0.125
@@ -284,32 +284,32 @@ static const ldouble_t C14b = 1.2118885490201676174914080878232469565953E-5L;
 #define NRNr15 8
 static const ldouble_t RNr15[NRNr15 + 1] =
 {
- -2.624212418011181487924855581955853461925E3L,
-  8.473828904647825181073831556439301342756E2L,
- -5.286207458628380765099405359607331669027E2L,
- -3.895781234155315729088407259045269652318E1L,
- -6.200857908065163618041240848728398496256E1L,
-  1.469324610346924001393137895116129204737E1L,
- -6.961356525370658572800674953305625578903E0L,
-  5.145724386641163809595512876629030548495E-3L,
-  1.990253655948179713415957791776180406812E-2L
+ -L(2.624212418011181487924855581955853461925E3),
+  L(8.473828904647825181073831556439301342756E2),
+ -L(5.286207458628380765099405359607331669027E2),
+ -L(3.895781234155315729088407259045269652318E1),
+ -L(6.200857908065163618041240848728398496256E1),
+  L(1.469324610346924001393137895116129204737E1),
+ -L(6.961356525370658572800674953305625578903E0),
+  L(5.145724386641163809595512876629030548495E-3),
+  L(1.990253655948179713415957791776180406812E-2)
 };
 #define NRDr15 7
 static const ldouble_t RDr15[NRDr15 + 1] =
 {
-  2.986190760847974943034021764693341524962E3L,
-  5.288262758961073066335410218650047725985E2L,
-  1.363649178071006978355113026427856008978E3L,
-  1.921707975649915894241864988942255320833E2L,
-  2.588651100651029023069013885900085533226E2L,
-  2.628752920321455606558942309396855629459E1L,
-  2.455649035885114308978333741080991380610E1L,
-  1.378826653595128464383127836412100939126E0L
+  L(2.986190760847974943034021764693341524962E3),
+  L(5.288262758961073066335410218650047725985E2),
+  L(1.363649178071006978355113026427856008978E3),
+  L(1.921707975649915894241864988942255320833E2),
+  L(2.588651100651029023069013885900085533226E2),
+  L(2.628752920321455606558942309396855629459E1),
+  L(2.455649035885114308978333741080991380610E1),
+  L(1.378826653595128464383127836412100939126E0)
   /* 1.0E0 */
 };
 /* erfc(0.5) = C15a + C15b to extra precision.  */
-static const ldouble_t C15a = 0.4794921875L;
-static const ldouble_t C15b = 7.9346869534623172533461080354712635484242E-6L;
+static const ldouble_t C15a = L(0.4794921875);
+static const ldouble_t C15b = L(7.9346869534623172533461080354712635484242E-6);
 
 /* erfc(x + 0.625) = erfc(0.625) + x R(x)
    0 <= x < 0.125
@@ -317,32 +317,32 @@ static const ldouble_t C15b = 7.9346869534623172533461080354712635484242E-6L;
 #define NRNr16 8
 static const ldouble_t RNr16[NRNr16 + 1] =
 {
- -2.347887943200680563784690094002722906820E3L,
-  8.008590660692105004780722726421020136482E2L,
- -5.257363310384119728760181252132311447963E2L,
- -4.471737717857801230450290232600243795637E1L,
- -4.849540386452573306708795324759300320304E1L,
-  1.140885264677134679275986782978655952843E1L,
- -6.731591085460269447926746876983786152300E0L,
-  1.370831653033047440345050025876085121231E-1L,
-  2.022958279982138755020825717073966576670E-2L,
+ -L(2.347887943200680563784690094002722906820E3),
+  L(8.008590660692105004780722726421020136482E2),
+ -L(5.257363310384119728760181252132311447963E2),
+ -L(4.471737717857801230450290232600243795637E1),
+ -L(4.849540386452573306708795324759300320304E1),
+  L(1.140885264677134679275986782978655952843E1),
+ -L(6.731591085460269447926746876983786152300E0),
+  L(1.370831653033047440345050025876085121231E-1),
+  L(2.022958279982138755020825717073966576670E-2),
 };
 #define NRDr16 7
 static const ldouble_t RDr16[NRDr16 + 1] =
 {
-  3.075166170024837215399323264868308087281E3L,
-  8.730468942160798031608053127270430036627E2L,
-  1.458472799166340479742581949088453244767E3L,
-  3.230423687568019709453130785873540386217E2L,
-  2.804009872719893612081109617983169474655E2L,
-  4.465334221323222943418085830026979293091E1L,
-  2.612723259683205928103787842214809134746E1L,
-  2.341526751185244109722204018543276124997E0L,
+  L(3.075166170024837215399323264868308087281E3),
+  L(8.730468942160798031608053127270430036627E2),
+  L(1.458472799166340479742581949088453244767E3),
+  L(3.230423687568019709453130785873540386217E2),
+  L(2.804009872719893612081109617983169474655E2),
+  L(4.465334221323222943418085830026979293091E1),
+  L(2.612723259683205928103787842214809134746E1),
+  L(2.341526751185244109722204018543276124997E0),
   /* 1.0E0 */
 };
 /* erfc(0.625) = C16a + C16b to extra precision.  */
-static const ldouble_t C16a = 0.3767547607421875L;
-static const ldouble_t C16b = 4.3570693945275513594941232097252997287766E-6L;
+static const ldouble_t C16a = L(0.3767547607421875);
+static const ldouble_t C16b = L(4.3570693945275513594941232097252997287766E-6);
 
 /* erfc(x + 0.75) = erfc(0.75) + x R(x)
    0 <= x < 0.125
@@ -350,32 +350,32 @@ static const ldouble_t C16b = 4.3570693945275513594941232097252997287766E-6L;
 #define NRNr17 8
 static const ldouble_t RNr17[NRNr17 + 1] =
 {
-  -1.767068734220277728233364375724380366826E3L,
-  6.693746645665242832426891888805363898707E2L,
-  -4.746224241837275958126060307406616817753E2L,
-  -2.274160637728782675145666064841883803196E1L,
-  -3.541232266140939050094370552538987982637E1L,
-  6.988950514747052676394491563585179503865E0L,
-  -5.807687216836540830881352383529281215100E0L,
-  3.631915988567346438830283503729569443642E-1L,
-  -1.488945487149634820537348176770282391202E-2L
+  -L(1.767068734220277728233364375724380366826E3),
+  L(6.693746645665242832426891888805363898707E2),
+  -L(4.746224241837275958126060307406616817753E2),
+  -L(2.274160637728782675145666064841883803196E1),
+  -L(3.541232266140939050094370552538987982637E1),
+  L(6.988950514747052676394491563585179503865E0),
+  -L(5.807687216836540830881352383529281215100E0),
+  L(3.631915988567346438830283503729569443642E-1),
+  -L(1.488945487149634820537348176770282391202E-2)
 };
 #define NRDr17 7
 static const ldouble_t RDr17[NRDr17 + 1] =
 {
-  2.748457523498150741964464942246913394647E3L,
-  1.020213390713477686776037331757871252652E3L,
-  1.388857635935432621972601695296561952738E3L,
-  3.903363681143817750895999579637315491087E2L,
-  2.784568344378139499217928969529219886578E2L,
-  5.555800830216764702779238020065345401144E1L,
-  2.646215470959050279430447295801291168941E1L,
-  2.984905282103517497081766758550112011265E0L,
+  L(2.748457523498150741964464942246913394647E3),
+  L(1.020213390713477686776037331757871252652E3),
+  L(1.388857635935432621972601695296561952738E3),
+  L(3.903363681143817750895999579637315491087E2),
+  L(2.784568344378139499217928969529219886578E2),
+  L(5.555800830216764702779238020065345401144E1),
+  L(2.646215470959050279430447295801291168941E1),
+  L(2.984905282103517497081766758550112011265E0),
   /* 1.0E0 */
 };
 /* erfc(0.75) = C17a + C17b to extra precision.  */
-static const ldouble_t C17a = 0.2888336181640625L;
-static const ldouble_t C17b = 1.0748182422368401062165408589222625794046E-5L;
+static const ldouble_t C17a = L(0.2888336181640625);
+static const ldouble_t C17b = L(1.0748182422368401062165408589222625794046E-5);
 
 
 /* erfc(x + 0.875) = erfc(0.875) + x R(x)
@@ -384,32 +384,32 @@ static const ldouble_t C17b = 1.0748182422368401062165408589222625794046E-5L;
 #define NRNr18 8
 static const ldouble_t RNr18[NRNr18 + 1] =
 {
- -1.342044899087593397419622771847219619588E3L,
-  6.127221294229172997509252330961641850598E2L,
- -4.519821356522291185621206350470820610727E2L,
-  1.223275177825128732497510264197915160235E1L,
- -2.730789571382971355625020710543532867692E1L,
-  4.045181204921538886880171727755445395862E0L,
- -4.925146477876592723401384464691452700539E0L,
-  5.933878036611279244654299924101068088582E-1L,
- -5.557645435858916025452563379795159124753E-2L
+ -L(1.342044899087593397419622771847219619588E3),
+  L(6.127221294229172997509252330961641850598E2),
+ -L(4.519821356522291185621206350470820610727E2),
+  L(1.223275177825128732497510264197915160235E1),
+ -L(2.730789571382971355625020710543532867692E1),
+  L(4.045181204921538886880171727755445395862E0),
+ -L(4.925146477876592723401384464691452700539E0),
+  L(5.933878036611279244654299924101068088582E-1),
+ -L(5.557645435858916025452563379795159124753E-2)
 };
 #define NRDr18 7
 static const ldouble_t RDr18[NRDr18 + 1] =
 {
-  2.557518000661700588758505116291983092951E3L,
-  1.070171433382888994954602511991940418588E3L,
-  1.344842834423493081054489613250688918709E3L,
-  4.161144478449381901208660598266288188426E2L,
-  2.763670252219855198052378138756906980422E2L,
-  5.998153487868943708236273854747564557632E1L,
-  2.657695108438628847733050476209037025318E1L,
-  3.252140524394421868923289114410336976512E0L,
+  L(2.557518000661700588758505116291983092951E3),
+  L(1.070171433382888994954602511991940418588E3),
+  L(1.344842834423493081054489613250688918709E3),
+  L(4.161144478449381901208660598266288188426E2),
+  L(2.763670252219855198052378138756906980422E2),
+  L(5.998153487868943708236273854747564557632E1),
+  L(2.657695108438628847733050476209037025318E1),
+  L(3.252140524394421868923289114410336976512E0),
   /* 1.0E0 */
 };
 /* erfc(0.875) = C18a + C18b to extra precision.  */
-static const ldouble_t C18a = 0.215911865234375L;
-static const ldouble_t C18b = 1.3073705765341685464282101150637224028267E-5L;
+static const ldouble_t C18a = L(0.215911865234375);
+static const ldouble_t C18b = L(1.3073705765341685464282101150637224028267E-5);
 
 /* erfc(x + 1.0) = erfc(1.0) + x R(x)
    0 <= x < 0.125
@@ -417,32 +417,32 @@ static const ldouble_t C18b = 1.3073705765341685464282101150637224028267E-5L;
 #define NRNr19 8
 static const ldouble_t RNr19[NRNr19 + 1] =
 {
- -1.139180936454157193495882956565663294826E3L,
-  6.134903129086899737514712477207945973616E2L,
- -4.628909024715329562325555164720732868263E2L,
-  4.165702387210732352564932347500364010833E1L,
- -2.286979913515229747204101330405771801610E1L,
-  1.870695256449872743066783202326943667722E0L,
- -4.177486601273105752879868187237000032364E0L,
-  7.533980372789646140112424811291782526263E-1L,
- -8.629945436917752003058064731308767664446E-2L
+ -L(1.139180936454157193495882956565663294826E3),
+  L(6.134903129086899737514712477207945973616E2),
+ -L(4.628909024715329562325555164720732868263E2),
+  L(4.165702387210732352564932347500364010833E1),
+ -L(2.286979913515229747204101330405771801610E1),
+  L(1.870695256449872743066783202326943667722E0),
+ -L(4.177486601273105752879868187237000032364E0),
+  L(7.533980372789646140112424811291782526263E-1),
+ -L(8.629945436917752003058064731308767664446E-2)
 };
 #define NRDr19 7
 static const ldouble_t RDr19[NRDr19 + 1] =
 {
-  2.744303447981132701432716278363418643778E3L,
-  1.266396359526187065222528050591302171471E3L,
-  1.466739461422073351497972255511919814273E3L,
-  4.868710570759693955597496520298058147162E2L,
-  2.993694301559756046478189634131722579643E2L,
-  6.868976819510254139741559102693828237440E1L,
-  2.801505816247677193480190483913753613630E1L,
-  3.604439909194350263552750347742663954481E0L,
+  L(2.744303447981132701432716278363418643778E3),
+  L(1.266396359526187065222528050591302171471E3),
+  L(1.466739461422073351497972255511919814273E3),
+  L(4.868710570759693955597496520298058147162E2),
+  L(2.993694301559756046478189634131722579643E2),
+  L(6.868976819510254139741559102693828237440E1),
+  L(2.801505816247677193480190483913753613630E1),
+  L(3.604439909194350263552750347742663954481E0),
   /* 1.0E0 */
 };
 /* erfc(1.0) = C19a + C19b to extra precision.  */
-static const ldouble_t C19a = 0.15728759765625L;
-static const ldouble_t C19b = 1.1609394035130658779364917390740703933002E-5L;
+static const ldouble_t C19a = L(0.15728759765625);
+static const ldouble_t C19b = L(1.1609394035130658779364917390740703933002E-5);
 
 /* erfc(x + 1.125) = erfc(1.125) + x R(x)
    0 <= x < 0.125
@@ -450,32 +450,32 @@ static const ldouble_t C19b = 1.1609394035130658779364917390740703933002E-5L;
 #define NRNr20 8
 static const ldouble_t RNr20[NRNr20 + 1] =
 {
- -9.652706916457973956366721379612508047640E2L,
-  5.577066396050932776683469951773643880634E2L,
- -4.406335508848496713572223098693575485978E2L,
-  5.202893466490242733570232680736966655434E1L,
- -1.931311847665757913322495948705563937159E1L,
- -9.364318268748287664267341457164918090611E-2L,
- -3.306390351286352764891355375882586201069E0L,
-  7.573806045289044647727613003096916516475E-1L,
- -9.611744011489092894027478899545635991213E-2L
+ -L(9.652706916457973956366721379612508047640E2),
+  L(5.577066396050932776683469951773643880634E2),
+ -L(4.406335508848496713572223098693575485978E2),
+  L(5.202893466490242733570232680736966655434E1),
+ -L(1.931311847665757913322495948705563937159E1),
+ -L(9.364318268748287664267341457164918090611E-2),
+ -L(3.306390351286352764891355375882586201069E0),
+  L(7.573806045289044647727613003096916516475E-1),
+ -L(9.611744011489092894027478899545635991213E-2)
 };
 #define NRDr20 7
 static const ldouble_t RDr20[NRDr20 + 1] =
 {
-  3.032829629520142564106649167182428189014E3L,
-  1.659648470721967719961167083684972196891E3L,
-  1.703545128657284619402511356932569292535E3L,
-  6.393465677731598872500200253155257708763E2L,
-  3.489131397281030947405287112726059221934E2L,
-  8.848641738570783406484348434387611713070E1L,
-  3.132269062552392974833215844236160958502E1L,
-  4.430131663290563523933419966185230513168E0L
+  L(3.032829629520142564106649167182428189014E3),
+  L(1.659648470721967719961167083684972196891E3),
+  L(1.703545128657284619402511356932569292535E3),
+  L(6.393465677731598872500200253155257708763E2),
+  L(3.489131397281030947405287112726059221934E2),
+  L(8.848641738570783406484348434387611713070E1),
+  L(3.132269062552392974833215844236160958502E1),
+  L(4.430131663290563523933419966185230513168E0)
  /* 1.0E0 */
 };
 /* erfc(1.125) = C20a + C20b to extra precision.  */
-static const ldouble_t C20a = 0.111602783203125L;
-static const ldouble_t C20b = 8.9850951672359304215530728365232161564636E-6L;
+static const ldouble_t C20a = L(0.111602783203125);
+static const ldouble_t C20b = L(8.9850951672359304215530728365232161564636E-6);
 
 /* erfc(1/x) = 1/x exp (-1/x^2 - 0.5625 + R(1/x^2))
    7/8 <= 1/x < 1
@@ -483,29 +483,29 @@ static const ldouble_t C20b = 8.9850951672359304215530728365232161564636E-6L;
 #define NRNr8 9
 static const ldouble_t RNr8[NRNr8 + 1] =
 {
-  3.587451489255356250759834295199296936784E1L,
-  5.406249749087340431871378009874875889602E2L,
-  2.931301290625250886238822286506381194157E3L,
-  7.359254185241795584113047248898753470923E3L,
-  9.201031849810636104112101947312492532314E3L,
-  5.749697096193191467751650366613289284777E3L,
-  1.710415234419860825710780802678697889231E3L,
-  2.150753982543378580859546706243022719599E2L,
-  8.740953582272147335100537849981160931197E0L,
-  4.876422978828717219629814794707963640913E-2L
+  L(3.587451489255356250759834295199296936784E1),
+  L(5.406249749087340431871378009874875889602E2),
+  L(2.931301290625250886238822286506381194157E3),
+  L(7.359254185241795584113047248898753470923E3),
+  L(9.201031849810636104112101947312492532314E3),
+  L(5.749697096193191467751650366613289284777E3),
+  L(1.710415234419860825710780802678697889231E3),
+  L(2.150753982543378580859546706243022719599E2),
+  L(8.740953582272147335100537849981160931197E0),
+  L(4.876422978828717219629814794707963640913E-2)
 };
 #define NRDr8 8
 static const ldouble_t RDr8[NRDr8 + 1] =
 {
-  6.358593134096908350929496535931630140282E1L,
-  9.900253816552450073757174323424051765523E2L,
-  5.642928777856801020545245437089490805186E3L,
-  1.524195375199570868195152698617273739609E4L,
-  2.113829644500006749947332935305800887345E4L,
-  1.526438562626465706267943737310282977138E4L,
-  5.561370922149241457131421914140039411782E3L,
-  9.394035530179705051609070428036834496942E2L,
-  6.147019596150394577984175188032707343615E1L
+  L(6.358593134096908350929496535931630140282E1),
+  L(9.900253816552450073757174323424051765523E2),
+  L(5.642928777856801020545245437089490805186E3),
+  L(1.524195375199570868195152698617273739609E4),
+  L(2.113829644500006749947332935305800887345E4),
+  L(1.526438562626465706267943737310282977138E4),
+  L(5.561370922149241457131421914140039411782E3),
+  L(9.394035530179705051609070428036834496942E2),
+  L(6.147019596150394577984175188032707343615E1)
   /* 1.0E0 */
 };
 
@@ -515,30 +515,30 @@ static const ldouble_t RDr8[NRDr8 + 1] =
 #define NRNr7 9
 static const ldouble_t RNr7[NRNr7 + 1] =
 {
- 1.686222193385987690785945787708644476545E1L,
- 1.178224543567604215602418571310612066594E3L,
- 1.764550584290149466653899886088166091093E4L,
- 1.073758321890334822002849369898232811561E5L,
- 3.132840749205943137619839114451290324371E5L,
- 4.607864939974100224615527007793867585915E5L,
- 3.389781820105852303125270837910972384510E5L,
- 1.174042187110565202875011358512564753399E5L,
- 1.660013606011167144046604892622504338313E4L,
- 6.700393957480661937695573729183733234400E2L
+ L(1.686222193385987690785945787708644476545E1),
+ L(1.178224543567604215602418571310612066594E3),
+ L(1.764550584290149466653899886088166091093E4),
+ L(1.073758321890334822002849369898232811561E5),
+ L(3.132840749205943137619839114451290324371E5),
+ L(4.607864939974100224615527007793867585915E5),
+ L(3.389781820105852303125270837910972384510E5),
+ L(1.174042187110565202875011358512564753399E5),
+ L(1.660013606011167144046604892622504338313E4),
+ L(6.700393957480661937695573729183733234400E2)
 };
 #define NRDr7 9
 static const ldouble_t RDr7[NRDr7 + 1] =
 {
--1.709305024718358874701575813642933561169E3L,
--3.280033887481333199580464617020514788369E4L,
--2.345284228022521885093072363418750835214E5L,
--8.086758123097763971926711729242327554917E5L,
--1.456900414510108718402423999575992450138E6L,
--1.391654264881255068392389037292702041855E6L,
--6.842360801869939983674527468509852583855E5L,
--1.597430214446573566179675395199807533371E5L,
--1.488876130609876681421645314851760773480E4L,
--3.511762950935060301403599443436465645703E2L
+-L(1.709305024718358874701575813642933561169E3),
+-L(3.280033887481333199580464617020514788369E4),
+-L(2.345284228022521885093072363418750835214E5),
+-L(8.086758123097763971926711729242327554917E5),
+-L(1.456900414510108718402423999575992450138E6),
+-L(1.391654264881255068392389037292702041855E6),
+-L(6.842360801869939983674527468509852583855E5),
+-L(1.597430214446573566179675395199807533371E5),
+-L(1.488876130609876681421645314851760773480E4),
+-L(3.511762950935060301403599443436465645703E2)
  /* 1.0E0 */
 };
 
@@ -548,30 +548,30 @@ static const ldouble_t RDr7[NRDr7 + 1] =
 #define NRNr6 9
 static const ldouble_t RNr6[NRNr6 + 1] =
 {
- 1.642076876176834390623842732352935761108E0L,
- 1.207150003611117689000664385596211076662E2L,
- 2.119260779316389904742873816462800103939E3L,
- 1.562942227734663441801452930916044224174E4L,
- 5.656779189549710079988084081145693580479E4L,
- 1.052166241021481691922831746350942786299E5L,
- 9.949798524786000595621602790068349165758E4L,
- 4.491790734080265043407035220188849562856E4L,
- 8.377074098301530326270432059434791287601E3L,
- 4.506934806567986810091824791963991057083E2L
+ L(1.642076876176834390623842732352935761108E0),
+ L(1.207150003611117689000664385596211076662E2),
+ L(2.119260779316389904742873816462800103939E3),
+ L(1.562942227734663441801452930916044224174E4),
+ L(5.656779189549710079988084081145693580479E4),
+ L(1.052166241021481691922831746350942786299E5),
+ L(9.949798524786000595621602790068349165758E4),
+ L(4.491790734080265043407035220188849562856E4),
+ L(8.377074098301530326270432059434791287601E3),
+ L(4.506934806567986810091824791963991057083E2)
 };
 #define NRDr6 9
 static const ldouble_t RDr6[NRDr6 + 1] =
 {
--1.664557643928263091879301304019826629067E2L,
--3.800035902507656624590531122291160668452E3L,
--3.277028191591734928360050685359277076056E4L,
--1.381359471502885446400589109566587443987E5L,
--3.082204287382581873532528989283748656546E5L,
--3.691071488256738343008271448234631037095E5L,
--2.300482443038349815750714219117566715043E5L,
--6.873955300927636236692803579555752171530E4L,
--8.262158817978334142081581542749986845399E3L,
--2.517122254384430859629423488157361983661E2L
+-L(1.664557643928263091879301304019826629067E2),
+-L(3.800035902507656624590531122291160668452E3),
+-L(3.277028191591734928360050685359277076056E4),
+-L(1.381359471502885446400589109566587443987E5),
+-L(3.082204287382581873532528989283748656546E5),
+-L(3.691071488256738343008271448234631037095E5),
+-L(2.300482443038349815750714219117566715043E5),
+-L(6.873955300927636236692803579555752171530E4),
+-L(8.262158817978334142081581542749986845399E3),
+-L(2.517122254384430859629423488157361983661E2)
  /* 1.00 */
 };
 
@@ -581,31 +581,31 @@ static const ldouble_t RDr6[NRDr6 + 1] =
 #define NRNr5 10
 static const ldouble_t RNr5[NRNr5 + 1] =
 {
--3.332258927455285458355550878136506961608E-3L,
--2.697100758900280402659586595884478660721E-1L,
--6.083328551139621521416618424949137195536E0L,
--6.119863528983308012970821226810162441263E1L,
--3.176535282475593173248810678636522589861E2L,
--8.933395175080560925809992467187963260693E2L,
--1.360019508488475978060917477620199499560E3L,
--1.075075579828188621541398761300910213280E3L,
--4.017346561586014822824459436695197089916E2L,
--5.857581368145266249509589726077645791341E1L,
--2.077715925587834606379119585995758954399E0L
+-L(3.332258927455285458355550878136506961608E-3),
+-L(2.697100758900280402659586595884478660721E-1),
+-L(6.083328551139621521416618424949137195536E0),
+-L(6.119863528983308012970821226810162441263E1),
+-L(3.176535282475593173248810678636522589861E2),
+-L(8.933395175080560925809992467187963260693E2),
+-L(1.360019508488475978060917477620199499560E3),
+-L(1.075075579828188621541398761300910213280E3),
+-L(4.017346561586014822824459436695197089916E2),
+-L(5.857581368145266249509589726077645791341E1),
+-L(2.077715925587834606379119585995758954399E0)
 };
 #define NRDr5 9
 static const ldouble_t RDr5[NRDr5 + 1] =
 {
- 3.377879570417399341550710467744693125385E-1L,
- 1.021963322742390735430008860602594456187E1L,
- 1.200847646592942095192766255154827011939E2L,
- 7.118915528142927104078182863387116942836E2L,
- 2.318159380062066469386544552429625026238E3L,
- 4.238729853534009221025582008928765281620E3L,
- 4.279114907284825886266493994833515580782E3L,
- 2.257277186663261531053293222591851737504E3L,
- 5.570475501285054293371908382916063822957E2L,
- 5.142189243856288981145786492585432443560E1L
+ L(3.377879570417399341550710467744693125385E-1),
+ L(1.021963322742390735430008860602594456187E1),
+ L(1.200847646592942095192766255154827011939E2),
+ L(7.118915528142927104078182863387116942836E2),
+ L(2.318159380062066469386544552429625026238E3),
+ L(4.238729853534009221025582008928765281620E3),
+ L(4.279114907284825886266493994833515580782E3),
+ L(2.257277186663261531053293222591851737504E3),
+ L(5.570475501285054293371908382916063822957E2),
+ L(5.142189243856288981145786492585432443560E1)
  /* 1.0E0 */
 };
 
@@ -615,32 +615,32 @@ static const ldouble_t RDr5[NRDr5 + 1] =
 #define NRNr4 10
 static const ldouble_t RNr4[NRNr4 + 1] =
 {
- 3.258530712024527835089319075288494524465E-3L,
- 2.987056016877277929720231688689431056567E-1L,
- 8.738729089340199750734409156830371528862E0L,
- 1.207211160148647782396337792426311125923E2L,
- 8.997558632489032902250523945248208224445E2L,
- 3.798025197699757225978410230530640879762E3L,
- 9.113203668683080975637043118209210146846E3L,
- 1.203285891339933238608683715194034900149E4L,
- 8.100647057919140328536743641735339740855E3L,
- 2.383888249907144945837976899822927411769E3L,
- 2.127493573166454249221983582495245662319E2L
+ L(3.258530712024527835089319075288494524465E-3),
+ L(2.987056016877277929720231688689431056567E-1),
+ L(8.738729089340199750734409156830371528862E0),
+ L(1.207211160148647782396337792426311125923E2),
+ L(8.997558632489032902250523945248208224445E2),
+ L(3.798025197699757225978410230530640879762E3),
+ L(9.113203668683080975637043118209210146846E3),
+ L(1.203285891339933238608683715194034900149E4),
+ L(8.100647057919140328536743641735339740855E3),
+ L(2.383888249907144945837976899822927411769E3),
+ L(2.127493573166454249221983582495245662319E2)
 };
 #define NRDr4 10
 static const ldouble_t RDr4[NRDr4 + 1] =
 {
--3.303141981514540274165450687270180479586E-1L,
--1.353768629363605300707949368917687066724E1L,
--2.206127630303621521950193783894598987033E2L,
--1.861800338758066696514480386180875607204E3L,
--8.889048775872605708249140016201753255599E3L,
--2.465888106627948210478692168261494857089E4L,
--3.934642211710774494879042116768390014289E4L,
--3.455077258242252974937480623730228841003E4L,
--1.524083977439690284820586063729912653196E4L,
--2.810541887397984804237552337349093953857E3L,
--1.343929553541159933824901621702567066156E2L
+-L(3.303141981514540274165450687270180479586E-1),
+-L(1.353768629363605300707949368917687066724E1),
+-L(2.206127630303621521950193783894598987033E2),
+-L(1.861800338758066696514480386180875607204E3),
+-L(8.889048775872605708249140016201753255599E3),
+-L(2.465888106627948210478692168261494857089E4),
+-L(3.934642211710774494879042116768390014289E4),
+-L(3.455077258242252974937480623730228841003E4),
+-L(1.524083977439690284820586063729912653196E4),
+-L(2.810541887397984804237552337349093953857E3),
+-L(1.343929553541159933824901621702567066156E2)
  /* 1.0E0 */
 };
 
@@ -650,33 +650,33 @@ static const ldouble_t RDr4[NRDr4 + 1] =
 #define NRNr3 11
 static const ldouble_t RNr3[NRNr3 + 1] =
 {
--1.952401126551202208698629992497306292987E-6L,
--2.130881743066372952515162564941682716125E-4L,
--8.376493958090190943737529486107282224387E-3L,
--1.650592646560987700661598877522831234791E-1L,
--1.839290818933317338111364667708678163199E0L,
--1.216278715570882422410442318517814388470E1L,
--4.818759344462360427612133632533779091386E1L,
--1.120994661297476876804405329172164436784E2L,
--1.452850765662319264191141091859300126931E2L,
--9.485207851128957108648038238656777241333E1L,
--2.563663855025796641216191848818620020073E1L,
--1.787995944187565676837847610706317833247E0L
+-L(1.952401126551202208698629992497306292987E-6),
+-L(2.130881743066372952515162564941682716125E-4),
+-L(8.376493958090190943737529486107282224387E-3),
+-L(1.650592646560987700661598877522831234791E-1),
+-L(1.839290818933317338111364667708678163199E0),
+-L(1.216278715570882422410442318517814388470E1),
+-L(4.818759344462360427612133632533779091386E1),
+-L(1.120994661297476876804405329172164436784E2),
+-L(1.452850765662319264191141091859300126931E2),
+-L(9.485207851128957108648038238656777241333E1),
+-L(2.563663855025796641216191848818620020073E1),
+-L(1.787995944187565676837847610706317833247E0)
 };
 #define NRDr3 10
 static const ldouble_t RDr3[NRDr3 + 1] =
 {
- 1.979130686770349481460559711878399476903E-4L,
- 1.156941716128488266238105813374635099057E-2L,
- 2.752657634309886336431266395637285974292E-1L,
- 3.482245457248318787349778336603569327521E0L,
- 2.569347069372696358578399521203959253162E1L,
- 1.142279000180457419740314694631879921561E2L,
- 3.056503977190564294341422623108332700840E2L,
- 4.780844020923794821656358157128719184422E2L,
- 4.105972727212554277496256802312730410518E2L,
- 1.724072188063746970865027817017067646246E2L,
- 2.815939183464818198705278118326590370435E1L
+ L(1.979130686770349481460559711878399476903E-4),
+ L(1.156941716128488266238105813374635099057E-2),
+ L(2.752657634309886336431266395637285974292E-1),
+ L(3.482245457248318787349778336603569327521E0),
+ L(2.569347069372696358578399521203959253162E1),
+ L(1.142279000180457419740314694631879921561E2),
+ L(3.056503977190564294341422623108332700840E2),
+ L(4.780844020923794821656358157128719184422E2),
+ L(4.105972727212554277496256802312730410518E2),
+ L(1.724072188063746970865027817017067646246E2),
+ L(2.815939183464818198705278118326590370435E1)
  /* 1.0E0 */
 };
 
@@ -686,33 +686,33 @@ static const ldouble_t RDr3[NRDr3 + 1] =
 #define NRNr2 11
 static const ldouble_t RNr2[NRNr2 + 1] =
 {
--2.638914383420287212401687401284326363787E-8L,
--3.479198370260633977258201271399116766619E-6L,
--1.783985295335697686382487087502222519983E-4L,
--4.777876933122576014266349277217559356276E-3L,
--7.450634738987325004070761301045014986520E-2L,
--7.068318854874733315971973707247467326619E-1L,
--4.113919921935944795764071670806867038732E0L,
--1.440447573226906222417767283691888875082E1L,
--2.883484031530718428417168042141288943905E1L,
--2.990886974328476387277797361464279931446E1L,
--1.325283914915104866248279787536128997331E1L,
--1.572436106228070195510230310658206154374E0L
+-L(2.638914383420287212401687401284326363787E-8),
+-L(3.479198370260633977258201271399116766619E-6),
+-L(1.783985295335697686382487087502222519983E-4),
+-L(4.777876933122576014266349277217559356276E-3),
+-L(7.450634738987325004070761301045014986520E-2),
+-L(7.068318854874733315971973707247467326619E-1),
+-L(4.113919921935944795764071670806867038732E0),
+-L(1.440447573226906222417767283691888875082E1),
+-L(2.883484031530718428417168042141288943905E1),
+-L(2.990886974328476387277797361464279931446E1),
+-L(1.325283914915104866248279787536128997331E1),
+-L(1.572436106228070195510230310658206154374E0)
 };
 #define NRDr2 10
 static const ldouble_t RDr2[NRDr2 + 1] =
 {
- 2.675042728136731923554119302571867799673E-6L,
- 2.170997868451812708585443282998329996268E-4L,
- 7.249969752687540289422684951196241427445E-3L,
- 1.302040375859768674620410563307838448508E-1L,
- 1.380202483082910888897654537144485285549E0L,
- 8.926594113174165352623847870299170069350E0L,
- 3.521089584782616472372909095331572607185E1L,
- 8.233547427533181375185259050330809105570E1L,
- 1.072971579885803033079469639073292840135E2L,
- 6.943803113337964469736022094105143158033E1L,
- 1.775695341031607738233608307835017282662E1L
+ L(2.675042728136731923554119302571867799673E-6),
+ L(2.170997868451812708585443282998329996268E-4),
+ L(7.249969752687540289422684951196241427445E-3),
+ L(1.302040375859768674620410563307838448508E-1),
+ L(1.380202483082910888897654537144485285549E0),
+ L(8.926594113174165352623847870299170069350E0),
+ L(3.521089584782616472372909095331572607185E1),
+ L(8.233547427533181375185259050330809105570E1),
+ L(1.072971579885803033079469639073292840135E2),
+ L(6.943803113337964469736022094105143158033E1),
+ L(1.775695341031607738233608307835017282662E1)
  /* 1.0E0 */
 };
 
@@ -722,29 +722,29 @@ static const ldouble_t RDr2[NRDr2 + 1] =
 #define NRNr1 9
 static const ldouble_t RNr1[NRNr1 + 1] =
 {
--4.250780883202361946697751475473042685782E-8L,
--5.375777053288612282487696975623206383019E-6L,
--2.573645949220896816208565944117382460452E-4L,
--6.199032928113542080263152610799113086319E-3L,
--8.262721198693404060380104048479916247786E-2L,
--6.242615227257324746371284637695778043982E-1L,
--2.609874739199595400225113299437099626386E0L,
--5.581967563336676737146358534602770006970E0L,
--5.124398923356022609707490956634280573882E0L,
--1.290865243944292370661544030414667556649E0L
+-L(4.250780883202361946697751475473042685782E-8),
+-L(5.375777053288612282487696975623206383019E-6),
+-L(2.573645949220896816208565944117382460452E-4),
+-L(6.199032928113542080263152610799113086319E-3),
+-L(8.262721198693404060380104048479916247786E-2),
+-L(6.242615227257324746371284637695778043982E-1),
+-L(2.609874739199595400225113299437099626386E0),
+-L(5.581967563336676737146358534602770006970E0),
+-L(5.124398923356022609707490956634280573882E0),
+-L(1.290865243944292370661544030414667556649E0)
 };
 #define NRDr1 8
 static const ldouble_t RDr1[NRDr1 + 1] =
 {
- 4.308976661749509034845251315983612976224E-6L,
- 3.265390126432780184125233455960049294580E-4L,
- 9.811328839187040701901866531796570418691E-3L,
- 1.511222515036021033410078631914783519649E-1L,
- 1.289264341917429958858379585970225092274E0L,
- 6.147640356182230769548007536914983522270E0L,
- 1.573966871337739784518246317003956180750E1L,
- 1.955534123435095067199574045529218238263E1L,
- 9.472613121363135472247929109615785855865E0L
+ L(4.308976661749509034845251315983612976224E-6),
+ L(3.265390126432780184125233455960049294580E-4),
+ L(9.811328839187040701901866531796570418691E-3),
+ L(1.511222515036021033410078631914783519649E-1),
+ L(1.289264341917429958858379585970225092274E0),
+ L(6.147640356182230769548007536914983522270E0),
+ L(1.573966871337739784518246317003956180750E1),
+ L(1.955534123435095067199574045529218238263E1),
+ L(9.472613121363135472247929109615785855865E0)
   /* 1.0E0 */
 };
 
@@ -835,48 +835,48 @@ __erfcl (ldouble_t x)
       switch (i)
 	{
 	case 2:
-	  z = x - 0.25L;
+	  z = x - L(0.25);
 	  y = C13b + z * neval (z, RNr13, NRNr13) / deval (z, RDr13, NRDr13);
 	  y += C13a;
 	  break;
 	case 3:
-	  z = x - 0.375L;
+	  z = x - L(0.375);
 	  y = C14b + z * neval (z, RNr14, NRNr14) / deval (z, RDr14, NRDr14);
 	  y += C14a;
 	  break;
 	case 4:
-	  z = x - 0.5L;
+	  z = x - L(0.5);
 	  y = C15b + z * neval (z, RNr15, NRNr15) / deval (z, RDr15, NRDr15);
 	  y += C15a;
 	  break;
 	case 5:
-	  z = x - 0.625L;
+	  z = x - L(0.625);
 	  y = C16b + z * neval (z, RNr16, NRNr16) / deval (z, RDr16, NRDr16);
 	  y += C16a;
 	  break;
 	case 6:
-	  z = x - 0.75L;
+	  z = x - L(0.75);
 	  y = C17b + z * neval (z, RNr17, NRNr17) / deval (z, RDr17, NRDr17);
 	  y += C17a;
 	  break;
 	case 7:
-	  z = x - 0.875L;
+	  z = x - L(0.875);
 	  y = C18b + z * neval (z, RNr18, NRNr18) / deval (z, RDr18, NRDr18);
 	  y += C18a;
 	  break;
 	case 8:
-	  z = x - 1.0L;
+	  z = x - 1;
 	  y = C19b + z * neval (z, RNr19, NRNr19) / deval (z, RDr19, NRDr19);
 	  y += C19a;
 	  break;
 	default: /* i == 9.  */
-	  z = x - 1.125L;
+	  z = x - L(1.125);
 	  y = C20b + z * neval (z, RNr20, NRNr20) / deval (z, RDr20, NRDr20);
 	  y += C20a;
 	  break;
 	}
       if (sign & 0x80000000)
-	y = 2.0L - y;
+	y = 2 - y;
       return y;
     }
   /* 1.25 < |x| < 107 */
diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c
index 8a32db3..bf5a4ac 100644
--- a/sysdeps/ieee754/ldbl-128/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c
@@ -63,29 +63,29 @@
    Theoretical peak relative error = 8.1e-36  */
 
 static const ldouble_t
-  P0 = 2.943520915569954073888921213330863757240E8L,
-  P1 = -5.722847283900608941516165725053359168840E7L,
-  P2 = 8.944630806357575461578107295909719817253E6L,
-  P3 = -7.212432713558031519943281748462837065308E5L,
-  P4 = 4.578962475841642634225390068461943438441E4L,
-  P5 = -1.716772506388927649032068540558788106762E3L,
-  P6 = 4.401308817383362136048032038528753151144E1L,
-  P7 = -4.888737542888633647784737721812546636240E-1L,
-  Q0 = 1.766112549341972444333352727998584753865E9L,
-  Q1 = -7.848989743695296475743081255027098295771E8L,
-  Q2 = 1.615869009634292424463780387327037251069E8L,
-  Q3 = -2.019684072836541751428967854947019415698E7L,
-  Q4 = 1.682912729190313538934190635536631941751E6L,
-  Q5 = -9.615511549171441430850103489315371768998E4L,
-  Q6 = 3.697714952261803935521187272204485251835E3L,
-  Q7 = -8.802340681794263968892934703309274564037E1L,
+  P0 =  L(2.943520915569954073888921213330863757240E8),
+  P1 = -L(5.722847283900608941516165725053359168840E7),
+  P2 =  L(8.944630806357575461578107295909719817253E6),
+  P3 = -L(7.212432713558031519943281748462837065308E5),
+  P4 =  L(4.578962475841642634225390068461943438441E4),
+  P5 = -L(1.716772506388927649032068540558788106762E3),
+  P6 =  L(4.401308817383362136048032038528753151144E1),
+  P7 = -L(4.888737542888633647784737721812546636240E-1),
+  Q0 =  L(1.766112549341972444333352727998584753865E9),
+  Q1 = -L(7.848989743695296475743081255027098295771E8),
+  Q2 =  L(1.615869009634292424463780387327037251069E8),
+  Q3 = -L(2.019684072836541751428967854947019415698E7),
+  Q4 =  L(1.682912729190313538934190635536631941751E6),
+  Q5 = -L(9.615511549171441430850103489315371768998E4),
+  Q6 =  L(3.697714952261803935521187272204485251835E3),
+  Q7 = -L(8.802340681794263968892934703309274564037E1),
   /* Q8 = 1.000000000000000000000000000000000000000E0 */
 /* C1 + C2 = ln 2 */
 
-  C1 = 6.93145751953125E-1L,
-  C2 = 1.428606820309417232121458176568075500134E-6L,
+  C1 = L(6.93145751953125E-1),
+  C2 = L(1.428606820309417232121458176568075500134E-6),
 /* ln 2^-114 */
-  minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e4932L;
+  minarg = -L(7.9018778583833765273564461846232128760607E1), big = L(1e4932);
 
 
 ldouble_t
@@ -121,12 +121,12 @@ __expm1l (ldouble_t x)
 
   /* Minimum value.  */
   if (x < minarg)
-    return (4.0/big - 1.0L);
+    return (4.0/big - 1);
 
   /* Avoid internal underflow when result does not underflow, while
      ensuring underflow (without returning a zero of the wrong sign)
      when the result does underflow.  */
-  if (fabsl (x) < 0x1p-113L)
+  if (fabsl (x) < L(0x1p-113))
     {
       math_check_force_underflow (x);
       return x;
@@ -158,7 +158,7 @@ __expm1l (ldouble_t x)
   exp(x) - 1 = 2^k (qx + 1) - 1
              = 2^k qx + 2^k - 1.  */
 
-  px = __ldexpl (1.0L, k);
+  px = __ldexpl (1, k);
   x = px * qx + (px - 1.0);
   return x;
 }
diff --git a/sysdeps/ieee754/ldbl-128/s_fmal.c b/sysdeps/ieee754/ldbl-128/s_fmal.c
index 69507b0..380bddd 100644
--- a/sysdeps/ieee754/ldbl-128/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-128/s_fmal.c
@@ -75,7 +75,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	  < IEEE854_LONG_DOUBLE_BIAS - LDBL_MANT_DIG - 2)
 	{
 	  int neg = u.ieee.negative ^ v.ieee.negative;
-	  ldouble_t tiny = neg ? -0x1p-16494L : 0x1p-16494L;
+	  ldouble_t tiny = neg ? L(-0x1p-16494) : L(0x1p-16494);
 	  if (w.ieee.exponent >= 3)
 	    return tiny + z;
 	  /* Scaling up, adding TINY and scaling down produces the
@@ -83,7 +83,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	     TINY has no effect and in other modes double rounding is
 	     harmless.  But it may not produce required underflow
 	     exceptions.  */
-	  v.d = z * 0x1p114L + tiny;
+	  v.d = z * L(0x1p114) + tiny;
 	  if (TININESS_AFTER_ROUNDING
 	      ? v.ieee.exponent < 115
 	      : (w.ieee.exponent == 0
@@ -97,7 +97,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	      ldouble_t force_underflow = x * y;
 	      math_force_eval (force_underflow);
 	    }
-	  return v.d * 0x1p-114L;
+	  return v.d * L(0x1p-114);
 	}
       if (u.ieee.exponent + v.ieee.exponent
 	  >= 0x7fff + IEEE854_LONG_DOUBLE_BIAS - LDBL_MANT_DIG)
@@ -144,7 +144,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	  if (v.ieee.exponent)
 	    v.ieee.exponent += LDBL_MANT_DIG;
 	  else
-	    v.d *= 0x1p113L;
+	    v.d *= L(0x1p113);
 	}
       else if (v.ieee.exponent >= 0x7fff - LDBL_MANT_DIG)
 	{
@@ -152,7 +152,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	  if (u.ieee.exponent)
 	    u.ieee.exponent += LDBL_MANT_DIG;
 	  else
-	    u.d *= 0x1p113L;
+	    u.d *= L(0x1p113);
 	}
       else /* if (u.ieee.exponent + v.ieee.exponent
 		  <= IEEE854_LONG_DOUBLE_BIAS + LDBL_MANT_DIG) */
@@ -166,7 +166,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	      if (w.ieee.exponent)
 		w.ieee.exponent += 2 * LDBL_MANT_DIG + 2;
 	      else
-		w.d *= 0x1p228L;
+		w.d *= L(0x1p228);
 	      adjust = -1;
 	    }
 	  /* Otherwise x * y should just affect inexact
@@ -238,7 +238,7 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	u.ieee.mantissa3 |= fetestexcept (FE_INEXACT) != 0;
       feupdateenv (&env);
       /* Result is a1 + u.d, scaled up.  */
-      return (a1 + u.d) * 0x1p113L;
+      return (a1 + u.d) * L(0x1p113);
     }
   else
     {
@@ -255,11 +255,11 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
       /* If a1 + u.d is exact, the only rounding happens during
 	 scaling down.  */
       if (j == 0)
-	return v.d * 0x1p-228L;
+	return v.d * L(0x1p-228);
       /* If result rounded to zero is not subnormal, no double
 	 rounding will occur.  */
       if (v.ieee.exponent > 228)
-	return (a1 + u.d) * 0x1p-228L;
+	return (a1 + u.d) * L(0x1p-228);
       /* If v.d * 0x1p-228L with round to zero is a subnormal above
 	 or equal to LDBL_MIN / 2, then v.d * 0x1p-228L shifts mantissa
 	 down just by 1 bit, which means v.ieee.mantissa3 |= j would
@@ -278,21 +278,21 @@ __fmal (ldouble_t x, ldouble_t y, ldouble_t z)
 	    {
 	      w.d = a1 + u.d;
 	      if (w.ieee.exponent == 229)
-		return w.d * 0x1p-228L;
+		return w.d * L(0x1p-228);
 	    }
 	  /* v.ieee.mantissa3 & 2 is LSB bit of the result before rounding,
 	     v.ieee.mantissa3 & 1 is the round bit and j is our sticky
 	     bit.  */
-	  w.d = 0.0L;
+	  w.d = 0;
 	  w.ieee.mantissa3 = ((v.ieee.mantissa3 & 3) << 1) | j;
 	  w.ieee.negative = v.ieee.negative;
 	  v.ieee.mantissa3 &= ~3U;
-	  v.d *= 0x1p-228L;
-	  w.d *= 0x1p-2L;
+	  v.d *= L(0x1p-228);
+	  w.d *= L(0x1p-2);
 	  return v.d + w.d;
 	}
       v.ieee.mantissa3 |= j;
-      return v.d * 0x1p-228L;
+      return v.d * L(0x1p-228);
     }
 }
 weak_alias (__fmal, fmal)
diff --git a/sysdeps/ieee754/ldbl-128/s_frexpl.c b/sysdeps/ieee754/ldbl-128/s_frexpl.c
index 12a3fb7..faba303 100644
--- a/sysdeps/ieee754/ldbl-128/s_frexpl.c
+++ b/sysdeps/ieee754/ldbl-128/s_frexpl.c
@@ -31,7 +31,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 
 static const ldouble_t
-two114 = 2.0769187434139310514121985316880384E+34L; /* 0x4071000000000000, 0 */
+two114 = L(2.0769187434139310514121985316880384E+34); /* 0x4071000000000000, 0 */
 
 ldouble_t __frexpl(ldouble_t x, int *eptr)
 {
diff --git a/sysdeps/ieee754/ldbl-128/s_llrintl.c b/sysdeps/ieee754/ldbl-128/s_llrintl.c
index 58138bf..96fcec4 100644
--- a/sysdeps/ieee754/ldbl-128/s_llrintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_llrintl.c
@@ -28,8 +28,8 @@
 
 static const ldouble_t two112[2] =
 {
-  5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
- -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
+  L(5.19229685853482762853049632922009600E+33), /* 0x406F000000000000, 0 */
+ -L(5.19229685853482762853049632922009600E+33)  /* 0xC06F000000000000, 0 */
 };
 
 long long int
@@ -84,7 +84,7 @@ __llrintl (ldouble_t x)
 	 unspecified.  */
 #if defined FE_INVALID || defined FE_INEXACT
       if (x < (ldouble_t) LLONG_MIN
-	  && x > (ldouble_t) LLONG_MIN - 1.0L)
+	  && x > (ldouble_t) LLONG_MIN - L(1.0))
 	{
 	  /* If truncation produces LLONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_llroundl.c b/sysdeps/ieee754/ldbl-128/s_llroundl.c
index 042a492..0de9bfe 100644
--- a/sysdeps/ieee754/ldbl-128/s_llroundl.c
+++ b/sysdeps/ieee754/ldbl-128/s_llroundl.c
@@ -79,13 +79,13 @@ __llroundl (ldouble_t x)
 	 unspecified.  */
 #ifdef FE_INVALID
       if (FIX_LDBL_LLONG_CONVERT_OVERFLOW
-	  && !(sign == -1 && x > (ldouble_t) LLONG_MIN - 0.5L))
+	  && !(sign == -1 && x > (ldouble_t) LLONG_MIN - L(0.5)))
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sign == 1 ? LLONG_MAX : LLONG_MIN;
 	}
       else if (!FIX_LDBL_LLONG_CONVERT_OVERFLOW
-	       && x <= (ldouble_t) LLONG_MIN - 0.5L)
+	       && x <= (ldouble_t) LLONG_MIN - L(0.5))
 	{
 	  /* If truncation produces LLONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c
index eb0dd03..2754df6 100644
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -63,32 +63,32 @@
  * relative peak error spread = 2.3e-14
  */
 static const ldouble_t
-  P12 = 1.538612243596254322971797716843006400388E-6L,
-  P11 = 4.998469661968096229986658302195402690910E-1L,
-  P10 = 2.321125933898420063925789532045674660756E1L,
-  P9 = 4.114517881637811823002128927449878962058E2L,
-  P8 = 3.824952356185897735160588078446136783779E3L,
-  P7 = 2.128857716871515081352991964243375186031E4L,
-  P6 = 7.594356839258970405033155585486712125861E4L,
-  P5 = 1.797628303815655343403735250238293741397E5L,
-  P4 = 2.854829159639697837788887080758954924001E5L,
-  P3 = 3.007007295140399532324943111654767187848E5L,
-  P2 = 2.014652742082537582487669938141683759923E5L,
-  P1 = 7.771154681358524243729929227226708890930E4L,
-  P0 = 1.313572404063446165910279910527789794488E4L,
+  P12 = L(1.538612243596254322971797716843006400388E-6),
+  P11 = L(4.998469661968096229986658302195402690910E-1),
+  P10 = L(2.321125933898420063925789532045674660756E1),
+  P9 = L(4.114517881637811823002128927449878962058E2),
+  P8 = L(3.824952356185897735160588078446136783779E3),
+  P7 = L(2.128857716871515081352991964243375186031E4),
+  P6 = L(7.594356839258970405033155585486712125861E4),
+  P5 = L(1.797628303815655343403735250238293741397E5),
+  P4 = L(2.854829159639697837788887080758954924001E5),
+  P3 = L(3.007007295140399532324943111654767187848E5),
+  P2 = L(2.014652742082537582487669938141683759923E5),
+  P1 = L(7.771154681358524243729929227226708890930E4),
+  P0 = L(1.313572404063446165910279910527789794488E4),
   /* Q12 = 1.000000000000000000000000000000000000000E0L, */
-  Q11 = 4.839208193348159620282142911143429644326E1L,
-  Q10 = 9.104928120962988414618126155557301584078E2L,
-  Q9 = 9.147150349299596453976674231612674085381E3L,
-  Q8 = 5.605842085972455027590989944010492125825E4L,
-  Q7 = 2.248234257620569139969141618556349415120E5L,
-  Q6 = 6.132189329546557743179177159925690841200E5L,
-  Q5 = 1.158019977462989115839826904108208787040E6L,
-  Q4 = 1.514882452993549494932585972882995548426E6L,
-  Q3 = 1.347518538384329112529391120390701166528E6L,
-  Q2 = 7.777690340007566932935753241556479363645E5L,
-  Q1 = 2.626900195321832660448791748036714883242E5L,
-  Q0 = 3.940717212190338497730839731583397586124E4L;
+  Q11 = L(4.839208193348159620282142911143429644326E1),
+  Q10 = L(9.104928120962988414618126155557301584078E2),
+  Q9 = L(9.147150349299596453976674231612674085381E3),
+  Q8 = L(5.605842085972455027590989944010492125825E4),
+  Q7 = L(2.248234257620569139969141618556349415120E5),
+  Q6 = L(6.132189329546557743179177159925690841200E5),
+  Q5 = L(1.158019977462989115839826904108208787040E6),
+  Q4 = L(1.514882452993549494932585972882995548426E6),
+  Q3 = L(1.347518538384329112529391120390701166528E6),
+  Q2 = L(7.777690340007566932935753241556479363645E5),
+  Q1 = L(2.626900195321832660448791748036714883242E5),
+  Q0 = L(3.940717212190338497730839731583397586124E4);
 
 /* Coefficients for log(x) = z + z^3 P(z^2)/Q(z^2),
  * where z = 2(x-1)/(x+1)
@@ -97,27 +97,27 @@ static const ldouble_t
  * relative peak error spread 1.1e-9
  */
 static const ldouble_t
-  R5 = -8.828896441624934385266096344596648080902E-1L,
-  R4 = 8.057002716646055371965756206836056074715E1L,
-  R3 = -2.024301798136027039250415126250455056397E3L,
-  R2 = 2.048819892795278657810231591630928516206E4L,
-  R1 = -8.977257995689735303686582344659576526998E4L,
-  R0 = 1.418134209872192732479751274970992665513E5L,
+  R5 = -L(8.828896441624934385266096344596648080902E-1),
+  R4 = L(8.057002716646055371965756206836056074715E1),
+  R3 = -L(2.024301798136027039250415126250455056397E3),
+  R2 = L(2.048819892795278657810231591630928516206E4),
+  R1 = -L(8.977257995689735303686582344659576526998E4),
+  R0 = L(1.418134209872192732479751274970992665513E5),
   /* S6 = 1.000000000000000000000000000000000000000E0L, */
-  S5 = -1.186359407982897997337150403816839480438E2L,
-  S4 = 3.998526750980007367835804959888064681098E3L,
-  S3 = -5.748542087379434595104154610899551484314E4L,
-  S2 = 4.001557694070773974936904547424676279307E5L,
-  S1 = -1.332535117259762928288745111081235577029E6L,
-  S0 = 1.701761051846631278975701529965589676574E6L;
+  S5 = -L(1.186359407982897997337150403816839480438E2),
+  S4 = L(3.998526750980007367835804959888064681098E3),
+  S3 = -L(5.748542087379434595104154610899551484314E4),
+  S2 = L(4.001557694070773974936904547424676279307E5),
+  S1 = -L(1.332535117259762928288745111081235577029E6),
+  S0 = L(1.701761051846631278975701529965589676574E6);
 
 /* C1 + C2 = ln 2 */
-static const ldouble_t C1 = 6.93145751953125E-1L;
-static const ldouble_t C2 = 1.428606820309417232121458176568075500134E-6L;
+static const ldouble_t C1 = L(6.93145751953125E-1);
+static const ldouble_t C2 = L(1.428606820309417232121458176568075500134E-6);
 
-static const ldouble_t sqrth = 0.7071067811865475244008443621048490392848L;
+static const ldouble_t sqrth = L(0.7071067811865475244008443621048490392848);
 /* ln (2^16384 * (1 - 2^-113)) */
-static const ldouble_t zero = 0.0L;
+static const ldouble_t zero = 0;
 
 ldouble_t
 __log1pl (ldouble_t xm1)
@@ -145,16 +145,16 @@ __log1pl (ldouble_t xm1)
 	return xm1;
     }
 
-  if (xm1 >= 0x1p113L)
+  if (xm1 >= L(0x1p113))
     x = xm1;
   else
-    x = xm1 + 1.0L;
+    x = xm1 + 1;
 
   /* log1p(-1) = -inf */
-  if (x <= 0.0L)
+  if (x <= 0)
     {
-      if (x == 0.0L)
-	return (-1.0L / zero);  /* log1p(-1) = -inf */
+      if (x == 0)
+	return (-1 / zero);  /* log1p(-1) = -inf */
       else
 	return (zero / (x - x));
     }
@@ -171,14 +171,14 @@ __log1pl (ldouble_t xm1)
       if (x < sqrth)
 	{			/* 2( 2x-1 )/( 2x+1 ) */
 	  e -= 1;
-	  z = x - 0.5L;
-	  y = 0.5L * z + 0.5L;
+	  z = x - L(0.5);
+	  y = L(0.5) * z + L(0.5);
 	}
       else
 	{			/*  2 (x-1)/(x+1)   */
-	  z = x - 0.5L;
-	  z -= 0.5L;
-	  y = 0.5L * x + 0.5L;
+	  z = x - L(0.5);
+	  z -= L(0.5);
+	  y = L(0.5) * x + L(0.5);
 	}
       x = z / y;
       z = x * x;
@@ -209,14 +209,14 @@ __log1pl (ldouble_t xm1)
     {
       e -= 1;
       if (e != 0)
-	x = 2.0L * x - 1.0L;	/*  2x - 1  */
+	x = 2 * x - 1;	/*  2x - 1  */
       else
 	x = xm1;
     }
   else
     {
       if (e != 0)
-	x = x - 1.0L;
+	x = x - 1;
       else
 	x = xm1;
     }
@@ -249,7 +249,7 @@ __log1pl (ldouble_t xm1)
     + Q0;
   y = x * (z * r / s);
   y = y + e * C2;
-  z = y - 0.5L * z;
+  z = y - L(0.5) * z;
   z = z + x;
   z = z + e * C1;
   return (z);
diff --git a/sysdeps/ieee754/ldbl-128/s_lrintl.c b/sysdeps/ieee754/ldbl-128/s_lrintl.c
index 67ced38..28d8859 100644
--- a/sysdeps/ieee754/ldbl-128/s_lrintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_lrintl.c
@@ -28,8 +28,8 @@
 
 static const ldouble_t two112[2] =
 {
-  5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
- -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
+  L(5.19229685853482762853049632922009600E+33), /* 0x406F000000000000, 0 */
+ -L(5.19229685853482762853049632922009600E+33)  /* 0xC06F000000000000, 0 */
 };
 
 long int
@@ -113,7 +113,7 @@ __lrintl (ldouble_t x)
 	 unspecified.  */
 #if defined FE_INVALID || defined FE_INEXACT
       if (x < (ldouble_t) LONG_MIN
-	  && x > (ldouble_t) LONG_MIN - 1.0L)
+	  && x > (ldouble_t) LONG_MIN - L(1.0))
 	{
 	  /* If truncation produces LONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_lroundl.c b/sysdeps/ieee754/ldbl-128/s_lroundl.c
index eb30540..c8ae03a 100644
--- a/sysdeps/ieee754/ldbl-128/s_lroundl.c
+++ b/sysdeps/ieee754/ldbl-128/s_lroundl.c
@@ -88,13 +88,13 @@ __lroundl (ldouble_t x)
 	 unspecified.  */
 #ifdef FE_INVALID
       if (FIX_LDBL_LONG_CONVERT_OVERFLOW
-	  && !(sign == -1 && x > (ldouble_t) LONG_MIN - 0.5L))
+	  && !(sign == -1 && x > (ldouble_t) LONG_MIN - L(0.5)))
 	{
 	  feraiseexcept (FE_INVALID);
 	  return sign == 1 ? LONG_MAX : LONG_MIN;
 	}
       else if (!FIX_LDBL_LONG_CONVERT_OVERFLOW
-	       && x <= (ldouble_t) LONG_MIN - 0.5L)
+	       && x <= (ldouble_t) LONG_MIN - L(0.5))
 	{
 	  /* If truncation produces LONG_MIN, the cast will not raise
 	     the exception, but may raise "inexact".  */
diff --git a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
index 706d390..acdc093 100644
--- a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
@@ -29,8 +29,8 @@
 
 static const ldouble_t
 TWO112[2]={
-  5.19229685853482762853049632922009600E+33L, /* 0x406F000000000000, 0 */
- -5.19229685853482762853049632922009600E+33L  /* 0xC06F000000000000, 0 */
+  L(5.19229685853482762853049632922009600E+33), /* 0x406F000000000000, 0 */
+ -L(5.19229685853482762853049632922009600E+33)  /* 0xC06F000000000000, 0 */
 };
 
 ldouble_t __nearbyintl(ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/s_nextafterl.c b/sysdeps/ieee754/ldbl-128/s_nextafterl.c
index 652fbe4..27932d1 100644
--- a/sysdeps/ieee754/ldbl-128/s_nextafterl.c
+++ b/sysdeps/ieee754/ldbl-128/s_nextafterl.c
@@ -82,5 +82,9 @@ ldouble_t __nextafterl(ldouble_t x, ldouble_t y)
 	return x;
 }
 weak_alias (__nextafterl, nextafterl)
+
+/* Don't define these symbols if building as _Float128.  */
+#ifndef __BUILDING_LDBL128_AS_FLOAT128
 strong_alias (__nextafterl, __nexttowardl)
 weak_alias (__nextafterl, nexttowardl)
+#endif
diff --git a/sysdeps/ieee754/ldbl-128/s_remquol.c b/sysdeps/ieee754/ldbl-128/s_remquol.c
index dc3c9ac..c24672d 100644
--- a/sysdeps/ieee754/ldbl-128/s_remquol.c
+++ b/sysdeps/ieee754/ldbl-128/s_remquol.c
@@ -87,7 +87,7 @@ __remquol (ldouble_t x, ldouble_t y, int *quo)
     }
   else
     {
-      ldouble_t y_half = 0.5L * y;
+      ldouble_t y_half = L(0.5) * y;
       if (x > y_half)
 	{
 	  x -= y;
@@ -103,8 +103,8 @@ __remquol (ldouble_t x, ldouble_t y, int *quo)
   *quo = qs ? -cquo : cquo;
 
   /* Ensure correct sign of zero result in round-downward mode.  */
-  if (x == 0.0L)
-    x = 0.0L;
+  if (x == 0)
+    x = 0;
   if (sx)
     x = -x;
   return x;
diff --git a/sysdeps/ieee754/ldbl-128/s_scalblnl.c b/sysdeps/ieee754/ldbl-128/s_scalblnl.c
index 1c30d90..cc900b6 100644
--- a/sysdeps/ieee754/ldbl-128/s_scalblnl.c
+++ b/sysdeps/ieee754/ldbl-128/s_scalblnl.c
@@ -29,10 +29,10 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 
 static const ldouble_t
-two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */
-twom114 = 4.8148248609680896326399448564623183E-35L, /* 0x3F8D000000000000, 0 */
-huge   = 1.0E+4900L,
-tiny   = 1.0E-4900L;
+two114  = L(2.0769187434139310514121985316880384E+34), /* 0x4071000000000000, 0 */
+twom114 = L(4.8148248609680896326399448564623183E-35), /* 0x3F8D000000000000, 0 */
+huge    = L(1.0E+4900),
+tiny    = L(1.0E-4900);
 
 ldouble_t __scalblnl (ldouble_t x, long int n)
 {
diff --git a/sysdeps/ieee754/ldbl-128/s_scalbnl.c b/sysdeps/ieee754/ldbl-128/s_scalbnl.c
index b4e62f6..aac2afd 100644
--- a/sysdeps/ieee754/ldbl-128/s_scalbnl.c
+++ b/sysdeps/ieee754/ldbl-128/s_scalbnl.c
@@ -29,10 +29,10 @@ static char rcsid[] = "$NetBSD: $";
 #include <math_private.h>
 
 static const ldouble_t
-two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */
-twom114 = 4.8148248609680896326399448564623183E-35L, /* 0x3F8D000000000000, 0 */
-huge   = 1.0E+4900L,
-tiny   = 1.0E-4900L;
+two114 =  L(2.0769187434139310514121985316880384E+34), /* 0x4071000000000000, 0 */
+twom114 = L(4.8148248609680896326399448564623183E-35), /* 0x3F8D000000000000, 0 */
+huge   =  L(1.0E+4900),
+tiny   =  L(1.0E-4900);
 
 ldouble_t __scalbnl (ldouble_t x, int n)
 {
diff --git a/sysdeps/ieee754/ldbl-128/s_sincosl.c b/sysdeps/ieee754/ldbl-128/s_sincosl.c
index 33f5f0f..902ef9e 100644
--- a/sysdeps/ieee754/ldbl-128/s_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/s_sincosl.c
@@ -34,7 +34,7 @@ __sincosl (ldouble_t x, ldouble_t *sinx, ldouble_t *cosx)
   /* |x| ~< pi/4 */
   ix &= 0x7fffffffffffffffLL;
   if (ix <= 0x3ffe921fb54442d1LL)
-    __kernel_sincosl (x, 0.0L, sinx, cosx, 0);
+    __kernel_sincosl (x, 0.0, sinx, cosx, 0);
   else if (ix >= 0x7fff000000000000LL)
     {
       /* sin(Inf or NaN) is NaN */
diff --git a/sysdeps/ieee754/ldbl-128/s_sinl.c b/sysdeps/ieee754/ldbl-128/s_sinl.c
index d4c13a6..5f7f5d5 100644
--- a/sysdeps/ieee754/ldbl-128/s_sinl.c
+++ b/sysdeps/ieee754/ldbl-128/s_sinl.c
@@ -50,7 +50,7 @@
 
 ldouble_t __sinl(ldouble_t x)
 {
-	ldouble_t y[2],z=0.0L;
+	ldouble_t y[2],z=0.0;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/s_tanhl.c b/sysdeps/ieee754/ldbl-128/s_tanhl.c
index c5f9ede..d8e7de6 100644
--- a/sysdeps/ieee754/ldbl-128/s_tanhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_tanhl.c
@@ -45,7 +45,7 @@
 #include <math.h>
 #include <math_private.h>
 
-static const ldouble_t one = 1.0, two = 2.0, tiny = 1.0e-4900L;
+static const ldouble_t one = 1.0, two = 2.0, tiny = L(1.0e-4900);
 
 ldouble_t
 __tanhl (ldouble_t x)
diff --git a/sysdeps/ieee754/ldbl-128/s_tanl.c b/sysdeps/ieee754/ldbl-128/s_tanl.c
index e8af5b3..2f7b1eb 100644
--- a/sysdeps/ieee754/ldbl-128/s_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_tanl.c
@@ -50,7 +50,7 @@
 
 ldouble_t __tanl(ldouble_t x)
 {
-	ldouble_t y[2],z=0.0L;
+	ldouble_t y[2],z=0.0;
 	int64_t n, ix;
 
     /* High word of x. */
diff --git a/sysdeps/ieee754/ldbl-128/t_expl.h b/sysdeps/ieee754/ldbl-128/t_expl.h
index 777c188..c1dc752 100644
--- a/sysdeps/ieee754/ldbl-128/t_expl.h
+++ b/sysdeps/ieee754/ldbl-128/t_expl.h
@@ -30,941 +30,941 @@
    where absl(s) <= 2^-54 and absl(r) <= 2^-212.  */
 
 static const ldouble_t __expl_table [] = {
- -3.47656250000000000584188889839535373E-01L, /* bffd640000000000002b1b04213cf000 */
-  6.90417668990715641167244540876988960E-32L, /* 3f97667c3fdb588a6ae1af8748357a17 */
- -3.43749999999999981853132895957607418E-01L, /* bffd5ffffffffffffac4ff5f4050b000 */
- -7.16021898043268093462818380603370350E-33L, /* bf94296c8219427edc1431ac2498583e */
- -3.39843750000000013418643523138766329E-01L, /* bffd5c000000000003de1f027a30e000 */
-  8.16920774283317801641347327589583265E-32L, /* 3f97a82b65774bdca1b4440d749ed8d3 */
- -3.35937500000000014998092453039303051E-01L, /* bffd5800000000000452a9f4d8857000 */
- -6.55865578425428447938248396879359670E-32L, /* bf97548b7d240f3d034b395e6eecfac8 */
- -3.32031250000000000981984049529998541E-01L, /* bffd540000000000004875277cda5000 */
-  6.91213046334032232108944519541512737E-32L, /* 3f9766e5f925338a19045c94443b66e1 */
- -3.28124999999999986646017645350399708E-01L, /* bffd4ffffffffffffc26a667bf44d000 */
- -6.16281060996110316602421505683742661E-32L, /* bf973ffdcdcffb6fbffc86b2b8d42f5d */
- -3.24218749999999991645717430645867963E-01L, /* bffd4bfffffffffffd97901063e48000 */
- -7.90797211087760527593856542417304137E-32L, /* bf979a9afaaca1ada6a8ed1c80584d60 */
- -3.20312499999999998918211610690789652E-01L, /* bffd47ffffffffffffb02d9856d71000 */
-  8.64024799457616856987630373786503376E-32L, /* 3f97c0a098623f95579d5d9b2b67342d */
- -3.16406249999999998153974811017181883E-01L, /* bffd43ffffffffffff77c991f1076000 */
- -2.73176610180696076418536105483668404E-32L, /* bf961baeccb32f9b1fcbb8e60468e95a */
- -3.12500000000000011420976192575972779E-01L, /* bffd400000000000034ab8240483d000 */
-  7.16573502812389453744433792609989420E-32L, /* 3f977410f4c2cfc4335f28446c0fb363 */
- -3.08593750000000001735496343854851414E-01L, /* bffd3c000000000000800e995c176000 */
- -1.56292999645122272621237565671593071E-32L, /* bf95449b9cbdaff6ac1246adb2c826ac */
- -3.04687499999999982592401295899221626E-01L, /* bffd37fffffffffffafb8bc1e061a000 */
-  6.48993208584888904958594509625158417E-32L, /* 3f9750f9fe8366d82d77afa0031a92e1 */
- -3.00781249999999999230616898937763959E-01L, /* bffd33ffffffffffffc73ac39da54000 */
-  6.57082437496961397305801409357792029E-32L, /* 3f97552d3cb598ea80135cf3feb27ec4 */
- -2.96874999999999998788769281703245722E-01L, /* bffd2fffffffffffffa6a07fa5021000 */
- -3.26588297198283968096426564544269170E-32L, /* bf9653260fc1802f46b629aee171809b */
- -2.92968750000000015318089182805941695E-01L, /* bffd2c0000000000046a468614bd6000 */
- -1.73291974845198589684358727559290718E-32L, /* bf9567e9d158f52e483c8d8dcb5961dd */
- -2.89062500000000007736778942676309681E-01L, /* bffd280000000000023adf9f4c3d3000 */
- -6.83629745986675744404029225571026236E-32L, /* bf9762f5face6281c1daf1c6aedbdb45 */
- -2.85156250000000001367091555763661937E-01L, /* bffd2400000000000064dfa11e3fb000 */
- -5.44898442619766878281110054067026237E-32L, /* bf971aed6d2db9f542986a785edae072 */
- -2.81249999999999986958718100227029406E-01L, /* bffd1ffffffffffffc3db9265ca9d000 */
-  1.13007318374506125723591889451107046E-32L, /* 3f94d569fe387f456a97902907ac3856 */
- -2.77343750000000000356078829380495179E-01L, /* bffd1c0000000000001a462390083000 */
- -4.98979365468978332358409063436543102E-32L, /* bf970315bbf3e0d14b5c94c900702d4c */
- -2.73437499999999990276993957508540484E-01L, /* bffd17fffffffffffd32919bcdc94000 */
- -8.79390484115892344533724650295100871E-32L, /* bf97c89b0b89cc19c3ab2b60da9bbbc3 */
- -2.69531250000000002434203866460082225E-01L, /* bffd14000000000000b39ccf9e130000 */
-  9.44060754687026590886751809927191596E-32L, /* 3f97ea2f32cfecca5c64a26137a9210f */
- -2.65624999999999997296320716986257179E-01L, /* bffd0fffffffffffff3880f13a2bc000 */
-  2.07142664067265697791007875348396921E-32L, /* 3f95ae37ee685b9122fbe377bd205ee4 */
- -2.61718750000000010237478733739017956E-01L, /* bffd0c000000000002f3648179d40000 */
- -6.10552936159265665298996309192680256E-32L, /* bf973d0467d31e407515a3cca0f3b4e2 */
- -2.57812500000000011948220522778370303E-01L, /* bffd08000000000003719f81275bd000 */
-  6.72477169058908902499239631466443836E-32L, /* 3f975d2b8c475d3160cf72d227d8e6f9 */
- -2.53906249999999991822993360536596860E-01L, /* bffd03fffffffffffda4a4b62f818000 */
- -2.44868296623215865054704392917190994E-32L, /* bf95fc92516c6d057d29fc2528855976 */
- -2.49999999999999986862019457428548084E-01L, /* bffcfffffffffffff86d2d20d5ff4000 */
- -3.85302898949105073614122724961613078E-32L, /* bf96901f147cb7d643af71b6129ce929 */
- -2.46093750000000000237554160737318435E-01L, /* bffcf8000000000000230e8ade26b000 */
- -1.52823675242678363494345369284988589E-32L, /* bf953d6700c5f3fc303f79d0ec8c680a */
- -2.42187500000000003023380963205457065E-01L, /* bffcf0000000000001be2c1a78bb0000 */
- -7.78402037952209709489481182714311699E-34L, /* bf9102ab1f3998e887f0ee4cf940faa5 */
- -2.38281249999999995309623303145485725E-01L, /* bffce7fffffffffffd4bd2940f43f000 */
- -3.54307216794236899443913216397197696E-32L, /* bf966fef03ab69c3f289436205b21d02 */
- -2.34374999999999998425804947623207526E-01L, /* bffcdfffffffffffff17b097a6092000 */
- -2.86038428948386602859761879407549696E-32L, /* bf96290a0eba0131efe3a05fe188f2e3 */
- -2.30468749999999993822207406785200832E-01L, /* bffcd7fffffffffffc70519834eae000 */
- -2.54339521031747516806893838749365762E-32L, /* bf96081f0ad7f9107ae6cddb32c178ab */
- -2.26562499999999997823524030344489884E-01L, /* bffccffffffffffffebecf10093df000 */
-  4.31904611473158635644635628922959401E-32L, /* 3f96c083f0b1faa7c4c686193e38d67c */
- -2.22656250000000004835132405125162742E-01L, /* bffcc8000000000002c98a233f19f000 */
-  2.54709791629335691650310168420597566E-33L, /* 3f92a735903f5eed07a716ab931e20d9 */
- -2.18749999999999988969454021829236626E-01L, /* bffcbffffffffffff9a42dc14ce36000 */
- -3.77236096429336082213752014054909454E-32L, /* bf9687be8e5b2fca54d3e81157eac660 */
- -2.14843750000000010613256919115758495E-01L, /* bffcb80000000000061e3d828ecac000 */
- -4.55194148712216691177097854305964738E-32L, /* bf96d8b35c776aa3e1a4768271380503 */
- -2.10937499999999993204656148110447201E-01L, /* bffcaffffffffffffc152f2aea118000 */
- -2.95044199165561453749332254271716417E-32L, /* bf96326433b00b2439094d9bef22ddd1 */
- -2.07031250000000012233944895423355677E-01L, /* bffca80000000000070d695ee0e94000 */
-  1.93146788688385419095981415411012357E-32L, /* 3f959126729135a5e390d4bb802a0bde */
- -2.03125000000000008030983633336321863E-01L, /* bffca0000000000004a129fbc51af000 */
-  2.37361904671826193563212931215900137E-32L, /* 3f95ecfb3c4ba1b97ea3ad45cbb1e68a */
- -1.99218750000000001763815712796132779E-01L, /* bffc98000000000001044b12d9950000 */
- -3.63171243370923753295192486732883239E-33L, /* bf932db5fb3f27c38e0fa7bbcfc64f55 */
- -1.95312500000000004883660234506677272E-01L, /* bffc90000000000002d0b3779d1f9000 */
- -3.19989507343607877747980892249711601E-33L, /* bf9309d63de96bb3ef744c865f22f1bd */
- -1.91406250000000013720152363227519348E-01L, /* bffc88000000000007e8bcb387121000 */
- -1.89295754093147174148371614722178860E-32L, /* bf958926e2e67dfe812c508290add2e7 */
- -1.87500000000000000182342082774432620E-01L, /* bffc800000000000001ae8b06a39f000 */
- -2.96812835183184815200854214892983927E-32L, /* bf96343a62d156bbe71f55d14ca4b6e5 */
- -1.83593750000000012410147185883290345E-01L, /* bffc78000000000007276a1adda8d000 */
- -2.02191931237489669058466239995304587E-32L, /* bf95a3efab92d26ec2df90df036a117f */
- -1.79687499999999997439177363346082917E-01L, /* bffc6ffffffffffffe8616db2927d000 */
- -9.92752326937775530007399526834009465E-33L, /* bf949c5f88ed17041e1a3f1829d543cd */
- -1.75781249999999995824373974504785174E-01L, /* bffc67fffffffffffd97c94f13ea3000 */
-  1.44184772065335613487885714828816178E-32L, /* 3f952b75c63476e7fcc2f5841c27bcce */
- -1.71874999999999986685050259043077809E-01L, /* bffc5ffffffffffff8530f6bc531a000 */
- -3.49007014971241147689894940544402482E-32L, /* bf966a6dfaa012aea8ffe6d90b02330f */
- -1.67968749999999997316058782350439701E-01L, /* bffc57fffffffffffe73eb914f2aa000 */
-  3.34025733574205019081305778794376391E-32L, /* 3f965adf4572561fd5456a6c13d8babf */
- -1.64062499999999993322730602128318480E-01L, /* bffc4ffffffffffffc269be4f68f3000 */
- -1.83345916769684984022099095506340635E-32L, /* bf957ccb69026cb2f6024c211576d5f4 */
- -1.60156249999999992419000744447607979E-01L, /* bffc47fffffffffffba13df21784a000 */
-  2.73442789798110494773517431626534726E-32L, /* 3f961bf58ff22c9b30f1e2b39f26d7d5 */
- -1.56249999999999987665010524130393080E-01L, /* bffc3ffffffffffff8e3ad45e7508000 */
-  2.02695576464836145806428118889332191E-32L, /* 3f95a4fb7435a4a2f71de81eb8ae75d1 */
- -1.52343749999999989905291167951491803E-01L, /* bffc37fffffffffffa2e48aecfc24000 */
- -3.61436631548815190395331054871041524E-32L, /* bf967756567ebd108075ae527cc2e7f0 */
- -1.48437500000000006686107754967759751E-01L, /* bffc30000000000003dab20261b3c000 */
- -2.15524270159131591469319477922198390E-32L, /* bf95bfa05b82ef3a708c4f0395e9fcf6 */
- -1.44531250000000005132889939177166485E-01L, /* bffc28000000000002f57b1969e7b000 */
-  2.74741116529653547935086189244019604E-32L, /* 3f961d4eb77c1185d34fe1b04a3f3cf5 */
- -1.40625000000000000707469094533647325E-01L, /* bffc2000000000000068676d3d5c4000 */
-  4.40607097220049957013547629906723266E-33L, /* 3f936e0ac425daf795b42913cf0ef881 */
- -1.36718749999999995713752139187543306E-01L, /* bffc17fffffffffffd87762255991000 */
- -3.73751317180116492404578048203389108E-32L, /* bf9684202491e9cbb7ceb67d9ff7e0c9 */
- -1.32812500000000007198453630478482191E-01L, /* bffc10000000000004264de3a4379000 */
- -3.97050085179660203884930593717220728E-32L, /* bf969c52048de14be3c9c1971e50869c */
- -1.28906250000000006070486371645733082E-01L, /* bffc080000000000037fd87db2cb0000 */
-  3.59610068058504988294019521946586131E-32L, /* 3f967570c10687cb8e9ebd0b280abf5a */
- -1.25000000000000003700729208608337966E-01L, /* bffc00000000000002222198bbc74000 */
-  3.23464851393124362331846965931995969E-33L, /* 3f930cb95da3bfc847e593716c91d57a */
- -1.21093750000000013729038501177102555E-01L, /* bffbf000000000000fd418d1f5fda000 */
-  2.45242487730722066611358741283977619E-32L, /* 3f95fd5945ad86a464292e26ac192a84 */
- -1.17187499999999999765305306880205578E-01L, /* bffbdfffffffffffffbabaf869845000 */
- -1.14557520298960389903199646350205537E-32L, /* bf94dbda735322179d9bcf392e1dd06d */
- -1.13281250000000009579647893740755690E-01L, /* bffbd000000000000b0b69bae7ab9000 */
-  2.37873962873837390105423621772752350E-32L, /* 3f95ee0b7e0bd5ac1f6fab1e2a71abc3 */
- -1.09375000000000008981153004560108539E-01L, /* bffbc000000000000a5ac4bc1d2c3000 */
-  1.53152444860014076105003555837231015E-32L, /* 3f953e15ce931e12ef9a152522e32bdd */
- -1.05468749999999992399063850363228723E-01L, /* bffbaffffffffffff73c998091408000 */
- -8.75920903597804862471749360196688834E-33L, /* bf946bd7e310a01bae5687ebdc47fcc5 */
- -1.01562500000000007685885179918350550E-01L, /* bffba0000000000008dc7910a648c000 */
- -4.63820993797174451904075397785059501E-33L, /* bf938153d0e54001a472da180fb5e8aa */
- -9.76562499999999887262211517861331814E-02L, /* bffb8ffffffffffff300915aa6fd6000 */
- -2.63767025974952608658936466715705903E-33L, /* bf92b64215bb8d520be5404620d38088 */
- -9.37499999999999939650246024457439795E-02L, /* bffb7ffffffffffff90aca26bd0fc000 */
- -1.72047822349322956713582039121348377E-32L, /* bf9565545015c5b9b56d02cfefca2c7d */
- -8.98437500000000033088896383977486369E-02L, /* bffb70000000000003d09ca1e3cbe000 */
-  3.04831994420989436248526129869697270E-33L, /* 3f92fa7d30d2ed90e7ebbd6231fd08b1 */
- -8.59374999999999947312400115121319225E-02L, /* bffb5ffffffffffff9ecefc03376e000 */
-  1.50416954438393392150792422537312281E-32L, /* 3f9538675ee99bd722fad0023c09c915 */
- -8.20312500000000054182280847004695514E-02L, /* bffb500000000000063f2dbd40200000 */
-  2.68399664523430004488075638997207289E-33L, /* 3f92bdf49766629882c49a3da88928ed */
- -7.81250000000000114767533968079748798E-02L, /* bffb4000000000000d3b56f81ba70000 */
-  1.72318124201659121296305402819694281E-32L, /* 3f9565e407aaabfb359e8a567d760de3 */
- -7.42187500000000035531829472486812869E-02L, /* bffb3000000000000418b6e9b5388000 */
-  2.09401756478514117051383998628099655E-32L, /* 3f95b2e91221fcd74be0a86d8ad658d2 */
- -7.03124999999999987474933134860732535E-02L, /* bffb1ffffffffffffe8e53453d2ac000 */
-  2.28515798224350800271565551341211666E-32L, /* 3f95da9bd6adf00894f05b5cc5530125 */
- -6.64062500000000042267533361089054159E-02L, /* bffb10000000000004df8473dbcf2000 */
-  1.97576478800281368377376002585430031E-32L, /* 3f959a59acbddb2f53bd3096b66370e9 */
- -6.25000000000000066329769382774201686E-02L, /* bffb00000000000007a5b5914e336000 */
- -1.46422615813786836245343723048221678E-33L, /* bf91e69295f069fc0c4a9db181ea25a3 */
- -5.85937500000000002823707957982406053E-02L, /* bffae0000000000000a6aeab10592000 */
-  9.25637741701318872896718218457555829E-33L, /* 3f94807eb021f1f40a37d4015b1eb76b */
- -5.46875000000000081586888005226044448E-02L, /* bffac0000000000012d00a3171e3a000 */
- -4.87144542459404765480424673678105050E-33L, /* bf9394b42faba6b7036fe7b36269daf3 */
- -5.07812499999999927720348253140567013E-02L, /* bffa9fffffffffffef555cc8dd914000 */
- -3.01901021987395945826043649523451725E-33L, /* bf92f59e7e3025691f290f8f67277faf */
- -4.68749999999999935349476738962633103E-02L, /* bffa7ffffffffffff117b4ea2b876000 */
-  1.21521638219189777347767475937119750E-32L, /* 3f94f8c7f88c5b56674b94d984ac8ecb */
- -4.29687500000000056305562847814228219E-02L, /* bffa6000000000000cfbb19be30c0000 */
- -1.18643699217679276275559592978275214E-32L, /* bf94ecd39f0833a876550e83eb012b99 */
- -3.90624999999999962692914526031373542E-02L, /* bffa3ffffffffffff765c743922f9000 */
- -4.91277156857520035712509544689973679E-33L, /* bf939823189996193872e58ac0dececb */
- -3.51562500000000108152468207687602886E-02L, /* bffa20000000000018f031e41177f000 */
-  1.18599806302656253755207072755609820E-32L, /* 3f94eca4f23e787fab73ce8f6b9b8d64 */
- -3.12500000000000077376981036742289578E-02L, /* bffa00000000000011d787e0b386f000 */
-  9.97730386477005171963635210799577079E-33L, /* 3f949e70e498c46a0173ac0d46c699fc */
- -2.73437500000000139436129596418623235E-02L, /* bff9c00000000000404db66e70a08000 */
-  2.25755321633070123579875157841633859E-33L, /* 3f927719b1a93074bdf9f3c2cb784785 */
- -2.34375000000000088003629211828324876E-02L, /* bff98000000000002895a27d45feb000 */
-  2.84374279216848803102126617873942975E-33L, /* 3f92d87f70e749d6da6c260b68dc210b */
- -1.95312500000000107408831063404855424E-02L, /* bff9400000000000318898ba69f71000 */
-  2.47348089686935458989103979140011912E-33L, /* 3f929afa3de45086fe909fdddb41edce */
- -1.56250000000000081443917555362290635E-02L, /* bff9000000000000258f335e9cdd6000 */
- -2.43379314483517422161458863218426254E-33L, /* bf9294621c8a9ccacf2b020ec19cad27 */
- -1.17187500000000051490597418161403184E-02L, /* bff88000000000002f7ddfa26221f000 */
-  1.83405297208145390679150568810924707E-33L, /* 3f9230bbfc5d5fe1b534fbcda0465bb9 */
- -7.81249999999999715861805208310174953E-03L, /* bff7ffffffffffffcb95f3fff157d000 */
-  3.51548384878710915171654413641872451E-34L, /* 3f8fd349b76c22966f77a39fc37ed704 */
- -3.90625000000000309326013918295097128E-03L, /* bff7000000000000390f820c8e153000 */
-  6.38058004651791109324060099097251911E-36L, /* 3f8a0f665d3ac25a1ac94d688273dbcd */
+ -L(3.47656250000000000584188889839535373E-01), /* bffd640000000000002b1b04213cf000 */
+  L(6.90417668990715641167244540876988960E-32), /* 3f97667c3fdb588a6ae1af8748357a17 */
+ -L(3.43749999999999981853132895957607418E-01), /* bffd5ffffffffffffac4ff5f4050b000 */
+ -L(7.16021898043268093462818380603370350E-33), /* bf94296c8219427edc1431ac2498583e */
+ -L(3.39843750000000013418643523138766329E-01), /* bffd5c000000000003de1f027a30e000 */
+  L(8.16920774283317801641347327589583265E-32), /* 3f97a82b65774bdca1b4440d749ed8d3 */
+ -L(3.35937500000000014998092453039303051E-01), /* bffd5800000000000452a9f4d8857000 */
+ -L(6.55865578425428447938248396879359670E-32), /* bf97548b7d240f3d034b395e6eecfac8 */
+ -L(3.32031250000000000981984049529998541E-01), /* bffd540000000000004875277cda5000 */
+  L(6.91213046334032232108944519541512737E-32), /* 3f9766e5f925338a19045c94443b66e1 */
+ -L(3.28124999999999986646017645350399708E-01), /* bffd4ffffffffffffc26a667bf44d000 */
+ -L(6.16281060996110316602421505683742661E-32), /* bf973ffdcdcffb6fbffc86b2b8d42f5d */
+ -L(3.24218749999999991645717430645867963E-01), /* bffd4bfffffffffffd97901063e48000 */
+ -L(7.90797211087760527593856542417304137E-32), /* bf979a9afaaca1ada6a8ed1c80584d60 */
+ -L(3.20312499999999998918211610690789652E-01), /* bffd47ffffffffffffb02d9856d71000 */
+  L(8.64024799457616856987630373786503376E-32), /* 3f97c0a098623f95579d5d9b2b67342d */
+ -L(3.16406249999999998153974811017181883E-01), /* bffd43ffffffffffff77c991f1076000 */
+ -L(2.73176610180696076418536105483668404E-32), /* bf961baeccb32f9b1fcbb8e60468e95a */
+ -L(3.12500000000000011420976192575972779E-01), /* bffd400000000000034ab8240483d000 */
+  L(7.16573502812389453744433792609989420E-32), /* 3f977410f4c2cfc4335f28446c0fb363 */
+ -L(3.08593750000000001735496343854851414E-01), /* bffd3c000000000000800e995c176000 */
+ -L(1.56292999645122272621237565671593071E-32), /* bf95449b9cbdaff6ac1246adb2c826ac */
+ -L(3.04687499999999982592401295899221626E-01), /* bffd37fffffffffffafb8bc1e061a000 */
+  L(6.48993208584888904958594509625158417E-32), /* 3f9750f9fe8366d82d77afa0031a92e1 */
+ -L(3.00781249999999999230616898937763959E-01), /* bffd33ffffffffffffc73ac39da54000 */
+  L(6.57082437496961397305801409357792029E-32), /* 3f97552d3cb598ea80135cf3feb27ec4 */
+ -L(2.96874999999999998788769281703245722E-01), /* bffd2fffffffffffffa6a07fa5021000 */
+ -L(3.26588297198283968096426564544269170E-32), /* bf9653260fc1802f46b629aee171809b */
+ -L(2.92968750000000015318089182805941695E-01), /* bffd2c0000000000046a468614bd6000 */
+ -L(1.73291974845198589684358727559290718E-32), /* bf9567e9d158f52e483c8d8dcb5961dd */
+ -L(2.89062500000000007736778942676309681E-01), /* bffd280000000000023adf9f4c3d3000 */
+ -L(6.83629745986675744404029225571026236E-32), /* bf9762f5face6281c1daf1c6aedbdb45 */
+ -L(2.85156250000000001367091555763661937E-01), /* bffd2400000000000064dfa11e3fb000 */
+ -L(5.44898442619766878281110054067026237E-32), /* bf971aed6d2db9f542986a785edae072 */
+ -L(2.81249999999999986958718100227029406E-01), /* bffd1ffffffffffffc3db9265ca9d000 */
+  L(1.13007318374506125723591889451107046E-32), /* 3f94d569fe387f456a97902907ac3856 */
+ -L(2.77343750000000000356078829380495179E-01), /* bffd1c0000000000001a462390083000 */
+ -L(4.98979365468978332358409063436543102E-32), /* bf970315bbf3e0d14b5c94c900702d4c */
+ -L(2.73437499999999990276993957508540484E-01), /* bffd17fffffffffffd32919bcdc94000 */
+ -L(8.79390484115892344533724650295100871E-32), /* bf97c89b0b89cc19c3ab2b60da9bbbc3 */
+ -L(2.69531250000000002434203866460082225E-01), /* bffd14000000000000b39ccf9e130000 */
+  L(9.44060754687026590886751809927191596E-32), /* 3f97ea2f32cfecca5c64a26137a9210f */
+ -L(2.65624999999999997296320716986257179E-01), /* bffd0fffffffffffff3880f13a2bc000 */
+  L(2.07142664067265697791007875348396921E-32), /* 3f95ae37ee685b9122fbe377bd205ee4 */
+ -L(2.61718750000000010237478733739017956E-01), /* bffd0c000000000002f3648179d40000 */
+ -L(6.10552936159265665298996309192680256E-32), /* bf973d0467d31e407515a3cca0f3b4e2 */
+ -L(2.57812500000000011948220522778370303E-01), /* bffd08000000000003719f81275bd000 */
+  L(6.72477169058908902499239631466443836E-32), /* 3f975d2b8c475d3160cf72d227d8e6f9 */
+ -L(2.53906249999999991822993360536596860E-01), /* bffd03fffffffffffda4a4b62f818000 */
+ -L(2.44868296623215865054704392917190994E-32), /* bf95fc92516c6d057d29fc2528855976 */
+ -L(2.49999999999999986862019457428548084E-01), /* bffcfffffffffffff86d2d20d5ff4000 */
+ -L(3.85302898949105073614122724961613078E-32), /* bf96901f147cb7d643af71b6129ce929 */
+ -L(2.46093750000000000237554160737318435E-01), /* bffcf8000000000000230e8ade26b000 */
+ -L(1.52823675242678363494345369284988589E-32), /* bf953d6700c5f3fc303f79d0ec8c680a */
+ -L(2.42187500000000003023380963205457065E-01), /* bffcf0000000000001be2c1a78bb0000 */
+ -L(7.78402037952209709489481182714311699E-34), /* bf9102ab1f3998e887f0ee4cf940faa5 */
+ -L(2.38281249999999995309623303145485725E-01), /* bffce7fffffffffffd4bd2940f43f000 */
+ -L(3.54307216794236899443913216397197696E-32), /* bf966fef03ab69c3f289436205b21d02 */
+ -L(2.34374999999999998425804947623207526E-01), /* bffcdfffffffffffff17b097a6092000 */
+ -L(2.86038428948386602859761879407549696E-32), /* bf96290a0eba0131efe3a05fe188f2e3 */
+ -L(2.30468749999999993822207406785200832E-01), /* bffcd7fffffffffffc70519834eae000 */
+ -L(2.54339521031747516806893838749365762E-32), /* bf96081f0ad7f9107ae6cddb32c178ab */
+ -L(2.26562499999999997823524030344489884E-01), /* bffccffffffffffffebecf10093df000 */
+  L(4.31904611473158635644635628922959401E-32), /* 3f96c083f0b1faa7c4c686193e38d67c */
+ -L(2.22656250000000004835132405125162742E-01), /* bffcc8000000000002c98a233f19f000 */
+  L(2.54709791629335691650310168420597566E-33), /* 3f92a735903f5eed07a716ab931e20d9 */
+ -L(2.18749999999999988969454021829236626E-01), /* bffcbffffffffffff9a42dc14ce36000 */
+ -L(3.77236096429336082213752014054909454E-32), /* bf9687be8e5b2fca54d3e81157eac660 */
+ -L(2.14843750000000010613256919115758495E-01), /* bffcb80000000000061e3d828ecac000 */
+ -L(4.55194148712216691177097854305964738E-32), /* bf96d8b35c776aa3e1a4768271380503 */
+ -L(2.10937499999999993204656148110447201E-01), /* bffcaffffffffffffc152f2aea118000 */
+ -L(2.95044199165561453749332254271716417E-32), /* bf96326433b00b2439094d9bef22ddd1 */
+ -L(2.07031250000000012233944895423355677E-01), /* bffca80000000000070d695ee0e94000 */
+  L(1.93146788688385419095981415411012357E-32), /* 3f959126729135a5e390d4bb802a0bde */
+ -L(2.03125000000000008030983633336321863E-01), /* bffca0000000000004a129fbc51af000 */
+  L(2.37361904671826193563212931215900137E-32), /* 3f95ecfb3c4ba1b97ea3ad45cbb1e68a */
+ -L(1.99218750000000001763815712796132779E-01), /* bffc98000000000001044b12d9950000 */
+ -L(3.63171243370923753295192486732883239E-33), /* bf932db5fb3f27c38e0fa7bbcfc64f55 */
+ -L(1.95312500000000004883660234506677272E-01), /* bffc90000000000002d0b3779d1f9000 */
+ -L(3.19989507343607877747980892249711601E-33), /* bf9309d63de96bb3ef744c865f22f1bd */
+ -L(1.91406250000000013720152363227519348E-01), /* bffc88000000000007e8bcb387121000 */
+ -L(1.89295754093147174148371614722178860E-32), /* bf958926e2e67dfe812c508290add2e7 */
+ -L(1.87500000000000000182342082774432620E-01), /* bffc800000000000001ae8b06a39f000 */
+ -L(2.96812835183184815200854214892983927E-32), /* bf96343a62d156bbe71f55d14ca4b6e5 */
+ -L(1.83593750000000012410147185883290345E-01), /* bffc78000000000007276a1adda8d000 */
+ -L(2.02191931237489669058466239995304587E-32), /* bf95a3efab92d26ec2df90df036a117f */
+ -L(1.79687499999999997439177363346082917E-01), /* bffc6ffffffffffffe8616db2927d000 */
+ -L(9.92752326937775530007399526834009465E-33), /* bf949c5f88ed17041e1a3f1829d543cd */
+ -L(1.75781249999999995824373974504785174E-01), /* bffc67fffffffffffd97c94f13ea3000 */
+  L(1.44184772065335613487885714828816178E-32), /* 3f952b75c63476e7fcc2f5841c27bcce */
+ -L(1.71874999999999986685050259043077809E-01), /* bffc5ffffffffffff8530f6bc531a000 */
+ -L(3.49007014971241147689894940544402482E-32), /* bf966a6dfaa012aea8ffe6d90b02330f */
+ -L(1.67968749999999997316058782350439701E-01), /* bffc57fffffffffffe73eb914f2aa000 */
+  L(3.34025733574205019081305778794376391E-32), /* 3f965adf4572561fd5456a6c13d8babf */
+ -L(1.64062499999999993322730602128318480E-01), /* bffc4ffffffffffffc269be4f68f3000 */
+ -L(1.83345916769684984022099095506340635E-32), /* bf957ccb69026cb2f6024c211576d5f4 */
+ -L(1.60156249999999992419000744447607979E-01), /* bffc47fffffffffffba13df21784a000 */
+  L(2.73442789798110494773517431626534726E-32), /* 3f961bf58ff22c9b30f1e2b39f26d7d5 */
+ -L(1.56249999999999987665010524130393080E-01), /* bffc3ffffffffffff8e3ad45e7508000 */
+  L(2.02695576464836145806428118889332191E-32), /* 3f95a4fb7435a4a2f71de81eb8ae75d1 */
+ -L(1.52343749999999989905291167951491803E-01), /* bffc37fffffffffffa2e48aecfc24000 */
+ -L(3.61436631548815190395331054871041524E-32), /* bf967756567ebd108075ae527cc2e7f0 */
+ -L(1.48437500000000006686107754967759751E-01), /* bffc30000000000003dab20261b3c000 */
+ -L(2.15524270159131591469319477922198390E-32), /* bf95bfa05b82ef3a708c4f0395e9fcf6 */
+ -L(1.44531250000000005132889939177166485E-01), /* bffc28000000000002f57b1969e7b000 */
+  L(2.74741116529653547935086189244019604E-32), /* 3f961d4eb77c1185d34fe1b04a3f3cf5 */
+ -L(1.40625000000000000707469094533647325E-01), /* bffc2000000000000068676d3d5c4000 */
+  L(4.40607097220049957013547629906723266E-33), /* 3f936e0ac425daf795b42913cf0ef881 */
+ -L(1.36718749999999995713752139187543306E-01), /* bffc17fffffffffffd87762255991000 */
+ -L(3.73751317180116492404578048203389108E-32), /* bf9684202491e9cbb7ceb67d9ff7e0c9 */
+ -L(1.32812500000000007198453630478482191E-01), /* bffc10000000000004264de3a4379000 */
+ -L(3.97050085179660203884930593717220728E-32), /* bf969c52048de14be3c9c1971e50869c */
+ -L(1.28906250000000006070486371645733082E-01), /* bffc080000000000037fd87db2cb0000 */
+  L(3.59610068058504988294019521946586131E-32), /* 3f967570c10687cb8e9ebd0b280abf5a */
+ -L(1.25000000000000003700729208608337966E-01), /* bffc00000000000002222198bbc74000 */
+  L(3.23464851393124362331846965931995969E-33), /* 3f930cb95da3bfc847e593716c91d57a */
+ -L(1.21093750000000013729038501177102555E-01), /* bffbf000000000000fd418d1f5fda000 */
+  L(2.45242487730722066611358741283977619E-32), /* 3f95fd5945ad86a464292e26ac192a84 */
+ -L(1.17187499999999999765305306880205578E-01), /* bffbdfffffffffffffbabaf869845000 */
+ -L(1.14557520298960389903199646350205537E-32), /* bf94dbda735322179d9bcf392e1dd06d */
+ -L(1.13281250000000009579647893740755690E-01), /* bffbd000000000000b0b69bae7ab9000 */
+  L(2.37873962873837390105423621772752350E-32), /* 3f95ee0b7e0bd5ac1f6fab1e2a71abc3 */
+ -L(1.09375000000000008981153004560108539E-01), /* bffbc000000000000a5ac4bc1d2c3000 */
+  L(1.53152444860014076105003555837231015E-32), /* 3f953e15ce931e12ef9a152522e32bdd */
+ -L(1.05468749999999992399063850363228723E-01), /* bffbaffffffffffff73c998091408000 */
+ -L(8.75920903597804862471749360196688834E-33), /* bf946bd7e310a01bae5687ebdc47fcc5 */
+ -L(1.01562500000000007685885179918350550E-01), /* bffba0000000000008dc7910a648c000 */
+ -L(4.63820993797174451904075397785059501E-33), /* bf938153d0e54001a472da180fb5e8aa */
+ -L(9.76562499999999887262211517861331814E-02), /* bffb8ffffffffffff300915aa6fd6000 */
+ -L(2.63767025974952608658936466715705903E-33), /* bf92b64215bb8d520be5404620d38088 */
+ -L(9.37499999999999939650246024457439795E-02), /* bffb7ffffffffffff90aca26bd0fc000 */
+ -L(1.72047822349322956713582039121348377E-32), /* bf9565545015c5b9b56d02cfefca2c7d */
+ -L(8.98437500000000033088896383977486369E-02), /* bffb70000000000003d09ca1e3cbe000 */
+  L(3.04831994420989436248526129869697270E-33), /* 3f92fa7d30d2ed90e7ebbd6231fd08b1 */
+ -L(8.59374999999999947312400115121319225E-02), /* bffb5ffffffffffff9ecefc03376e000 */
+  L(1.50416954438393392150792422537312281E-32), /* 3f9538675ee99bd722fad0023c09c915 */
+ -L(8.20312500000000054182280847004695514E-02), /* bffb500000000000063f2dbd40200000 */
+  L(2.68399664523430004488075638997207289E-33), /* 3f92bdf49766629882c49a3da88928ed */
+ -L(7.81250000000000114767533968079748798E-02), /* bffb4000000000000d3b56f81ba70000 */
+  L(1.72318124201659121296305402819694281E-32), /* 3f9565e407aaabfb359e8a567d760de3 */
+ -L(7.42187500000000035531829472486812869E-02), /* bffb3000000000000418b6e9b5388000 */
+  L(2.09401756478514117051383998628099655E-32), /* 3f95b2e91221fcd74be0a86d8ad658d2 */
+ -L(7.03124999999999987474933134860732535E-02), /* bffb1ffffffffffffe8e53453d2ac000 */
+  L(2.28515798224350800271565551341211666E-32), /* 3f95da9bd6adf00894f05b5cc5530125 */
+ -L(6.64062500000000042267533361089054159E-02), /* bffb10000000000004df8473dbcf2000 */
+  L(1.97576478800281368377376002585430031E-32), /* 3f959a59acbddb2f53bd3096b66370e9 */
+ -L(6.25000000000000066329769382774201686E-02), /* bffb00000000000007a5b5914e336000 */
+ -L(1.46422615813786836245343723048221678E-33), /* bf91e69295f069fc0c4a9db181ea25a3 */
+ -L(5.85937500000000002823707957982406053E-02), /* bffae0000000000000a6aeab10592000 */
+  L(9.25637741701318872896718218457555829E-33), /* 3f94807eb021f1f40a37d4015b1eb76b */
+ -L(5.46875000000000081586888005226044448E-02), /* bffac0000000000012d00a3171e3a000 */
+ -L(4.87144542459404765480424673678105050E-33), /* bf9394b42faba6b7036fe7b36269daf3 */
+ -L(5.07812499999999927720348253140567013E-02), /* bffa9fffffffffffef555cc8dd914000 */
+ -L(3.01901021987395945826043649523451725E-33), /* bf92f59e7e3025691f290f8f67277faf */
+ -L(4.68749999999999935349476738962633103E-02), /* bffa7ffffffffffff117b4ea2b876000 */
+  L(1.21521638219189777347767475937119750E-32), /* 3f94f8c7f88c5b56674b94d984ac8ecb */
+ -L(4.29687500000000056305562847814228219E-02), /* bffa6000000000000cfbb19be30c0000 */
+ -L(1.18643699217679276275559592978275214E-32), /* bf94ecd39f0833a876550e83eb012b99 */
+ -L(3.90624999999999962692914526031373542E-02), /* bffa3ffffffffffff765c743922f9000 */
+ -L(4.91277156857520035712509544689973679E-33), /* bf939823189996193872e58ac0dececb */
+ -L(3.51562500000000108152468207687602886E-02), /* bffa20000000000018f031e41177f000 */
+  L(1.18599806302656253755207072755609820E-32), /* 3f94eca4f23e787fab73ce8f6b9b8d64 */
+ -L(3.12500000000000077376981036742289578E-02), /* bffa00000000000011d787e0b386f000 */
+  L(9.97730386477005171963635210799577079E-33), /* 3f949e70e498c46a0173ac0d46c699fc */
+ -L(2.73437500000000139436129596418623235E-02), /* bff9c00000000000404db66e70a08000 */
+  L(2.25755321633070123579875157841633859E-33), /* 3f927719b1a93074bdf9f3c2cb784785 */
+ -L(2.34375000000000088003629211828324876E-02), /* bff98000000000002895a27d45feb000 */
+  L(2.84374279216848803102126617873942975E-33), /* 3f92d87f70e749d6da6c260b68dc210b */
+ -L(1.95312500000000107408831063404855424E-02), /* bff9400000000000318898ba69f71000 */
+  L(2.47348089686935458989103979140011912E-33), /* 3f929afa3de45086fe909fdddb41edce */
+ -L(1.56250000000000081443917555362290635E-02), /* bff9000000000000258f335e9cdd6000 */
+ -L(2.43379314483517422161458863218426254E-33), /* bf9294621c8a9ccacf2b020ec19cad27 */
+ -L(1.17187500000000051490597418161403184E-02), /* bff88000000000002f7ddfa26221f000 */
+  L(1.83405297208145390679150568810924707E-33), /* 3f9230bbfc5d5fe1b534fbcda0465bb9 */
+ -L(7.81249999999999715861805208310174953E-03), /* bff7ffffffffffffcb95f3fff157d000 */
+  L(3.51548384878710915171654413641872451E-34), /* 3f8fd349b76c22966f77a39fc37ed704 */
+ -L(3.90625000000000309326013918295097128E-03), /* bff7000000000000390f820c8e153000 */
+  L(6.38058004651791109324060099097251911E-36), /* 3f8a0f665d3ac25a1ac94d688273dbcd */
 #define T_EXPL_ARG1 (2*89)
-  0.00000000000000000000000000000000000E+00L, /* 00000000000000000000000000000000 */
-  0.00000000000000000000000000000000000E+00L, /* 00000000000000000000000000000000 */
-  3.90625000000000245479958859972588985E-03L, /* 3ff70000000000002d48769ac9874000 */
- -6.58439598384342854976169982902779828E-36L, /* bf8a1811b923e6c626b07ef29761482a */
-  7.81250000000001311374391093664996358E-03L, /* 3ff800000000000078f3f3cd89111000 */
-  2.60265650555493781464273319671555602E-33L, /* 3f92b070c3b635b87af426735a71fc87 */
-  1.17187500000000269581156218247101912E-02L, /* 3ff8800000000000f8a50d02fe20d000 */
-  1.00961747974945520631836275894919326E-33L, /* 3f914f80c1a4f8042044fe3b757b030b */
-  1.56249999999999797878275270751825475E-02L, /* 3ff8ffffffffffff45935b69da62e000 */
-  2.03174577741375590087897353146748580E-33L, /* 3f925194e863496e0f6e91cbf6b22e26 */
-  1.95312499999999760319884511789111533E-02L, /* 3ff93fffffffffff917790ff9a8f4000 */
-  4.62788519658803722282100289809515007E-33L, /* 3f9380783ba81295feeb3e4879d7d52d */
-  2.34374999999999822953909016349145918E-02L, /* 3ff97fffffffffffae5a163bd3cd5000 */
- -3.19499956304699705390404384504876533E-33L, /* bf93096e2037ced8194cf344c692f8d6 */
-  2.73437500000000137220327275871555682E-02L, /* 3ff9c000000000003f481dea5dd51000 */
- -2.25757776523031994464630107442723424E-33L, /* bf92771abcf988a02b414bf2614e3734 */
-  3.12499999999999790857640618332718621E-02L, /* 3ff9ffffffffffff9f8cd40b51509000 */
- -4.22479470489989916319395454536511458E-33L, /* bf935efb7245612f371deca17cb7b30c */
-  3.51562499999999840753382405747597346E-02L, /* 3ffa1fffffffffffdb47bd275f722000 */
-  1.08459658374118041980976756063083500E-34L, /* 3f8e2055d18b7117c9db1c318b1e889b */
-  3.90624999999999989384433621470426757E-02L, /* 3ffa3ffffffffffffd8d5e18b042e000 */
- -7.41674226146122000759491297811091830E-33L, /* bf94341454e48029e5b0205d91baffdc */
-  4.29687500000000107505739500500200462E-02L, /* 3ffa60000000000018ca04cd9085c000 */
- -4.74689012756713017494437969420919847E-34L, /* bf903b7c268103c6f7fbaaa24142e287 */
-  4.68749999999999978700749928325717352E-02L, /* 3ffa7ffffffffffffb16b6d5479e3000 */
- -1.06208165308448830117773486334902917E-32L, /* bf94b92be4b3b5b5a596a0a5187cc955 */
-  5.07812499999999815072625435955786253E-02L, /* 3ffa9fffffffffffd55bd086d5cbc000 */
- -9.37038897148383660401929567549111394E-33L, /* bf94853b111b0175b491c80d00419416 */
-  5.46874999999999809511553152189867394E-02L, /* 3ffabfffffffffffd4138bfa74a61000 */
-  1.06642963074562437340498606682822123E-32L, /* 3f94bafa3fe991b39255d563dfa05d89 */
-  5.85937500000000184331996330905145551E-02L, /* 3ffae000000000002a810a5f2f8bf000 */
- -1.76639977694797200820296641773791945E-34L, /* bf8ed596f07ce4408f1705c8ec16864c */
-  6.25000000000000021544696744852045001E-02L, /* 3ffb000000000000027be32045e2b000 */
-  1.68616371995798354366633034788947149E-32L, /* 3f955e33d7440794d8a1b25233d086ab */
-  6.64062499999999965563110718495802889E-02L, /* 3ffb0ffffffffffffc079a38a3fed000 */
- -1.82463217667830160048872113565316215E-32L, /* bf957af6163bcdb97cefab44a942482a */
-  7.03124999999999759989183341261898222E-02L, /* 3ffb1fffffffffffe454218acea05000 */
- -1.07843770101525495515646940862541503E-32L, /* bf94bff72aada26d94e76e71c07e0580 */
-  7.42187499999999898968873730710101412E-02L, /* 3ffb2ffffffffffff45a166496dc1000 */
-  1.28629441689592874462780757154138223E-32L, /* 3f950b2724597b8b93ce1e9d1cf4d035 */
-  7.81249999999999957198938523510804668E-02L, /* 3ffb3ffffffffffffb10bc52adbc5000 */
-  1.13297573459968118467100063135856856E-33L, /* 3f91787eea895b3c245899cf34ad0abd */
-  8.20312500000000199911640621145851159E-02L, /* 3ffb500000000000170c59a661a89000 */
- -1.51161335208135146756554123073528707E-32L, /* bf9539f326c5ca84e7db5401566f3775 */
-  8.59375000000000134175373433347670743E-02L, /* 3ffb6000000000000f78287547af0000 */
-  1.09763629458404270323909815379924900E-32L, /* 3f94c7f0b61b6e3e27d44b9f5bbc7e9d */
-  8.98437500000000036533922600308306335E-02L, /* 3ffb70000000000004364a83b7a14000 */
-  3.11459653680110433194288029777718358E-33L, /* 3f9302c0248136d65cebeab69488d949 */
-  9.37500000000000184977946245216914691E-02L, /* 3ffb800000000000155395d870b17000 */
- -4.66656154468277949130395786965043927E-33L, /* bf9383aec9b993b6db492b1ede786d8a */
-  9.76562500000000237839723100419376084E-02L, /* 3ffb9000000000001b6bca237f6c4000 */
- -1.03028043424658760249140747856831301E-32L, /* bf94abf6352e3d2bb398e47919a343fb */
-  1.01562500000000012345545575236836572E-01L, /* 3ffba000000000000e3bc30cd9a1f000 */
-  2.15755372310795701322789783729456319E-32L, /* 3f95c01b3b819edd9d07548fafd61550 */
-  1.05468749999999976493840484471911438E-01L, /* 3ffbafffffffffffe4e634cd77985000 */
-  1.78771847038773333029677216592309083E-32L, /* 3f95734b6ae650f33dd43c49a1df9fc0 */
-  1.09375000000000002267015055992785402E-01L, /* 3ffbc00000000000029d1ad08de7b000 */
-  6.23263106693943817730045115112427717E-33L, /* 3f9402e4b39ce2198a45e1d045868cd6 */
-  1.13281250000000022354208618429577398E-01L, /* 3ffbd0000000000019c5cc3f9d2b5000 */
-  5.40514416644786448581426756221178868E-33L, /* 3f93c10ab4021472c662f69435de9269 */
-  1.17187500000000013252367133076817603E-01L, /* 3ffbe000000000000f47688cc561b000 */
- -7.12412585457324989451327215568641325E-33L, /* bf9427ecb343a8d1758990565fcfbf45 */
-  1.21093750000000020759863992944300792E-01L, /* 3ffbf0000000000017ef3af97bf04000 */
-  6.26591408357572503875647872077266444E-33L, /* 3f940446a09a2da771b45fc075514d12 */
-  1.25000000000000004739659392396765618E-01L, /* 3ffc00000000000002bb7344ecd89000 */
- -1.55611398459729463981000080101758830E-32L, /* bf95433135febefa9e6aa4db39e263d2 */
-  1.28906249999999982360888081057894783E-01L, /* 3ffc07fffffffffff5d4ed3154361000 */
- -1.77531518652835570781208599686606474E-32L, /* bf9570b7f225ea076f97f418d11359c1 */
-  1.32812500000000010568583998727400436E-01L, /* 3ffc1000000000000617a5d09526a000 */
-  2.12104021624990594668286391598300893E-32L, /* 3f95b885d767a1048d93055927a27adc */
-  1.36718749999999998434125157367005292E-01L, /* 3ffc17ffffffffffff18eaebc7970000 */
-  2.50454798592543203967309921276955297E-32L, /* 3f9604164e5598528a76faff26cd1c97 */
-  1.40625000000000015550032422969330356E-01L, /* 3ffc20000000000008f6c79d8928c000 */
-  7.80972982879849783680252962992639832E-33L, /* 3f9444674acf2b3225c7647e0d95edf3 */
-  1.44531250000000012402535562111122522E-01L, /* 3ffc28000000000007264a8bc1ff1000 */
-  2.79662468716455159585514763921671876E-32L, /* 3f96226b095bd78aa650faf95a221993 */
-  1.48437500000000007761020440087419948E-01L, /* 3ffc3000000000000479530ff8fe3000 */
-  2.15518492972728435680556239996258527E-32L, /* 3f95bf9d49295e73a957906a029768cb */
-  1.52343750000000001733189947520484032E-01L, /* 3ffc38000000000000ffc6109f71f000 */
-  8.34032236093545825619420380704500188E-33L, /* 3f945a71851226a1d0ce5e656693153e */
-  1.56249999999999988073295321246958484E-01L, /* 3ffc3ffffffffffff91fedd62ae0f000 */
-  2.44119337150624789345260194989620908E-32L, /* 3f95fb041a57bc1c1280680ac1620bea */
-  1.60156250000000002076894210913572460E-01L, /* 3ffc48000000000001327ed84a199000 */
- -7.36124501128859978061216696286151753E-33L, /* bf9431c62f01e59d2c1e00f195a0037f */
-  1.64062500000000000950861276373482172E-01L, /* 3ffc500000000000008c5285fba85000 */
- -4.80566184447001164583855800470217373E-33L, /* bf938f3d1fcafd390f22f80e6c19421f */
-  1.67968749999999989878071706155265999E-01L, /* 3ffc57fffffffffffa2a445c548c5000 */
- -4.42154428718618459799673088733365064E-32L, /* bf96cb28cf1c1b28006d53ffe633b22a */
-  1.71874999999999999459734108403218175E-01L, /* 3ffc5fffffffffffffb04554e9dd4000 */
- -3.29736288190321377985697972236270628E-32L, /* bf96566af0ebc852e84be12859b24a31 */
-  1.75781249999999997987525759778901845E-01L, /* 3ffc67fffffffffffed702df6ffff000 */
- -1.28800728638468399687523924685844352E-32L, /* bf950b8236b88ca0c1b739dc91a7e3fc */
-  1.79687500000000004929565820437175783E-01L, /* 3ffc70000000000002d779bb32d2e000 */
-  1.60624461317978482424582320675174225E-32L, /* 3f954d9a9cc0c963fd081f3dc922d04e */
-  1.83593750000000016873727045739708856E-01L, /* 3ffc78000000000009ba1f6263c9a000 */
- -3.83390389582056606880506003118452558E-32L, /* bf968e22a5d826f77f19ee788474df22 */
-  1.87500000000000013443068740761666872E-01L, /* 3ffc80000000000007bfd8c72a1bf000 */
- -2.74141662712926256150154726565203091E-32L, /* bf961caf5ac59c7f941f928e324c2cc1 */
-  1.91406249999999981494101786848611970E-01L, /* 3ffc87fffffffffff55502eeae001000 */
-  3.68992437075565165346469517256118001E-32L, /* 3f967f2f03f9096793372a27b92ad79d */
-  1.95312499999999989069921848800501648E-01L, /* 3ffc8ffffffffffff9b3015280394000 */
-  3.69712249337856518452988332367785220E-32L, /* 3f967fee5fdb5bd501ff93516999faa0 */
-  1.99218750000000021148042946919300804E-01L, /* 3ffc9800000000000c30e67939095000 */
-  2.50142536781142175091322844848566649E-32L, /* 3f9603c34ae58e10b300b07137ee618a */
-  2.03124999999999977732559198825437141E-01L, /* 3ffc9ffffffffffff329e7df079e4000 */
- -2.41951877287895024779300892731537816E-32L, /* bf95f683aefe6965f080df8f59dd34a1 */
-  2.07031249999999996744030653771913124E-01L, /* 3ffca7fffffffffffe1f80f4b73ca000 */
- -1.94346475904454000031592792989765585E-32L, /* bf9593a44f87870a3d100d498501ecc7 */
-  2.10937500000000000251399259834392298E-01L, /* 3ffcb000000000000025199873310000 */
- -1.33528748788094249098998693871759411E-33L, /* bf91bbb9b25c813668d6103d08acac35 */
-  2.14843749999999993936323609611875097E-01L, /* 3ffcb7fffffffffffc8128c866236000 */
-  1.14839877977014974625242788556545292E-32L, /* 3f94dd06b4655c9b83a1305b240e7a42 */
-  2.18750000000000015181732784749663837E-01L, /* 3ffcc0000000000008c06da5fff24000 */
-  1.42689085313142539755499441881408391E-32L, /* 3f95285a87dfa7ea7dad5b3be8c669f4 */
-  2.22656249999999992172647770539596569E-01L, /* 3ffcc7fffffffffffb7ce2fe531f6000 */
- -3.34421462850496887359128610229650547E-32L, /* bf965b487962b5c2d9056ca6ac0c2e5c */
-  2.26562499999999989595607223847082419E-01L, /* 3ffccffffffffffffa0095277be5c000 */
- -3.08983588107248752517344356508205569E-32L, /* bf9640dded57157f8eded311213bdbcd */
-  2.30468749999999979130462438434567117E-01L, /* 3ffcd7fffffffffff3f8332996560000 */
- -3.01407539802851697849105682795217019E-32L, /* bf9638ffde35dbdfe1a1ffe45185de5d */
-  2.34375000000000012194252337217891971E-01L, /* 3ffce0000000000007078dd402c86000 */
- -8.46879710915628592284714319904522657E-33L, /* bf945fc7b29a2ac6c9eff9eb258a510f */
-  2.38281249999999982991877076137149870E-01L, /* 3ffce7fffffffffff6320b486eece000 */
- -2.93563878880439245627127095245798544E-32L, /* bf9630daaa4f40ff05caf29ace2ea7d4 */
-  2.42187499999999981447559841442773990E-01L, /* 3ffceffffffffffff54e24a09a8d5000 */
- -4.56766746558806021264215486909850481E-32L, /* bf96da556dee11f3113e5a3467b908e6 */
-  2.46093749999999991067720539980207318E-01L, /* 3ffcf7fffffffffffad9d405dcb5d000 */
-  2.14033004219908074003010247652128251E-32L, /* 3f95bc8776e8f9ae098884aa664cc3df */
-  2.50000000000000016613825838126835953E-01L, /* 3ffd00000000000004c9e24c12bb3000 */
-  2.57617532593749185996714235009382870E-32L, /* 3f960b867cc01178c0ec68226c6cb47d */
-  2.53906250000000013372004437827044321E-01L, /* 3ffd04000000000003daae05b3168000 */
-  7.20177123439204414298152646284640101E-32L, /* 3f9775eff59ddad7e7530b83934af87f */
-  2.57812499999999995765234725413886085E-01L, /* 3ffd07fffffffffffec7878bad9d5000 */
-  6.51253187532920882777046064603770602E-32L, /* 3f975226659ca241402e71c2011583b0 */
-  2.61718750000000007647689994011222248E-01L, /* 3ffd0c000000000002344cc793a0f000 */
-  3.02370610028725823590045201871491395E-32L, /* 3f9639ffe55fa2fa011674448b4e5b96 */
-  2.65624999999999986893899042596554269E-01L, /* 3ffd0ffffffffffffc38f0c0a1e9f000 */
- -2.07683715950724761146070082510569258E-32L, /* bf95af579a92e872fef81abfdf06bae8 */
-  2.69531249999999979842788204900639327E-01L, /* 3ffd13fffffffffffa30a908d67db000 */
-  8.71465252506557329027658736641075706E-32L, /* 3f97c47d99e19830447a42b1c0ffac61 */
-  2.73437500000000006712165837793818271E-01L, /* 3ffd18000000000001ef453a58edb000 */
- -6.62704045767568912140550474455810301E-32L, /* bf9758187a204dcb06ece46588aeeaba */
-  2.77343749999999994411329302988535617E-01L, /* 3ffd1bfffffffffffe63a0fec9c9e000 */
- -4.87273466291944117406493607771338767E-32L, /* bf96fa0381b0844a0be46bac2d673f0c */
-  2.81250000000000012677892447379453135E-01L, /* 3ffd20000000000003a7769e125d6000 */
- -8.55871796664700790726282049552906783E-32L, /* bf97bc64e01332cf7616b0091b8dff2c */
-  2.85156249999999998558643013736363981E-01L, /* 3ffd23ffffffffffff95a5894bccf000 */
- -1.33068334720606220176455289635046875E-32L, /* bf95145f43290ecf5b7adcb24697bc73 */
-  2.89062500000000008831431235621753924E-01L, /* 3ffd280000000000028ba504fac59000 */
- -9.34157398616814623985483776710704237E-32L, /* bf97e50ad1115b941fcb5f0c88a428f7 */
-  2.92968750000000019840235286110877063E-01L, /* 3ffd2c000000000005b7f372d184f000 */
-  4.99302093775173155906059132992249671E-33L, /* 3f939ecdcfb97bad3f8dbec5df5ec67d */
-  2.96875000000000015867911730971630513E-01L, /* 3ffd3000000000000492d860c79db000 */
-  7.86107787827057767235127454590866211E-33L, /* 3f944689517ee8f16cdb97d6a6938f32 */
-  3.00781250000000015814100002286124758E-01L, /* 3ffd340000000000048edfe73a17d000 */
- -1.65419431293024229981937172317171504E-32L, /* bf9557900e3efca16c89646b57f68dc0 */
-  3.04687499999999985213157159965287195E-01L, /* 3ffd37fffffffffffbbcec6f99b36000 */
-  9.68753602893894024018934325652944198E-32L, /* 3f97f70170e5458660c33a7e8d43d049 */
-  3.08593749999999989969324338045156215E-01L, /* 3ffd3bfffffffffffd1bdde4d0fb1000 */
-  7.10268609610294706092252562643261106E-32L, /* 3f9770cae45cdf615010401a4b37d8d4 */
-  3.12500000000000002971606591018488854E-01L, /* 3ffd40000000000000db440fbc06b000 */
-  6.38924218802905979887732294952782964E-32L, /* 3f974bbf988bb5622bd8fbaa46e8b811 */
-  3.16406250000000006594921047402056305E-01L, /* 3ffd44000000000001e69e8954814000 */
-  3.96079878754651470094149874444850097E-32L, /* 3f969b5017b9fa7a1e86975258c73d3d */
-  3.20312500000000006713799366908329147E-01L, /* 3ffd48000000000001ef64159c065000 */
- -1.86401314975634286055150437995880517E-32L, /* bf958323f0434911794e5fb8bfe136ba */
-  3.24218749999999987061246567584951210E-01L, /* 3ffd4bfffffffffffc4549db9b928000 */
- -3.18643523744758601387071062700407431E-32L, /* bf964ae5fa7e26c2c3981bed12e14372 */
-  3.28124999999999991782776266707412953E-01L, /* 3ffd4ffffffffffffda1ad0840ca8000 */
- -4.46964199751314296839915534813144652E-32L, /* bf96d0277729ffd74727150df6d15547 */
-  3.32031250000000000393816557756032682E-01L, /* 3ffd540000000000001d0efc04fad000 */
- -9.03246333902065439930373230002688649E-33L, /* bf947731a008748cc6dee948839ef7ae */
-  3.35937499999999983810482995064392173E-01L, /* 3ffd57fffffffffffb556cab8ae61000 */
-  5.27742727066129518825981597650621794E-32L, /* 3f9712050a6ddbf1cabf1b971f4b5d0b */
-  3.39843750000000004310441349760912471E-01L, /* 3ffd5c0000000000013e0def5ddc4000 */
- -3.85927263474732591932884416445586106E-32L, /* bf9690c51088ef3db9ca000829c450c2 */
-  3.43749999999999990248130003997484364E-01L, /* 3ffd5ffffffffffffd3070624a0af000 */
-  9.62005170171527308106468341512327487E-34L, /* 3f913fae595cea84432eb01430817fca */
-  3.47656250000000004085726414568625697E-01L, /* 3ffd640000000000012d79309e291000 */
- -6.59664093705705297250259434519072507E-32L, /* bf97568465eafb0e662e64a5dbfaf35f */
+  L(0.00000000000000000000000000000000000E+00), /* 00000000000000000000000000000000 */
+  L(0.00000000000000000000000000000000000E+00), /* 00000000000000000000000000000000 */
+  L(3.90625000000000245479958859972588985E-03), /* 3ff70000000000002d48769ac9874000 */
+ -L(6.58439598384342854976169982902779828E-36), /* bf8a1811b923e6c626b07ef29761482a */
+  L(7.81250000000001311374391093664996358E-03), /* 3ff800000000000078f3f3cd89111000 */
+  L(2.60265650555493781464273319671555602E-33), /* 3f92b070c3b635b87af426735a71fc87 */
+  L(1.17187500000000269581156218247101912E-02), /* 3ff8800000000000f8a50d02fe20d000 */
+  L(1.00961747974945520631836275894919326E-33), /* 3f914f80c1a4f8042044fe3b757b030b */
+  L(1.56249999999999797878275270751825475E-02), /* 3ff8ffffffffffff45935b69da62e000 */
+  L(2.03174577741375590087897353146748580E-33), /* 3f925194e863496e0f6e91cbf6b22e26 */
+  L(1.95312499999999760319884511789111533E-02), /* 3ff93fffffffffff917790ff9a8f4000 */
+  L(4.62788519658803722282100289809515007E-33), /* 3f9380783ba81295feeb3e4879d7d52d */
+  L(2.34374999999999822953909016349145918E-02), /* 3ff97fffffffffffae5a163bd3cd5000 */
+ -L(3.19499956304699705390404384504876533E-33), /* bf93096e2037ced8194cf344c692f8d6 */
+  L(2.73437500000000137220327275871555682E-02), /* 3ff9c000000000003f481dea5dd51000 */
+ -L(2.25757776523031994464630107442723424E-33), /* bf92771abcf988a02b414bf2614e3734 */
+  L(3.12499999999999790857640618332718621E-02), /* 3ff9ffffffffffff9f8cd40b51509000 */
+ -L(4.22479470489989916319395454536511458E-33), /* bf935efb7245612f371deca17cb7b30c */
+  L(3.51562499999999840753382405747597346E-02), /* 3ffa1fffffffffffdb47bd275f722000 */
+  L(1.08459658374118041980976756063083500E-34), /* 3f8e2055d18b7117c9db1c318b1e889b */
+  L(3.90624999999999989384433621470426757E-02), /* 3ffa3ffffffffffffd8d5e18b042e000 */
+ -L(7.41674226146122000759491297811091830E-33), /* bf94341454e48029e5b0205d91baffdc */
+  L(4.29687500000000107505739500500200462E-02), /* 3ffa60000000000018ca04cd9085c000 */
+ -L(4.74689012756713017494437969420919847E-34), /* bf903b7c268103c6f7fbaaa24142e287 */
+  L(4.68749999999999978700749928325717352E-02), /* 3ffa7ffffffffffffb16b6d5479e3000 */
+ -L(1.06208165308448830117773486334902917E-32), /* bf94b92be4b3b5b5a596a0a5187cc955 */
+  L(5.07812499999999815072625435955786253E-02), /* 3ffa9fffffffffffd55bd086d5cbc000 */
+ -L(9.37038897148383660401929567549111394E-33), /* bf94853b111b0175b491c80d00419416 */
+  L(5.46874999999999809511553152189867394E-02), /* 3ffabfffffffffffd4138bfa74a61000 */
+  L(1.06642963074562437340498606682822123E-32), /* 3f94bafa3fe991b39255d563dfa05d89 */
+  L(5.85937500000000184331996330905145551E-02), /* 3ffae000000000002a810a5f2f8bf000 */
+ -L(1.76639977694797200820296641773791945E-34), /* bf8ed596f07ce4408f1705c8ec16864c */
+  L(6.25000000000000021544696744852045001E-02), /* 3ffb000000000000027be32045e2b000 */
+  L(1.68616371995798354366633034788947149E-32), /* 3f955e33d7440794d8a1b25233d086ab */
+  L(6.64062499999999965563110718495802889E-02), /* 3ffb0ffffffffffffc079a38a3fed000 */
+ -L(1.82463217667830160048872113565316215E-32), /* bf957af6163bcdb97cefab44a942482a */
+  L(7.03124999999999759989183341261898222E-02), /* 3ffb1fffffffffffe454218acea05000 */
+ -L(1.07843770101525495515646940862541503E-32), /* bf94bff72aada26d94e76e71c07e0580 */
+  L(7.42187499999999898968873730710101412E-02), /* 3ffb2ffffffffffff45a166496dc1000 */
+  L(1.28629441689592874462780757154138223E-32), /* 3f950b2724597b8b93ce1e9d1cf4d035 */
+  L(7.81249999999999957198938523510804668E-02), /* 3ffb3ffffffffffffb10bc52adbc5000 */
+  L(1.13297573459968118467100063135856856E-33), /* 3f91787eea895b3c245899cf34ad0abd */
+  L(8.20312500000000199911640621145851159E-02), /* 3ffb500000000000170c59a661a89000 */
+ -L(1.51161335208135146756554123073528707E-32), /* bf9539f326c5ca84e7db5401566f3775 */
+  L(8.59375000000000134175373433347670743E-02), /* 3ffb6000000000000f78287547af0000 */
+  L(1.09763629458404270323909815379924900E-32), /* 3f94c7f0b61b6e3e27d44b9f5bbc7e9d */
+  L(8.98437500000000036533922600308306335E-02), /* 3ffb70000000000004364a83b7a14000 */
+  L(3.11459653680110433194288029777718358E-33), /* 3f9302c0248136d65cebeab69488d949 */
+  L(9.37500000000000184977946245216914691E-02), /* 3ffb800000000000155395d870b17000 */
+ -L(4.66656154468277949130395786965043927E-33), /* bf9383aec9b993b6db492b1ede786d8a */
+  L(9.76562500000000237839723100419376084E-02), /* 3ffb9000000000001b6bca237f6c4000 */
+ -L(1.03028043424658760249140747856831301E-32), /* bf94abf6352e3d2bb398e47919a343fb */
+  L(1.01562500000000012345545575236836572E-01), /* 3ffba000000000000e3bc30cd9a1f000 */
+  L(2.15755372310795701322789783729456319E-32), /* 3f95c01b3b819edd9d07548fafd61550 */
+  L(1.05468749999999976493840484471911438E-01), /* 3ffbafffffffffffe4e634cd77985000 */
+  L(1.78771847038773333029677216592309083E-32), /* 3f95734b6ae650f33dd43c49a1df9fc0 */
+  L(1.09375000000000002267015055992785402E-01), /* 3ffbc00000000000029d1ad08de7b000 */
+  L(6.23263106693943817730045115112427717E-33), /* 3f9402e4b39ce2198a45e1d045868cd6 */
+  L(1.13281250000000022354208618429577398E-01), /* 3ffbd0000000000019c5cc3f9d2b5000 */
+  L(5.40514416644786448581426756221178868E-33), /* 3f93c10ab4021472c662f69435de9269 */
+  L(1.17187500000000013252367133076817603E-01), /* 3ffbe000000000000f47688cc561b000 */
+ -L(7.12412585457324989451327215568641325E-33), /* bf9427ecb343a8d1758990565fcfbf45 */
+  L(1.21093750000000020759863992944300792E-01), /* 3ffbf0000000000017ef3af97bf04000 */
+  L(6.26591408357572503875647872077266444E-33), /* 3f940446a09a2da771b45fc075514d12 */
+  L(1.25000000000000004739659392396765618E-01), /* 3ffc00000000000002bb7344ecd89000 */
+ -L(1.55611398459729463981000080101758830E-32), /* bf95433135febefa9e6aa4db39e263d2 */
+  L(1.28906249999999982360888081057894783E-01), /* 3ffc07fffffffffff5d4ed3154361000 */
+ -L(1.77531518652835570781208599686606474E-32), /* bf9570b7f225ea076f97f418d11359c1 */
+  L(1.32812500000000010568583998727400436E-01), /* 3ffc1000000000000617a5d09526a000 */
+  L(2.12104021624990594668286391598300893E-32), /* 3f95b885d767a1048d93055927a27adc */
+  L(1.36718749999999998434125157367005292E-01), /* 3ffc17ffffffffffff18eaebc7970000 */
+  L(2.50454798592543203967309921276955297E-32), /* 3f9604164e5598528a76faff26cd1c97 */
+  L(1.40625000000000015550032422969330356E-01), /* 3ffc20000000000008f6c79d8928c000 */
+  L(7.80972982879849783680252962992639832E-33), /* 3f9444674acf2b3225c7647e0d95edf3 */
+  L(1.44531250000000012402535562111122522E-01), /* 3ffc28000000000007264a8bc1ff1000 */
+  L(2.79662468716455159585514763921671876E-32), /* 3f96226b095bd78aa650faf95a221993 */
+  L(1.48437500000000007761020440087419948E-01), /* 3ffc3000000000000479530ff8fe3000 */
+  L(2.15518492972728435680556239996258527E-32), /* 3f95bf9d49295e73a957906a029768cb */
+  L(1.52343750000000001733189947520484032E-01), /* 3ffc38000000000000ffc6109f71f000 */
+  L(8.34032236093545825619420380704500188E-33), /* 3f945a71851226a1d0ce5e656693153e */
+  L(1.56249999999999988073295321246958484E-01), /* 3ffc3ffffffffffff91fedd62ae0f000 */
+  L(2.44119337150624789345260194989620908E-32), /* 3f95fb041a57bc1c1280680ac1620bea */
+  L(1.60156250000000002076894210913572460E-01), /* 3ffc48000000000001327ed84a199000 */
+ -L(7.36124501128859978061216696286151753E-33), /* bf9431c62f01e59d2c1e00f195a0037f */
+  L(1.64062500000000000950861276373482172E-01), /* 3ffc500000000000008c5285fba85000 */
+ -L(4.80566184447001164583855800470217373E-33), /* bf938f3d1fcafd390f22f80e6c19421f */
+  L(1.67968749999999989878071706155265999E-01), /* 3ffc57fffffffffffa2a445c548c5000 */
+ -L(4.42154428718618459799673088733365064E-32), /* bf96cb28cf1c1b28006d53ffe633b22a */
+  L(1.71874999999999999459734108403218175E-01), /* 3ffc5fffffffffffffb04554e9dd4000 */
+ -L(3.29736288190321377985697972236270628E-32), /* bf96566af0ebc852e84be12859b24a31 */
+  L(1.75781249999999997987525759778901845E-01), /* 3ffc67fffffffffffed702df6ffff000 */
+ -L(1.28800728638468399687523924685844352E-32), /* bf950b8236b88ca0c1b739dc91a7e3fc */
+  L(1.79687500000000004929565820437175783E-01), /* 3ffc70000000000002d779bb32d2e000 */
+  L(1.60624461317978482424582320675174225E-32), /* 3f954d9a9cc0c963fd081f3dc922d04e */
+  L(1.83593750000000016873727045739708856E-01), /* 3ffc78000000000009ba1f6263c9a000 */
+ -L(3.83390389582056606880506003118452558E-32), /* bf968e22a5d826f77f19ee788474df22 */
+  L(1.87500000000000013443068740761666872E-01), /* 3ffc80000000000007bfd8c72a1bf000 */
+ -L(2.74141662712926256150154726565203091E-32), /* bf961caf5ac59c7f941f928e324c2cc1 */
+  L(1.91406249999999981494101786848611970E-01), /* 3ffc87fffffffffff55502eeae001000 */
+  L(3.68992437075565165346469517256118001E-32), /* 3f967f2f03f9096793372a27b92ad79d */
+  L(1.95312499999999989069921848800501648E-01), /* 3ffc8ffffffffffff9b3015280394000 */
+  L(3.69712249337856518452988332367785220E-32), /* 3f967fee5fdb5bd501ff93516999faa0 */
+  L(1.99218750000000021148042946919300804E-01), /* 3ffc9800000000000c30e67939095000 */
+  L(2.50142536781142175091322844848566649E-32), /* 3f9603c34ae58e10b300b07137ee618a */
+  L(2.03124999999999977732559198825437141E-01), /* 3ffc9ffffffffffff329e7df079e4000 */
+ -L(2.41951877287895024779300892731537816E-32), /* bf95f683aefe6965f080df8f59dd34a1 */
+  L(2.07031249999999996744030653771913124E-01), /* 3ffca7fffffffffffe1f80f4b73ca000 */
+ -L(1.94346475904454000031592792989765585E-32), /* bf9593a44f87870a3d100d498501ecc7 */
+  L(2.10937500000000000251399259834392298E-01), /* 3ffcb000000000000025199873310000 */
+ -L(1.33528748788094249098998693871759411E-33), /* bf91bbb9b25c813668d6103d08acac35 */
+  L(2.14843749999999993936323609611875097E-01), /* 3ffcb7fffffffffffc8128c866236000 */
+  L(1.14839877977014974625242788556545292E-32), /* 3f94dd06b4655c9b83a1305b240e7a42 */
+  L(2.18750000000000015181732784749663837E-01), /* 3ffcc0000000000008c06da5fff24000 */
+  L(1.42689085313142539755499441881408391E-32), /* 3f95285a87dfa7ea7dad5b3be8c669f4 */
+  L(2.22656249999999992172647770539596569E-01), /* 3ffcc7fffffffffffb7ce2fe531f6000 */
+ -L(3.34421462850496887359128610229650547E-32), /* bf965b487962b5c2d9056ca6ac0c2e5c */
+  L(2.26562499999999989595607223847082419E-01), /* 3ffccffffffffffffa0095277be5c000 */
+ -L(3.08983588107248752517344356508205569E-32), /* bf9640dded57157f8eded311213bdbcd */
+  L(2.30468749999999979130462438434567117E-01), /* 3ffcd7fffffffffff3f8332996560000 */
+ -L(3.01407539802851697849105682795217019E-32), /* bf9638ffde35dbdfe1a1ffe45185de5d */
+  L(2.34375000000000012194252337217891971E-01), /* 3ffce0000000000007078dd402c86000 */
+ -L(8.46879710915628592284714319904522657E-33), /* bf945fc7b29a2ac6c9eff9eb258a510f */
+  L(2.38281249999999982991877076137149870E-01), /* 3ffce7fffffffffff6320b486eece000 */
+ -L(2.93563878880439245627127095245798544E-32), /* bf9630daaa4f40ff05caf29ace2ea7d4 */
+  L(2.42187499999999981447559841442773990E-01), /* 3ffceffffffffffff54e24a09a8d5000 */
+ -L(4.56766746558806021264215486909850481E-32), /* bf96da556dee11f3113e5a3467b908e6 */
+  L(2.46093749999999991067720539980207318E-01), /* 3ffcf7fffffffffffad9d405dcb5d000 */
+  L(2.14033004219908074003010247652128251E-32), /* 3f95bc8776e8f9ae098884aa664cc3df */
+  L(2.50000000000000016613825838126835953E-01), /* 3ffd00000000000004c9e24c12bb3000 */
+  L(2.57617532593749185996714235009382870E-32), /* 3f960b867cc01178c0ec68226c6cb47d */
+  L(2.53906250000000013372004437827044321E-01), /* 3ffd04000000000003daae05b3168000 */
+  L(7.20177123439204414298152646284640101E-32), /* 3f9775eff59ddad7e7530b83934af87f */
+  L(2.57812499999999995765234725413886085E-01), /* 3ffd07fffffffffffec7878bad9d5000 */
+  L(6.51253187532920882777046064603770602E-32), /* 3f975226659ca241402e71c2011583b0 */
+  L(2.61718750000000007647689994011222248E-01), /* 3ffd0c000000000002344cc793a0f000 */
+  L(3.02370610028725823590045201871491395E-32), /* 3f9639ffe55fa2fa011674448b4e5b96 */
+  L(2.65624999999999986893899042596554269E-01), /* 3ffd0ffffffffffffc38f0c0a1e9f000 */
+ -L(2.07683715950724761146070082510569258E-32), /* bf95af579a92e872fef81abfdf06bae8 */
+  L(2.69531249999999979842788204900639327E-01), /* 3ffd13fffffffffffa30a908d67db000 */
+  L(8.71465252506557329027658736641075706E-32), /* 3f97c47d99e19830447a42b1c0ffac61 */
+  L(2.73437500000000006712165837793818271E-01), /* 3ffd18000000000001ef453a58edb000 */
+ -L(6.62704045767568912140550474455810301E-32), /* bf9758187a204dcb06ece46588aeeaba */
+  L(2.77343749999999994411329302988535617E-01), /* 3ffd1bfffffffffffe63a0fec9c9e000 */
+ -L(4.87273466291944117406493607771338767E-32), /* bf96fa0381b0844a0be46bac2d673f0c */
+  L(2.81250000000000012677892447379453135E-01), /* 3ffd20000000000003a7769e125d6000 */
+ -L(8.55871796664700790726282049552906783E-32), /* bf97bc64e01332cf7616b0091b8dff2c */
+  L(2.85156249999999998558643013736363981E-01), /* 3ffd23ffffffffffff95a5894bccf000 */
+ -L(1.33068334720606220176455289635046875E-32), /* bf95145f43290ecf5b7adcb24697bc73 */
+  L(2.89062500000000008831431235621753924E-01), /* 3ffd280000000000028ba504fac59000 */
+ -L(9.34157398616814623985483776710704237E-32), /* bf97e50ad1115b941fcb5f0c88a428f7 */
+  L(2.92968750000000019840235286110877063E-01), /* 3ffd2c000000000005b7f372d184f000 */
+  L(4.99302093775173155906059132992249671E-33), /* 3f939ecdcfb97bad3f8dbec5df5ec67d */
+  L(2.96875000000000015867911730971630513E-01), /* 3ffd3000000000000492d860c79db000 */
+  L(7.86107787827057767235127454590866211E-33), /* 3f944689517ee8f16cdb97d6a6938f32 */
+  L(3.00781250000000015814100002286124758E-01), /* 3ffd340000000000048edfe73a17d000 */
+ -L(1.65419431293024229981937172317171504E-32), /* bf9557900e3efca16c89646b57f68dc0 */
+  L(3.04687499999999985213157159965287195E-01), /* 3ffd37fffffffffffbbcec6f99b36000 */
+  L(9.68753602893894024018934325652944198E-32), /* 3f97f70170e5458660c33a7e8d43d049 */
+  L(3.08593749999999989969324338045156215E-01), /* 3ffd3bfffffffffffd1bdde4d0fb1000 */
+  L(7.10268609610294706092252562643261106E-32), /* 3f9770cae45cdf615010401a4b37d8d4 */
+  L(3.12500000000000002971606591018488854E-01), /* 3ffd40000000000000db440fbc06b000 */
+  L(6.38924218802905979887732294952782964E-32), /* 3f974bbf988bb5622bd8fbaa46e8b811 */
+  L(3.16406250000000006594921047402056305E-01), /* 3ffd44000000000001e69e8954814000 */
+  L(3.96079878754651470094149874444850097E-32), /* 3f969b5017b9fa7a1e86975258c73d3d */
+  L(3.20312500000000006713799366908329147E-01), /* 3ffd48000000000001ef64159c065000 */
+ -L(1.86401314975634286055150437995880517E-32), /* bf958323f0434911794e5fb8bfe136ba */
+  L(3.24218749999999987061246567584951210E-01), /* 3ffd4bfffffffffffc4549db9b928000 */
+ -L(3.18643523744758601387071062700407431E-32), /* bf964ae5fa7e26c2c3981bed12e14372 */
+  L(3.28124999999999991782776266707412953E-01), /* 3ffd4ffffffffffffda1ad0840ca8000 */
+ -L(4.46964199751314296839915534813144652E-32), /* bf96d0277729ffd74727150df6d15547 */
+  L(3.32031250000000000393816557756032682E-01), /* 3ffd540000000000001d0efc04fad000 */
+ -L(9.03246333902065439930373230002688649E-33), /* bf947731a008748cc6dee948839ef7ae */
+  L(3.35937499999999983810482995064392173E-01), /* 3ffd57fffffffffffb556cab8ae61000 */
+  L(5.27742727066129518825981597650621794E-32), /* 3f9712050a6ddbf1cabf1b971f4b5d0b */
+  L(3.39843750000000004310441349760912471E-01), /* 3ffd5c0000000000013e0def5ddc4000 */
+ -L(3.85927263474732591932884416445586106E-32), /* bf9690c51088ef3db9ca000829c450c2 */
+  L(3.43749999999999990248130003997484364E-01), /* 3ffd5ffffffffffffd3070624a0af000 */
+  L(9.62005170171527308106468341512327487E-34), /* 3f913fae595cea84432eb01430817fca */
+  L(3.47656250000000004085726414568625697E-01), /* 3ffd640000000000012d79309e291000 */
+ -L(6.59664093705705297250259434519072507E-32), /* bf97568465eafb0e662e64a5dbfaf35f */
 
- -1.98364257812501251077851763965418372E-03L, /* bff6040000000001cd90f658cf0b1000 */
- -3.71984513103117734260309047540278737E-34L, /* bf8fee73c54483194782aac4a6154d11 */
- -1.95312500000000378520649630233891879E-03L, /* bff60000000000008ba643bb5e2e8000 */
- -1.12194202736719050440745599339855038E-34L, /* bf8e2a436aeff7bc529873354f47a3f5 */
- -1.92260742187499397430259771221991482E-03L, /* bff5f7fffffffffe4361cb51170da000 */
- -2.30068299876822157331268484824540848E-34L, /* bf8f31d02f85cfe8c0cc02276ce0f437 */
- -1.89208984375001137424603270262074989E-03L, /* bff5f0000000000347456ed490c23000 */
- -1.15012507244426243338260435466985403E-34L, /* bf8e31c174d5677a937a34ad8d2a70b4 */
- -1.86157226562500172319250342061336738E-03L, /* bff5e800000000007f262fa3617b4000 */
- -3.12438344643346437509767736937785561E-34L, /* bf8f9f4d426a2457c273d34ef7d9bde9 */
- -1.83105468749999505256246872355430379E-03L, /* bff5dffffffffffe92f18c1c2b6fa000 */
- -5.91130415288336591179087455220308942E-35L, /* bf8d3a4c80b42dc036bae446c9807f78 */
- -1.80053710937499445182387245573120522E-03L, /* bff5d7fffffffffe669dea82b4a4c000 */
- -1.92396289352411531324908916321392100E-34L, /* bf8eff7a2123fb573ba9778550d669bd */
- -1.77001953125000387737631542516323906E-03L, /* bff5d000000000011e19915c3ddb7000 */
-  7.91101758977203355387806553469731354E-36L, /* 3f8a507f5a70faaccf469e3461873dea */
- -1.73950195312500034854670281415554486E-03L, /* bff5c8000000000019b7dc6ef97bd000 */
-  1.55906551582436824067407021178835755E-34L, /* 3f8e9e7880333e34955aebcde3cfb053 */
- -1.70898437499998955782591472611429852E-03L, /* bff5bffffffffffcfd80e88aa6b96000 */
-  8.22951661962611381718215899498500357E-35L, /* 3f8db58e6031a779b59f6ece191de7cc */
- -1.67846679687500586652037711131708544E-03L, /* bff5b80000000001b0df6fd21c133000 */
- -8.96642618848426299713145894522897419E-35L, /* bf8ddcbcab46d531801bfae4121f2f8a */
- -1.64794921875000109499161354039904782E-03L, /* bff5b0000000000050cbce8915575000 */
- -2.88077905394253859590587789680486639E-34L, /* bf8f7eebd4dd860ef73b674d5e707959 */
- -1.61743164062501133830507079150388351E-03L, /* bff5a80000000003449e8700c3e82000 */
- -3.68271725851639066312899986829350273E-34L, /* bf8fe9845fe20a5fe74059e0cae185d6 */
- -1.58691406249999015546015764131101956E-03L, /* bff59ffffffffffd2999e668cdd28000 */
-  8.48197657099957029953716507898788812E-35L, /* 3f8dc2faaebb97392e451b07b28c4b12 */
- -1.55639648437500317366570219290722587E-03L, /* bff5980000000000ea2cd9a40d256000 */
- -3.45156704719737676412949957712570373E-36L, /* bf8925a079505516c8e317ac1ff53255 */
- -1.52587890625000568759013197767046039E-03L, /* bff5900000000001a3ab8a3f6b698000 */
- -1.01902948542497496574967177677556729E-34L, /* bf8e0ee78d94d9b5ad3d63ae35c9b554 */
- -1.49536132812500945889014955936485340E-03L, /* bff5880000000002b9f1621b57743000 */
- -3.32264697086631598830366079048117140E-34L, /* bf8fb9a7d14c32289204fbb0c9eb20e0 */
- -1.46484374999999931883259902869504725E-03L, /* bff57fffffffffffcdbd1c90e1b4a000 */
- -1.76487524793892929381101031660811433E-34L, /* bf8ed52f2f724bc1ae870b18356337b4 */
- -1.43432617187498876325946983333888768E-03L, /* bff577fffffffffcc2dff8faa5570000 */
- -3.54550084538495708816233114576143814E-34L, /* bf8fd74724576915868c1e8ce9f430f1 */
- -1.40380859374999215367421282192718062E-03L, /* bff56ffffffffffdbd0b18aac65ed000 */
- -1.90585907028351204486765167064669639E-34L, /* bf8efaaa0c0e23e50c11b2120348054f */
- -1.37329101562499692341771212945644892E-03L, /* bff567ffffffffff1cfd00f1b0577000 */
- -3.59631150411372589637918252836880320E-34L, /* bf8fde08239ac74942a46298ea4fb715 */
- -1.34277343749999137467356674296739172E-03L, /* bff55ffffffffffd839030b05d53d000 */
- -1.49571076125940368185068762485268117E-35L, /* bf8b3e1a3d5c684b27a9f835b1d8d3c9 */
- -1.31225585937499247038404301859788734E-03L, /* bff557fffffffffdd469936e691e3000 */
-  3.10375845385355395586146533282311300E-34L, /* 3f8f9c8f6d63b7a4145716ffd92491fb */
- -1.28173828124999024755581675764821898E-03L, /* bff54ffffffffffd306589b0ab21d000 */
- -1.98541096105909793397376077900810019E-34L, /* bf8f07e808bbb1e35106c294ffbb9687 */
- -1.25122070312500340204619591143332523E-03L, /* bff5480000000000fb06d5f16ad2c000 */
-  3.62884195935761446237911443317457521E-34L, /* 3f8fe25b17d623178a386a6fa6c5afb2 */
- -1.22070312499999591578388993012071279E-03L, /* bff53ffffffffffed2a356c440074000 */
- -2.96756662615653130862526710937493307E-35L, /* bf8c3b90d8ff2a991e5bd16718fb0645 */
- -1.19018554687498821966212632349422735E-03L, /* bff537fffffffffc9ac3b585dda89000 */
-  1.44659971891167323357060028901142644E-34L, /* 3f8e809279ab249edf1dad9fe13fb0bf */
- -1.15966796875000160938908064907298384E-03L, /* bff530000000000076c0800db9639000 */
-  2.50088010538742402346270685365928513E-34L, /* 3f8f4c6c8a483b60201d30c1a83c3cb7 */
- -1.12915039062500267151512523291939657E-03L, /* bff5280000000000c51f7e7315137000 */
-  7.56402096465615210500092443924888831E-35L, /* 3f8d922c1e485d99aea2668ed32b55a6 */
- -1.09863281249998665006360103291051571E-03L, /* bff51ffffffffffc26f2d4c9ce2ba000 */
-  1.43982174467233642713619821353592061E-34L, /* 3f8e7ec530b3d92b6303bec1c81214d1 */
- -1.06811523437500522742248711752028025E-03L, /* bff518000000000181b7380f10446000 */
-  5.41265133745862349181293024531133174E-35L, /* 3f8d1fc9313d018b30e790e06b6be723 */
- -1.03759765624999980942114138999770552E-03L, /* bff50ffffffffffff1f01130490e1000 */
-  1.21525139612685854366189534669623436E-34L, /* 3f8e4311b96b6fcde412caf3f0d86fb9 */
- -1.00708007812499602697537601515759439E-03L, /* bff507fffffffffedad7afcce7051000 */
-  1.00020246351201558505328236381833392E-34L, /* 3f8e09e640992512b1300744a7e984ed */
- -9.76562499999992592487302113340463694E-04L, /* bff4fffffffffffbbad8151f8adf6000 */
- -1.64984406575162932060422892046851002E-34L, /* bf8eb69a919986e8054b86fc34300f24 */
- -9.46044921874989085824996924138179594E-04L, /* bff4effffffffff9b55a204fd9792000 */
- -9.29539174108308550334255350011347171E-35L, /* bf8dee3a50ed896b4656fa577a1df3d7 */
- -9.15527343750013735214860599791540029E-04L, /* bff4e00000000007eaf5bf103f82d000 */
-  3.07557018309280519949818825519490586E-35L, /* 3f8c470cfbef77d32c74cb8042f6ee81 */
- -8.85009765625012292294986105781516428E-04L, /* bff4d000000000071605c65403b97000 */
-  4.77499983783821950338363358545463558E-35L, /* 3f8cfbc3dc18884c4c4f9e07d90d7bd3 */
- -8.54492187499986941239470706817188192E-04L, /* bff4bffffffffff878ddf9cab264a000 */
- -1.60128240346239526958630011447901568E-34L, /* bf8ea9b1a21e19e2d5bd84b0fbffcf95 */
- -8.23974609374996290174598690241743810E-04L, /* bff4affffffffffddc86c249ebe06000 */
-  1.61677540391961912631535763471935882E-34L, /* 3f8eadd00841366b0dc2bc262c2c8c36 */
- -7.93457031249988696952538334288757473E-04L, /* bff49ffffffffff97bf6f0aa85a5f000 */
-  1.22318577008381887076634753347515709E-34L, /* 3f8e452db5b5d250878f71040da06d14 */
- -7.62939453124996723316499040007097041E-04L, /* bff48ffffffffffe1c7265b431108000 */
- -1.03845161748762410745671891558398468E-34L, /* bf8e14115ad884c96d1a820c73647220 */
- -7.32421874999998242520117923997325794E-04L, /* bff47ffffffffffefca4498b7aa8a000 */
-  5.64005211953031009549514026639438083E-35L, /* 3f8d2be06950f68f1a6d8ff829a6928e */
- -7.01904296874999772890934814265622012E-04L, /* bff46fffffffffffde7c0fe5d8041000 */
-  5.90245467325173644235991233229525762E-35L, /* 3f8d39d40cc49002189243c194b1db0e */
- -6.71386718750008699269643939210658742E-04L, /* bff460000000000503c91d798b60c000 */
- -5.20515801723324452151498579012322191E-35L, /* bf8d14c0f08a6a9285b32b8bda003eb5 */
- -6.40869140625005499535275057463709988E-04L, /* bff45000000000032b969184e9751000 */
- -6.69469163285461870099846471658294534E-35L, /* bf8d63f36bab7b24d936c9380e3d3fa6 */
- -6.10351562499999293780097329596079841E-04L, /* bff43fffffffffff97c7c433e35ed000 */
- -1.16941808547394177991845382085515086E-34L, /* bf8e36e27886f10b234a7dd8fc588bf0 */
- -5.79833984375000068291972326409994795E-04L, /* bff43000000000000a13ff6dcf2bf000 */
-  1.17885044988246219185041488459766001E-34L, /* 3f8e3964677e001a00412aab52790842 */
- -5.49316406249990904622170867910987793E-04L, /* bff41ffffffffffac1c25739c716b000 */
- -3.31875702128137033065075734368960972E-35L, /* bf8c60e928d8982c3c99aef4f885a121 */
- -5.18798828125011293653756992177727236E-04L, /* bff410000000000682a62cff36775000 */
- -5.69971237642088463334239430962628187E-35L, /* bf8d2f0c76f8757d61cd1abc7ea7d066 */
- -4.88281249999990512232251384917893121E-04L, /* bff3fffffffffff50fb48992320df000 */
-  1.02144616714408655325510171265051108E-35L, /* 3f8ab279a3626612710b9b3ac71734ac */
- -4.57763671874997554564967307956493434E-04L, /* bff3dffffffffffd2e3c272e3cca9000 */
- -8.25484058867957231164162481843653503E-35L, /* bf8db6e71158e7bf93e2e683f07aa841 */
- -4.27246093749991203999790346349633286E-04L, /* bff3bffffffffff5dbe103cba0eb2000 */
- -3.51191203319375193921924105905691755E-35L, /* bf8c757356d0f3dd7fbefc0dd419ab50 */
- -3.96728515624986649402960638705483281E-04L, /* bff39ffffffffff09b996882706ec000 */
- -5.51925962073095883016589497244931171E-36L, /* bf89d586d49f22289cfc860bebb99056 */
- -3.66210937499999945095511981300980754E-04L, /* bff37fffffffffffefcb88bfc7df6000 */
- -2.11696465278144529364423332249588595E-35L, /* bf8bc23a84d28e5496c874ef9833be25 */
- -3.35693359374992480958458008559640163E-04L, /* bff35ffffffffff754c548a8798f2000 */
- -8.58941791799705081104736787493668352E-35L, /* bf8dc8b1192fb7c3662826d43acb7c68 */
- -3.05175781250009811036303273640122156E-04L, /* bff340000000000b4fb4f1aad1c76000 */
- -8.61173897858769926480551302277426632E-35L, /* bf8dc9e0eabb1c0b33051011b64769fa */
- -2.74658203124987298321920308390303850E-04L, /* bff31ffffffffff15b2056ac252fd000 */
-  3.35152809454778381053519808988046631E-37L, /* 3f85c82fb59ff8d7c80d44e635420ab1 */
- -2.44140624999999992770514819575735516E-04L, /* bff2fffffffffffffbbb82d6a7636000 */
-  3.54445837111124472730013879165516908E-35L, /* 3f8c78e955b01378be647b1c92aa9a77 */
- -2.13623046875012756463165168672749438E-04L, /* bff2c0000000001d6a1635fea6bbf000 */
-  1.50050816288650121729916777279129473E-35L, /* 3f8b3f1f6f616a61129a58e131cbd31d */
- -1.83105468749991323078784464300306893E-04L, /* bff27fffffffffebfe0cbd0c82399000 */
- -9.14919506501448661140572099029756008E-37L, /* bf873754bacaa9d9513b6127e791eb47 */
- -1.52587890625013337032336300236461546E-04L, /* bff240000000001ec0cb57f2cc995000 */
-  2.84906084373176180870418394956384516E-35L, /* 3f8c2ef6d03a7e6ab087c4f099e4de89 */
- -1.22070312499990746786116828458007518E-04L, /* bff1ffffffffffd553bbb49f35a34000 */
-  6.71618008964968339584520728412444537E-36L, /* 3f8a1dacb99c60071fc9cd2349495bf0 */
- -9.15527343750029275602791047595142231E-05L, /* bff180000000000d8040cd6ecde28000 */
- -1.95753652091078750312541716951402172E-35L, /* bf8ba0526cfb24d8d59122f1c7a09a14 */
- -6.10351562499913258461494008080572701E-05L, /* bff0ffffffffffaffebbb92d7f6a9000 */
-  5.69868489273961111703398456218119973E-36L, /* 3f89e4ca5df09ef4a4386dd5b3bf0331 */
- -3.05175781250092882818419203884960853E-05L, /* bff0000000000055ab55de88fac1d000 */
-  9.03341100018476837609128961872915953E-36L, /* 3f8a803d229fa3a0e834a63abb06662b */
+ -L(1.98364257812501251077851763965418372E-03), /* bff6040000000001cd90f658cf0b1000 */
+ -L(3.71984513103117734260309047540278737E-34), /* bf8fee73c54483194782aac4a6154d11 */
+ -L(1.95312500000000378520649630233891879E-03), /* bff60000000000008ba643bb5e2e8000 */
+ -L(1.12194202736719050440745599339855038E-34), /* bf8e2a436aeff7bc529873354f47a3f5 */
+ -L(1.92260742187499397430259771221991482E-03), /* bff5f7fffffffffe4361cb51170da000 */
+ -L(2.30068299876822157331268484824540848E-34), /* bf8f31d02f85cfe8c0cc02276ce0f437 */
+ -L(1.89208984375001137424603270262074989E-03), /* bff5f0000000000347456ed490c23000 */
+ -L(1.15012507244426243338260435466985403E-34), /* bf8e31c174d5677a937a34ad8d2a70b4 */
+ -L(1.86157226562500172319250342061336738E-03), /* bff5e800000000007f262fa3617b4000 */
+ -L(3.12438344643346437509767736937785561E-34), /* bf8f9f4d426a2457c273d34ef7d9bde9 */
+ -L(1.83105468749999505256246872355430379E-03), /* bff5dffffffffffe92f18c1c2b6fa000 */
+ -L(5.91130415288336591179087455220308942E-35), /* bf8d3a4c80b42dc036bae446c9807f78 */
+ -L(1.80053710937499445182387245573120522E-03), /* bff5d7fffffffffe669dea82b4a4c000 */
+ -L(1.92396289352411531324908916321392100E-34), /* bf8eff7a2123fb573ba9778550d669bd */
+ -L(1.77001953125000387737631542516323906E-03), /* bff5d000000000011e19915c3ddb7000 */
+  L(7.91101758977203355387806553469731354E-36), /* 3f8a507f5a70faaccf469e3461873dea */
+ -L(1.73950195312500034854670281415554486E-03), /* bff5c8000000000019b7dc6ef97bd000 */
+  L(1.55906551582436824067407021178835755E-34), /* 3f8e9e7880333e34955aebcde3cfb053 */
+ -L(1.70898437499998955782591472611429852E-03), /* bff5bffffffffffcfd80e88aa6b96000 */
+  L(8.22951661962611381718215899498500357E-35), /* 3f8db58e6031a779b59f6ece191de7cc */
+ -L(1.67846679687500586652037711131708544E-03), /* bff5b80000000001b0df6fd21c133000 */
+ -L(8.96642618848426299713145894522897419E-35), /* bf8ddcbcab46d531801bfae4121f2f8a */
+ -L(1.64794921875000109499161354039904782E-03), /* bff5b0000000000050cbce8915575000 */
+ -L(2.88077905394253859590587789680486639E-34), /* bf8f7eebd4dd860ef73b674d5e707959 */
+ -L(1.61743164062501133830507079150388351E-03), /* bff5a80000000003449e8700c3e82000 */
+ -L(3.68271725851639066312899986829350273E-34), /* bf8fe9845fe20a5fe74059e0cae185d6 */
+ -L(1.58691406249999015546015764131101956E-03), /* bff59ffffffffffd2999e668cdd28000 */
+  L(8.48197657099957029953716507898788812E-35), /* 3f8dc2faaebb97392e451b07b28c4b12 */
+ -L(1.55639648437500317366570219290722587E-03), /* bff5980000000000ea2cd9a40d256000 */
+ -L(3.45156704719737676412949957712570373E-36), /* bf8925a079505516c8e317ac1ff53255 */
+ -L(1.52587890625000568759013197767046039E-03), /* bff5900000000001a3ab8a3f6b698000 */
+ -L(1.01902948542497496574967177677556729E-34), /* bf8e0ee78d94d9b5ad3d63ae35c9b554 */
+ -L(1.49536132812500945889014955936485340E-03), /* bff5880000000002b9f1621b57743000 */
+ -L(3.32264697086631598830366079048117140E-34), /* bf8fb9a7d14c32289204fbb0c9eb20e0 */
+ -L(1.46484374999999931883259902869504725E-03), /* bff57fffffffffffcdbd1c90e1b4a000 */
+ -L(1.76487524793892929381101031660811433E-34), /* bf8ed52f2f724bc1ae870b18356337b4 */
+ -L(1.43432617187498876325946983333888768E-03), /* bff577fffffffffcc2dff8faa5570000 */
+ -L(3.54550084538495708816233114576143814E-34), /* bf8fd74724576915868c1e8ce9f430f1 */
+ -L(1.40380859374999215367421282192718062E-03), /* bff56ffffffffffdbd0b18aac65ed000 */
+ -L(1.90585907028351204486765167064669639E-34), /* bf8efaaa0c0e23e50c11b2120348054f */
+ -L(1.37329101562499692341771212945644892E-03), /* bff567ffffffffff1cfd00f1b0577000 */
+ -L(3.59631150411372589637918252836880320E-34), /* bf8fde08239ac74942a46298ea4fb715 */
+ -L(1.34277343749999137467356674296739172E-03), /* bff55ffffffffffd839030b05d53d000 */
+ -L(1.49571076125940368185068762485268117E-35), /* bf8b3e1a3d5c684b27a9f835b1d8d3c9 */
+ -L(1.31225585937499247038404301859788734E-03), /* bff557fffffffffdd469936e691e3000 */
+  L(3.10375845385355395586146533282311300E-34), /* 3f8f9c8f6d63b7a4145716ffd92491fb */
+ -L(1.28173828124999024755581675764821898E-03), /* bff54ffffffffffd306589b0ab21d000 */
+ -L(1.98541096105909793397376077900810019E-34), /* bf8f07e808bbb1e35106c294ffbb9687 */
+ -L(1.25122070312500340204619591143332523E-03), /* bff5480000000000fb06d5f16ad2c000 */
+  L(3.62884195935761446237911443317457521E-34), /* 3f8fe25b17d623178a386a6fa6c5afb2 */
+ -L(1.22070312499999591578388993012071279E-03), /* bff53ffffffffffed2a356c440074000 */
+ -L(2.96756662615653130862526710937493307E-35), /* bf8c3b90d8ff2a991e5bd16718fb0645 */
+ -L(1.19018554687498821966212632349422735E-03), /* bff537fffffffffc9ac3b585dda89000 */
+  L(1.44659971891167323357060028901142644E-34), /* 3f8e809279ab249edf1dad9fe13fb0bf */
+ -L(1.15966796875000160938908064907298384E-03), /* bff530000000000076c0800db9639000 */
+  L(2.50088010538742402346270685365928513E-34), /* 3f8f4c6c8a483b60201d30c1a83c3cb7 */
+ -L(1.12915039062500267151512523291939657E-03), /* bff5280000000000c51f7e7315137000 */
+  L(7.56402096465615210500092443924888831E-35), /* 3f8d922c1e485d99aea2668ed32b55a6 */
+ -L(1.09863281249998665006360103291051571E-03), /* bff51ffffffffffc26f2d4c9ce2ba000 */
+  L(1.43982174467233642713619821353592061E-34), /* 3f8e7ec530b3d92b6303bec1c81214d1 */
+ -L(1.06811523437500522742248711752028025E-03), /* bff518000000000181b7380f10446000 */
+  L(5.41265133745862349181293024531133174E-35), /* 3f8d1fc9313d018b30e790e06b6be723 */
+ -L(1.03759765624999980942114138999770552E-03), /* bff50ffffffffffff1f01130490e1000 */
+  L(1.21525139612685854366189534669623436E-34), /* 3f8e4311b96b6fcde412caf3f0d86fb9 */
+ -L(1.00708007812499602697537601515759439E-03), /* bff507fffffffffedad7afcce7051000 */
+  L(1.00020246351201558505328236381833392E-34), /* 3f8e09e640992512b1300744a7e984ed */
+ -L(9.76562499999992592487302113340463694E-04), /* bff4fffffffffffbbad8151f8adf6000 */
+ -L(1.64984406575162932060422892046851002E-34), /* bf8eb69a919986e8054b86fc34300f24 */
+ -L(9.46044921874989085824996924138179594E-04), /* bff4effffffffff9b55a204fd9792000 */
+ -L(9.29539174108308550334255350011347171E-35), /* bf8dee3a50ed896b4656fa577a1df3d7 */
+ -L(9.15527343750013735214860599791540029E-04), /* bff4e00000000007eaf5bf103f82d000 */
+  L(3.07557018309280519949818825519490586E-35), /* 3f8c470cfbef77d32c74cb8042f6ee81 */
+ -L(8.85009765625012292294986105781516428E-04), /* bff4d000000000071605c65403b97000 */
+  L(4.77499983783821950338363358545463558E-35), /* 3f8cfbc3dc18884c4c4f9e07d90d7bd3 */
+ -L(8.54492187499986941239470706817188192E-04), /* bff4bffffffffff878ddf9cab264a000 */
+ -L(1.60128240346239526958630011447901568E-34), /* bf8ea9b1a21e19e2d5bd84b0fbffcf95 */
+ -L(8.23974609374996290174598690241743810E-04), /* bff4affffffffffddc86c249ebe06000 */
+  L(1.61677540391961912631535763471935882E-34), /* 3f8eadd00841366b0dc2bc262c2c8c36 */
+ -L(7.93457031249988696952538334288757473E-04), /* bff49ffffffffff97bf6f0aa85a5f000 */
+  L(1.22318577008381887076634753347515709E-34), /* 3f8e452db5b5d250878f71040da06d14 */
+ -L(7.62939453124996723316499040007097041E-04), /* bff48ffffffffffe1c7265b431108000 */
+ -L(1.03845161748762410745671891558398468E-34), /* bf8e14115ad884c96d1a820c73647220 */
+ -L(7.32421874999998242520117923997325794E-04), /* bff47ffffffffffefca4498b7aa8a000 */
+  L(5.64005211953031009549514026639438083E-35), /* 3f8d2be06950f68f1a6d8ff829a6928e */
+ -L(7.01904296874999772890934814265622012E-04), /* bff46fffffffffffde7c0fe5d8041000 */
+  L(5.90245467325173644235991233229525762E-35), /* 3f8d39d40cc49002189243c194b1db0e */
+ -L(6.71386718750008699269643939210658742E-04), /* bff460000000000503c91d798b60c000 */
+ -L(5.20515801723324452151498579012322191E-35), /* bf8d14c0f08a6a9285b32b8bda003eb5 */
+ -L(6.40869140625005499535275057463709988E-04), /* bff45000000000032b969184e9751000 */
+ -L(6.69469163285461870099846471658294534E-35), /* bf8d63f36bab7b24d936c9380e3d3fa6 */
+ -L(6.10351562499999293780097329596079841E-04), /* bff43fffffffffff97c7c433e35ed000 */
+ -L(1.16941808547394177991845382085515086E-34), /* bf8e36e27886f10b234a7dd8fc588bf0 */
+ -L(5.79833984375000068291972326409994795E-04), /* bff43000000000000a13ff6dcf2bf000 */
+  L(1.17885044988246219185041488459766001E-34), /* 3f8e3964677e001a00412aab52790842 */
+ -L(5.49316406249990904622170867910987793E-04), /* bff41ffffffffffac1c25739c716b000 */
+ -L(3.31875702128137033065075734368960972E-35), /* bf8c60e928d8982c3c99aef4f885a121 */
+ -L(5.18798828125011293653756992177727236E-04), /* bff410000000000682a62cff36775000 */
+ -L(5.69971237642088463334239430962628187E-35), /* bf8d2f0c76f8757d61cd1abc7ea7d066 */
+ -L(4.88281249999990512232251384917893121E-04), /* bff3fffffffffff50fb48992320df000 */
+  L(1.02144616714408655325510171265051108E-35), /* 3f8ab279a3626612710b9b3ac71734ac */
+ -L(4.57763671874997554564967307956493434E-04), /* bff3dffffffffffd2e3c272e3cca9000 */
+ -L(8.25484058867957231164162481843653503E-35), /* bf8db6e71158e7bf93e2e683f07aa841 */
+ -L(4.27246093749991203999790346349633286E-04), /* bff3bffffffffff5dbe103cba0eb2000 */
+ -L(3.51191203319375193921924105905691755E-35), /* bf8c757356d0f3dd7fbefc0dd419ab50 */
+ -L(3.96728515624986649402960638705483281E-04), /* bff39ffffffffff09b996882706ec000 */
+ -L(5.51925962073095883016589497244931171E-36), /* bf89d586d49f22289cfc860bebb99056 */
+ -L(3.66210937499999945095511981300980754E-04), /* bff37fffffffffffefcb88bfc7df6000 */
+ -L(2.11696465278144529364423332249588595E-35), /* bf8bc23a84d28e5496c874ef9833be25 */
+ -L(3.35693359374992480958458008559640163E-04), /* bff35ffffffffff754c548a8798f2000 */
+ -L(8.58941791799705081104736787493668352E-35), /* bf8dc8b1192fb7c3662826d43acb7c68 */
+ -L(3.05175781250009811036303273640122156E-04), /* bff340000000000b4fb4f1aad1c76000 */
+ -L(8.61173897858769926480551302277426632E-35), /* bf8dc9e0eabb1c0b33051011b64769fa */
+ -L(2.74658203124987298321920308390303850E-04), /* bff31ffffffffff15b2056ac252fd000 */
+  L(3.35152809454778381053519808988046631E-37), /* 3f85c82fb59ff8d7c80d44e635420ab1 */
+ -L(2.44140624999999992770514819575735516E-04), /* bff2fffffffffffffbbb82d6a7636000 */
+  L(3.54445837111124472730013879165516908E-35), /* 3f8c78e955b01378be647b1c92aa9a77 */
+ -L(2.13623046875012756463165168672749438E-04), /* bff2c0000000001d6a1635fea6bbf000 */
+  L(1.50050816288650121729916777279129473E-35), /* 3f8b3f1f6f616a61129a58e131cbd31d */
+ -L(1.83105468749991323078784464300306893E-04), /* bff27fffffffffebfe0cbd0c82399000 */
+ -L(9.14919506501448661140572099029756008E-37), /* bf873754bacaa9d9513b6127e791eb47 */
+ -L(1.52587890625013337032336300236461546E-04), /* bff240000000001ec0cb57f2cc995000 */
+  L(2.84906084373176180870418394956384516E-35), /* 3f8c2ef6d03a7e6ab087c4f099e4de89 */
+ -L(1.22070312499990746786116828458007518E-04), /* bff1ffffffffffd553bbb49f35a34000 */
+  L(6.71618008964968339584520728412444537E-36), /* 3f8a1dacb99c60071fc9cd2349495bf0 */
+ -L(9.15527343750029275602791047595142231E-05), /* bff180000000000d8040cd6ecde28000 */
+ -L(1.95753652091078750312541716951402172E-35), /* bf8ba0526cfb24d8d59122f1c7a09a14 */
+ -L(6.10351562499913258461494008080572701E-05), /* bff0ffffffffffaffebbb92d7f6a9000 */
+  L(5.69868489273961111703398456218119973E-36), /* 3f89e4ca5df09ef4a4386dd5b3bf0331 */
+ -L(3.05175781250092882818419203884960853E-05), /* bff0000000000055ab55de88fac1d000 */
+  L(9.03341100018476837609128961872915953E-36), /* 3f8a803d229fa3a0e834a63abb06662b */
 #define T_EXPL_ARG2 (2*T_EXPL_ARG1 + 2 + 2*65)
-  0.00000000000000000000000000000000000E+00L, /* 00000000000000000000000000000000 */
-  0.00000000000000000000000000000000000E+00L, /* 00000000000000000000000000000000 */
-  3.05175781249814607084128277672749162E-05L, /* 3feffffffffffeaa02abb9102f499000 */
-  1.00271855391179733380665816525889949E-36L, /* 3f8755351afa042ac3f58114824d4c10 */
-  6.10351562500179243748093427073421439E-05L, /* 3ff1000000000052a95de07a4c26d000 */
-  1.67231624299180373502350811501181670E-36L, /* 3f881c87a53691cae9d77f4e40d66616 */
-  9.15527343749970728685313252158399200E-05L, /* 3ff17ffffffffff28040cc2acde28000 */
-  2.43665747834893104318707597514407880E-36L, /* 3f889e9366c7c6c6a2ecb78dc9b0509e */
-  1.22070312500027751961838150070880064E-04L, /* 3ff200000000003ffddde6c153b53000 */
- -1.73322146370624186623546452226755405E-35L, /* bf8b709d8d658ed5dbbe943de56ee84e */
-  1.52587890624995916105682628143179430E-04L, /* 3ff23ffffffffff6954b56e285d23000 */
-  1.23580432650945898349135528000443828E-35L, /* 3f8b06d396601dde16de7d7bc27346e6 */
-  1.83105468750008670314358488289621794E-04L, /* 3ff2800000000013fe0cdc8c823b7000 */
-  4.30446229148833293310207915930740796E-35L, /* 3f8cc9ba9bfe554a4f7f2fece291eb23 */
-  2.13623046875005741337455947623248132E-04L, /* 3ff2c0000000000d3d1662de21a3f000 */
- -3.96110759869520786681660669615255057E-35L, /* bf8ca5379b04ff4a31aab0ceacc917e6 */
-  2.44140624999981493573336463433440506E-04L, /* 3ff2ffffffffffd553bbdf48e0534000 */
- -1.39617373942387888957350179316792928E-35L, /* bf8b28eeedc286015802b63f96b8c5cd */
-  2.74658203124984920706309918754626834E-04L, /* 3ff31fffffffffee9d60c8439ec1d000 */
- -3.16168080483901830349738314447356223E-36L, /* bf890cf74f81c77a611abc1243812444 */
-  3.05175781250008648918265055410966055E-04L, /* 3ff3400000000009f8b5c9a346636000 */
-  8.54421306185008998867856704677221443E-35L, /* 3f8dc649cd40922fc08adc6b6b20ead0 */
-  3.35693359374988945462612499316774515E-04L, /* 3ff35ffffffffff34146c540f15b2000 */
-  7.96443137431639500475160850431097078E-35L, /* 3f8da77638ed3148fc4d99d1c9e13446 */
-  3.66210937500027690542093987739604535E-04L, /* 3ff380000000001fecce34bea89c4000 */
-  2.14507323877752361258862577769090367E-35L, /* 3f8bc834e554d38894cf91957b0253d3 */
-  3.96728515625003928083564943615052121E-04L, /* 3ff3a00000000004875d9a4acf6ab000 */
-  4.88358523466632050664019922448605508E-35L, /* 3f8d03a7eaeef1a9f78c71a12c44dd28 */
-  4.27246093750017799227172345607351585E-04L, /* 3ff3c00000000014856794c3ee850000 */
-  6.66520494592631402182216588784828935E-35L, /* 3f8d6262118fcdb59b8f16108f5f1a6c */
-  4.57763671875002108342364320152138181E-04L, /* 3ff3e000000000026e45d855410b9000 */
-  7.21799615960261390920033272189522298E-35L, /* 3f8d7fc645cff8879462296af975c9fd */
-  4.88281249999999768797631616370963356E-04L, /* 3ff3ffffffffffffbbc2d7cc004df000 */
- -5.30564629906905979452258114088325361E-35L, /* bf8d1a18b71929a30d67a217a27ae851 */
-  5.18798828124997339054881383202487041E-04L, /* 3ff40ffffffffffe775055eea5851000 */
- -4.03682911253647925867848180522846377E-35L, /* bf8cad44f0f3e5199d8a589d9332acad */
-  5.49316406249980511907933706754958501E-04L, /* 3ff41ffffffffff4c410b29bb62fb000 */
- -2.08166843948323917121806956728438051E-35L, /* bf8bbab8cf691403249fe5b699e25143 */
-  5.79833984374989593561576568548497165E-04L, /* 3ff42ffffffffffa0047df328d817000 */
- -1.72745033420153042445343706432627539E-34L, /* bf8ecb3c2d7d3a9e6e960576be901fdf */
-  6.10351562500008540711511259540838154E-04L, /* 3ff4400000000004ec62f54f8c271000 */
-  7.41889382604319545724663095428976499E-35L, /* 3f8d8a74c002c81a47c93b8e05d15f8e */
-  6.40869140625020444702875407535884986E-04L, /* 3ff450000000000bc91b09718515d000 */
- -4.47321009727305792048065440180490107E-35L, /* bf8cdbac5c8fe70822081d8993eb5cb6 */
-  6.71386718750007531635964622352684074E-04L, /* 3ff460000000000457792973db05c000 */
-  5.13698959677949336513874456684462092E-35L, /* 3f8d112114436949c5ef38d8049004ab */
-  7.01904296875006634673332887754430334E-04L, /* 3ff4700000000003d31adf2cb8b1d000 */
- -8.25665755717729437292989870760751482E-35L, /* bf8db6ffcc8ef71f8e648e3a8b160f5a */
-  7.32421874999998244664170215504673504E-04L, /* 3ff47ffffffffffefcf5498bd5c8a000 */
- -5.64005234937832153139057628112753364E-35L, /* bf8d2be06a1dfe90e7bf90fba7c12a98 */
-  7.62939453125017456345986752604096408E-04L, /* 3ff490000000000a101a1b093d4a8000 */
- -1.11084094120417622468550608896588329E-34L, /* bf8e274feabd2d94f6694507a46accb1 */
-  7.93457031249987558617598988993908016E-04L, /* 3ff49ffffffffff8d3f9dcab74bbf000 */
- -1.22966480225449015129079129940978828E-34L, /* bf8e46e6a65eef8fa9e42eddf3da305e */
-  8.23974609374997378723747633335135819E-04L, /* 3ff4affffffffffe7d2afbaa55b26000 */
- -1.62270010016794279091906973366704963E-34L, /* bf8eaf633f057ebdb664a34566401c4e */
-  8.54492187500023938282350821569920958E-04L, /* 3ff4c0000000000dccaabce399e59000 */
- -1.39076361712838158775374263169606160E-34L, /* bf8e71ba779364b3bbdba7841f2c4ca1 */
-  8.85009765624987932362186815286691297E-04L, /* 3ff4cffffffffff90b218886edc2a000 */
-  4.07328275060905585228261577392403980E-35L, /* 3f8cb1254dbb6ea4b8cfa5ed4cf28d24 */
-  9.15527343749975579461305518559161974E-04L, /* 3ff4dffffffffff1ec2a21f25df33000 */
-  1.16855112459192484947855553716334015E-35L, /* 3f8af10bf319e9f5270cf249eeffbe5c */
-  9.46044921875016761584725882821122521E-04L, /* 3ff4f00000000009a992c46c16d71000 */
-  9.51660680007524262741115611071680436E-35L, /* 3f8df9fd56e81f8edf133843910ee831 */
-  9.76562499999974118878133088548272636E-04L, /* 3ff4fffffffffff1149edc46a6df6000 */
- -5.65271128977550656964071208289181661E-36L, /* bf89e0e12689dd721aa2314c81eb6429 */
-  1.00708007812498671732140389760347830E-03L, /* 3ff507fffffffffc2be94b90ed091000 */
- -1.43355074891483635310132767255371379E-34L, /* bf8e7d1a688c247b16022daab1316d55 */
-  1.03759765625002637786192745235343007E-03L, /* 3ff51000000000079a57b966bc158000 */
-  2.95905815240957629366749917020106928E-34L, /* 3f8f895387fc73bb38f8a1b254c01a60 */
-  1.06811523437500860568717813047520763E-03L, /* 3ff51800000000027afcd5b35f5e6000 */
- -5.98328495358586628195372356742878314E-35L, /* bf8d3e204130013bf6328f1b70ff8c76 */
-  1.09863281250001439958487251556220070E-03L, /* 3ff5200000000004268077c6c66bd000 */
-  2.41371837889426603334113000868144760E-34L, /* 3f8f40d6948edf864054ccf151f9815e */
-  1.12915039062501298413451613770002366E-03L, /* 3ff5280000000003be0f5dd8fe81b000 */
- -1.28815268997394164973472617519705703E-34L, /* bf8e567321172ea089dce4bc8354ecb7 */
-  1.15966796874997272036339054191407232E-03L, /* 3ff52ffffffffff8231e3bcfff1e8000 */
-  1.02996064554316248496839462594377804E-34L, /* 3f8e11cf7d402789244f68e2d4f985b1 */
-  1.19018554687502744121802585360546796E-03L, /* 3ff5380000000007e8cdf3f8f6c20000 */
- -1.43453217726255628994625761307322163E-34L, /* bf8e7d5d3370d85a374f5f4802fc517a */
-  1.22070312499997743541996266398850614E-03L, /* 3ff53ffffffffff97f0722561f454000 */
- -1.41086259180534339713692694428211646E-34L, /* bf8e77125519ff76244dfec5fbd58402 */
-  1.25122070312501024092560690174507039E-03L, /* 3ff5480000000002f3a59d8820691000 */
-  3.84102646020099293168698506729765213E-34L, /* 3f8ffe8f5b86f9c3569c8f26e19b1f50 */
-  1.28173828124997986521442660131425390E-03L, /* 3ff54ffffffffffa3250a764439d9000 */
-  1.44644589735033114377952806106652650E-34L, /* 3f8e808801b80dcf38323cdbfdca2549 */
-  1.31225585937501665804856968749058137E-03L, /* 3ff5580000000004cd25a414c6d62000 */
-  1.67474574742200577294563576414361377E-34L, /* 3f8ebd394a151dbda4f81d5d83c0f1e9 */
-  1.34277343749997290265837386401818888E-03L, /* 3ff55ffffffffff83091b042cfd59000 */
- -1.55650565030381326742591837551559103E-34L, /* bf8e9dca490d7fecfadba9625ffb91c5 */
-  1.37329101562497720784949380297774268E-03L, /* 3ff567fffffffff96e3c7312f5ccf000 */
-  1.65279335325630026116581677369221748E-34L, /* 3f8eb763496f5bd7404f2298b402074f */
-  1.40380859374999099958354100336136647E-03L, /* 3ff56ffffffffffd67e2f09f2a381000 */
-  1.89919944388961890195706641264717076E-34L, /* 3f8ef8e4d0ffdfeba982aa8829501389 */
-  1.43432617187497484122173130998160625E-03L, /* 3ff577fffffffff8bf9c1d71af8a8000 */
-  2.57638517142061429772064578590009568E-34L, /* 3f8f5675d82c1cc4ada70fd3a957b89a */
-  1.46484374999999929342158925502052945E-03L, /* 3ff57fffffffffffcbdd1c7671b46000 */
-  1.76487201934184070490166772482073801E-34L, /* 3f8ed52ef732458f6e4c5c07504f33cc */
-  1.49536132812502318451070466256902933E-03L, /* 3ff5880000000006aeb7066c8ad43000 */
-  2.38068367275295804321313550609246656E-34L, /* 3f8f3c7277ae6fc390ace5e06c0b025b */
-  1.52587890625000448053340248672949543E-03L, /* 3ff59000000000014a9ae2104b3bc000 */
-  1.01174455568392813258454590274740959E-34L, /* 3f8e0cf7c434762991bb38e12acee215 */
-  1.55639648437501113499837053523090913E-03L, /* 3ff5980000000003359e2c204355e000 */
- -2.82398418808099749023517211651363693E-35L, /* bf8c2c4c2971d88caa95e15fb1ccb1a1 */
-  1.58691406249999937955142588308171026E-03L, /* 3ff59fffffffffffd2380ecbc87c2000 */
- -1.27361695572422741562701199136538047E-34L, /* bf8e5295e0e206dfb0f0266c07225448 */
-  1.61743164062498000531048954475329309E-03L, /* 3ff5a7fffffffffa3ca6fe61ed94c000 */
- -1.22606548862580061633942923016222044E-34L, /* bf8e45f1b17bb61039d21a351bb207b8 */
-  1.64794921875001835451453858682255576E-03L, /* 3ff5b000000000054a52fa20f6565000 */
-  1.39132339594152335892305491425264583E-34L, /* 3f8e71e0904c5449b414ee49b191cef2 */
-  1.67846679687501263995029340691547953E-03L, /* 3ff5b80000000003a4a9e912c910b000 */
-  6.67245854693585315412242764786197029E-35L, /* 3f8d62c4ccac1e7511a617d469468ccd */
-  1.70898437500002646861403514115369655E-03L, /* 3ff5c00000000007a109fbaa7e015000 */
-  6.87367172354719289559624829652240928E-36L, /* 3f8a245fa835eceb42bae8128d9336db */
-  1.73950195312501174308226096992992128E-03L, /* 3ff5c80000000003627c8d637a005000 */
- -2.20824271875474985927385878948759352E-34L, /* bf8f25869b1cbefb25e735992f232f57 */
-  1.77001953124997491747605207736194513E-03L, /* 3ff5cffffffffff8c53c84b6883b8000 */
-  3.43123048533596296514343180408963705E-34L, /* 3f8fc816b91d173ddadbbf09b1287906 */
-  1.80053710937497698911127570705069398E-03L, /* 3ff5d7fffffffff95e1899f4a8430000 */
-  3.99231237340890073475077494556136100E-35L, /* 3f8ca889148f62fa854da5674df41279 */
-  1.83105468750002267094899598630423914E-03L, /* 3ff5e0000000000688d21e62ba674000 */
- -3.22274595655810623999007524769365273E-34L, /* bf8fac605cb9ae01eb719675ced25560 */
-  1.86157226562500499224728040579690330E-03L, /* 3ff5e80000000001705ce28a6d89e000 */
-  3.07094985075881613489605622068441083E-34L, /* 3f8f98330225ec7e2c8f3c0d1c432b91 */
-  1.89208984374998234666824993196980949E-03L, /* 3ff5effffffffffae969fdc7cd8cf000 */
- -3.06287628722973914692165056776495733E-34L, /* bf8f9720477d9cfa10e464df7f91020c */
-  1.92260742187501225343755557292811682E-03L, /* 3ff5f800000000038824e428ed49a000 */
-  6.30049124729794620592961282769623368E-35L, /* 3f8d4efdd7cd4336d88a6aa49e1e96bc */
-  1.95312499999998514894032051116231258E-03L, /* 3ff5fffffffffffbb82f6a04f1ae0000 */
- -6.14610057507500948543216998736262902E-35L, /* bf8d46c862d39255370e7974d48daa7e */
-  1.98364257812501222021119324146882732E-03L, /* 3ff6040000000001c2d8a1aa5188d000 */
-  3.71942298418113774118754986159801984E-34L, /* 3f8fee6567d9940495519ffe62cbc9a4 */
+  L(0.00000000000000000000000000000000000E+00), /* 00000000000000000000000000000000 */
+  L(0.00000000000000000000000000000000000E+00), /* 00000000000000000000000000000000 */
+  L(3.05175781249814607084128277672749162E-05), /* 3feffffffffffeaa02abb9102f499000 */
+  L(1.00271855391179733380665816525889949E-36), /* 3f8755351afa042ac3f58114824d4c10 */
+  L(6.10351562500179243748093427073421439E-05), /* 3ff1000000000052a95de07a4c26d000 */
+  L(1.67231624299180373502350811501181670E-36), /* 3f881c87a53691cae9d77f4e40d66616 */
+  L(9.15527343749970728685313252158399200E-05), /* 3ff17ffffffffff28040cc2acde28000 */
+  L(2.43665747834893104318707597514407880E-36), /* 3f889e9366c7c6c6a2ecb78dc9b0509e */
+  L(1.22070312500027751961838150070880064E-04), /* 3ff200000000003ffddde6c153b53000 */
+ -L(1.73322146370624186623546452226755405E-35), /* bf8b709d8d658ed5dbbe943de56ee84e */
+  L(1.52587890624995916105682628143179430E-04), /* 3ff23ffffffffff6954b56e285d23000 */
+  L(1.23580432650945898349135528000443828E-35), /* 3f8b06d396601dde16de7d7bc27346e6 */
+  L(1.83105468750008670314358488289621794E-04), /* 3ff2800000000013fe0cdc8c823b7000 */
+  L(4.30446229148833293310207915930740796E-35), /* 3f8cc9ba9bfe554a4f7f2fece291eb23 */
+  L(2.13623046875005741337455947623248132E-04), /* 3ff2c0000000000d3d1662de21a3f000 */
+ -L(3.96110759869520786681660669615255057E-35), /* bf8ca5379b04ff4a31aab0ceacc917e6 */
+  L(2.44140624999981493573336463433440506E-04), /* 3ff2ffffffffffd553bbdf48e0534000 */
+ -L(1.39617373942387888957350179316792928E-35), /* bf8b28eeedc286015802b63f96b8c5cd */
+  L(2.74658203124984920706309918754626834E-04), /* 3ff31fffffffffee9d60c8439ec1d000 */
+ -L(3.16168080483901830349738314447356223E-36), /* bf890cf74f81c77a611abc1243812444 */
+  L(3.05175781250008648918265055410966055E-04), /* 3ff3400000000009f8b5c9a346636000 */
+  L(8.54421306185008998867856704677221443E-35), /* 3f8dc649cd40922fc08adc6b6b20ead0 */
+  L(3.35693359374988945462612499316774515E-04), /* 3ff35ffffffffff34146c540f15b2000 */
+  L(7.96443137431639500475160850431097078E-35), /* 3f8da77638ed3148fc4d99d1c9e13446 */
+  L(3.66210937500027690542093987739604535E-04), /* 3ff380000000001fecce34bea89c4000 */
+  L(2.14507323877752361258862577769090367E-35), /* 3f8bc834e554d38894cf91957b0253d3 */
+  L(3.96728515625003928083564943615052121E-04), /* 3ff3a00000000004875d9a4acf6ab000 */
+  L(4.88358523466632050664019922448605508E-35), /* 3f8d03a7eaeef1a9f78c71a12c44dd28 */
+  L(4.27246093750017799227172345607351585E-04), /* 3ff3c00000000014856794c3ee850000 */
+  L(6.66520494592631402182216588784828935E-35), /* 3f8d6262118fcdb59b8f16108f5f1a6c */
+  L(4.57763671875002108342364320152138181E-04), /* 3ff3e000000000026e45d855410b9000 */
+  L(7.21799615960261390920033272189522298E-35), /* 3f8d7fc645cff8879462296af975c9fd */
+  L(4.88281249999999768797631616370963356E-04), /* 3ff3ffffffffffffbbc2d7cc004df000 */
+ -L(5.30564629906905979452258114088325361E-35), /* bf8d1a18b71929a30d67a217a27ae851 */
+  L(5.18798828124997339054881383202487041E-04), /* 3ff40ffffffffffe775055eea5851000 */
+ -L(4.03682911253647925867848180522846377E-35), /* bf8cad44f0f3e5199d8a589d9332acad */
+  L(5.49316406249980511907933706754958501E-04), /* 3ff41ffffffffff4c410b29bb62fb000 */
+ -L(2.08166843948323917121806956728438051E-35), /* bf8bbab8cf691403249fe5b699e25143 */
+  L(5.79833984374989593561576568548497165E-04), /* 3ff42ffffffffffa0047df328d817000 */
+ -L(1.72745033420153042445343706432627539E-34), /* bf8ecb3c2d7d3a9e6e960576be901fdf */
+  L(6.10351562500008540711511259540838154E-04), /* 3ff4400000000004ec62f54f8c271000 */
+  L(7.41889382604319545724663095428976499E-35), /* 3f8d8a74c002c81a47c93b8e05d15f8e */
+  L(6.40869140625020444702875407535884986E-04), /* 3ff450000000000bc91b09718515d000 */
+ -L(4.47321009727305792048065440180490107E-35), /* bf8cdbac5c8fe70822081d8993eb5cb6 */
+  L(6.71386718750007531635964622352684074E-04), /* 3ff460000000000457792973db05c000 */
+  L(5.13698959677949336513874456684462092E-35), /* 3f8d112114436949c5ef38d8049004ab */
+  L(7.01904296875006634673332887754430334E-04), /* 3ff4700000000003d31adf2cb8b1d000 */
+ -L(8.25665755717729437292989870760751482E-35), /* bf8db6ffcc8ef71f8e648e3a8b160f5a */
+  L(7.32421874999998244664170215504673504E-04), /* 3ff47ffffffffffefcf5498bd5c8a000 */
+ -L(5.64005234937832153139057628112753364E-35), /* bf8d2be06a1dfe90e7bf90fba7c12a98 */
+  L(7.62939453125017456345986752604096408E-04), /* 3ff490000000000a101a1b093d4a8000 */
+ -L(1.11084094120417622468550608896588329E-34), /* bf8e274feabd2d94f6694507a46accb1 */
+  L(7.93457031249987558617598988993908016E-04), /* 3ff49ffffffffff8d3f9dcab74bbf000 */
+ -L(1.22966480225449015129079129940978828E-34), /* bf8e46e6a65eef8fa9e42eddf3da305e */
+  L(8.23974609374997378723747633335135819E-04), /* 3ff4affffffffffe7d2afbaa55b26000 */
+ -L(1.62270010016794279091906973366704963E-34), /* bf8eaf633f057ebdb664a34566401c4e */
+  L(8.54492187500023938282350821569920958E-04), /* 3ff4c0000000000dccaabce399e59000 */
+ -L(1.39076361712838158775374263169606160E-34), /* bf8e71ba779364b3bbdba7841f2c4ca1 */
+  L(8.85009765624987932362186815286691297E-04), /* 3ff4cffffffffff90b218886edc2a000 */
+  L(4.07328275060905585228261577392403980E-35), /* 3f8cb1254dbb6ea4b8cfa5ed4cf28d24 */
+  L(9.15527343749975579461305518559161974E-04), /* 3ff4dffffffffff1ec2a21f25df33000 */
+  L(1.16855112459192484947855553716334015E-35), /* 3f8af10bf319e9f5270cf249eeffbe5c */
+  L(9.46044921875016761584725882821122521E-04), /* 3ff4f00000000009a992c46c16d71000 */
+  L(9.51660680007524262741115611071680436E-35), /* 3f8df9fd56e81f8edf133843910ee831 */
+  L(9.76562499999974118878133088548272636E-04), /* 3ff4fffffffffff1149edc46a6df6000 */
+ -L(5.65271128977550656964071208289181661E-36), /* bf89e0e12689dd721aa2314c81eb6429 */
+  L(1.00708007812498671732140389760347830E-03), /* 3ff507fffffffffc2be94b90ed091000 */
+ -L(1.43355074891483635310132767255371379E-34), /* bf8e7d1a688c247b16022daab1316d55 */
+  L(1.03759765625002637786192745235343007E-03), /* 3ff51000000000079a57b966bc158000 */
+  L(2.95905815240957629366749917020106928E-34), /* 3f8f895387fc73bb38f8a1b254c01a60 */
+  L(1.06811523437500860568717813047520763E-03), /* 3ff51800000000027afcd5b35f5e6000 */
+ -L(5.98328495358586628195372356742878314E-35), /* bf8d3e204130013bf6328f1b70ff8c76 */
+  L(1.09863281250001439958487251556220070E-03), /* 3ff5200000000004268077c6c66bd000 */
+  L(2.41371837889426603334113000868144760E-34), /* 3f8f40d6948edf864054ccf151f9815e */
+  L(1.12915039062501298413451613770002366E-03), /* 3ff5280000000003be0f5dd8fe81b000 */
+ -L(1.28815268997394164973472617519705703E-34), /* bf8e567321172ea089dce4bc8354ecb7 */
+  L(1.15966796874997272036339054191407232E-03), /* 3ff52ffffffffff8231e3bcfff1e8000 */
+  L(1.02996064554316248496839462594377804E-34), /* 3f8e11cf7d402789244f68e2d4f985b1 */
+  L(1.19018554687502744121802585360546796E-03), /* 3ff5380000000007e8cdf3f8f6c20000 */
+ -L(1.43453217726255628994625761307322163E-34), /* bf8e7d5d3370d85a374f5f4802fc517a */
+  L(1.22070312499997743541996266398850614E-03), /* 3ff53ffffffffff97f0722561f454000 */
+ -L(1.41086259180534339713692694428211646E-34), /* bf8e77125519ff76244dfec5fbd58402 */
+  L(1.25122070312501024092560690174507039E-03), /* 3ff5480000000002f3a59d8820691000 */
+  L(3.84102646020099293168698506729765213E-34), /* 3f8ffe8f5b86f9c3569c8f26e19b1f50 */
+  L(1.28173828124997986521442660131425390E-03), /* 3ff54ffffffffffa3250a764439d9000 */
+  L(1.44644589735033114377952806106652650E-34), /* 3f8e808801b80dcf38323cdbfdca2549 */
+  L(1.31225585937501665804856968749058137E-03), /* 3ff5580000000004cd25a414c6d62000 */
+  L(1.67474574742200577294563576414361377E-34), /* 3f8ebd394a151dbda4f81d5d83c0f1e9 */
+  L(1.34277343749997290265837386401818888E-03), /* 3ff55ffffffffff83091b042cfd59000 */
+ -L(1.55650565030381326742591837551559103E-34), /* bf8e9dca490d7fecfadba9625ffb91c5 */
+  L(1.37329101562497720784949380297774268E-03), /* 3ff567fffffffff96e3c7312f5ccf000 */
+  L(1.65279335325630026116581677369221748E-34), /* 3f8eb763496f5bd7404f2298b402074f */
+  L(1.40380859374999099958354100336136647E-03), /* 3ff56ffffffffffd67e2f09f2a381000 */
+  L(1.89919944388961890195706641264717076E-34), /* 3f8ef8e4d0ffdfeba982aa8829501389 */
+  L(1.43432617187497484122173130998160625E-03), /* 3ff577fffffffff8bf9c1d71af8a8000 */
+  L(2.57638517142061429772064578590009568E-34), /* 3f8f5675d82c1cc4ada70fd3a957b89a */
+  L(1.46484374999999929342158925502052945E-03), /* 3ff57fffffffffffcbdd1c7671b46000 */
+  L(1.76487201934184070490166772482073801E-34), /* 3f8ed52ef732458f6e4c5c07504f33cc */
+  L(1.49536132812502318451070466256902933E-03), /* 3ff5880000000006aeb7066c8ad43000 */
+  L(2.38068367275295804321313550609246656E-34), /* 3f8f3c7277ae6fc390ace5e06c0b025b */
+  L(1.52587890625000448053340248672949543E-03), /* 3ff59000000000014a9ae2104b3bc000 */
+  L(1.01174455568392813258454590274740959E-34), /* 3f8e0cf7c434762991bb38e12acee215 */
+  L(1.55639648437501113499837053523090913E-03), /* 3ff5980000000003359e2c204355e000 */
+ -L(2.82398418808099749023517211651363693E-35), /* bf8c2c4c2971d88caa95e15fb1ccb1a1 */
+  L(1.58691406249999937955142588308171026E-03), /* 3ff59fffffffffffd2380ecbc87c2000 */
+ -L(1.27361695572422741562701199136538047E-34), /* bf8e5295e0e206dfb0f0266c07225448 */
+  L(1.61743164062498000531048954475329309E-03), /* 3ff5a7fffffffffa3ca6fe61ed94c000 */
+ -L(1.22606548862580061633942923016222044E-34), /* bf8e45f1b17bb61039d21a351bb207b8 */
+  L(1.64794921875001835451453858682255576E-03), /* 3ff5b000000000054a52fa20f6565000 */
+  L(1.39132339594152335892305491425264583E-34), /* 3f8e71e0904c5449b414ee49b191cef2 */
+  L(1.67846679687501263995029340691547953E-03), /* 3ff5b80000000003a4a9e912c910b000 */
+  L(6.67245854693585315412242764786197029E-35), /* 3f8d62c4ccac1e7511a617d469468ccd */
+  L(1.70898437500002646861403514115369655E-03), /* 3ff5c00000000007a109fbaa7e015000 */
+  L(6.87367172354719289559624829652240928E-36), /* 3f8a245fa835eceb42bae8128d9336db */
+  L(1.73950195312501174308226096992992128E-03), /* 3ff5c80000000003627c8d637a005000 */
+ -L(2.20824271875474985927385878948759352E-34), /* bf8f25869b1cbefb25e735992f232f57 */
+  L(1.77001953124997491747605207736194513E-03), /* 3ff5cffffffffff8c53c84b6883b8000 */
+  L(3.43123048533596296514343180408963705E-34), /* 3f8fc816b91d173ddadbbf09b1287906 */
+  L(1.80053710937497698911127570705069398E-03), /* 3ff5d7fffffffff95e1899f4a8430000 */
+  L(3.99231237340890073475077494556136100E-35), /* 3f8ca889148f62fa854da5674df41279 */
+  L(1.83105468750002267094899598630423914E-03), /* 3ff5e0000000000688d21e62ba674000 */
+ -L(3.22274595655810623999007524769365273E-34), /* bf8fac605cb9ae01eb719675ced25560 */
+  L(1.86157226562500499224728040579690330E-03), /* 3ff5e80000000001705ce28a6d89e000 */
+  L(3.07094985075881613489605622068441083E-34), /* 3f8f98330225ec7e2c8f3c0d1c432b91 */
+  L(1.89208984374998234666824993196980949E-03), /* 3ff5effffffffffae969fdc7cd8cf000 */
+ -L(3.06287628722973914692165056776495733E-34), /* bf8f9720477d9cfa10e464df7f91020c */
+  L(1.92260742187501225343755557292811682E-03), /* 3ff5f800000000038824e428ed49a000 */
+  L(6.30049124729794620592961282769623368E-35), /* 3f8d4efdd7cd4336d88a6aa49e1e96bc */
+  L(1.95312499999998514894032051116231258E-03), /* 3ff5fffffffffffbb82f6a04f1ae0000 */
+ -L(6.14610057507500948543216998736262902E-35), /* bf8d46c862d39255370e7974d48daa7e */
+  L(1.98364257812501222021119324146882732E-03), /* 3ff6040000000001c2d8a1aa5188d000 */
+  L(3.71942298418113774118754986159801984E-34), /* 3f8fee6567d9940495519ffe62cbc9a4 */
 
-  7.06341639425619532977052017486130353E-01L, /* 3ffe69a59c8245a9ac00000000000000 */
-  7.09106182437398424589503065362805501E-01L, /* 3ffe6b0ff72deb89d000000000000000 */
-  7.11881545564596485142772053222870454E-01L, /* 3ffe6c7bbce9a6d93000000000000000 */
-  7.14667771155948150507697391731198877E-01L, /* 3ffe6de8ef213d71e000000000000000 */
-  7.17464901725936049503573599395167548E-01L, /* 3ffe6f578f41e1a9e400000000000000 */
-  7.20272979955439790478166628417966422E-01L, /* 3ffe70c79eba33c06c00000000000000 */
-  7.23092048692387218133958981525211129E-01L, /* 3ffe72391efa434c7400000000000000 */
-  7.25922150952408251622927082280511968E-01L, /* 3ffe73ac117390acd800000000000000 */
-  7.28763329919491220643124052003258839E-01L, /* 3ffe752077990e79d000000000000000 */
-  7.31615628946641782803794740175362676E-01L, /* 3ffe769652df22f7e000000000000000 */
-  7.34479091556544505525749855223693885E-01L, /* 3ffe780da4bba98c4800000000000000 */
-  7.37353761442226890432394270646909717E-01L, /* 3ffe79866ea5f432d400000000000000 */
-  7.40239682467726090031590047146892175E-01L, /* 3ffe7b00b216ccf53000000000000000 */
-  7.43136898668758316688354170764796436E-01L, /* 3ffe7c7c70887763c000000000000000 */
-  7.46045454253390638577059235103661194E-01L, /* 3ffe7df9ab76b20fd000000000000000 */
-  7.48965393602715662213498148958024103E-01L, /* 3ffe7f78645eb8076400000000000000 */
-  7.51896761271528629722027403659012634E-01L, /* 3ffe80f89cbf42526400000000000000 */
-  7.54839601989007347171423134568613023E-01L, /* 3ffe827a561889716000000000000000 */
-  7.57793960659394638668118204805068672E-01L, /* 3ffe83fd91ec46ddc000000000000000 */
-  7.60759882362683631518152083117456641E-01L, /* 3ffe858251bdb68b8c00000000000000 */
-  7.63737412355305483879774897104653064E-01L, /* 3ffe87089711986c9400000000000000 */
-  7.66726596070820082262642358728044201E-01L, /* 3ffe8890636e31f54400000000000000 */
-  7.69727479120609181517664865168626420E-01L, /* 3ffe8a19b85b4fa2d800000000000000 */
-  7.72740107294572486917871856348938309E-01L, /* 3ffe8ba4976246833800000000000000 */
-  7.75764526561826289752232810315035749E-01L, /* 3ffe8d31020df5be4400000000000000 */
-  7.78800783071404878477039801509818062E-01L, /* 3ffe8ebef9eac820b000000000000000 */
-  7.81848923152964780936002853195532225E-01L, /* 3ffe904e8086b5a87800000000000000 */
-  7.84908993317491698871180005880887620E-01L, /* 3ffe91df97714512d800000000000000 */
-  7.87981040258010162480317717381694820E-01L, /* 3ffe9372403b8d6bcc00000000000000 */
-  7.91065110850296016042904057030682452E-01L, /* 3ffe95067c78379f2800000000000000 */
-  7.94161252153591734614934694036492147E-01L, /* 3ffe969c4dbb800b4800000000000000 */
-  7.97269511411324433014513601847284008E-01L, /* 3ffe9833b59b38154400000000000000 */
-  8.00389936051826789142893403550260700E-01L, /* 3ffe99ccb5aec7bec800000000000000 */
-  8.03522573689060742863077280162542593E-01L, /* 3ffe9b674f8f2f3d7c00000000000000 */
-  8.06667472123343942680406826184480451E-01L, /* 3ffe9d0384d70893f800000000000000 */
-  8.09824679342079301047618855591281317E-01L, /* 3ffe9ea15722892c7800000000000000 */
-  8.12994243520486992160556383169023320E-01L, /* 3ffea040c80f8374f000000000000000 */
-  8.16176213022339780422953481320291758E-01L, /* 3ffea1e1d93d687d0000000000000000 */
-  8.19370636400700819157449927843117621E-01L, /* 3ffea3848c4d49954c00000000000000 */
-  8.22577562398664585696650419777142815E-01L, /* 3ffea528e2e1d9f09800000000000000 */
-  8.25797039950100647542896581398963463E-01L, /* 3ffea6cede9f70467c00000000000000 */
-  8.29029118180400342863478613253391813E-01L, /* 3ffea876812c0877bc00000000000000 */
-  8.32273846407226292054559735333896242E-01L, /* 3ffeaa1fcc2f45343800000000000000 */
-  8.35531274141265073440720811959181447E-01L, /* 3ffeabcac15271a2a400000000000000 */
-  8.38801451086982535754188461396552157E-01L, /* 3ffead7762408309bc00000000000000 */
-  8.42084427143382358016410194068157580E-01L, /* 3ffeaf25b0a61a7b4c00000000000000 */
-  8.45380252404767357221615498019673396E-01L, /* 3ffeb0d5ae318680c400000000000000 */
-  8.48688977161503960155997106085123960E-01L, /* 3ffeb2875c92c4c99400000000000000 */
-  8.52010651900789478530029441571969073E-01L, /* 3ffeb43abd7b83db1c00000000000000 */
-  8.55345327307422548246407245642330963E-01L, /* 3ffeb5efd29f24c26400000000000000 */
-  8.58693054264576483003423845730139874E-01L, /* 3ffeb7a69db2bcc77800000000000000 */
-  8.62053883854575708767242758767679334E-01L, /* 3ffeb95f206d17228000000000000000 */
-  8.65427867359675251357487013592617586E-01L, /* 3ffebb195c86b6b29000000000000000 */
-  8.68815056262843166123843730019871145E-01L, /* 3ffebcd553b9d7b62000000000000000 */
-  8.72215502248546159513864495238522068E-01L, /* 3ffebe9307c271855000000000000000 */
-  8.75629257203538208242932228131394368E-01L, /* 3ffec0527a5e384ddc00000000000000 */
-  8.79056373217652342599848225290770642E-01L, /* 3ffec213ad4c9ed0d800000000000000 */
-  8.82496902584595399599010079327854328E-01L, /* 3ffec3d6a24ed8221800000000000000 */
-  8.85950897802745995779361010136199184E-01L, /* 3ffec59b5b27d9696800000000000000 */
-  8.89418411575955636383383762222365476E-01L, /* 3ffec761d99c5ba58800000000000000 */
-  8.92899496814352794382685374330321793E-01L, /* 3ffec92a1f72dd70d400000000000000 */
-  8.96394206635150403439382671422208659E-01L, /* 3ffecaf42e73a4c7d800000000000000 */
-  8.99902594363456265202927397695020773E-01L, /* 3ffeccc00868c0d18800000000000000 */
-  9.03424713533086704009278378180169966E-01L, /* 3ffece8daf1e0ba94c00000000000000 */
-  9.06960617887383580004723171441582963E-01L, /* 3ffed05d24612c2af000000000000000 */
-  9.10510361380034133338412516422977205E-01L, /* 3ffed22e6a0197c02c00000000000000 */
-  9.14073998175894436579724811053893063E-01L, /* 3ffed40181d094303400000000000000 */
-  9.17651582651815816982221463149471674E-01L, /* 3ffed5d66da13970f400000000000000 */
-  9.21243169397474526149949269893113524E-01L, /* 3ffed7ad2f48737a2000000000000000 */
-  9.24848813216204823639543519675498828E-01L, /* 3ffed985c89d041a3000000000000000 */
-  9.28468569125835141431224428743007593E-01L, /* 3ffedb603b7784cd1800000000000000 */
-  9.32102492359527579068867453315760940E-01L, /* 3ffedd3c89b26894e000000000000000 */
-  9.35750638366620729469147477175283711E-01L, /* 3ffedf1ab529fdd41c00000000000000 */
-  9.39413062813475779888605643463961314E-01L, /* 3ffee0fabfbc702a3c00000000000000 */
-  9.43089821584325888048638830696290825E-01L, /* 3ffee2dcab49ca51b400000000000000 */
-  9.46780970782128888929563004239753354E-01L, /* 3ffee4c079b3f8000400000000000000 */
-  9.50486566729423443256052905780961737E-01L, /* 3ffee6a62cdec7c7b000000000000000 */
-  9.54206665969188322362626308859034907E-01L, /* 3ffee88dc6afecfbfc00000000000000 */
-  9.57941325265705301283958306157728657E-01L, /* 3ffeea77490f0196b000000000000000 */
-  9.61690601605425299247542625380447134E-01L, /* 3ffeec62b5e5881fb000000000000000 */
-  9.65454552197837823079851204965962097E-01L, /* 3ffeee500f1eed967000000000000000 */
-  9.69233234476344074348475032820715569E-01L, /* 3ffef03f56a88b5d7800000000000000 */
-  9.73026706099133165128733935489435680E-01L, /* 3ffef2308e71a927a800000000000000 */
-  9.76835024950062025261843245971249416E-01L, /* 3ffef423b86b7ee79000000000000000 */
-  9.80658249139538557015427500118676107E-01L, /* 3ffef618d68936c09c00000000000000 */
-  9.84496437005408397968864164795377292E-01L, /* 3ffef80feabfeefa4800000000000000 */
-  9.88349647113845042323276857132441364E-01L, /* 3ffefa08f706bbf53800000000000000 */
-  9.92217938260243514925207364285597578E-01L, /* 3ffefc03fd56aa225000000000000000 */
-  9.96101369470117486981664001177705359E-01L, /* 3ffefe00ffaabffbbc00000000000000 */
+  L(7.06341639425619532977052017486130353E-01), /* 3ffe69a59c8245a9ac00000000000000 */
+  L(7.09106182437398424589503065362805501E-01), /* 3ffe6b0ff72deb89d000000000000000 */
+  L(7.11881545564596485142772053222870454E-01), /* 3ffe6c7bbce9a6d93000000000000000 */
+  L(7.14667771155948150507697391731198877E-01), /* 3ffe6de8ef213d71e000000000000000 */
+  L(7.17464901725936049503573599395167548E-01), /* 3ffe6f578f41e1a9e400000000000000 */
+  L(7.20272979955439790478166628417966422E-01), /* 3ffe70c79eba33c06c00000000000000 */
+  L(7.23092048692387218133958981525211129E-01), /* 3ffe72391efa434c7400000000000000 */
+  L(7.25922150952408251622927082280511968E-01), /* 3ffe73ac117390acd800000000000000 */
+  L(7.28763329919491220643124052003258839E-01), /* 3ffe752077990e79d000000000000000 */
+  L(7.31615628946641782803794740175362676E-01), /* 3ffe769652df22f7e000000000000000 */
+  L(7.34479091556544505525749855223693885E-01), /* 3ffe780da4bba98c4800000000000000 */
+  L(7.37353761442226890432394270646909717E-01), /* 3ffe79866ea5f432d400000000000000 */
+  L(7.40239682467726090031590047146892175E-01), /* 3ffe7b00b216ccf53000000000000000 */
+  L(7.43136898668758316688354170764796436E-01), /* 3ffe7c7c70887763c000000000000000 */
+  L(7.46045454253390638577059235103661194E-01), /* 3ffe7df9ab76b20fd000000000000000 */
+  L(7.48965393602715662213498148958024103E-01), /* 3ffe7f78645eb8076400000000000000 */
+  L(7.51896761271528629722027403659012634E-01), /* 3ffe80f89cbf42526400000000000000 */
+  L(7.54839601989007347171423134568613023E-01), /* 3ffe827a561889716000000000000000 */
+  L(7.57793960659394638668118204805068672E-01), /* 3ffe83fd91ec46ddc000000000000000 */
+  L(7.60759882362683631518152083117456641E-01), /* 3ffe858251bdb68b8c00000000000000 */
+  L(7.63737412355305483879774897104653064E-01), /* 3ffe87089711986c9400000000000000 */
+  L(7.66726596070820082262642358728044201E-01), /* 3ffe8890636e31f54400000000000000 */
+  L(7.69727479120609181517664865168626420E-01), /* 3ffe8a19b85b4fa2d800000000000000 */
+  L(7.72740107294572486917871856348938309E-01), /* 3ffe8ba4976246833800000000000000 */
+  L(7.75764526561826289752232810315035749E-01), /* 3ffe8d31020df5be4400000000000000 */
+  L(7.78800783071404878477039801509818062E-01), /* 3ffe8ebef9eac820b000000000000000 */
+  L(7.81848923152964780936002853195532225E-01), /* 3ffe904e8086b5a87800000000000000 */
+  L(7.84908993317491698871180005880887620E-01), /* 3ffe91df97714512d800000000000000 */
+  L(7.87981040258010162480317717381694820E-01), /* 3ffe9372403b8d6bcc00000000000000 */
+  L(7.91065110850296016042904057030682452E-01), /* 3ffe95067c78379f2800000000000000 */
+  L(7.94161252153591734614934694036492147E-01), /* 3ffe969c4dbb800b4800000000000000 */
+  L(7.97269511411324433014513601847284008E-01), /* 3ffe9833b59b38154400000000000000 */
+  L(8.00389936051826789142893403550260700E-01), /* 3ffe99ccb5aec7bec800000000000000 */
+  L(8.03522573689060742863077280162542593E-01), /* 3ffe9b674f8f2f3d7c00000000000000 */
+  L(8.06667472123343942680406826184480451E-01), /* 3ffe9d0384d70893f800000000000000 */
+  L(8.09824679342079301047618855591281317E-01), /* 3ffe9ea15722892c7800000000000000 */
+  L(8.12994243520486992160556383169023320E-01), /* 3ffea040c80f8374f000000000000000 */
+  L(8.16176213022339780422953481320291758E-01), /* 3ffea1e1d93d687d0000000000000000 */
+  L(8.19370636400700819157449927843117621E-01), /* 3ffea3848c4d49954c00000000000000 */
+  L(8.22577562398664585696650419777142815E-01), /* 3ffea528e2e1d9f09800000000000000 */
+  L(8.25797039950100647542896581398963463E-01), /* 3ffea6cede9f70467c00000000000000 */
+  L(8.29029118180400342863478613253391813E-01), /* 3ffea876812c0877bc00000000000000 */
+  L(8.32273846407226292054559735333896242E-01), /* 3ffeaa1fcc2f45343800000000000000 */
+  L(8.35531274141265073440720811959181447E-01), /* 3ffeabcac15271a2a400000000000000 */
+  L(8.38801451086982535754188461396552157E-01), /* 3ffead7762408309bc00000000000000 */
+  L(8.42084427143382358016410194068157580E-01), /* 3ffeaf25b0a61a7b4c00000000000000 */
+  L(8.45380252404767357221615498019673396E-01), /* 3ffeb0d5ae318680c400000000000000 */
+  L(8.48688977161503960155997106085123960E-01), /* 3ffeb2875c92c4c99400000000000000 */
+  L(8.52010651900789478530029441571969073E-01), /* 3ffeb43abd7b83db1c00000000000000 */
+  L(8.55345327307422548246407245642330963E-01), /* 3ffeb5efd29f24c26400000000000000 */
+  L(8.58693054264576483003423845730139874E-01), /* 3ffeb7a69db2bcc77800000000000000 */
+  L(8.62053883854575708767242758767679334E-01), /* 3ffeb95f206d17228000000000000000 */
+  L(8.65427867359675251357487013592617586E-01), /* 3ffebb195c86b6b29000000000000000 */
+  L(8.68815056262843166123843730019871145E-01), /* 3ffebcd553b9d7b62000000000000000 */
+  L(8.72215502248546159513864495238522068E-01), /* 3ffebe9307c271855000000000000000 */
+  L(8.75629257203538208242932228131394368E-01), /* 3ffec0527a5e384ddc00000000000000 */
+  L(8.79056373217652342599848225290770642E-01), /* 3ffec213ad4c9ed0d800000000000000 */
+  L(8.82496902584595399599010079327854328E-01), /* 3ffec3d6a24ed8221800000000000000 */
+  L(8.85950897802745995779361010136199184E-01), /* 3ffec59b5b27d9696800000000000000 */
+  L(8.89418411575955636383383762222365476E-01), /* 3ffec761d99c5ba58800000000000000 */
+  L(8.92899496814352794382685374330321793E-01), /* 3ffec92a1f72dd70d400000000000000 */
+  L(8.96394206635150403439382671422208659E-01), /* 3ffecaf42e73a4c7d800000000000000 */
+  L(8.99902594363456265202927397695020773E-01), /* 3ffeccc00868c0d18800000000000000 */
+  L(9.03424713533086704009278378180169966E-01), /* 3ffece8daf1e0ba94c00000000000000 */
+  L(9.06960617887383580004723171441582963E-01), /* 3ffed05d24612c2af000000000000000 */
+  L(9.10510361380034133338412516422977205E-01), /* 3ffed22e6a0197c02c00000000000000 */
+  L(9.14073998175894436579724811053893063E-01), /* 3ffed40181d094303400000000000000 */
+  L(9.17651582651815816982221463149471674E-01), /* 3ffed5d66da13970f400000000000000 */
+  L(9.21243169397474526149949269893113524E-01), /* 3ffed7ad2f48737a2000000000000000 */
+  L(9.24848813216204823639543519675498828E-01), /* 3ffed985c89d041a3000000000000000 */
+  L(9.28468569125835141431224428743007593E-01), /* 3ffedb603b7784cd1800000000000000 */
+  L(9.32102492359527579068867453315760940E-01), /* 3ffedd3c89b26894e000000000000000 */
+  L(9.35750638366620729469147477175283711E-01), /* 3ffedf1ab529fdd41c00000000000000 */
+  L(9.39413062813475779888605643463961314E-01), /* 3ffee0fabfbc702a3c00000000000000 */
+  L(9.43089821584325888048638830696290825E-01), /* 3ffee2dcab49ca51b400000000000000 */
+  L(9.46780970782128888929563004239753354E-01), /* 3ffee4c079b3f8000400000000000000 */
+  L(9.50486566729423443256052905780961737E-01), /* 3ffee6a62cdec7c7b000000000000000 */
+  L(9.54206665969188322362626308859034907E-01), /* 3ffee88dc6afecfbfc00000000000000 */
+  L(9.57941325265705301283958306157728657E-01), /* 3ffeea77490f0196b000000000000000 */
+  L(9.61690601605425299247542625380447134E-01), /* 3ffeec62b5e5881fb000000000000000 */
+  L(9.65454552197837823079851204965962097E-01), /* 3ffeee500f1eed967000000000000000 */
+  L(9.69233234476344074348475032820715569E-01), /* 3ffef03f56a88b5d7800000000000000 */
+  L(9.73026706099133165128733935489435680E-01), /* 3ffef2308e71a927a800000000000000 */
+  L(9.76835024950062025261843245971249416E-01), /* 3ffef423b86b7ee79000000000000000 */
+  L(9.80658249139538557015427500118676107E-01), /* 3ffef618d68936c09c00000000000000 */
+  L(9.84496437005408397968864164795377292E-01), /* 3ffef80feabfeefa4800000000000000 */
+  L(9.88349647113845042323276857132441364E-01), /* 3ffefa08f706bbf53800000000000000 */
+  L(9.92217938260243514925207364285597578E-01), /* 3ffefc03fd56aa225000000000000000 */
+  L(9.96101369470117486981664001177705359E-01), /* 3ffefe00ffaabffbbc00000000000000 */
 #define T_EXPL_RES1 (T_EXPL_ARG2 + 2 + 2*65 + 89)
-  1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
-  1.00391388933834757590801700644078664E+00L, /* 3fff0100802ab5577800000000000000 */
-  1.00784309720644799091004983893071767E+00L, /* 3fff0202015600445c00000000000000 */
-  1.01178768355933151879000320150225889E+00L, /* 3fff0304848362076c00000000000000 */
-  1.01574770858668572692806719715008512E+00L, /* 3fff04080ab55de39000000000000000 */
-  1.01972323271377413034244341361045372E+00L, /* 3fff050c94ef7a206c00000000000000 */
-  1.02371431660235789884438872832106426E+00L, /* 3fff06122436410dd000000000000000 */
-  1.02772102115162167201845022646011785E+00L, /* 3fff0718b98f42085000000000000000 */
-  1.03174340749910264936062276319717057E+00L, /* 3fff08205601127ec800000000000000 */
-  1.03578153702162378824169763902318664E+00L, /* 3fff0928fa934ef90800000000000000 */
-  1.03983547133622999947277776300325058E+00L, /* 3fff0a32a84e9c1f5800000000000000 */
-  1.04390527230112850620713516036630608E+00L, /* 3fff0b3d603ca7c32800000000000000 */
-  1.04799100201663270004459604933799710E+00L, /* 3fff0c49236829e8bc00000000000000 */
-  1.05209272282610977189420964350574650E+00L, /* 3fff0d55f2dce5d1e800000000000000 */
-  1.05621049731693195106174698594259098E+00L, /* 3fff0e63cfa7ab09d000000000000000 */
-  1.06034438832143151909548350886325352E+00L, /* 3fff0f72bad65671b800000000000000 */
-  1.06449445891785943185681162503897212E+00L, /* 3fff1082b577d34ed800000000000000 */
-  1.06866077243134810492719566354935523E+00L, /* 3fff1193c09c1c595c00000000000000 */
-  1.07284339243487741866189821848820429E+00L, /* 3fff12a5dd543ccc4c00000000000000 */
-  1.07704238275024494209120007326419000E+00L, /* 3fff13b90cb25176a400000000000000 */
-  1.08125780744903959851299646288680378E+00L, /* 3fff14cd4fc989cd6400000000000000 */
-  1.08548973085361949442173568058933597E+00L, /* 3fff15e2a7ae28fecc00000000000000 */
-  1.08973821753809324563988525369495619E+00L, /* 3fff16f9157587069400000000000000 */
-  1.09400333232930546678574046381982043E+00L, /* 3fff18109a3611c35000000000000000 */
-  1.09828514030782586896606289883493446E+00L, /* 3fff192937074e0cd800000000000000 */
-  1.10258370680894224324930519287590869E+00L, /* 3fff1a42ed01d8cbc800000000000000 */
-  1.10689909742365749645287564817408565E+00L, /* 3fff1b5dbd3f68122400000000000000 */
-  1.11123137799969046168868658241990488E+00L, /* 3fff1c79a8dacc350c00000000000000 */
-  1.11558061464248076122274255794764031E+00L, /* 3fff1d96b0eff0e79400000000000000 */
-  1.11994687371619722204840741142106708E+00L, /* 3fff1eb4d69bde569c00000000000000 */
-  1.12433022184475073235176978414529003E+00L, /* 3fff1fd41afcba45e800000000000000 */
-  1.12873072591281087273529237791080959E+00L, /* 3fff20f47f31c92e4800000000000000 */
-  1.13314845306682632219974493636982515E+00L, /* 3fff2216045b6f5cd000000000000000 */
-  1.13758347071604959399593326452304609E+00L, /* 3fff2338ab9b32134800000000000000 */
-  1.14203584653356560174586320499656722E+00L, /* 3fff245c7613b8a9b000000000000000 */
-  1.14650564845732405583333957110880874E+00L, /* 3fff258164e8cdb0d800000000000000 */
-  1.15099294469117646722011727433709893E+00L, /* 3fff26a7793f60164400000000000000 */
-  1.15549780370591653744227755851170514E+00L, /* 3fff27ceb43d84490400000000000000 */
-  1.16002029424032515603215642840950750E+00L, /* 3fff28f7170a755fd800000000000000 */
-  1.16456048530221917269855680387991015E+00L, /* 3fff2a20a2ce96406400000000000000 */
-  1.16911844616950438835445424956560601E+00L, /* 3fff2b4b58b372c79400000000000000 */
-  1.17369424639123270948104504896036815E+00L, /* 3fff2c7739e3c0f32c00000000000000 */
-  1.17828795578866324378353169777255971E+00L, /* 3fff2da4478b620c7400000000000000 */
-  1.18289964445632783673900689791480545E+00L, /* 3fff2ed282d763d42400000000000000 */
-  1.18752938276310060494722620205720887E+00L, /* 3fff3001ecf601af7000000000000000 */
-  1.19217724135327157730657177125976887E+00L, /* 3fff31328716a5d63c00000000000000 */
-  1.19684329114762477708211463323095813E+00L, /* 3fff32645269ea829000000000000000 */
-  1.20152760334452030077656559114984702E+00L, /* 3fff339750219b212c00000000000000 */
-  1.20623024942098072687102217059873510E+00L, /* 3fff34cb8170b5835400000000000000 */
-  1.21095130113378179892436037334846333E+00L, /* 3fff3600e78b6b11d000000000000000 */
-  1.21569083052054743854242246925423387E+00L, /* 3fff373783a722012400000000000000 */
-  1.22044890990084875515009343871497549E+00L, /* 3fff386f56fa7686e800000000000000 */
-  1.22522561187730755216662714701669756E+00L, /* 3fff39a862bd3c106400000000000000 */
-  1.23002100933670455162882717559114099E+00L, /* 3fff3ae2a8287e7a8000000000000000 */
-  1.23483517545109100499445276000187732E+00L, /* 3fff3c1e2876834aa800000000000000 */
-  1.23966818367890557750499169742397498E+00L, /* 3fff3d5ae4e2cae92c00000000000000 */
-  1.24452010776609517384017067342938390E+00L, /* 3fff3e98deaa11dcbc00000000000000 */
-  1.24939102174724003813111039562500082E+00L, /* 3fff3fd8170a52071800000000000000 */
-  1.25428099994668373895478907797951251E+00L, /* 3fff41188f42c3e32000000000000000 */
-  1.25919011697966698459794088194030337E+00L, /* 3fff425a4893dfc3f800000000000000 */
-  1.26411844775346637881341393949696794E+00L, /* 3fff439d443f5f159000000000000000 */
-  1.26906606746853711786826579555054195E+00L, /* 3fff44e183883d9e4800000000000000 */
-  1.27403305161966090564007458851847332E+00L, /* 3fff462707b2bac20c00000000000000 */
-  1.27901947599709753244923149395617656E+00L, /* 3fff476dd2045ac67800000000000000 */
-  1.28402541668774150540599521264084615E+00L, /* 3fff48b5e3c3e8186800000000000000 */
-  1.28905095007628295311619126550795045E+00L, /* 3fff49ff3e397492bc00000000000000 */
-  1.29409615284637330434591717676084954E+00L, /* 3fff4b49e2ae5ac67400000000000000 */
-  1.29916110198179535206719492634874769E+00L, /* 3fff4c95d26d3f440800000000000000 */
-  1.30424587476763775839572190307080746E+00L, /* 3fff4de30ec211e60000000000000000 */
-  1.30935054879147461104338390214252286E+00L, /* 3fff4f3198fa0f1cf800000000000000 */
-  1.31447520194454914310711046709911898E+00L, /* 3fff50817263c13cd000000000000000 */
-  1.31961991242296217130558488861424848E+00L, /* 3fff51d29c4f01cb3000000000000000 */
-  1.32478475872886558573071624778094701E+00L, /* 3fff5325180cfacf7800000000000000 */
-  1.32996981967165983640200010995613411E+00L, /* 3fff5478e6f02823d000000000000000 */
-  1.33517517436919680440254865061433520E+00L, /* 3fff55ce0a4c58c7bc00000000000000 */
-  1.34040090224898678084031189428060316E+00L, /* 3fff57248376b033d800000000000000 */
-  1.34564708304941055283521222918352578E+00L, /* 3fff587c53c5a7af0400000000000000 */
-  1.35091379682093615244298234756570309E+00L, /* 3fff59d57c910fa4e000000000000000 */
-  1.35620112392734021300455538039386738E+00L, /* 3fff5b2fff3210fd9400000000000000 */
-  1.36150914504693443252136830778908916E+00L, /* 3fff5c8bdd032e770800000000000000 */
-  1.36683794117379636690046140756749082E+00L, /* 3fff5de9176045ff5400000000000000 */
-  1.37218759361900544124779344201670028E+00L, /* 3fff5f47afa69210a800000000000000 */
-  1.37755818401188367960941150158760138E+00L, /* 3fff60a7a734ab0e8800000000000000 */
-  1.38294979430124120867162673675920814E+00L, /* 3fff6208ff6a88a46000000000000000 */
-  1.38836250675662681297595213436579797E+00L, /* 3fff636bb9a983258400000000000000 */
-  1.39379640396958309755959248832368758E+00L, /* 3fff64cfd75454ee7c00000000000000 */
-  1.39925156885490681313299887733592186E+00L, /* 3fff663559cf1bc7c400000000000000 */
-  1.40472808465191417726103395580139477E+00L, /* 3fff679c427f5a49f400000000000000 */
-  1.41022603492571069194738697660795879E+00L, /* 3fff690492cbf9432c00000000000000 */
-  1.41574550356846662335641440222389065E+00L, /* 3fff6a6e4c1d491e1800000000000000 */
+  L(1.00000000000000000000000000000000000E+00), /* 3fff0000000000000000000000000000 */
+  L(1.00391388933834757590801700644078664E+00), /* 3fff0100802ab5577800000000000000 */
+  L(1.00784309720644799091004983893071767E+00), /* 3fff0202015600445c00000000000000 */
+  L(1.01178768355933151879000320150225889E+00), /* 3fff0304848362076c00000000000000 */
+  L(1.01574770858668572692806719715008512E+00), /* 3fff04080ab55de39000000000000000 */
+  L(1.01972323271377413034244341361045372E+00), /* 3fff050c94ef7a206c00000000000000 */
+  L(1.02371431660235789884438872832106426E+00), /* 3fff06122436410dd000000000000000 */
+  L(1.02772102115162167201845022646011785E+00), /* 3fff0718b98f42085000000000000000 */
+  L(1.03174340749910264936062276319717057E+00), /* 3fff08205601127ec800000000000000 */
+  L(1.03578153702162378824169763902318664E+00), /* 3fff0928fa934ef90800000000000000 */
+  L(1.03983547133622999947277776300325058E+00), /* 3fff0a32a84e9c1f5800000000000000 */
+  L(1.04390527230112850620713516036630608E+00), /* 3fff0b3d603ca7c32800000000000000 */
+  L(1.04799100201663270004459604933799710E+00), /* 3fff0c49236829e8bc00000000000000 */
+  L(1.05209272282610977189420964350574650E+00), /* 3fff0d55f2dce5d1e800000000000000 */
+  L(1.05621049731693195106174698594259098E+00), /* 3fff0e63cfa7ab09d000000000000000 */
+  L(1.06034438832143151909548350886325352E+00), /* 3fff0f72bad65671b800000000000000 */
+  L(1.06449445891785943185681162503897212E+00), /* 3fff1082b577d34ed800000000000000 */
+  L(1.06866077243134810492719566354935523E+00), /* 3fff1193c09c1c595c00000000000000 */
+  L(1.07284339243487741866189821848820429E+00), /* 3fff12a5dd543ccc4c00000000000000 */
+  L(1.07704238275024494209120007326419000E+00), /* 3fff13b90cb25176a400000000000000 */
+  L(1.08125780744903959851299646288680378E+00), /* 3fff14cd4fc989cd6400000000000000 */
+  L(1.08548973085361949442173568058933597E+00), /* 3fff15e2a7ae28fecc00000000000000 */
+  L(1.08973821753809324563988525369495619E+00), /* 3fff16f9157587069400000000000000 */
+  L(1.09400333232930546678574046381982043E+00), /* 3fff18109a3611c35000000000000000 */
+  L(1.09828514030782586896606289883493446E+00), /* 3fff192937074e0cd800000000000000 */
+  L(1.10258370680894224324930519287590869E+00), /* 3fff1a42ed01d8cbc800000000000000 */
+  L(1.10689909742365749645287564817408565E+00), /* 3fff1b5dbd3f68122400000000000000 */
+  L(1.11123137799969046168868658241990488E+00), /* 3fff1c79a8dacc350c00000000000000 */
+  L(1.11558061464248076122274255794764031E+00), /* 3fff1d96b0eff0e79400000000000000 */
+  L(1.11994687371619722204840741142106708E+00), /* 3fff1eb4d69bde569c00000000000000 */
+  L(1.12433022184475073235176978414529003E+00), /* 3fff1fd41afcba45e800000000000000 */
+  L(1.12873072591281087273529237791080959E+00), /* 3fff20f47f31c92e4800000000000000 */
+  L(1.13314845306682632219974493636982515E+00), /* 3fff2216045b6f5cd000000000000000 */
+  L(1.13758347071604959399593326452304609E+00), /* 3fff2338ab9b32134800000000000000 */
+  L(1.14203584653356560174586320499656722E+00), /* 3fff245c7613b8a9b000000000000000 */
+  L(1.14650564845732405583333957110880874E+00), /* 3fff258164e8cdb0d800000000000000 */
+  L(1.15099294469117646722011727433709893E+00), /* 3fff26a7793f60164400000000000000 */
+  L(1.15549780370591653744227755851170514E+00), /* 3fff27ceb43d84490400000000000000 */
+  L(1.16002029424032515603215642840950750E+00), /* 3fff28f7170a755fd800000000000000 */
+  L(1.16456048530221917269855680387991015E+00), /* 3fff2a20a2ce96406400000000000000 */
+  L(1.16911844616950438835445424956560601E+00), /* 3fff2b4b58b372c79400000000000000 */
+  L(1.17369424639123270948104504896036815E+00), /* 3fff2c7739e3c0f32c00000000000000 */
+  L(1.17828795578866324378353169777255971E+00), /* 3fff2da4478b620c7400000000000000 */
+  L(1.18289964445632783673900689791480545E+00), /* 3fff2ed282d763d42400000000000000 */
+  L(1.18752938276310060494722620205720887E+00), /* 3fff3001ecf601af7000000000000000 */
+  L(1.19217724135327157730657177125976887E+00), /* 3fff31328716a5d63c00000000000000 */
+  L(1.19684329114762477708211463323095813E+00), /* 3fff32645269ea829000000000000000 */
+  L(1.20152760334452030077656559114984702E+00), /* 3fff339750219b212c00000000000000 */
+  L(1.20623024942098072687102217059873510E+00), /* 3fff34cb8170b5835400000000000000 */
+  L(1.21095130113378179892436037334846333E+00), /* 3fff3600e78b6b11d000000000000000 */
+  L(1.21569083052054743854242246925423387E+00), /* 3fff373783a722012400000000000000 */
+  L(1.22044890990084875515009343871497549E+00), /* 3fff386f56fa7686e800000000000000 */
+  L(1.22522561187730755216662714701669756E+00), /* 3fff39a862bd3c106400000000000000 */
+  L(1.23002100933670455162882717559114099E+00), /* 3fff3ae2a8287e7a8000000000000000 */
+  L(1.23483517545109100499445276000187732E+00), /* 3fff3c1e2876834aa800000000000000 */
+  L(1.23966818367890557750499169742397498E+00), /* 3fff3d5ae4e2cae92c00000000000000 */
+  L(1.24452010776609517384017067342938390E+00), /* 3fff3e98deaa11dcbc00000000000000 */
+  L(1.24939102174724003813111039562500082E+00), /* 3fff3fd8170a52071800000000000000 */
+  L(1.25428099994668373895478907797951251E+00), /* 3fff41188f42c3e32000000000000000 */
+  L(1.25919011697966698459794088194030337E+00), /* 3fff425a4893dfc3f800000000000000 */
+  L(1.26411844775346637881341393949696794E+00), /* 3fff439d443f5f159000000000000000 */
+  L(1.26906606746853711786826579555054195E+00), /* 3fff44e183883d9e4800000000000000 */
+  L(1.27403305161966090564007458851847332E+00), /* 3fff462707b2bac20c00000000000000 */
+  L(1.27901947599709753244923149395617656E+00), /* 3fff476dd2045ac67800000000000000 */
+  L(1.28402541668774150540599521264084615E+00), /* 3fff48b5e3c3e8186800000000000000 */
+  L(1.28905095007628295311619126550795045E+00), /* 3fff49ff3e397492bc00000000000000 */
+  L(1.29409615284637330434591717676084954E+00), /* 3fff4b49e2ae5ac67400000000000000 */
+  L(1.29916110198179535206719492634874769E+00), /* 3fff4c95d26d3f440800000000000000 */
+  L(1.30424587476763775839572190307080746E+00), /* 3fff4de30ec211e60000000000000000 */
+  L(1.30935054879147461104338390214252286E+00), /* 3fff4f3198fa0f1cf800000000000000 */
+  L(1.31447520194454914310711046709911898E+00), /* 3fff50817263c13cd000000000000000 */
+  L(1.31961991242296217130558488861424848E+00), /* 3fff51d29c4f01cb3000000000000000 */
+  L(1.32478475872886558573071624778094701E+00), /* 3fff5325180cfacf7800000000000000 */
+  L(1.32996981967165983640200010995613411E+00), /* 3fff5478e6f02823d000000000000000 */
+  L(1.33517517436919680440254865061433520E+00), /* 3fff55ce0a4c58c7bc00000000000000 */
+  L(1.34040090224898678084031189428060316E+00), /* 3fff57248376b033d800000000000000 */
+  L(1.34564708304941055283521222918352578E+00), /* 3fff587c53c5a7af0400000000000000 */
+  L(1.35091379682093615244298234756570309E+00), /* 3fff59d57c910fa4e000000000000000 */
+  L(1.35620112392734021300455538039386738E+00), /* 3fff5b2fff3210fd9400000000000000 */
+  L(1.36150914504693443252136830778908916E+00), /* 3fff5c8bdd032e770800000000000000 */
+  L(1.36683794117379636690046140756749082E+00), /* 3fff5de9176045ff5400000000000000 */
+  L(1.37218759361900544124779344201670028E+00), /* 3fff5f47afa69210a800000000000000 */
+  L(1.37755818401188367960941150158760138E+00), /* 3fff60a7a734ab0e8800000000000000 */
+  L(1.38294979430124120867162673675920814E+00), /* 3fff6208ff6a88a46000000000000000 */
+  L(1.38836250675662681297595213436579797E+00), /* 3fff636bb9a983258400000000000000 */
+  L(1.39379640396958309755959248832368758E+00), /* 3fff64cfd75454ee7c00000000000000 */
+  L(1.39925156885490681313299887733592186E+00), /* 3fff663559cf1bc7c400000000000000 */
+  L(1.40472808465191417726103395580139477E+00), /* 3fff679c427f5a49f400000000000000 */
+  L(1.41022603492571069194738697660795879E+00), /* 3fff690492cbf9432c00000000000000 */
+  L(1.41574550356846662335641440222389065E+00), /* 3fff6a6e4c1d491e1800000000000000 */
 
-  9.98018323540573404351050612604012713E-01L, /* 3ffefefc41f8d4bdb000000000000000 */
-  9.98048781107475468932221929208026268E-01L, /* 3ffeff003ff556aa8800000000000000 */
-  9.98079239603882895082165305211674422E-01L, /* 3ffeff043df9d4986000000000000000 */
-  9.98109699029824021243584297735651489E-01L, /* 3ffeff083c064e972c00000000000000 */
-  9.98140159385327269125909310787392315E-01L, /* 3ffeff0c3a1ac4b6ec00000000000000 */
-  9.98170620670420977171843901487591211E-01L, /* 3ffeff10383737079400000000000000 */
-  9.98201082885133511579667242585856002E-01L, /* 3ffeff14365ba5991c00000000000000 */
-  9.98231546029493238547658506831794512E-01L, /* 3ffeff183488107b7c00000000000000 */
-  9.98262010103528552029672482603928074E-01L, /* 3ffeff1c32bc77beb000000000000000 */
-  9.98292475107267818223988342651864514E-01L, /* 3ffeff2030f8db72b000000000000000 */
-  9.98322941040739375573309644096298143E-01L, /* 3ffeff242f3d3ba77000000000000000 */
-  9.98353407903971645787066790944663808E-01L, /* 3ffeff282d89986cf000000000000000 */
-  9.98383875696992967307963340317655820E-01L, /* 3ffeff2c2bddf1d32400000000000000 */
-  9.98414344419831761845429696222709026E-01L, /* 3ffeff302a3a47ea0c00000000000000 */
-  9.98444814072516340086593800151604228E-01L, /* 3ffeff34289e9ac19800000000000000 */
-  9.98475284655075123740886056111776270E-01L, /* 3ffeff38270aea69c800000000000000 */
-  9.98505756167536479006585636852832977E-01L, /* 3ffeff3c257f36f29400000000000000 */
-  9.98536228609928799837547330753295682E-01L, /* 3ffeff4023fb806bf800000000000000 */
-  9.98566701982280452432050310562772211E-01L, /* 3ffeff44227fc6e5ec00000000000000 */
-  9.98597176284619802988373749030870385E-01L, /* 3ffeff48210c0a706800000000000000 */
-  9.98627651516975245460372434536111541E-01L, /* 3ffeff4c1fa04b1b6800000000000000 */
-  9.98658127679375173801901155457017012E-01L, /* 3ffeff501e3c88f6e800000000000000 */
-  9.98688604771847954211239084543194622E-01L, /* 3ffeff541ce0c412e000000000000000 */
-  9.98719082794421980642241010173165705E-01L, /* 3ffeff581b8cfc7f4c00000000000000 */
-  9.98749561747125619293186105096538085E-01L, /* 3ffeff5c1a41324c2400000000000000 */
-  9.98780041629987291873504773320746608E-01L, /* 3ffeff6018fd65896800000000000000 */
-  9.98810522443035364581476187595399097E-01L, /* 3ffeff6417c196471000000000000000 */
-  9.98841004186298203615379520670103375E-01L, /* 3ffeff68168dc4951400000000000000 */
-  9.98871486859804230684645176552294288E-01L, /* 3ffeff6c1561f0837400000000000000 */
-  9.98901970463581839743127943620493170E-01L, /* 3ffeff70143e1a222c00000000000000 */
-  9.98932454997659369233531378995394334E-01L, /* 3ffeff74132241813000000000000000 */
-  9.98962940462065268620861502313346136E-01L, /* 3ffeff78120e66b08400000000000000 */
-  9.98993426856827904103397486323956400E-01L, /* 3ffeff7c110289c02000000000000000 */
-  9.99023914181975669634994119405746460E-01L, /* 3ffeff800ffeaac00000000000000000 */
-  9.99054402437536959169506189937237650E-01L, /* 3ffeff840f02c9c02000000000000000 */
-  9.99084891623540138905212870668037795E-01L, /* 3ffeff880e0ee6d07800000000000000 */
-  9.99115381740013658307120181234495249E-01L, /* 3ffeff8c0d2302010c00000000000000 */
-  9.99145872786985911329082910015131347E-01L, /* 3ffeff900c3f1b61d800000000000000 */
-  9.99176364764485236413804614130640402E-01L, /* 3ffeff940b633302d000000000000000 */
-  9.99206857672540083026291313217370771E-01L, /* 3ffeff980a8f48f3f800000000000000 */
-  9.99237351511178817364822180024930276E-01L, /* 3ffeff9c09c35d454800000000000000 */
-  9.99267846280429861138827618560753763E-01L, /* 3ffeffa008ff7006c000000000000000 */
-  9.99298341980321608302162417203362565E-01L, /* 3ffeffa4084381485c00000000000000 */
-  9.99328838610882452808681364331278019E-01L, /* 3ffeffa8078f911a1800000000000000 */
-  9.99359336172140816367814863951934967E-01L, /* 3ffeffac06e39f8bf400000000000000 */
-  9.99389834664125092933417704443854745E-01L, /* 3ffeffb0063facadec00000000000000 */
-  9.99420334086863676459344674185558688E-01L, /* 3ffeffb405a3b88ffc00000000000000 */
-  9.99450834440384988655026177184481639E-01L, /* 3ffeffb8050fc3422400000000000000 */
-  9.99481335724717395718741386190231424E-01L, /* 3ffeffbc0483ccd45c00000000000000 */
-  9.99511837939889374871071936468069907E-01L, /* 3ffeffc003ffd556ac00000000000000 */
-  9.99542341085929264554721385138691403E-01L, /* 3ffeffc40383dcd90800000000000000 */
-  9.99572845162865514234695751838444266E-01L, /* 3ffeffc8030fe36b7400000000000000 */
-  9.99603350170726517864849824945849832E-01L, /* 3ffeffcc02a3e91dec00000000000000 */
-  9.99633856109540669399038392839429434E-01L, /* 3ffeffd0023fee006c00000000000000 */
-  9.99664362979336418302267475155531429E-01L, /* 3ffeffd401e3f222f800000000000000 */
-  9.99694870780142130772816244643763639E-01L, /* 3ffeffd8018ff5958800000000000000 */
-  9.99725379511986284031266336569387931E-01L, /* 3ffeffdc0143f8682400000000000000 */
-  9.99755889174897216520321308053098619E-01L, /* 3ffeffe000fffaaac000000000000000 */
-  9.99786399768903377704987178731244057E-01L, /* 3ffeffe400c3fc6d6000000000000000 */
-  9.99816911294033217050269968240172602E-01L, /* 3ffeffe8008ffdc00800000000000000 */
-  9.99847423750315072998873233700578567E-01L, /* 3ffeffec0063feb2ac00000000000000 */
-  9.99877937137777450526954226006637327E-01L, /* 3ffefff0003fff555800000000000000 */
-  9.99908451456448688077216502279043198E-01L, /* 3ffefff40023ffb80000000000000000 */
-  9.99938966706357262870241697783058044E-01L, /* 3ffefff8000fffeaac00000000000000 */
-  9.99969482887531541104308985268289689E-01L, /* 3ffefffc0003fffd5400000000000000 */
+  L(9.98018323540573404351050612604012713E-01), /* 3ffefefc41f8d4bdb000000000000000 */
+  L(9.98048781107475468932221929208026268E-01), /* 3ffeff003ff556aa8800000000000000 */
+  L(9.98079239603882895082165305211674422E-01), /* 3ffeff043df9d4986000000000000000 */
+  L(9.98109699029824021243584297735651489E-01), /* 3ffeff083c064e972c00000000000000 */
+  L(9.98140159385327269125909310787392315E-01), /* 3ffeff0c3a1ac4b6ec00000000000000 */
+  L(9.98170620670420977171843901487591211E-01), /* 3ffeff10383737079400000000000000 */
+  L(9.98201082885133511579667242585856002E-01), /* 3ffeff14365ba5991c00000000000000 */
+  L(9.98231546029493238547658506831794512E-01), /* 3ffeff183488107b7c00000000000000 */
+  L(9.98262010103528552029672482603928074E-01), /* 3ffeff1c32bc77beb000000000000000 */
+  L(9.98292475107267818223988342651864514E-01), /* 3ffeff2030f8db72b000000000000000 */
+  L(9.98322941040739375573309644096298143E-01), /* 3ffeff242f3d3ba77000000000000000 */
+  L(9.98353407903971645787066790944663808E-01), /* 3ffeff282d89986cf000000000000000 */
+  L(9.98383875696992967307963340317655820E-01), /* 3ffeff2c2bddf1d32400000000000000 */
+  L(9.98414344419831761845429696222709026E-01), /* 3ffeff302a3a47ea0c00000000000000 */
+  L(9.98444814072516340086593800151604228E-01), /* 3ffeff34289e9ac19800000000000000 */
+  L(9.98475284655075123740886056111776270E-01), /* 3ffeff38270aea69c800000000000000 */
+  L(9.98505756167536479006585636852832977E-01), /* 3ffeff3c257f36f29400000000000000 */
+  L(9.98536228609928799837547330753295682E-01), /* 3ffeff4023fb806bf800000000000000 */
+  L(9.98566701982280452432050310562772211E-01), /* 3ffeff44227fc6e5ec00000000000000 */
+  L(9.98597176284619802988373749030870385E-01), /* 3ffeff48210c0a706800000000000000 */
+  L(9.98627651516975245460372434536111541E-01), /* 3ffeff4c1fa04b1b6800000000000000 */
+  L(9.98658127679375173801901155457017012E-01), /* 3ffeff501e3c88f6e800000000000000 */
+  L(9.98688604771847954211239084543194622E-01), /* 3ffeff541ce0c412e000000000000000 */
+  L(9.98719082794421980642241010173165705E-01), /* 3ffeff581b8cfc7f4c00000000000000 */
+  L(9.98749561747125619293186105096538085E-01), /* 3ffeff5c1a41324c2400000000000000 */
+  L(9.98780041629987291873504773320746608E-01), /* 3ffeff6018fd65896800000000000000 */
+  L(9.98810522443035364581476187595399097E-01), /* 3ffeff6417c196471000000000000000 */
+  L(9.98841004186298203615379520670103375E-01), /* 3ffeff68168dc4951400000000000000 */
+  L(9.98871486859804230684645176552294288E-01), /* 3ffeff6c1561f0837400000000000000 */
+  L(9.98901970463581839743127943620493170E-01), /* 3ffeff70143e1a222c00000000000000 */
+  L(9.98932454997659369233531378995394334E-01), /* 3ffeff74132241813000000000000000 */
+  L(9.98962940462065268620861502313346136E-01), /* 3ffeff78120e66b08400000000000000 */
+  L(9.98993426856827904103397486323956400E-01), /* 3ffeff7c110289c02000000000000000 */
+  L(9.99023914181975669634994119405746460E-01), /* 3ffeff800ffeaac00000000000000000 */
+  L(9.99054402437536959169506189937237650E-01), /* 3ffeff840f02c9c02000000000000000 */
+  L(9.99084891623540138905212870668037795E-01), /* 3ffeff880e0ee6d07800000000000000 */
+  L(9.99115381740013658307120181234495249E-01), /* 3ffeff8c0d2302010c00000000000000 */
+  L(9.99145872786985911329082910015131347E-01), /* 3ffeff900c3f1b61d800000000000000 */
+  L(9.99176364764485236413804614130640402E-01), /* 3ffeff940b633302d000000000000000 */
+  L(9.99206857672540083026291313217370771E-01), /* 3ffeff980a8f48f3f800000000000000 */
+  L(9.99237351511178817364822180024930276E-01), /* 3ffeff9c09c35d454800000000000000 */
+  L(9.99267846280429861138827618560753763E-01), /* 3ffeffa008ff7006c000000000000000 */
+  L(9.99298341980321608302162417203362565E-01), /* 3ffeffa4084381485c00000000000000 */
+  L(9.99328838610882452808681364331278019E-01), /* 3ffeffa8078f911a1800000000000000 */
+  L(9.99359336172140816367814863951934967E-01), /* 3ffeffac06e39f8bf400000000000000 */
+  L(9.99389834664125092933417704443854745E-01), /* 3ffeffb0063facadec00000000000000 */
+  L(9.99420334086863676459344674185558688E-01), /* 3ffeffb405a3b88ffc00000000000000 */
+  L(9.99450834440384988655026177184481639E-01), /* 3ffeffb8050fc3422400000000000000 */
+  L(9.99481335724717395718741386190231424E-01), /* 3ffeffbc0483ccd45c00000000000000 */
+  L(9.99511837939889374871071936468069907E-01), /* 3ffeffc003ffd556ac00000000000000 */
+  L(9.99542341085929264554721385138691403E-01), /* 3ffeffc40383dcd90800000000000000 */
+  L(9.99572845162865514234695751838444266E-01), /* 3ffeffc8030fe36b7400000000000000 */
+  L(9.99603350170726517864849824945849832E-01), /* 3ffeffcc02a3e91dec00000000000000 */
+  L(9.99633856109540669399038392839429434E-01), /* 3ffeffd0023fee006c00000000000000 */
+  L(9.99664362979336418302267475155531429E-01), /* 3ffeffd401e3f222f800000000000000 */
+  L(9.99694870780142130772816244643763639E-01), /* 3ffeffd8018ff5958800000000000000 */
+  L(9.99725379511986284031266336569387931E-01), /* 3ffeffdc0143f8682400000000000000 */
+  L(9.99755889174897216520321308053098619E-01), /* 3ffeffe000fffaaac000000000000000 */
+  L(9.99786399768903377704987178731244057E-01), /* 3ffeffe400c3fc6d6000000000000000 */
+  L(9.99816911294033217050269968240172602E-01), /* 3ffeffe8008ffdc00800000000000000 */
+  L(9.99847423750315072998873233700578567E-01), /* 3ffeffec0063feb2ac00000000000000 */
+  L(9.99877937137777450526954226006637327E-01), /* 3ffefff0003fff555800000000000000 */
+  L(9.99908451456448688077216502279043198E-01), /* 3ffefff40023ffb80000000000000000 */
+  L(9.99938966706357262870241697783058044E-01), /* 3ffefff8000fffeaac00000000000000 */
+  L(9.99969482887531541104308985268289689E-01), /* 3ffefffc0003fffd5400000000000000 */
 #define T_EXPL_RES2 (T_EXPL_RES1 + 1 + 89 + 65)
-  1.00000000000000000000000000000000000E+00L, /* 3fff0000000000000000000000000000 */
-  1.00003051804379100575559391472779680E+00L, /* 3fff0002000200015400000000000000 */
-  1.00006103701893306334724798034585547E+00L, /* 3fff00040008000aac00000000000000 */
-  1.00009155692545448346209013834595680E+00L, /* 3fff0006001200240000000000000000 */
-  1.00012207776338379883185325525118969E+00L, /* 3fff0008002000555800000000000000 */
-  1.00015259953274932014366527255333494E+00L, /* 3fff000a003200a6ac00000000000000 */
-  1.00018312223357958012925905677548144E+00L, /* 3fff000c004801200400000000000000 */
-  1.00021364586590294498691378066723701E+00L, /* 3fff000e006201c95c00000000000000 */
-  1.00024417042974783642605984823603649E+00L, /* 3fff0010008002aab400000000000000 */
-  1.00027469592514273166727889474714175E+00L, /* 3fff001200a203cc1000000000000000 */
-  1.00030522235211605242000132420798764E+00L, /* 3fff001400c805357000000000000000 */
-  1.00033574971069616488250630936818197E+00L, /* 3fff001600f206eed000000000000000 */
-  1.00036627800091160178652671675081365E+00L, /* 3fff0018012009003800000000000000 */
-  1.00039680722279067381919048784766346E+00L, /* 3fff001a01520b71a000000000000000 */
-  1.00042733737636191371223048918182030E+00L, /* 3fff001c01880e4b1000000000000000 */
-  1.00045786846165368766392589350289200E+00L, /* 3fff001e01c211948400000000000000 */
-  1.00048840047869447289485833607614040E+00L, /* 3fff0020020015560000000000000000 */
-  1.00051893342751269111445822090900037E+00L, /* 3fff0022024219978400000000000000 */
-  1.00054946730813676403215595200890675E+00L, /* 3fff002402881e611000000000000000 */
-  1.00058000212059516886853316464112140E+00L, /* 3fff002602d223baa800000000000000 */
-  1.00061053786491632733302026281307917E+00L, /* 3fff0028032029ac4c00000000000000 */
-  1.00064107454112866113504765053221490E+00L, /* 3fff002a0372303dfc00000000000000 */
-  1.00067161214926059198404573180596344E+00L, /* 3fff002c03c83777b800000000000000 */
-  1.00070215068934059710059614189958666E+00L, /* 3fff002e04223f618400000000000000 */
-  1.00073269016139709819412928482051939E+00L, /* 3fff0030048048036000000000000000 */
-  1.00076323056545857248522679583402351E+00L, /* 3fff003204e251655000000000000000 */
-  1.00079377190155338617216784768970683E+00L, /* 3fff003405485b8f5000000000000000 */
-  1.00082431416971007198668530691065826E+00L, /* 3fff003605b266896800000000000000 */
-  1.00085485736995705163820957750431262E+00L, /* 3fff00380620725b9800000000000000 */
-  1.00088540150232269132501983222027775E+00L, /* 3fff003a06927f0ddc00000000000000 */
-  1.00091594656683552377884893758164253E+00L, /* 3fff003c07088ca83c00000000000000 */
-  1.00094649256352402622027852885366883E+00L, /* 3fff003e07829b32bc00000000000000 */
-  1.00097703949241650933643654752813745E+00L, /* 3fff00400800aab55400000000000000 */
-  1.00100758735354156137020709138596430E+00L, /* 3fff00420882bb381000000000000000 */
-  1.00103813614692760403102056443458423E+00L, /* 3fff00440908ccc2f000000000000000 */
-  1.00106868587260300351715613942360505E+00L, /* 3fff00460992df5df000000000000000 */
-  1.00109923653059629256034668287611566E+00L, /* 3fff00480a20f3111800000000000000 */
-  1.00112978812093589287002259879955091E+00L, /* 3fff004a0ab307e46800000000000000 */
-  1.00116034064365022615561429120134562E+00L, /* 3fff004c0b491ddfe000000000000000 */
-  1.00119089409876788066000585786241572E+00L, /* 3fff004e0be3350b8c00000000000000 */
-  1.00122144848631711155917400901671499E+00L, /* 3fff00500c814d6f6000000000000000 */
-  1.00125200380632656260715407370298635E+00L, /* 3fff00520d2367136c00000000000000 */
-  1.00128256005882454449107399341301061E+00L, /* 3fff00540dc981ffa800000000000000 */
-  1.00131311724383964545381786592770368E+00L, /* 3fff00560e739e3c2000000000000000 */
-  1.00134367536140017618251363273884635E+00L, /* 3fff00580f21bbd0cc00000000000000 */
-  1.00137423441153472492004539162735455E+00L, /* 3fff005a0fd3dac5b800000000000000 */
-  1.00140479439427171337584354660066310E+00L, /* 3fff005c1089fb22e400000000000000 */
-  1.00143535530963956325933850166620687E+00L, /* 3fff005e11441cf05000000000000000 */
-  1.00146591715766680730226312334707472E+00L, /* 3fff0060120240360400000000000000 */
-  1.00149647993838186721404781565070152E+00L, /* 3fff006212c464fc0000000000000000 */
-  1.00152704365181316470412298258452211E+00L, /* 3fff0064138a8b4a4400000000000000 */
-  1.00155760829798923250422149067162536E+00L, /* 3fff00661454b328d800000000000000 */
-  1.00158817387693849232377374391944613E+00L, /* 3fff00681522dc9fbc00000000000000 */
-  1.00161874038868942138336137759324629E+00L, /* 3fff006a15f507b6f400000000000000 */
-  1.00164930783327055241471725821611471E+00L, /* 3fff006c16cb34768800000000000000 */
-  1.00167987621071025161612055853765924E+00L, /* 3fff006e17a562e67400000000000000 */
-  1.00171044552103705171930414508096874E+00L, /* 3fff00701883930ec000000000000000 */
-  1.00174101576427937443369842185347807E+00L, /* 3fff00721965c4f76c00000000000000 */
-  1.00177158694046569697988502412044909E+00L, /* 3fff00741a4bf8a87c00000000000000 */
-  1.00180215904962455208959681840497069E+00L, /* 3fff00761b362e29f800000000000000 */
-  1.00183273209178441698341543997230474E+00L, /* 3fff00781c246583e400000000000000 */
-  1.00186330606697365785962006157205906E+00L, /* 3fff007a1d169ebe3c00000000000000 */
-  1.00189388097522080744994354972732253E+00L, /* 3fff007c1e0cd9e10800000000000000 */
-  1.00192445681655439848611877096118405E+00L, /* 3fff007e1f0716f45000000000000000 */
-  1.00195503359100279716642489802325144E+00L, /* 3fff0080200556001000000000000000 */
-  1.00198561129859459173374602869444061E+00L, /* 3fff00822107970c5400000000000000 */
+  L(1.00000000000000000000000000000000000E+00), /* 3fff0000000000000000000000000000 */
+  L(1.00003051804379100575559391472779680E+00), /* 3fff0002000200015400000000000000 */
+  L(1.00006103701893306334724798034585547E+00), /* 3fff00040008000aac00000000000000 */
+  L(1.00009155692545448346209013834595680E+00), /* 3fff0006001200240000000000000000 */
+  L(1.00012207776338379883185325525118969E+00), /* 3fff0008002000555800000000000000 */
+  L(1.00015259953274932014366527255333494E+00), /* 3fff000a003200a6ac00000000000000 */
+  L(1.00018312223357958012925905677548144E+00), /* 3fff000c004801200400000000000000 */
+  L(1.00021364586590294498691378066723701E+00), /* 3fff000e006201c95c00000000000000 */
+  L(1.00024417042974783642605984823603649E+00), /* 3fff0010008002aab400000000000000 */
+  L(1.00027469592514273166727889474714175E+00), /* 3fff001200a203cc1000000000000000 */
+  L(1.00030522235211605242000132420798764E+00), /* 3fff001400c805357000000000000000 */
+  L(1.00033574971069616488250630936818197E+00), /* 3fff001600f206eed000000000000000 */
+  L(1.00036627800091160178652671675081365E+00), /* 3fff0018012009003800000000000000 */
+  L(1.00039680722279067381919048784766346E+00), /* 3fff001a01520b71a000000000000000 */
+  L(1.00042733737636191371223048918182030E+00), /* 3fff001c01880e4b1000000000000000 */
+  L(1.00045786846165368766392589350289200E+00), /* 3fff001e01c211948400000000000000 */
+  L(1.00048840047869447289485833607614040E+00), /* 3fff0020020015560000000000000000 */
+  L(1.00051893342751269111445822090900037E+00), /* 3fff0022024219978400000000000000 */
+  L(1.00054946730813676403215595200890675E+00), /* 3fff002402881e611000000000000000 */
+  L(1.00058000212059516886853316464112140E+00), /* 3fff002602d223baa800000000000000 */
+  L(1.00061053786491632733302026281307917E+00), /* 3fff0028032029ac4c00000000000000 */
+  L(1.00064107454112866113504765053221490E+00), /* 3fff002a0372303dfc00000000000000 */
+  L(1.00067161214926059198404573180596344E+00), /* 3fff002c03c83777b800000000000000 */
+  L(1.00070215068934059710059614189958666E+00), /* 3fff002e04223f618400000000000000 */
+  L(1.00073269016139709819412928482051939E+00), /* 3fff0030048048036000000000000000 */
+  L(1.00076323056545857248522679583402351E+00), /* 3fff003204e251655000000000000000 */
+  L(1.00079377190155338617216784768970683E+00), /* 3fff003405485b8f5000000000000000 */
+  L(1.00082431416971007198668530691065826E+00), /* 3fff003605b266896800000000000000 */
+  L(1.00085485736995705163820957750431262E+00), /* 3fff00380620725b9800000000000000 */
+  L(1.00088540150232269132501983222027775E+00), /* 3fff003a06927f0ddc00000000000000 */
+  L(1.00091594656683552377884893758164253E+00), /* 3fff003c07088ca83c00000000000000 */
+  L(1.00094649256352402622027852885366883E+00), /* 3fff003e07829b32bc00000000000000 */
+  L(1.00097703949241650933643654752813745E+00), /* 3fff00400800aab55400000000000000 */
+  L(1.00100758735354156137020709138596430E+00), /* 3fff00420882bb381000000000000000 */
+  L(1.00103813614692760403102056443458423E+00), /* 3fff00440908ccc2f000000000000000 */
+  L(1.00106868587260300351715613942360505E+00), /* 3fff00460992df5df000000000000000 */
+  L(1.00109923653059629256034668287611566E+00), /* 3fff00480a20f3111800000000000000 */
+  L(1.00112978812093589287002259879955091E+00), /* 3fff004a0ab307e46800000000000000 */
+  L(1.00116034064365022615561429120134562E+00), /* 3fff004c0b491ddfe000000000000000 */
+  L(1.00119089409876788066000585786241572E+00), /* 3fff004e0be3350b8c00000000000000 */
+  L(1.00122144848631711155917400901671499E+00), /* 3fff00500c814d6f6000000000000000 */
+  L(1.00125200380632656260715407370298635E+00), /* 3fff00520d2367136c00000000000000 */
+  L(1.00128256005882454449107399341301061E+00), /* 3fff00540dc981ffa800000000000000 */
+  L(1.00131311724383964545381786592770368E+00), /* 3fff00560e739e3c2000000000000000 */
+  L(1.00134367536140017618251363273884635E+00), /* 3fff00580f21bbd0cc00000000000000 */
+  L(1.00137423441153472492004539162735455E+00), /* 3fff005a0fd3dac5b800000000000000 */
+  L(1.00140479439427171337584354660066310E+00), /* 3fff005c1089fb22e400000000000000 */
+  L(1.00143535530963956325933850166620687E+00), /* 3fff005e11441cf05000000000000000 */
+  L(1.00146591715766680730226312334707472E+00), /* 3fff0060120240360400000000000000 */
+  L(1.00149647993838186721404781565070152E+00), /* 3fff006212c464fc0000000000000000 */
+  L(1.00152704365181316470412298258452211E+00), /* 3fff0064138a8b4a4400000000000000 */
+  L(1.00155760829798923250422149067162536E+00), /* 3fff00661454b328d800000000000000 */
+  L(1.00158817387693849232377374391944613E+00), /* 3fff00681522dc9fbc00000000000000 */
+  L(1.00161874038868942138336137759324629E+00), /* 3fff006a15f507b6f400000000000000 */
+  L(1.00164930783327055241471725821611471E+00), /* 3fff006c16cb34768800000000000000 */
+  L(1.00167987621071025161612055853765924E+00), /* 3fff006e17a562e67400000000000000 */
+  L(1.00171044552103705171930414508096874E+00), /* 3fff00701883930ec000000000000000 */
+  L(1.00174101576427937443369842185347807E+00), /* 3fff00721965c4f76c00000000000000 */
+  L(1.00177158694046569697988502412044909E+00), /* 3fff00741a4bf8a87c00000000000000 */
+  L(1.00180215904962455208959681840497069E+00), /* 3fff00761b362e29f800000000000000 */
+  L(1.00183273209178441698341543997230474E+00), /* 3fff00781c246583e400000000000000 */
+  L(1.00186330606697365785962006157205906E+00), /* 3fff007a1d169ebe3c00000000000000 */
+  L(1.00189388097522080744994354972732253E+00), /* 3fff007c1e0cd9e10800000000000000 */
+  L(1.00192445681655439848611877096118405E+00), /* 3fff007e1f0716f45000000000000000 */
+  L(1.00195503359100279716642489802325144E+00), /* 3fff0080200556001000000000000000 */
+  L(1.00198561129859459173374602869444061E+00), /* 3fff00822107970c5400000000000000 */
 };
diff --git a/sysdeps/ieee754/ldbl-128/t_sincosl.c b/sysdeps/ieee754/ldbl-128/t_sincosl.c
index ca4224e..54a1350 100644
--- a/sysdeps/ieee754/ldbl-128/t_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/t_sincosl.c
@@ -32,665 +32,665 @@ const ldouble_t __sincosl_table[] = {
 
 /* x =  1.48437500000000000000000000000000000e-01L 3ffc3000000000000000000000000000 */
 /* cos(x) = 0.fd2f5320e1b790209b4dda2f98f79caaa7b873aff1014b0fbc5243766d03cb006bc837c4358 */
- 9.89003367927322909016887196069562069e-01L, /* 3ffefa5ea641c36f2041369bb45f31ef */
- 2.15663692029265697782289400027743703e-35L, /* 3f8bcaaa7b873aff1014b0fbc5243767 */
+ L(9.89003367927322909016887196069562069e-01), /* 3ffefa5ea641c36f2041369bb45f31ef */
+ L(2.15663692029265697782289400027743703e-35), /* 3f8bcaaa7b873aff1014b0fbc5243767 */
 /* sin(x) = 0.25dc50bc95711d0d9787d108fd438cf5959ee0bfb7a1e36e8b1a112968f356657420e9cc9ea */
- 1.47892995873409608580026675734609314e-01L, /* 3ffc2ee285e4ab88e86cbc3e8847ea1c */
- 9.74950446464233268291647449768590886e-36L, /* 3f8a9eb2b3dc17f6f43c6dd16342252d */
+ L(1.47892995873409608580026675734609314e-01), /* 3ffc2ee285e4ab88e86cbc3e8847ea1c */
+ L(9.74950446464233268291647449768590886e-36), /* 3f8a9eb2b3dc17f6f43c6dd16342252d */
 
 /* x = 1.56250000000000000000000000000000000e-01 3ffc4000000000000000000000000000 */
 /* cos(x) = 0.fce1a053e621438b6d60c76e8c45bf0a9dc71aa16f922acc10e95144ec796a249813c9cb649 */
- 9.87817783816471944100503034363211317e-01L, /* 3ffef9c340a7cc428716dac18edd188b */
- 4.74271307836705897892468107620526395e-35L, /* 3f8cf854ee38d50b7c915660874a8a27 */
+ L(9.87817783816471944100503034363211317e-01), /* 3ffef9c340a7cc428716dac18edd188b */
+ L(4.74271307836705897892468107620526395e-35), /* 3f8cf854ee38d50b7c915660874a8a27 */
 /* sin(x) = 0.27d66258bacd96a3eb335b365c87d59438c5142bb56a489e9b8db9d36234ffdebb6bdc22d8e */
- 1.55614992773556041209920643203516258e-01L, /* 3ffc3eb312c5d66cb51f599ad9b2e43f */
--7.83989563419287980121718050629497270e-36L, /* bf8a4d78e75d7a8952b6ec2c8e48c594 */
+ L(1.55614992773556041209920643203516258e-01), /* 3ffc3eb312c5d66cb51f599ad9b2e43f */
+-L(7.83989563419287980121718050629497270e-36), /* bf8a4d78e75d7a8952b6ec2c8e48c594 */
 
 /* x = 1.64062500000000000000000000000000000e-01 3ffc5000000000000000000000000000 */
 /* cos(x) = 0.fc8ffa01ba6807417e05962b0d9fdf1fddb0cc4c07d22e19e08019bffa50a6c7acdb40307a3 */
- 9.86571908399497588757337407495308409e-01L, /* 3ffef91ff40374d00e82fc0b2c561b40 */
--2.47327949936985362476252401212720725e-35L, /* bf8c070112799d9fc16e8f30fbff3200 */
+ L(9.86571908399497588757337407495308409e-01), /* 3ffef91ff40374d00e82fc0b2c561b40 */
+-L(2.47327949936985362476252401212720725e-35), /* bf8c070112799d9fc16e8f30fbff3200 */
 /* sin(x) = 0.29cfd49b8be4f665276cab01cbf0426934906c3dd105473b226e410b1450f62e53ff7c6cce1 */
- 1.63327491736612850846866172454354370e-01L, /* 3ffc4e7ea4dc5f27b3293b65580e5f82 */
- 1.81380344301155485770367902300754350e-36L, /* 3f88349a48361ee882a39d913720858a */
+ L(1.63327491736612850846866172454354370e-01), /* 3ffc4e7ea4dc5f27b3293b65580e5f82 */
+ L(1.81380344301155485770367902300754350e-36), /* 3f88349a48361ee882a39d913720858a */
 
 /* x = 1.71875000000000000000000000000000000e-01 3ffc6000000000000000000000000000 */
 /* cos(x) = 0.fc3a6170f767ac735d63d99a9d439e1db5e59d3ef153a4265d5855850ed82b536bf361b80e3 */
- 9.85265817718213816204294709759578994e-01L, /* 3ffef874c2e1eecf58e6bac7b3353a87 */
- 2.26568029505818066141517497778527952e-35L, /* 3f8be1db5e59d3ef153a4265d5855851 */
+ L(9.85265817718213816204294709759578994e-01), /* 3ffef874c2e1eecf58e6bac7b3353a87 */
+ L(2.26568029505818066141517497778527952e-35), /* 3f8be1db5e59d3ef153a4265d5855851 */
 /* sin(x) = 0.2bc89f9f424de5485de7ce03b2514952b9faf5648c3244d4736feb95dbb9da49f3b58a9253b */
- 1.71030022031395019281347969239834331e-01L, /* 3ffc5e44fcfa126f2a42ef3e701d928a */
- 7.01395875187487608875416030203241317e-36L, /* 3f8a2a573f5eac9186489a8e6dfd72bb */
+ L(1.71030022031395019281347969239834331e-01), /* 3ffc5e44fcfa126f2a42ef3e701d928a */
+ L(7.01395875187487608875416030203241317e-36), /* 3f8a2a573f5eac9186489a8e6dfd72bb */
 
 /* x = 1.79687500000000000000000000000000000e-01 3ffc7000000000000000000000000000 */
 /* cos(x) = 0.fbe0d7f7fef11e70aa43b8abf4f6a457cea20c8f3f676b47781f9821bbe9ce04b3c7b981c0b */
- 9.83899591489663972178309351416487245e-01L, /* 3ffef7c1afeffde23ce154877157e9ed */
- 2.73414318948066207810486330723761265e-35L, /* 3f8c22be75106479fb3b5a3bc0fcc10e */
+ L(9.83899591489663972178309351416487245e-01), /* 3ffef7c1afeffde23ce154877157e9ed */
+ L(2.73414318948066207810486330723761265e-35), /* 3f8c22be75106479fb3b5a3bc0fcc10e */
 /* sin(x) = 0.2dc0bb80b49a97ffb34e8dd1f8db9df7af47ed2dcf58b12c8e7827e048cae929da02c04ecac */
- 1.78722113535153659375356241864180724e-01L, /* 3ffc6e05dc05a4d4bffd9a746e8fc6dd */
--1.52906926517265103202547561260594148e-36L, /* bf8804285c09691853a769b8c3ec0fdc */
+ L(1.78722113535153659375356241864180724e-01), /* 3ffc6e05dc05a4d4bffd9a746e8fc6dd */
+-L(1.52906926517265103202547561260594148e-36), /* bf8804285c09691853a769b8c3ec0fdc */
 
 /* x = 1.87500000000000000000000000000000000e-01 3ffc8000000000000000000000000000 */
 /* cos(x) = 0.fb835efcf670dd2ce6fe7924697eea13ea358867e9cdb3899b783f4f9f43aa5626e8b67b3bc */
- 9.82473313101255257487327683243622495e-01L, /* 3ffef706bdf9ece1ba59cdfcf248d2fe */
--1.64924358891557584625463868014230342e-35L, /* bf8b5ec15ca779816324c766487c0b06 */
+ L(9.82473313101255257487327683243622495e-01), /* 3ffef706bdf9ece1ba59cdfcf248d2fe */
+-L(1.64924358891557584625463868014230342e-35), /* bf8b5ec15ca779816324c766487c0b06 */
 /* sin(x) = 0.2fb8205f75e56a2b56a1c4792f856258769af396e0189ef72c05e4df59a6b00e4b44a6ea515 */
- 1.86403296762269884552379983103205261e-01L, /* 3ffc7dc102fbaf2b515ab50e23c97c2b */
- 1.76460304806826780010586715975331753e-36L, /* 3f882c3b4d79cb700c4f7b9602f26fad */
+ L(1.86403296762269884552379983103205261e-01), /* 3ffc7dc102fbaf2b515ab50e23c97c2b */
+ L(1.76460304806826780010586715975331753e-36), /* 3f882c3b4d79cb700c4f7b9602f26fad */
 
 /* x = 1.95312500000000000000000000000000000e-01 3ffc9000000000000000000000000000 */
 /* cos(x) = 0.fb21f7f5c156696b00ac1fe28ac5fd76674a92b4df80d9c8a46c684399005deccc41386257c */
- 9.80987069605669190469329896435309665e-01L, /* 3ffef643efeb82acd2d601583fc5158c */
--1.90899259410096419886996331536278461e-36L, /* bf8844cc5ab6a5903f931badc9cbde34 */
+ L(9.80987069605669190469329896435309665e-01), /* 3ffef643efeb82acd2d601583fc5158c */
+-L(1.90899259410096419886996331536278461e-36), /* bf8844cc5ab6a5903f931badc9cbde34 */
 /* sin(x) = 0.31aec65df552876f82ece9a2356713246eba6799983d7011b0b3698d6e1da919c15d57c30c1 */
- 1.94073102892909791156055200214145404e-01L, /* 3ffc8d7632efaa943b7c17674d11ab39 */
--9.67304741051998267208945242944928999e-36L, /* bf8a9b7228b30cccf851fdc9e992ce52 */
+ L(1.94073102892909791156055200214145404e-01), /* 3ffc8d7632efaa943b7c17674d11ab39 */
+-L(9.67304741051998267208945242944928999e-36), /* bf8a9b7228b30cccf851fdc9e992ce52 */
 
 /* x = 2.03125000000000000000000000000000000e-01 3ffca000000000000000000000000000 */
 /* cos(x) = 0.fabca467fb3cb8f1d069f01d8ea33ade5bfd68296ecd1cc9f7b7609bbcf3676e726c3301334 */
- 9.79440951715548359998530954502987493e-01L, /* 3ffef57948cff67971e3a0d3e03b1d46 */
- 4.42878056591560757066844797290067990e-35L, /* 3f8cd6f2dfeb414b7668e64fbdbb04de */
+ L(9.79440951715548359998530954502987493e-01), /* 3ffef57948cff67971e3a0d3e03b1d46 */
+ L(4.42878056591560757066844797290067990e-35), /* 3f8cd6f2dfeb414b7668e64fbdbb04de */
 /* sin(x) = 0.33a4a5a19d86246710f602c44df4fa513f4639ce938477aeeabb82e8e0a7ed583a188879fd4 */
- 2.01731063801638804725038151164000971e-01L, /* 3ffc9d252d0cec31233887b016226fa8 */
--4.27513434754966978435151290617384120e-36L, /* bf896bb02e718c5b1ee21445511f45c8 */
+ L(2.01731063801638804725038151164000971e-01), /* 3ffc9d252d0cec31233887b016226fa8 */
+-L(4.27513434754966978435151290617384120e-36), /* bf896bb02e718c5b1ee21445511f45c8 */
 
 /* x = 2.10937500000000000000000000000000000e-01 3ffcb000000000000000000000000000 */
 /* cos(x) = 0.fa5365e8f1d3ca27be1db5d76ae64d983d7470a4ab0f4ccf65a2b8c67a380df949953a09bc1 */
- 9.77835053797959793331971572944454549e-01L, /* 3ffef4a6cbd1e3a7944f7c3b6baed5cd */
--3.79207422905180416937210853779192702e-35L, /* bf8c933e145c7adaa7859984d2ea39cc */
+ L(9.77835053797959793331971572944454549e-01), /* 3ffef4a6cbd1e3a7944f7c3b6baed5cd */
+-L(3.79207422905180416937210853779192702e-35), /* bf8c933e145c7adaa7859984d2ea39cc */
 /* sin(x) = 0.3599b652f40ec999df12a0a4c8561de159c98d4e54555de518b97f48886f715d8df5f4f093e */
- 2.09376712085993643711890752724881652e-01L, /* 3ffcaccdb297a0764ccef895052642b1 */
--1.59470287344329449965314638482515925e-36L, /* bf880f531b3958d5d5510d73a3405bbc */
+ L(2.09376712085993643711890752724881652e-01), /* 3ffcaccdb297a0764ccef895052642b1 */
+-L(1.59470287344329449965314638482515925e-36), /* bf880f531b3958d5d5510d73a3405bbc */
 
 /* x = 2.18750000000000000000000000000000000e-01 3ffcc000000000000000000000000000 */
 /* cos(x) = 0.f9e63e1d9e8b6f6f2e296bae5b5ed9c11fd7fa2fe11e09fc7bde901abed24b6365e72f7db4e */
- 9.76169473868635276723989035435135534e-01L, /* 3ffef3cc7c3b3d16dede5c52d75cb6be */
--2.87727974249481583047944860626985460e-35L, /* bf8c31f701402e80f70fb01c210b7f2a */
+ L(9.76169473868635276723989035435135534e-01), /* 3ffef3cc7c3b3d16dede5c52d75cb6be */
+-L(2.87727974249481583047944860626985460e-35), /* bf8c31f701402e80f70fb01c210b7f2a */
 /* sin(x) = 0.378df09db8c332ce0d2b53d865582e4526ea336c768f68c32b496c6d11c1cd241bb9f1da523 */
- 2.17009581095010156760578095826055396e-01L, /* 3ffcbc6f84edc6199670695a9ec32ac1 */
- 1.07356488794216831812829549198201194e-35L, /* 3f8ac8a4dd466d8ed1ed1865692d8da2 */
+ L(2.17009581095010156760578095826055396e-01), /* 3ffcbc6f84edc6199670695a9ec32ac1 */
+ L(1.07356488794216831812829549198201194e-35), /* 3f8ac8a4dd466d8ed1ed1865692d8da2 */
 
 /* x = 2.26562500000000000000000000000000000e-01 3ffcd000000000000000000000000000 */
 /* cos(x) = 0.f9752eba9fff6b98842beadab054a932fb0f8d5b875ae63d6b2288d09b148921aeb6e52f61b */
- 9.74444313585988980349711056045434344e-01L, /* 3ffef2ea5d753ffed7310857d5b560a9 */
- 3.09947905955053419304514538592548333e-35L, /* 3f8c4997d87c6adc3ad731eb59144685 */
+ L(9.74444313585988980349711056045434344e-01), /* 3ffef2ea5d753ffed7310857d5b560a9 */
+ L(3.09947905955053419304514538592548333e-35), /* 3f8c4997d87c6adc3ad731eb59144685 */
 /* sin(x) = 0.39814cb10513453cb97b21bc1ca6a337b150c21a675ab85503bc09a436a10ab1473934e20c8 */
- 2.24629204957705292350428549796424820e-01L, /* 3ffccc0a6588289a29e5cbd90de0e535 */
- 2.42061510849297469844695751870058679e-36L, /* 3f889bd8a8610d33ad5c2a81de04d21b */
+ L(2.24629204957705292350428549796424820e-01), /* 3ffccc0a6588289a29e5cbd90de0e535 */
+ L(2.42061510849297469844695751870058679e-36), /* 3f889bd8a8610d33ad5c2a81de04d21b */
 
 /* x = 2.34375000000000000000000000000000000e-01 3ffce000000000000000000000000000 */
 /* cos(x) = 0.f90039843324f9b940416c1984b6cbed1fc733d97354d4265788a86150493ce657cae032674 */
- 9.72659678244912752670913058267565260e-01L, /* 3ffef20073086649f3728082d833096e */
--3.91759231819314904966076958560252735e-35L, /* bf8ca09701c6613465595ecd43babcf5 */
+ L(9.72659678244912752670913058267565260e-01), /* 3ffef20073086649f3728082d833096e */
+-L(3.91759231819314904966076958560252735e-35), /* bf8ca09701c6613465595ecd43babcf5 */
 /* sin(x) = 0.3b73c2bf6b4b9f668ef9499c81f0d965087f1753fa64b086e58cb8470515c18c1412f8c2e02 */
- 2.32235118611511462413930877746235872e-01L, /* 3ffcdb9e15fb5a5cfb3477ca4ce40f87 */
--4.96930483364191020075024624332928910e-36L, /* bf89a6bde03a2b0166d3de469cd1ee3f */
+ L(2.32235118611511462413930877746235872e-01), /* 3ffcdb9e15fb5a5cfb3477ca4ce40f87 */
+-L(4.96930483364191020075024624332928910e-36), /* bf89a6bde03a2b0166d3de469cd1ee3f */
 
 /* x = 2.42187500000000000000000000000000000e-01 3ffcf000000000000000000000000000 */
 /* cos(x) = 0.f887604e2c39dbb20e4ec5825059a789ffc95b275ad9954078ba8a28d3fcfe9cc2c1d49697b */
- 9.70815676770349462947490545785046027e-01L, /* 3ffef10ec09c5873b7641c9d8b04a0b3 */
- 2.97458820972393859125277682021202860e-35L, /* 3f8c3c4ffe4ad93ad6ccaa03c5d45147 */
+ L(9.70815676770349462947490545785046027e-01), /* 3ffef10ec09c5873b7641c9d8b04a0b3 */
+ L(2.97458820972393859125277682021202860e-35), /* 3f8c3c4ffe4ad93ad6ccaa03c5d45147 */
 /* sin(x) = 0.3d654aff15cb457a0fca854698aba33039a8a40626609204472d9d40309b626eccc6dff0ffa */
- 2.39826857830661564441369251810886574e-01L, /* 3ffceb2a57f8ae5a2bd07e542a34c55d */
- 2.39867036569896287240938444445071448e-36L, /* 3f88981cd45203133049022396cea018 */
+ L(2.39826857830661564441369251810886574e-01), /* 3ffceb2a57f8ae5a2bd07e542a34c55d */
+ L(2.39867036569896287240938444445071448e-36), /* 3f88981cd45203133049022396cea018 */
 
 /* x = 2.50000000000000000000000000000000000e-01 3ffd0000000000000000000000000000 */
 /* cos(x) = 0.f80aa4fbef750ba783d33cb95f94f8a41426dbe79edc4a023ef9ec13c944551c0795b84fee1 */
- 9.68912421710644784144595449494189205e-01L, /* 3ffef01549f7deea174f07a67972bf2a */
--5.53634706113461989398873287749326500e-36L, /* bf89d6faf649061848ed7f704184fb0e */
+ L(9.68912421710644784144595449494189205e-01), /* 3ffef01549f7deea174f07a67972bf2a */
+-L(5.53634706113461989398873287749326500e-36), /* bf89d6faf649061848ed7f704184fb0e */
 /* sin(x) = 0.3f55dda9e62aed7513bd7b8e6a3d1635dd5676648d7db525898d7086af9330f03c7f285442a */
- 2.47403959254522929596848704849389203e-01L, /* 3ffcfaaeed4f31576ba89debdc7351e9 */
--7.36487001108599532943597115275811618e-36L, /* bf8a39445531336e50495b4ece51ef2a */
+ L(2.47403959254522929596848704849389203e-01), /* 3ffcfaaeed4f31576ba89debdc7351e9 */
+-L(7.36487001108599532943597115275811618e-36), /* bf8a39445531336e50495b4ece51ef2a */
 
 /* x = 2.57812500000000000000000000000000000e-01 3ffd0800000000000000000000000000 */
 /* cos(x) = 0.f78a098069792daabc9ee42591b7c5a68cb1ab822aeb446b3311b4ba5371b8970e2c1547ad7 */
- 9.66950029230677822008341623610531503e-01L, /* 3ffeef141300d2f25b55793dc84b2370 */
--4.38972214432792412062088059990480514e-35L, /* bf8cd2cb9a72a3eea8a5dca667725a2d */
+ L(9.66950029230677822008341623610531503e-01), /* 3ffeef141300d2f25b55793dc84b2370 */
+-L(4.38972214432792412062088059990480514e-35), /* bf8cd2cb9a72a3eea8a5dca667725a2d */
 /* sin(x) = 0.414572fd94556e6473d620271388dd47c0ba050cdb5270112e3e370e8c4705ae006426fb5d5 */
- 2.54965960415878467487556574864872628e-01L, /* 3ffd0515cbf65155b991cf58809c4e23 */
- 2.20280377918534721005071688328074154e-35L, /* 3f8bd47c0ba050cdb5270112e3e370e9 */
+ L(2.54965960415878467487556574864872628e-01), /* 3ffd0515cbf65155b991cf58809c4e23 */
+ L(2.20280377918534721005071688328074154e-35), /* 3f8bd47c0ba050cdb5270112e3e370e9 */
 
 /* x = 2.65625000000000000000000000000000000e-01 3ffd1000000000000000000000000000 */
 /* cos(x) = 0.f7058fde0788dfc805b8fe88789e4f4253e3c50afe8b22f41159620ab5940ff7df9557c0d1f */
- 9.64928619104771009581074665315748371e-01L, /* 3ffeee0b1fbc0f11bf900b71fd10f13d */
--3.66685832670820775002475545602761113e-35L, /* bf8c85ed60e1d7a80ba6e85f7534efaa */
+ L(9.64928619104771009581074665315748371e-01), /* 3ffeee0b1fbc0f11bf900b71fd10f13d */
+-L(3.66685832670820775002475545602761113e-35), /* bf8c85ed60e1d7a80ba6e85f7534efaa */
 /* sin(x) = 0.4334033bcd90d6604f5f36c1d4b84451a87150438275b77470b50e5b968fa7962b5ffb379b7 */
- 2.62512399769153281450949626395692931e-01L, /* 3ffd0cd00cef364359813d7cdb0752e1 */
- 3.24923677072031064673177178571821843e-36L, /* 3f89146a1c5410e09d6ddd1c2d4396e6 */
+ L(2.62512399769153281450949626395692931e-01), /* 3ffd0cd00cef364359813d7cdb0752e1 */
+ L(3.24923677072031064673177178571821843e-36), /* 3f89146a1c5410e09d6ddd1c2d4396e6 */
 
 /* x = 2.73437500000000000000000000000000000e-01 3ffd1800000000000000000000000000 */
 /* cos(x) = 0.f67d3a26af7d07aa4bd6d42af8c0067fefb96d5b46c031eff53627f215ea3242edc3f2e13eb */
- 9.62848314709379699899701093480214365e-01L, /* 3ffeecfa744d5efa0f5497ada855f180 */
- 4.88986966383343450799422013051821394e-36L, /* 3f899ffbee5b56d1b00c7bfd4d89fc85 */
+ L(9.62848314709379699899701093480214365e-01), /* 3ffeecfa744d5efa0f5497ada855f180 */
+ L(4.88986966383343450799422013051821394e-36), /* 3f899ffbee5b56d1b00c7bfd4d89fc85 */
 /* sin(x) = 0.452186aa5377ab20bbf2524f52e3a06a969f47166ab88cf88c111ad12c55941021ef3317a1a */
- 2.70042816718585031552755063618827102e-01L, /* 3ffd14861aa94ddeac82efc9493d4b8f */
--2.37608892440611310321138680065803162e-35L, /* bf8bf956960b8e99547730773eee52ed */
+ L(2.70042816718585031552755063618827102e-01), /* 3ffd14861aa94ddeac82efc9493d4b8f */
+-L(2.37608892440611310321138680065803162e-35), /* bf8bf956960b8e99547730773eee52ed */
 
 /* x = 2.81250000000000000000000000000000000e-01 3ffd2000000000000000000000000000 */
 /* cos(x) = 0.f5f10a7bb77d3dfa0c1da8b57842783280d01ce3c0f82bae3b9d623c168d2e7c29977994451 */
- 9.60709243015561903066659350581313472e-01L, /* 3ffeebe214f76efa7bf4183b516af085 */
--5.87011558231583960712013351601221840e-36L, /* bf89f35fcbf8c70fc1f5147118a770fa */
+ L(9.60709243015561903066659350581313472e-01), /* 3ffeebe214f76efa7bf4183b516af085 */
+-L(5.87011558231583960712013351601221840e-36), /* bf89f35fcbf8c70fc1f5147118a770fa */
 /* sin(x) = 0.470df5931ae1d946076fe0dcff47fe31bb2ede618ebc607821f8462b639e1f4298b5ae87fd3 */
- 2.77556751646336325922023446828128568e-01L, /* 3ffd1c37d64c6b8765181dbf8373fd20 */
--1.35848595468998128214344668770082997e-36L, /* bf87ce44d1219e71439f87de07b9d49c */
+ L(2.77556751646336325922023446828128568e-01), /* 3ffd1c37d64c6b8765181dbf8373fd20 */
+-L(1.35848595468998128214344668770082997e-36), /* bf87ce44d1219e71439f87de07b9d49c */
 
 /* x = 2.89062500000000000000000000000000000e-01 3ffd2800000000000000000000000000 */
 /* cos(x) = 0.f561030ddd7a78960ea9f4a32c6521554995667f5547bafee9ec48b3155cdb0f7fd00509713 */
- 9.58511534581228627301969408154919822e-01L, /* 3ffeeac2061bbaf4f12c1d53e94658ca */
- 2.50770779371636481145735089393154404e-35L, /* 3f8c0aaa4cab33faaa3dd7f74f624599 */
+ L(9.58511534581228627301969408154919822e-01), /* 3ffeeac2061bbaf4f12c1d53e94658ca */
+ L(2.50770779371636481145735089393154404e-35), /* 3f8c0aaa4cab33faaa3dd7f74f624599 */
 /* sin(x) = 0.48f948446abcd6b0f7fccb100e7a1b26eccad880b0d24b59948c7cdd49514d44b933e6985c2 */
- 2.85053745940547424587763033323252561e-01L, /* 3ffd23e52111aaf35ac3dff32c4039e8 */
- 2.04269325885902918802700123680403749e-35L, /* 3f8bb26eccad880b0d24b59948c7cdd5 */
+ L(2.85053745940547424587763033323252561e-01), /* 3ffd23e52111aaf35ac3dff32c4039e8 */
+ L(2.04269325885902918802700123680403749e-35), /* 3f8bb26eccad880b0d24b59948c7cdd5 */
 
 /* x = 2.96875000000000000000000000000000000e-01 3ffd3000000000000000000000000000 */
 /* cos(x) = 0.f4cd261d3e6c15bb369c8758630d2ac00b7ace2a51c0631bfeb39ed158ba924cc91e259c195 */
- 9.56255323543175296975599942263028361e-01L, /* 3ffee99a4c3a7cd82b766d390eb0c61a */
- 3.21616572190865997051103645135837207e-35L, /* 3f8c56005bd671528e0318dff59cf68b */
+ L(9.56255323543175296975599942263028361e-01), /* 3ffee99a4c3a7cd82b766d390eb0c61a */
+ L(3.21616572190865997051103645135837207e-35), /* 3f8c56005bd671528e0318dff59cf68b */
 /* sin(x) = 0.4ae37710fad27c8aa9c4cf96c03519b9ce07dc08a1471775499f05c29f86190aaebaeb9716e */
- 2.92533342023327543624702326493913423e-01L, /* 3ffd2b8ddc43eb49f22aa7133e5b00d4 */
- 1.93539408668704450308003687950685128e-35L, /* 3f8b9b9ce07dc08a1471775499f05c2a */
+ L(2.92533342023327543624702326493913423e-01), /* 3ffd2b8ddc43eb49f22aa7133e5b00d4 */
+ L(1.93539408668704450308003687950685128e-35), /* 3f8b9b9ce07dc08a1471775499f05c2a */
 
 /* x = 3.04687500000000000000000000000000000e-01 3ffd3800000000000000000000000000 */
 /* cos(x) = 0.f43575f94d4f6b272f5fb76b14d2a64ab52df1ee8ddf7c651034e5b2889305a9ea9015d758a */
- 9.53940747608894733981324795987611623e-01L, /* 3ffee86aebf29a9ed64e5ebf6ed629a5 */
- 2.88075689052478602008395972924657164e-35L, /* 3f8c3255a96f8f746efbe32881a72d94 */
+ L(9.53940747608894733981324795987611623e-01), /* 3ffee86aebf29a9ed64e5ebf6ed629a5 */
+ L(2.88075689052478602008395972924657164e-35), /* 3f8c3255a96f8f746efbe32881a72d94 */
 /* sin(x) = 0.4ccc7a50127e1de0cb6b40c302c651f7bded4f9e7702b0471ae0288d091a37391950907202f */
- 2.99995083378683051163248282011699944e-01L, /* 3ffd3331e94049f877832dad030c0b19 */
- 1.35174265535697850139283361475571050e-35L, /* 3f8b1f7bded4f9e7702b0471ae0288d1 */
+ L(2.99995083378683051163248282011699944e-01), /* 3ffd3331e94049f877832dad030c0b19 */
+ L(1.35174265535697850139283361475571050e-35), /* 3f8b1f7bded4f9e7702b0471ae0288d1 */
 
 /* x = 3.12500000000000000000000000000000000e-01 3ffd4000000000000000000000000000 */
 /* cos(x) = 0.f399f500c9e9fd37ae9957263dab8877102beb569f101ee4495350868e5847d181d50d3cca2 */
- 9.51567948048172202145488217364270962e-01L, /* 3ffee733ea0193d3fa6f5d32ae4c7b57 */
- 6.36842628598115658308749288799884606e-36L, /* 3f8a0ee2057d6ad3e203dc892a6a10d2 */
+ L(9.51567948048172202145488217364270962e-01), /* 3ffee733ea0193d3fa6f5d32ae4c7b57 */
+ L(6.36842628598115658308749288799884606e-36), /* 3f8a0ee2057d6ad3e203dc892a6a10d2 */
 /* sin(x) = 0.4eb44a5da74f600207aaa090f0734e288603ffadb3eb2542a46977b105f8547128036dcf7f0 */
- 3.07438514580380850670502958201982091e-01L, /* 3ffd3ad129769d3d80081eaa8243c1cd */
- 1.06515172423204645839241099453417152e-35L, /* 3f8ac510c07ff5b67d64a8548d2ef621 */
+ L(3.07438514580380850670502958201982091e-01), /* 3ffd3ad129769d3d80081eaa8243c1cd */
+ L(1.06515172423204645839241099453417152e-35), /* 3f8ac510c07ff5b67d64a8548d2ef621 */
 
 /* x = 3.20312500000000000000000000000000000e-01 3ffd4800000000000000000000000000 */
 /* cos(x) = 0.f2faa5a1b74e82fd61fa05f9177380e8e69b7b15a945e8e5ae1124bf3d12b0617e03af4fab5 */
- 9.49137069684463027665847421762105623e-01L, /* 3ffee5f54b436e9d05fac3f40bf22ee7 */
- 6.84433965991637152250309190468859701e-37L, /* 3f86d1cd36f62b528bd1cb5c22497e7a */
+ L(9.49137069684463027665847421762105623e-01), /* 3ffee5f54b436e9d05fac3f40bf22ee7 */
+ L(6.84433965991637152250309190468859701e-37), /* 3f86d1cd36f62b528bd1cb5c22497e7a */
 /* sin(x) = 0.509adf9a7b9a5a0f638a8fa3a60a199418859f18b37169a644fdb986c21ecb00133853bc35b */
- 3.14863181319745250865036315126939016e-01L, /* 3ffd426b7e69ee69683d8e2a3e8e9828 */
- 1.92431240212432926993057705062834160e-35L, /* 3f8b99418859f18b37169a644fdb986c */
+ L(3.14863181319745250865036315126939016e-01), /* 3ffd426b7e69ee69683d8e2a3e8e9828 */
+ L(1.92431240212432926993057705062834160e-35), /* 3f8b99418859f18b37169a644fdb986c */
 
 /* x = 3.28125000000000000000000000000000000e-01 3ffd5000000000000000000000000000 */
 /* cos(x) = 0.f2578a595224dd2e6bfa2eb2f99cc674f5ea6f479eae2eb580186897ae3f893df1113ca06b8 */
- 9.46648260886053321846099507295532976e-01L, /* 3ffee4af14b2a449ba5cd7f45d65f33a */
--4.32906339663000890941529420498824645e-35L, /* bf8ccc5850ac85c30a8e8a53ff3cbb43 */
+ L(9.46648260886053321846099507295532976e-01), /* 3ffee4af14b2a449ba5cd7f45d65f33a */
+-L(4.32906339663000890941529420498824645e-35), /* bf8ccc5850ac85c30a8e8a53ff3cbb43 */
 /* sin(x) = 0.5280326c3cf481823ba6bb08eac82c2093f2bce3c4eb4ee3dec7df41c92c8a4226098616075 */
- 3.22268630433386625687745919893188031e-01L, /* 3ffd4a00c9b0f3d20608ee9aec23ab21 */
--1.49505897804759263483853908335500228e-35L, /* bf8b3df6c0d431c3b14b11c213820be3 */
+ L(3.22268630433386625687745919893188031e-01), /* 3ffd4a00c9b0f3d20608ee9aec23ab21 */
+-L(1.49505897804759263483853908335500228e-35), /* bf8b3df6c0d431c3b14b11c213820be3 */
 
 /* x = 3.35937500000000000000000000000000000e-01 3ffd5800000000000000000000000000 */
 /* cos(x) = 0.f1b0a5b406b526d886c55feadc8d0dcc8eb9ae2ac707051771b48e05b25b000009660bdb3e3 */
- 9.44101673557004345630017691253124860e-01L, /* 3ffee3614b680d6a4db10d8abfd5b91a */
- 1.03812535240120229609822461172145584e-35L, /* 3f8ab991d735c558e0e0a2ee3691c0b6 */
+ L(9.44101673557004345630017691253124860e-01), /* 3ffee3614b680d6a4db10d8abfd5b91a */
+ L(1.03812535240120229609822461172145584e-35), /* 3f8ab991d735c558e0e0a2ee3691c0b6 */
 /* sin(x) = 0.54643b3da29de9b357155eef0f332fb3e66c83bf4dddd9491c5eb8e103ccd92d6175220ed51 */
- 3.29654409930860171914317725126463176e-01L, /* 3ffd5190ecf68a77a6cd5c557bbc3ccd */
--1.22606996784743214973082192294232854e-35L, /* bf8b04c19937c40b22226b6e3a1471f0 */
+ L(3.29654409930860171914317725126463176e-01), /* 3ffd5190ecf68a77a6cd5c557bbc3ccd */
+-L(1.22606996784743214973082192294232854e-35), /* bf8b04c19937c40b22226b6e3a1471f0 */
 
 /* x = 3.43750000000000000000000000000000000e-01 3ffd6000000000000000000000000000 */
 /* cos(x) = 0.f105fa4d66b607a67d44e042725204435142ac8ad54dfb0907a4f6b56b06d98ee60f19e557a */
- 9.41497463127881068644511236053670815e-01L, /* 3ffee20bf49acd6c0f4cfa89c084e4a4 */
- 3.20709366603165602071590241054884900e-36L, /* 3f8910d450ab22b5537ec241e93dad5b */
+ L(9.41497463127881068644511236053670815e-01), /* 3ffee20bf49acd6c0f4cfa89c084e4a4 */
+ L(3.20709366603165602071590241054884900e-36), /* 3f8910d450ab22b5537ec241e93dad5b */
 /* sin(x) = 0.5646f27e8bd65cbe3a5d61ff06572290ee826d9674a00246b05ae26753cdfc90d9ce81a7d02 */
- 3.37020069022253076261281754173810024e-01L, /* 3ffd591bc9fa2f5972f8e97587fc195d */
--2.21435756148839473677777545049890664e-35L, /* bf8bd6f117d92698b5ffdb94fa51d98b */
+ L(3.37020069022253076261281754173810024e-01), /* 3ffd591bc9fa2f5972f8e97587fc195d */
+-L(2.21435756148839473677777545049890664e-35), /* bf8bd6f117d92698b5ffdb94fa51d98b */
 
 /* x = 3.51562500000000000000000000000000000e-01 3ffd6800000000000000000000000000 */
 /* cos(x) = 0.f0578ad01ede707fa39c09dc6b984afef74f3dc8d0efb0f4c5a6b13771145b3e0446fe33887 */
- 9.38835788546265488632578305984712554e-01L, /* 3ffee0af15a03dbce0ff473813b8d731 */
--3.98758068773974031348585072752245458e-35L, /* bf8ca808458611b978827859d2ca7644 */
+ L(9.38835788546265488632578305984712554e-01), /* 3ffee0af15a03dbce0ff473813b8d731 */
+-L(3.98758068773974031348585072752245458e-35), /* bf8ca808458611b978827859d2ca7644 */
 /* sin(x) = 0.582850a41e1dd46c7f602ea244cdbbbfcdfa8f3189be794dda427ce090b5f85164f1f80ac13 */
- 3.44365158145698408207172046472223747e-01L, /* 3ffd60a14290787751b1fd80ba891337 */
--3.19791885005480924937758467594051927e-36L, /* bf89100c815c339d9061ac896f60c7dc */
+ L(3.44365158145698408207172046472223747e-01), /* 3ffd60a14290787751b1fd80ba891337 */
+-L(3.19791885005480924937758467594051927e-36), /* bf89100c815c339d9061ac896f60c7dc */
 
 /* x = 3.59375000000000000000000000000000000e-01 3ffd7000000000000000000000000000 */
 /* cos(x) = 0.efa559f5ec3aec3a4eb03319278a2d41fcf9189462261125fe6147b078f1daa0b06750a1654 */
- 9.36116812267055290294237411019508588e-01L, /* 3ffedf4ab3ebd875d8749d6066324f14 */
- 3.40481591236710658435409862439032162e-35L, /* 3f8c6a0fe7c8c4a31130892ff30a3d84 */
+ L(9.36116812267055290294237411019508588e-01), /* 3ffedf4ab3ebd875d8749d6066324f14 */
+ L(3.40481591236710658435409862439032162e-35), /* 3f8c6a0fe7c8c4a31130892ff30a3d84 */
 /* sin(x) = 0.5a084e28e35fda2776dfdbbb5531d74ced2b5d17c0b1afc4647529d50c295e36d8ceec126c1 */
- 3.51689228994814059222584896955547016e-01L, /* 3ffd682138a38d7f689ddb7f6eed54c7 */
- 1.75293433418270210567525412802083294e-35L, /* 3f8b74ced2b5d17c0b1afc4647529d51 */
+ L(3.51689228994814059222584896955547016e-01), /* 3ffd682138a38d7f689ddb7f6eed54c7 */
+ L(1.75293433418270210567525412802083294e-35), /* 3f8b74ced2b5d17c0b1afc4647529d51 */
 
 /* x = 3.67187500000000000000000000000000000e-01 3ffd7800000000000000000000000000 */
 /* cos(x) = 0.eeef6a879146af0bf9b95ea2ea0ac0d3e2e4d7e15d93f48cbd41bf8e4fded40bef69e19eafa */
- 9.33340700242548435655299229469995527e-01L, /* 3ffeddded50f228d5e17f372bd45d416 */
--4.75255707251679831124800898831382223e-35L, /* bf8cf960e8d940f513605b9a15f2038e */
+ L(9.33340700242548435655299229469995527e-01), /* 3ffeddded50f228d5e17f372bd45d416 */
+-L(4.75255707251679831124800898831382223e-35), /* bf8cf960e8d940f513605b9a15f2038e */
 /* sin(x) = 0.5be6e38ce8095542bc14ee9da0d36483e6734bcab2e07624188af5653f114eeb46738fa899d */
- 3.58991834546065053677710299152868941e-01L, /* 3ffd6f9b8e33a025550af053ba76834e */
--2.06772389262723368139416970257112089e-35L, /* bf8bb7c198cb4354d1f89dbe7750a9ac */
+ L(3.58991834546065053677710299152868941e-01), /* 3ffd6f9b8e33a025550af053ba76834e */
+-L(2.06772389262723368139416970257112089e-35), /* bf8bb7c198cb4354d1f89dbe7750a9ac */
 
 /* x = 3.75000000000000000000000000000000000e-01 3ffd8000000000000000000000000000 */
 /* cos(x) = 0.ee35bf5ccac89052cd91ddb734d3a47e262e3b609db604e217053803be0091e76daf28a89b7 */
- 9.30507621912314291149476792229555481e-01L, /* 3ffedc6b7eb9959120a59b23bb6e69a7 */
- 2.74541088551732982573335285685416092e-35L, /* 3f8c23f13171db04edb02710b829c01e */
+ L(9.30507621912314291149476792229555481e-01), /* 3ffedc6b7eb9959120a59b23bb6e69a7 */
+ L(2.74541088551732982573335285685416092e-35), /* 3f8c23f13171db04edb02710b829c01e */
 /* sin(x) = 0.5dc40955d9084f48a94675a2498de5d851320ff5528a6afb3f2e24de240fce6cbed1ba0ccd6 */
- 3.66272529086047561372909351716264177e-01L, /* 3ffd7710255764213d22a519d6892638 */
--1.96768433534936592675897818253108989e-35L, /* bf8ba27aecdf00aad759504c0d1db21e */
+ L(3.66272529086047561372909351716264177e-01), /* 3ffd7710255764213d22a519d6892638 */
+-L(1.96768433534936592675897818253108989e-35), /* bf8ba27aecdf00aad759504c0d1db21e */
 
 /* x = 3.82812500000000000000000000000000000e-01 3ffd8800000000000000000000000000 */
 /* cos(x) = 0.ed785b5c44741b4493c56bcb9d338a151c6f6b85d8f8aca658b28572c162b199680eb9304da */
- 9.27617750192851909628030798799961350e-01L, /* 3ffedaf0b6b888e83689278ad7973a67 */
- 7.58520371916345756281201167126854712e-36L, /* 3f8a42a38ded70bb1f1594cb1650ae58 */
+ L(9.27617750192851909628030798799961350e-01), /* 3ffedaf0b6b888e83689278ad7973a67 */
+ L(7.58520371916345756281201167126854712e-36), /* 3f8a42a38ded70bb1f1594cb1650ae58 */
 /* sin(x) = 0.5f9fb80f21b53649c432540a50e22c53057ff42ae0fdf1307760dc0093f99c8efeb2fbd7073 */
- 3.73530868238692946416839752660848112e-01L, /* 3ffd7e7ee03c86d4d92710c950294389 */
--1.48023494778986556048879113411517128e-35L, /* bf8b3acfa800bd51f020ecf889f23ff7 */
+ L(3.73530868238692946416839752660848112e-01), /* 3ffd7e7ee03c86d4d92710c950294389 */
+-L(1.48023494778986556048879113411517128e-35), /* bf8b3acfa800bd51f020ecf889f23ff7 */
 
 /* x = 3.90625000000000000000000000000000000e-01 3ffd9000000000000000000000000000 */
 /* cos(x) = 0.ecb7417b8d4ee3fec37aba4073aa48f1f14666006fb431d9671303c8100d10190ec8179c41d */
- 9.24671261467036098502113014560138771e-01L, /* 3ffed96e82f71a9dc7fd86f57480e755 */
--4.14187124860031825108649347251175815e-35L, /* bf8cb87075cccffc825e7134c767e1bf */
+ L(9.24671261467036098502113014560138771e-01), /* 3ffed96e82f71a9dc7fd86f57480e755 */
+-L(4.14187124860031825108649347251175815e-35), /* bf8cb87075cccffc825e7134c767e1bf */
 /* sin(x) = 0.6179e84a09a5258a40e9b5face03e525f8b5753cd0105d93fe6298010c3458e84d75fe420e9 */
- 3.80766408992390192057200703388896675e-01L, /* 3ffd85e7a1282694962903a6d7eb3810 */
--2.02009541175208636336924533372496107e-35L, /* bf8bada074a8ac32fefa26c019d67fef */
+ L(3.80766408992390192057200703388896675e-01), /* 3ffd85e7a1282694962903a6d7eb3810 */
+-L(2.02009541175208636336924533372496107e-35), /* bf8bada074a8ac32fefa26c019d67fef */
 
 /* x = 3.98437500000000000000000000000000000e-01 3ffd9800000000000000000000000000 */
 /* cos(x) = 0.ebf274bf0bda4f62447e56a093626798d3013b5942b1abfd155aacc9dc5c6d0806a20d6b9c1 */
- 9.21668335573351918175411368202712714e-01L, /* 3ffed7e4e97e17b49ec488fcad4126c5 */
--1.83587995433957622948710263541479322e-35L, /* bf8b8672cfec4a6bd4e5402eaa553362 */
+ L(9.21668335573351918175411368202712714e-01), /* 3ffed7e4e97e17b49ec488fcad4126c5 */
+-L(1.83587995433957622948710263541479322e-35), /* bf8b8672cfec4a6bd4e5402eaa553362 */
 /* sin(x) = 0.6352929dd264bd44a02ea766325d8aa8bd9695fc8def3caefba5b94c9a3c873f7b2d3776ead */
- 3.87978709727025046051079690813741960e-01L, /* 3ffd8d4a4a774992f51280ba9d98c976 */
- 8.01904783870935075844443278617586301e-36L, /* 3f8a5517b2d2bf91bde795df74b72993 */
+ L(3.87978709727025046051079690813741960e-01), /* 3ffd8d4a4a774992f51280ba9d98c976 */
+ L(8.01904783870935075844443278617586301e-36), /* 3f8a5517b2d2bf91bde795df74b72993 */
 
 /* x = 4.06250000000000000000000000000000000e-01 3ffda000000000000000000000000000 */
 /* cos(x) = 0.eb29f839f201fd13b93796827916a78f15c85230a4e8ea4b21558265a14367e1abb4c30695a */
- 9.18609155794918267837824977718549863e-01L, /* 3ffed653f073e403fa27726f2d04f22d */
- 2.97608282778274433460057745798409849e-35L, /* 3f8c3c78ae429185274752590aac132d */
+ L(9.18609155794918267837824977718549863e-01), /* 3ffed653f073e403fa27726f2d04f22d */
+ L(2.97608282778274433460057745798409849e-35), /* 3f8c3c78ae429185274752590aac132d */
 /* sin(x) = 0.6529afa7d51b129631ec197c0a840a11d7dc5368b0a47956feb285caa8371c4637ef17ef01b */
- 3.95167330240934236244832640419653657e-01L, /* 3ffd94a6be9f546c4a58c7b065f02a10 */
- 7.57560031388312550940040194042627704e-36L, /* 3f8a423afb8a6d16148f2adfd650b955 */
+ L(3.95167330240934236244832640419653657e-01), /* 3ffd94a6be9f546c4a58c7b065f02a10 */
+ L(7.57560031388312550940040194042627704e-36), /* 3f8a423afb8a6d16148f2adfd650b955 */
 
 /* x = 4.14062500000000000000000000000000000e-01 3ffda800000000000000000000000000 */
 /* cos(x) = 0.ea5dcf0e30cf03e6976ef0b1ec26515fba47383855c3b4055a99b5e86824b2cd1a691fdca7b */
- 9.15493908848301228563917732180221882e-01L, /* 3ffed4bb9e1c619e07cd2edde163d84d */
--3.50775517955306954815090901168305659e-35L, /* bf8c75022dc63e3d51e25fd52b3250bd */
+ L(9.15493908848301228563917732180221882e-01), /* 3ffed4bb9e1c619e07cd2edde163d84d */
+-L(3.50775517955306954815090901168305659e-35), /* bf8c75022dc63e3d51e25fd52b3250bd */
 /* sin(x) = 0.66ff380ba0144109e39a320b0a3fa5fd65ea0585bcbf9b1a769a9b0334576c658139e1a1cbe */
- 4.02331831777773111217105598880982387e-01L, /* 3ffd9bfce02e805104278e68c82c28ff */
--1.95678722882848174723569916504871563e-35L, /* bf8ba029a15fa7a434064e5896564fcd */
+ L(4.02331831777773111217105598880982387e-01), /* 3ffd9bfce02e805104278e68c82c28ff */
+-L(1.95678722882848174723569916504871563e-35), /* bf8ba029a15fa7a434064e5896564fcd */
 
 /* x = 4.21875000000000000000000000000000000e-01 3ffdb000000000000000000000000000 */
 /* cos(x) = 0.e98dfc6c6be031e60dd3089cbdd18a75b1f6b2c1e97f79225202f03dbea45b07a5ec4efc062 */
- 9.12322784872117846492029542047341734e-01L, /* 3ffed31bf8d8d7c063cc1ba611397ba3 */
- 7.86903886556373674267948132178845568e-36L, /* 3f8a4eb63ed6583d2fef244a405e07b8 */
+ L(9.12322784872117846492029542047341734e-01), /* 3ffed31bf8d8d7c063cc1ba611397ba3 */
+ L(7.86903886556373674267948132178845568e-36), /* 3f8a4eb63ed6583d2fef244a405e07b8 */
 /* sin(x) = 0.68d32473143327973bc712bcc4ccddc47630d755850c0655243b205934dc49ffed8eb76adcb */
- 4.09471777053295066122694027011452236e-01L, /* 3ffda34c91cc50cc9e5cef1c4af31333 */
- 2.23945241468457597921655785729821354e-35L, /* 3f8bdc47630d755850c0655243b20593 */
+ L(4.09471777053295066122694027011452236e-01), /* 3ffda34c91cc50cc9e5cef1c4af31333 */
+ L(2.23945241468457597921655785729821354e-35), /* 3f8bdc47630d755850c0655243b20593 */
 
 /* x = 4.29687500000000000000000000000000000e-01 3ffdb800000000000000000000000000 */
 /* cos(x) = 0.e8ba8393eca7821aa563d83491b6101189b3b101c3677f73d7bad7c10f9ee02b7ab4009739a */
- 9.09095977415431051650381735684476417e-01L, /* 3ffed1750727d94f04354ac7b069236c */
- 1.20886014028444155733776025085677953e-35L, /* 3f8b01189b3b101c3677f73d7bad7c11 */
+ L(9.09095977415431051650381735684476417e-01), /* 3ffed1750727d94f04354ac7b069236c */
+ L(1.20886014028444155733776025085677953e-35), /* 3f8b01189b3b101c3677f73d7bad7c11 */
 /* sin(x) = 0.6aa56d8e8249db4eb60a761fe3f9e559be456b9e13349ca99b0bfb787f22b95db3b70179615 */
- 4.16586730282041119259112448831069657e-01L, /* 3ffdaa95b63a09276d3ad829d87f8fe8 */
--2.00488106831998813675438269796963612e-35L, /* bf8baa641ba9461eccb635664f404878 */
+ L(4.16586730282041119259112448831069657e-01), /* 3ffdaa95b63a09276d3ad829d87f8fe8 */
+-L(2.00488106831998813675438269796963612e-35), /* bf8baa641ba9461eccb635664f404878 */
 
 /* x = 4.37500000000000000000000000000000000e-01 3ffdc000000000000000000000000000 */
 /* cos(x) = 0.e7e367d2956cfb16b6aa11e5419cd0057f5c132a6455bf064297e6a76fe2b72bb630d6d50ff */
- 9.05813683425936420744516660652700258e-01L, /* 3ffecfc6cfa52ad9f62d6d5423ca833a */
--3.60950307605941169775676563004467163e-35L, /* bf8c7fd4051f66acdd5207cdeb40cac5 */
+ L(9.05813683425936420744516660652700258e-01), /* 3ffecfc6cfa52ad9f62d6d5423ca833a */
+-L(3.60950307605941169775676563004467163e-35), /* bf8c7fd4051f66acdd5207cdeb40cac5 */
 /* sin(x) = 0.6c760c14c8585a51dbd34660ae6c52ac7036a0b40887a0b63724f8b4414348c3063a637f457 */
- 4.23676257203938010361683988031102480e-01L, /* 3ffdb1d83053216169476f4d1982b9b1 */
- 1.40484456388654470329473096579312595e-35L, /* 3f8b2ac7036a0b40887a0b63724f8b44 */
+ L(4.23676257203938010361683988031102480e-01), /* 3ffdb1d83053216169476f4d1982b9b1 */
+ L(1.40484456388654470329473096579312595e-35), /* 3f8b2ac7036a0b40887a0b63724f8b44 */
 
 /* x = 4.45312500000000000000000000000000000e-01 3ffdc800000000000000000000000000 */
 /* cos(x) = 0.e708ac84d4172a3e2737662213429e14021074d7e702e77d72a8f1101a7e70410df8273e9aa */
- 9.02476103237941504925183272675895999e-01L, /* 3ffece115909a82e547c4e6ecc442685 */
- 2.26282899501344419018306295680210602e-35L, /* 3f8be14021074d7e702e77d72a8f1102 */
+ L(9.02476103237941504925183272675895999e-01), /* 3ffece115909a82e547c4e6ecc442685 */
+ L(2.26282899501344419018306295680210602e-35), /* 3f8be14021074d7e702e77d72a8f1102 */
 /* sin(x) = 0.6e44f8c36eb10a1c752d093c00f4d47ba446ac4c215d26b0316442f168459e677d06e7249e3 */
- 4.30739925110803197216321517850849190e-01L, /* 3ffdb913e30dbac42871d4b424f003d3 */
- 1.54096780001629398850891218396761548e-35L, /* 3f8b47ba446ac4c215d26b0316442f17 */
+ L(4.30739925110803197216321517850849190e-01), /* 3ffdb913e30dbac42871d4b424f003d3 */
+ L(1.54096780001629398850891218396761548e-35), /* 3f8b47ba446ac4c215d26b0316442f17 */
 
 /* x = 4.53125000000000000000000000000000000e-01 3ffdd000000000000000000000000000 */
 /* cos(x) = 0.e62a551594b970a770b15d41d4c0e483e47aca550111df6966f9e7ac3a94ae49e6a71eb031e */
- 8.99083440560138456216544929209379307e-01L, /* 3ffecc54aa2b2972e14ee162ba83a982 */
--2.06772615490904370666670275154751976e-35L, /* bf8bb7c1b8535aafeee209699061853c */
+ L(8.99083440560138456216544929209379307e-01), /* 3ffecc54aa2b2972e14ee162ba83a982 */
+-L(2.06772615490904370666670275154751976e-35), /* bf8bb7c1b8535aafeee209699061853c */
 /* sin(x) = 0.70122c5ec5028c8cff33abf4fd340ccc382e038379b09cf04f9a52692b10b72586060cbb001 */
- 4.37777302872755132861618974702796680e-01L, /* 3ffdc048b17b140a3233fcceafd3f4d0 */
- 9.62794364503442612477117426033922467e-36L, /* 3f8a998705c0706f36139e09f34a4d25 */
+ L(4.37777302872755132861618974702796680e-01), /* 3ffdc048b17b140a3233fcceafd3f4d0 */
+ L(9.62794364503442612477117426033922467e-36), /* 3f8a998705c0706f36139e09f34a4d25 */
 
 /* x = 4.60937500000000000000000000000000000e-01 3ffdd800000000000000000000000000 */
 /* cos(x) = 0.e54864fe33e8575cabf5bd0e5cf1b1a8bc7c0d5f61702450fa6b6539735820dd2603ae355d5 */
- 8.95635902463170698900570000446256350e-01L, /* 3ffeca90c9fc67d0aeb957eb7a1cb9e3 */
- 3.73593741659866883088620495542311808e-35L, /* 3f8c8d45e3e06afb0b812287d35b29cc */
+ L(8.95635902463170698900570000446256350e-01), /* 3ffeca90c9fc67d0aeb957eb7a1cb9e3 */
+ L(3.73593741659866883088620495542311808e-35), /* 3f8c8d45e3e06afb0b812287d35b29cc */
 /* sin(x) = 0.71dd9fb1ff4677853acb970a9f6729c6e3aac247b1c57cea66c77413f1f98e8b9e98e49d851 */
- 4.44787960964527211433056012529525211e-01L, /* 3ffdc7767ec7fd19de14eb2e5c2a7d9d */
--1.67187936511493678007508371613954899e-35L, /* bf8b6391c553db84e3a831599388bec1 */
+ L(4.44787960964527211433056012529525211e-01), /* 3ffdc7767ec7fd19de14eb2e5c2a7d9d */
+-L(1.67187936511493678007508371613954899e-35), /* bf8b6391c553db84e3a831599388bec1 */
 
 /* x = 4.68750000000000000000000000000000000e-01 3ffde000000000000000000000000000 */
 /* cos(x) = 0.e462dfc670d421ab3d1a15901228f146a0547011202bf5ab01f914431859aef577966bc4fa4 */
- 8.92133699366994404723900253723788575e-01L, /* 3ffec8c5bf8ce1a843567a342b202452 */
--1.10771937602567314732693079264692504e-35L, /* bf8ad72bf571fddbfa814a9fc0dd779d */
+ L(8.92133699366994404723900253723788575e-01), /* 3ffec8c5bf8ce1a843567a342b202452 */
+-L(1.10771937602567314732693079264692504e-35), /* bf8ad72bf571fddbfa814a9fc0dd779d */
 /* sin(x) = 0.73a74b8f52947b681baf6928eb3fb021769bf4779bad0e3aa9b1cdb75ec60aad9fc63ff19d5 */
- 4.51771471491683776581688750134062870e-01L, /* 3ffdce9d2e3d4a51eda06ebda4a3acff */
--1.19387223016472295893794387275284505e-35L, /* bf8afbd12c81710c8a5e38aac9c64914 */
+ L(4.51771471491683776581688750134062870e-01), /* 3ffdce9d2e3d4a51eda06ebda4a3acff */
+-L(1.19387223016472295893794387275284505e-35), /* bf8afbd12c81710c8a5e38aac9c64914 */
 
 /* x = 4.76562500000000000000000000000000000e-01 3ffde800000000000000000000000000 */
 /* cos(x) = 0.e379c9045f29d517c4808aa497c2057b2b3d109e76c0dc302d4d0698b36e3f0bdbf33d8e952 */
- 8.88577045028035543317609023116020980e-01L, /* 3ffec6f39208be53aa2f890115492f84 */
- 4.12354278954664731443813655177022170e-36L, /* 3f895ecacf44279db0370c0b5341a62d */
+ L(8.88577045028035543317609023116020980e-01), /* 3ffec6f39208be53aa2f890115492f84 */
+ L(4.12354278954664731443813655177022170e-36), /* 3f895ecacf44279db0370c0b5341a62d */
 /* sin(x) = 0.756f28d011d98528a44a75fc29c779bd734ecdfb582fdb74b68a4c4c4be54cfd0b2d3ad292f */
- 4.58727408216736592377295028972874773e-01L, /* 3ffdd5bca340476614a29129d7f0a71e */
--4.70946994194182908929251719575431779e-36L, /* bf8990a32c4c8129f40922d25d6ceced */
+ L(4.58727408216736592377295028972874773e-01), /* 3ffdd5bca340476614a29129d7f0a71e */
+-L(4.70946994194182908929251719575431779e-36), /* bf8990a32c4c8129f40922d25d6ceced */
 
 /* x = 4.84375000000000000000000000000000000e-01 3ffdf000000000000000000000000000 */
 /* cos(x) = 0.e28d245c58baef72225e232abc003c4366acd9eb4fc2808c2ab7fe7676cf512ac7f945ae5fb */
- 8.84966156526143291697296536966647926e-01L, /* 3ffec51a48b8b175dee444bc46557800 */
- 4.53370570288325630442037826313462165e-35L, /* 3f8ce21b3566cf5a7e14046155bff3b4 */
+ L(8.84966156526143291697296536966647926e-01), /* 3ffec51a48b8b175dee444bc46557800 */
+ L(4.53370570288325630442037826313462165e-35), /* 3f8ce21b3566cf5a7e14046155bff3b4 */
 /* sin(x) = 0.77353054ca72690d4c6e171fd99e6b39fa8e1ede5f052fd2964534c75340970a3a9cd3c5c32 */
- 4.65655346585160182681199512507546779e-01L, /* 3ffddcd4c15329c9a43531b85c7f667a */
--1.56282598978971872478619772155305961e-35L, /* bf8b4c60571e121a0fad02d69bacb38b */
+ L(4.65655346585160182681199512507546779e-01), /* 3ffddcd4c15329c9a43531b85c7f667a */
+-L(1.56282598978971872478619772155305961e-35), /* bf8b4c60571e121a0fad02d69bacb38b */
 
 /* x = 4.92187500000000000000000000000000000e-01 3ffdf800000000000000000000000000 */
 /* cos(x) = 0.e19cf580eeec046aa1422fa74807ecefb2a1911c94e7b5f20a00f70022d940193691e5bd790 */
- 8.81301254251340599140161908298100173e-01L, /* 3ffec339eb01ddd808d542845f4e9010 */
--1.43419192312116687783945619009629445e-35L, /* bf8b3104d5e6ee36b184a0df5ff08ffe */
+ L(8.81301254251340599140161908298100173e-01), /* 3ffec339eb01ddd808d542845f4e9010 */
+-L(1.43419192312116687783945619009629445e-35), /* bf8b3104d5e6ee36b184a0df5ff08ffe */
 /* sin(x) = 0.78f95b0560a9a3bd6df7bd981dc38c61224d08bc20631ea932e605e53b579e9e0767dfcbbcb */
- 4.72554863751304451146551317808516942e-01L, /* 3ffde3e56c1582a68ef5b7def660770e */
- 9.31324774957768018850224267625371204e-36L, /* 3f8a8c2449a117840c63d5265cc0bca7 */
+ L(4.72554863751304451146551317808516942e-01), /* 3ffde3e56c1582a68ef5b7def660770e */
+ L(9.31324774957768018850224267625371204e-36), /* 3f8a8c2449a117840c63d5265cc0bca7 */
 
 /* x = 5.00000000000000000000000000000000000e-01 3ffe0000000000000000000000000000 */
 /* cos(x) = 0.e0a94032dbea7cedbddd9da2fafad98556566b3a89f43eabd72350af3e8b19e801204d8fe2e */
- 8.77582561890372716116281582603829681e-01L, /* 3ffec1528065b7d4f9db7bbb3b45f5f6 */
--2.89484960181363924855192538540698851e-35L, /* bf8c33d54d4ca62bb05e0aa146e57a86 */
+ L(8.77582561890372716116281582603829681e-01), /* 3ffec1528065b7d4f9db7bbb3b45f5f6 */
+-L(2.89484960181363924855192538540698851e-35), /* bf8c33d54d4ca62bb05e0aa146e57a86 */
 /* sin(x) = 0.7abba1d12c17bfa1d92f0d93f60ded9992f45b4fcaf13cd58b303693d2a0db47db35ae8a3a9 */
- 4.79425538604203000273287935215571402e-01L, /* 3ffdeaee8744b05efe8764bc364fd838 */
--1.38426977616718318950175848639381926e-35L, /* bf8b2666d0ba4b0350ec32a74cfc96c3 */
+ L(4.79425538604203000273287935215571402e-01), /* 3ffdeaee8744b05efe8764bc364fd838 */
+-L(1.38426977616718318950175848639381926e-35), /* bf8b2666d0ba4b0350ec32a74cfc96c3 */
 
 /* x = 5.07812500000000000000000000000000000e-01 3ffe0400000000000000000000000000 */
 /* cos(x) = 0.dfb20840f3a9b36f7ae2c515342890b5ec583b8366cc2b55029e95094d31112383f2553498b */
- 8.73810306413054508282556837071377159e-01L, /* 3ffebf641081e75366def5c58a2a6851 */
- 1.25716864497849302237218128599994785e-35L, /* 3f8b0b5ec583b8366cc2b55029e95095 */
+ L(8.73810306413054508282556837071377159e-01), /* 3ffebf641081e75366def5c58a2a6851 */
+ L(1.25716864497849302237218128599994785e-35), /* 3f8b0b5ec583b8366cc2b55029e95095 */
 /* sin(x) = 0.7c7bfdaf13e5ed17212f8a7525bfb113aba6c0741b5362bb8d59282a850b63716bca0c910f0 */
- 4.86266951793275574311011306895834993e-01L, /* 3ffdf1eff6bc4f97b45c84be29d496ff */
--1.12269393250914752644352376448094271e-35L, /* bf8add8a8b27f17c9593a88e54dafaaf */
+ L(4.86266951793275574311011306895834993e-01), /* 3ffdf1eff6bc4f97b45c84be29d496ff */
+-L(1.12269393250914752644352376448094271e-35), /* bf8add8a8b27f17c9593a88e54dafaaf */
 
 /* x = 5.15625000000000000000000000000000000e-01 3ffe0800000000000000000000000000 */
 /* cos(x) = 0.deb7518814a7a931bbcc88c109cd41c50bf8bb48f20ae8c36628d1d3d57574f7dc58f27d91c */
- 8.69984718058417388828915599901466243e-01L, /* 3ffebd6ea310294f526377991182139b */
--4.68168638300575626782741319792183837e-35L, /* bf8cf1d7a03a25b86fa8b9e4ceb97161 */
+ L(8.69984718058417388828915599901466243e-01), /* 3ffebd6ea310294f526377991182139b */
+-L(4.68168638300575626782741319792183837e-35), /* bf8cf1d7a03a25b86fa8b9e4ceb97161 */
 /* sin(x) = 0.7e3a679daaf25c676542bcb4028d0964172961c921823a4ef0c3a9070d886dbd073f6283699 */
- 4.93078685753923057265136552753487121e-01L, /* 3ffdf8e99e76abc9719d950af2d00a34 */
- 7.06498693112535056352301101088624950e-36L, /* 3f8a2c82e52c3924304749de187520e2 */
+ L(4.93078685753923057265136552753487121e-01), /* 3ffdf8e99e76abc9719d950af2d00a34 */
+ L(7.06498693112535056352301101088624950e-36), /* 3f8a2c82e52c3924304749de187520e2 */
 
 /* x = 5.23437500000000000000000000000000000e-01 3ffe0c00000000000000000000000000 */
 /* cos(x) = 0.ddb91ff318799172bd2452d0a3889f5169c64a0094bcf0b8aa7dcf0d7640a2eba68955a80be */
- 8.66106030320656714696616831654267220e-01L, /* 3ffebb723fe630f322e57a48a5a14711 */
- 2.35610597588322493119667003904687628e-35L, /* 3f8bf5169c64a0094bcf0b8aa7dcf0d7 */
+ L(8.66106030320656714696616831654267220e-01), /* 3ffebb723fe630f322e57a48a5a14711 */
+ L(2.35610597588322493119667003904687628e-35), /* 3f8bf5169c64a0094bcf0b8aa7dcf0d7 */
 /* sin(x) = 0.7ff6d8a34bd5e8fa54c97482db5159df1f24e8038419c0b448b9eea8939b5d4dfcf40900257 */
- 4.99860324733013463819556536946425724e-01L, /* 3ffdffdb628d2f57a3e95325d20b6d45 */
- 1.94636052312235297538564591686645139e-35L, /* 3f8b9df1f24e8038419c0b448b9eea89 */
+ L(4.99860324733013463819556536946425724e-01), /* 3ffdffdb628d2f57a3e95325d20b6d45 */
+ L(1.94636052312235297538564591686645139e-35), /* 3f8b9df1f24e8038419c0b448b9eea89 */
 
 /* x = 5.31250000000000000000000000000000000e-01 3ffe1000000000000000000000000000 */
 /* cos(x) = 0.dcb7777ac420705168f31e3eb780ce9c939ecada62843b54522f5407eb7f21e556059fcd734 */
- 8.62174479934880504367162510253324274e-01L, /* 3ffeb96eeef58840e0a2d1e63c7d6f02 */
--3.71556818317533582234562471835771823e-35L, /* bf8c8b1b6309a92cebde255d6e855fc1 */
+ L(8.62174479934880504367162510253324274e-01), /* 3ffeb96eeef58840e0a2d1e63c7d6f02 */
+-L(3.71556818317533582234562471835771823e-35), /* bf8c8b1b6309a92cebde255d6e855fc1 */
 /* sin(x) = 0.81b149ce34caa5a4e650f8d09fd4d6aa74206c32ca951a93074c83b2d294d25dbb0f7fdfad2 */
- 5.06611454814257367642296000893867192e-01L, /* 3ffe0362939c69954b49cca1f1a13faa */
--3.10963699824274155702706043065967062e-35L, /* bf8c4aac5efc9e69ab572b67c59be269 */
+ L(5.06611454814257367642296000893867192e-01), /* 3ffe0362939c69954b49cca1f1a13faa */
+-L(3.10963699824274155702706043065967062e-35), /* bf8c4aac5efc9e69ab572b67c59be269 */
 
 /* x = 5.39062500000000000000000000000000000e-01 3ffe1400000000000000000000000000 */
 /* cos(x) = 0.dbb25c25b8260c14f6e7bc98ec991b70c65335198b0ab628bad20cc7b229d4dd62183cfa055 */
- 8.58190306862660347046629564970494649e-01L, /* 3ffeb764b84b704c1829edcf7931d932 */
- 2.06439574601190798155563653000684861e-35L, /* 3f8bb70c65335198b0ab628bad20cc7b */
+ L(8.58190306862660347046629564970494649e-01), /* 3ffeb764b84b704c1829edcf7931d932 */
+ L(2.06439574601190798155563653000684861e-35), /* 3f8bb70c65335198b0ab628bad20cc7b */
 /* sin(x) = 0.8369b434a372da7eb5c8a71fe36ce1e0b2b493f6f5cb2e38bcaec2a556b3678c401940d1c3c */
- 5.13331663943471218288801270215706878e-01L, /* 3ffe06d3686946e5b4fd6b914e3fc6da */
--2.26614796466671970772244932848067224e-35L, /* bf8be1f4d4b6c090a34d1c743513d5ab */
+ L(5.13331663943471218288801270215706878e-01), /* 3ffe06d3686946e5b4fd6b914e3fc6da */
+-L(2.26614796466671970772244932848067224e-35), /* bf8be1f4d4b6c090a34d1c743513d5ab */
 
 /* x = 5.46875000000000000000000000000000000e-01 3ffe1800000000000000000000000000 */
 /* cos(x) = 0.daa9d20860827063fde51c09e855e9932e1b17143e7244fd267a899d41ae1f3bc6a0ec42e27 */
- 8.54153754277385385143451785105103176e-01L, /* 3ffeb553a410c104e0c7fbca3813d0ac */
--1.68707534013095152873222061722573172e-35L, /* bf8b66cd1e4e8ebc18dbb02d9857662c */
+ L(8.54153754277385385143451785105103176e-01), /* 3ffeb553a410c104e0c7fbca3813d0ac */
+-L(1.68707534013095152873222061722573172e-35), /* bf8b66cd1e4e8ebc18dbb02d9857662c */
 /* sin(x) = 0.852010f4f0800521378bd8dd614753d080c2e9e0775ffc609947b9132f5357404f464f06a58 */
- 5.20020541953727004760213699874674730e-01L, /* 3ffe0a4021e9e1000a426f17b1bac28f */
--3.32415021330884924833711842866896734e-35L, /* bf8c617bf9e8b0fc45001cfb35c23767 */
+ L(5.20020541953727004760213699874674730e-01), /* 3ffe0a4021e9e1000a426f17b1bac28f */
+-L(3.32415021330884924833711842866896734e-35), /* bf8c617bf9e8b0fc45001cfb35c23767 */
 
 /* x = 5.54687500000000000000000000000000000e-01 3ffe1c00000000000000000000000000 */
 /* cos(x) = 0.d99ddd44e44a43d4d4a3a3ed95204106fd54d78e8c7684545c0da0b7c2c72be7a89b7c182ad */
- 8.50065068549420263957072899177793617e-01L, /* 3ffeb33bba89c89487a9a94747db2a41 */
--4.73753917078785974356016104842568442e-35L, /* bf8cf7c81559438b9c4bdd5d1f92fa42 */
+ L(8.50065068549420263957072899177793617e-01), /* 3ffeb33bba89c89487a9a94747db2a41 */
+-L(4.73753917078785974356016104842568442e-35), /* bf8cf7c81559438b9c4bdd5d1f92fa42 */
 /* sin(x) = 0.86d45935ab396cb4e421e822dee54f3562dfcefeaa782184c23401d231f5ad981a1cc195b18 */
- 5.26677680590386730710789410624833901e-01L, /* 3ffe0da8b26b5672d969c843d045bdcb */
--3.67066148195515214077582496518566735e-35L, /* bf8c8654e901880aac3ef3d9ee5ff16e */
+ L(5.26677680590386730710789410624833901e-01), /* 3ffe0da8b26b5672d969c843d045bdcb */
+-L(3.67066148195515214077582496518566735e-35), /* bf8c8654e901880aac3ef3d9ee5ff16e */
 
 /* x = 5.62500000000000000000000000000000000e-01 3ffe2000000000000000000000000000 */
 /* cos(x) = 0.d88e820b1526311dd561efbc0c1a9a5375eb26f65d246c5744b13ca26a7e0fd42556da843c8 */
- 8.45924499231067954459723078597493262e-01L, /* 3ffeb11d04162a4c623baac3df781835 */
- 1.98054947141989878179164342925274053e-35L, /* 3f8ba5375eb26f65d246c5744b13ca27 */
+ L(8.45924499231067954459723078597493262e-01), /* 3ffeb11d04162a4c623baac3df781835 */
+ L(1.98054947141989878179164342925274053e-35), /* 3f8ba5375eb26f65d246c5744b13ca27 */
 /* sin(x) = 0.88868625b4e1dbb2313310133022527200c143a5cb16637cb7daf8ade82459ff2e98511f40f */
- 5.33302673536020173329131103308161529e-01L, /* 3ffe110d0c4b69c3b764626620266045 */
--3.42715291319551615996993795226755157e-35L, /* bf8c6c6ff9f5e2d1a74ce41a41283a91 */
+ L(5.33302673536020173329131103308161529e-01), /* 3ffe110d0c4b69c3b764626620266045 */
+-L(3.42715291319551615996993795226755157e-35), /* bf8c6c6ff9f5e2d1a74ce41a41283a91 */
 
 /* x = 5.70312500000000000000000000000000000e-01 3ffe2400000000000000000000000000 */
 /* cos(x) = 0.d77bc4985e93a607c9d868b906bbc6bbe3a04258814acb0358468b826fc91bd4d814827f65e */
- 8.41732299041338366963111794309701085e-01L, /* 3ffeaef78930bd274c0f93b0d1720d78 */
--4.30821936750410026005408345400225948e-35L, /* bf8cca20e2fded3bf5a9a7e53dcba3ed */
+ L(8.41732299041338366963111794309701085e-01), /* 3ffeaef78930bd274c0f93b0d1720d78 */
+-L(4.30821936750410026005408345400225948e-35), /* bf8cca20e2fded3bf5a9a7e53dcba3ed */
 /* sin(x) = 0.8a3690fc5bfc11bf9535e2739a8512f448a41251514bbed7fc18d530f9b4650fcbb2861b0aa */
- 5.39895116435204405041660709903993340e-01L, /* 3ffe146d21f8b7f8237f2a6bc4e7350a */
- 1.42595803521626714477253741404712093e-35L, /* 3f8b2f448a41251514bbed7fc18d5310 */
+ L(5.39895116435204405041660709903993340e-01), /* 3ffe146d21f8b7f8237f2a6bc4e7350a */
+ L(1.42595803521626714477253741404712093e-35), /* 3f8b2f448a41251514bbed7fc18d5310 */
 
 /* x = 5.78125000000000000000000000000000000e-01 3ffe2800000000000000000000000000 */
 /* cos(x) = 0.d665a937b4ef2b1f6d51bad6d988a4419c1d7051faf31a9efa151d7631117efac03713f950a */
- 8.37488723850523685315353348917240617e-01L, /* 3ffeaccb526f69de563edaa375adb311 */
- 2.72761997872084533045777718677326179e-35L, /* 3f8c220ce0eb828fd798d4f7d0a8ebb2 */
+ L(8.37488723850523685315353348917240617e-01), /* 3ffeaccb526f69de563edaa375adb311 */
+ L(2.72761997872084533045777718677326179e-35), /* 3f8c220ce0eb828fd798d4f7d0a8ebb2 */
 /* sin(x) = 0.8be472f9776d809af2b88171243d63d66dfceeeb739cc894e023fbc165a0e3f26ff729c5d57 */
- 5.46454606919203564403349553749411001e-01L, /* 3ffe17c8e5f2eedb0135e57102e2487b */
--2.11870230730160315420936523771864858e-35L, /* bf8bc29920311148c63376b1fdc043ea */
+ L(5.46454606919203564403349553749411001e-01), /* 3ffe17c8e5f2eedb0135e57102e2487b */
+-L(2.11870230730160315420936523771864858e-35), /* bf8bc29920311148c63376b1fdc043ea */
 
 /* x = 5.85937500000000000000000000000000000e-01 3ffe2c00000000000000000000000000 */
 /* cos(x) = 0.d54c3441844897fc8f853f0655f1ba695eba9fbfd7439dbb1171d862d9d9146ca5136f825ac */
- 8.33194032664581363070224042208032321e-01L, /* 3ffeaa98688308912ff91f0a7e0cabe3 */
- 4.39440050052045486567668031751259899e-35L, /* 3f8cd34af5d4fdfeba1cedd88b8ec317 */
+ L(8.33194032664581363070224042208032321e-01), /* 3ffeaa98688308912ff91f0a7e0cabe3 */
+ L(4.39440050052045486567668031751259899e-35), /* 3f8cd34af5d4fdfeba1cedd88b8ec317 */
 /* sin(x) = 0.8d902565817ee7839bce3cd128060119492cd36d42d82ada30d7f8bde91324808377ddbf5d4 */
- 5.52980744630527369849695082681623667e-01L, /* 3ffe1b204acb02fdcf07379c79a2500c */
- 8.26624790417342895897164123189984127e-37L, /* 3f8719492cd36d42d82ada30d7f8bde9 */
+ L(5.52980744630527369849695082681623667e-01), /* 3ffe1b204acb02fdcf07379c79a2500c */
+ L(8.26624790417342895897164123189984127e-37), /* 3f8719492cd36d42d82ada30d7f8bde9 */
 
 /* x = 5.93750000000000000000000000000000000e-01 3ffe3000000000000000000000000000 */
 /* cos(x) = 0.d42f6a1b9f0168cdf031c2f63c8d9304d86f8d34cb1d5fccb68ca0f2241427fc18d1fd5bbdf */
- 8.28848487609325734810171790119116638e-01L, /* 3ffea85ed4373e02d19be06385ec791b */
- 1.43082508100496581719048175506239770e-35L, /* 3f8b304d86f8d34cb1d5fccb68ca0f22 */
+ L(8.28848487609325734810171790119116638e-01), /* 3ffea85ed4373e02d19be06385ec791b */
+ L(1.43082508100496581719048175506239770e-35), /* 3f8b304d86f8d34cb1d5fccb68ca0f22 */
 /* sin(x) = 0.8f39a191b2ba6122a3fa4f41d5a3ffd421417d46f19a22230a14f7fcc8fce5c75b4b28b29d1 */
- 5.59473131247366877384844006003116688e-01L, /* 3ffe1e7343236574c24547f49e83ab48 */
--1.28922620524163922306886952100992796e-37L, /* bf845ef5f415c8732eeee7af584019b8 */
+ L(5.59473131247366877384844006003116688e-01), /* 3ffe1e7343236574c24547f49e83ab48 */
+-L(1.28922620524163922306886952100992796e-37), /* bf845ef5f415c8732eeee7af584019b8 */
 
 /* x = 6.01562500000000000000000000000000000e-01 3ffe3400000000000000000000000000 */
 /* cos(x) = 0.d30f4f392c357ab0661c5fa8a7d9b26627846fef214b1d19a22379ff9eddba087cf410eb097 */
- 8.24452353914429207485643598212356053e-01L, /* 3ffea61e9e72586af560cc38bf514fb3 */
- 3.79160239225080026987031418939026741e-35L, /* 3f8c93313c237f790a58e8cd111bcffd */
+ L(8.24452353914429207485643598212356053e-01), /* 3ffea61e9e72586af560cc38bf514fb3 */
+ L(3.79160239225080026987031418939026741e-35), /* 3f8c93313c237f790a58e8cd111bcffd */
 /* sin(x) = 0.90e0e0d81ca678796cc92c8ea8c2815bc72ca78abe571bfa8576aacc571e096a33237e0e830 */
- 5.65931370507905990773159095689276114e-01L, /* 3ffe21c1c1b0394cf0f2d992591d5185 */
- 1.02202775968053982310991962521535027e-36L, /* 3f875bc72ca78abe571bfa8576aacc57 */
+ L(5.65931370507905990773159095689276114e-01), /* 3ffe21c1c1b0394cf0f2d992591d5185 */
+ L(1.02202775968053982310991962521535027e-36), /* 3f875bc72ca78abe571bfa8576aacc57 */
 
 /* x = 6.09375000000000000000000000000000000e-01 3ffe3800000000000000000000000000 */
 /* cos(x) = 0.d1ebe81a95ee752e48a26bcd32d6e922d7eb44b8ad2232f6930795e84b56317269b9dd1dfa6 */
- 8.20005899897234008255550633876556043e-01L, /* 3ffea3d7d0352bdcea5c9144d79a65ae */
--1.72008811955230823416724332297991247e-35L, /* bf8b6dd2814bb4752ddcd096cf86a17b */
+ L(8.20005899897234008255550633876556043e-01), /* 3ffea3d7d0352bdcea5c9144d79a65ae */
+-L(1.72008811955230823416724332297991247e-35), /* bf8b6dd2814bb4752ddcd096cf86a17b */
 /* sin(x) = 0.9285dc9bc45dd9ea3d02457bcce59c4175aab6ff7929a8d287195525fdace200dba032874fb */
- 5.72355068234507240384953706824503608e-01L, /* 3ffe250bb93788bbb3d47a048af799cb */
- 2.12572273479933123944580199464514529e-35L, /* 3f8bc4175aab6ff7929a8d2871955260 */
+ L(5.72355068234507240384953706824503608e-01), /* 3ffe250bb93788bbb3d47a048af799cb */
+ L(2.12572273479933123944580199464514529e-35), /* 3f8bc4175aab6ff7929a8d2871955260 */
 
 /* x = 6.17187500000000000000000000000000000e-01 3ffe3c00000000000000000000000000 */
 /* cos(x) = 0.d0c5394d772228195e25736c03574707de0af1ca344b13bd3914bfe27518e9e426f5deff1e1 */
- 8.15509396946375476876345384201386217e-01L, /* 3ffea18a729aee445032bc4ae6d806af */
--4.28589138410712954051679139949341961e-35L, /* bf8cc7c10fa871ae5da76216375a00ec */
+ L(8.15509396946375476876345384201386217e-01), /* 3ffea18a729aee445032bc4ae6d806af */
+-L(4.28589138410712954051679139949341961e-35), /* bf8cc7c10fa871ae5da76216375a00ec */
 /* sin(x) = 0.94288e48bd0335fc41c4cbd2920497a8f5d1d8185c99fa0081f90c27e2a53ffdd208a0dbe69 */
- 5.78743832357770354521111378581385347e-01L, /* 3ffe28511c917a066bf8838997a52409 */
- 1.77998063432551282609698670002456093e-35L, /* 3f8b7a8f5d1d8185c99fa0081f90c27e */
+ L(5.78743832357770354521111378581385347e-01), /* 3ffe28511c917a066bf8838997a52409 */
+ L(1.77998063432551282609698670002456093e-35), /* 3f8b7a8f5d1d8185c99fa0081f90c27e */
 
 /* x = 6.25000000000000000000000000000000000e-01 3ffe4000000000000000000000000000 */
 /* cos(x) = 0.cf9b476c897c25c5bfe750dd3f308eaf7bcc1ed00179a256870f4200445043dcdb1974b5878 */
- 8.10963119505217902189534803941080724e-01L, /* 3ffe9f368ed912f84b8b7fcea1ba7e61 */
- 1.10481292856794436426051402418804358e-35L, /* 3f8ad5ef7983da002f344ad0e1e84009 */
+ L(8.10963119505217902189534803941080724e-01), /* 3ffe9f368ed912f84b8b7fcea1ba7e61 */
+ L(1.10481292856794436426051402418804358e-35), /* 3f8ad5ef7983da002f344ad0e1e84009 */
 /* sin(x) = 0.95c8ef544210ec0b91c49bd2aa09e8515fa61a156ebb10f5f8c232a6445b61ebf3c2ec268f9 */
- 5.85097272940462154805399314150080459e-01L, /* 3ffe2b91dea88421d817238937a55414 */
--1.78164576278056195136525335403380464e-35L, /* bf8b7aea059e5ea9144ef0a073dcd59c */
+ L(5.85097272940462154805399314150080459e-01), /* 3ffe2b91dea88421d817238937a55414 */
+-L(1.78164576278056195136525335403380464e-35), /* bf8b7aea059e5ea9144ef0a073dcd59c */
 
 /* x = 6.32812500000000000000000000000000000e-01 3ffe4400000000000000000000000000 */
 /* cos(x) = 0.ce6e171f92f2e27f32225327ec440ddaefae248413efc0e58ceee1ae369aabe73f88c87ed1a */
- 8.06367345055103913698795406077297399e-01L, /* 3ffe9cdc2e3f25e5c4fe6444a64fd888 */
- 1.04235088143133625463876245029180850e-35L, /* 3f8abb5df5c490827df81cb19ddc35c7 */
+ L(8.06367345055103913698795406077297399e-01), /* 3ffe9cdc2e3f25e5c4fe6444a64fd888 */
+ L(1.04235088143133625463876245029180850e-35), /* 3f8abb5df5c490827df81cb19ddc35c7 */
 /* sin(x) = 0.9766f93cd18413a6aafc1cfc6fc28abb6817bf94ce349901ae3f48c3215d3eb60acc5f78903 */
- 5.91415002201316315087000225758031236e-01L, /* 3ffe2ecdf279a308274d55f839f8df85 */
- 8.07390238063560077355762466502569603e-36L, /* 3f8a576d02f7f299c6932035c7e91864 */
+ L(5.91415002201316315087000225758031236e-01), /* 3ffe2ecdf279a308274d55f839f8df85 */
+ L(8.07390238063560077355762466502569603e-36), /* 3f8a576d02f7f299c6932035c7e91864 */
 
 /* x = 6.40625000000000000000000000000000000e-01 3ffe4800000000000000000000000000 */
 /* cos(x) = 0.cd3dad1b5328a2e459f993f4f5108819faccbc4eeba9604e81c7adad51cc8a2561631a06826 */
- 8.01722354098418450607492605652964208e-01L, /* 3ffe9a7b5a36a65145c8b3f327e9ea21 */
- 6.09487851305233089325627939458963741e-36L, /* 3f8a033f599789dd752c09d038f5b5aa */
+ L(8.01722354098418450607492605652964208e-01), /* 3ffe9a7b5a36a65145c8b3f327e9ea21 */
+ L(6.09487851305233089325627939458963741e-36), /* 3f8a033f599789dd752c09d038f5b5aa */
 /* sin(x) = 0.9902a58a45e27bed68412b426b675ed503f54d14c8172e0d373f42cadf04daf67319a7f94be */
- 5.97696634538701531238647618967334337e-01L, /* 3ffe32054b148bc4f7dad0825684d6cf */
--2.49527608940873714527427941350461554e-35L, /* bf8c0957e0559759bf468f964605e9a9 */
+ L(5.97696634538701531238647618967334337e-01), /* 3ffe32054b148bc4f7dad0825684d6cf */
+-L(2.49527608940873714527427941350461554e-35), /* bf8c0957e0559759bf468f964605e9a9 */
 
 /* x = 6.48437500000000000000000000000000000e-01 3ffe4c00000000000000000000000000 */
 /* cos(x) = 0.cc0a0e21709883a3ff00911e11a07ee3bd7ea2b04e081be99be0264791170761ae64b8b744a */
- 7.97028430141468342004642741431945296e-01L, /* 3ffe98141c42e1310747fe01223c2341 */
--8.35364432831812599727083251866305534e-37L, /* bf871c42815d4fb1f7e416641fd9b86f */
+ L(7.97028430141468342004642741431945296e-01), /* 3ffe98141c42e1310747fe01223c2341 */
+-L(8.35364432831812599727083251866305534e-37), /* bf871c42815d4fb1f7e416641fd9b86f */
 /* sin(x) = 0.9a9bedcdf01b38d993f3d7820781de292033ead73b89e28f39313dbe3a6e463f845b5fa8490 */
- 6.03941786554156657267270287527367726e-01L, /* 3ffe3537db9be03671b327e7af040f04 */
--2.54578992328947177770363936132309779e-35L, /* bf8c0eb6fe60a94623b0eb863676120e */
+ L(6.03941786554156657267270287527367726e-01), /* 3ffe3537db9be03671b327e7af040f04 */
+-L(2.54578992328947177770363936132309779e-35), /* bf8c0eb6fe60a94623b0eb863676120e */
 
 /* x = 6.56250000000000000000000000000000000e-01 3ffe5000000000000000000000000000 */
 /* cos(x) = 0.cad33f00658fe5e8204bbc0f3a66a0e6a773f87987a780b243d7be83b3db1448ca0e0e62787 */
- 7.92285859677178543141501323781709399e-01L, /* 3ffe95a67e00cb1fcbd04097781e74cd */
- 2.47519558228473167879248891673807645e-35L, /* 3f8c07353b9fc3cc3d3c05921ebdf41e */
+ L(7.92285859677178543141501323781709399e-01), /* 3ffe95a67e00cb1fcbd04097781e74cd */
+ L(2.47519558228473167879248891673807645e-35), /* 3f8c07353b9fc3cc3d3c05921ebdf41e */
 /* sin(x) = 0.9c32cba2b14156ef05256c4f857991ca6a547cd7ceb1ac8a8e62a282bd7b9183648a462bd04 */
- 6.10150077075791371273742393566183220e-01L, /* 3ffe386597456282adde0a4ad89f0af3 */
- 1.33842237929938963780969418369150532e-35L, /* 3f8b1ca6a547cd7ceb1ac8a8e62a282c */
+ L(6.10150077075791371273742393566183220e-01), /* 3ffe386597456282adde0a4ad89f0af3 */
+ L(1.33842237929938963780969418369150532e-35), /* 3f8b1ca6a547cd7ceb1ac8a8e62a282c */
 
 /* x = 6.64062500000000000000000000000000000e-01 3ffe5400000000000000000000000000 */
 /* cos(x) = 0.c99944936cf48c8911ff93fe64b3ddb7981e414bdaf6aae1203577de44878c62bc3bc9cf7b9 */
- 7.87494932167606083931328295965533034e-01L, /* 3ffe93328926d9e9191223ff27fcc968 */
--2.57915385618070637156514241185180920e-35L, /* bf8c12433f0df5a1284aa8f6fe54410e */
+ L(7.87494932167606083931328295965533034e-01), /* 3ffe93328926d9e9191223ff27fcc968 */
+-L(2.57915385618070637156514241185180920e-35), /* bf8c12433f0df5a1284aa8f6fe54410e */
 /* sin(x) = 0.9dc738ad14204e689ac582d0f85826590feece34886cfefe2e08cf2bb8488d55424dc9d3525 */
- 6.16321127181550943005700433761731837e-01L, /* 3ffe3b8e715a28409cd1358b05a1f0b0 */
- 2.88497530050197716298085892460478666e-35L, /* 3f8c32c87f7671a44367f7f17046795e */
+ L(6.16321127181550943005700433761731837e-01), /* 3ffe3b8e715a28409cd1358b05a1f0b0 */
+ L(2.88497530050197716298085892460478666e-35), /* 3f8c32c87f7671a44367f7f17046795e */
 
 /* x = 6.71875000000000000000000000000000000e-01 3ffe5800000000000000000000000000 */
 /* cos(x) = 0.c85c23c26ed7b6f014ef546c47929682122876bfbf157de0aff3c4247d820c746e32cd4174f */
- 7.82655940026272796930787447428139026e-01L, /* 3ffe90b84784ddaf6de029dea8d88f25 */
- 1.69332045679237919427807771288506254e-35L, /* 3f8b682122876bfbf157de0aff3c4248 */
+ L(7.82655940026272796930787447428139026e-01), /* 3ffe90b84784ddaf6de029dea8d88f25 */
+ L(1.69332045679237919427807771288506254e-35), /* 3f8b682122876bfbf157de0aff3c4248 */
 /* sin(x) = 0.9f592e9b66a9cf906a3c7aa3c10199849040c45ec3f0a747597311038101780c5f266059dbf */
- 6.22454560222343683041926705090443330e-01L, /* 3ffe3eb25d36cd539f20d478f5478203 */
- 1.91974786921147072717621236192269859e-35L, /* 3f8b9849040c45ec3f0a747597311038 */
+ L(6.22454560222343683041926705090443330e-01), /* 3ffe3eb25d36cd539f20d478f5478203 */
+ L(1.91974786921147072717621236192269859e-35), /* 3f8b9849040c45ec3f0a747597311038 */
 
 /* x = 6.79687500000000000000000000000000000e-01 3ffe5c00000000000000000000000000 */
 /* cos(x) = 0.c71be181ecd6875ce2da5615a03cca207d9adcb9dfb0a1d6c40a4f0056437f1a59ccddd06ee */
- 7.77769178600317903122203513685412863e-01L, /* 3ffe8e37c303d9ad0eb9c5b4ac2b407a */
--4.05296033424632846931240580239929672e-35L, /* bf8caefc13291a31027af149dfad87fd */
+ L(7.77769178600317903122203513685412863e-01), /* 3ffe8e37c303d9ad0eb9c5b4ac2b407a */
+-L(4.05296033424632846931240580239929672e-35), /* bf8caefc13291a31027af149dfad87fd */
 /* sin(x) = 0.a0e8a725d33c828c11fa50fd9e9a15ffecfad43f3e534358076b9b0f6865694842b1e8c67dc */
- 6.28550001845029662028004327939032867e-01L, /* 3ffe41d14e4ba679051823f4a1fb3d34 */
- 1.65507421184028099672784511397428852e-35L, /* 3f8b5ffecfad43f3e534358076b9b0f7 */
+ L(6.28550001845029662028004327939032867e-01), /* 3ffe41d14e4ba679051823f4a1fb3d34 */
+ L(1.65507421184028099672784511397428852e-35), /* 3f8b5ffecfad43f3e534358076b9b0f7 */
 
 /* x = 6.87500000000000000000000000000000000e-01 3ffe6000000000000000000000000000 */
 /* cos(x) = 0.c5d882d2ee48030c7c07d28e981e34804f82ed4cf93655d2365389b716de6ad44676a1cc5da */
- 7.72834946152471544810851845913425178e-01L, /* 3ffe8bb105a5dc900618f80fa51d303c */
- 3.94975229341211664237241534741146939e-35L, /* 3f8ca4027c176a67c9b2ae91b29c4db9 */
+ L(7.72834946152471544810851845913425178e-01), /* 3ffe8bb105a5dc900618f80fa51d303c */
+ L(3.94975229341211664237241534741146939e-35), /* 3f8ca4027c176a67c9b2ae91b29c4db9 */
 /* sin(x) = 0.a2759c0e79c35582527c32b55f5405c182c66160cb1d9eb7bb0b7cdf4ad66f317bda4332914 */
- 6.34607080015269296850309914203671436e-01L, /* 3ffe44eb381cf386ab04a4f8656abea8 */
- 4.33025916939968369326060156455927002e-36L, /* 3f897060b1985832c767adeec2df37d3 */
+ L(6.34607080015269296850309914203671436e-01), /* 3ffe44eb381cf386ab04a4f8656abea8 */
+ L(4.33025916939968369326060156455927002e-36), /* 3f897060b1985832c767adeec2df37d3 */
 
 /* x = 6.95312500000000000000000000000000000e-01 3ffe6400000000000000000000000000 */
 /* cos(x) = 0.c4920cc2ec38fb891b38827db08884fc66371ac4c2052ca8885b981bbcfd3bb7b093ee31515 */
- 7.67853543842850365879920759114193964e-01L, /* 3ffe89241985d871f712367104fb6111 */
- 3.75100035267325597157244776081706979e-36L, /* 3f893f198dc6b130814b2a2216e606ef */
+ L(7.67853543842850365879920759114193964e-01), /* 3ffe89241985d871f712367104fb6111 */
+ L(3.75100035267325597157244776081706979e-36), /* 3f893f198dc6b130814b2a2216e606ef */
 /* sin(x) = 0.a400072188acf49cd6b173825e038346f105e1301afe642bcc364cea455e21e506e3e927ed8 */
- 6.40625425040230409188409779413961021e-01L, /* 3ffe48000e431159e939ad62e704bc07 */
- 2.46542747294664049615806500747173281e-36L, /* 3f88a37882f0980d7f3215e61b267523 */
+ L(6.40625425040230409188409779413961021e-01), /* 3ffe48000e431159e939ad62e704bc07 */
+ L(2.46542747294664049615806500747173281e-36), /* 3f88a37882f0980d7f3215e61b267523 */
 
 /* x = 7.03125000000000000000000000000000000e-01 3ffe6800000000000000000000000000 */
 /* cos(x) = 0.c348846bbd3631338ffe2bfe9dd1381a35b4e9c0c51b4c13fe376bad1bf5caacc4542be0aa9 */
- 7.62825275710576250507098753625429792e-01L, /* 3ffe869108d77a6c62671ffc57fd3ba2 */
- 4.22067411888601505004748939382325080e-35L, /* 3f8cc0d1ada74e0628da609ff1bb5d69 */
+ L(7.62825275710576250507098753625429792e-01), /* 3ffe869108d77a6c62671ffc57fd3ba2 */
+ L(4.22067411888601505004748939382325080e-35), /* 3f8cc0d1ada74e0628da609ff1bb5d69 */
 /* sin(x) = 0.a587e23555bb08086d02b9c662cdd29316c3e9bd08d93793634a21b1810cce73bdb97a99b9e */
- 6.46604669591152370524042159882800763e-01L, /* 3ffe4b0fc46aab761010da05738cc59c */
--3.41742981816219412415674365946079826e-35L, /* bf8c6b6749e0b217b9364364e5aef274 */
+ L(6.46604669591152370524042159882800763e-01), /* 3ffe4b0fc46aab761010da05738cc59c */
+-L(3.41742981816219412415674365946079826e-35), /* bf8c6b6749e0b217b9364364e5aef274 */
 
 /* x = 7.10937500000000000000000000000000000e-01 3ffe6c00000000000000000000000000 */
 /* cos(x) = 0.c1fbeef380e4ffdd5a613ec8722f643ffe814ec2343e53adb549627224fdc9f2a7b77d3d69f */
- 7.57750448655219342240234832230493361e-01L, /* 3ffe83f7dde701c9ffbab4c27d90e45f */
--2.08767968311222650582659938787920125e-35L, /* bf8bbc0017eb13dcbc1ac524ab69d8de */
+ L(7.57750448655219342240234832230493361e-01), /* 3ffe83f7dde701c9ffbab4c27d90e45f */
+-L(2.08767968311222650582659938787920125e-35), /* bf8bbc0017eb13dcbc1ac524ab69d8de */
 /* sin(x) = 0.a70d272a76a8d4b6da0ec90712bb748b96dabf88c3079246f3db7eea6e58ead4ed0e2843303 */
- 6.52544448725765956407573982284767763e-01L, /* 3ffe4e1a4e54ed51a96db41d920e2577 */
--8.61758060284379660697102362141557170e-36L, /* bf8a6e8d24a80ee79f0db721849022b2 */
+ L(6.52544448725765956407573982284767763e-01), /* 3ffe4e1a4e54ed51a96db41d920e2577 */
+-L(8.61758060284379660697102362141557170e-36), /* bf8a6e8d24a80ee79f0db721849022b2 */
 
 /* x = 7.18750000000000000000000000000000000e-01 3ffe7000000000000000000000000000 */
 /* cos(x) = 0.c0ac518c8b6ae710ba37a3eeb90cb15aebcb8bed4356fb507a48a6e97de9aa6d9660116b436 */
- 7.52629372418066476054541324847143116e-01L, /* 3ffe8158a31916d5ce21746f47dd7219 */
- 3.71306958657663189665450864311104571e-35L, /* 3f8c8ad75e5c5f6a1ab7da83d245374c */
+ L(7.52629372418066476054541324847143116e-01), /* 3ffe8158a31916d5ce21746f47dd7219 */
+ L(3.71306958657663189665450864311104571e-35), /* 3f8c8ad75e5c5f6a1ab7da83d245374c */
 /* sin(x) = 0.a88fcfebd9a8dd47e2f3c76ef9e2439920f7e7fbe735f8bcc985491ec6f12a2d4214f8cfa99 */
- 6.58444399910567541589583954884041989e-01L, /* 3ffe511f9fd7b351ba8fc5e78eddf3c5 */
--4.54412944084300330523721391865787219e-35L, /* bf8ce336f840c020c6503a19b3d5b70a */
+ L(6.58444399910567541589583954884041989e-01), /* 3ffe511f9fd7b351ba8fc5e78eddf3c5 */
+-L(4.54412944084300330523721391865787219e-35), /* bf8ce336f840c020c6503a19b3d5b70a */
 
 /* x = 7.26562500000000000000000000000000000e-01 3ffe7400000000000000000000000000 */
 /* cos(x) = 0.bf59b17550a4406875969296567cf3e3b4e483061877c02811c6cae85fad5a6c3da58f49292 */
- 7.47462359563216166669700384714767552e-01L, /* 3ffe7eb362eaa14880d0eb2d252cacfa */
--9.11094340926220027288083639048016945e-36L, /* bf8a8389636f9f3cf107fafdc726a2f4 */
+ L(7.47462359563216166669700384714767552e-01), /* 3ffe7eb362eaa14880d0eb2d252cacfa */
+-L(9.11094340926220027288083639048016945e-36), /* bf8a8389636f9f3cf107fafdc726a2f4 */
 /* sin(x) = 0.aa0fd66eddb921232c28520d3911b8a03193b47f187f1471ac216fbcd5bb81029294d3a73f1 */
- 6.64304163042946276515506587432846246e-01L, /* 3ffe541facddbb7242465850a41a7223 */
- 4.26004843895378210155889028714676019e-35L, /* 3f8cc5018c9da3f8c3f8a38d610b7de7 */
+ L(6.64304163042946276515506587432846246e-01), /* 3ffe541facddbb7242465850a41a7223 */
+ L(4.26004843895378210155889028714676019e-35), /* 3f8cc5018c9da3f8c3f8a38d610b7de7 */
 
 /* x = 7.34375000000000000000000000000000000e-01 3ffe7800000000000000000000000000 */
 /* cos(x) = 0.be0413f84f2a771c614946a88cbf4da1d75a5560243de8f2283fefa0ea4a48468a52d51d8b3 */
- 7.42249725458501306991347253449610537e-01L, /* 3ffe7c0827f09e54ee38c2928d51197f */
--3.78925270049800913539923473871287550e-35L, /* bf8c92f1452d54fede10b86ebe0082f9 */
+ L(7.42249725458501306991347253449610537e-01), /* 3ffe7c0827f09e54ee38c2928d51197f */
+-L(3.78925270049800913539923473871287550e-35), /* bf8c92f1452d54fede10b86ebe0082f9 */
 /* sin(x) = 0.ab8d34b36acd987210ed343ec65d7e3adc2e7109fce43d55c8d57dfdf55b9e01d2cc1f1b9ec */
- 6.70123380473162894654531583500648495e-01L, /* 3ffe571a6966d59b30e421da687d8cbb */
--1.33165852952743729897634069393684656e-36L, /* bf87c523d18ef6031bc2aa372a82020b */
+ L(6.70123380473162894654531583500648495e-01), /* 3ffe571a6966d59b30e421da687d8cbb */
+-L(1.33165852952743729897634069393684656e-36), /* bf87c523d18ef6031bc2aa372a82020b */
 
 /* x = 7.42187500000000000000000000000000000e-01 3ffe7c00000000000000000000000000 */
 /* cos(x) = 0.bcab7e6bfb2a14a9b122c574a376bec98ab14808c64a4e731b34047e217611013ac99c0f25d */
- 7.36991788256240741057089385586450844e-01L, /* 3ffe7956fcd7f654295362458ae946ed */
- 4.72358938637974850573747497460125519e-35L, /* 3f8cf64c558a404632527398d9a023f1 */
+ L(7.36991788256240741057089385586450844e-01), /* 3ffe7956fcd7f654295362458ae946ed */
+ L(4.72358938637974850573747497460125519e-35), /* 3f8cf64c558a404632527398d9a023f1 */
 /* sin(x) = 0.ad07e4c409d08c4fa3a9057bb0ac24b8636e74e76f51e09bd6b2319707cbd9f5e254643897a */
- 6.75901697026178809189642203142423973e-01L, /* 3ffe5a0fc98813a1189f47520af76158 */
- 2.76252586616364878801928456702948857e-35L, /* 3f8c25c31b73a73b7a8f04deb5918cb8 */
+ L(6.75901697026178809189642203142423973e-01), /* 3ffe5a0fc98813a1189f47520af76158 */
+ L(2.76252586616364878801928456702948857e-35), /* 3f8c25c31b73a73b7a8f04deb5918cb8 */
 
 /* x = 7.50000000000000000000000000000000000e-01 3ffe8000000000000000000000000000 */
 /* cos(x) = 0.bb4ff632a908f73ec151839cb9d993b4e0bfb8f20e7e44e6e4aee845e35575c3106dbe6fd06 */
- 7.31688868873820886311838753000084529e-01L, /* 3ffe769fec655211ee7d82a3073973b3 */
- 1.48255637548931697184991710293198620e-35L, /* 3f8b3b4e0bfb8f20e7e44e6e4aee845e */
+ L(7.31688868873820886311838753000084529e-01), /* 3ffe769fec655211ee7d82a3073973b3 */
+ L(1.48255637548931697184991710293198620e-35), /* 3f8b3b4e0bfb8f20e7e44e6e4aee845e */
 /* sin(x) = 0.ae7fe0b5fc786b2d966e1d6af140a488476747c2646425fc7533f532cd044cb10a971a49a6a */
- 6.81638760023334166733241952779893908e-01L, /* 3ffe5cffc16bf8f0d65b2cdc3ad5e281 */
- 2.74838775935027549024224114338667371e-35L, /* 3f8c24423b3a3e1323212fe3a99fa996 */
+ L(6.81638760023334166733241952779893908e-01), /* 3ffe5cffc16bf8f0d65b2cdc3ad5e281 */
+ L(2.74838775935027549024224114338667371e-35), /* 3f8c24423b3a3e1323212fe3a99fa996 */
 
 /* x = 7.57812500000000000000000000000000000e-01 3ffe8400000000000000000000000000 */
 /* cos(x) = 0.b9f180ba77dd0751628e135a9508299012230f14becacdd14c3f8862d122de5b56d55b53360 */
- 7.26341290974108590410147630237598973e-01L, /* 3ffe73e30174efba0ea2c51c26b52a10 */
- 3.12683579338351123545814364980658990e-35L, /* 3f8c4c80911878a5f6566e8a61fc4317 */
+ L(7.26341290974108590410147630237598973e-01), /* 3ffe73e30174efba0ea2c51c26b52a10 */
+ L(3.12683579338351123545814364980658990e-35), /* 3f8c4c80911878a5f6566e8a61fc4317 */
 /* sin(x) = 0.aff522a954f2ba16d9defdc416e33f5e9a5dfd5a6c228e0abc4d521327ff6e2517a7b3851dd */
- 6.87334219303873534951703613035647220e-01L, /* 3ffe5fea4552a9e5742db3bdfb882dc6 */
- 4.76739454455410744997012795035529128e-35L, /* 3f8cfaf4d2efead361147055e26a9099 */
+ L(6.87334219303873534951703613035647220e-01), /* 3ffe5fea4552a9e5742db3bdfb882dc6 */
+ L(4.76739454455410744997012795035529128e-35), /* 3f8cfaf4d2efead361147055e26a9099 */
 
 /* x = 7.65625000000000000000000000000000000e-01 3ffe8800000000000000000000000000 */
 /* cos(x) = 0.b890237d3bb3c284b614a0539016bfa1053730bbdf940fa895e185f8e58884d3dda15e63371 */
- 7.20949380945696418043812784148447688e-01L, /* 3ffe712046fa776785096c2940a7202d */
- 4.78691285733673379499536326050811832e-35L, /* 3f8cfd0829b985defca07d44af0c2fc7 */
+ L(7.20949380945696418043812784148447688e-01), /* 3ffe712046fa776785096c2940a7202d */
+ L(4.78691285733673379499536326050811832e-35), /* 3f8cfd0829b985defca07d44af0c2fc7 */
 /* sin(x) = 0.b167a4c90d63c4244cf5493b7cc23bd3c3c1225e078baa0c53d6d400b926281f537a1a260e6 */
- 6.92987727246317910281815490823048210e-01L, /* 3ffe62cf49921ac7884899ea9276f984 */
- 4.50089871077663557180849219529189918e-35L, /* 3f8cde9e1e0912f03c5d50629eb6a006 */
+ L(6.92987727246317910281815490823048210e-01), /* 3ffe62cf49921ac7884899ea9276f984 */
+ L(4.50089871077663557180849219529189918e-35), /* 3f8cde9e1e0912f03c5d50629eb6a006 */
 
 /* x = 7.73437500000000000000000000000000000e-01 3ffe8c00000000000000000000000000 */
 /* cos(x) = 0.b72be40067aaf2c050dbdb7a14c3d7d4f203f6b3f0224a4afe55d6ec8e92b508fd5c5984b3b */
- 7.15513467882981573520620561289896903e-01L, /* 3ffe6e57c800cf55e580a1b7b6f42988 */
--3.02191815581445336509438104625489192e-35L, /* bf8c41586fe04a607eedada80d51489c */
+ L(7.15513467882981573520620561289896903e-01), /* 3ffe6e57c800cf55e580a1b7b6f42988 */
+-L(3.02191815581445336509438104625489192e-35), /* bf8c41586fe04a607eedada80d51489c */
 /* sin(x) = 0.b2d7614b1f3aaa24df2d6e20a77e1ca3e6d838c03e29c1bcb026e6733324815fadc9eb89674 */
- 6.98598938789681741301929277107891591e-01L, /* 3ffe65aec2963e755449be5adc414efc */
- 2.15465226809256290914423429408722521e-35L, /* 3f8bca3e6d838c03e29c1bcb026e6733 */
+ L(6.98598938789681741301929277107891591e-01), /* 3ffe65aec2963e755449be5adc414efc */
+ L(2.15465226809256290914423429408722521e-35), /* 3f8bca3e6d838c03e29c1bcb026e6733 */
 
 /* x = 7.81250000000000000000000000000000000e-01 3ffe9000000000000000000000000000 */
 /* cos(x) = 0.b5c4c7d4f7dae915ac786ccf4b1a498d3e73b6e5e74fe7519d9c53ee6d6b90e881bddfc33e1 */
- 7.10033883566079674974121643959490219e-01L, /* 3ffe6b898fa9efb5d22b58f0d99e9635 */
--4.09623224763692443220896752907902465e-35L, /* bf8cb3960c6248d0c580c573131d608d */
+ L(7.10033883566079674974121643959490219e-01), /* 3ffe6b898fa9efb5d22b58f0d99e9635 */
+-L(4.09623224763692443220896752907902465e-35), /* bf8cb3960c6248d0c580c573131d608d */
 /* sin(x) = 0.b44452709a59752905913765434a59d111f0433eb2b133f7d103207e2aeb4aae111ddc385b3 */
- 7.04167511454533672780059509973942844e-01L, /* 3ffe6888a4e134b2ea520b226eca8695 */
--2.87259372740393348676633610275598640e-35L, /* bf8c3177707de60a6a76604177e6fc0f */
+ L(7.04167511454533672780059509973942844e-01), /* 3ffe6888a4e134b2ea520b226eca8695 */
+-L(2.87259372740393348676633610275598640e-35), /* bf8c3177707de60a6a76604177e6fc0f */
 
 /* x = 7.89062500000000000000000000000000000e-01 3ffe9400000000000000000000000000 */
 /* cos(x) = 0.b45ad4975b1294cadca4cf40ec8f22a68cd14b175835239a37e63acb85e8e9505215df18140 */
- 7.04510962440574606164129481545916976e-01L, /* 3ffe68b5a92eb6252995b9499e81d91e */
- 2.60682037357042658395360726992048803e-35L, /* 3f8c1534668a58bac1a91cd1bf31d65c */
+ L(7.04510962440574606164129481545916976e-01), /* 3ffe68b5a92eb6252995b9499e81d91e */
+ L(2.60682037357042658395360726992048803e-35), /* 3f8c1534668a58bac1a91cd1bf31d65c */
 /* sin(x) = 0.b5ae7285bc10cf515753847e8f8b7a30e0a580d929d770103509880680f7b8b0e8ad23b65d8 */
- 7.09693105363899724959669028139035515e-01L, /* 3ffe6b5ce50b78219ea2aea708fd1f17 */
--4.37026016974122945368562319136420097e-36L, /* bf8973c7d69fc9b58a23fbf2bd9dfe60 */
+ L(7.09693105363899724959669028139035515e-01), /* 3ffe6b5ce50b78219ea2aea708fd1f17 */
+-L(4.37026016974122945368562319136420097e-36), /* bf8973c7d69fc9b58a23fbf2bd9dfe60 */
 };
diff --git a/sysdeps/ieee754/ldbl-128/x2y2m1l.c b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
index 963a8da..acc3143 100644
--- a/sysdeps/ieee754/ldbl-128/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
@@ -62,7 +62,7 @@ __x2y2m1l (ldouble_t x, ldouble_t y)
   SET_RESTORE_ROUNDL (FE_TONEAREST);
   mul_split (&vals[1], &vals[0], x, x);
   mul_split (&vals[3], &vals[2], y, y);
-  vals[4] = -1.0L;
+  vals[4] = -1;
   qsort (vals, 5, sizeof (ldouble_t), compare);
   /* Add up the values so that each element of VALS has absolute value
      at most equal to the last set bit of the next nonzero
-- 
2.4.11

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c
  2016-08-16 17:02 ` [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c Paul E. Murphy
@ 2016-08-16 18:03   ` Joseph Myers
  2016-08-17 19:11     ` Paul E. Murphy
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 18:03 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> This did not alter compilation for s390x and aarch64
> targets.
> 
> 	* sysdeps/ieee754/ldbl-128/e_asinl.c:
> 	Remove unused sqrtl declaration.

OK.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/6] ldbl-128: Simplify fma usage
  2016-08-16 17:02 ` [PATCH 1/6] ldbl-128: Simplify fma usage Paul E. Murphy
@ 2016-08-16 18:03   ` Joseph Myers
  2016-08-17 19:24     ` Paul E. Murphy
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 18:03 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> Several ldbl-128 files share identical code which does
> not ammend itself to the macro renaming necessary to
> support building with another type.
> 
> This moves the duplicated function mul_split into its
> own header, and refactors the fma usage into a single
> selection macro.

This seems like something that if done for one type, should be done for 
all types together (optionally also removing the "compiler before GCC 4.6" 
cases as no longer relevant to building glibc).

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t'
  2016-08-16 17:02 ` [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t' Paul E. Murphy
@ 2016-08-16 18:10   ` Joseph Myers
  2016-08-16 18:50     ` Paul E. Murphy
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 18:10 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> Add a layer of macro indirection for long double files
> which need to be built using another typename.  Likewise,
> add the L(num) macro used in a later patch to override
> real constants.
> 
> These changes produce identical binaries for s390x and
> aarch64.
> 
> 	* sysdeps/generic/math_private.h:
> 	[!__LDOUBLE_T_OVERRIDDEN] (ldouble_t): New default macro
> 	alias for long double.
> 	[!__LDOUBLE_T_OVERRIDDEN] (L): New default macro to apply
> 	long double literal suffix.

I don't think ldouble_t is the right name here; it could be confused with 
long_double_t, the type name added by TS 18661-3 for a type with the 
evaluation format used for long double.

I think the right name to use is _Float128; that name unambiguously 
relates to the format these functions are written for.  (When we can 
assume a compiler with _FloatN / _FloatNx support, the ideal would be that 
these functions always define the associated _Float128 function names, use 
*f128 constants directly, etc., and may or may not, depending on the glibc 
configuration, also have aliases with the long double names, with 
_Float64x names or with both sets of names.  This series is of course only 
achieving an interim step towards such a goal which isn't possible yet, 
but there should be no problem using the _Float128 name for the macro 
now.)

> diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
> index 08b04e0..15f1efc 100644
> --- a/sysdeps/generic/math_private.h
> +++ b/sysdeps/generic/math_private.h
> @@ -185,6 +185,13 @@ do {								\
>     ldbl-128 files as another type (e.g _Float128).  */
>  #define mathx_hidden_def(name) hidden_def(name)
>  
> +/* These hooks let us override certain long double files using
> +   a different type (e.g building ldbl-128 as _Float128).  */
> +#ifndef __LDOUBLE_T_OVERRIDDEN
> +# define ldouble_t long double
> +# define L(x) x##L
> +#endif

I don't think this header is the right place for something entirely 
specific to the ldbl-128 function implementations.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants
  2016-08-16 17:03 ` [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants Paul E. Murphy
@ 2016-08-16 18:13   ` Joseph Myers
  2016-08-16 19:19     ` Paul E. Murphy
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 18:13 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

This is a case where the script that generated the patch is as important 
for review as the patch itself.  If there are some automated and some 
manual changes, they need separating, e.g. a patch for using integer 
constants separate from a patch converting remaining *L constants to use 
the macro.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/6] Make shared ldbl files more shareable.
  2016-08-16 17:02 ` [PATCH 6/6] Make shared ldbl files more shareable Paul E. Murphy
@ 2016-08-16 18:15   ` Joseph Myers
  0 siblings, 0 replies; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 18:15 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> 	* math/s_fdiml.c: (__fdiml): Likewise.

Some functions here, such as fdim, seem like good candidates to convert to 
the type-generic infrastructure used for complex functions, rather than 
making special changes just to the long double versions.

> 	* math/k_rem_pio2l.c: (__kernel_rem_pio2l): Replace
> 	long double with ldouble_t.

Nothing ever needs this function.  Replace the file with just a comment 
and you can get rid of various architecture-specific variants that do just 
that.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t'
  2016-08-16 18:10   ` Joseph Myers
@ 2016-08-16 18:50     ` Paul E. Murphy
  2016-08-16 20:50       ` Joseph Myers
  0 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 18:50 UTC (permalink / raw)
  To: Joseph Myers; +Cc: libc-alpha



On 08/16/2016 01:10 PM, Joseph Myers wrote:
> On Tue, 16 Aug 2016, Paul E. Murphy wrote:
> 
>> Add a layer of macro indirection for long double files
>> which need to be built using another typename.  Likewise,
>> add the L(num) macro used in a later patch to override
>> real constants.
>>
>> These changes produce identical binaries for s390x and
>> aarch64.
>>
>> 	* sysdeps/generic/math_private.h:
>> 	[!__LDOUBLE_T_OVERRIDDEN] (ldouble_t): New default macro
>> 	alias for long double.
>> 	[!__LDOUBLE_T_OVERRIDDEN] (L): New default macro to apply
>> 	long double literal suffix.
> 
> I don't think ldouble_t is the right name here; it could be confused with 
> long_double_t, the type name added by TS 18661-3 for a type with the 
> evaluation format used for long double.
> 
> I think the right name to use is _Float128; that name unambiguously 
> relates to the format these functions are written for.  (When we can 
> assume a compiler with _FloatN / _FloatNx support, the ideal would be that 
> these functions always define the associated _Float128 function names, use 
> *f128 constants directly, etc., and may or may not, depending on the glibc 
> configuration, also have aliases with the long double names, with 
> _Float64x names or with both sets of names.  This series is of course only 
> achieving an interim step towards such a goal which isn't possible yet, 
> but there should be no problem using the _Float128 name for the macro 
> now.)

That was my original thought, but it begs the question of why the
implementation should reside in ldbl-128 folder.

Likewise, other long double formats do include some ldbl-128 files
with the intent of building them using the native long double format
(e.g ldbl-128ibm e_j0l.c).  Thus, calling such a macro _Float128 is
misleading, or wrong, in those circumstances.

I have no objection to calling it another name maybe m_ldouble, or
LONG_DOUBLE.

> 
>> diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
>> index 08b04e0..15f1efc 100644
>> --- a/sysdeps/generic/math_private.h
>> +++ b/sysdeps/generic/math_private.h
>> @@ -185,6 +185,13 @@ do {								\
>>     ldbl-128 files as another type (e.g _Float128).  */
>>  #define mathx_hidden_def(name) hidden_def(name)
>>  
>> +/* These hooks let us override certain long double files using
>> +   a different type (e.g building ldbl-128 as _Float128).  */
>> +#ifndef __LDOUBLE_T_OVERRIDDEN
>> +# define ldouble_t long double
>> +# define L(x) x##L
>> +#endif
> 
> I don't think this header is the right place for something entirely 
> specific to the ldbl-128 function implementations.

Ultimately, this will be needed to build the ldbl-128ibm under whatever
typename emerges when transitioning the ppc64le long double format.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants
  2016-08-16 18:13   ` Joseph Myers
@ 2016-08-16 19:19     ` Paul E. Murphy
  2016-08-16 20:55       ` Joseph Myers
  0 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-16 19:19 UTC (permalink / raw)
  To: Joseph Myers; +Cc: libc-alpha



On 08/16/2016 01:12 PM, Joseph Myers wrote:
> This is a case where the script that generated the patch is as important 
> for review as the patch itself.  If there are some automated and some 
> manual changes, they need separating, e.g. a patch for using integer 
> constants separate from a patch converting remaining *L constants to use 
> the macro.
>

Do the means to arrive at the patch really matter?  I honestly didn't keep
track of them since most were ad-hoc regex replacements.  I walked through
each file and applied, and fixed as necessary.  These files did not lend
themselves well to simple regex replacement.  I walked through these changes
in a graphical difftool (meld) as looking at a unified diff is both
tedious and error prone.

Moreso, is the generic naming and usage of the L(x) macro acceptable?  If
so, I can rework into smaller changes once we find general consensus on
how to share these files with float128.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t'
  2016-08-16 18:50     ` Paul E. Murphy
@ 2016-08-16 20:50       ` Joseph Myers
  0 siblings, 0 replies; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 20:50 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> > I think the right name to use is _Float128; that name unambiguously 
> > relates to the format these functions are written for.  (When we can 
> > assume a compiler with _FloatN / _FloatNx support, the ideal would be that 
> > these functions always define the associated _Float128 function names, use 
> > *f128 constants directly, etc., and may or may not, depending on the glibc 
> > configuration, also have aliases with the long double names, with 
> > _Float64x names or with both sets of names.  This series is of course only 
> > achieving an interim step towards such a goal which isn't possible yet, 
> > but there should be no problem using the _Float128 name for the macro 
> > now.)
> 
> That was my original thought, but it begs the question of why the
> implementation should reside in ldbl-128 folder.

My answer is that ideally it wouldn't; see the sort of directory structure 
I suggested in 
<https://sourceware.org/ml/libc-alpha/2016-05/msg00092.html>.  But that's 
what things would look like ideally, eventually, not something necessarily 
required to achieve support for _Float128 as an additional type.

> Likewise, other long double formats do include some ldbl-128 files
> with the intent of building them using the native long double format
> (e.g ldbl-128ibm e_j0l.c).  Thus, calling such a macro _Float128 is
> misleading, or wrong, in those circumstances.

And maybe just those few files, written for this format but also used for 
ldbl-128ibm, would use another layer of indirection for their types.  
_Float128 is logically correct for the vast bulk of the ldbl-128 
functions.

(Strictly, of course, _Float128 is a separate type from long double on 
platforms where they have the same representation.  Juggling the types and 
function names to avoid issues declaring a long double function with the 
wrong type is something that would need to be done by whoever adds support 
for *f128 aliases for *l functions on such platforms, but that's not part 
of what you need to do here.)

> >> diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
> >> index 08b04e0..15f1efc 100644
> >> --- a/sysdeps/generic/math_private.h
> >> +++ b/sysdeps/generic/math_private.h
> >> @@ -185,6 +185,13 @@ do {								\
> >>     ldbl-128 files as another type (e.g _Float128).  */
> >>  #define mathx_hidden_def(name) hidden_def(name)
> >>  
> >> +/* These hooks let us override certain long double files using
> >> +   a different type (e.g building ldbl-128 as _Float128).  */
> >> +#ifndef __LDOUBLE_T_OVERRIDDEN
> >> +# define ldouble_t long double
> >> +# define L(x) x##L
> >> +#endif
> > 
> > I don't think this header is the right place for something entirely 
> > specific to the ldbl-128 function implementations.
> 
> Ultimately, this will be needed to build the ldbl-128ibm under whatever
> typename emerges when transitioning the ppc64le long double format.

I don't see that as needed (in a generic header, anyway; no doubt 
something will be needed in a header specific to ldbl-128ibm).  
ldbl-128ibm could always be built with an appropriate -mabi option to 
select IBM long double, or using __ibm128 and any constant suffix you add 
for the purpose.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants
  2016-08-16 19:19     ` Paul E. Murphy
@ 2016-08-16 20:55       ` Joseph Myers
  0 siblings, 0 replies; 19+ messages in thread
From: Joseph Myers @ 2016-08-16 20:55 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Tue, 16 Aug 2016, Paul E. Murphy wrote:

> On 08/16/2016 01:12 PM, Joseph Myers wrote:
> > This is a case where the script that generated the patch is as important 
> > for review as the patch itself.  If there are some automated and some 
> > manual changes, they need separating, e.g. a patch for using integer 
> > constants separate from a patch converting remaining *L constants to use 
> > the macro.
> 
> Do the means to arrive at the patch really matter?  I honestly didn't keep
> track of them since most were ad-hoc regex replacements.  I walked through
> each file and applied, and fixed as necessary.  These files did not lend
> themselves well to simple regex replacement.  I walked through these changes
> in a graphical difftool (meld) as looking at a unified diff is both
> tedious and error prone.

It's a matter of reviewability, as I said in 
<https://sourceware.org/ml/libc-alpha/2016-05/msg00092.html> - "It's 
critical that the conversion is scripted, as reviewability of the 
conversion will mean that what's reviewed must be a small clean script 
that does the conversion and maybe a small subsequent fix-up patch, not an 
enormous patch with massive semi-automatic source changes which are 
effectively unreviewable.".

C can readily be lexed in a script by regular expressions that identify 
comments, string and character constants, and tokens to sufficient 
accuracy to find floating constants, given that real code shouldn't do 
anything particularly tricky such as backslash-newline (or ??/-newline, 
with a trigraph for backslash) between '/' and '*' starting a comment or 
'*' and '/' ending a comment (so effectively you don't need to do anything 
about backslash-newline when lexing).

> Moreso, is the generic naming and usage of the L(x) macro acceptable?  If
> so, I can rework into smaller changes once we find general consensus on
> how to share these files with float128.

I think that name and usage are OK (given that it's only used within 
ldbl-128 and not defined outside of users of that code).

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c
  2016-08-16 18:03   ` Joseph Myers
@ 2016-08-17 19:11     ` Paul E. Murphy
  0 siblings, 0 replies; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-17 19:11 UTC (permalink / raw)
  To: libc-alpha; +Cc: Joseph Myers



On 08/16/2016 01:03 PM, Joseph Myers wrote:
> On Tue, 16 Aug 2016, Paul E. Murphy wrote:
> 
>> This did not alter compilation for s390x and aarch64
>> targets.
>>
>> 	* sysdeps/ieee754/ldbl-128/e_asinl.c:
>> 	Remove unused sqrtl declaration.
> 
> OK.
> 

Committed as ee19f1d.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/6] ldbl-128: Simplify fma usage
  2016-08-16 18:03   ` Joseph Myers
@ 2016-08-17 19:24     ` Paul E. Murphy
  2016-08-18 16:43       ` Joseph Myers
  0 siblings, 1 reply; 19+ messages in thread
From: Paul E. Murphy @ 2016-08-17 19:24 UTC (permalink / raw)
  To: libc-alpha; +Cc: Joseph Myers

[-- Attachment #1: Type: text/plain, Size: 898 bytes --]



On 08/16/2016 01:03 PM, Joseph Myers wrote:
> On Tue, 16 Aug 2016, Paul E. Murphy wrote:
> 
>> Several ldbl-128 files share identical code which does
>> not ammend itself to the macro renaming necessary to
>> support building with another type.
>>
>> This moves the duplicated function mul_split into its
>> own header, and refactors the fma usage into a single
>> selection macro.
> 
> This seems like something that if done for one type, should be done for 
> all types together (optionally also removing the "compiler before GCC 4.6" 
> cases as no longer relevant to building glibc).
> 

This expands it to the users in ldbl-128ibm, dbl-64, and ldbl-96.  Likewise,
the long double mul_split is renamed mul_splitl for clarity.

The new headers are also moved into math/ to reflect the shared usage.

I've verified the generated code for x86_64, ppc64, s390x, and aarch64 libm
has not changed.

[-- Attachment #2: 0001-Merge-common-usage-of-mul_split-function.patch --]
[-- Type: text/x-patch, Size: 24743 bytes --]

From 39e4d10ddeca3ffcc401cdbb6af690b50c10cc0c Mon Sep 17 00:00:00 2001
From: "Paul E. Murphy" <murphyp@linux.vnet.ibm.com>
Date: Mon, 8 Aug 2016 15:58:28 -0500
Subject: [PATCH 1/5] Merge common usage of mul_split function

A number of files share identical code for the
mul_split function.

This moves the duplicated function mul_split into its
own header, and refactors the fma usage into a single
selection macro.  Likewise, mul_split when used by a
long double implementation is renamed mul_splitl for
clarity.

	* sysdeps/ieee754/ldbl-128/gamma_productl.c:
	(mul_split) Remove, rename as mul_splitl, remove
	redundant float.h include, and include via mul_splitl.h

	* sysdeps/ieee754/ldbl-128/lgamma_productl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise.
	* sysdeps/ieee754/ldbl-96/gamma_product.c: Likewise.
	* sysdeps/ieee754/ldbl-96/lgamma_product.c: Likewise.
	* sysdeps/ieee754/ldbl-96/x2y2m1.c: Likewise.

	* math/mul_splitl.h: New file.

	* sysdeps/ieee754/dbl-64/gamma_product.c (mul_split):
	Move into mul_split.h, and remove redundant float.h include.

	* sysdeps/ieee754/dbl-64/lgamma_product.c: Likewise.
	* sysdeps/ieee754/dbl-64/x2y2m1.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/x2y2m1.c: Likewise.

	* math/mul_split.h: New file.
---
 math/mul_split.h                           | 57 ++++++++++++++++++++++++++++++
 math/mul_splitl.h                          | 57 ++++++++++++++++++++++++++++++
 sysdeps/ieee754/dbl-64/gamma_product.c     | 32 +----------------
 sysdeps/ieee754/dbl-64/lgamma_product.c    | 32 +----------------
 sysdeps/ieee754/dbl-64/x2y2m1.c            | 32 +----------------
 sysdeps/ieee754/ldbl-128/gamma_productl.c  | 34 ++----------------
 sysdeps/ieee754/ldbl-128/lgamma_productl.c | 36 ++-----------------
 sysdeps/ieee754/ldbl-128/x2y2m1l.c         | 37 +++----------------
 sysdeps/ieee754/ldbl-128ibm/s_fmal.c       | 27 +-------------
 sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c      | 32 +----------------
 sysdeps/ieee754/ldbl-96/gamma_productl.c   | 34 ++----------------
 sysdeps/ieee754/ldbl-96/lgamma_productl.c  | 36 ++-----------------
 sysdeps/ieee754/ldbl-96/x2y2m1l.c          | 36 ++-----------------
 13 files changed, 136 insertions(+), 346 deletions(-)
 create mode 100644 math/mul_split.h
 create mode 100644 math/mul_splitl.h

diff --git a/math/mul_split.h b/math/mul_split.h
new file mode 100644
index 0000000..8cbf01a
--- /dev/null
+++ b/math/mul_split.h
@@ -0,0 +1,57 @@
+/* Compute full X * Y for double type.
+   Copyright (C) 2013-2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MUL_SPLIT_H
+#define _MUL_SPLIT_H
+
+#include <float.h>
+
+/* Choose an appropriate fused multiply-add function, if any.  */
+#ifdef __FP_FAST_FMA
+# define __FMA __builtin_fma
+#elif defined FP_FAST_FMA
+# define __FMA __fma
+#endif
+
+/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
+   given that the values are small enough that no overflow occurs and
+   large enough (or zero) that no underflow occurs.  */
+
+static void
+mul_split (double *hi, double *lo, double x, double y)
+{
+#ifdef __FMA
+  /* Fast built-in fused multiply-add.  */
+  *hi = x * y;
+  *lo = __FMA (x, y, -*hi);
+#else
+  /* Apply Dekker's algorithm.  */
+  *hi = x * y;
+# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
+  double x1 = x * C;
+  double y1 = y * C;
+# undef C
+  x1 = (x - x1) + x1;
+  y1 = (y - y1) + y1;
+  double x2 = x - x1;
+  double y2 = y - y1;
+  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
+#endif
+}
+
+#endif /* _MUL_SPLIT_H */
diff --git a/math/mul_splitl.h b/math/mul_splitl.h
new file mode 100644
index 0000000..fc5c229
--- /dev/null
+++ b/math/mul_splitl.h
@@ -0,0 +1,57 @@
+/* Compute full X * Y for long double type.
+   Copyright (C) 2013-2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MUL_SPLITL_H
+#define _MUL_SPLITL_H
+
+#include <float.h>
+
+/* Choose an appropriate fused multiply-add function, if any.  */
+#ifdef __FP_FAST_FMAL
+# define __FMAL __builtin_fmal
+#elif defined FP_FAST_FMAL
+# define __FMAL __fmal
+#endif
+
+/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
+   given that the values are small enough that no overflow occurs and
+   large enough (or zero) that no underflow occurs.  */
+
+static inline void
+mul_splitl (long double *hi, long double *lo, long double x, long double y)
+{
+#ifdef __FMAL
+  /* Fast library fused multiply-add, if supported.  */
+  *hi = x * y;
+  *lo = __FMAL (x, y, -*hi);
+#else
+  /* Apply Dekker's algorithm.  */
+  *hi = x * y;
+# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
+  long double x1 = x * C;
+  long double y1 = y * C;
+# undef C
+  x1 = (x - x1) + x1;
+  y1 = (y - y1) + y1;
+  long double x2 = x - x1;
+  long double y2 = y - y1;
+  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
+#endif
+}
+
+#endif /* _MUL_SPLITL_H */
diff --git a/sysdeps/ieee754/dbl-64/gamma_product.c b/sysdeps/ieee754/dbl-64/gamma_product.c
index 7ae144a..51407b1 100644
--- a/sysdeps/ieee754/dbl-64/gamma_product.c
+++ b/sysdeps/ieee754/dbl-64/gamma_product.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (double *hi, double *lo, double x, double y)
-{
-#ifdef __FP_FAST_FMA
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fma (x, y, -*hi);
-#elif defined FP_FAST_FMA
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fma (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
-  double x1 = x * C;
-  double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  double x2 = x - x1;
-  double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_split.h>
 
 /* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N
    - 1, in the form R * (1 + *EPS) where the return value R is an
diff --git a/sysdeps/ieee754/dbl-64/lgamma_product.c b/sysdeps/ieee754/dbl-64/lgamma_product.c
index d956575..fa89337 100644
--- a/sysdeps/ieee754/dbl-64/lgamma_product.c
+++ b/sysdeps/ieee754/dbl-64/lgamma_product.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (double *hi, double *lo, double x, double y)
-{
-#ifdef __FP_FAST_FMA
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fma (x, y, -*hi);
-#elif defined FP_FAST_FMA
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fma (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
-  double x1 = x * C;
-  double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  double x2 = x - x1;
-  double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_split.h>
 
 /* Compute the product of 1 + (T / (X + X_EPS)), 1 + (T / (X + X_EPS +
    1)), ..., 1 + (T / (X + X_EPS + N - 1)), minus 1.  X is such that
diff --git a/sysdeps/ieee754/dbl-64/x2y2m1.c b/sysdeps/ieee754/dbl-64/x2y2m1.c
index 9607888..7505215 100644
--- a/sysdeps/ieee754/dbl-64/x2y2m1.c
+++ b/sysdeps/ieee754/dbl-64/x2y2m1.c
@@ -18,7 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
+#include <mul_split.h>
 #include <stdlib.h>
 
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
@@ -33,36 +33,6 @@ add_split (double *hi, double *lo, double x, double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (double *hi, double *lo, double x, double y)
-{
-#ifdef __FP_FAST_FMA
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fma (x, y, -*hi);
-#elif defined FP_FAST_FMA
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fma (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
-  double x1 = x * C;
-  double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  double x2 = x - x1;
-  double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Compare absolute values of floating-point values pointed to by P
    and Q for qsort.  */
 
diff --git a/sysdeps/ieee754/ldbl-128/gamma_productl.c b/sysdeps/ieee754/ldbl-128/gamma_productl.c
index 849b57d..8ad0452 100644
--- a/sysdeps/ieee754/ldbl-128/gamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/gamma_productl.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_splitl.h>
 
 /* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N
    - 1, in the form R * (1 + *EPS) where the return value R is an
@@ -68,7 +38,7 @@ __gamma_productl (long double x, long double x_eps, int n, long double *eps)
     {
       *eps += x_eps / (x + i);
       long double lo;
-      mul_split (&ret, &lo, ret, x + i);
+      mul_splitl (&ret, &lo, ret, x + i);
       *eps += lo / ret;
     }
   return ret;
diff --git a/sysdeps/ieee754/ldbl-128/lgamma_productl.c b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
index de67cbe..9aa0137 100644
--- a/sysdeps/ieee754/ldbl-128/lgamma_productl.c
+++ b/sysdeps/ieee754/ldbl-128/lgamma_productl.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_splitl.h>
 
 /* Compute the product of 1 + (T / (X + X_EPS)), 1 + (T / (X + X_EPS +
    1)), ..., 1 + (T / (X + X_EPS + N - 1)), minus 1.  X is such that
@@ -65,11 +35,11 @@ __lgamma_productl (long double t, long double x, long double x_eps, int n)
       long double xi = x + i;
       long double quot = t / xi;
       long double mhi, mlo;
-      mul_split (&mhi, &mlo, quot, xi);
+      mul_splitl (&mhi, &mlo, quot, xi);
       long double quot_lo = (t - mhi - mlo) / xi - t * x_eps / (xi * xi);
       /* We want (1 + RET + RET_EPS) * (1 + QUOT + QUOT_LO) - 1.  */
       long double rhi, rlo;
-      mul_split (&rhi, &rlo, ret, quot);
+      mul_splitl (&rhi, &rlo, ret, quot);
       long double rpq = ret + quot;
       long double rpq_eps = (ret - rpq) + quot;
       long double nret = rpq + rhi;
diff --git a/sysdeps/ieee754/ldbl-128/x2y2m1l.c b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
index 733742d..4e97885 100644
--- a/sysdeps/ieee754/ldbl-128/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-128/x2y2m1l.c
@@ -18,9 +18,10 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
+#include <mul_splitl.h>
 #include <stdlib.h>
 
+
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
    given that |X| >= |Y| and the values are small enough that no
    overflow occurs.  */
@@ -33,36 +34,6 @@ add_split (long double *hi, long double *lo, long double x, long double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Compare absolute values of floating-point values pointed to by P
    and Q for qsort.  */
 
@@ -88,8 +59,8 @@ __x2y2m1l (long double x, long double y)
 {
   long double vals[5];
   SET_RESTORE_ROUNDL (FE_TONEAREST);
-  mul_split (&vals[1], &vals[0], x, x);
-  mul_split (&vals[3], &vals[2], y, y);
+  mul_splitl (&vals[1], &vals[0], x, x);
+  mul_splitl (&vals[3], &vals[2], y, y);
   vals[4] = -1.0L;
   qsort (vals, 5, sizeof (long double), compare);
   /* Add up the values so that each element of VALS has absolute value
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_fmal.c b/sysdeps/ieee754/ldbl-128ibm/s_fmal.c
index 177a048..1405763 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_fmal.c
@@ -22,6 +22,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math_ldbl_opt.h>
+#include <mul_split.h>
 #include <stdlib.h>
 
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
@@ -36,32 +37,6 @@ add_split (double *hi, double *lo, double x, double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (double *hi, double *lo, double x, double y)
-{
-#ifdef __FP_FAST_FMA
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fma (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
-  double x1 = x * C;
-  double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  double x2 = x - x1;
-  double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Value with extended range, used in intermediate computations.  */
 typedef struct
 {
diff --git a/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c b/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c
index da2e929..a8b4895 100644
--- a/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c
@@ -18,7 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
+#include <mul_split.h>
 #include <stdlib.h>
 
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
@@ -33,36 +33,6 @@ add_split (double *hi, double *lo, double x, double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (double *hi, double *lo, double x, double y)
-{
-#ifdef __FP_FAST_FMA
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fma (x, y, -*hi);
-#elif defined FP_FAST_FMA
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fma (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1)
-  double x1 = x * C;
-  double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  double x2 = x - x1;
-  double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Compare absolute values of floating-point values pointed to by P
    and Q for qsort.  */
 
diff --git a/sysdeps/ieee754/ldbl-96/gamma_productl.c b/sysdeps/ieee754/ldbl-96/gamma_productl.c
index 849b57d..8ad0452 100644
--- a/sysdeps/ieee754/ldbl-96/gamma_productl.c
+++ b/sysdeps/ieee754/ldbl-96/gamma_productl.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_splitl.h>
 
 /* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N
    - 1, in the form R * (1 + *EPS) where the return value R is an
@@ -68,7 +38,7 @@ __gamma_productl (long double x, long double x_eps, int n, long double *eps)
     {
       *eps += x_eps / (x + i);
       long double lo;
-      mul_split (&ret, &lo, ret, x + i);
+      mul_splitl (&ret, &lo, ret, x + i);
       *eps += lo / ret;
     }
   return ret;
diff --git a/sysdeps/ieee754/ldbl-96/lgamma_productl.c b/sysdeps/ieee754/ldbl-96/lgamma_productl.c
index de67cbe..9aa0137 100644
--- a/sysdeps/ieee754/ldbl-96/lgamma_productl.c
+++ b/sysdeps/ieee754/ldbl-96/lgamma_productl.c
@@ -18,37 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
-
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
+#include <mul_splitl.h>
 
 /* Compute the product of 1 + (T / (X + X_EPS)), 1 + (T / (X + X_EPS +
    1)), ..., 1 + (T / (X + X_EPS + N - 1)), minus 1.  X is such that
@@ -65,11 +35,11 @@ __lgamma_productl (long double t, long double x, long double x_eps, int n)
       long double xi = x + i;
       long double quot = t / xi;
       long double mhi, mlo;
-      mul_split (&mhi, &mlo, quot, xi);
+      mul_splitl (&mhi, &mlo, quot, xi);
       long double quot_lo = (t - mhi - mlo) / xi - t * x_eps / (xi * xi);
       /* We want (1 + RET + RET_EPS) * (1 + QUOT + QUOT_LO) - 1.  */
       long double rhi, rlo;
-      mul_split (&rhi, &rlo, ret, quot);
+      mul_splitl (&rhi, &rlo, ret, quot);
       long double rpq = ret + quot;
       long double rpq_eps = (ret - rpq) + quot;
       long double nret = rpq + rhi;
diff --git a/sysdeps/ieee754/ldbl-96/x2y2m1l.c b/sysdeps/ieee754/ldbl-96/x2y2m1l.c
index 733742d..b86ba1c 100644
--- a/sysdeps/ieee754/ldbl-96/x2y2m1l.c
+++ b/sysdeps/ieee754/ldbl-96/x2y2m1l.c
@@ -18,7 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
-#include <float.h>
+#include <mul_splitl.h>
 #include <stdlib.h>
 
 /* Calculate X + Y exactly and store the result in *HI + *LO.  It is
@@ -33,36 +33,6 @@ add_split (long double *hi, long double *lo, long double x, long double y)
   *lo = (x - *hi) + y;
 }
 
-/* Calculate X * Y exactly and store the result in *HI + *LO.  It is
-   given that the values are small enough that no overflow occurs and
-   large enough (or zero) that no underflow occurs.  */
-
-static inline void
-mul_split (long double *hi, long double *lo, long double x, long double y)
-{
-#ifdef __FP_FAST_FMAL
-  /* Fast built-in fused multiply-add.  */
-  *hi = x * y;
-  *lo = __builtin_fmal (x, y, -*hi);
-#elif defined FP_FAST_FMAL
-  /* Fast library fused multiply-add, compiler before GCC 4.6.  */
-  *hi = x * y;
-  *lo = __fmal (x, y, -*hi);
-#else
-  /* Apply Dekker's algorithm.  */
-  *hi = x * y;
-# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1)
-  long double x1 = x * C;
-  long double y1 = y * C;
-# undef C
-  x1 = (x - x1) + x1;
-  y1 = (y - y1) + y1;
-  long double x2 = x - x1;
-  long double y2 = y - y1;
-  *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2;
-#endif
-}
-
 /* Compare absolute values of floating-point values pointed to by P
    and Q for qsort.  */
 
@@ -88,8 +58,8 @@ __x2y2m1l (long double x, long double y)
 {
   long double vals[5];
   SET_RESTORE_ROUNDL (FE_TONEAREST);
-  mul_split (&vals[1], &vals[0], x, x);
-  mul_split (&vals[3], &vals[2], y, y);
+  mul_splitl (&vals[1], &vals[0], x, x);
+  mul_splitl (&vals[3], &vals[2], y, y);
   vals[4] = -1.0L;
   qsort (vals, 5, sizeof (long double), compare);
   /* Add up the values so that each element of VALS has absolute value
-- 
2.4.11


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/6] ldbl-128: Simplify fma usage
  2016-08-17 19:24     ` Paul E. Murphy
@ 2016-08-18 16:43       ` Joseph Myers
  0 siblings, 0 replies; 19+ messages in thread
From: Joseph Myers @ 2016-08-18 16:43 UTC (permalink / raw)
  To: Paul E. Murphy; +Cc: libc-alpha

On Wed, 17 Aug 2016, Paul E. Murphy wrote:

> +#ifndef _MUL_SPLIT_H
> +#define _MUL_SPLIT_H
> +
> +#include <float.h>
> +
> +/* Choose an appropriate fused multiply-add function, if any.  */
> +#ifdef __FP_FAST_FMA
> +# define __FMA __builtin_fma
> +#elif defined FP_FAST_FMA
> +# define __FMA __fma
> +#endif

By testing FP_FAST_FMA here, this header has a nonobvious dependency on 
include ordering: it would quietly behave differently if <math.h>, the 
header that defines FP_FAST_FMA, were not included first.  Such a 
nonobvious quiet dependency is a bad idea; either this header (and 
likewise the one for long double) should include <math.h>, or the tests of 
FP_FAST_FMA and FP_FAST_FMAL should be removed as no longer relevant now 
we require GCC versions recent enough to have built-in fma and predefine 
__FP_FAST_FMA when a fast inline expansion is available.

(The bug is of course theoretical, since (a) the include ordering in the 
patch is correct and (b) the #elif case is dead code because of the 
compiler version requirements.  But we shouldn't introduce headers that 
look suspicious like that.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-08-18 16:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-16 17:02 [PATCH 0/6] Prepare ldbl-128 to build as float128 Paul E. Murphy
2016-08-16 17:02 ` [PATCH 4/6] ldbl-128: Rename 'long double' to 'ldouble_t' Paul E. Murphy
2016-08-16 18:10   ` Joseph Myers
2016-08-16 18:50     ` Paul E. Murphy
2016-08-16 20:50       ` Joseph Myers
2016-08-16 17:02 ` [PATCH 1/6] ldbl-128: Simplify fma usage Paul E. Murphy
2016-08-16 18:03   ` Joseph Myers
2016-08-17 19:24     ` Paul E. Murphy
2016-08-18 16:43       ` Joseph Myers
2016-08-16 17:02 ` [PATCH 6/6] Make shared ldbl files more shareable Paul E. Murphy
2016-08-16 18:15   ` Joseph Myers
2016-08-16 17:02 ` [PATCH 3/6] ldbl-128: Remove unused sqrtl declaration in e_asinl.c Paul E. Murphy
2016-08-16 18:03   ` Joseph Myers
2016-08-17 19:11     ` Paul E. Murphy
2016-08-16 17:02 ` [PATCH 2/6] ldbl-128: Define and use mathx_hidden_def wrapper to hidden_def Paul E. Murphy
2016-08-16 17:03 ` [PATCH 5/6] ldbl-128: Use L(x) macro for long double constants Paul E. Murphy
2016-08-16 18:13   ` Joseph Myers
2016-08-16 19:19     ` Paul E. Murphy
2016-08-16 20:55       ` Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).