4 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
5 void sincosl(long double x
, long double *sin
, long double *cos
)
8 sincos(x
, &sind
, &cosd
);
12 #elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
13 void sincosl(long double x
, long double *sin
, long double *cos
)
15 union ldshape u
= {x
};
17 long double y
[2], s
, c
;
20 if (u
.i
.se
== 0x7fff) {
25 if (u
.i
.se
< 0x3fff - LDBL_MANT_DIG
) {
26 /* raise underflow if subnormal */
27 if (u
.i
.se
== 0) FORCE_EVAL(x
*0x1p
-120f
);
29 /* raise inexact if x!=0 */
33 *sin
= __sinl(x
, 0, 0);
37 n
= __rem_pio2l(x
, y
);
38 s
= __sinl(y
[0], y
[1], 1);
39 c
= __cosl(y
[0], y
[1]);