aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJoseph Myers <josmyers@redhat.com>2024-12-10 20:42:20 +0000
committerJoseph Myers <josmyers@redhat.com>2024-12-10 20:42:20 +0000
commitf962932206eca2cfed0a26e72220ad3465bf9e65 (patch)
tree33f72059fe06461b8da5f234a70f8352822a4405 /math
parenta9944a52c967ce76a5894c30d0274b824df43c7a (diff)
downloadglibc-f962932206eca2cfed0a26e72220ad3465bf9e65.tar.xz
glibc-f962932206eca2cfed0a26e72220ad3465bf9e65.zip
Implement C23 asinpi
C23 adds various <math.h> function families originally defined in TS 18661-4. Add the asinpi functions (asin(x)/pi). Tested for x86_64 and x86, and with build-many-glibcs.py.
Diffstat (limited to 'math')
-rw-r--r--math/Makefile6
-rw-r--r--math/Versions2
-rw-r--r--math/auto-libm-test-in51
-rw-r--r--math/auto-libm-test-out-asinpi2442
-rw-r--r--math/bits/mathcalls.h2
-rw-r--r--math/gen-auto-libm-tests.c1
-rwxr-xr-xmath/gen-tgmath-tests.py1
-rw-r--r--math/libm-test-asinpi.inc55
-rw-r--r--math/s_asinpi_template.c45
-rw-r--r--math/test-tgmath.c12
-rw-r--r--math/tgmath.h2
11 files changed, 2618 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index 8209d14e37..87ff79b269 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -94,6 +94,7 @@ gen-libm-calls = \
k_casinhF \
k_casinhF \
s_acospiF \
+ s_asinpiF \
s_cacosF \
s_cacoshF \
s_canonicalizeF \
@@ -621,6 +622,7 @@ libm-test-funcs-auto = \
acospi \
asin \
asinh \
+ asinpi \
atan \
atan2 \
atanh \
@@ -930,6 +932,7 @@ tgmath3-macros = \
acospi \
asin \
asinh \
+ asinpi \
atan \
atan2 \
atanh \
@@ -1313,6 +1316,7 @@ CFLAGS-w_acosh.c += -fno-builtin-acoshl
CFLAGS-s_acospi.c += -fno-builtin-acospil
CFLAGS-w_asin.c += -fno-builtin-asinl
CFLAGS-s_asinh.c += -fno-builtin-asinhl
+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
@@ -1455,6 +1459,7 @@ CFLAGS-w_acosh.c += -fno-builtin-acoshf32x -fno-builtin-acoshf64
CFLAGS-s_acospi.c += -fno-builtin-acospif32x -fno-builtin-acospif64
CFLAGS-w_asin.c += -fno-builtin-asinf32x -fno-builtin-asinf64
CFLAGS-s_asinh.c += -fno-builtin-asinhf32x -fno-builtin-asinhf64
+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
@@ -1583,6 +1588,7 @@ CFLAGS-w_acoshf.c += -fno-builtin-acoshf32
CFLAGS-s_acospif.c += -fno-builtin-acospif32
CFLAGS-w_asinf.c += -fno-builtin-asinf32
CFLAGS-s_asinhf.c += -fno-builtin-asinhf32
+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
diff --git a/math/Versions b/math/Versions
index d59eb57a22..a7b79b0d6c 100644
--- a/math/Versions
+++ b/math/Versions
@@ -656,11 +656,13 @@ libm {
GLIBC_2.41 {
# Functions not involving _Float64x or _Float128, for all configurations.
acospi; acospif; acospil; acospif32; acospif64; acospif32x;
+ asinpi; asinpif; asinpil; asinpif32; asinpif64; asinpif32x;
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;
cospif64x; cospif128;
sinpif64x; sinpif128;
tanpif64x; tanpif128;
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 2abe9e5566..809df5ce09 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -464,6 +464,57 @@ asinh -min_subnorm
asinh max
asinh -max
+asinpi 0
+asinpi -0
+asinpi 0.5
+asinpi -0.5
+asinpi 1.0
+asinpi -1.0
+asinpi 0.75
+asinpi 0x0.ffffffp0
+asinpi -0x0.ffffffp0
+asinpi 0x0.ffffffff8p0
+asinpi -0x0.ffffffff8p0
+asinpi 0x0.ffffffffffffp0
+asinpi -0x0.ffffffffffffp0
+asinpi 0x0.fffffffffffff8p0
+asinpi -0x0.fffffffffffff8p0
+asinpi 0x0.ffffffffffffffffp0
+asinpi -0x0.ffffffffffffffffp0
+asinpi 0x0.ffffffffffffffffffffffffffcp0
+asinpi -0x0.ffffffffffffffffffffffffffcp0
+asinpi 0x0.ffffffffffffffffffffffffffff8p0
+asinpi -0x0.ffffffffffffffffffffffffffff8p0
+asinpi 0x1p-5
+asinpi 0x1p-10
+asinpi 0x1p-15
+asinpi 0x1p-20
+asinpi 0x1p-25
+asinpi 0x1p-30
+asinpi 0x1p-35
+asinpi 0x1p-40
+asinpi 0x1p-45
+asinpi 0x1p-50
+asinpi 0x1p-55
+asinpi 0x1p-60
+asinpi 0x1p-100
+asinpi 0x1p-600
+asinpi 0x1p-10000
+asinpi -0x2.18915cp-4
+asinpi -0x3.746774p-4
+asinpi -0x3.1c54d10e5c844p-4
+asinpi 0xf.c9675fa6fe69f12p-4
+asinpi -0xa.fc5afp-4
+asinpi 0xd.805e5p-4
+asinpi -0x2.1a02dcp-4
+asinpi -0x8.1c120ac3e495p-4
+asinpi -0xb.36dacp-4
+asinpi 0x1.f6041ffe89d7dp-4
+asinpi min
+asinpi -min
+asinpi min_subnorm
+asinpi -min_subnorm
+
atan 0
atan -0
atan max
diff --git a/math/auto-libm-test-out-asinpi b/math/auto-libm-test-out-asinpi
new file mode 100644
index 0000000000..bf02b297f9
--- /dev/null
+++ b/math/auto-libm-test-out-asinpi
@@ -0,0 +1,2442 @@
+asinpi 0
+= asinpi downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= asinpi upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+asinpi -0
+= asinpi downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= asinpi upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+asinpi 0.5
+= asinpi downward binary32 0x8p-4 : 0x2.aaaaa8p-4 : inexact-ok
+= asinpi tonearest binary32 0x8p-4 : 0x2.aaaaacp-4 : inexact-ok
+= asinpi towardzero binary32 0x8p-4 : 0x2.aaaaa8p-4 : inexact-ok
+= asinpi upward binary32 0x8p-4 : 0x2.aaaaacp-4 : inexact-ok
+= asinpi downward binary64 0x8p-4 : 0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi tonearest binary64 0x8p-4 : 0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi towardzero binary64 0x8p-4 : 0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward binary64 0x8p-4 : 0x2.aaaaaaaaaaaacp-4 : inexact-ok
+= asinpi downward intel96 0x8p-4 : 0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi tonearest intel96 0x8p-4 : 0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi towardzero intel96 0x8p-4 : 0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi upward intel96 0x8p-4 : 0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi downward m68k96 0x8p-4 : 0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi tonearest m68k96 0x8p-4 : 0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi towardzero m68k96 0x8p-4 : 0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi upward m68k96 0x8p-4 : 0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi downward binary128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi tonearest binary128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi towardzero binary128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward binary128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi downward ibm128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi tonearest ibm128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaabp-4 : inexact-ok
+= asinpi towardzero ibm128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward ibm128 0x8p-4 : 0x2.aaaaaaaaaaaaaaaaaaaaaaaaabp-4 : inexact-ok
+asinpi -0.5
+= asinpi downward binary32 -0x8p-4 : -0x2.aaaaacp-4 : inexact-ok
+= asinpi tonearest binary32 -0x8p-4 : -0x2.aaaaacp-4 : inexact-ok
+= asinpi towardzero binary32 -0x8p-4 : -0x2.aaaaa8p-4 : inexact-ok
+= asinpi upward binary32 -0x8p-4 : -0x2.aaaaa8p-4 : inexact-ok
+= asinpi downward binary64 -0x8p-4 : -0x2.aaaaaaaaaaaacp-4 : inexact-ok
+= asinpi tonearest binary64 -0x8p-4 : -0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi towardzero binary64 -0x8p-4 : -0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward binary64 -0x8p-4 : -0x2.aaaaaaaaaaaaap-4 : inexact-ok
+= asinpi downward intel96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi tonearest intel96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi towardzero intel96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi upward intel96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi downward m68k96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi tonearest m68k96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi towardzero m68k96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi upward m68k96 -0x8p-4 : -0x2.aaaaaaaaaaaaaaa8p-4 : inexact-ok
+= asinpi downward binary128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaacp-4 : inexact-ok
+= asinpi tonearest binary128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi towardzero binary128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward binary128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi downward ibm128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaabp-4 : inexact-ok
+= asinpi tonearest ibm128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaabp-4 : inexact-ok
+= asinpi towardzero ibm128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+= asinpi upward ibm128 -0x8p-4 : -0x2.aaaaaaaaaaaaaaaaaaaaaaaaaap-4 : inexact-ok
+asinpi 1.0
+= asinpi downward binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+asinpi -1.0
+= asinpi downward binary32 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest binary32 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero binary32 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward binary32 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi downward binary64 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest binary64 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero binary64 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward binary64 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi downward intel96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest intel96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero intel96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward intel96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi downward m68k96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest m68k96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero m68k96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward m68k96 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi downward binary128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest binary128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero binary128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward binary128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi downward ibm128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi tonearest ibm128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi towardzero ibm128 -0x1p+0 : -0x8p-4 : inexact-ok
+= asinpi upward ibm128 -0x1p+0 : -0x8p-4 : inexact-ok
+asinpi 0.75
+= asinpi downward binary32 0xcp-4 : 0x4.51b37p-4 : inexact-ok
+= asinpi tonearest binary32 0xcp-4 : 0x4.51b378p-4 : inexact-ok
+= asinpi towardzero binary32 0xcp-4 : 0x4.51b37p-4 : inexact-ok
+= asinpi upward binary32 0xcp-4 : 0x4.51b378p-4 : inexact-ok
+= asinpi downward binary64 0xcp-4 : 0x4.51b37797325c4p-4 : inexact-ok
+= asinpi tonearest binary64 0xcp-4 : 0x4.51b37797325c4p-4 : inexact-ok
+= asinpi towardzero binary64 0xcp-4 : 0x4.51b37797325c4p-4 : inexact-ok
+= asinpi upward binary64 0xcp-4 : 0x4.51b37797325c8p-4 : inexact-ok
+= asinpi downward intel96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi tonearest intel96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi towardzero intel96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi upward intel96 0xcp-4 : 0x4.51b37797325c5cep-4 : inexact-ok
+= asinpi downward m68k96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi tonearest m68k96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi towardzero m68k96 0xcp-4 : 0x4.51b37797325c5cd8p-4 : inexact-ok
+= asinpi upward m68k96 0xcp-4 : 0x4.51b37797325c5cep-4 : inexact-ok
+= asinpi downward binary128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102bcp-4 : inexact-ok
+= asinpi tonearest binary128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102bcp-4 : inexact-ok
+= asinpi towardzero binary128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102bcp-4 : inexact-ok
+= asinpi upward binary128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102cp-4 : inexact-ok
+= asinpi downward ibm128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102p-4 : inexact-ok
+= asinpi tonearest ibm128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102p-4 : inexact-ok
+= asinpi towardzero ibm128 0xcp-4 : 0x4.51b37797325c5cdaba44be3102p-4 : inexact-ok
+= asinpi upward ibm128 0xcp-4 : 0x4.51b37797325c5cdaba44be3104p-4 : inexact-ok
+asinpi 0x0.ffffffp0
+= asinpi downward binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi tonearest binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi towardzero binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi upward binary32 0xf.fffffp-4 : 0x7.ff8cc8p-4 : inexact-ok
+= asinpi downward binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi tonearest binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi towardzero binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi upward binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi downward intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi tonearest intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi downward m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi tonearest m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi downward binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi tonearest binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi towardzero binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi upward binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi downward ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi tonearest ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi towardzero ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi upward ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f2p-4 : inexact-ok
+asinpi -0x0.ffffffp0
+= asinpi downward binary32 -0xf.fffffp-4 : -0x7.ff8cc8p-4 : inexact-ok
+= asinpi tonearest binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi towardzero binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi upward binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi downward binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi tonearest binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi towardzero binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi upward binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi downward intel96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi tonearest intel96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero intel96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward intel96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi downward m68k96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi tonearest m68k96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero m68k96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward m68k96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi downward binary128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi tonearest binary128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi towardzero binary128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi upward binary128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi downward ibm128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013f2p-4 : inexact-ok
+= asinpi tonearest ibm128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi towardzero ibm128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi upward ibm128 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+asinpi 0x0.ffffffff8p0
+= asinpi downward binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary32 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary64 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward intel96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward m68k96 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward binary128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi tonearest ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi towardzero ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi upward ibm128 0x1p+0 : 0x8p-4 : inexact-ok
+= asinpi downward binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi tonearest binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi towardzero binary32 0xf.fffffp-4 : 0x7.ff8ccp-4 : inexact-ok
+= asinpi upward binary32 0xf.fffffp-4 : 0x7.ff8cc8p-4 : inexact-ok
+= asinpi downward binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi tonearest binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi towardzero binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi upward binary64 0xf.fffffp-4 : 0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi downward intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi tonearest intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward intel96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi downward m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi tonearest m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi towardzero m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0cp-4 : inexact-ok
+= asinpi upward m68k96 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi downward binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi tonearest binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi towardzero binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f08p-4 : inexact-ok
+= asinpi upward binary128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f084p-4 : inexact-ok
+= asinpi downward ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi tonearest ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi towardzero ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013fp-4 : inexact-ok
+= asinpi upward ibm128 0xf.fffffp-4 : 0x7.ff8cc26f4f6bf0c0c2d37013f2p-4 : inexact-ok
+= asinpi downward binary64 0xf.fffffff8p-4 : 0x7.fffae833e48d4p-4 : inexact-ok
+= asinpi tonearest binary64 0xf.fffffff8p-4 : 0x7.fffae833e48d4p-4 : inexact-ok
+= asinpi towardzero binary64 0xf.fffffff8p-4 : 0x7.fffae833e48d4p-4 : inexact-ok
+= asinpi upward binary64 0xf.fffffff8p-4 : 0x7.fffae833e48d8p-4 : inexact-ok
+= asinpi downward intel96 0xf.fffffff8p-4 : 0x7.fffae833e48d5788p-4 : inexact-ok
+= asinpi tonearest intel96 0xf.fffffff8p-4 : 0x7.fffae833e48d579p-4 : inexact-ok
+= asinpi towardzero intel96 0xf.fffffff8p-4 : 0x7.fffae833e48d5788p-4 : inexact-ok
+= asinpi upward intel96 0xf.fffffff8p-4 : 0x7.fffae833e48d579p-4 : inexact-ok
+= asinpi downward m68k96 0xf.fffffff8p-4 : 0x7.fffae833e48d5788p-4 : inexact-ok
+= asinpi tonearest m68k96 0xf.fffffff8p-4 : 0x7.fffae833e48d579p-4 : inexact-ok
+= asinpi towardzero m68k96 0xf.fffffff8p-4 : 0x7.fffae833e48d5788p-4 : inexact-ok
+= asinpi upward m68k96 0xf.fffffff8p-4 : 0x7.fffae833e48d579p-4 : inexact-ok
+= asinpi downward binary128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cabd8p-4 : inexact-ok
+= asinpi tonearest binary128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cabdcp-4 : inexact-ok
+= asinpi towardzero binary128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cabd8p-4 : inexact-ok
+= asinpi upward binary128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cabdcp-4 : inexact-ok
+= asinpi downward ibm128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93caap-4 : inexact-ok
+= asinpi tonearest ibm128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cacp-4 : inexact-ok
+= asinpi towardzero ibm128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93caap-4 : inexact-ok
+= asinpi upward ibm128 0xf.fffffff8p-4 : 0x7.fffae833e48d578c2ae0a93cacp-4 : inexact-ok
+asinpi -0x0.ffffffff8p0
+= asinpi downward binary32 -0xf.fffffp-4 : -0x7.ff8cc8p-4 : inexact-ok
+= asinpi tonearest binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi towardzero binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi upward binary32 -0xf.fffffp-4 : -0x7.ff8ccp-4 : inexact-ok
+= asinpi downward binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi tonearest binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6cp-4 : inexact-ok
+= asinpi towardzero binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi upward binary64 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bcp-4 : inexact-ok
+= asinpi downward intel96 -0xf.fffffp-4 : -0x7.ff8cc26f4f6bf0c8p-4 : inexact-ok
+= asinpi tonearest intel96 -0xf.fffffp-4 : -0x7