]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Implement C23 atanpi
authorJoseph Myers <josmyers@redhat.com>
Wed, 11 Dec 2024 21:51:49 +0000 (21:51 +0000)
committerJoseph Myers <josmyers@redhat.com>
Wed, 11 Dec 2024 21:51:49 +0000 (21:51 +0000)
C23 adds various <math.h> function families originally defined in TS
18661-4.  Add the atanpi functions (atan(x)/pi).

Tested for x86_64 and x86, and with build-many-glibcs.py.

51 files changed:
NEWS
manual/math.texi
math/Makefile
math/Versions
math/auto-libm-test-in
math/auto-libm-test-out-atanpi [new file with mode: 0644]
math/bits/mathcalls.h
math/gen-auto-libm-tests.c
math/gen-tgmath-tests.py
math/libm-test-atanpi.inc [new file with mode: 0644]
math/s_atanpi_template.c [new file with mode: 0644]
math/test-tgmath.c
math/tgmath.h
sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
sysdeps/ieee754/ldbl-128ibm-compat/Versions
sysdeps/ieee754/ldbl-opt/Makefile
sysdeps/ieee754/ldbl-opt/nldbl-atanpi.c [new file with mode: 0644]
sysdeps/mach/hurd/i386/libm.abilist
sysdeps/mach/hurd/x86_64/libm.abilist
sysdeps/powerpc/nofpu/Makefile
sysdeps/unix/sysv/linux/aarch64/libm.abilist
sysdeps/unix/sysv/linux/alpha/libm.abilist
sysdeps/unix/sysv/linux/arc/libm.abilist
sysdeps/unix/sysv/linux/arm/be/libm.abilist
sysdeps/unix/sysv/linux/arm/le/libm.abilist
sysdeps/unix/sysv/linux/csky/libm.abilist
sysdeps/unix/sysv/linux/hppa/libm.abilist
sysdeps/unix/sysv/linux/i386/libm.abilist
sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
sysdeps/unix/sysv/linux/or1k/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
sysdeps/unix/sysv/linux/sh/be/libm.abilist
sysdeps/unix/sysv/linux/sh/le/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
sysdeps/x86_64/fpu/libm-test-ulps

diff --git a/NEWS b/NEWS
index 4d180a37d2fda5327813fd805ca297feb6115e1e..2f0d2c89cc3a85c61bf95ec0725a0d2980b61611 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -36,7 +36,7 @@ Major new features:
   functions for float, double, long double, _FloatN and _FloatNx, and a
   type-generic macro in <tgmath.h>.
 
-  - Trigonometric functions: acospi, asinpi, cospi, sinpi, tanpi.
+  - Trigonometric functions: acospi, asinpi, atanpi, cospi, sinpi, tanpi.
 
 * The GNU C Library now supports a feature test macro _ISOC2Y_SOURCE to
   enable features from the draft ISO C2Y standard.  Only some features from
index 32c5c057e0c942403eb043b0843140bec087555a..e148fd83ba48b89105037f39f810af28d2ddf36b 100644 (file)
@@ -476,6 +476,20 @@ domain, @code{acospi} signals a domain error.
 The @code{acospi} functions are from TS 18661-4:2015.
 @end deftypefun
 
+@deftypefun double atanpi (double @var{x})
+@deftypefunx float atanpif (float @var{x})
+@deftypefunx {long double} atanpil (long double @var{x})
+@deftypefunx _FloatN atanpifN (_Float@var{N} @var{x})
+@deftypefunx _FloatNx atanpifNx (_Float@var{N}x @var{x})
+@standards{TS 18661-4:2015, math.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions compute the arctangent of @var{x}, divided by pi.  The
+result is in the interval between @code{-0.5} and @code{0.5}
+(inclusive).
+
+The @code{atanpi} functions are from TS 18661-4:2015.
+@end deftypefun
+
 @cindex inverse complex trigonometric functions
 @w{ISO C99} defines complex versions of the inverse trig functions.
 
index 87ff79b26971ba3cdc333996bc3fab3bf87774f2..6f0d2108b24a2dcf5f16ecadc07fdb618cd1d896 100644 (file)
@@ -95,6 +95,7 @@ gen-libm-calls = \
   k_casinhF \
   s_acospiF \
   s_asinpiF \
+  s_atanpiF \
   s_cacosF  \
   s_cacoshF \
   s_canonicalizeF \
@@ -626,6 +627,7 @@ libm-test-funcs-auto = \
   atan \
   atan2 \
   atanh \
+  atanpi \
   cabs \
   cacos \
   cacosh \
@@ -936,6 +938,7 @@ tgmath3-macros = \
   atan \
   atan2 \
   atanh \
+  atanpi \
   carg \
   cbrt \
   ceil \
@@ -1320,6 +1323,7 @@ CFLAGS-s_asinpi.c += -fno-builtin-asinpil
 CFLAGS-s_atan.c += -fno-builtin-atanl
 CFLAGS-w_atan2.c += -fno-builtin-atan2l
 CFLAGS-w_atanh.c += -fno-builtin-atanhl
+CFLAGS-s_atanpi.c += -fno-builtin-atanpil
 CFLAGS-s_cabs.c += -fno-builtin-cabsl
 CFLAGS-s_cacos.c += -fno-builtin-cacosl
 CFLAGS-s_cacosh.c += -fno-builtin-cacoshl
@@ -1463,6 +1467,7 @@ CFLAGS-s_asinpi.c += -fno-builtin-asinpif32x -fno-builtin-asinpif64
 CFLAGS-s_atan.c += -fno-builtin-atanf32x -fno-builtin-atanf64
 CFLAGS-w_atan2.c += -fno-builtin-atan2f32x -fno-builtin-atan2f64
 CFLAGS-w_atanh.c += -fno-builtin-atanhf32x -fno-builtin-atanhf64
+CFLAGS-s_atanpi.c += -fno-builtin-atanpif32x -fno-builtin-atanpif64
 CFLAGS-s_cabs.c += -fno-builtin-cabsf32x -fno-builtin-cabsf64
 CFLAGS-s_cacos.c += -fno-builtin-cacosf32x -fno-builtin-cacosf64
 CFLAGS-s_cacosh.c += -fno-builtin-cacoshf32x -fno-builtin-cacoshf64
@@ -1592,6 +1597,7 @@ CFLAGS-s_asinpif.c += -fno-builtin-asinpif32
 CFLAGS-s_atanf.c += -fno-builtin-atanf32
 CFLAGS-w_atan2f.c += -fno-builtin-atan2f32
 CFLAGS-w_atanhf.c += -fno-builtin-atanhf32
+CFLAGS-s_atanpif.c += -fno-builtin-atanpif32
 CFLAGS-s_cabsf.c += -fno-builtin-cabsf32
 CFLAGS-s_cacosf.c += -fno-builtin-cacosf32
 CFLAGS-s_cacoshf.c += -fno-builtin-cacoshf32
index a7b79b0d6c040bcc6a79136eb8c1e3d9a22ca278..3abf90da8222d16df60de4e2a6547ca9d597d87f 100644 (file)
@@ -657,12 +657,14 @@ libm {
     # Functions not involving _Float64x or _Float128, for all configurations.
     acospi; acospif; acospil; acospif32; acospif64; acospif32x;
     asinpi; asinpif; asinpil; asinpif32; asinpif64; asinpif32x;
+    atanpi; atanpif; atanpil; atanpif32; atanpif64; atanpif32x;
     cospi; cospif; cospil; cospif32; cospif64; cospif32x;
     sinpi; sinpif; sinpil; sinpif32; sinpif64; sinpif32x;
     tanpi; tanpif; tanpil; tanpif32; tanpif64; tanpif32x;
     # Functions involving _Float64x or _Float128, for some configurations.
     acospif64x; acospif128;
     asinpif64x; asinpif128;
+    atanpif64x; atanpif128;
     cospif64x; cospif128;
     sinpif64x; sinpif128;
     tanpif64x; tanpif128;
index 809df5ce093161190ea90a79c973b3cbd8062c93..ebea756d5063a3989c1f6b2449162d4c5b561c62 100644 (file)
@@ -748,6 +748,46 @@ atanh -min
 atanh min_subnorm
 atanh -min_subnorm
 
+atanpi 0
+atanpi -0
+atanpi max
+atanpi -max
+atanpi 1
+atanpi -1
+atanpi 0.75
+atanpi 0x1p-5
+atanpi 0x1p-10
+atanpi 0x1p-15
+atanpi 0x1p-20
+atanpi 0x1p-25
+atanpi 0x1p-30
+atanpi 0x1p-35
+atanpi 0x1p-40
+atanpi 0x1p-45
+atanpi 0x1p-50
+atanpi 0x1p-55
+atanpi 0x1p-60
+atanpi 2.5
+atanpi 10
+atanpi 1e6
+atanpi 0x1p31
+atanpi 0x1p-100
+atanpi 0x1p-600
+atanpi 0x1p-10000
+atanpi -0x3.b02d84p-4
+atanpi -0x3.3fb708p-4
+atanpi -0x2.3249ap+0
+atanpi -0x1.363f46p+0
+atanpi -0x1.ad4c0ap+0
+atanpi -0x3.eb8e18p+0
+atanpi 0x3.53c188p+0
+atanpi -0x1.58c83p+0
+atanpi 0x1.626772p-1
+atanpi min
+atanpi -min
+atanpi min_subnorm
+atanpi -min_subnorm
+
 # cabs (x,y) == cabs (y,x).
 cabs 0.75 12.390625
 # cabs (x,y) == cabs (-x,y).
diff --git a/math/auto-libm-test-out-atanpi b/math/auto-libm-test-out-atanpi
new file mode 100644 (file)
index 0000000..b6e8abd
--- /dev/null
@@ -0,0 +1,1379 @@
+atanpi 0
+= atanpi downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+atanpi -0
+= atanpi downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= atanpi upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+atanpi max
+= atanpi downward binary32 0xf.fffffp+124 : 0x7.fffff8p-4 : inexact-ok
+= atanpi tonearest binary32 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary32 0xf.fffffp+124 : 0x7.fffff8p-4 : inexact-ok
+= atanpi upward binary32 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward binary64 0xf.fffffp+124 : 0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary64 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary64 0xf.fffffp+124 : 0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi upward binary64 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward intel96 0xf.fffffp+124 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest intel96 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero intel96 0xf.fffffp+124 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward m68k96 0xf.fffffp+124 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest m68k96 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 0xf.fffffp+124 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward binary128 0xf.fffffp+124 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary128 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.fffffp+124 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward ibm128 0xf.fffffp+124 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi tonearest ibm128 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 0xf.fffffp+124 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 0xf.fffffp+124 : 0x8p-4 : inexact-ok
+= atanpi downward binary64 0xf.ffffffffffff8p+1020 : 0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary64 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary64 0xf.ffffffffffff8p+1020 : 0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi upward binary64 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi downward intel96 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest intel96 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero intel96 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi downward m68k96 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest m68k96 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi downward binary128 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary128 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi downward ibm128 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi tonearest ibm128 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 0xf.ffffffffffff8p+1020 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 0xf.ffffffffffff8p+1020 : 0x8p-4 : inexact-ok
+= atanpi downward intel96 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest intel96 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi towardzero intel96 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi downward m68k96 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi tonearest m68k96 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi downward binary128 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary128 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.fffffffffffffffp+16380 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 0xf.fffffffffffffffp+16380 : 0x8p-4 : inexact-ok
+= atanpi downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x8p-4 : inexact-ok
+= atanpi downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x8p-4 : inexact-ok
+= atanpi downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x8p-4 : inexact-ok
+atanpi -max
+= atanpi downward binary32 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary32 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary32 -0xf.fffffp+124 : -0x7.fffff8p-4 : inexact-ok
+= atanpi upward binary32 -0xf.fffffp+124 : -0x7.fffff8p-4 : inexact-ok
+= atanpi downward binary64 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary64 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary64 -0xf.fffffp+124 : -0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi upward binary64 -0xf.fffffp+124 : -0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi downward intel96 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest intel96 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero intel96 -0xf.fffffp+124 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 -0xf.fffffp+124 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward m68k96 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest m68k96 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 -0xf.fffffp+124 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 -0xf.fffffp+124 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward binary128 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary128 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary128 -0xf.fffffp+124 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 -0xf.fffffp+124 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi downward ibm128 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi tonearest ibm128 -0xf.fffffp+124 : -0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 -0xf.fffffp+124 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 -0xf.fffffp+124 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi downward binary64 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary64 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary64 -0xf.ffffffffffff8p+1020 : -0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi upward binary64 -0xf.ffffffffffff8p+1020 : -0x7.ffffffffffffcp-4 : inexact-ok
+= atanpi downward intel96 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest intel96 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero intel96 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward m68k96 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest m68k96 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward binary128 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary128 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary128 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi downward ibm128 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest ibm128 -0xf.ffffffffffff8p+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 -0xf.ffffffffffff8p+1020 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi downward intel96 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi tonearest intel96 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi towardzero intel96 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward intel96 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward m68k96 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi tonearest m68k96 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi towardzero m68k96 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi upward m68k96 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffff8p-4 : inexact-ok
+= atanpi downward binary128 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary128 -0xf.fffffffffffffffp+16380 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary128 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 -0xf.fffffffffffffffp+16380 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x7.fffffffffffffffffffffffffffcp-4 : inexact-ok
+= atanpi downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x8p-4 : inexact-ok
+= atanpi tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x8p-4 : inexact-ok
+= atanpi towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+= atanpi upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x7.fffffffffffffffffffffffffep-4 : inexact-ok
+atanpi 1
+= atanpi downward binary32 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest binary32 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero binary32 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward binary32 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi downward binary64 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest binary64 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero binary64 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward binary64 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi downward intel96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest intel96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero intel96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward intel96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi downward m68k96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest m68k96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero m68k96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward m68k96 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi downward binary128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest binary128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero binary128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward binary128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi downward ibm128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi tonearest ibm128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi towardzero ibm128 0x1p+0 : 0x4p-4 : inexact-ok
+= atanpi upward ibm128 0x1p+0 : 0x4p-4 : inexact-ok
+atanpi -1
+= atanpi downward binary32 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest binary32 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero binary32 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward binary32 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi downward binary64 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest binary64 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero binary64 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward binary64 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi downward intel96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest intel96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero intel96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward intel96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi downward m68k96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero m68k96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward m68k96 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi downward binary128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest binary128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero binary128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward binary128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi downward ibm128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x1p+0 : -0x4p-4 : inexact-ok
+= atanpi upward ibm128 -0x1p+0 : -0x4p-4 : inexact-ok
+atanpi 0.75
+= atanpi downward binary32 0xcp-4 : 0x3.46feb8p-4 : inexact-ok
+= atanpi tonearest binary32 0xcp-4 : 0x3.46feb8p-4 : inexact-ok
+= atanpi towardzero binary32 0xcp-4 : 0x3.46feb8p-4 : inexact-ok
+= atanpi upward binary32 0xcp-4 : 0x3.46febcp-4 : inexact-ok
+= atanpi downward binary64 0xcp-4 : 0x3.46feb898833dep-4 : inexact-ok
+= atanpi tonearest binary64 0xcp-4 : 0x3.46feb898833dep-4 : inexact-ok
+= atanpi towardzero binary64 0xcp-4 : 0x3.46feb898833dep-4 : inexact-ok
+= atanpi upward binary64 0xcp-4 : 0x3.46feb898833ep-4 : inexact-ok
+= atanpi downward intel96 0xcp-4 : 0x3.46feb898833de668p-4 : inexact-ok
+= atanpi tonearest intel96 0xcp-4 : 0x3.46feb898833de66cp-4 : inexact-ok
+= atanpi towardzero intel96 0xcp-4 : 0x3.46feb898833de668p-4 : inexact-ok
+= atanpi upward intel96 0xcp-4 : 0x3.46feb898833de66cp-4 : inexact-ok
+= atanpi downward m68k96 0xcp-4 : 0x3.46feb898833de668p-4 : inexact-ok
+= atanpi tonearest m68k96 0xcp-4 : 0x3.46feb898833de66cp-4 : inexact-ok
+= atanpi towardzero m68k96 0xcp-4 : 0x3.46feb898833de668p-4 : inexact-ok
+= atanpi upward m68k96 0xcp-4 : 0x3.46feb898833de66cp-4 : inexact-ok
+= atanpi downward binary128 0xcp-4 : 0x3.46feb898833de66a5dc249472b9ap-4 : inexact-ok
+= atanpi tonearest binary128 0xcp-4 : 0x3.46feb898833de66a5dc249472b9ap-4 : inexact-ok
+= atanpi towardzero binary128 0xcp-4 : 0x3.46feb898833de66a5dc249472b9ap-4 : inexact-ok
+= atanpi upward binary128 0xcp-4 : 0x3.46feb898833de66a5dc249472b9cp-4 : inexact-ok
+= atanpi downward ibm128 0xcp-4 : 0x3.46feb898833de66a5dc249472bp-4 : inexact-ok
+= atanpi tonearest ibm128 0xcp-4 : 0x3.46feb898833de66a5dc249472cp-4 : inexact-ok
+= atanpi towardzero ibm128 0xcp-4 : 0x3.46feb898833de66a5dc249472bp-4 : inexact-ok
+= atanpi upward ibm128 0xcp-4 : 0x3.46feb898833de66a5dc249472cp-4 : inexact-ok
+atanpi 0x1p-5
+= atanpi downward binary32 0x8p-8 : 0x2.8bafcp-8 : inexact-ok
+= atanpi tonearest binary32 0x8p-8 : 0x2.8bafc4p-8 : inexact-ok
+= atanpi towardzero binary32 0x8p-8 : 0x2.8bafcp-8 : inexact-ok
+= atanpi upward binary32 0x8p-8 : 0x2.8bafc4p-8 : inexact-ok
+= atanpi downward binary64 0x8p-8 : 0x2.8bafc2b208c4ep-8 : inexact-ok
+= atanpi tonearest binary64 0x8p-8 : 0x2.8bafc2b208c5p-8 : inexact-ok
+= atanpi towardzero binary64 0x8p-8 : 0x2.8bafc2b208c4ep-8 : inexact-ok
+= atanpi upward binary64 0x8p-8 : 0x2.8bafc2b208c5p-8 : inexact-ok
+= atanpi downward intel96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi tonearest intel96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi towardzero intel96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi upward intel96 0x8p-8 : 0x2.8bafc2b208c4f0bp-8 : inexact-ok
+= atanpi downward m68k96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi tonearest m68k96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi towardzero m68k96 0x8p-8 : 0x2.8bafc2b208c4f0acp-8 : inexact-ok
+= atanpi upward m68k96 0x8p-8 : 0x2.8bafc2b208c4f0bp-8 : inexact-ok
+= atanpi downward binary128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5eep-8 : inexact-ok
+= atanpi tonearest binary128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5eep-8 : inexact-ok
+= atanpi towardzero binary128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5eep-8 : inexact-ok
+= atanpi upward binary128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5fp-8 : inexact-ok
+= atanpi downward ibm128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5p-8 : inexact-ok
+= atanpi tonearest ibm128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b6p-8 : inexact-ok
+= atanpi towardzero ibm128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b5p-8 : inexact-ok
+= atanpi upward ibm128 0x8p-8 : 0x2.8bafc2b208c4f0ad3929bd05b6p-8 : inexact-ok
+atanpi 0x1p-10
+= atanpi downward binary32 0x4p-12 : 0x1.45f3p-12 : inexact-ok
+= atanpi tonearest binary32 0x4p-12 : 0x1.45f3p-12 : inexact-ok
+= atanpi towardzero binary32 0x4p-12 : 0x1.45f3p-12 : inexact-ok
+= atanpi upward binary32 0x4p-12 : 0x1.45f302p-12 : inexact-ok
+= atanpi downward binary64 0x4p-12 : 0x1.45f30012374f6p-12 : inexact-ok
+= atanpi tonearest binary64 0x4p-12 : 0x1.45f30012374f7p-12 : inexact-ok
+= atanpi towardzero binary64 0x4p-12 : 0x1.45f30012374f6p-12 : inexact-ok
+= atanpi upward binary64 0x4p-12 : 0x1.45f30012374f7p-12 : inexact-ok
+= atanpi downward intel96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi tonearest intel96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi towardzero intel96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi upward intel96 0x4p-12 : 0x1.45f30012374f6dp-12 : inexact-ok
+= atanpi downward m68k96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi tonearest m68k96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi towardzero m68k96 0x4p-12 : 0x1.45f30012374f6cfep-12 : inexact-ok
+= atanpi upward m68k96 0x4p-12 : 0x1.45f30012374f6dp-12 : inexact-ok
+= atanpi downward binary128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi tonearest binary128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi towardzero binary128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi upward binary128 0x4p-12 : 0x1.45f30012374f6cfe875244233901p-12 : inexact-ok
+= atanpi downward ibm128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi tonearest ibm128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi towardzero ibm128 0x4p-12 : 0x1.45f30012374f6cfe8752442339p-12 : inexact-ok
+= atanpi upward ibm128 0x4p-12 : 0x1.45f30012374f6cfe87524423398p-12 : inexact-ok
+atanpi 0x1p-15
+= atanpi downward binary32 0x2p-16 : 0xa.2f983p-20 : inexact-ok
+= atanpi tonearest binary32 0x2p-16 : 0xa.2f983p-20 : inexact-ok
+= atanpi towardzero binary32 0x2p-16 : 0xa.2f983p-20 : inexact-ok
+= atanpi upward binary32 0x2p-16 : 0xa.2f984p-20 : inexact-ok
+= atanpi downward binary64 0x2p-16 : 0xa.2f9836d74f76p-20 : inexact-ok
+= atanpi tonearest binary64 0x2p-16 : 0xa.2f9836d74f768p-20 : inexact-ok
+= atanpi towardzero binary64 0x2p-16 : 0xa.2f9836d74f76p-20 : inexact-ok
+= atanpi upward binary64 0x2p-16 : 0xa.2f9836d74f768p-20 : inexact-ok
+= atanpi downward intel96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi tonearest intel96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi towardzero intel96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi upward intel96 0x2p-16 : 0xa.2f9836d74f765efp-20 : inexact-ok
+= atanpi downward m68k96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi tonearest m68k96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi towardzero m68k96 0x2p-16 : 0xa.2f9836d74f765eep-20 : inexact-ok
+= atanpi upward m68k96 0x2p-16 : 0xa.2f9836d74f765efp-20 : inexact-ok
+= atanpi downward binary128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b89218p-20 : inexact-ok
+= atanpi tonearest binary128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b8922p-20 : inexact-ok
+= atanpi towardzero binary128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b89218p-20 : inexact-ok
+= atanpi upward binary128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b8922p-20 : inexact-ok
+= atanpi downward ibm128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b89p-20 : inexact-ok
+= atanpi tonearest ibm128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b894p-20 : inexact-ok
+= atanpi towardzero ibm128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b89p-20 : inexact-ok
+= atanpi upward ibm128 0x2p-16 : 0xa.2f9836d74f765ee47fc135b894p-20 : inexact-ok
+atanpi 0x1p-20
+= atanpi downward binary32 0x1p-20 : 0x5.17cc18p-24 : inexact-ok
+= atanpi tonearest binary32 0x1p-20 : 0x5.17cc18p-24 : inexact-ok
+= atanpi towardzero binary32 0x1p-20 : 0x5.17cc18p-24 : inexact-ok
+= atanpi upward binary32 0x1p-20 : 0x5.17cc2p-24 : inexact-ok
+= atanpi downward binary64 0x1p-20 : 0x5.17cc1b72706ep-24 : inexact-ok
+= atanpi tonearest binary64 0x1p-20 : 0x5.17cc1b72706ep-24 : inexact-ok
+= atanpi towardzero binary64 0x1p-20 : 0x5.17cc1b72706ep-24 : inexact-ok
+= atanpi upward binary64 0x1p-20 : 0x5.17cc1b72706e4p-24 : inexact-ok
+= atanpi downward intel96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi tonearest intel96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi towardzero intel96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi upward intel96 0x1p-20 : 0x5.17cc1b72706e0ff8p-24 : inexact-ok
+= atanpi downward m68k96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi tonearest m68k96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi towardzero m68k96 0x1p-20 : 0x5.17cc1b72706e0ffp-24 : inexact-ok
+= atanpi upward m68k96 0x1p-20 : 0x5.17cc1b72706e0ff8p-24 : inexact-ok
+= atanpi downward binary128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a594p-24 : inexact-ok
+= atanpi tonearest binary128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a594p-24 : inexact-ok
+= atanpi towardzero binary128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a594p-24 : inexact-ok
+= atanpi upward binary128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a598p-24 : inexact-ok
+= atanpi downward ibm128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a4p-24 : inexact-ok
+= atanpi tonearest ibm128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a6p-24 : inexact-ok
+= atanpi towardzero ibm128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a4p-24 : inexact-ok
+= atanpi upward ibm128 0x1p-20 : 0x5.17cc1b72706e0ff165c06319a6p-24 : inexact-ok
+atanpi 0x1p-25
+= atanpi downward binary32 0x8p-28 : 0x2.8be60cp-28 : inexact-ok
+= atanpi tonearest binary32 0x8p-28 : 0x2.8be60cp-28 : inexact-ok
+= atanpi towardzero binary32 0x8p-28 : 0x2.8be60cp-28 : inexact-ok
+= atanpi upward binary32 0x8p-28 : 0x2.8be61p-28 : inexact-ok
+= atanpi downward binary64 0x8p-28 : 0x2.8be60db9391p-28 : inexact-ok
+= atanpi tonearest binary64 0x8p-28 : 0x2.8be60db939102p-28 : inexact-ok
+= atanpi towardzero binary64 0x8p-28 : 0x2.8be60db9391p-28 : inexact-ok
+= atanpi upward binary64 0x8p-28 : 0x2.8be60db939102p-28 : inexact-ok
+= atanpi downward intel96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi tonearest intel96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi towardzero intel96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi upward intel96 0x8p-28 : 0x2.8be60db939101e58p-28 : inexact-ok
+= atanpi downward m68k96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi tonearest m68k96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi towardzero m68k96 0x8p-28 : 0x2.8be60db939101e54p-28 : inexact-ok
+= atanpi upward m68k96 0x8p-28 : 0x2.8be60db939101e58p-28 : inexact-ok
+= atanpi downward binary128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5eap-28 : inexact-ok
+= atanpi tonearest binary128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5ecp-28 : inexact-ok
+= atanpi towardzero binary128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5eap-28 : inexact-ok
+= atanpi upward binary128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5ecp-28 : inexact-ok
+= atanpi downward ibm128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5p-28 : inexact-ok
+= atanpi tonearest ibm128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd6p-28 : inexact-ok
+= atanpi towardzero ibm128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd5p-28 : inexact-ok
+= atanpi upward ibm128 0x8p-28 : 0x2.8be60db939101e54c4cdefdbd6p-28 : inexact-ok
+atanpi 0x1p-30
+= atanpi downward binary32 0x4p-32 : 0x1.45f306p-32 : inexact-ok
+= atanpi tonearest binary32 0x4p-32 : 0x1.45f306p-32 : inexact-ok
+= atanpi towardzero binary32 0x4p-32 : 0x1.45f306p-32 : inexact-ok
+= atanpi upward binary32 0x4p-32 : 0x1.45f308p-32 : inexact-ok
+= atanpi downward binary64 0x4p-32 : 0x1.45f306dc9c882p-32 : inexact-ok
+= atanpi tonearest binary64 0x4p-32 : 0x1.45f306dc9c883p-32 : inexact-ok
+= atanpi towardzero binary64 0x4p-32 : 0x1.45f306dc9c882p-32 : inexact-ok
+= atanpi upward binary64 0x4p-32 : 0x1.45f306dc9c883p-32 : inexact-ok
+= atanpi downward intel96 0x4p-32 : 0x1.45f306dc9c882a4cp-32 : inexact-ok
+= atanpi tonearest intel96 0x4p-32 : 0x1.45f306dc9c882a4ep-32 : inexact-ok
+= atanpi towardzero intel96 0x4p-32 : 0x1.45f306dc9c882a4cp-32 : inexact-ok
+= atanpi upward intel96 0x4p-32 : 0x1.45f306dc9c882a4ep-32 : inexact-ok
+= atanpi downward m68k96 0x4p-32 : 0x1.45f306dc9c882a4cp-32 : inexact-ok
+= atanpi tonearest m68k96 0x4p-32 : 0x1.45f306dc9c882a4ep-32 : inexact-ok
+= atanpi towardzero m68k96 0x4p-32 : 0x1.45f306dc9c882a4cp-32 : inexact-ok
+= atanpi upward m68k96 0x4p-32 : 0x1.45f306dc9c882a4ep-32 : inexact-ok
+= atanpi downward binary128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fce8p-32 : inexact-ok
+= atanpi tonearest binary128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fce9p-32 : inexact-ok
+= atanpi towardzero binary128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fce8p-32 : inexact-ok
+= atanpi upward binary128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fce9p-32 : inexact-ok
+= atanpi downward ibm128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fc8p-32 : inexact-ok
+= atanpi tonearest ibm128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fdp-32 : inexact-ok
+= atanpi towardzero ibm128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fc8p-32 : inexact-ok
+= atanpi upward ibm128 0x4p-32 : 0x1.45f306dc9c882a4d2de935b5fdp-32 : inexact-ok
+atanpi 0x1p-35
+= atanpi downward binary32 0x2p-36 : 0xa.2f983p-40 : inexact-ok
+= atanpi tonearest binary32 0x2p-36 : 0xa.2f983p-40 : inexact-ok
+= atanpi towardzero binary32 0x2p-36 : 0xa.2f983p-40 : inexact-ok
+= atanpi upward binary32 0x2p-36 : 0xa.2f984p-40 : inexact-ok
+= atanpi downward binary64 0x2p-36 : 0xa.2f9836e4e441p-40 : inexact-ok
+= atanpi tonearest binary64 0x2p-36 : 0xa.2f9836e4e4418p-40 : inexact-ok
+= atanpi towardzero binary64 0x2p-36 : 0xa.2f9836e4e441p-40 : inexact-ok
+= atanpi upward binary64 0x2p-36 : 0xa.2f9836e4e4418p-40 : inexact-ok
+= atanpi downward intel96 0x2p-36 : 0xa.2f9836e4e441529p-40 : inexact-ok
+= atanpi tonearest intel96 0x2p-36 : 0xa.2f9836e4e44152ap-40 : inexact-ok
+= atanpi towardzero intel96 0x2p-36 : 0xa.2f9836e4e441529p-40 : inexact-ok
+= atanpi upward intel96 0x2p-36 : 0xa.2f9836e4e44152ap-40 : inexact-ok
+= atanpi downward m68k96 0x2p-36 : 0xa.2f9836e4e441529p-40 : inexact-ok
+= atanpi tonearest m68k96 0x2p-36 : 0xa.2f9836e4e44152ap-40 : inexact-ok
+= atanpi towardzero m68k96 0x2p-36 : 0xa.2f9836e4e441529p-40 : inexact-ok
+= atanpi upward m68k96 0x2p-36 : 0xa.2f9836e4e44152ap-40 : inexact-ok
+= atanpi downward binary128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b777p-40 : inexact-ok
+= atanpi tonearest binary128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b777p-40 : inexact-ok
+= atanpi towardzero binary128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b777p-40 : inexact-ok
+= atanpi upward binary128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b7778p-40 : inexact-ok
+= atanpi downward ibm128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b74p-40 : inexact-ok
+= atanpi tonearest ibm128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b78p-40 : inexact-ok
+= atanpi towardzero ibm128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b74p-40 : inexact-ok
+= atanpi upward ibm128 0x2p-36 : 0xa.2f9836e4e441529fb4e0b22b78p-40 : inexact-ok
+atanpi 0x1p-40
+= atanpi downward binary32 0x1p-40 : 0x5.17cc18p-44 : inexact-ok
+= atanpi tonearest binary32 0x1p-40 : 0x5.17cc18p-44 : inexact-ok
+= atanpi towardzero binary32 0x1p-40 : 0x5.17cc18p-44 : inexact-ok
+= atanpi upward binary32 0x1p-40 : 0x5.17cc2p-44 : inexact-ok
+= atanpi downward binary64 0x1p-40 : 0x5.17cc1b7272208p-44 : inexact-ok
+= atanpi tonearest binary64 0x1p-40 : 0x5.17cc1b727220cp-44 : inexact-ok
+= atanpi towardzero binary64 0x1p-40 : 0x5.17cc1b7272208p-44 : inexact-ok
+= atanpi upward binary64 0x1p-40 : 0x5.17cc1b727220cp-44 : inexact-ok
+= atanpi downward intel96 0x1p-40 : 0x5.17cc1b727220a948p-44 : inexact-ok
+= atanpi tonearest intel96 0x1p-40 : 0x5.17cc1b727220a95p-44 : inexact-ok
+= atanpi towardzero intel96 0x1p-40 : 0x5.17cc1b727220a948p-44 : inexact-ok
+= atanpi upward intel96 0x1p-40 : 0x5.17cc1b727220a95p-44 : inexact-ok
+= atanpi downward m68k96 0x1p-40 : 0x5.17cc1b727220a948p-44 : inexact-ok
+= atanpi tonearest m68k96 0x1p-40 : 0x5.17cc1b727220a95p-44 : inexact-ok
+= atanpi towardzero m68k96 0x1p-40 : 0x5.17cc1b727220a948p-44 : inexact-ok
+= atanpi upward m68k96 0x1p-40 : 0x5.17cc1b727220a95p-44 : inexact-ok
+= atanpi downward binary128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64b28p-44 : inexact-ok
+= atanpi tonearest binary128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64b2cp-44 : inexact-ok
+= atanpi towardzero binary128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64b28p-44 : inexact-ok
+= atanpi upward binary128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64b2cp-44 : inexact-ok
+= atanpi downward ibm128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64ap-44 : inexact-ok
+= atanpi tonearest ibm128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64cp-44 : inexact-ok
+= atanpi towardzero ibm128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64ap-44 : inexact-ok
+= atanpi upward ibm128 0x1p-40 : 0x5.17cc1b727220a94fe1390bf64cp-44 : inexact-ok
+atanpi 0x1p-45
+= atanpi downward binary32 0x8p-48 : 0x2.8be60cp-48 : inexact-ok
+= atanpi tonearest binary32 0x8p-48 : 0x2.8be60cp-48 : inexact-ok
+= atanpi towardzero binary32 0x8p-48 : 0x2.8be60cp-48 : inexact-ok
+= atanpi upward binary32 0x8p-48 : 0x2.8be61p-48 : inexact-ok
+= atanpi downward binary64 0x8p-48 : 0x2.8be60db939104p-48 : inexact-ok
+= atanpi tonearest binary64 0x8p-48 : 0x2.8be60db939106p-48 : inexact-ok
+= atanpi towardzero binary64 0x8p-48 : 0x2.8be60db939104p-48 : inexact-ok
+= atanpi upward binary64 0x8p-48 : 0x2.8be60db939106p-48 : inexact-ok
+= atanpi downward intel96 0x8p-48 : 0x2.8be60db9391054a4p-48 : inexact-ok
+= atanpi tonearest intel96 0x8p-48 : 0x2.8be60db9391054a8p-48 : inexact-ok
+= atanpi towardzero intel96 0x8p-48 : 0x2.8be60db9391054a4p-48 : inexact-ok
+= atanpi upward intel96 0x8p-48 : 0x2.8be60db9391054a8p-48 : inexact-ok
+= atanpi downward m68k96 0x8p-48 : 0x2.8be60db9391054a4p-48 : inexact-ok
+= atanpi tonearest m68k96 0x8p-48 : 0x2.8be60db9391054a8p-48 : inexact-ok
+= atanpi towardzero m68k96 0x8p-48 : 0x2.8be60db9391054a4p-48 : inexact-ok
+= atanpi upward m68k96 0x8p-48 : 0x2.8be60db9391054a8p-48 : inexact-ok
+= atanpi downward binary128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181a6p-48 : inexact-ok
+= atanpi tonearest binary128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181a8p-48 : inexact-ok
+= atanpi towardzero binary128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181a6p-48 : inexact-ok
+= atanpi upward binary128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181a8p-48 : inexact-ok
+= atanpi downward ibm128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181p-48 : inexact-ok
+= atanpi tonearest ibm128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1182p-48 : inexact-ok
+= atanpi towardzero ibm128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1181p-48 : inexact-ok
+= atanpi upward ibm128 0x8p-48 : 0x2.8be60db9391054a7f09d5f1182p-48 : inexact-ok
+atanpi 0x1p-50
+= atanpi downward binary32 0x4p-52 : 0x1.45f306p-52 : inexact-ok
+= atanpi tonearest binary32 0x4p-52 : 0x1.45f306p-52 : inexact-ok
+= atanpi towardzero binary32 0x4p-52 : 0x1.45f306p-52 : inexact-ok
+= atanpi upward binary32 0x4p-52 : 0x1.45f308p-52 : inexact-ok
+= atanpi downward binary64 0x4p-52 : 0x1.45f306dc9c882p-52 : inexact-ok
+= atanpi tonearest binary64 0x4p-52 : 0x1.45f306dc9c883p-52 : inexact-ok
+= atanpi towardzero binary64 0x4p-52 : 0x1.45f306dc9c882p-52 : inexact-ok
+= atanpi upward binary64 0x4p-52 : 0x1.45f306dc9c883p-52 : inexact-ok
+= atanpi downward intel96 0x4p-52 : 0x1.45f306dc9c882a52p-52 : inexact-ok
+= atanpi tonearest intel96 0x4p-52 : 0x1.45f306dc9c882a54p-52 : inexact-ok
+= atanpi towardzero intel96 0x4p-52 : 0x1.45f306dc9c882a52p-52 : inexact-ok
+= atanpi upward intel96 0x4p-52 : 0x1.45f306dc9c882a54p-52 : inexact-ok
+= atanpi downward m68k96 0x4p-52 : 0x1.45f306dc9c882a52p-52 : inexact-ok
+= atanpi tonearest m68k96 0x4p-52 : 0x1.45f306dc9c882a54p-52 : inexact-ok
+= atanpi towardzero m68k96 0x4p-52 : 0x1.45f306dc9c882a52p-52 : inexact-ok
+= atanpi upward m68k96 0x4p-52 : 0x1.45f306dc9c882a54p-52 : inexact-ok
+= atanpi downward binary128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e39fp-52 : inexact-ok
+= atanpi tonearest binary128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e39fp-52 : inexact-ok
+= atanpi towardzero binary128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e39fp-52 : inexact-ok
+= atanpi upward binary128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e3ap-52 : inexact-ok
+= atanpi downward ibm128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e38p-52 : inexact-ok
+= atanpi tonearest ibm128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e38p-52 : inexact-ok
+= atanpi towardzero ibm128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e38p-52 : inexact-ok
+= atanpi upward ibm128 0x4p-52 : 0x1.45f306dc9c882a53f84eafa3e4p-52 : inexact-ok
+atanpi 0x1p-55
+= atanpi downward binary32 0x2p-56 : 0xa.2f983p-60 : inexact-ok
+= atanpi tonearest binary32 0x2p-56 : 0xa.2f983p-60 : inexact-ok
+= atanpi towardzero binary32 0x2p-56 : 0xa.2f983p-60 : inexact-ok
+= atanpi upward binary32 0x2p-56 : 0xa.2f984p-60 : inexact-ok
+= atanpi downward binary64 0x2p-56 : 0xa.2f9836e4e441p-60 : inexact-ok
+= atanpi tonearest binary64 0x2p-56 : 0xa.2f9836e4e4418p-60 : inexact-ok
+= atanpi towardzero binary64 0x2p-56 : 0xa.2f9836e4e441p-60 : inexact-ok
+= atanpi upward binary64 0x2p-56 : 0xa.2f9836e4e4418p-60 : inexact-ok
+= atanpi downward intel96 0x2p-56 : 0xa.2f9836e4e441529p-60 : inexact-ok
+= atanpi tonearest intel96 0x2p-56 : 0xa.2f9836e4e44152ap-60 : inexact-ok
+= atanpi towardzero intel96 0x2p-56 : 0xa.2f9836e4e441529p-60 : inexact-ok
+= atanpi upward intel96 0x2p-56 : 0xa.2f9836e4e44152ap-60 : inexact-ok
+= atanpi downward m68k96 0x2p-56 : 0xa.2f9836e4e441529p-60 : inexact-ok
+= atanpi tonearest m68k96 0x2p-56 : 0xa.2f9836e4e44152ap-60 : inexact-ok
+= atanpi towardzero m68k96 0x2p-56 : 0xa.2f9836e4e441529p-60 : inexact-ok
+= atanpi upward m68k96 0x2p-56 : 0xa.2f9836e4e44152ap-60 : inexact-ok
+= atanpi downward binary128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f534p-60 : inexact-ok
+= atanpi tonearest binary128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f534p-60 : inexact-ok
+= atanpi towardzero binary128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f534p-60 : inexact-ok
+= atanpi upward binary128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f5348p-60 : inexact-ok
+= atanpi downward ibm128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f5p-60 : inexact-ok
+= atanpi tonearest ibm128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f54p-60 : inexact-ok
+= atanpi towardzero ibm128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f5p-60 : inexact-ok
+= atanpi upward ibm128 0x2p-56 : 0xa.2f9836e4e441529fc2757d1f54p-60 : inexact-ok
+atanpi 0x1p-60
+= atanpi downward binary32 0x1p-60 : 0x5.17cc18p-64 : inexact-ok
+= atanpi tonearest binary32 0x1p-60 : 0x5.17cc18p-64 : inexact-ok
+= atanpi towardzero binary32 0x1p-60 : 0x5.17cc18p-64 : inexact-ok
+= atanpi upward binary32 0x1p-60 : 0x5.17cc2p-64 : inexact-ok
+= atanpi downward binary64 0x1p-60 : 0x5.17cc1b7272208p-64 : inexact-ok
+= atanpi tonearest binary64 0x1p-60 : 0x5.17cc1b727220cp-64 : inexact-ok
+= atanpi towardzero binary64 0x1p-60 : 0x5.17cc1b7272208p-64 : inexact-ok
+= atanpi upward binary64 0x1p-60 : 0x5.17cc1b727220cp-64 : inexact-ok
+= atanpi downward intel96 0x1p-60 : 0x5.17cc1b727220a948p-64 : inexact-ok
+= atanpi tonearest intel96 0x1p-60 : 0x5.17cc1b727220a95p-64 : inexact-ok
+= atanpi towardzero intel96 0x1p-60 : 0x5.17cc1b727220a948p-64 : inexact-ok
+= atanpi upward intel96 0x1p-60 : 0x5.17cc1b727220a95p-64 : inexact-ok
+= atanpi downward m68k96 0x1p-60 : 0x5.17cc1b727220a948p-64 : inexact-ok
+= atanpi tonearest m68k96 0x1p-60 : 0x5.17cc1b727220a95p-64 : inexact-ok
+= atanpi towardzero m68k96 0x1p-60 : 0x5.17cc1b727220a948p-64 : inexact-ok
+= atanpi upward m68k96 0x1p-60 : 0x5.17cc1b727220a95p-64 : inexact-ok
+= atanpi downward binary128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa9a4p-64 : inexact-ok
+= atanpi tonearest binary128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa9a8p-64 : inexact-ok
+= atanpi towardzero binary128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa9a4p-64 : inexact-ok
+= atanpi upward binary128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa9a8p-64 : inexact-ok
+= atanpi downward ibm128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa8p-64 : inexact-ok
+= atanpi tonearest ibm128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8faap-64 : inexact-ok
+= atanpi towardzero ibm128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8fa8p-64 : inexact-ok
+= atanpi upward ibm128 0x1p-60 : 0x5.17cc1b727220a94fe13abe8faap-64 : inexact-ok
+atanpi 2.5
+= atanpi downward binary32 0x2.8p+0 : 0x6.0fe59p-4 : inexact-ok
+= atanpi tonearest binary32 0x2.8p+0 : 0x6.0fe598p-4 : inexact-ok
+= atanpi towardzero binary32 0x2.8p+0 : 0x6.0fe59p-4 : inexact-ok
+= atanpi upward binary32 0x2.8p+0 : 0x6.0fe598p-4 : inexact-ok
+= atanpi downward binary64 0x2.8p+0 : 0x6.0fe595af0f20cp-4 : inexact-ok
+= atanpi tonearest binary64 0x2.8p+0 : 0x6.0fe595af0f20cp-4 : inexact-ok
+= atanpi towardzero binary64 0x2.8p+0 : 0x6.0fe595af0f20cp-4 : inexact-ok
+= atanpi upward binary64 0x2.8p+0 : 0x6.0fe595af0f21p-4 : inexact-ok
+= atanpi downward intel96 0x2.8p+0 : 0x6.0fe595af0f20cca8p-4 : inexact-ok
+= atanpi tonearest intel96 0x2.8p+0 : 0x6.0fe595af0f20ccbp-4 : inexact-ok
+= atanpi towardzero intel96 0x2.8p+0 : 0x6.0fe595af0f20cca8p-4 : inexact-ok
+= atanpi upward intel96 0x2.8p+0 : 0x6.0fe595af0f20ccbp-4 : inexact-ok
+= atanpi downward m68k96 0x2.8p+0 : 0x6.0fe595af0f20cca8p-4 : inexact-ok
+= atanpi tonearest m68k96 0x2.8p+0 : 0x6.0fe595af0f20ccbp-4 : inexact-ok
+= atanpi towardzero m68k96 0x2.8p+0 : 0x6.0fe595af0f20cca8p-4 : inexact-ok
+= atanpi upward m68k96 0x2.8p+0 : 0x6.0fe595af0f20ccbp-4 : inexact-ok
+= atanpi downward binary128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcdcp-4 : inexact-ok
+= atanpi tonearest binary128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcep-4 : inexact-ok
+= atanpi towardzero binary128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcdcp-4 : inexact-ok
+= atanpi upward binary128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcep-4 : inexact-ok
+= atanpi downward ibm128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcp-4 : inexact-ok
+= atanpi tonearest ibm128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcp-4 : inexact-ok
+= atanpi towardzero ibm128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bcp-4 : inexact-ok
+= atanpi upward ibm128 0x2.8p+0 : 0x6.0fe595af0f20ccaca63bfed1bep-4 : inexact-ok
+atanpi 10
+= atanpi downward binary32 0xap+0 : 0x7.7e0d6p-4 : inexact-ok
+= atanpi tonearest binary32 0xap+0 : 0x7.7e0d6p-4 : inexact-ok
+= atanpi towardzero binary32 0xap+0 : 0x7.7e0d6p-4 : inexact-ok
+= atanpi upward binary32 0xap+0 : 0x7.7e0d68p-4 : inexact-ok
+= atanpi downward binary64 0xap+0 : 0x7.7e0d6242fe56cp-4 : inexact-ok
+= atanpi tonearest binary64 0xap+0 : 0x7.7e0d6242fe56cp-4 : inexact-ok
+= atanpi towardzero binary64 0xap+0 : 0x7.7e0d6242fe56cp-4 : inexact-ok
+= atanpi upward binary64 0xap+0 : 0x7.7e0d6242fe57p-4 : inexact-ok
+= atanpi downward intel96 0xap+0 : 0x7.7e0d6242fe56c4cp-4 : inexact-ok
+= atanpi tonearest intel96 0xap+0 : 0x7.7e0d6242fe56c4c8p-4 : inexact-ok
+= atanpi towardzero intel96 0xap+0 : 0x7.7e0d6242fe56c4cp-4 : inexact-ok
+= atanpi upward intel96 0xap+0 : 0x7.7e0d6242fe56c4c8p-4 : inexact-ok
+= atanpi downward m68k96 0xap+0 : 0x7.7e0d6242fe56c4cp-4 : inexact-ok
+= atanpi tonearest m68k96 0xap+0 : 0x7.7e0d6242fe56c4c8p-4 : inexact-ok
+= atanpi towardzero m68k96 0xap+0 : 0x7.7e0d6242fe56c4cp-4 : inexact-ok
+= atanpi upward m68k96 0xap+0 : 0x7.7e0d6242fe56c4c8p-4 : inexact-ok
+= atanpi downward binary128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff56015p-4 : inexact-ok
+= atanpi tonearest binary128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff56015p-4 : inexact-ok
+= atanpi towardzero binary128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff56015p-4 : inexact-ok
+= atanpi upward binary128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff560154p-4 : inexact-ok
+= atanpi downward ibm128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff56p-4 : inexact-ok
+= atanpi tonearest ibm128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff5602p-4 : inexact-ok
+= atanpi towardzero ibm128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff56p-4 : inexact-ok
+= atanpi upward ibm128 0xap+0 : 0x7.7e0d6242fe56c4c47814ff5602p-4 : inexact-ok
+atanpi 1e6
+= atanpi downward binary32 0xf.424p+16 : 0x7.ffffa8p-4 : inexact-ok
+= atanpi tonearest binary32 0xf.424p+16 : 0x7.ffffa8p-4 : inexact-ok
+= atanpi towardzero binary32 0xf.424p+16 : 0x7.ffffa8p-4 : inexact-ok
+= atanpi upward binary32 0xf.424p+16 : 0x7.ffffbp-4 : inexact-ok
+= atanpi downward binary64 0xf.424p+16 : 0x7.ffffaa8de943p-4 : inexact-ok
+= atanpi tonearest binary64 0xf.424p+16 : 0x7.ffffaa8de9434p-4 : inexact-ok
+= atanpi towardzero binary64 0xf.424p+16 : 0x7.ffffaa8de943p-4 : inexact-ok
+= atanpi upward binary64 0xf.424p+16 : 0x7.ffffaa8de9434p-4 : inexact-ok
+= atanpi downward intel96 0xf.424p+16 : 0x7.ffffaa8de94331d8p-4 : inexact-ok
+= atanpi tonearest intel96 0xf.424p+16 : 0x7.ffffaa8de94331ep-4 : inexact-ok
+= atanpi towardzero intel96 0xf.424p+16 : 0x7.ffffaa8de94331d8p-4 : inexact-ok
+= atanpi upward intel96 0xf.424p+16 : 0x7.ffffaa8de94331ep-4 : inexact-ok
+= atanpi downward m68k96 0xf.424p+16 : 0x7.ffffaa8de94331d8p-4 : inexact-ok
+= atanpi tonearest m68k96 0xf.424p+16 : 0x7.ffffaa8de94331ep-4 : inexact-ok
+= atanpi towardzero m68k96 0xf.424p+16 : 0x7.ffffaa8de94331d8p-4 : inexact-ok
+= atanpi upward m68k96 0xf.424p+16 : 0x7.ffffaa8de94331ep-4 : inexact-ok
+= atanpi downward binary128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e23p-4 : inexact-ok
+= atanpi tonearest binary128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e234p-4 : inexact-ok
+= atanpi towardzero binary128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e23p-4 : inexact-ok
+= atanpi upward binary128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e234p-4 : inexact-ok
+= atanpi downward ibm128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e2p-4 : inexact-ok
+= atanpi tonearest ibm128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e2p-4 : inexact-ok
+= atanpi towardzero ibm128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e2p-4 : inexact-ok
+= atanpi upward ibm128 0xf.424p+16 : 0x7.ffffaa8de94331df46e41084e4p-4 : inexact-ok
+atanpi 0x1p31
+= atanpi downward binary32 0x8p+28 : 0x7.fffff8p-4 : inexact-ok
+= atanpi tonearest binary32 0x8p+28 : 0x8p-4 : inexact-ok
+= atanpi towardzero binary32 0x8p+28 : 0x7.fffff8p-4 : inexact-ok
+= atanpi upward binary32 0x8p+28 : 0x8p-4 : inexact-ok
+= atanpi downward binary64 0x8p+28 : 0x7.fffffff5d067cp-4 : inexact-ok
+= atanpi tonearest binary64 0x8p+28 : 0x7.fffffff5d067cp-4 : inexact-ok
+= atanpi towardzero binary64 0x8p+28 : 0x7.fffffff5d067cp-4 : inexact-ok
+= atanpi upward binary64 0x8p+28 : 0x7.fffffff5d068p-4 : inexact-ok
+= atanpi downward intel96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi tonearest intel96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi towardzero intel96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi upward intel96 0x8p+28 : 0x7.fffffff5d067c92p-4 : inexact-ok
+= atanpi downward m68k96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi tonearest m68k96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi towardzero m68k96 0x8p+28 : 0x7.fffffff5d067c918p-4 : inexact-ok
+= atanpi upward m68k96 0x8p+28 : 0x7.fffffff5d067c92p-4 : inexact-ok
+= atanpi downward binary128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd254p-4 : inexact-ok
+= atanpi tonearest binary128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd254p-4 : inexact-ok
+= atanpi towardzero binary128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd254p-4 : inexact-ok
+= atanpi upward binary128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd258p-4 : inexact-ok
+= atanpi downward ibm128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd2p-4 : inexact-ok
+= atanpi tonearest ibm128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd2p-4 : inexact-ok
+= atanpi towardzero ibm128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd2p-4 : inexact-ok
+= atanpi upward ibm128 0x8p+28 : 0x7.fffffff5d067c91b1bbead6dd4p-4 : inexact-ok
+atanpi 0x1p-100
+= atanpi downward binary32 0x1p-100 : 0x5.17cc18p-104 : inexact-ok
+= atanpi tonearest binary32 0x1p-100 : 0x5.17cc18p-104 : inexact-ok
+= atanpi towardzero binary32 0x1p-100 : 0x5.17cc18p-104 : inexact-ok
+= atanpi upward binary32 0x1p-100 : 0x5.17cc2p-104 : inexact-ok
+= atanpi downward binary64 0x1p-100 : 0x5.17cc1b7272208p-104 : inexact-ok
+= atanpi tonearest binary64 0x1p-100 : 0x5.17cc1b727220cp-104 : inexact-ok
+= atanpi towardzero binary64 0x1p-100 : 0x5.17cc1b7272208p-104 : inexact-ok
+= atanpi upward binary64 0x1p-100 : 0x5.17cc1b727220cp-104 : inexact-ok
+= atanpi downward intel96 0x1p-100 : 0x5.17cc1b727220a948p-104 : inexact-ok
+= atanpi tonearest intel96 0x1p-100 : 0x5.17cc1b727220a95p-104 : inexact-ok
+= atanpi towardzero intel96 0x1p-100 : 0x5.17cc1b727220a948p-104 : inexact-ok
+= atanpi upward intel96 0x1p-100 : 0x5.17cc1b727220a95p-104 : inexact-ok
+= atanpi downward m68k96 0x1p-100 : 0x5.17cc1b727220a948p-104 : inexact-ok
+= atanpi tonearest m68k96 0x1p-100 : 0x5.17cc1b727220a95p-104 : inexact-ok
+= atanpi towardzero m68k96 0x1p-100 : 0x5.17cc1b727220a948p-104 : inexact-ok
+= atanpi upward m68k96 0x1p-100 : 0x5.17cc1b727220a95p-104 : inexact-ok
+= atanpi downward binary128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa9a4p-104 : inexact-ok
+= atanpi tonearest binary128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa9a8p-104 : inexact-ok
+= atanpi towardzero binary128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa9a4p-104 : inexact-ok
+= atanpi upward binary128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa9a8p-104 : inexact-ok
+= atanpi downward ibm128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa8p-104 : inexact-ok
+= atanpi tonearest ibm128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8faap-104 : inexact-ok
+= atanpi towardzero ibm128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8fa8p-104 : inexact-ok
+= atanpi upward ibm128 0x1p-100 : 0x5.17cc1b727220a94fe13abe8faap-104 : inexact-ok
+atanpi 0x1p-600
+= atanpi downward binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi tonearest binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi towardzero binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi upward binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi downward intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi tonearest binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi towardzero binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi upward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi downward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi tonearest ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi towardzero ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi upward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary64 0x1p-600 : 0x5.17cc1b7272208p-604 : inexact-ok
+= atanpi tonearest binary64 0x1p-600 : 0x5.17cc1b727220cp-604 : inexact-ok
+= atanpi towardzero binary64 0x1p-600 : 0x5.17cc1b7272208p-604 : inexact-ok
+= atanpi upward binary64 0x1p-600 : 0x5.17cc1b727220cp-604 : inexact-ok
+= atanpi downward intel96 0x1p-600 : 0x5.17cc1b727220a948p-604 : inexact-ok
+= atanpi tonearest intel96 0x1p-600 : 0x5.17cc1b727220a95p-604 : inexact-ok
+= atanpi towardzero intel96 0x1p-600 : 0x5.17cc1b727220a948p-604 : inexact-ok
+= atanpi upward intel96 0x1p-600 : 0x5.17cc1b727220a95p-604 : inexact-ok
+= atanpi downward m68k96 0x1p-600 : 0x5.17cc1b727220a948p-604 : inexact-ok
+= atanpi tonearest m68k96 0x1p-600 : 0x5.17cc1b727220a95p-604 : inexact-ok
+= atanpi towardzero m68k96 0x1p-600 : 0x5.17cc1b727220a948p-604 : inexact-ok
+= atanpi upward m68k96 0x1p-600 : 0x5.17cc1b727220a95p-604 : inexact-ok
+= atanpi downward binary128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa9a4p-604 : inexact-ok
+= atanpi tonearest binary128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa9a8p-604 : inexact-ok
+= atanpi towardzero binary128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa9a4p-604 : inexact-ok
+= atanpi upward binary128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa9a8p-604 : inexact-ok
+= atanpi downward ibm128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa8p-604 : inexact-ok
+= atanpi tonearest ibm128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8faap-604 : inexact-ok
+= atanpi towardzero ibm128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8fa8p-604 : inexact-ok
+= atanpi upward ibm128 0x1p-600 : 0x5.17cc1b727220a94fe13abe8faap-604 : inexact-ok
+atanpi 0x1p-10000
+= atanpi downward binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi tonearest binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi towardzero binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi upward binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi downward intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi tonearest binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi towardzero binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi upward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi downward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi tonearest ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi towardzero ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi upward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= atanpi downward binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi tonearest intel96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero intel96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward intel96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi downward m68k96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi tonearest m68k96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero m68k96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward m68k96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi downward binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi tonearest binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi towardzero binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi upward binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi downward ibm128 0x4p-1076 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi tonearest ibm128 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero ibm128 0x4p-1076 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi upward ibm128 0x4p-1076 : 0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x1p-10000 : 0x5.17cc1b727220a948p-10004 : inexact-ok
+= atanpi tonearest intel96 0x1p-10000 : 0x5.17cc1b727220a95p-10004 : inexact-ok
+= atanpi towardzero intel96 0x1p-10000 : 0x5.17cc1b727220a948p-10004 : inexact-ok
+= atanpi upward intel96 0x1p-10000 : 0x5.17cc1b727220a95p-10004 : inexact-ok
+= atanpi downward m68k96 0x1p-10000 : 0x5.17cc1b727220a948p-10004 : inexact-ok
+= atanpi tonearest m68k96 0x1p-10000 : 0x5.17cc1b727220a95p-10004 : inexact-ok
+= atanpi towardzero m68k96 0x1p-10000 : 0x5.17cc1b727220a948p-10004 : inexact-ok
+= atanpi upward m68k96 0x1p-10000 : 0x5.17cc1b727220a95p-10004 : inexact-ok
+= atanpi downward binary128 0x1p-10000 : 0x5.17cc1b727220a94fe13abe8fa9a4p-10004 : inexact-ok
+= atanpi tonearest binary128 0x1p-10000 : 0x5.17cc1b727220a94fe13abe8fa9a8p-10004 : inexact-ok
+= atanpi towardzero binary128 0x1p-10000 : 0x5.17cc1b727220a94fe13abe8fa9a4p-10004 : inexact-ok
+= atanpi upward binary128 0x1p-10000 : 0x5.17cc1b727220a94fe13abe8fa9a8p-10004 : inexact-ok
+atanpi -0x3.b02d84p-4
+= atanpi downward binary32 -0x3.b02d84p-4 : -0x1.2761aap-4 : inexact-ok
+= atanpi tonearest binary32 -0x3.b02d84p-4 : -0x1.2761a8p-4 : inexact-ok
+= atanpi towardzero binary32 -0x3.b02d84p-4 : -0x1.2761a8p-4 : inexact-ok
+= atanpi upward binary32 -0x3.b02d84p-4 : -0x1.2761a8p-4 : inexact-ok
+= atanpi downward binary64 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8dp-4 : inexact-ok
+= atanpi tonearest binary64 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8dp-4 : inexact-ok
+= atanpi towardzero binary64 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cp-4 : inexact-ok
+= atanpi upward binary64 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cp-4 : inexact-ok
+= atanpi downward intel96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce6p-4 : inexact-ok
+= atanpi tonearest intel96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi towardzero intel96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi upward intel96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi downward m68k96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce6p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi towardzero m68k96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi upward m68k96 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4p-4 : inexact-ok
+= atanpi downward binary128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada4147146p-4 : inexact-ok
+= atanpi tonearest binary128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada4147145p-4 : inexact-ok
+= atanpi towardzero binary128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada4147145p-4 : inexact-ok
+= atanpi upward binary128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada4147145p-4 : inexact-ok
+= atanpi downward ibm128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada414718p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada414718p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada41471p-4 : inexact-ok
+= atanpi upward ibm128 -0x3.b02d84p-4 : -0x1.2761a8c2bbb8cce4d6ada41471p-4 : inexact-ok
+atanpi -0x3.3fb708p-4
+= atanpi downward binary32 -0x3.3fb708p-4 : -0x1.053126p-4 : inexact-ok
+= atanpi tonearest binary32 -0x3.3fb708p-4 : -0x1.053124p-4 : inexact-ok
+= atanpi towardzero binary32 -0x3.3fb708p-4 : -0x1.053124p-4 : inexact-ok
+= atanpi upward binary32 -0x3.3fb708p-4 : -0x1.053124p-4 : inexact-ok
+= atanpi downward binary64 -0x3.3fb708p-4 : -0x1.0531241695697p-4 : inexact-ok
+= atanpi tonearest binary64 -0x3.3fb708p-4 : -0x1.0531241695696p-4 : inexact-ok
+= atanpi towardzero binary64 -0x3.3fb708p-4 : -0x1.0531241695696p-4 : inexact-ok
+= atanpi upward binary64 -0x3.3fb708p-4 : -0x1.0531241695696p-4 : inexact-ok
+= atanpi downward intel96 -0x3.3fb708p-4 : -0x1.053124169569617p-4 : inexact-ok
+= atanpi tonearest intel96 -0x3.3fb708p-4 : -0x1.053124169569617p-4 : inexact-ok
+= atanpi towardzero intel96 -0x3.3fb708p-4 : -0x1.053124169569616ep-4 : inexact-ok
+= atanpi upward intel96 -0x3.3fb708p-4 : -0x1.053124169569616ep-4 : inexact-ok
+= atanpi downward m68k96 -0x3.3fb708p-4 : -0x1.053124169569617p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x3.3fb708p-4 : -0x1.053124169569617p-4 : inexact-ok
+= atanpi towardzero m68k96 -0x3.3fb708p-4 : -0x1.053124169569616ep-4 : inexact-ok
+= atanpi upward m68k96 -0x3.3fb708p-4 : -0x1.053124169569616ep-4 : inexact-ok
+= atanpi downward binary128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c374cap-4 : inexact-ok
+= atanpi tonearest binary128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c374c9p-4 : inexact-ok
+= atanpi towardzero binary128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c374c9p-4 : inexact-ok
+= atanpi upward binary128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c374c9p-4 : inexact-ok
+= atanpi downward ibm128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c375p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c375p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c3748p-4 : inexact-ok
+= atanpi upward ibm128 -0x3.3fb708p-4 : -0x1.053124169569616f81a493c3748p-4 : inexact-ok
+atanpi -0x2.3249ap+0
+= atanpi downward binary32 -0x2.3249ap+0 : -0x5.d2f7bp-4 : inexact-ok
+= atanpi tonearest binary32 -0x2.3249ap+0 : -0x5.d2f7bp-4 : inexact-ok
+= atanpi towardzero binary32 -0x2.3249ap+0 : -0x5.d2f7a8p-4 : inexact-ok
+= atanpi upward binary32 -0x2.3249ap+0 : -0x5.d2f7a8p-4 : inexact-ok
+= atanpi downward binary64 -0x2.3249ap+0 : -0x5.d2f7ac19ac6ecp-4 : inexact-ok
+= atanpi tonearest binary64 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e8p-4 : inexact-ok
+= atanpi towardzero binary64 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e8p-4 : inexact-ok
+= atanpi upward binary64 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e8p-4 : inexact-ok
+= atanpi downward intel96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92fp-4 : inexact-ok
+= atanpi tonearest intel96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi towardzero intel96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi upward intel96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi downward m68k96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92fp-4 : inexact-ok
+= atanpi tonearest m68k96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi towardzero m68k96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi upward m68k96 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e8p-4 : inexact-ok
+= atanpi downward binary128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ac8p-4 : inexact-ok
+= atanpi tonearest binary128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ac4p-4 : inexact-ok
+= atanpi towardzero binary128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ac4p-4 : inexact-ok
+= atanpi upward binary128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ac4p-4 : inexact-ok
+= atanpi downward ibm128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111cp-4 : inexact-ok
+= atanpi tonearest ibm128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ap-4 : inexact-ok
+= atanpi towardzero ibm128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ap-4 : inexact-ok
+= atanpi upward ibm128 -0x2.3249ap+0 : -0x5.d2f7ac19ac6e92e956d6e6111ap-4 : inexact-ok
+atanpi -0x1.363f46p+0
+= atanpi downward binary32 -0x1.363f46p+0 : -0x4.7c868p-4 : inexact-ok
+= atanpi tonearest binary32 -0x1.363f46p+0 : -0x4.7c8678p-4 : inexact-ok
+= atanpi towardzero binary32 -0x1.363f46p+0 : -0x4.7c8678p-4 : inexact-ok
+= atanpi upward binary32 -0x1.363f46p+0 : -0x4.7c8678p-4 : inexact-ok
+= atanpi downward binary64 -0x1.363f46p+0 : -0x4.7c867ba081c3cp-4 : inexact-ok
+= atanpi tonearest binary64 -0x1.363f46p+0 : -0x4.7c867ba081c38p-4 : inexact-ok
+= atanpi towardzero binary64 -0x1.363f46p+0 : -0x4.7c867ba081c38p-4 : inexact-ok
+= atanpi upward binary64 -0x1.363f46p+0 : -0x4.7c867ba081c38p-4 : inexact-ok
+= atanpi downward intel96 -0x1.363f46p+0 : -0x4.7c867ba081c38ee8p-4 : inexact-ok
+= atanpi tonearest intel96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi towardzero intel96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi upward intel96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi downward m68k96 -0x1.363f46p+0 : -0x4.7c867ba081c38ee8p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi towardzero m68k96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi upward m68k96 -0x1.363f46p+0 : -0x4.7c867ba081c38eep-4 : inexact-ok
+= atanpi downward binary128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059fb8p-4 : inexact-ok
+= atanpi tonearest binary128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059fb8p-4 : inexact-ok
+= atanpi towardzero binary128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059fb4p-4 : inexact-ok
+= atanpi upward binary128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059fb4p-4 : inexact-ok
+= atanpi downward ibm128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c494305ap-4 : inexact-ok
+= atanpi tonearest ibm128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c494305ap-4 : inexact-ok
+= atanpi towardzero ibm128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059ep-4 : inexact-ok
+= atanpi upward ibm128 -0x1.363f46p+0 : -0x4.7c867ba081c38ee03c4943059ep-4 : inexact-ok
+atanpi -0x1.ad4c0ap+0
+= atanpi downward binary32 -0x1.ad4c0ap+0 : -0x5.42eecp-4 : inexact-ok
+= atanpi tonearest binary32 -0x1.ad4c0ap+0 : -0x5.42eecp-4 : inexact-ok
+= atanpi towardzero binary32 -0x1.ad4c0ap+0 : -0x5.42eeb8p-4 : inexact-ok
+= atanpi upward binary32 -0x1.ad4c0ap+0 : -0x5.42eeb8p-4 : inexact-ok
+= atanpi downward binary64 -0x1.ad4c0ap+0 : -0x5.42eebe541dffcp-4 : inexact-ok
+= atanpi tonearest binary64 -0x1.ad4c0ap+0 : -0x5.42eebe541dff8p-4 : inexact-ok
+= atanpi towardzero binary64 -0x1.ad4c0ap+0 : -0x5.42eebe541dff8p-4 : inexact-ok
+= atanpi upward binary64 -0x1.ad4c0ap+0 : -0x5.42eebe541dff8p-4 : inexact-ok
+= atanpi downward intel96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f8p-4 : inexact-ok
+= atanpi tonearest intel96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi towardzero intel96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi upward intel96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi downward m68k96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f8p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi towardzero m68k96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi upward m68k96 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83fp-4 : inexact-ok
+= atanpi downward binary128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b61p-4 : inexact-ok
+= atanpi tonearest binary128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b60cp-4 : inexact-ok
+= atanpi towardzero binary128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b60cp-4 : inexact-ok
+= atanpi upward binary128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b60cp-4 : inexact-ok
+= atanpi downward ibm128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b8p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b6p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b6p-4 : inexact-ok
+= atanpi upward ibm128 -0x1.ad4c0ap+0 : -0x5.42eebe541dff83f075ed4fb4b6p-4 : inexact-ok
+atanpi -0x3.eb8e18p+0
+= atanpi downward binary32 -0x3.eb8e18p+0 : -0x6.ba5afp-4 : inexact-ok
+= atanpi tonearest binary32 -0x3.eb8e18p+0 : -0x6.ba5afp-4 : inexact-ok
+= atanpi towardzero binary32 -0x3.eb8e18p+0 : -0x6.ba5ae8p-4 : inexact-ok
+= atanpi upward binary32 -0x3.eb8e18p+0 : -0x6.ba5ae8p-4 : inexact-ok
+= atanpi downward binary64 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb4p-4 : inexact-ok
+= atanpi tonearest binary64 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb4p-4 : inexact-ok
+= atanpi towardzero binary64 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fbp-4 : inexact-ok
+= atanpi upward binary64 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fbp-4 : inexact-ok
+= atanpi downward intel96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3edp-4 : inexact-ok
+= atanpi tonearest intel96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3edp-4 : inexact-ok
+= atanpi towardzero intel96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ec8p-4 : inexact-ok
+= atanpi upward intel96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ec8p-4 : inexact-ok
+= atanpi downward m68k96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3edp-4 : inexact-ok
+= atanpi tonearest m68k96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3edp-4 : inexact-ok
+= atanpi towardzero m68k96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ec8p-4 : inexact-ok
+= atanpi upward m68k96 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ec8p-4 : inexact-ok
+= atanpi downward binary128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc5672p-4 : inexact-ok
+= atanpi tonearest binary128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc5672p-4 : inexact-ok
+= atanpi towardzero binary128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc5671cp-4 : inexact-ok
+= atanpi upward binary128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc5671cp-4 : inexact-ok
+= atanpi downward ibm128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc568p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc568p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc566p-4 : inexact-ok
+= atanpi upward ibm128 -0x3.eb8e18p+0 : -0x6.ba5aef41e9fb3ece4eb52cc566p-4 : inexact-ok
+atanpi 0x3.53c188p+0
+= atanpi downward binary32 0x3.53c188p+0 : 0x6.8355cp-4 : inexact-ok
+= atanpi tonearest binary32 0x3.53c188p+0 : 0x6.8355cp-4 : inexact-ok
+= atanpi towardzero binary32 0x3.53c188p+0 : 0x6.8355cp-4 : inexact-ok
+= atanpi upward binary32 0x3.53c188p+0 : 0x6.8355c8p-4 : inexact-ok
+= atanpi downward binary64 0x3.53c188p+0 : 0x6.8355c1a796974p-4 : inexact-ok
+= atanpi tonearest binary64 0x3.53c188p+0 : 0x6.8355c1a796978p-4 : inexact-ok
+= atanpi towardzero binary64 0x3.53c188p+0 : 0x6.8355c1a796974p-4 : inexact-ok
+= atanpi upward binary64 0x3.53c188p+0 : 0x6.8355c1a796978p-4 : inexact-ok
+= atanpi downward intel96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi tonearest intel96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi towardzero intel96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi upward intel96 0x3.53c188p+0 : 0x6.8355c1a796977d08p-4 : inexact-ok
+= atanpi downward m68k96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi tonearest m68k96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi towardzero m68k96 0x3.53c188p+0 : 0x6.8355c1a796977dp-4 : inexact-ok
+= atanpi upward m68k96 0x3.53c188p+0 : 0x6.8355c1a796977d08p-4 : inexact-ok
+= atanpi downward binary128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299b74p-4 : inexact-ok
+= atanpi tonearest binary128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299b78p-4 : inexact-ok
+= atanpi towardzero binary128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299b74p-4 : inexact-ok
+= atanpi upward binary128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299b78p-4 : inexact-ok
+= atanpi downward ibm128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299ap-4 : inexact-ok
+= atanpi tonearest ibm128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299cp-4 : inexact-ok
+= atanpi towardzero ibm128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299ap-4 : inexact-ok
+= atanpi upward ibm128 0x3.53c188p+0 : 0x6.8355c1a796977d00f9aaa3299cp-4 : inexact-ok
+atanpi -0x1.58c83p+0
+= atanpi downward binary32 -0x1.58c83p+0 : -0x4.bf499p-4 : inexact-ok
+= atanpi tonearest binary32 -0x1.58c83p+0 : -0x4.bf499p-4 : inexact-ok
+= atanpi towardzero binary32 -0x1.58c83p+0 : -0x4.bf4988p-4 : inexact-ok
+= atanpi upward binary32 -0x1.58c83p+0 : -0x4.bf4988p-4 : inexact-ok
+= atanpi downward binary64 -0x1.58c83p+0 : -0x4.bf498c943b934p-4 : inexact-ok
+= atanpi tonearest binary64 -0x1.58c83p+0 : -0x4.bf498c943b93p-4 : inexact-ok
+= atanpi towardzero binary64 -0x1.58c83p+0 : -0x4.bf498c943b93p-4 : inexact-ok
+= atanpi upward binary64 -0x1.58c83p+0 : -0x4.bf498c943b93p-4 : inexact-ok
+= atanpi downward intel96 -0x1.58c83p+0 : -0x4.bf498c943b930b18p-4 : inexact-ok
+= atanpi tonearest intel96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi towardzero intel96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi upward intel96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi downward m68k96 -0x1.58c83p+0 : -0x4.bf498c943b930b18p-4 : inexact-ok
+= atanpi tonearest m68k96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi towardzero m68k96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi upward m68k96 -0x1.58c83p+0 : -0x4.bf498c943b930b1p-4 : inexact-ok
+= atanpi downward binary128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4c4p-4 : inexact-ok
+= atanpi tonearest binary128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4cp-4 : inexact-ok
+= atanpi towardzero binary128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4cp-4 : inexact-ok
+= atanpi upward binary128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4cp-4 : inexact-ok
+= atanpi downward ibm128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b6p-4 : inexact-ok
+= atanpi tonearest ibm128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4p-4 : inexact-ok
+= atanpi towardzero ibm128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4p-4 : inexact-ok
+= atanpi upward ibm128 -0x1.58c83p+0 : -0x4.bf498c943b930b1011b646f3b4p-4 : inexact-ok
+atanpi 0x1.626772p-1
+= atanpi downward binary32 0xb.133b9p-4 : 0x3.156898p-4 : inexact-ok
+= atanpi tonearest binary32 0xb.133b9p-4 : 0x3.156898p-4 : inexact-ok
+= atanpi towardzero binary32 0xb.133b9p-4 : 0x3.156898p-4 : inexact-ok
+= atanpi upward binary32 0xb.133b9p-4 : 0x3.15689cp-4 : inexact-ok
+= atanpi downward binary64 0xb.133b9p-4 : 0x3.156898f544dcap-4 : inexact-ok
+= atanpi tonearest binary64 0xb.133b9p-4 : 0x3.156898f544dcap-4 : inexact-ok
+= atanpi towardzero binary64 0xb.133b9p-4 : 0x3.156898f544dcap-4 : inexact-ok
+= atanpi upward binary64 0xb.133b9p-4 : 0x3.156898f544dccp-4 : inexact-ok
+= atanpi downward intel96 0xb.133b9p-4 : 0x3.156898f544dca52cp-4 : inexact-ok
+= atanpi tonearest intel96 0xb.133b9p-4 : 0x3.156898f544dca53p-4 : inexact-ok
+= atanpi towardzero intel96 0xb.133b9p-4 : 0x3.156898f544dca52cp-4 : inexact-ok
+= atanpi upward intel96 0xb.133b9p-4 : 0x3.156898f544dca53p-4 : inexact-ok
+= atanpi downward m68k96 0xb.133b9p-4 : 0x3.156898f544dca52cp-4 : inexact-ok
+= atanpi tonearest m68k96 0xb.133b9p-4 : 0x3.156898f544dca53p-4 : inexact-ok
+= atanpi towardzero m68k96 0xb.133b9p-4 : 0x3.156898f544dca52cp-4 : inexact-ok
+= atanpi upward m68k96 0xb.133b9p-4 : 0x3.156898f544dca53p-4 : inexact-ok
+= atanpi downward binary128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e1276ep-4 : inexact-ok
+= atanpi tonearest binary128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e1277p-4 : inexact-ok
+= atanpi towardzero binary128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e1276ep-4 : inexact-ok
+= atanpi upward binary128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e1277p-4 : inexact-ok
+= atanpi downward ibm128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e127p-4 : inexact-ok
+= atanpi tonearest ibm128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e127p-4 : inexact-ok
+= atanpi towardzero ibm128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e127p-4 : inexact-ok
+= atanpi upward ibm128 0xb.133b9p-4 : 0x3.156898f544dca52f89f818e128p-4 : inexact-ok
+atanpi min
+= atanpi downward binary32 0x4p-128 : 0x1.45f3p-128 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary32 0x4p-128 : 0x1.45f308p-128 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary32 0x4p-128 : 0x1.45f3p-128 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary32 0x4p-128 : 0x1.45f308p-128 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 0x4p-128 : 0x1.45f306dc9c882p-128 : inexact-ok
+= atanpi tonearest binary64 0x4p-128 : 0x1.45f306dc9c883p-128 : inexact-ok
+= atanpi towardzero binary64 0x4p-128 : 0x1.45f306dc9c882p-128 : inexact-ok
+= atanpi upward binary64 0x4p-128 : 0x1.45f306dc9c883p-128 : inexact-ok
+= atanpi downward intel96 0x4p-128 : 0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi tonearest intel96 0x4p-128 : 0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi towardzero intel96 0x4p-128 : 0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi upward intel96 0x4p-128 : 0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi downward m68k96 0x4p-128 : 0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi tonearest m68k96 0x4p-128 : 0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi towardzero m68k96 0x4p-128 : 0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi upward m68k96 0x4p-128 : 0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi downward binary128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea69p-128 : inexact-ok
+= atanpi tonearest binary128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea6ap-128 : inexact-ok
+= atanpi towardzero binary128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea69p-128 : inexact-ok
+= atanpi upward binary128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea6ap-128 : inexact-ok
+= atanpi downward ibm128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3eap-128 : inexact-ok
+= atanpi tonearest ibm128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea8p-128 : inexact-ok
+= atanpi towardzero ibm128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3eap-128 : inexact-ok
+= atanpi upward ibm128 0x4p-128 : 0x1.45f306dc9c882a53f84eafa3ea8p-128 : inexact-ok
+= atanpi downward binary64 0x4p-1024 : 0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary64 0x4p-1024 : 0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary64 0x4p-1024 : 0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary64 0x4p-1024 : 0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x4p-1024 : 0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi tonearest intel96 0x4p-1024 : 0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi towardzero intel96 0x4p-1024 : 0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi upward intel96 0x4p-1024 : 0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi downward m68k96 0x4p-1024 : 0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi tonearest m68k96 0x4p-1024 : 0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi towardzero m68k96 0x4p-1024 : 0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi upward m68k96 0x4p-1024 : 0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi downward binary128 0x4p-1024 : 0x1.45f306dc9c882a53f84eafa3ea69p-1024 : inexact-ok
+= atanpi tonearest binary128 0x4p-1024 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1024 : inexact-ok
+= atanpi towardzero binary128 0x4p-1024 : 0x1.45f306dc9c882a53f84eafa3ea69p-1024 : inexact-ok
+= atanpi upward binary128 0x4p-1024 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1024 : inexact-ok
+= atanpi downward ibm128 0x4p-1024 : 0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest ibm128 0x4p-1024 : 0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero ibm128 0x4p-1024 : 0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi upward ibm128 0x4p-1024 : 0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x4p-16384 : 0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest intel96 0x4p-16384 : 0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero intel96 0x4p-16384 : 0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward intel96 0x4p-16384 : 0x1.45f306dc9c882a58p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 0x4p-16384 : 0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 0x4p-16384 : 0x1.45f306dc9c882a54p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 0x4p-16384 : 0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 0x4p-16384 : 0x1.45f306dc9c882a54p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 0x4p-16384 : 0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 0x4p-16384 : 0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 0x4p-16384 : 0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 0x4p-16384 : 0x1.45f306dc9c882a53f84eafa3ea6cp-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest intel96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero intel96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward intel96 0x2p-16384 : 0xa.2f9836e4e44153p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 0x2p-16384 : 0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 0x2p-16384 : 0xa.2f9836e4e44152cp-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 0x2p-16384 : 0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 0x2p-16384 : 0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 0x2p-16384 : 0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 0x2p-16384 : 0xa.2f9836e4e441529fc2757d1f538p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 0x8p-972 : 0x2.8be60db939104p-972 : inexact-ok
+= atanpi tonearest binary64 0x8p-972 : 0x2.8be60db939106p-972 : inexact-ok
+= atanpi towardzero binary64 0x8p-972 : 0x2.8be60db939104p-972 : inexact-ok
+= atanpi upward binary64 0x8p-972 : 0x2.8be60db939106p-972 : inexact-ok
+= atanpi downward intel96 0x8p-972 : 0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi tonearest intel96 0x8p-972 : 0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi towardzero intel96 0x8p-972 : 0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi upward intel96 0x8p-972 : 0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi downward m68k96 0x8p-972 : 0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi tonearest m68k96 0x8p-972 : 0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi towardzero m68k96 0x8p-972 : 0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi upward m68k96 0x8p-972 : 0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi downward binary128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4d2p-972 : inexact-ok
+= atanpi tonearest binary128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4d4p-972 : inexact-ok
+= atanpi towardzero binary128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4d2p-972 : inexact-ok
+= atanpi upward binary128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4d4p-972 : inexact-ok
+= atanpi downward ibm128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest ibm128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero ibm128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+= atanpi upward ibm128 0x8p-972 : 0x2.8be60db9391054a7f09d5f47d8p-972 : inexact-ok underflow errno-erange-ok
+atanpi -min
+= atanpi downward binary32 -0x4p-128 : -0x1.45f308p-128 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary32 -0x4p-128 : -0x1.45f308p-128 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary32 -0x4p-128 : -0x1.45f3p-128 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary32 -0x4p-128 : -0x1.45f3p-128 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 -0x4p-128 : -0x1.45f306dc9c883p-128 : inexact-ok
+= atanpi tonearest binary64 -0x4p-128 : -0x1.45f306dc9c883p-128 : inexact-ok
+= atanpi towardzero binary64 -0x4p-128 : -0x1.45f306dc9c882p-128 : inexact-ok
+= atanpi upward binary64 -0x4p-128 : -0x1.45f306dc9c882p-128 : inexact-ok
+= atanpi downward intel96 -0x4p-128 : -0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi tonearest intel96 -0x4p-128 : -0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi towardzero intel96 -0x4p-128 : -0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi upward intel96 -0x4p-128 : -0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi downward m68k96 -0x4p-128 : -0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi tonearest m68k96 -0x4p-128 : -0x1.45f306dc9c882a54p-128 : inexact-ok
+= atanpi towardzero m68k96 -0x4p-128 : -0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi upward m68k96 -0x4p-128 : -0x1.45f306dc9c882a52p-128 : inexact-ok
+= atanpi downward binary128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea6ap-128 : inexact-ok
+= atanpi tonearest binary128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea6ap-128 : inexact-ok
+= atanpi towardzero binary128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea69p-128 : inexact-ok
+= atanpi upward binary128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea69p-128 : inexact-ok
+= atanpi downward ibm128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea8p-128 : inexact-ok
+= atanpi tonearest ibm128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3ea8p-128 : inexact-ok
+= atanpi towardzero ibm128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3eap-128 : inexact-ok
+= atanpi upward ibm128 -0x4p-128 : -0x1.45f306dc9c882a53f84eafa3eap-128 : inexact-ok
+= atanpi downward binary64 -0x4p-1024 : -0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary64 -0x4p-1024 : -0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary64 -0x4p-1024 : -0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary64 -0x4p-1024 : -0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 -0x4p-1024 : -0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi tonearest intel96 -0x4p-1024 : -0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi towardzero intel96 -0x4p-1024 : -0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi upward intel96 -0x4p-1024 : -0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi downward m68k96 -0x4p-1024 : -0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi tonearest m68k96 -0x4p-1024 : -0x1.45f306dc9c882a54p-1024 : inexact-ok
+= atanpi towardzero m68k96 -0x4p-1024 : -0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi upward m68k96 -0x4p-1024 : -0x1.45f306dc9c882a52p-1024 : inexact-ok
+= atanpi downward binary128 -0x4p-1024 : -0x1.45f306dc9c882a53f84eafa3ea6ap-1024 : inexact-ok
+= atanpi tonearest binary128 -0x4p-1024 : -0x1.45f306dc9c882a53f84eafa3ea6ap-1024 : inexact-ok
+= atanpi towardzero binary128 -0x4p-1024 : -0x1.45f306dc9c882a53f84eafa3ea69p-1024 : inexact-ok
+= atanpi upward binary128 -0x4p-1024 : -0x1.45f306dc9c882a53f84eafa3ea69p-1024 : inexact-ok
+= atanpi downward ibm128 -0x4p-1024 : -0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest ibm128 -0x4p-1024 : -0x1.45f306dc9c884p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero ibm128 -0x4p-1024 : -0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi upward ibm128 -0x4p-1024 : -0x1.45f306dc9c88p-1024 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 -0x4p-16384 : -0x1.45f306dc9c882a58p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest intel96 -0x4p-16384 : -0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero intel96 -0x4p-16384 : -0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward intel96 -0x4p-16384 : -0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 -0x4p-16384 : -0x1.45f306dc9c882a54p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 -0x4p-16384 : -0x1.45f306dc9c882a54p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 -0x4p-16384 : -0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 -0x4p-16384 : -0x1.45f306dc9c882a5p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 -0x4p-16384 : -0x1.45f306dc9c882a53f84eafa3ea6cp-16384 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 -0x4p-16384 : -0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 -0x4p-16384 : -0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 -0x4p-16384 : -0x1.45f306dc9c882a53f84eafa3ea68p-16384 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 -0x2p-16384 : -0xa.2f9836e4e44153p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest intel96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero intel96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward intel96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 -0x2p-16384 : -0xa.2f9836e4e44152cp-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 -0x2p-16384 : -0xa.2f9836e4e441528p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 -0x2p-16384 : -0xa.2f9836e4e441529fc2757d1f538p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 -0x2p-16384 : -0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 -0x2p-16384 : -0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 -0x2p-16384 : -0xa.2f9836e4e441529fc2757d1f534p-16388 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 -0x8p-972 : -0x2.8be60db939106p-972 : inexact-ok
+= atanpi tonearest binary64 -0x8p-972 : -0x2.8be60db939106p-972 : inexact-ok
+= atanpi towardzero binary64 -0x8p-972 : -0x2.8be60db939104p-972 : inexact-ok
+= atanpi upward binary64 -0x8p-972 : -0x2.8be60db939104p-972 : inexact-ok
+= atanpi downward intel96 -0x8p-972 : -0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi tonearest intel96 -0x8p-972 : -0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi towardzero intel96 -0x8p-972 : -0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi upward intel96 -0x8p-972 : -0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi downward m68k96 -0x8p-972 : -0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi tonearest m68k96 -0x8p-972 : -0x2.8be60db9391054a8p-972 : inexact-ok
+= atanpi towardzero m68k96 -0x8p-972 : -0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi upward m68k96 -0x8p-972 : -0x2.8be60db9391054a4p-972 : inexact-ok
+= atanpi downward binary128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4d4p-972 : inexact-ok
+= atanpi tonearest binary128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4d4p-972 : inexact-ok
+= atanpi towardzero binary128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4d2p-972 : inexact-ok
+= atanpi upward binary128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4d2p-972 : inexact-ok
+= atanpi downward ibm128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d8p-972 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest ibm128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero ibm128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+= atanpi upward ibm128 -0x8p-972 : -0x2.8be60db9391054a7f09d5f47d4p-972 : inexact-ok underflow errno-erange-ok
+atanpi min_subnorm
+= atanpi downward binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary32 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi tonearest binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi towardzero binary64 0x8p-152 : 0x2.8be60db939104p-152 : inexact-ok
+= atanpi upward binary64 0x8p-152 : 0x2.8be60db939106p-152 : inexact-ok
+= atanpi downward intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero intel96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward intel96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi tonearest m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero m68k96 0x8p-152 : 0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward m68k96 0x8p-152 : 0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi downward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi tonearest binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi towardzero binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi upward binary128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi downward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi tonearest ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi towardzero ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi upward ibm128 0x8p-152 : 0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi downward binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi tonearest intel96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero intel96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward intel96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi downward m68k96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi tonearest m68k96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero m68k96 0x4p-1076 : 0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward m68k96 0x4p-1076 : 0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi downward binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi tonearest binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi towardzero binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi upward binary128 0x4p-1076 : 0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi downward ibm128 0x4p-1076 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi tonearest ibm128 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero ibm128 0x4p-1076 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi upward ibm128 0x4p-1076 : 0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= atanpi downward intel96 0x8p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest intel96 0x8p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero intel96 0x8p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward intel96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 0x8p-16448 : 0x0p+0 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 0x8p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 0x8p-16448 : 0x0p+0 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 0x8p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 0x8p-16448 : 0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 0x8p-16448 : 0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 0x8p-16448 : 0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 0x8p-16448 : 0x2.8be60db93914p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 0x4p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest m68k96 0x4p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero m68k96 0x4p-16448 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward m68k96 0x4p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 0x4p-16448 : 0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 0x4p-16448 : 0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 0x4p-16448 : 0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 0x4p-16448 : 0x1.45f306dc9c8cp-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 0x4p-16496 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi tonearest binary128 0x4p-16496 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary128 0x4p-16496 : 0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary128 0x4p-16496 : 0x4p-16496 : inexact-ok underflow errno-erange-ok
+atanpi -min_subnorm
+= atanpi downward binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary32 -0x8p-152 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary32 -0x8p-152 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary32 -0x8p-152 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi downward binary64 -0x8p-152 : -0x2.8be60db939106p-152 : inexact-ok
+= atanpi tonearest binary64 -0x8p-152 : -0x2.8be60db939106p-152 : inexact-ok
+= atanpi towardzero binary64 -0x8p-152 : -0x2.8be60db939104p-152 : inexact-ok
+= atanpi upward binary64 -0x8p-152 : -0x2.8be60db939104p-152 : inexact-ok
+= atanpi downward intel96 -0x8p-152 : -0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi tonearest intel96 -0x8p-152 : -0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero intel96 -0x8p-152 : -0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward intel96 -0x8p-152 : -0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi downward m68k96 -0x8p-152 : -0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi tonearest m68k96 -0x8p-152 : -0x2.8be60db9391054a8p-152 : inexact-ok
+= atanpi towardzero m68k96 -0x8p-152 : -0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi upward m68k96 -0x8p-152 : -0x2.8be60db9391054a4p-152 : inexact-ok
+= atanpi downward binary128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi tonearest binary128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4d4p-152 : inexact-ok
+= atanpi towardzero binary128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi upward binary128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4d2p-152 : inexact-ok
+= atanpi downward ibm128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi tonearest ibm128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d5p-152 : inexact-ok
+= atanpi towardzero ibm128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi upward ibm128 -0x8p-152 : -0x2.8be60db9391054a7f09d5f47d4p-152 : inexact-ok
+= atanpi downward binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi downward intel96 -0x4p-1076 : -0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi tonearest intel96 -0x4p-1076 : -0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero intel96 -0x4p-1076 : -0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward intel96 -0x4p-1076 : -0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi downward m68k96 -0x4p-1076 : -0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi tonearest m68k96 -0x4p-1076 : -0x1.45f306dc9c882a54p-1076 : inexact-ok
+= atanpi towardzero m68k96 -0x4p-1076 : -0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi upward m68k96 -0x4p-1076 : -0x1.45f306dc9c882a52p-1076 : inexact-ok
+= atanpi downward binary128 -0x4p-1076 : -0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi tonearest binary128 -0x4p-1076 : -0x1.45f306dc9c882a53f84eafa3ea6ap-1076 : inexact-ok
+= atanpi towardzero binary128 -0x4p-1076 : -0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi upward binary128 -0x4p-1076 : -0x1.45f306dc9c882a53f84eafa3ea69p-1076 : inexact-ok
+= atanpi downward ibm128 -0x4p-1076 : -0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= atanpi tonearest ibm128 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero ibm128 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi upward ibm128 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange
+= atanpi downward intel96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest intel96 -0x8p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero intel96 -0x8p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward intel96 -0x8p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi downward m68k96 -0x8p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 -0x8p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero m68k96 -0x8p-16448 : -0x0p+0 : inexact-ok underflow errno-erange-ok
+= atanpi upward m68k96 -0x8p-16448 : -0x0p+0 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 -0x8p-16448 : -0x2.8be60db93914p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 -0x8p-16448 : -0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 -0x8p-16448 : -0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 -0x8p-16448 : -0x2.8be60db9391p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward m68k96 -0x4p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest m68k96 -0x4p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero m68k96 -0x4p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward m68k96 -0x4p-16448 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi downward binary128 -0x4p-16448 : -0x1.45f306dc9c8cp-16448 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 -0x4p-16448 : -0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi towardzero binary128 -0x4p-16448 : -0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi upward binary128 -0x4p-16448 : -0x1.45f306dc9c88p-16448 : inexact-ok underflow errno-erange-ok
+= atanpi downward binary128 -0x4p-16496 : -0x4p-16496 : inexact-ok underflow errno-erange-ok
+= atanpi tonearest binary128 -0x4p-16496 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi towardzero binary128 -0x4p-16496 : -0x0p+0 : inexact-ok underflow errno-erange
+= atanpi upward binary128 -0x4p-16496 : -0x0p+0 : inexact-ok underflow errno-erange
index 7c6ca03043cd930bbc78fad01766a0d2975308ef..90508ca907bca0cd5434d36728bf08206fb55632 100644 (file)
@@ -70,6 +70,8 @@ __MATHCALL_VEC (tan,, (_Mdouble_ __x));
 __MATHCALL (acospi,, (_Mdouble_ __x));
 /* Arc sine of X, divided by pi.  */
 __MATHCALL (asinpi,, (_Mdouble_ __x));
+/* Arc tangent of X, divided by pi.  */
+__MATHCALL (atanpi,, (_Mdouble_ __x));
 
 /* Cosine of pi * X.  */
 __MATHCALL (cospi,, (_Mdouble_ __x));
index 4185f46c162f349169e4ede7232232461dbbab5d..4cedf5967f6c9922bb9ab1b584aae98239c8190b 100644 (file)
@@ -539,6 +539,7 @@ static test_function test_functions[] =
     FUNC_mpfr_f_f ("atan", mpfr_atan, false),
     FUNC_mpfr_ff_f ("atan2", mpfr_atan2, false),
     FUNC_mpfr_f_f ("atanh", mpfr_atanh, false),
+    FUNC_mpfr_f_f ("atanpi", mpfr_atanpi, false),
     FUNC_mpc_c_f ("cabs", mpc_abs, false),
     FUNC_mpc_c_c ("cacos", mpc_acos, false),
     FUNC_mpc_c_c ("cacosh", mpc_acosh, false),
index a04a43018ad3868908df12e35af5acb623f169fb..ef4944b67eed684fe5e80c5506799c4e2fa5018a 100755 (executable)
@@ -744,6 +744,7 @@ class Tests(object):
         # TS 18661-4 functions.
         self.add_tests('acospi', 'r', ['r'])
         self.add_tests('asinpi', 'r', ['r'])
+        self.add_tests('atanpi', 'r', ['r'])
         self.add_tests('cospi', 'r', ['r'])
         self.add_tests('exp10', 'r', ['r'])
         self.add_tests('exp2m1', 'r', ['r'])
diff --git a/math/libm-test-atanpi.inc b/math/libm-test-atanpi.inc
new file mode 100644 (file)
index 0000000..d24919e
--- /dev/null
@@ -0,0 +1,49 @@
+/* Test atanpi.
+   Copyright (C) 2024 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include "libm-test-driver.c"
+
+static const struct test_f_f_data atanpi_test_data[] =
+  {
+    TEST_f_f (atanpi, plus_infty, 0.5, ERRNO_UNCHANGED),
+    TEST_f_f (atanpi, minus_infty, -0.5, ERRNO_UNCHANGED),
+    TEST_f_f (atanpi, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (atanpi, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (atanpi, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (atanpi, -snan_value, qnan_value, INVALID_EXCEPTION),
+
+    AUTO_TESTS_f_f (atanpi),
+  };
+
+static void
+atanpi_test (void)
+{
+  ALL_RM_TEST (atanpi, 0, atanpi_test_data, RUN_TEST_LOOP_f_f, END);
+}
+
+static void
+do_test (void)
+{
+  atanpi_test ();
+}
+
+/*
+ * Local Variables:
+ * mode:c
+ * End:
+ */
diff --git a/math/s_atanpi_template.c b/math/s_atanpi_template.c
new file mode 100644 (file)
index 0000000..9773215
--- /dev/null
@@ -0,0 +1,39 @@
+/* Return arc tangent of X, divided by pi.
+   Copyright (C) 2024 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <math.h>
+#include <math-narrow-eval.h>
+#include <math-underflow.h>
+
+FLOAT
+M_DECL_FUNC (__atanpi) (FLOAT x)
+{
+  FLOAT ret = math_narrow_eval (M_SUF (__atan) (x) / M_MLIT (M_PI));
+  if (__glibc_likely (!isnan (x)))
+    math_check_force_underflow (ret);
+  if (x != 0 && ret == 0)
+    __set_errno (ERANGE);
+  /* Ensure that rounding away from zero for both atan and the
+     division cannot yield a return value from atanpi with absolute
+     value greater than 0.5.  */
+  return (isgreater (M_FABS (ret), M_LIT (0.5))
+         ? M_COPYSIGN (M_LIT (0.5), ret)
+         : ret);
+}
+declare_mgen_alias (__atanpi, atanpi);
index b3a948d7a01147747978c5426e9dea16e8dd14c4..79cb58e5a7c246fcb1533a16fc42d25dc90e235a 100644 (file)
@@ -48,7 +48,7 @@ volatile int count_cdouble;
 volatile int count_cfloat;
 volatile int count_cldouble;
 
-#define NCALLS     178
+#define NCALLS     180
 #define NCALLS_INT 4
 #define NCCALLS    47
 
@@ -241,6 +241,7 @@ F(compile_test) (void)
   b = asin (asin (a));
   a = tan (tan (x));
   b = tanpi (tanpi (x));
+  b = atanpi (atanpi (a));
   b = atan (atan (a));
   c = atan2 (atan2 (a, c), atan2 (b, x));
   a = cosh (cosh (x));
@@ -365,6 +366,7 @@ F(compile_test) (void)
       a = tan (y);
       a = tanpi (y);
       a = atan (y);
+      a = atanpi (y);
       a = atan2 (y, y);
       a = cosh (y);
       a = acosh (y);
@@ -565,6 +567,14 @@ TYPE
   return x + y;
 }
 
+TYPE
+(F(atanpi)) (TYPE x)
+{
+  ++count;
+  P ();
+  return x;
+}
+
 TYPE
 (F(cosh)) (TYPE x)
 {
index 4e23d4941281f509c2945a7358d6c1a2e0f4c773..9260d0779cca960b748bcc349c2dd7db7e055910 100644 (file)
 # define acospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, acospi)
 /* Arc sine of X, divided by pi..  */
 # define asinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, asinpi)
+/* Arc tangent of X, divided by pi.  */
+# define atanpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, atanpi)
 
 /* Cosine of pi * X.  */
 # define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi)
index 3e6284e0213db17ba630d48ca263dc0bbecebdf7..b7424cd609e290897fc14ff615f577b37fb1849c 100644 (file)
@@ -200,6 +200,30 @@ float: 1
 float128: 4
 ldouble: 5
 
+Function: "atanpi":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "atanpi_downward":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "atanpi_towardzero":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "atanpi_upward":
+double: 1
+float: 1
+float128: 2
+ldouble: 1
+
 Function: "cabs":
 double: 1
 float128: 1
index 0f3b65ca2a7265a0147b7eab0bf11f3871e23cf8..251bcd48e366de88d4ff7b300f2ff54f526447a8 100644 (file)
@@ -147,6 +147,7 @@ libm {
   GLIBC_2.41 {
     __acospiieee128;
     __asinpiieee128;
+    __atanpiieee128;
     __cospiieee128;
     __sinpiieee128;
     __tanpiieee128;
index 0cc4d84da16f1ef09e52b1109479f57fc10d6da5..1acde0be507c119abf3fd47ddb86963e7f637a9f 100644 (file)
@@ -23,6 +23,7 @@ libnldbl-calls = \
   atan \
   atan2 \
   atanh \
+  atanpi \
   cabs \
   cacos \
   cacosh \
@@ -266,6 +267,7 @@ CFLAGS-nldbl-asinpi.c = -fno-builtin-asinpil
 CFLAGS-nldbl-atan.c = -fno-builtin-atanl
 CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l
 CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl
+CFLAGS-nldbl-atanpi.c = -fno-builtin-atanpil
 CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl
 CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl
 CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-atanpi.c b/sysdeps/ieee754/ldbl-opt/nldbl-atanpi.c
new file mode 100644 (file)
index 0000000..259397d
--- /dev/null
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+atanpil (double x)
+{
+  return atanpi (x);
+}
index c194c9ae0c2afbe559fa6ff70bebb6bdc8f6a8e0..77df9bbf33d87968d700e53c3fb9b39d6b8a045e 100644 (file)
@@ -1237,6 +1237,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 16d781a88ee656f7869b6abad9cda91d2bf6b2ca..6957af599d2d02109e74d91e8e5797cdbff5e057 100644 (file)
@@ -1094,6 +1094,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 679b27102525439ff34b8a78ddb48245ea8b0e45..aa44185e9522eb3f2165d68e1b3bb4fec28bef13 100644 (file)
@@ -45,6 +45,7 @@ CFLAGS-s_acospil.c += -fno-builtin-fabsl
 CFLAGS-w_asinl_compat.c += -fno-builtin-fabsl
 CFLAGS-s_asinpil.c += -fno-builtin-fabsl
 CFLAGS-w_atanhl_compat.c += -fno-builtin-fabsl
+CFLAGS-s_atanpil.c += -fno-builtin-fabsl
 CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl
 CFLAGS-w_j1l_compat.c += -fno-builtin-fabsl
 CFLAGS-e_lgammal_r.c += -fno-builtin-fabsl
index 165056eef1d24316beda00974ebfa50637f84015..2e2956be44eea1c708ffad82b9d89df06b16bdcd 100644 (file)
@@ -1205,6 +1205,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 0cf0ee6ae921d64d3053681ad3e3b0ffca46eaad..234486dc15b6b48b7ca98f4acf39c15f081bd647 100644 (file)
@@ -1364,6 +1364,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index fc383663af4bf27a92aa25a2076031053deb41d1..0c9520e4062dd7e87c7047bee0d2e5edce818f50 100644 (file)
@@ -799,6 +799,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 67ca2d54b821bd79207617542301ab61b994f3aa..5e7379841abfb8c500f41148dcbdd5009e062cb1 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 67ca2d54b821bd79207617542301ab61b994f3aa..5e7379841abfb8c500f41148dcbdd5009e062cb1 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index f006214fde082bf6bfe6ada13d51deb0325474ad..980d4beeb2c18d7430c4f3997de34d100354c7d6 100644 (file)
@@ -865,6 +865,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index cd02445c5efba75067da8e154e48621b5f453121..e17b2c066e743d6505df14e388f8cbdbacfecca0 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 82189f5a2669d4923466cd3e148ad20893dbb3c1..0c72e275f5fc6f58b55354882a1f375ea490d754 100644 (file)
@@ -1244,6 +1244,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index c3608c624f75e7dfa33258deb906e212f7927aa1..84a09649f9dc9f7d137875928e0ec24945c38023 100644 (file)
@@ -1084,6 +1084,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 67ca2d54b821bd79207617542301ab61b994f3aa..5e7379841abfb8c500f41148dcbdd5009e062cb1 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 8ce5f544a11ee1fadf964da564b21a5b82ad44e7..d65ece0eac2e3da3f2886a391bb2c8e185f55a8a 100644 (file)
@@ -926,6 +926,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 5e5c14216ced0fc7790dce95a3f2a052a2c377e5..85710af9af238329c20e57a8e5df9aeee9f39d64 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 5e5c14216ced0fc7790dce95a3f2a052a2c377e5..85710af9af238329c20e57a8e5df9aeee9f39d64 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 8b6efc17400b242891d00de87be444e362db04fa..fd87c30ad9710a5a6942394587798c2bbfdf7d73 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 1896db87f30bb354407748fc26f61328133799b4..b16a4963f4e6e8d0f67b9cb8ea7bbae1f4e1bb4d 100644 (file)
@@ -1205,6 +1205,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 706cd5719b9b2593fb932c2eaba94155974a65ea..cfac64e2b9a4f02aa4297851a18f3bdc043fed17 100644 (file)
@@ -799,6 +799,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 903398aed4c148403df2967bdfaaf7b7e35f63ae..19352a505ad1cc94e8af7f6618166267869309ba 100644 (file)
@@ -1037,6 +1037,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index b03908a7cb9bba0b4138aa3e0645c011e2d37c45..54a4d38aebf4b1bf33b169029b5332bdb3089cda 100644 (file)
@@ -1036,6 +1036,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index e9b090f52b4014c51582f55973c52934ccd4e32f..4c5a9239abea84d2f215026b24804ebf230915a7 100644 (file)
@@ -1030,6 +1030,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index 3696a27e0ea83e59d6f688d9885f8b6de00cc161..a4e04e5143d13bd603d197f10045b4ef8029d5f4 100644 (file)
@@ -1368,6 +1368,7 @@ GLIBC_2.40 logp1f64x F
 GLIBC_2.40 logp1l F
 GLIBC_2.41 __acospiieee128 F
 GLIBC_2.41 __asinpiieee128 F
+GLIBC_2.41 __atanpiieee128 F
 GLIBC_2.41 __cospiieee128 F
 GLIBC_2.41 __sinpiieee128 F
 GLIBC_2.41 __tanpiieee128 F
@@ -1387,6 +1388,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 723f761aa8d34823d8a6b2a96c6c5c2f93c9cfdb..f64388891425a649a7dc4c91b1108ecc6d84b7d1 100644 (file)
@@ -1084,6 +1084,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 12a497e719ff1fce0488618a1dbf4435c19bbf42..ee4d03ea9646971711be9ca188824ae7050b5413 100644 (file)
@@ -1181,6 +1181,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index d2503a3db931851151dd4e5af6178adb43e03db9..93d0c0f009164f281b1ac92468ece2c6d4822e02 100644 (file)
@@ -1308,6 +1308,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 7c6936ec0fc57149d5e64db47277f2711fb39fa9..4d7a1a9b7d0ab2670af73cc197cc0936674f309a 100644 (file)
@@ -1308,6 +1308,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index e93be4c898ace9dfef7e8fd341eba603a37e76b2..7dd0342e504b096df6247a4e2787072766ea52eb 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index e93be4c898ace9dfef7e8fd341eba603a37e76b2..7dd0342e504b096df6247a4e2787072766ea52eb 100644 (file)
@@ -890,6 +890,12 @@ GLIBC_2.41 asinpif32 F
 GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif32 F
index c763c5583b1395fabb9c9dbf28fe979465821083..c56e17b2e93c51a1ade52d0ce67bc68427710e4c 100644 (file)
@@ -1315,6 +1315,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 4e4beab41ef56468c0c8552139501c9bc1d4bca0..c6cc55ec74088c8c9ca4c118fe3c6d1127824e11 100644 (file)
@@ -1205,6 +1205,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 8ba0a95693916347b9decfe2cc4f423edee00fa9..add8e983273d50b91ac3efa52c15cd16d4573524 100644 (file)
@@ -1238,6 +1238,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 7defe5dff3e3de72ccad33526d82e35480b4fa9f..c976d6b676594d9735fe69a127e26fc09c61e7c8 100644 (file)
@@ -1238,6 +1238,14 @@ GLIBC_2.41 asinpif32x F
 GLIBC_2.41 asinpif64 F
 GLIBC_2.41 asinpif64x F
 GLIBC_2.41 asinpil F
+GLIBC_2.41 atanpi F
+GLIBC_2.41 atanpif F
+GLIBC_2.41 atanpif128 F
+GLIBC_2.41 atanpif32 F
+GLIBC_2.41 atanpif32x F
+GLIBC_2.41 atanpif64 F
+GLIBC_2.41 atanpif64x F
+GLIBC_2.41 atanpil F
 GLIBC_2.41 cospi F
 GLIBC_2.41 cospif F
 GLIBC_2.41 cospif128 F
index 3d6e0d717e53cfbb3255817a3d3ca45a3aeed6b2..1ff2f8baf6a1cbedd087ecec73bca860a5046a37 100644 (file)
@@ -353,6 +353,30 @@ float: 1
 Function: "atanh_vlen8_avx2":
 float: 1
 
+Function: "atanpi":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "atanpi_downward":
+double: 1
+float: 2
+float128: 1
+ldouble: 1
+
+Function: "atanpi_towardzero":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "atanpi_upward":
+double: 1
+float: 1
+float128: 2
+ldouble: 1
+
 Function: "cabs":
 double: 1
 float128: 1