aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-11-20 15:50:22 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-12-18 17:24:43 -0300
commitabe1d65aa6fed8ebc1798781af78ec724b220f3a (patch)
tree57810a2237a9b5e009f898883f34e65f0c8f8be4 /math
parent517c21337723fa28787683eb2be764189da4b94b (diff)
downloadglibc-abe1d65aa6fed8ebc1798781af78ec724b220f3a.tar.xz
glibc-abe1d65aa6fed8ebc1798781af78ec724b220f3a.zip
math: Fix the expected atan2f (inf) results
The pi defined constants are not the expected value for atan2 on non-default rounding modes. Instead use the autogenerated value. Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'math')
-rw-r--r--math/auto-libm-test-in50
-rw-r--r--math/auto-libm-test-out-atan22316
-rw-r--r--math/libm-test-atan2.inc56
3 files changed, 2366 insertions, 56 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 85a2fd9b11..fa046f1028 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -558,6 +558,56 @@ atan -min
atan min_subnorm
atan -min_subnorm
+# atan2 (y,inf) == +0 for finite y > 0 or +0
+atan2 1 inf
+atan2 0 inf
+atan2 min inf
+atan2 min_subnorm inf
+atan2 max inf
+# atan2 (y,inf) == -0 for finite y < 0 or -0
+atan2 -1 inf
+atan2 -0 inf
+atan2 -min inf
+atan2 -min_subnorm inf
+atan2 -max inf
+# atan2(+inf, x) == pi/2 for finite x
+atan2 inf 1
+atan2 inf 0
+atan2 inf min
+atan2 inf min_subnorm
+atan2 inf max
+atan2 inf -1
+atan2 inf -0
+atan2 inf -min
+atan2 inf -min_subnorm
+atan2 inf -max
+# atan2(-inf, x) == -pi/2 for finite x
+atan2 -inf 1
+atan2 -inf 0
+atan2 -inf min
+atan2 -inf min_subnorm
+atan2 -inf max
+atan2 -inf -1
+atan2 -inf -0
+atan2 -inf -min
+atan2 -inf -min_subnorm
+atan2 -inf -max
+# atan2 (y,-inf) == +pi for finite y > 0 or +0
+atan2 1 -inf
+atan2 0 -inf
+atan2 min -inf
+atan2 min_subnorm -inf
+atan2 max -inf
+# atan2 (y,-inf) == -pi for finite y < 0 or -0.
+atan2 -1 -inf
+atan2 -0 -inf
+atan2 -min -inf
+atan2 -min_subnorm -inf
+atan2 -max -inf
+atan2 inf inf
+atan2 -inf inf
+atan2 inf -inf
+atan2 -inf -inf
# atan2 (0,x) == 0 for x > 0.
atan2 0 1
# atan2 (-0,x) == -0 for x > 0.
diff --git a/math/auto-libm-test-out-atan2 b/math/auto-libm-test-out-atan2
index d7a7ffcd5b..b8ba6befe4 100644
--- a/math/auto-libm-test-out-atan2
+++ b/math/auto-libm-test-out-atan2
@@ -1,3 +1,2319 @@
+atan2 1 inf
+= atan2 downward binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok
+atan2 0 inf
+= atan2 downward binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok
+atan2 min inf
+= atan2 downward binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok
+atan2 min_subnorm inf
+= atan2 downward binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok
+atan2 max inf
+= atan2 downward binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok
+atan2 -1 inf
+= atan2 downward binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok
+atan2 -0 inf
+= atan2 downward binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok
+atan2 -min inf
+= atan2 downward binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonearest intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok
+= atan2 towardzero intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok
+= atan2 upward intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok
+= atan2 downward m68k96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok
+= atan2 tonear