math: Add more inputs to atan2 accuracy tests [BZ #28765]
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
This patch adds following inputs:
0x1.bcab29da0e947p-54 0x1.bc41f4d2294b8p-54
0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588
to atan2 tests and updates x86_64 double atan2 ulps.
This fixes BZ #28765.
---
math/auto-libm-test-in | 4 +
math/auto-libm-test-out-atan2 | 394 ++++++++++++++++++++++++++++++
sysdeps/x86_64/fpu/libm-test-ulps | 4 +-
3 files changed, 400 insertions(+), 2 deletions(-)
Comments
Dear Sunil,
first, with your atan2 patch fixing BZ #28765, I cannot get errors larger than
4 ulps with the SSE4.2 code. The largest error I get so far is 2.39063 ulps
with 0x1.a11891ec004d4p-348,0x1.814830510be26p-348.
> --- a/sysdeps/x86_64/fpu/libm-test-ulps
> +++ b/sysdeps/x86_64/fpu/libm-test-ulps
> @@ -214,10 +214,10 @@ double: 1
> float: 2
>
> Function: "atan2_vlen4_avx2":
> -double: 1
> +double: 2
I wonder whether this should be increased to 3, since I get an error of 3.46942
ulps for the following inputs and AVX2 (and that inputs should be
added to math/auto-libm-test-in): 0x1.a83f842ef3f73p-633,0x1.a799d8a6677ep-633
> Function: "atan2_vlen8":
> -double: 1
> +double: 2
> float: 2
>
> Function: "atan2_vlen8_avx2":
Best regards,
Paul
Hi Paul,
Thank you so much for running massive accuracy testing on libmvec
function and reporting the issues to us.
I added proposed inputs to v2 and regenerated ulps as requested. Let
me know if it looks ok to you.
Thank you so much for your help,
Sunil
On Wed, Jan 12, 2022 at 8:38 PM Paul Zimmermann
<Paul.Zimmermann@inria.fr> wrote:
>
> Dear Sunil,
>
> first, with your atan2 patch fixing BZ #28765, I cannot get errors larger than
> 4 ulps with the SSE4.2 code. The largest error I get so far is 2.39063 ulps
> with 0x1.a11891ec004d4p-348,0x1.814830510be26p-348.
>
> > --- a/sysdeps/x86_64/fpu/libm-test-ulps
> > +++ b/sysdeps/x86_64/fpu/libm-test-ulps
> > @@ -214,10 +214,10 @@ double: 1
> > float: 2
> >
> > Function: "atan2_vlen4_avx2":
> > -double: 1
> > +double: 2
>
> I wonder whether this should be increased to 3, since I get an error of 3.46942
> ulps for the following inputs and AVX2 (and that inputs should be
> added to math/auto-libm-test-in): 0x1.a83f842ef3f73p-633,0x1.a799d8a6677ep-633
>
> > Function: "atan2_vlen8":
> > -double: 1
> > +double: 2
> > float: 2
> >
> > Function: "atan2_vlen8_avx2":
>
> Best regards,
> Paul
>
@@ -488,6 +488,10 @@ atan2 0x3.f16f1p+0 -0x1.546056p+0
atan2 -0x1.9e657cp-24 0x7.40bb4p-52
# the next value generates larger error bounds on x86_64 (binary32)
atan2 -0x1.f9cf48p+49 0x1.f60598p+51
+# the next value generates larger error bounds on x86_64 (binary64)
+atan2 0x1.bcab29da0e947p-54 0x1.bc41f4d2294b8p-54
+# the next value generates larger error bounds on x86_64 (binary64)
+atan2 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588
# the next value generates larger error bounds on x86_64 (binary128)
atan2 0x1.41df5aa214612c7e019fa6ade88p-13316 0x5.e53b26a270a29eb9f77ef8ef7af8p-13316
atan2 min min
@@ -5218,6 +5218,400 @@ atan2 -0x1.f9cf48p+49 0x1.f60598p+51
= atan2 tonearest ibm128 -0x3.f39e9p+48 0xf.b02ccp+48 : -0x3.f2b37e0ca7ac31a1c0615ac92ap-4 : inexact-ok
= atan2 towardzero ibm128 -0x3.f39e9p+48 0xf.b02ccp+48 : -0x3.f2b37e0ca7ac31a1c0615ac92ap-4 : inexact-ok
= atan2 upward ibm128 -0x3.f39e9p+48 0xf.b02ccp+48 : -0x3.f2b37e0ca7ac31a1c0615ac92ap-4 : inexact-ok
+atan2 0x1.bcab29da0e947p-54 0x1.bc41f4d2294b8p-54
+= atan2 downward binary32 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 tonearest binary32 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 towardzero binary32 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 upward binary32 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63d8p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63d8p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63d8p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63ep-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaep-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbafp-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaep-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbafp-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaep-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbafp-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaep-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbafp-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dee78p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dee78p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dee78p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dee8p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75decp-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dfp-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75decp-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca8p-56 0x6.f107d8p-56 : 0xc.92e26b8fc63dbaedf472f75dfp-4 : inexact-ok
+= atan2 downward binary32 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 tonearest binary32 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 towardzero binary32 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 upward binary32 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e28p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb78p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb8p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb78p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb8p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce8p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce9p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce8p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce9p-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce8p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce9p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce8p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce9p-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d6bp-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d6b8p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d6bp-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d6b8p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d4p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d8p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d4p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca8p-56 0x6.f107dp-56 : 0xc.92e274c80fb7ce899797f0d7d8p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b36p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b3584ap-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b35849p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b3584ap-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323b17p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323b17p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323b17p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323b178p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323bp-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323bp-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323bp-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca8p-56 0x6.f107d348a52ep-56 : 0xc.92e270ff3b358490f84e1323b4p-4 : inexact-ok
+= atan2 downward binary32 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 tonearest binary32 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 towardzero binary32 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 upward binary32 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2d8p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ep-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2d8p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ep-4 : inexact-ok
+= atan2 downward intel96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 upward intel96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddcp-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbfp-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddcp-4 : inexact-ok
+= atan2 downward binary128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67b7p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67b7p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67b7p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67b78p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb678p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67cp-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb678p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2acap-56 0x6.f107d8p-56 : 0xc.92e26259ab2ddbf0371a8fb67cp-4 : inexact-ok
+= atan2 downward binary32 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 tonearest binary32 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 towardzero binary32 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26p-4 : inexact-ok
+= atan2 upward binary32 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e27p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a78p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a8p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a78p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a8p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f2p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f21p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f2p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f21p-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f2p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f21p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f2p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f21p-4 : inexact-ok
+= atan2 downward binary128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb858p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb858p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb858p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb86p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb8p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb8p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcb8p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2acap-56 0x6.f107dp-56 : 0xc.92e26b91f4a7f20f1e8cafdcbcp-4 : inexact-ok
+= atan2 downward binary64 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c920258p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c920258p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c920258p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92026p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a7p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a71p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a7p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a71p-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a7p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a71p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a7p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a71p-4 : inexact-ok
+= atan2 downward binary128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b013998p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b0139ap-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b013998p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b0139ap-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b0138p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b0138p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b0138p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2acap-56 0x6.f107d348a52ep-56 : 0xc.92e267c92025a70e72e20b013cp-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae10562p-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105628p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae10562p-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105628p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fcp-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fbp-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fcp-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4fe8p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4fe8p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4fe8p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4ffp-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4cp-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a5p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a4cp-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca7683a51cp-56 0x6.f107d8p-56 : 0xc.92e26ae105624fb58b68c52a5p-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edcp-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc8p-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edcp-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc8p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc639p-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc638p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc639p-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d958p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d958p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d958p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d96p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d8p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d8p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83d8p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca7683a51cp-56 0x6.f107dp-56 : 0xc.92e274194edc6380dab95d83dcp-4 : inexact-ok
+= atan2 downward binary64 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5ap-4 : inexact-ok
+= atan2 tonearest binary64 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5ap-4 : inexact-ok
+= atan2 towardzero binary64 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5ap-4 : inexact-ok
+= atan2 upward binary64 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a8p-4 : inexact-ok
+= atan2 downward intel96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 tonearest intel96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 towardzero intel96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 upward intel96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a198p-4 : inexact-ok
+= atan2 downward m68k96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 tonearest m68k96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 towardzero m68k96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a197p-4 : inexact-ok
+= atan2 upward m68k96 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a198p-4 : inexact-ok
+= atan2 downward binary128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e78679p-4 : inexact-ok
+= atan2 tonearest binary128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e786798p-4 : inexact-ok
+= atan2 towardzero binary128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e78679p-4 : inexact-ok
+= atan2 upward binary128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e786798p-4 : inexact-ok
+= atan2 downward ibm128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e7864p-4 : inexact-ok
+= atan2 tonearest ibm128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e7868p-4 : inexact-ok
+= atan2 towardzero ibm128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e7864p-4 : inexact-ok
+= atan2 upward ibm128 0x6.f2aca7683a51cp-56 0x6.f107d348a52ep-56 : 0xc.92e270507a5a1974a9dd2e7868p-4 : inexact-ok
+atan2 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588
+= atan2 downward binary32 0x8p-152 0x8p-152 : 0xc.90fdap-4 : inexact-ok
+= atan2 tonearest binary32 0x8p-152 0x8p-152 : 0xc.90fdbp-4 : inexact-ok
+= atan2 towardzero binary32 0x8p-152 0x8p-152 : 0xc.90fdap-4 : inexact-ok
+= atan2 upward binary32 0x8p-152 0x8p-152 : 0xc.90fdbp-4 : inexact-ok
+= atan2 downward binary64 0x8p-152 0x8p-152 : 0xc.90fdaa22168cp-4 : inexact-ok
+= atan2 tonearest binary64 0x8p-152 0x8p-152 : 0xc.90fdaa22168cp-4 : inexact-ok
+= atan2 towardzero binary64 0x8p-152 0x8p-152 : 0xc.90fdaa22168cp-4 : inexact-ok
+= atan2 upward binary64 0x8p-152 0x8p-152 : 0xc.90fdaa22168c8p-4 : inexact-ok
+= atan2 downward intel96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234p-4 : inexact-ok
+= atan2 tonearest intel96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c235p-4 : inexact-ok
+= atan2 towardzero intel96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234p-4 : inexact-ok
+= atan2 upward intel96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c235p-4 : inexact-ok
+= atan2 downward m68k96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234p-4 : inexact-ok
+= atan2 tonearest m68k96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c235p-4 : inexact-ok
+= atan2 towardzero m68k96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234p-4 : inexact-ok
+= atan2 upward m68k96 0x8p-152 0x8p-152 : 0xc.90fdaa22168c235p-4 : inexact-ok
+= atan2 downward binary128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok
+= atan2 tonearest binary128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok
+= atan2 towardzero binary128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok
+= atan2 upward binary128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80dc8p-4 : inexact-ok
+= atan2 downward ibm128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok
+= atan2 tonearest ibm128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok
+= atan2 towardzero ibm128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok
+= atan2 upward ibm128 0x8p-152 0x8p-152 : 0xc.90fdaa22168c234c4c6628b81p-4 : inexact-ok
+= atan2 downward binary32 0x8p-152 0x0p+0 : 0x1.921fb4p+0 : inexact-ok
+= atan2 tonearest binary32 0x8p-152 0x0p+0 : 0x1.921fb6p+0 : inexact-ok
+= atan2 towardzero binary32 0x8p-152 0x0p+0 : 0x1.921fb4p+0 : inexact-ok
+= atan2 upward binary32 0x8p-152 0x0p+0 : 0x1.921fb6p+0 : inexact-ok
+= atan2 downward binary64 0x8p-152 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 tonearest binary64 0x8p-152 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 towardzero binary64 0x8p-152 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 upward binary64 0x8p-152 0x0p+0 : 0x1.921fb54442d19p+0 : inexact-ok
+= atan2 downward intel96 0x8p-152 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest intel96 0x8p-152 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero intel96 0x8p-152 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward intel96 0x8p-152 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward m68k96 0x8p-152 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest m68k96 0x8p-152 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero m68k96 0x8p-152 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward m68k96 0x8p-152 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward binary128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 tonearest binary128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 towardzero binary128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 upward binary128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok
+= atan2 downward ibm128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 tonearest ibm128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 towardzero ibm128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 upward ibm128 0x8p-152 0x0p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok
+= atan2 downward binary64 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 tonearest binary64 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 towardzero binary64 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 upward binary64 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d19p+0 : inexact-ok
+= atan2 downward intel96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest intel96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero intel96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward intel96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward m68k96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest m68k96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero m68k96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward m68k96 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward binary128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 tonearest binary128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 towardzero binary128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 upward binary128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok
+= atan2 downward ibm128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 tonearest ibm128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 towardzero ibm128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 upward ibm128 0x8p-152 0x1.b7be6f5a03a8cp-588 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok
+= atan2 downward binary32 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x0p+0 0x8p-152 : 0x0p+0 : inexact-ok
+= atan2 downward binary32 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary32 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary32 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward binary32 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary64 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary64 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 upward binary64 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 downward intel96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 tonearest intel96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 towardzero intel96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 upward intel96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 downward m68k96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 tonearest m68k96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 towardzero m68k96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 upward m68k96 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 downward binary128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 tonearest binary128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 towardzero binary128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 upward binary128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 downward ibm128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 tonearest ibm128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 towardzero ibm128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 upward ibm128 0x0p+0 0x1.b7be6f5a03a8cp-588 : 0x0p+0 : inexact-ok
+= atan2 downward binary64 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c5p-440 : inexact-ok
+= atan2 tonearest binary64 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 towardzero binary64 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c5p-440 : inexact-ok
+= atan2 upward binary64 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 downward intel96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffcp-440 : inexact-ok
+= atan2 tonearest intel96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 towardzero intel96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffcp-440 : inexact-ok
+= atan2 upward intel96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 downward m68k96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffcp-440 : inexact-ok
+= atan2 tonearest m68k96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 towardzero m68k96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffcp-440 : inexact-ok
+= atan2 upward m68k96 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 downward binary128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffffffffffffffep-440 : inexact-ok
+= atan2 tonearest binary128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 towardzero binary128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51ffffffffffffffep-440 : inexact-ok
+= atan2 upward binary128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 downward ibm128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51fffffffffffffp-440 : inexact-ok
+= atan2 tonearest ibm128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 towardzero ibm128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c51fffffffffffffp-440 : inexact-ok
+= atan2 upward ibm128 0x1.b836ed678be29p-588 0x8p-152 : 0x3.706ddacf17c52p-440 : inexact-ok
+= atan2 downward binary64 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 tonearest binary64 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 towardzero binary64 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= atan2 upward binary64 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d19p+0 : inexact-ok
+= atan2 downward intel96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest intel96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero intel96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward intel96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward m68k96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 tonearest m68k96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 towardzero m68k96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok
+= atan2 upward m68k96 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok
+= atan2 downward binary128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 tonearest binary128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 towardzero binary128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok
+= atan2 upward binary128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok
+= atan2 downward ibm128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 tonearest ibm128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 towardzero ibm128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok
+= atan2 upward ibm128 0x1.b836ed678be29p-588 0x0p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok
+= atan2 downward binary64 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e87412478p-4 : inexact-ok
+= atan2 tonearest binary64 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e87412478p-4 : inexact-ok
+= atan2 towardzero binary64 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e87412478p-4 : inexact-ok
+= atan2 upward binary64 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124788p-4 : inexact-ok
+= atan2 downward intel96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cap-4 : inexact-ok
+= atan2 tonearest intel96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cbp-4 : inexact-ok
+= atan2 towardzero intel96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cap-4 : inexact-ok
+= atan2 upward intel96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cbp-4 : inexact-ok
+= atan2 downward m68k96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cap-4 : inexact-ok
+= atan2 tonearest m68k96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cbp-4 : inexact-ok
+= atan2 towardzero m68k96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cap-4 : inexact-ok
+= atan2 upward m68k96 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780cbp-4 : inexact-ok
+= atan2 downward binary128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb72b8p-4 : inexact-ok
+= atan2 tonearest binary128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb72cp-4 : inexact-ok
+= atan2 towardzero binary128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb72b8p-4 : inexact-ok
+= atan2 upward binary128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb72cp-4 : inexact-ok
+= atan2 downward ibm128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb7p-4 : inexact-ok
+= atan2 tonearest ibm128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb74p-4 : inexact-ok
+= atan2 towardzero ibm128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb7p-4 : inexact-ok
+= atan2 upward ibm128 0x1.b836ed678be29p-588 0x1.b7be6f5a03a8cp-588 : 0xc.932e874124780ca850c92ebb74p-4 : inexact-ok
atan2 0x1.41df5aa214612c7e019fa6ade88p-13316 0x5.e53b26a270a29eb9f77ef8ef7af8p-13316
= atan2 downward binary32 0x8p-152 0x8p-152 : 0xc.90fdap-4 : inexact-ok
= atan2 tonearest binary32 0x8p-152 0x8p-152 : 0xc.90fdbp-4 : inexact-ok
@@ -214,10 +214,10 @@ double: 1
float: 2
Function: "atan2_vlen4_avx2":
-double: 1
+double: 2
Function: "atan2_vlen8":
-double: 1
+double: 2
float: 2
Function: "atan2_vlen8_avx2":