LDBL_MANT_DIG
res_ptr[N - 1] &= ~(1L << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB));
mp_limb_t fp_input[(LDBL_MANT_DIG + BITS_PER_MP_LIMB - 1) / BITS_PER_MP_LIMB];
to_shift = 1 + p.fracsize * BITS_PER_MP_LIMB - LDBL_MANT_DIG;
+ (LDBL_MANT_DIG / BITS_PER_MP_LIMB > 2 ? 8 : 4))
if (LDBL_MANT_DIG > _FPIO_CONST_OFFSET * BITS_PER_MP_LIMB
(((LDBL_MANT_DIG + BITS_PER_MP_LIMB - 1) / BITS_PER_MP_LIMB) \
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_ENDIAN
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __BIG_ENDIAN
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_ENDIAN
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __BIG_ENDIAN
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
if (e < 0x3fff - LDBL_MANT_DIG - 1)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
if (e < 0x3fff - (LDBL_MANT_DIG+1)/2) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (e < 0x3ff - LDBL_MANT_DIG/2) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (e >= 0x3fff + LDBL_MANT_DIG + 1) { /* if |x| is large, atan(x)~=pi/2 */
if (e < 0x3fff - (LDBL_MANT_DIG+1)/2) { /* if |x| is small, atanl(x)~=x */
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
if (e >= 0x3fff+LDBL_MANT_DIG-1 || x == 0)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
if (u.i.se < 0x3fff - LDBL_MANT_DIG)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
if (e >= 0x3fff+LDBL_MANT_DIG-1 || x == 0)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (spread < -LDBL_MANT_DIG) {
if (spread <= LDBL_MANT_DIG * 2)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if FLT_EVAL_METHOD > 1U && LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
if (ex - ey > LDBL_MANT_DIG)
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (e >= LDBL_MANT_DIG-1) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 64
#elif LDBL_MANT_DIG == 113
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (e >= 0x3fff+LDBL_MANT_DIG-1)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (e >= 0x3fff+LDBL_MANT_DIG-1)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
if (u.i.se < 0x3fff - LDBL_MANT_DIG) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
if (u.i.se < 0x3fff - LDBL_MANT_DIG/2) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
if (u.i.se < 0x3fff - LDBL_MANT_DIG/2) {
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
if (e >= 0x3fff+LDBL_MANT_DIG-1)
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384