mailing list of musl libc
 help / color / Atom feed
* [musl] Hexagon DSP support
@ 2020-04-15 13:19 sidneym
  2020-04-15 16:30 ` Rich Felker
  2020-04-15 18:55 ` Fangrui Song
  0 siblings, 2 replies; 17+ messages in thread
From: sidneym @ 2020-04-15 13:19 UTC (permalink / raw)
  To: musl


[-- Attachment #1: Type: text/plain, Size: 1444 bytes --]

Recently work has been done with clang/llvm/lld to extend support for
Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
available LLVM tools are able to build and run Hexagon programs via QEMU.
I've attached a patch that add the Hexagon bits to musl.  The optimized
routines have been purposely omitted to keep the size and complexity to a
minimum.

The changes are being mirrored here:
https://github.com/quic/musl/tree/hexagon
The QEMU mirror is here: https://github.com/quic/qemu
A description of the assembly language is here:
https://developer.qualcomm.com/download/hexagon/hexagon-v5x-programmers-refe
rence-manual.pdf?referrer=node/6116

The objective is to have enough freely available tools and libraries that
any user could develop code for the DSP.  The C-library is an important part
of that stack and this patch is intended to start a discussion of what would
need to happen in order for Hexagon to be added to the musl sources.

I've tested this using libc-test (git://repo.or.cz/libc-test) and 56 errors
are reported.  The support for Hexagon in QEMU is on-going and while some of
the errors (math) may be attributed to QEMU most also happen on hardware.  A
good chunk fail due to floating point exception status or precision.

Beyond the above testing a large number of packages have been built using
buildroot with our internal llvm tools.  No issues outside of tweaks to
avoid glibc assumptions were seen.

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 50077 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 13:19 [musl] Hexagon DSP support sidneym
@ 2020-04-15 16:30 ` Rich Felker
  2020-04-15 17:50   ` sidneym
  2020-04-15 18:55 ` Fangrui Song
  1 sibling, 1 reply; 17+ messages in thread
From: Rich Felker @ 2020-04-15 16:30 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On Wed, Apr 15, 2020 at 08:19:29AM -0500, sidneym@codeaurora.org wrote:
> Recently work has been done with clang/llvm/lld to extend support for
> Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
> available LLVM tools are able to build and run Hexagon programs via QEMU.
> I've attached a patch that add the Hexagon bits to musl.  The optimized
> routines have been purposely omitted to keep the size and complexity to a
> minimum.
> 
> The changes are being mirrored here:
> https://github.com/quic/musl/tree/hexagon
> The QEMU mirror is here: https://github.com/quic/qemu
> A description of the assembly language is here:
> https://developer.qualcomm.com/download/hexagon/hexagon-v5x-programmers-refe
> rence-manual.pdf?referrer=node/6116
> 
> The objective is to have enough freely available tools and libraries that
> any user could develop code for the DSP.  The C-library is an important part
> of that stack and this patch is intended to start a discussion of what would
> need to happen in order for Hexagon to be added to the musl sources.

Thanks for reaching out upstream and sharing this. I did a quick
glance over the port (mostly just arch/hexagon dir, not source dirs in
any detail) and what I've read so far looks good.

One question I have: alltypes.h.in defines _REDIR_TIME64. Is this
because there's an existing unofficial ABI in deployments that you
don't want to break? If so that's probably okay, but if not it's not
necessary or wanted for new 32-bit archs to define this; if it's not
defined, the unadorned symbol names will just be 64-bit versions, just
like on 64-bit archs.

> I've tested this using libc-test (git://repo.or.cz/libc-test) and 56 errors
> are reported.  The support for Hexagon in QEMU is on-going and while some of
> the errors (math) may be attributed to QEMU most also happen on hardware.  A
> good chunk fail due to floating point exception status or precision.

Can you send the output report to the list or post it somewhere
publicly accessible? I can probably give you a quick rundown on
whether any of the failures are unexpected (on qemu or real hardware)
and it will suggest which parts of the source I (and others in the
community) should focus on reviewing.

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [musl] Hexagon DSP support
  2020-04-15 16:30 ` Rich Felker
@ 2020-04-15 17:50   ` sidneym
  2020-04-15 18:06     ` Szabolcs Nagy
  0 siblings, 1 reply; 17+ messages in thread
From: sidneym @ 2020-04-15 17:50 UTC (permalink / raw)
  To: musl



> -----Original Message-----
> From: Rich Felker <dalias@libc.org>
> Sent: Wednesday, April 15, 2020 11:30 AM
> To: sidneym@codeaurora.org
> Cc: musl@lists.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> On Wed, Apr 15, 2020 at 08:19:29AM -0500, sidneym@codeaurora.org wrote:
> > Recently work has been done with clang/llvm/lld to extend support for
> > Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
> > available LLVM tools are able to build and run Hexagon programs via
QEMU.
> > I've attached a patch that add the Hexagon bits to musl.  The
> > optimized routines have been purposely omitted to keep the size and
> > complexity to a minimum.
> >
> > The changes are being mirrored here:
> > https://github.com/quic/musl/tree/hexagon
> > The QEMU mirror is here: https://github.com/quic/qemu A description of
> > the assembly language is here:
> > https://developer.qualcomm.com/download/hexagon/hexagon-v5x-
> programmer
> > s-refe
> > rence-manual.pdf?referrer=node/6116
> >
> > The objective is to have enough freely available tools and libraries
> > that any user could develop code for the DSP.  The C-library is an
> > important part of that stack and this patch is intended to start a
> > discussion of what would need to happen in order for Hexagon to be
> added to the musl sources.
> 
> Thanks for reaching out upstream and sharing this. I did a quick glance
over
> the port (mostly just arch/hexagon dir, not source dirs in any detail) and
what
> I've read so far looks good.
> 
> One question I have: alltypes.h.in defines _REDIR_TIME64. Is this because
> there's an existing unofficial ABI in deployments that you don't want to
> break? If so that's probably okay, but if not it's not necessary or wanted
for
> new 32-bit archs to define this; if it's not defined, the unadorned symbol
> names will just be 64-bit versions, just like on 64-bit archs.
> 
That was a copy/paste error and was responsible for a few libc-testsuite
failures: 
   ld.lld: error: undefined symbol: __dlsym_time64
I will correct that and update the source.


> > I've tested this using libc-test (git://repo.or.cz/libc-test) and 56
> > errors are reported.  The support for Hexagon in QEMU is on-going and
> > while some of the errors (math) may be attributed to QEMU most also
> > happen on hardware.  A good chunk fail due to floating point exception
> status or precision.
> 
> Can you send the output report to the list or post it somewhere publicly
> accessible? I can probably give you a quick rundown on whether any of the
> failures are unexpected (on qemu or real hardware) and it will suggest
which
> parts of the source I (and others in the
> community) should focus on reviewing.

This is the list, the context associated with some of the failures can be
bulky so I hope the summary is ok.  Let me know which failures are most
critical and I will try to fix those first.  51 failures after removing the
TIME64 define

FAIL src/api/main.exe [status 1]
FAIL src/functional/dlopen.exe [status 1]
FAIL src/functional/ipc_msg-static.exe [status 1]
FAIL src/functional/ipc_msg.exe [status 1]
FAIL src/functional/ipc_sem-static.exe [status 1]
FAIL src/functional/ipc_sem.exe [status 1]
FAIL src/functional/ipc_shm-static.exe [status 1]
FAIL src/functional/ipc_shm.exe [status 1]
FAIL src/functional/pthread_mutex-static.exe [status 1]
FAIL src/functional/pthread_mutex.exe [status 1]
FAIL src/functional/pthread_mutex_pi-static.exe [timed out]
FAIL src/functional/pthread_mutex_pi.exe [signal Segmentation fault]
FAIL src/functional/pthread_robust-static.exe [timed out]
FAIL src/functional/pthread_robust.exe [timed out]
FAIL src/functional/sem_init-static.exe [status 1]
FAIL src/functional/sem_init.exe [status 1]
FAIL src/functional/strptime-static.exe [status 1]
FAIL src/functional/strptime.exe [status 1]
FAIL src/functional/utime-static.exe [status 1]
FAIL src/functional/utime.exe [status 1]
FAIL src/math/acoshl.exe [status 1]
FAIL src/math/asinhl.exe [status 1]
FAIL src/math/erfcl.exe [status 1]
FAIL src/math/exp2l.exe [status 1]
FAIL src/math/fmal.exe [status 1]
FAIL src/math/ilogb.exe [status 1]
FAIL src/math/ilogbf.exe [status 1]
FAIL src/math/ilogbl.exe [status 1]
FAIL src/math/lgammal.exe [status 1]
FAIL src/math/powf.exe [status 1]
FAIL src/math/powl.exe [status 1]
FAIL src/math/sqrt.exe [status 1]
FAIL src/math/sqrtf.exe [status 1]
FAIL src/math/sqrtl.exe [status 1]
FAIL src/math/tgamma.exe [status 1]
FAIL src/math/tgammaf.exe [status 1]
FAIL src/math/tgammal.exe [status 1]
FAIL src/math/y0.exe [status 1]
FAIL src/math/y0f.exe [status 1]
FAIL src/math/y1.exe [status 1]
FAIL src/math/y1f.exe [status 1]
FAIL src/math/yn.exe [status 1]
FAIL src/math/ynf.exe [status 1]
FAIL src/regression/malloc-brk-fail-static.exe [status 1]
FAIL src/regression/malloc-brk-fail.exe [timed out]
FAIL src/regression/pthread-robust-detach-static.exe [status 1]
FAIL src/regression/pthread-robust-detach.exe [status 1]
FAIL src/regression/pthread_cond-smasher-static.exe [status 1]
FAIL src/regression/pthread_cond-smasher.exe [status 1]
FAIL src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
FAIL src/regression/pthread_once-deadlock-static.exe [status 1]


> 
> Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 17:50   ` sidneym
@ 2020-04-15 18:06     ` Szabolcs Nagy
  2020-04-15 18:22       ` sidneym
  2020-04-15 18:26       ` Rich Felker
  0 siblings, 2 replies; 17+ messages in thread
From: Szabolcs Nagy @ 2020-04-15 18:06 UTC (permalink / raw)
  To: sidneym; +Cc: musl

* sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15 12:50:21 -0500]:
> > > Recently work has been done with clang/llvm/lld to extend support for
> > > Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
> > > available LLVM tools are able to build and run Hexagon programs via
> QEMU.
...
> This is the list, the context associated with some of the failures can be
> bulky so I hope the summary is ok.  Let me know which failures are most
> critical and I will try to fix those first.  51 failures after removing the
> TIME64 define

is this qemu system emulation?

i'd look at the pthread failures first.
sqrt/sqrtf should work too (you may want to
implement them if there is a single instruction)
other math failures are not target specific.
the ipc failures may be relevant, or it
may be a time issue (if timestamps fail).

> 
> FAIL src/api/main.exe [status 1]
> FAIL src/functional/dlopen.exe [status 1]
> FAIL src/functional/ipc_msg-static.exe [status 1]
> FAIL src/functional/ipc_msg.exe [status 1]
> FAIL src/functional/ipc_sem-static.exe [status 1]
> FAIL src/functional/ipc_sem.exe [status 1]
> FAIL src/functional/ipc_shm-static.exe [status 1]
> FAIL src/functional/ipc_shm.exe [status 1]
> FAIL src/functional/pthread_mutex-static.exe [status 1]
> FAIL src/functional/pthread_mutex.exe [status 1]
> FAIL src/functional/pthread_mutex_pi-static.exe [timed out]
> FAIL src/functional/pthread_mutex_pi.exe [signal Segmentation fault]
> FAIL src/functional/pthread_robust-static.exe [timed out]
> FAIL src/functional/pthread_robust.exe [timed out]
> FAIL src/functional/sem_init-static.exe [status 1]
> FAIL src/functional/sem_init.exe [status 1]
> FAIL src/functional/strptime-static.exe [status 1]
> FAIL src/functional/strptime.exe [status 1]
> FAIL src/functional/utime-static.exe [status 1]
> FAIL src/functional/utime.exe [status 1]
> FAIL src/math/acoshl.exe [status 1]
> FAIL src/math/asinhl.exe [status 1]
> FAIL src/math/erfcl.exe [status 1]
> FAIL src/math/exp2l.exe [status 1]
> FAIL src/math/fmal.exe [status 1]
> FAIL src/math/ilogb.exe [status 1]
> FAIL src/math/ilogbf.exe [status 1]
> FAIL src/math/ilogbl.exe [status 1]
> FAIL src/math/lgammal.exe [status 1]
> FAIL src/math/powf.exe [status 1]
> FAIL src/math/powl.exe [status 1]
> FAIL src/math/sqrt.exe [status 1]
> FAIL src/math/sqrtf.exe [status 1]
> FAIL src/math/sqrtl.exe [status 1]
> FAIL src/math/tgamma.exe [status 1]
> FAIL src/math/tgammaf.exe [status 1]
> FAIL src/math/tgammal.exe [status 1]
> FAIL src/math/y0.exe [status 1]
> FAIL src/math/y0f.exe [status 1]
> FAIL src/math/y1.exe [status 1]
> FAIL src/math/y1f.exe [status 1]
> FAIL src/math/yn.exe [status 1]
> FAIL src/math/ynf.exe [status 1]
> FAIL src/regression/malloc-brk-fail-static.exe [status 1]
> FAIL src/regression/malloc-brk-fail.exe [timed out]
> FAIL src/regression/pthread-robust-detach-static.exe [status 1]
> FAIL src/regression/pthread-robust-detach.exe [status 1]
> FAIL src/regression/pthread_cond-smasher-static.exe [status 1]
> FAIL src/regression/pthread_cond-smasher.exe [status 1]
> FAIL src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
> FAIL src/regression/pthread_once-deadlock-static.exe [status 1]
> 
> 
> > 
> > Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [musl] Hexagon DSP support
  2020-04-15 18:06     ` Szabolcs Nagy
@ 2020-04-15 18:22       ` sidneym
  2020-04-16  9:36         ` Szabolcs Nagy
  2020-04-15 18:26       ` Rich Felker
  1 sibling, 1 reply; 17+ messages in thread
From: sidneym @ 2020-04-15 18:22 UTC (permalink / raw)
  To: musl



> -----Original Message-----
> From: Szabolcs Nagy <nsz@port70.net>
> Sent: Wednesday, April 15, 2020 1:06 PM
> To: sidneym@codeaurora.org
> Cc: musl@lists.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15
> 12:50:21 -0500]:
> > > > Recently work has been done with clang/llvm/lld to extend support
> > > > for Qualcomm's Hexagon DSP to a Linux target.  At this point the
> > > > publicly available LLVM tools are able to build and run Hexagon
> > > > programs via
> > QEMU.
> ...
> > This is the list, the context associated with some of the failures can
> > be bulky so I hope the summary is ok.  Let me know which failures are
> > most critical and I will try to fix those first.  51 failures after
> > removing the
> > TIME64 define
> 
> is this qemu system emulation?
No it isn't however that is being worked on.

> 
> i'd look at the pthread failures first.
> sqrt/sqrtf should work too (you may want to implement them if there is a
> single instruction) other math failures are not target specific.

In fact that does go away if I used the hardware accelerated routine that is
part of compiler-rt.builtins (__hexagon_sqrt)   Creating an explicit
reference to compiler-rt-builtins vs just copying the assembly, which is
preferred?


> the ipc failures may be relevant, or it
> may be a time issue (if timestamps fail).
> 
> >
> > FAIL src/api/main.exe [status 1]
> > FAIL src/functional/dlopen.exe [status 1] FAIL
> > src/functional/ipc_msg-static.exe [status 1] FAIL
> > src/functional/ipc_msg.exe [status 1] FAIL
> > src/functional/ipc_sem-static.exe [status 1] FAIL
> > src/functional/ipc_sem.exe [status 1] FAIL
> > src/functional/ipc_shm-static.exe [status 1] FAIL
> > src/functional/ipc_shm.exe [status 1] FAIL
> > src/functional/pthread_mutex-static.exe [status 1] FAIL
> > src/functional/pthread_mutex.exe [status 1] FAIL
> > src/functional/pthread_mutex_pi-static.exe [timed out] FAIL
> > src/functional/pthread_mutex_pi.exe [signal Segmentation fault] FAIL
> > src/functional/pthread_robust-static.exe [timed out] FAIL
> > src/functional/pthread_robust.exe [timed out] FAIL
> > src/functional/sem_init-static.exe [status 1] FAIL
> > src/functional/sem_init.exe [status 1] FAIL
> > src/functional/strptime-static.exe [status 1] FAIL
> > src/functional/strptime.exe [status 1] FAIL
> > src/functional/utime-static.exe [status 1] FAIL
> > src/functional/utime.exe [status 1] FAIL src/math/acoshl.exe [status
> > 1] FAIL src/math/asinhl.exe [status 1] FAIL src/math/erfcl.exe [status
> > 1] FAIL src/math/exp2l.exe [status 1] FAIL src/math/fmal.exe [status
> > 1] FAIL src/math/ilogb.exe [status 1] FAIL src/math/ilogbf.exe [status
> > 1] FAIL src/math/ilogbl.exe [status 1] FAIL src/math/lgammal.exe
> > [status 1] FAIL src/math/powf.exe [status 1] FAIL src/math/powl.exe
> > [status 1] FAIL src/math/sqrt.exe [status 1] FAIL src/math/sqrtf.exe
> > [status 1] FAIL src/math/sqrtl.exe [status 1] FAIL src/math/tgamma.exe
> > [status 1] FAIL src/math/tgammaf.exe [status 1] FAIL
> > src/math/tgammal.exe [status 1] FAIL src/math/y0.exe [status 1] FAIL
> > src/math/y0f.exe [status 1] FAIL src/math/y1.exe [status 1] FAIL
> > src/math/y1f.exe [status 1] FAIL src/math/yn.exe [status 1] FAIL
> > src/math/ynf.exe [status 1] FAIL
> > src/regression/malloc-brk-fail-static.exe [status 1] FAIL
> > src/regression/malloc-brk-fail.exe [timed out] FAIL
> > src/regression/pthread-robust-detach-static.exe [status 1] FAIL
> > src/regression/pthread-robust-detach.exe [status 1] FAIL
> > src/regression/pthread_cond-smasher-static.exe [status 1] FAIL
> > src/regression/pthread_cond-smasher.exe [status 1] FAIL
> > src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
> > FAIL src/regression/pthread_once-deadlock-static.exe [status 1]
> >
> >
> > >
> > > Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 18:06     ` Szabolcs Nagy
  2020-04-15 18:22       ` sidneym
@ 2020-04-15 18:26       ` Rich Felker
  2020-04-15 19:12         ` sidneym
  1 sibling, 1 reply; 17+ messages in thread
From: Rich Felker @ 2020-04-15 18:26 UTC (permalink / raw)
  To: sidneym, musl

On Wed, Apr 15, 2020 at 08:06:20PM +0200, Szabolcs Nagy wrote:
> * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15 12:50:21 -0500]:
> > > > Recently work has been done with clang/llvm/lld to extend support for
> > > > Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
> > > > available LLVM tools are able to build and run Hexagon programs via
> > QEMU.
> ....
> > This is the list, the context associated with some of the failures can be
> > bulky so I hope the summary is ok.  Let me know which failures are most
> > critical and I will try to fix those first.  51 failures after removing the
> > TIME64 define
> 
> is this qemu system emulation?
> 
> i'd look at the pthread failures first.

If qemu-user these would possibly be expected failures. If qemu-system
or native they almost surely indicate bugs in the atomics.

> sqrt/sqrtf should work too (you may want to
> implement them if there is a single instruction)
> other math failures are not target specific.
> the ipc failures may be relevant, or it
> may be a time issue (if timestamps fail).

arch/hexagon/bits is missing sem.h etc. so it's using the arch/generic
definitions, which only work for archs that are 64-bit or where the
only existing kernel interface has 64-bit time_t (i.e. riscv32). For
anything else they must be defined with the proper hi/lo time members,
and bits/ipcstat.h must define IPC_STAT as 0x102 to activate the
translations.

> > FAIL src/api/main.exe [status 1]
> > FAIL src/functional/dlopen.exe [status 1]
> > FAIL src/functional/ipc_msg-static.exe [status 1]
> > FAIL src/functional/ipc_msg.exe [status 1]
> > FAIL src/functional/ipc_sem-static.exe [status 1]
> > FAIL src/functional/ipc_sem.exe [status 1]
> > FAIL src/functional/ipc_shm-static.exe [status 1]
> > FAIL src/functional/ipc_shm.exe [status 1]
> > FAIL src/functional/pthread_mutex-static.exe [status 1]
> > FAIL src/functional/pthread_mutex.exe [status 1]
> > FAIL src/functional/pthread_mutex_pi-static.exe [timed out]
> > FAIL src/functional/pthread_mutex_pi.exe [signal Segmentation fault]
> > FAIL src/functional/pthread_robust-static.exe [timed out]
> > FAIL src/functional/pthread_robust.exe [timed out]
> > FAIL src/functional/sem_init-static.exe [status 1]
> > FAIL src/functional/sem_init.exe [status 1]
> > FAIL src/functional/strptime-static.exe [status 1]
> > FAIL src/functional/strptime.exe [status 1]
> > FAIL src/functional/utime-static.exe [status 1]
> > FAIL src/functional/utime.exe [status 1]
> > FAIL src/math/acoshl.exe [status 1]
> > FAIL src/math/asinhl.exe [status 1]
> > FAIL src/math/erfcl.exe [status 1]
> > FAIL src/math/exp2l.exe [status 1]
> > FAIL src/math/fmal.exe [status 1]
> > FAIL src/math/ilogb.exe [status 1]
> > FAIL src/math/ilogbf.exe [status 1]
> > FAIL src/math/ilogbl.exe [status 1]
> > FAIL src/math/lgammal.exe [status 1]
> > FAIL src/math/powf.exe [status 1]
> > FAIL src/math/powl.exe [status 1]
> > FAIL src/math/sqrt.exe [status 1]
> > FAIL src/math/sqrtf.exe [status 1]
> > FAIL src/math/sqrtl.exe [status 1]
> > FAIL src/math/tgamma.exe [status 1]
> > FAIL src/math/tgammaf.exe [status 1]
> > FAIL src/math/tgammal.exe [status 1]
> > FAIL src/math/y0.exe [status 1]
> > FAIL src/math/y0f.exe [status 1]
> > FAIL src/math/y1.exe [status 1]
> > FAIL src/math/y1f.exe [status 1]
> > FAIL src/math/yn.exe [status 1]
> > FAIL src/math/ynf.exe [status 1]
> > FAIL src/regression/malloc-brk-fail-static.exe [status 1]
> > FAIL src/regression/malloc-brk-fail.exe [timed out]
> > FAIL src/regression/pthread-robust-detach-static.exe [status 1]
> > FAIL src/regression/pthread-robust-detach.exe [status 1]
> > FAIL src/regression/pthread_cond-smasher-static.exe [status 1]
> > FAIL src/regression/pthread_cond-smasher.exe [status 1]
> > FAIL src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
> > FAIL src/regression/pthread_once-deadlock-static.exe [status 1]

Could you send the whole src/REPORT file which contains not just the
FAIL lines but the specific test failures that caused them? And label
whether it's for qemu-user, qemu-system, or real metal.

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 13:19 [musl] Hexagon DSP support sidneym
  2020-04-15 16:30 ` Rich Felker
@ 2020-04-15 18:55 ` Fangrui Song
  1 sibling, 0 replies; 17+ messages in thread
From: Fangrui Song @ 2020-04-15 18:55 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On 2020-04-15, sidneym@codeaurora.org wrote:
>Recently work has been done with clang/llvm/lld to extend support for
>Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
>available LLVM tools are able to build and run Hexagon programs via QEMU.
>I've attached a patch that add the Hexagon bits to musl.  The optimized
>routines have been purposely omitted to keep the size and complexity to a
>minimum.
>
>The changes are being mirrored here:
>https://github.com/quic/musl/tree/hexagon
>The QEMU mirror is here: https://github.com/quic/qemu
>A description of the assembly language is here:
>https://developer.qualcomm.com/download/hexagon/hexagon-v5x-programmers-refe
>rence-manual.pdf?referrer=node/6116
>
>The objective is to have enough freely available tools and libraries that
>any user could develop code for the DSP.  The C-library is an important part
>of that stack and this patch is intended to start a discussion of what would
>need to happen in order for Hexagon to be added to the musl sources.
>
>I've tested this using libc-test (git://repo.or.cz/libc-test) and 56 errors
>are reported.  The support for Hexagon in QEMU is on-going and while some of
>the errors (math) may be attributed to QEMU most also happen on hardware.  A
>good chunk fail due to floating point exception status or precision.
>
>Beyond the above testing a large number of packages have been built using
>buildroot with our internal llvm tools.  No issues outside of tweaks to
>avoid glibc assumptions were seen.

WoW

Any chance to move the psABI
(http://lists.llvm.org/pipermail/llvm-dev/attachments/20190916/21516a52/attachment-0001.pdf),
as mentioned by https://reviews.llvm.org/D77021#1950279 to a more discoverable/official place :) ?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [musl] Hexagon DSP support
  2020-04-15 18:26       ` Rich Felker
@ 2020-04-15 19:12         ` sidneym
  2020-04-15 19:29           ` 'Rich Felker'
  0 siblings, 1 reply; 17+ messages in thread
From: sidneym @ 2020-04-15 19:12 UTC (permalink / raw)
  To: 'Rich Felker', musl


[-- Attachment #1: Type: text/plain, Size: 4548 bytes --]



> -----Original Message-----
> From: Rich Felker <dalias@libc.org>
> Sent: Wednesday, April 15, 2020 1:26 PM
> To: sidneym@codeaurora.org; musl@lists.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> On Wed, Apr 15, 2020 at 08:06:20PM +0200, Szabolcs Nagy wrote:
> > * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15
> 12:50:21 -0500]:
> > > > > Recently work has been done with clang/llvm/lld to extend
> > > > > support for Qualcomm's Hexagon DSP to a Linux target.  At this
> > > > > point the publicly available LLVM tools are able to build and
> > > > > run Hexagon programs via
> > > QEMU.
> > ....
> > > This is the list, the context associated with some of the failures
> > > can be bulky so I hope the summary is ok.  Let me know which
> > > failures are most critical and I will try to fix those first.  51
> > > failures after removing the
> > > TIME64 define
> >
> > is this qemu system emulation?
> >
> > i'd look at the pthread failures first.
> 
> If qemu-user these would possibly be expected failures. If qemu-system or
> native they almost surely indicate bugs in the atomics.
> 
> > sqrt/sqrtf should work too (you may want to implement them if there is
> > a single instruction) other math failures are not target specific.
> > the ipc failures may be relevant, or it may be a time issue (if
> > timestamps fail).
> 
> arch/hexagon/bits is missing sem.h etc. so it's using the arch/generic
> definitions, which only work for archs that are 64-bit or where the only
> existing kernel interface has 64-bit time_t (i.e. riscv32). For anything
else
> they must be defined with the proper hi/lo time members, and
bits/ipcstat.h
> must define IPC_STAT as 0x102 to activate the translations.

Thanks I will take a look at these headers and the test issues.

> 
> > > FAIL src/api/main.exe [status 1]
> > > FAIL src/functional/dlopen.exe [status 1] FAIL
> > > src/functional/ipc_msg-static.exe [status 1] FAIL
> > > src/functional/ipc_msg.exe [status 1] FAIL
> > > src/functional/ipc_sem-static.exe [status 1] FAIL
> > > src/functional/ipc_sem.exe [status 1] FAIL
> > > src/functional/ipc_shm-static.exe [status 1] FAIL
> > > src/functional/ipc_shm.exe [status 1] FAIL
> > > src/functional/pthread_mutex-static.exe [status 1] FAIL
> > > src/functional/pthread_mutex.exe [status 1] FAIL
> > > src/functional/pthread_mutex_pi-static.exe [timed out] FAIL
> > > src/functional/pthread_mutex_pi.exe [signal Segmentation fault] FAIL
> > > src/functional/pthread_robust-static.exe [timed out] FAIL
> > > src/functional/pthread_robust.exe [timed out] FAIL
> > > src/functional/sem_init-static.exe [status 1] FAIL
> > > src/functional/sem_init.exe [status 1] FAIL
> > > src/functional/strptime-static.exe [status 1] FAIL
> > > src/functional/strptime.exe [status 1] FAIL
> > > src/functional/utime-static.exe [status 1] FAIL
> > > src/functional/utime.exe [status 1] FAIL src/math/acoshl.exe [status
> > > 1] FAIL src/math/asinhl.exe [status 1] FAIL src/math/erfcl.exe
> > > [status 1] FAIL src/math/exp2l.exe [status 1] FAIL src/math/fmal.exe
> > > [status 1] FAIL src/math/ilogb.exe [status 1] FAIL
> > > src/math/ilogbf.exe [status 1] FAIL src/math/ilogbl.exe [status 1]
> > > FAIL src/math/lgammal.exe [status 1] FAIL src/math/powf.exe [status
> > > 1] FAIL src/math/powl.exe [status 1] FAIL src/math/sqrt.exe [status
> > > 1] FAIL src/math/sqrtf.exe [status 1] FAIL src/math/sqrtl.exe
> > > [status 1] FAIL src/math/tgamma.exe [status 1] FAIL
> > > src/math/tgammaf.exe [status 1] FAIL src/math/tgammal.exe [status 1]
> > > FAIL src/math/y0.exe [status 1] FAIL src/math/y0f.exe [status 1]
> > > FAIL src/math/y1.exe [status 1] FAIL src/math/y1f.exe [status 1]
> > > FAIL src/math/yn.exe [status 1] FAIL src/math/ynf.exe [status 1]
> > > FAIL src/regression/malloc-brk-fail-static.exe [status 1] FAIL
> > > src/regression/malloc-brk-fail.exe [timed out] FAIL
> > > src/regression/pthread-robust-detach-static.exe [status 1] FAIL
> > > src/regression/pthread-robust-detach.exe [status 1] FAIL
> > > src/regression/pthread_cond-smasher-static.exe [status 1] FAIL
> > > src/regression/pthread_cond-smasher.exe [status 1] FAIL
> > > src/regression/pthread_cond_wait-cancel_ignored-static.exe [status
> > > 1] FAIL src/regression/pthread_once-deadlock-static.exe [status 1]
> 
> Could you send the whole src/REPORT file which contains not just the FAIL
> lines but the specific test failures that caused them? And label whether
it's
> for qemu-user, qemu-system, or real metal.

OK I attached the full report.


> 
> Rich

[-- Attachment #2: REPORT-qemu-user --]
[-- Type: application/octet-stream, Size: 256176 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 19:12         ` sidneym
@ 2020-04-15 19:29           ` 'Rich Felker'
  2020-04-30 22:44             ` sidneym
  0 siblings, 1 reply; 17+ messages in thread
From: 'Rich Felker' @ 2020-04-15 19:29 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On Wed, Apr 15, 2020 at 02:12:12PM -0500, sidneym@codeaurora.org wrote:
> src/api/ftw.c:44:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]

Compiling libc-test with -Werror is invalid. It necessarily must
produce some warnings, and needs to be able to distinguish actual
errors from them.

> 8 errors generated.
> src/functional/dlopen.c:39: dlsym main failed: Symbol not found: main
> FAIL src/functional/dlopen.exe [status 1]
> clang-11: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument]

This is a clang deficiency that's preventing the test from working.

> src/functional/ipc_msg.c:62: qid_ds.msg_lspid == 0 failed: got 100, want 0
> src/functional/ipc_msg.c:64: (long long)qid_ds.msg_stime == 0 failed: got 6815993655711498240, want 0
> src/functional/ipc_msg.c:67: qid_ds.msg_ctime >= t failed: got 70368744177664, want >= 154502684032321054
> src/functional/ipc_msg.c:71: qid_ds.msg_qbytes > 0 failed: got 0, want > 0
> src/functional/ipc_msg.c:76: qid_ds.msg_qnum == 1 failed: got 0, want 1
> src/functional/ipc_msg.c:77: qid_ds.msg_lspid == getpid() failed: got 100, want 185819
> src/functional/ipc_msg.c:81: msg_stime is 6815993655711498240 want <= 154502684032321059
> src/functional/ipc_msg.c:128: child exit status: 256
> FAIL src/functional/ipc_msg-static.exe [status 1]

This is the sysvipc bits headers issue I mentioned. Same with the
sem/shm ones.

> src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock did not return EDEADLK, got deadlock
> src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock did not succed, got deadlock
> FAIL src/functional/pthread_mutex-static.exe [status 1]
> src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock did not return EDEADLK, got 
> src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock did not succed, got deadlock
> FAIL src/functional/pthread_mutex.exe [status 1]

This suggests broken atomics. It doesn't look like anything qemu-user
could cause (unless it's just failing to emulate the atomics at all).

> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:148: PTHREAD_MUTEX_ERRORCHECK relock did not return EDEADLK, got deadlock
> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> FAIL src/functional/pthread_mutex_pi-static.exe [timed out]
> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:148: PTHREAD_MUTEX_ERRORCHECK relock did not return EDEADLK, got deadlock
> src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:151: PTHREAD_MUTEX_RECURSIVE relock did not succed, got deadlock
> src/functional/pthread_mutex_pi.c:87: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
> src/functional/pthread_mutex_pi.c:24: pthread_mutex_unlock(a[0]) failed: Operation not permitted
> FAIL src/functional/pthread_mutex_pi.exe [signal Segmentation fault]
> src/functional/pthread_robust.c:39: pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed: (pshared==0, pi==0) Function not implemented (setting robust attribute)
> FAIL src/functional/pthread_robust-static.exe [timed out]
> src/functional/pthread_robust.c:39: pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed: (pshared==0, pi==0) Function not implemented (setting robust attribute)
> FAIL src/functional/pthread_robust.exe [timed out]

These are all expected on qemu-user: kernel prio-inherit and robust
features are not emulated by qemu.

> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:49: sem value should be 0, got 3
> FAIL src/functional/sem_init-static.exe [status 1]
> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed: Operation timed out
> src/functional/sem_init.c:49: sem value should be 0, got 3
> FAIL src/functional/sem_init.exe [status 1]

This is probably broken atomics again.

> src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
> src/functional/strptime.c:23: "%s": failed to parse "683078400"
> src/functional/strptime.c:47: "%z": failed to parse "+0200"
> src/functional/strptime.c:47: "%z": failed to parse "-0530"
> src/functional/strptime.c:47: "%z": failed to parse "-06"
> FAIL src/functional/strptime-static.exe [status 1]
> src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
> src/functional/strptime.c:23: "%s": failed to parse "683078400"
> src/functional/strptime.c:47: "%z": failed to parse "+0200"
> src/functional/strptime.c:47: "%z": failed to parse "-0530"
> src/functional/strptime.c:47: "%z": failed to parse "-06"
> FAIL src/functional/strptime.exe [status 1]

These are expected, functionality musl does not yet support
(future-standard, I think).

> src/functional/utime.c:38: st.st_atim.tv_sec == 0 failed: 1
> src/functional/utime.c:40: st.st_mtim.tv_sec == 0 failed: 1073741822
> src/functional/utime.c:47: st.st_atim.tv_sec >= t failed: 0
> src/functional/utime.c:48: st.st_mtim.tv_sec == 0 failed: 1073741823
> src/functional/utime.c:55: st.st_mtim.tv_sec >= t failed: 1073741822
> src/functional/utime.c:59: st.st_atim.tv_sec >= t failed: 0
> src/functional/utime.c:60: st.st_mtim.tv_sec >= t failed: 1073741823
> src/functional/utime.c:65: st.st_atim.tv_sec == 1LL<<32 failed: 0
> src/functional/utime.c:66: st.st_mtim.tv_sec == 1LL<<32 failed: 0
> FAIL src/functional/utime-static.exe [status 1]
> src/functional/utime.c:38: st.st_atim.tv_sec == 0 failed: 1
> src/functional/utime.c:40: st.st_mtim.tv_sec == 0 failed: 1073741822
> src/functional/utime.c:47: st.st_atim.tv_sec >= t failed: 0
> src/functional/utime.c:48: st.st_mtim.tv_sec == 0 failed: 1073741823
> src/functional/utime.c:55: st.st_mtim.tv_sec >= t failed: 1073741822
> src/functional/utime.c:59: st.st_atim.tv_sec >= t failed: 0
> src/functional/utime.c:60: st.st_mtim.tv_sec >= t failed: 1073741823
> src/functional/utime.c:65: st.st_atim.tv_sec == 1LL<<32 failed: 0
> src/functional/utime.c:66: st.st_mtim.tv_sec == 1LL<<32 failed: 0
> FAIL src/functional/utime.exe [status 1]

Looks like something is wrong here, possibly wrong struct kstat, or it
could be a qemu bug.

> src/math/ucb/sqrt.h:47: bad fp exception: RN sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
> [...]
> src/math/special/sqrt.h:74: bad fp exception: RN sqrtl(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
> FAIL src/math/sqrtl.exe [status 1]

These are likely all general (not arch-specific) clang floating point
bugs. We should see if they also happen compiling other archs without
asm versions of sqrt.

Alternatively it might be a qemu fpu emulation bug. I've seen this
kind of thing (inconsistent across arch) on other archs under
qemu-user.

> src/regression/malloc-brk-fail.c:41: malloc(10000) failed (eventhough 64k is available to mmap): Out of memory
> FAIL src/regression/malloc-brk-fail-static.exe [status 1]
> FAIL src/regression/malloc-brk-fail.exe [timed out]

This test does not seem to work on modern kernels much less qemu-user.

> src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38 "Function not implemented" want 0 "No error information"
> src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous owner died"
> src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38 "Function not implemented" want 0 "No error information"
> src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous owner died"
> FAIL src/regression/pthread-robust-detach-static.exe [status 1]
> src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38 "Function not implemented" want 0 "No error information"
> src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous owner died"
> src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38 "Function not implemented" want 0 "No error information"
> src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous owner died"
> FAIL src/regression/pthread-robust-detach.exe [status 1]

Expected on qemu-user.

> src/regression/pthread_cond-smasher.c:140: main thread in phase 0 (0 threads inside), finished waiting: Operation timed out
> FAIL src/regression/pthread_cond-smasher-static.exe [status 1]
> src/regression/pthread_cond-smasher.c:104: thread 5 in phase 0 (0) finished waiting: Operation timed out
> FAIL src/regression/pthread_cond-smasher.exe [status 1]

These could be atomic bugs or just emulation being slow.

> src/regression/pthread_cond_wait-cancel_ignored.c:52: pthread_cond_wait did not act on cancellation
> FAIL src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
> src/regression/pthread_once-deadlock.c:41: sem_timedwait(s,&ts) failed: Operation timed out
> src/regression/pthread_once-deadlock.c:44: pthread_once deadlocked
> FAIL src/regression/pthread_once-deadlock-static.exe [status 1]

These are definitely atomic bugs (either in the arch bits or in qemu).

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-15 18:22       ` sidneym
@ 2020-04-16  9:36         ` Szabolcs Nagy
  2020-04-16 15:34           ` Rich Felker
  0 siblings, 1 reply; 17+ messages in thread
From: Szabolcs Nagy @ 2020-04-16  9:36 UTC (permalink / raw)
  To: sidneym; +Cc: musl

* sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15 13:22:29 -0500]:
> > sqrt/sqrtf should work too (you may want to implement them if there is a
> > single instruction) other math failures are not target specific.
> 
> In fact that does go away if I used the hardware accelerated routine that is
> part of compiler-rt.builtins (__hexagon_sqrt)   Creating an explicit
> reference to compiler-rt-builtins vs just copying the assembly, which is
> preferred?

the preferred is like on other targets an inline asm block.
i think using __builtin_sqrt may be fine too if you know that
all hexagon compilers support that and doesnt generate an
actual sqrt call (e.g. on gcc that needs -fno-math-errno).

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-16  9:36         ` Szabolcs Nagy
@ 2020-04-16 15:34           ` Rich Felker
  2020-04-16 16:26             ` sidneym
  0 siblings, 1 reply; 17+ messages in thread
From: Rich Felker @ 2020-04-16 15:34 UTC (permalink / raw)
  To: sidneym, musl

On Thu, Apr 16, 2020 at 11:36:38AM +0200, Szabolcs Nagy wrote:
> * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15 13:22:29 -0500]:
> > > sqrt/sqrtf should work too (you may want to implement them if there is a
> > > single instruction) other math failures are not target specific.
> > 
> > In fact that does go away if I used the hardware accelerated routine that is
> > part of compiler-rt.builtins (__hexagon_sqrt)   Creating an explicit
> > reference to compiler-rt-builtins vs just copying the assembly, which is
> > preferred?
> 
> the preferred is like on other targets an inline asm block.
> i think using __builtin_sqrt may be fine too if you know that
> all hexagon compilers support that and doesnt generate an
> actual sqrt call (e.g. on gcc that needs -fno-math-errno).

__builtin_sqrt is explicitly allowed to compile to an external call to
sqrt (at compiler discretion), and thus can't be used to implement the
sqrt function. If you're implementing a native sqrt it should be
inline asm. But the C sqrt should work too. If it's not working that
indicates a bug in the compiler, in the code in musl, or in qemu, and
whichever it is we should track that down and get it fixed.

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [musl] Hexagon DSP support
  2020-04-16 15:34           ` Rich Felker
@ 2020-04-16 16:26             ` sidneym
  2020-04-16 16:34               ` 'Rich Felker'
  0 siblings, 1 reply; 17+ messages in thread
From: sidneym @ 2020-04-16 16:26 UTC (permalink / raw)
  To: 'Rich Felker', musl



> -----Original Message-----
> From: Rich Felker <dalias@libc.org>
> Sent: Thursday, April 16, 2020 10:34 AM
> To: sidneym@codeaurora.org; musl@lists.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> On Thu, Apr 16, 2020 at 11:36:38AM +0200, Szabolcs Nagy wrote:
> > * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15
> 13:22:29 -0500]:
> > > > sqrt/sqrtf should work too (you may want to implement them if
> > > > there is a single instruction) other math failures are not target
specific.
> > >
> > > In fact that does go away if I used the hardware accelerated routine
that
> is
> > > part of compiler-rt.builtins (__hexagon_sqrt)   Creating an explicit
> > > reference to compiler-rt-builtins vs just copying the assembly,
> > > which is preferred?
> >
> > the preferred is like on other targets an inline asm block.
> > i think using __builtin_sqrt may be fine too if you know that all
> > hexagon compilers support that and doesnt generate an actual sqrt call
> > (e.g. on gcc that needs -fno-math-errno).
> 
> __builtin_sqrt is explicitly allowed to compile to an external call to
sqrt (at
> compiler discretion), and thus can't be used to implement the sqrt
function.
> If you're implementing a native sqrt it should be inline asm. But the C
sqrt
> should work too. If it's not working that indicates a bug in the compiler,
in the
> code in musl, or in qemu, and whichever it is we should track that down
and
> get it fixed.

I will add the assembly version for sqrt. There was an issue in qemu when
using the assembly version but that is fixed.  FWIW when I use the soft
version with clang for hexagon I still see errors, mostly looking for
INEXACT but not seeing it.


> 
> Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-16 16:26             ` sidneym
@ 2020-04-16 16:34               ` 'Rich Felker'
  0 siblings, 0 replies; 17+ messages in thread
From: 'Rich Felker' @ 2020-04-16 16:34 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On Thu, Apr 16, 2020 at 11:26:52AM -0500, sidneym@codeaurora.org wrote:
> 
> 
> > -----Original Message-----
> > From: Rich Felker <dalias@libc.org>
> > Sent: Thursday, April 16, 2020 10:34 AM
> > To: sidneym@codeaurora.org; musl@lists.openwall.com
> > Subject: Re: [musl] Hexagon DSP support
> > 
> > On Thu, Apr 16, 2020 at 11:36:38AM +0200, Szabolcs Nagy wrote:
> > > * sidneym@codeaurora.org <sidneym@codeaurora.org> [2020-04-15
> > 13:22:29 -0500]:
> > > > > sqrt/sqrtf should work too (you may want to implement them if
> > > > > there is a single instruction) other math failures are not target
> specific.
> > > >
> > > > In fact that does go away if I used the hardware accelerated routine
> that
> > is
> > > > part of compiler-rt.builtins (__hexagon_sqrt)   Creating an explicit
> > > > reference to compiler-rt-builtins vs just copying the assembly,
> > > > which is preferred?
> > >
> > > the preferred is like on other targets an inline asm block.
> > > i think using __builtin_sqrt may be fine too if you know that all
> > > hexagon compilers support that and doesnt generate an actual sqrt call
> > > (e.g. on gcc that needs -fno-math-errno).
> > 
> > __builtin_sqrt is explicitly allowed to compile to an external call to
> sqrt (at
> > compiler discretion), and thus can't be used to implement the sqrt
> function.
> > If you're implementing a native sqrt it should be inline asm. But the C
> sqrt
> > should work too. If it's not working that indicates a bug in the compiler,
> in the
> > code in musl, or in qemu, and whichever it is we should track that down
> and
> > get it fixed.
> 
> I will add the assembly version for sqrt. There was an issue in qemu when
> using the assembly version but that is fixed.  FWIW when I use the soft
> version with clang for hexagon I still see errors, mostly looking for
> INEXACT but not seeing it.

I saw errors that were actual incorrect results not just wrong
exception flags, like:

src/math/ucb/sqrt.h:49: RU sqrt(0x1.fffffffffffffp+1023) want 0x1p+512 got 0x1.fffffffffffffp+511 ulperr -0.250 = -0x1p-1 + 0x1p-2

At least they all seemed to be in non-default rounding modes though so
the impact is low-ish. These are probably all qemu bugs but hard to
say for sure...

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [musl] Hexagon DSP support
  2020-04-15 19:29           ` 'Rich Felker'
@ 2020-04-30 22:44             ` sidneym
  2020-04-30 23:51               ` Rich Felker
  0 siblings, 1 reply; 17+ messages in thread
From: sidneym @ 2020-04-30 22:44 UTC (permalink / raw)
  To: musl


[-- Attachment #1: Type: text/plain, Size: 12300 bytes --]

> -----Original Message-----
> From: 'Rich Felker' <dalias@libc.org>
> Sent: Wednesday, April 15, 2020 2:30 PM
> To: sidneym@codeaurora.org
> Cc: musl@lists.openwall.com
> Subject: Re: [musl] Hexagon DSP support
> 
> On Wed, Apr 15, 2020 at 02:12:12PM -0500, sidneym@codeaurora.org wrote:
> > src/api/ftw.c:44:1: error: switch condition has boolean value
> > [-Werror,-Wswitch-bool]
> 
> Compiling libc-test with -Werror is invalid. It necessarily must produce
some
> warnings, and needs to be able to distinguish actual errors from them.
> 
> > 8 errors generated.
> > src/functional/dlopen.c:39: dlsym main failed: Symbol not found: main
> > FAIL src/functional/dlopen.exe [status 1]
> > clang-11: warning: argument unused during compilation: '-rdynamic'
> > [-Wunused-command-line-argument]
> 
> This is a clang deficiency that's preventing the test from working.
> 
> > src/functional/ipc_msg.c:62: qid_ds.msg_lspid == 0 failed: got 100,
> > want 0
> > src/functional/ipc_msg.c:64: (long long)qid_ds.msg_stime == 0 failed:
> > got 6815993655711498240, want 0
> > src/functional/ipc_msg.c:67: qid_ds.msg_ctime >= t failed: got
> > 70368744177664, want >= 154502684032321054
> > src/functional/ipc_msg.c:71: qid_ds.msg_qbytes > 0 failed: got 0, want
> > > 0
> > src/functional/ipc_msg.c:76: qid_ds.msg_qnum == 1 failed: got 0, want
> > 1
> > src/functional/ipc_msg.c:77: qid_ds.msg_lspid == getpid() failed: got
> > 100, want 185819
> > src/functional/ipc_msg.c:81: msg_stime is 6815993655711498240 want <=
> > 154502684032321059
> > src/functional/ipc_msg.c:128: child exit status: 256 FAIL
> > src/functional/ipc_msg-static.exe [status 1]
> 
> This is the sysvipc bits headers issue I mentioned. Same with the sem/shm
> ones.

Passing with updated headers and qemu.

> 
> > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
> > did not return EDEADLK, got deadlock
> > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
> did
> > not succed, got deadlock FAIL src/functional/pthread_mutex-static.exe
> > [status 1]
> > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
> > did not return EDEADLK, got
> > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
> did
> > not succed, got deadlock FAIL src/functional/pthread_mutex.exe [status
> > 1]
> 
> This suggests broken atomics. It doesn't look like anything qemu-user
could
> cause (unless it's just failing to emulate the atomics at all).
> 
Updated QEMU to include time64 changes.  Passing now.

> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:148: PTHREAD_MUTEX_ERRORCHECK
> relock
> > did not return EDEADLK, got deadlock
> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented FAIL
> > src/functional/pthread_mutex_pi-static.exe [timed out]
> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:148: PTHREAD_MUTEX_ERRORCHECK
> relock
> > did not return EDEADLK, got deadlock
> > src/functional/pthread_mutex_pi.c:42:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:151: PTHREAD_MUTEX_RECURSIVE
> relock
> > did not succed, got deadlock
> > src/functional/pthread_mutex_pi.c:87:
> > pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed:
> > Function not implemented
> > src/functional/pthread_mutex_pi.c:24: pthread_mutex_unlock(a[0])
> > failed: Operation not permitted FAIL
> > src/functional/pthread_mutex_pi.exe [signal Segmentation fault]
> > src/functional/pthread_robust.c:39:
> > pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed:
> > (pshared==0, pi==0) Function not implemented (setting robust
> > attribute) FAIL src/functional/pthread_robust-static.exe [timed out]
> > src/functional/pthread_robust.c:39:
> > pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed:
> > (pshared==0, pi==0) Function not implemented (setting robust
> > attribute) FAIL src/functional/pthread_robust.exe [timed out]
> 
> These are all expected on qemu-user: kernel prio-inherit and robust
features
> are not emulated by qemu.
> 
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:49: sem value should be 0, got 3 FAIL
> > src/functional/sem_init-static.exe [status 1]
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:19: sem_timedwait(s+1, &ts) failed:
> > Operation timed out
> > src/functional/sem_init.c:49: sem value should be 0, got 3 FAIL
> > src/functional/sem_init.exe [status 1]
> 
> This is probably broken atomics again.

Passed with updated headers and QEMU.

> 
> > src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
> > src/functional/strptime.c:23: "%s": failed to parse "683078400"
> > src/functional/strptime.c:47: "%z": failed to parse "+0200"
> > src/functional/strptime.c:47: "%z": failed to parse "-0530"
> > src/functional/strptime.c:47: "%z": failed to parse "-06"
> > FAIL src/functional/strptime-static.exe [status 1]
> > src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
> > src/functional/strptime.c:23: "%s": failed to parse "683078400"
> > src/functional/strptime.c:47: "%z": failed to parse "+0200"
> > src/functional/strptime.c:47: "%z": failed to parse "-0530"
> > src/functional/strptime.c:47: "%z": failed to parse "-06"
> > FAIL src/functional/strptime.exe [status 1]
> 
> These are expected, functionality musl does not yet support
(future-standard, I
> think).
> 
> > src/functional/utime.c:38: st.st_atim.tv_sec == 0 failed: 1
> > src/functional/utime.c:40: st.st_mtim.tv_sec == 0 failed: 1073741822
> > src/functional/utime.c:47: st.st_atim.tv_sec >= t failed: 0
> > src/functional/utime.c:48: st.st_mtim.tv_sec == 0 failed: 1073741823
> > src/functional/utime.c:55: st.st_mtim.tv_sec >= t failed: 1073741822
> > src/functional/utime.c:59: st.st_atim.tv_sec >= t failed: 0
> > src/functional/utime.c:60: st.st_mtim.tv_sec >= t failed: 1073741823
> > src/functional/utime.c:65: st.st_atim.tv_sec == 1LL<<32 failed: 0
> > src/functional/utime.c:66: st.st_mtim.tv_sec == 1LL<<32 failed: 0 FAIL
> > src/functional/utime-static.exe [status 1]
> > src/functional/utime.c:38: st.st_atim.tv_sec == 0 failed: 1
> > src/functional/utime.c:40: st.st_mtim.tv_sec == 0 failed: 1073741822
> > src/functional/utime.c:47: st.st_atim.tv_sec >= t failed: 0
> > src/functional/utime.c:48: st.st_mtim.tv_sec == 0 failed: 1073741823
> > src/functional/utime.c:55: st.st_mtim.tv_sec >= t failed: 1073741822
> > src/functional/utime.c:59: st.st_atim.tv_sec >= t failed: 0
> > src/functional/utime.c:60: st.st_mtim.tv_sec >= t failed: 1073741823
> > src/functional/utime.c:65: st.st_atim.tv_sec == 1LL<<32 failed: 0
> > src/functional/utime.c:66: st.st_mtim.tv_sec == 1LL<<32 failed: 0 FAIL
> > src/functional/utime.exe [status 1]
> 
> Looks like something is wrong here, possibly wrong struct kstat, or it
could be a
> qemu bug.

It seems like QEMU's TARGET_NR_utimensat needs to changes similar to those
done for clock_get/settime to account for 64bit time_t.   I made some
changes but the last 2 checks at 65 and 66 still fail.

> 
> > src/math/ucb/sqrt.h:47: bad fp exception: RN
> > sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got
> > 0 [...]
> > src/math/special/sqrt.h:74: bad fp exception: RN
> > sqrtl(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
> > FAIL src/math/sqrtl.exe [status 1]
> 
> These are likely all general (not arch-specific) clang floating point
bugs. We
> should see if they also happen compiling other archs without asm versions
of
> sqrt.

Assembly version of sqrt does pass.

> 
> Alternatively it might be a qemu fpu emulation bug. I've seen this kind of
thing
> (inconsistent across arch) on other archs under qemu-user.
> 
> > src/regression/malloc-brk-fail.c:41: malloc(10000) failed (eventhough
> > 64k is available to mmap): Out of memory FAIL
> > src/regression/malloc-brk-fail-static.exe [status 1] FAIL
> > src/regression/malloc-brk-fail.exe [timed out]
> 
> This test does not seem to work on modern kernels much less qemu-user.
> 
> > src/regression/pthread-robust-detach.c:33:
> pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38
> "Function not implemented" want 0 "No error information"
> > src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx,
> &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous
> owner died"
> > src/regression/pthread-robust-detach.c:33:
> pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38
> "Function not implemented" want 0 "No error information"
> > src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx,
> &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous
> owner died"
> > FAIL src/regression/pthread-robust-detach-static.exe [status 1]
> > src/regression/pthread-robust-detach.c:33:
> pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38
> "Function not implemented" want 0 "No error information"
> > src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx,
> &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous
> owner died"
> > src/regression/pthread-robust-detach.c:33:
> pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38
> "Function not implemented" want 0 "No error information"
> > src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx,
> &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous
> owner died"
> > FAIL src/regression/pthread-robust-detach.exe [status 1]
> 
> Expected on qemu-user.
> 
> > src/regression/pthread_cond-smasher.c:140: main thread in phase 0 (0
> > threads inside), finished waiting: Operation timed out FAIL
> > src/regression/pthread_cond-smasher-static.exe [status 1]
> > src/regression/pthread_cond-smasher.c:104: thread 5 in phase 0 (0)
> > finished waiting: Operation timed out FAIL
> > src/regression/pthread_cond-smasher.exe [status 1]
> 
> These could be atomic bugs or just emulation being slow.

I bumped the timeout to 240 seconds it might have fixed these.

> 
> > src/regression/pthread_cond_wait-cancel_ignored.c:52:
> > pthread_cond_wait did not act on cancellation FAIL
> > src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1]
> > src/regression/pthread_once-deadlock.c:41: sem_timedwait(s,&ts)
> > failed: Operation timed out
> > src/regression/pthread_once-deadlock.c:44: pthread_once deadlocked
> > FAIL src/regression/pthread_once-deadlock-static.exe [status 1]
> 
> These are definitely atomic bugs (either in the arch bits or in qemu).

Also fixed, time64 change to QEMU was key to correcting a lot of these
issues.

> 
> Rich

Hi,

Updated libc-test REPORT and musl patch are attached.  I had to update QEMU,
pulling in 64bit time changes and routing the system calls to those
interfaces.  The routing of the syscalls to the 64bit interfaces is not
committed but the patch for it is here:
https://github.com/qemu/qemu/commit/b792b073e1042ca2668adb57142efba838620329

The Hexagon branch of musl is here:
https://github.com/quic/musl/tree/hexagon

The sqrt routine I added is from compiler-rt.builtins and it is more
involved than other target's versions.  I can see how sqrt might be excluded
from the c-library to keep the target specific complexity to a minimum.

Thanks,

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 277840 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-30 22:44             ` sidneym
@ 2020-04-30 23:51               ` Rich Felker
  2020-05-05 23:37                 ` sidneym
  0 siblings, 1 reply; 17+ messages in thread
From: Rich Felker @ 2020-04-30 23:51 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On Thu, Apr 30, 2020 at 05:44:07PM -0500, sidneym@codeaurora.org wrote:
> > -----Original Message-----
> > From: 'Rich Felker' <dalias@libc.org>
> > Sent: Wednesday, April 15, 2020 2:30 PM
> > To: sidneym@codeaurora.org
> > Cc: musl@lists.openwall.com
> > Subject: Re: [musl] Hexagon DSP support
> > 
> > On Wed, Apr 15, 2020 at 02:12:12PM -0500, sidneym@codeaurora.org wrote:
> > > src/api/ftw.c:44:1: error: switch condition has boolean value
> > > [-Werror,-Wswitch-bool]
> > 
> > Compiling libc-test with -Werror is invalid. It necessarily must produce
> some
> > warnings, and needs to be able to distinguish actual errors from them.
> > 
> > > 8 errors generated.
> > > src/functional/dlopen.c:39: dlsym main failed: Symbol not found: main
> > > FAIL src/functional/dlopen.exe [status 1]
> > > clang-11: warning: argument unused during compilation: '-rdynamic'
> > > [-Wunused-command-line-argument]
> > 
> > This is a clang deficiency that's preventing the test from working.
> > 
> > > src/functional/ipc_msg.c:62: qid_ds.msg_lspid == 0 failed: got 100,
> > > want 0
> > > src/functional/ipc_msg.c:64: (long long)qid_ds.msg_stime == 0 failed:
> > > got 6815993655711498240, want 0
> > > src/functional/ipc_msg.c:67: qid_ds.msg_ctime >= t failed: got
> > > 70368744177664, want >= 154502684032321054
> > > src/functional/ipc_msg.c:71: qid_ds.msg_qbytes > 0 failed: got 0, want
> > > > 0
> > > src/functional/ipc_msg.c:76: qid_ds.msg_qnum == 1 failed: got 0, want
> > > 1
> > > src/functional/ipc_msg.c:77: qid_ds.msg_lspid == getpid() failed: got
> > > 100, want 185819
> > > src/functional/ipc_msg.c:81: msg_stime is 6815993655711498240 want <=
> > > 154502684032321059
> > > src/functional/ipc_msg.c:128: child exit status: 256 FAIL
> > > src/functional/ipc_msg-static.exe [status 1]
> > 
> > This is the sysvipc bits headers issue I mentioned. Same with the sem/shm
> > ones.
> 
> Passing with updated headers and qemu.

Looking at https://github.com/quic/musl/commit/b710ae08dfa8c0841abed44d55eee5e042321bd6
there are new problems:

- Member mode in struct ipc_perm has wrong type. It must be mode_t.
  This can be fixed just by removing the padding. But is there a
  reason you're not using the generic arch-agnostic definition on both
  the kernel and libc side?

- The definitions in bits/msg.h, bits/sem.h, and bits/shm.h are not
  time64-compatible. In fact bits/sem.h is a regression; you had it
  right before and broke it.

- The definition in bits/stat.h is using the wrong types (you need to
  use libc type names for all the members; this is a policy
  requirement to ensure that none inadvertently mismatch). Note that
  there's not even really a need to use an arch-specific header here
  anymore; the kernel definition comes from arch/hexagon/kstat.h and
  the bits/stat.h can just be copied from aarch64 or something else
  with a clean layout.

Also math asm like sqrt.S is not acceptable for upstream.
Arch-specific math files should only be for use of fpu instructions
that perform the operation without the need for any high level flow
control.

> > > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
> > > did not return EDEADLK, got deadlock
> > > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
> > did
> > > not succed, got deadlock FAIL src/functional/pthread_mutex-static.exe
> > > [status 1]
> > > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
> > > did not return EDEADLK, got
> > > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
> > did
> > > not succed, got deadlock FAIL src/functional/pthread_mutex.exe [status
> > > 1]
> > 
> > This suggests broken atomics. It doesn't look like anything qemu-user
> could
> > cause (unless it's just failing to emulate the atomics at all).
> > 
> Updated QEMU to include time64 changes.  Passing now.

It should not be necessary to update qemu for time64 in order for this
to work. Any change you made to qemu to make this work is almost
certainly wrong. According to my reading of the upstream kernel, there
is an existing stable user-kernel syscall ABI for hexagon, so you
can't change any of the existing types or behavior of any of the
existing syscalls.

Looking at your port, I think I've found the real core problem. In:

https://github.com/quic/musl/blob/b710ae08dfa8c0841abed44d55eee5e042321bd6/arch/hexagon/bits/syscall.h.in

I don't see any of the time64 syscalls. Having them defined is
absolutely mandatory for an arch where the unadorned syscalls do not
use 64-bit time_t. If you add them and revert all the incorrect
changes, I think everything will work.

> > Looks like something is wrong here, possibly wrong struct kstat, or it
> could be a
> > qemu bug.
> 
> It seems like QEMU's TARGET_NR_utimensat needs to changes similar to those
> done for clock_get/settime to account for 64bit time_t.   I made some
> changes but the last 2 checks at 65 and 66 still fail.

No. It does not need any change, and any change to it is wrong. It is
implementing an existing ABI that's immutable and that's fine. What
needs to change is that your syscall.h.in needs to define the values
for the time64 syscalls. This will inform musl that the "plain"
syscalls use 32-bit time_t and get you a correct build. Right now you
just have a badly broken build where you've balanced brokenness in one
place with corresponding brokenness in other places until the right
thing comes out.

> > > src/math/ucb/sqrt.h:47: bad fp exception: RN
> > > sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got
> > > 0 [...]
> > > src/math/special/sqrt.h:74: bad fp exception: RN
> > > sqrtl(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
> > > FAIL src/math/sqrtl.exe [status 1]
> > 
> > These are likely all general (not arch-specific) clang floating point
> bugs. We
> > should see if they also happen compiling other archs without asm versions
> of
> > sqrt.
> 
> Assembly version of sqrt does pass.

Yes but writing a large complex function in asm is not reviewable or
maintainable.

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-04-30 23:51               ` Rich Felker
@ 2020-05-05 23:37                 ` sidneym
  2020-05-06  0:59                   ` Rich Felker
  0 siblings, 1 reply; 17+ messages in thread
From: sidneym @ 2020-05-05 23:37 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl


[-- Attachment #1: Type: text/plain, Size: 6952 bytes --]

On 2020-04-30 18:51, Rich Felker wrote:
> On Thu, Apr 30, 2020 at 05:44:07PM -0500, sidneym@codeaurora.org wrote:
>> > -----Original Message-----
>> > From: 'Rich Felker' <dalias@libc.org>
>> > Sent: Wednesday, April 15, 2020 2:30 PM
>> > To: sidneym@codeaurora.org
>> > Cc: musl@lists.openwall.com
>> > Subject: Re: [musl] Hexagon DSP support
>> >
>> > On Wed, Apr 15, 2020 at 02:12:12PM -0500, sidneym@codeaurora.org
> wrote:
>> > > src/api/ftw.c:44:1: error: switch condition has boolean value
>> > > [-Werror,-Wswitch-bool]
>> >
>> > Compiling libc-test with -Werror is invalid. It necessarily must
> produce
>> some
>> > warnings, and needs to be able to distinguish actual errors from them.
>> >
>> > > 8 errors generated.
>> > > src/functional/dlopen.c:39: dlsym main failed: Symbol not found:
> main
>> > > FAIL src/functional/dlopen.exe [status 1]
>> > > clang-11: warning: argument unused during compilation: '-rdynamic'
>> > > [-Wunused-command-line-argument]
>> >
>> > This is a clang deficiency that's preventing the test from working.
>> >
>> > > src/functional/ipc_msg.c:62: qid_ds.msg_lspid == 0 failed: got 100,
>> > > want 0
>> > > src/functional/ipc_msg.c:64: (long long)qid_ds.msg_stime == 0
> failed:
>> > > got 6815993655711498240, want 0
>> > > src/functional/ipc_msg.c:67: qid_ds.msg_ctime >= t failed: got
>> > > 70368744177664, want >= 154502684032321054
>> > > src/functional/ipc_msg.c:71: qid_ds.msg_qbytes > 0 failed: got 0,
> want
>> > > > 0
>> > > src/functional/ipc_msg.c:76: qid_ds.msg_qnum == 1 failed: got 0,
> want
>> > > 1
>> > > src/functional/ipc_msg.c:77: qid_ds.msg_lspid == getpid() failed:
> got
>> > > 100, want 185819
>> > > src/functional/ipc_msg.c:81: msg_stime is 6815993655711498240 want
> <=
>> > > 154502684032321059
>> > > src/functional/ipc_msg.c:128: child exit status: 256 FAIL
>> > > src/functional/ipc_msg-static.exe [status 1]
>> >
>> > This is the sysvipc bits headers issue I mentioned. Same with the
> sem/shm
>> > ones.
>> 
>> Passing with updated headers and qemu.
> 
> Looking at
> https://github.com/quic/musl/commit/b710ae08dfa8c0841abed44d55eee5e042321b
> d6
> there are new problems:
> 
> - Member mode in struct ipc_perm has wrong type. It must be mode_t.
>   This can be fixed just by removing the padding. But is there a
>   reason you're not using the generic arch-agnostic definition on both
>   the kernel and libc side?

Updated that type

> 
> - The definitions in bits/msg.h, bits/sem.h, and bits/shm.h are not
>   time64-compatible. In fact bits/sem.h is a regression; you had it
>   right before and broke it.
As you point out below the core of the problem was the missing time64
calls.  I've updated the structures to use what I hope or the correct 
types.

> 
> - The definition in bits/stat.h is using the wrong types (you need to
>   use libc type names for all the members; this is a policy
>   requirement to ensure that none inadvertently mismatch). Note that
>   there's not even really a need to use an arch-specific header here
>   anymore; the kernel definition comes from arch/hexagon/kstat.h and
>   the bits/stat.h can just be copied from aarch64 or something else
>   with a clean layout.

I used OpenRISC's stat.h.

> 
> Also math asm like sqrt.S is not acceptable for upstream.
> Arch-specific math files should only be for use of fpu instructions
> that perform the operation without the need for any high level flow
> control.
This is what I expected and I removed the file.

> 
>> > > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
>> > > did not return EDEADLK, got deadlock
>> > > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
>> > did
>> > > not succed, got deadlock FAIL
> src/functional/pthread_mutex-static.exe
>> > > [status 1]
>> > > src/functional/pthread_mutex.c:145: PTHREAD_MUTEX_ERRORCHECK relock
>> > > did not return EDEADLK, got
>> > > src/functional/pthread_mutex.c:148: PTHREAD_MUTEX_RECURSIVE relock
>> > did
>> > > not succed, got deadlock FAIL src/functional/pthread_mutex.exe
> [status
>> > > 1]
>> >
>> > This suggests broken atomics. It doesn't look like anything qemu-user
>> could
>> > cause (unless it's just failing to emulate the atomics at all).
>> >
>> Updated QEMU to include time64 changes.  Passing now.
> 
> It should not be necessary to update qemu for time64 in order for this
> to work. Any change you made to qemu to make this work is almost
> certainly wrong. According to my reading of the upstream kernel, there
> is an existing stable user-kernel syscall ABI for hexagon, so you
> can't change any of the existing types or behavior of any of the
> existing syscalls.
> 
> Looking at your port, I think I've found the real core problem. In:
> 
> https://github.com/quic/musl/blob/b710ae08dfa8c0841abed44d55eee5e042321bd6
> /arch/hexagon/bits/syscall.h.in
> 
> I don't see any of the time64 syscalls. Having them defined is
> absolutely mandatory for an arch where the unadorned syscalls do not
> use 64-bit time_t. If you add them and revert all the incorrect
> changes, I think everything will work.

Adding those calls helped and cleared up a lot of confusion on my part.


> 
>> > Looks like something is wrong here, possibly wrong struct kstat, or it
>> could be a
>> > qemu bug.
>> 
>> It seems like QEMU's TARGET_NR_utimensat needs to changes similar to
> those
>> done for clock_get/settime to account for 64bit time_t.   I made some
>> changes but the last 2 checks at 65 and 66 still fail.
> 
> No. It does not need any change, and any change to it is wrong. It is
> implementing an existing ABI that's immutable and that's fine. What
> needs to change is that your syscall.h.in needs to define the values
> for the time64 syscalls. This will inform musl that the "plain"
> syscalls use 32-bit time_t and get you a correct build. Right now you
> just have a badly broken build where you've balanced brokenness in one
> place with corresponding brokenness in other places until the right
> thing comes out.

In QEMU I have had to update hexagon/target_structs.h (target_shmid_ds 
and target_semid64_ds) to reflect the size of time_t from abi_ulong 
types to abi_ullong types.

I've attached a new REPORT and the code changes are here:
https://github.com/quic/musl/compare/hexagon

Thanks for your help.

> 
>> > > src/math/ucb/sqrt.h:47: bad fp exception: RN
>> > > sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT
> got
>> > > 0 [...]
>> > > src/math/special/sqrt.h:74: bad fp exception: RN
>> > > sqrtl(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
>> > > FAIL src/math/sqrtl.exe [status 1]
>> >
>> > These are likely all general (not arch-specific) clang floating point
>> bugs. We
>> > should see if they also happen compiling other archs without asm
> versions
>> of
>> > sqrt.
>> 
>> Assembly version of sqrt does pass.
> 
> Yes but writing a large complex function in asm is not reviewable or
> maintainable.
> 
> Rich

[-- Attachment #2: REPORT --]
[-- Type: text/plain, Size: 253799 bytes --]

src/api/ftw.c:44:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISBLK(0))
^~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:45:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISCHR(0))
^~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:46:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISDIR(0))
^~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:47:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISFIFO(0))
^~~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:48:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISREG(0))
^~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:49:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISLNK(0))
^~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/ftw.c:50:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISSOCK(0))
^~~~~~~~~~~~~~
src/api/ftw.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
7 errors generated.
src/api/iso646.c:8:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(0 not_eq 1)
^~~~~~~~~~~~~
src/api/iso646.c:2:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/iso646.c:9:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(0 and 1)
^~~~~~~~~~
src/api/iso646.c:2:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/iso646.c:10:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(0 or 1)
^~~~~~~~~
src/api/iso646.c:2:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/iso646.c:14:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(not 0)
^~~~~~~~
src/api/iso646.c:2:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
4 errors generated.
FAIL src/api/main.exe [status 1]
clang-11: error: no such file or directory: 'src/api/ftw.o'
clang-11: error: no such file or directory: 'src/api/iso646.o'
clang-11: error: no such file or directory: 'src/api/stdlib.o'
clang-11: error: no such file or directory: 'src/api/sys_ipc.o'
clang-11: error: no such file or directory: 'src/api/sys_sem.o'
clang-11: error: no such file or directory: 'src/api/sys_shm.o'
clang-11: error: no such file or directory: 'src/api/sys_stat.o'
clang-11: error: no such file or directory: 'src/api/sys_wait.o'
clang-11: error: no such file or directory: 'src/api/unistd.o'
src/api/stdlib.c:20:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFEXITED(0))
^~~~~~~~~~~~~~~
src/api/stdlib.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/stdlib.c:21:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFSIGNALED(0))
^~~~~~~~~~~~~~~~~
src/api/stdlib.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/stdlib.c:22:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFSTOPPED(0))
^~~~~~~~~~~~~~~~
src/api/stdlib.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
3 errors generated.
src/api/sys_ipc.c:13:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,uid)
^~~~~~~~~~~~
src/api/sys_ipc.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_ipc.c:14:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,gid)
^~~~~~~~~~~~
src/api/sys_ipc.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_ipc.c:15:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,cuid)
^~~~~~~~~~~~~
src/api/sys_ipc.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_ipc.c:16:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,cgid)
^~~~~~~~~~~~~
src/api/sys_ipc.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
4 errors generated.
src/api/sys_sem.c:41:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,uid)
^~~~~~~~~~~~
src/api/sys_sem.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_sem.c:42:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,gid)
^~~~~~~~~~~~
src/api/sys_sem.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_sem.c:43:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,cuid)
^~~~~~~~~~~~~
src/api/sys_sem.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_sem.c:44:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,cgid)
^~~~~~~~~~~~~
src/api/sys_sem.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
4 errors generated.
src/api/sys_shm.c:36:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,uid)
^~~~~~~~~~~~
src/api/sys_shm.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_shm.c:37:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,gid)
^~~~~~~~~~~~
src/api/sys_shm.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_shm.c:38:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(uid_t,cuid)
^~~~~~~~~~~~~
src/api/sys_shm.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
src/api/sys_shm.c:39:1: error: initializing 'gid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
F(gid_t,cgid)
^~~~~~~~~~~~~
src/api/sys_shm.c:3:20: note: expanded from macro 'F'
#define F(t,n) {t *y = &x.n;}
                   ^   ~~~~
4 errors generated.
src/api/sys_stat.c:68:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISBLK(0))
^~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:69:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISCHR(0))
^~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:70:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISDIR(0))
^~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:71:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISFIFO(0))
^~~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:72:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISREG(0))
^~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:73:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISLNK(0))
^~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_stat.c:74:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(S_ISSOCK(0))
^~~~~~~~~~~~~~
src/api/sys_stat.c:5:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
7 errors generated.
src/api/sys_wait.c:11:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFEXITED(0))
^~~~~~~~~~~~~~~
src/api/sys_wait.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_wait.c:12:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFSIGNALED(0))
^~~~~~~~~~~~~~~~~
src/api/sys_wait.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_wait.c:13:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFSTOPPED(0))
^~~~~~~~~~~~~~~~
src/api/sys_wait.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
src/api/sys_wait.c:20:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
C(WIFCONTINUED(0))
^~~~~~~~~~~~~~~~~~
src/api/sys_wait.c:4:14: note: expanded from macro 'C'
#define C(n) switch(n){case n:;}
             ^      ~
4 errors generated.
src/api/unistd.c:87:3: error: use of undeclared identifier '_CS_POSIX_V7_THREADS_CFLAGS'
C(_CS_POSIX_V7_THREADS_CFLAGS)
  ^
src/api/unistd.c:88:3: error: use of undeclared identifier '_CS_POSIX_V7_THREADS_LDFLAGS'
C(_CS_POSIX_V7_THREADS_LDFLAGS)
  ^
src/api/unistd.c:117:3: error: use of undeclared identifier '_PC_TIMESTAMP_RESOLUTION'
C(_PC_TIMESTAMP_RESOLUTION)
  ^
src/api/unistd.c:238:3: error: use of undeclared identifier '_SC_XOPEN_UUCP'
C(_SC_XOPEN_UUCP)
  ^
src/api/unistd.c:87:3: error: use of undeclared identifier '_CS_POSIX_V7_THREADS_CFLAGS'
C(_CS_POSIX_V7_THREADS_CFLAGS)
  ^
src/api/unistd.c:88:3: error: use of undeclared identifier '_CS_POSIX_V7_THREADS_LDFLAGS'
C(_CS_POSIX_V7_THREADS_LDFLAGS)
  ^
src/api/unistd.c:117:3: error: use of undeclared identifier '_PC_TIMESTAMP_RESOLUTION'
C(_PC_TIMESTAMP_RESOLUTION)
  ^
src/api/unistd.c:238:3: error: use of undeclared identifier '_SC_XOPEN_UUCP'
C(_SC_XOPEN_UUCP)
  ^
8 errors generated.
src/functional/dlopen.c:39: dlsym main failed: Symbol not found: main
FAIL src/functional/dlopen.exe [status 1]
clang-11: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument]
src/functional/ipc_msg.c:63: qid_ds.msg_qnum == 0 failed: got 16384, want 0
src/functional/ipc_msg.c:67: (long long)qid_ds.msg_rtime == 0 failed: got 6823500725968961536, want 0
src/functional/ipc_msg.c:69: qid_ds.msg_ctime >= t failed: got 69713, want >= 1588720066
src/functional/ipc_msg.c:73: qid_ds.msg_qbytes > 0 failed: got 0, want > 0
src/functional/ipc_msg.c:78: qid_ds.msg_qnum == 1 failed: got 16384, want 1
src/functional/ipc_msg.c:79: qid_ds.msg_lspid == getpid() failed: got 0, want 240818
src/functional/ipc_msg.c:81: msg_stime is 0 want >= 1588720066
src/functional/ipc_msg.c:130: child exit status: 256
FAIL src/functional/ipc_msg-static.exe [status 1]
src/functional/ipc_msg.c:63: qid_ds.msg_qnum == 0 failed: got 16384, want 0
src/functional/ipc_msg.c:67: (long long)qid_ds.msg_rtime == 0 failed: got 6823500725968961536, want 0
src/functional/ipc_msg.c:69: qid_ds.msg_ctime >= t failed: got 0, want >= 1588720066
src/functional/ipc_msg.c:73: qid_ds.msg_qbytes > 0 failed: got 0, want > 0
src/functional/ipc_msg.c:78: qid_ds.msg_qnum == 1 failed: got 16384, want 1
src/functional/ipc_msg.c:79: qid_ds.msg_lspid == getpid() failed: got 0, want 240786
src/functional/ipc_msg.c:81: msg_stime is 0 want >= 1588720066
src/functional/ipc_msg.c:130: child exit status: 256
FAIL src/functional/ipc_msg.exe [status 1]
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:87: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:87: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:108: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:108: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
FAIL src/functional/pthread_mutex_pi-static.exe [status 1]
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:42: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:87: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:87: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:108: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
src/functional/pthread_mutex_pi.c:108: pthread_mutexattr_setprotocol(&ma, PTHREAD_PRIO_INHERIT) failed: Function not implemented
FAIL src/functional/pthread_mutex_pi.exe [status 1]
src/functional/pthread_robust.c:39: pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed: (pshared==0, pi==0) Function not implemented (setting robust attribute)
FAIL src/functional/pthread_robust-static.exe [timed out]
src/functional/pthread_robust.c:39: pthread_mutexattr_setrobust(&mtx_a, PTHREAD_MUTEX_ROBUST) failed: (pshared==0, pi==0) Function not implemented (setting robust attribute)
FAIL src/functional/pthread_robust.exe [timed out]
src/functional/sscanf.c:73:9: warning: magnitude of floating-point constant too large for type 'double'; maximum is 1.7976931348623157E+308 [-Wliteral-range]
        TEST_F(1.234e1234);
               ^
src/functional/sscanf.c:73:9: warning: magnitude of floating-point constant too large for type 'double'; maximum is 1.7976931348623157E+308 [-Wliteral-range]
src/functional/sscanf.c:74:9: warning: magnitude of floating-point constant too small for type 'double'; minimum is 4.9406564584124654E-324 [-Wliteral-range]
        TEST_F(1.234e-1234);
               ^
src/functional/sscanf.c:74:9: warning: magnitude of floating-point constant too small for type 'double'; minimum is 4.9406564584124654E-324 [-Wliteral-range]
src/functional/sscanf.c:75:9: warning: magnitude of floating-point constant too large for type 'double'; maximum is 1.7976931348623157E+308 [-Wliteral-range]
        TEST_F(1.234e56789);
               ^
src/functional/sscanf.c:75:9: warning: magnitude of floating-point constant too large for type 'double'; maximum is 1.7976931348623157E+308 [-Wliteral-range]
src/functional/sscanf.c:76:9: warning: magnitude of floating-point constant too small for type 'double'; minimum is 4.9406564584124654E-324 [-Wliteral-range]
        TEST_F(1.234e-56789);
               ^
src/functional/sscanf.c:76:9: warning: magnitude of floating-point constant too small for type 'double'; minimum is 4.9406564584124654E-324 [-Wliteral-range]
8 warnings generated.
src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
src/functional/strptime.c:23: "%s": failed to parse "683078400"
src/functional/strptime.c:47: "%z": failed to parse "+0200"
src/functional/strptime.c:47: "%z": failed to parse "-0530"
src/functional/strptime.c:47: "%z": failed to parse "-06"
FAIL src/functional/strptime-static.exe [status 1]
src/functional/strptime.c:23: "%F": failed to parse "1856-07-10"
src/functional/strptime.c:23: "%s": failed to parse "683078400"
src/functional/strptime.c:47: "%z": failed to parse "+0200"
src/functional/strptime.c:47: "%z": failed to parse "-0530"
src/functional/strptime.c:47: "%z": failed to parse "-06"
FAIL src/functional/strptime.exe [status 1]
src/functional/utime.c:63: futimens(fd, ((struct timespec[2]){{.tv_sec=1LL<<32},{.tv_sec=1LL<<32}})) == 0 failed: Not supported
FAIL src/functional/utime-static.exe [status 1]
src/functional/utime.c:63: futimens(fd, ((struct timespec[2]){{.tv_sec=1LL<<32},{.tv_sec=1LL<<32}})) == 0 failed: Not supported
FAIL src/functional/utime.exe [status 1]
X src/math/special/acosh.h:9: RN acosh(0x1.001f1c62cf304p+0) want 0x1.f8d125ff71ccp-6 got 0x1.f8d125ff71cc2p-6 ulperr 1.853 = 0x1p+1 + -0x1.2d785ap-3
X src/math/special/acosh.h:10: RN acosh(0x1.00788c223616fp+0) want 0x1.f0cb8ee812621p-5 got 0x1.f0cb8ee812623p-5 ulperr 1.724 = 0x1p+1 + -0x1.1b0c1ap-2
X src/math/special/acosh.h:11: RN acosh(0x1.007b7a37c7606p+0) want 0x1.f6cb68859ae3p-5 got 0x1.f6cb68859ae2ep-5 ulperr -1.855 = -0x1p+1 + 0x1.280488p-3
X src/math/special/acosh.h:12: RN acosh(0x1.01d173033243cp+0) want 0x1.e7e1b18d99376p-4 got 0x1.e7e1b18d99378p-4 ulperr 1.930 = 0x1p+1 + -0x1.1f3d3ep-4
X src/math/special/acosh.h:13: RN acosh(0x1.01d8f20e90409p+0) want 0x1.ebca3eea5cda5p-4 got 0x1.ebca3eea5cda3p-4 ulperr -1.652 = -0x1p+1 + 0x1.648602p-2
X src/math/special/acosh.h:14: RN acosh(0x1.01ef6122e68bep+0) want 0x1.f74df150afc94p-4 got 0x1.f74df150afc92p-4 ulperr -1.762 = -0x1p+1 + 0x1.e79556p-3
X src/math/special/acosh.h:15: RN acosh(0x1.06822faf07879p+0) want 0x1.ccd73cbc4af78p-3 got 0x1.ccd73cbc4af7ap-3 ulperr 1.674 = 0x1p+1 + -0x1.4df79ep-2
X src/math/special/acosh.h:17: RN acosh(0x1.069d65411ec51p+0) want 0x1.d0928b08facbap-3 got 0x1.d0928b08facbcp-3 ulperr 1.785 = 0x1p+1 + -0x1.b83338p-3
X src/math/special/acosh.h:18: RN acosh(0x1.071d6b2713d08p+0) want 0x1.e1bc6a6c345fdp-3 got 0x1.e1bc6a6c345ffp-3 ulperr 1.818 = 0x1p+1 + -0x1.74a04ep-3
X src/math/special/acosh.h:19: RN acosh(0x1.0728405f5140cp+0) want 0x1.e328ebe92b32cp-3 got 0x1.e328ebe92b32ep-3 ulperr 1.790 = 0x1p+1 + -0x1.ae89ap-3
X src/math/special/acosh.h:20: RN acosh(0x1.07bd2c5c01bcbp+0) want 0x1.f6513c44c131p-3 got 0x1.f6513c44c1312p-3 ulperr 1.719 = 0x1p+1 + -0x1.203932p-2
X src/math/special/acosh.h:21: RN acosh(0x1.1aae7c452c859p+0) want 0x1.cf8d69288e386p-2 got 0x1.cf8d69288e384p-2 ulperr -1.723 = -0x1p+1 + 0x1.1b325ap-2
X src/math/special/acosh.h:23: RN acosh(0x1.1b50764626f1ep+0) want 0x1.d4ec67c71794p-2 got 0x1.d4ec67c717942p-2 ulperr 1.738 = 0x1p+1 + -0x1.0c09dap-2
src/math/special/acosh.h:9: RN acoshl(0x1.001f1c62cf304p+0) want 0x1.f8d125ff71ccp-6 got 0x1.f8d125ff71cc2p-6 ulperr 1.853 = 0x1p+1 + -0x1.2d785ap-3
src/math/special/acosh.h:10: RN acoshl(0x1.00788c223616fp+0) want 0x1.f0cb8ee812621p-5 got 0x1.f0cb8ee812623p-5 ulperr 1.724 = 0x1p+1 + -0x1.1b0c1ap-2
src/math/special/acosh.h:11: RN acoshl(0x1.007b7a37c7606p+0) want 0x1.f6cb68859ae3p-5 got 0x1.f6cb68859ae2ep-5 ulperr -1.855 = -0x1p+1 + 0x1.280488p-3
src/math/special/acosh.h:12: RN acoshl(0x1.01d173033243cp+0) want 0x1.e7e1b18d99376p-4 got 0x1.e7e1b18d99378p-4 ulperr 1.930 = 0x1p+1 + -0x1.1f3d3ep-4
src/math/special/acosh.h:13: RN acoshl(0x1.01d8f20e90409p+0) want 0x1.ebca3eea5cda5p-4 got 0x1.ebca3eea5cda3p-4 ulperr -1.652 = -0x1p+1 + 0x1.648602p-2
src/math/special/acosh.h:14: RN acoshl(0x1.01ef6122e68bep+0) want 0x1.f74df150afc94p-4 got 0x1.f74df150afc92p-4 ulperr -1.762 = -0x1p+1 + 0x1.e79556p-3
src/math/special/acosh.h:15: RN acoshl(0x1.06822faf07879p+0) want 0x1.ccd73cbc4af78p-3 got 0x1.ccd73cbc4af7ap-3 ulperr 1.674 = 0x1p+1 + -0x1.4df79ep-2
src/math/special/acosh.h:17: RN acoshl(0x1.069d65411ec51p+0) want 0x1.d0928b08facbap-3 got 0x1.d0928b08facbcp-3 ulperr 1.785 = 0x1p+1 + -0x1.b83338p-3
src/math/special/acosh.h:18: RN acoshl(0x1.071d6b2713d08p+0) want 0x1.e1bc6a6c345fdp-3 got 0x1.e1bc6a6c345ffp-3 ulperr 1.818 = 0x1p+1 + -0x1.74a04ep-3
src/math/special/acosh.h:19: RN acoshl(0x1.0728405f5140cp+0) want 0x1.e328ebe92b32cp-3 got 0x1.e328ebe92b32ep-3 ulperr 1.790 = 0x1p+1 + -0x1.ae89ap-3
src/math/special/acosh.h:20: RN acoshl(0x1.07bd2c5c01bcbp+0) want 0x1.f6513c44c131p-3 got 0x1.f6513c44c1312p-3 ulperr 1.719 = 0x1p+1 + -0x1.203932p-2
src/math/special/acosh.h:21: RN acoshl(0x1.1aae7c452c859p+0) want 0x1.cf8d69288e386p-2 got 0x1.cf8d69288e384p-2 ulperr -1.723 = -0x1p+1 + 0x1.1b325ap-2
src/math/special/acosh.h:23: RN acoshl(0x1.1b50764626f1ep+0) want 0x1.d4ec67c71794p-2 got 0x1.d4ec67c717942p-2 ulperr 1.738 = 0x1p+1 + -0x1.0c09dap-2
FAIL src/math/acoshl.exe [status 1]
X src/math/special/asinh.h:7: RN asinh(0x1.fbdd0eedf8143p-3) want 0x1.f6cc20d7a594ap-3 got 0x1.f6cc20d7a594cp-3 ulperr 1.513 = 0x1p+1 + -0x1.f327a8p-2
X src/math/special/asinh.h:8: RN asinh(0x1.df2723491f88fp-3) want 0x1.dae2c8444900cp-3 got 0x1.dae2c8444900ap-3 ulperr -1.551 = -0x1p+1 + 0x1.cb8b86p-2
X src/math/special/asinh.h:9: RN asinh(0x1.ef675c6541305p-3) want 0x1.eab20432c9598p-3 got 0x1.eab20432c959ap-3 ulperr 1.568 = 0x1p+1 + -0x1.ba9e34p-2
X src/math/special/asinh.h:10: RN asinh(0x1.f19df3a1722a9p-3) want 0x1.ecd8a7f621554p-3 got 0x1.ecd8a7f621552p-3 ulperr -1.535 = -0x1p+1 + 0x1.dbc1a8p-2
X src/math/special/asinh.h:11: RN asinh(0x1.f1af09dcfa7d6p-3) want 0x1.ece942815ceccp-3 got 0x1.ece942815cecap-3 ulperr -1.526 = -0x1p+1 + 0x1.e5bb5p-2
X src/math/special/asinh.h:12: RN asinh(0x1.f339ebbeac5bap-3) want 0x1.ee68f10a49c42p-3 got 0x1.ee68f10a49c44p-3 ulperr 1.529 = 0x1p+1 + -0x1.e28cbp-2
X src/math/special/asinh.h:13: RN asinh(0x1.f424275dc8787p-3) want 0x1.ef4c7fcb51c56p-3 got 0x1.ef4c7fcb51c54p-3 ulperr -1.642 = -0x1p+1 + 0x1.6e4e9p-2
X src/math/special/asinh.h:14: RN asinh(0x1.f60d54a133665p-3) want 0x1.f127a8dec0c2p-3 got 0x1.f127a8dec0c1ep-3 ulperr -1.512 = -0x1p+1 + 0x1.f3c9eap-2
X src/math/special/asinh.h:15: RN asinh(0x1.fdccdaf285ffdp-3) want 0x1.f8ad4bed7af4cp-3 got 0x1.f8ad4bed7af4ap-3 ulperr -1.576 = -0x1p+1 + 0x1.b1f1f8p-2
X src/math/special/asinh.h:16: RN asinh(0x1.ff5bec94924c7p-3) want 0x1.fa30836c3949ap-3 got 0x1.fa30836c39498p-3 ulperr -1.533 = -0x1p+1 + 0x1.de989p-2
X src/math/special/asinh.h:17: RN asinh(0x1.028e8fd61c8a5p-2) want 0x1.ffc55bd02e9dep-3 got 0x1.ffc55bd02e9ep-3 ulperr 1.670 = 0x1p+1 + -0x1.523c08p-2
X src/math/special/asinh.h:18: RN asinh(0x1.dc71794e1f137p-2) want 0x1.ccbd41a7d058ap-2 got 0x1.ccbd41a7d0588p-2 ulperr -1.585 = -0x1p+1 + 0x1.a944b8p-2
X src/math/special/asinh.h:19: RN asinh(0x1.df308e177c3cbp-2) want 0x1.cf3a638145d7ap-2 got 0x1.cf3a638145d78p-2 ulperr -1.505 = -0x1p+1 + 0x1.fb3684p-2
X src/math/special/asinh.h:20: RN asinh(0x1.ea94e1e267746p-2) want 0x1.d9862533f65f6p-2 got 0x1.d9862533f65f4p-2 ulperr -1.579 = -0x1p+1 + 0x1.af51ecp-2
X src/math/special/asinh.h:21: RN asinh(0x1.ecd4f07608dc7p-2) want 0x1.db8d6fdcc6d74p-2 got 0x1.db8d6fdcc6d76p-2 ulperr 1.517 = 0x1p+1 + -0x1.eeb48p-2
X src/math/special/asinh.h:22: RN asinh(0x1.f30656c78ee7ep-2) want 0x1.e1204e364a186p-2 got 0x1.e1204e364a188p-2 ulperr 1.576 = 0x1p+1 + -0x1.b23ffp-2
X src/math/special/asinh.h:23: RN asinh(0x1.f5c0c6e41b969p-2) want 0x1.e393d3dc3b70ap-2 got 0x1.e393d3dc3b70cp-2 ulperr 1.562 = 0x1p+1 + -0x1.c06dbep-2
X src/math/special/asinh.h:24: RN asinh(0x1.09c58725300e7p-1) want 0x1.fe2c7f25fb172p-2 got 0x1.fe2c7f25fb174p-2 ulperr 1.579 = 0x1p+1 + -0x1.ae9df6p-2
src/math/special/asinh.h:7: RN asinhl(0x1.fbdd0eedf8143p-3) want 0x1.f6cc20d7a594ap-3 got 0x1.f6cc20d7a594cp-3 ulperr 1.513 = 0x1p+1 + -0x1.f327a8p-2
src/math/special/asinh.h:8: RN asinhl(0x1.df2723491f88fp-3) want 0x1.dae2c8444900cp-3 got 0x1.dae2c8444900ap-3 ulperr -1.551 = -0x1p+1 + 0x1.cb8b86p-2
src/math/special/asinh.h:9: RN asinhl(0x1.ef675c6541305p-3) want 0x1.eab20432c9598p-3 got 0x1.eab20432c959ap-3 ulperr 1.568 = 0x1p+1 + -0x1.ba9e34p-2
src/math/special/asinh.h:10: RN asinhl(0x1.f19df3a1722a9p-3) want 0x1.ecd8a7f621554p-3 got 0x1.ecd8a7f621552p-3 ulperr -1.535 = -0x1p+1 + 0x1.dbc1a8p-2
src/math/special/asinh.h:11: RN asinhl(0x1.f1af09dcfa7d6p-3) want 0x1.ece942815ceccp-3 got 0x1.ece942815cecap-3 ulperr -1.526 = -0x1p+1 + 0x1.e5bb5p-2
src/math/special/asinh.h:12: RN asinhl(0x1.f339ebbeac5bap-3) want 0x1.ee68f10a49c42p-3 got 0x1.ee68f10a49c44p-3 ulperr 1.529 = 0x1p+1 + -0x1.e28cbp-2
src/math/special/asinh.h:13: RN asinhl(0x1.f424275dc8787p-3) want 0x1.ef4c7fcb51c56p-3 got 0x1.ef4c7fcb51c54p-3 ulperr -1.642 = -0x1p+1 + 0x1.6e4e9p-2
src/math/special/asinh.h:14: RN asinhl(0x1.f60d54a133665p-3) want 0x1.f127a8dec0c2p-3 got 0x1.f127a8dec0c1ep-3 ulperr -1.512 = -0x1p+1 + 0x1.f3c9eap-2
src/math/special/asinh.h:15: RN asinhl(0x1.fdccdaf285ffdp-3) want 0x1.f8ad4bed7af4cp-3 got 0x1.f8ad4bed7af4ap-3 ulperr -1.576 = -0x1p+1 + 0x1.b1f1f8p-2
src/math/special/asinh.h:16: RN asinhl(0x1.ff5bec94924c7p-3) want 0x1.fa30836c3949ap-3 got 0x1.fa30836c39498p-3 ulperr -1.533 = -0x1p+1 + 0x1.de989p-2
src/math/special/asinh.h:17: RN asinhl(0x1.028e8fd61c8a5p-2) want 0x1.ffc55bd02e9dep-3 got 0x1.ffc55bd02e9ep-3 ulperr 1.670 = 0x1p+1 + -0x1.523c08p-2
src/math/special/asinh.h:18: RN asinhl(0x1.dc71794e1f137p-2) want 0x1.ccbd41a7d058ap-2 got 0x1.ccbd41a7d0588p-2 ulperr -1.585 = -0x1p+1 + 0x1.a944b8p-2
src/math/special/asinh.h:19: RN asinhl(0x1.df308e177c3cbp-2) want 0x1.cf3a638145d7ap-2 got 0x1.cf3a638145d78p-2 ulperr -1.505 = -0x1p+1 + 0x1.fb3684p-2
src/math/special/asinh.h:20: RN asinhl(0x1.ea94e1e267746p-2) want 0x1.d9862533f65f6p-2 got 0x1.d9862533f65f4p-2 ulperr -1.579 = -0x1p+1 + 0x1.af51ecp-2
src/math/special/asinh.h:21: RN asinhl(0x1.ecd4f07608dc7p-2) want 0x1.db8d6fdcc6d74p-2 got 0x1.db8d6fdcc6d76p-2 ulperr 1.517 = 0x1p+1 + -0x1.eeb48p-2
src/math/special/asinh.h:22: RN asinhl(0x1.f30656c78ee7ep-2) want 0x1.e1204e364a186p-2 got 0x1.e1204e364a188p-2 ulperr 1.576 = 0x1p+1 + -0x1.b23ffp-2
src/math/special/asinh.h:23: RN asinhl(0x1.f5c0c6e41b969p-2) want 0x1.e393d3dc3b70ap-2 got 0x1.e393d3dc3b70cp-2 ulperr 1.562 = 0x1p+1 + -0x1.c06dbep-2
src/math/special/asinh.h:24: RN asinhl(0x1.09c58725300e7p-1) want 0x1.fe2c7f25fb172p-2 got 0x1.fe2c7f25fb174p-2 ulperr 1.579 = 0x1p+1 + -0x1.ae9df6p-2
FAIL src/math/asinhl.exe [status 1]
X src/math/special/erfc.h:6: RN erfc(0x1.5db559fe5c0bap+0) want 0x1.b53cf571d328fp-5 got 0x1.b53cf571d328cp-5 ulperr -2.609 = -0x1.8p+1 + 0x1.900982p-2
src/math/special/erfc.h:6: RN erfcl(0x1.5db559fe5c0bap+0) want 0x1.b53cf571d328fp-5 got 0x1.b53cf571d328cp-5 ulperr -2.609 = -0x1.8p+1 + 0x1.900982p-2
FAIL src/math/erfcl.exe [status 1]
X src/math/special/exp2.h:12: bad fp exception: RN exp2(-0x1.ff8p+9)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
X src/math/special/exp2.h:18: bad fp exception: RN exp2(-0x1.ff8p+9)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
X src/math/special/exp2.h:20: bad fp exception: RN exp2(-0x1p+10)=0x1p-1024, want 0 got INEXACT|UNDERFLOW
X src/math/special/exp2.h:21: bad fp exception: RN exp2(-0x1.004p+10)=0x1p-1025, want 0 got INEXACT|UNDERFLOW
X src/math/special/exp2.h:22: bad fp exception: RN exp2(-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/special/exp2.h:12: bad fp exception: RN exp2l(-0x1.ff8p+9)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/special/exp2.h:18: bad fp exception: RN exp2l(-0x1.ff8p+9)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/special/exp2.h:20: bad fp exception: RN exp2l(-0x1p+10)=0x1p-1024, want 0 got INEXACT|UNDERFLOW
src/math/special/exp2.h:21: bad fp exception: RN exp2l(-0x1.004p+10)=0x1p-1025, want 0 got INEXACT|UNDERFLOW
src/math/special/exp2.h:22: bad fp exception: RN exp2l(-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
FAIL src/math/exp2l.exe [status 1]
src/math/sanity/fma.h:1: RN fmal(-0x1.02239f3c6a8f1p+3,0x1.22484b9ef31fp+2,0x1.52fb12ef638a1p-1) want -0x1.1f69545c32effp+5 got -0x1.9ee52705ep+4 ulperr 1406739496828928.000 = 0x1.3fdb04p+50 + -0x1.759846p-3
src/math/sanity/fma.h:2: RN fmal(0x1.161868e18bc67p+2,-0x1.1c6a6cdce75e8p+3,0x1.ab3ff8575b21dp-5) want -0x1.348be0b9d32d3p+5 got -0x1.c8a99f416p+3 ulperr 3419582362550272.000 = 0x1.84c2f2p+51 + 0x1.b43916p-3
src/math/sanity/fma.h:3: RN fmal(-0x1.0c34b3e01e6e7p+3,-0x1.61bde29e83f6dp+1,0x1.eb4a2e7ce0693p+2) want 0x1.ed6e27fca81b7p+4 got 0x1.487be8a56cp+2 ulperr -7235829650948096.000 = -0x1.9b4f2ep+52 + -0x1.f11488p-2
src/math/sanity/fma.h:4: RN fmal(-0x1.a206f0a19dcc4p+2,0x1.24527f7b576acp+2,-0x1.95882b433fad3p-1) want -0x1.ea02e2365f336p+4 got 0x1.2e3092a8ap+3 ulperr 11278458491502592.000 = 0x1.408d96p+53 + 0x1.41da3ap-2
src/math/sanity/fma.h:5: RN fmal(0x1.288bbb0d6a1e6p+3,0x1.33edd910a3c01p+2,-0x1.1e159e36313eep-1) want 0x1.603abfa620e23p+5 got -0x1.7341dbb0dp+2 ulperr -7012890246643712.000 = -0x1.8ea2fcp+52 + -0x1.7be8ccp-3
src/math/special/fma.h:42: RN fmal(0x1p+0,0x1p+0,-0x1p-1074) want 0x1p+0 got -0x1.fffffp-43 ulperr -4503599627370496.000 = -0x1p+52 + 0x0p+0
src/math/special/fma.h:43: bad fp exception: RN fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022)=0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:43: RN fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.fffffffffffffp-1022 got 0x1p-1074 ulperr -9007199254740992.000 = -0x1p+53 + 0x0p+0
src/math/special/fma.h:44: bad fp exception: RN fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022)=0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:44: RN fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.fffffffffffffp-1022 got -0x0p+0 ulperr -9007199254740992.000 = -0x1p+53 + 0x0p+0
src/math/special/fma.h:45: bad fp exception: RN fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:45: RN fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.fffffffffffffp-1022 got -0x1p-1074 ulperr 9007199254740992.000 = 0x1p+53 + 0x0p+0
src/math/special/fma.h:46: bad fp exception: RN fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:46: RN fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.fffffffffffffp-1022 got 0x0p+0 ulperr 9007199254740992.000 = 0x1p+53 + 0x0p+0
src/math/special/fma.h:47: RN fmal(0x1p-1074,-0x1p-1074,0x1p-1074) want 0x1p-1074 got -0x0p+0 ulperr -1.000 = -0x1p+0 + 0x0p+0
src/math/special/fma.h:48: RN fmal(0x1p-1074,-0x1p-1074,-0x1p-1074) want -0x1p-1074 got -0x0p+0 ulperr 1.000 = 0x1p+0 + 0x0p+0
src/math/special/fma.h:49: RN fmal(0x1.0000000000001p+0,0x1p+0,0x1p+53) want 0x1.0000000000001p+53 got 0x1.000008p+12 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:50: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p+53) want 0x1.0000000000001p+53 got 0x1.ffc02p+10 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:51: RN fmal(0x1p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp+53) want 0x1.fffffffffffffp+53 got -0x1.ffffep+10 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:52: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep+53) want 0x1.fffffffffffffp+53 got 0x1.ffc02p+10 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:53: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p-52) want 0x1.0000000000001p+0 got -0x1.fffffp-42 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:54: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp-53) want 0x1.0000000000001p+0 got -0x1.fffff8p-41 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:55: RN fmal(0x1.0000000000005p+0,0x1.ffffffffffffbp-1,0x1p-52) want 0x1.0000000000003p+0 got -0x1.8fffff8p-37 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:56: RN fmal(0x1.0000000000006p+0,0x1.ffffffffffffdp-1,0x1p-52) want 0x1.0000000000005p+0 got -0x1.1fffff8p-37 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:75: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff5p+0 got 0x1.6800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:76: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1p+0) want 0x1.ffffffffffff9p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:77: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffff7p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:78: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffff5p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:79: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffff7p+0 got 0x1.f800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:80: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffff5p+0 got 0x1.f800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:81: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffff7p+0 got 0x1.2000004p-36 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:82: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffff5p+0 got 0x1.2000004p-36 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:83: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.fffffffffffffp-1) want 0x1.ffffffffffff7p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:84: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffff5p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:85: RN fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff3p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:86: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep-1) want 0x1.fffffffffffffp+0 got -0x1.fffffp-42 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:87: RN fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffp-42 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:88: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.fffffffffffffp-1) want 0x1.fffffffffffffp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:89: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:90: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:91: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1p+0) want 0x1.fffffffffffffp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:92: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:93: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:94: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:95: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:96: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffffdp+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:97: RN fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffbp+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:98: RN fmal(0x1.5872449b765b9p+0,0x1.c9acf91f8de2bp+0,0x1.9265607e4d168p+0) want 0x1.fd190c77c2a67p+1 got -0x1.b3fc37bedp-4 ulperr -9195829923414016.000 = -0x1.055c78p+53 + -0x1.fffc98p-2
src/math/special/fma.h:99: RN fmal(0x1.81d010b146d0ep+0,0x1.2d3c680dc9071p+0,0x1.a80b69538754cp+0) want 0x1.b7040b44973a7p+1 got 0x1.4d0cb20197p+1 ulperr -1864177270390784.000 = -0x1.a7dd66p+50 + 0x1.ffacbcp-2
src/math/special/fma.h:100: RN fmal(0x1.6a44f2252b6a2p+0,0x1.da452a378b832p+0,0x1.1fe2ce329104p+0) want 0x1.df842b6f48b13p+1 got 0x1.12e95c1ba4p+0 ulperr -6017592242208768.000 = -0x1.560f7ep+52 + 0x1.ffdda2p-2
src/math/special/fma.h:101: RN fmal(0x1.096b1d26463eep+0,0x1.d846d3e34333p+0,0x1.721e3480922b8p+0) want 0x1.ade2909c0269fp+1 got -0x1.a139d9b2cp-1 ulperr -9397596749561856.000 = -0x1.0b1884p+53 + -0x1.ffe5ecp-2
src/math/special/fma.h:102: RN fmal(0x1.99bd3434c454bp+0,0x1.03cb8e4115bdep+0,0x1.109f107188b08p+0) want 0x1.5837a47d37fafp+1 got 0x1.cfdec0c00ap+0 ulperr -1975290892910592.000 = -0x1.c1211p+50 + 0x1.ffc604p-2
src/math/special/fma.h:103: RN fmal(0x1.ba930a0a78ed2p+0,0x1.8c24e8d67f636p+0,0x1.ac49dbfbf8affp+0) want 0x1.164947ae6a5d9p+2 got -0x1.33e3b04edp-2 ulperr -5234191281160192.000 = -0x1.298782p+52 + -0x1.fffb3p-2
src/math/special/fma.h:104: RN fmal(0x1.be224ad773191p+0,0x1.d96b77169731fp+0,0x1.662cfb75d8edep+0) want 0x1.27cd67e720f79p+2 got 0x1.e4711611c78p+1 ulperr -942615600037888.000 = -0x1.aca6e6p+49 + 0x1.ffc372p-2
src/math/special/fma.h:105: RN fmal(0x1.59e7a1b0bdb3cp+0,0x1.2decba4d46421p+0,0x1.88f4062e96df5p+0) want 0x1.90749e4794f79p+1 got -0x1.b3c84a9a88p-1 ulperr -8961479327875072.000 = -0x1.fd66bp+52 + -0x1.ffe4c4p-2
src/math/special/fma.h:106: RN fmal(0x1.22edf4b4da9a7p+0,0x1.dfa8d65f506cdp+0,0x1.2799208da2fbap+0) want 0x1.a45a1e99ed7a9p+1 got 0x1.a0bdfb8976p-1 ulperr -5562059957731328.000 = -0x1.3c2aap+52 + 0x1.ffe5f4p-2
src/math/special/fma.h:107: RN fmal(0x1.ad5b991a2a279p+0,0x1.f02fd26706024p+0,0x1.831cdd5c8797cp+0) want 0x1.30d3a2ac90a61p+2 got 0x1.c7c15e1c82p+1 ulperr -1353701616779264.000 = -0x1.33cbcep+50 + 0x1.ffc708p-2
src/math/special/fma.h:108: RN fmal(0x1.531f9620e764ap+0,0x1.cad61b54d4425p+0,0x1.df817cae8a9afp+0) want 0x1.0fd4e7f8671ddp+2 got 0x1.8e74e26059p+1 ulperr -1277252138434560.000 = -0x1.2269dcp+50 + 0x1.ffce32p-2
src/math/special/fma.h:109: RN fmal(0x1.629a5ad79494fp+0,0x1.049e58693f4c4p+0,0x1.45b0109e4d00cp+0) want 0x1.5758154e14965p+1 got -0x1.01173c9c2p-3 ulperr -6322847379095552.000 = -0x1.67698ap+52 + -0x1.fffbfcp-2
src/math/special/fma.h:110: RN fmal(0x1.2f52b53f9240ap+0,0x1.1d5c686dbb0dap+0,0x1.6da3e392a4fd4p+0) want 0x1.5fe03a6795913p+1 got 0x1.5bdb7d9084p+0 ulperr -3130480329228288.000 = -0x1.63e4f8p+51 + 0x1.ffd484p-2
src/math/special/fma.h:111: RN fmal(0x1.058667552b49ep+0,0x1.23307bacc1c42p+0,0x1.5b059b47cd8f5p+0) want 0x1.423f752486d13p+1 got -0x1.4bfb042744p+0 ulperr -8589176530272256.000 = -0x1.e83cf8p+52 + -0x1.ffd68p-2
src/math/special/fma.h:112: RN fmal(0x1.a717d95337ed8p+0,0x1.2b1c37846aaadp+0,0x1.be65672f885b1p+0) want 0x1.d65e72303c075p+1 got -0x1.7e0573ec04p+1 ulperr -14995408015065088.000 = -0x1.aa31f4p+53 + -0x1.ffa07ep-2
src/math/special/fma.h:113: RN fmal(0x1.deb79287b3d32p+0,0x1.62776b829babap+0,0x1.67daf18bd2eb1p+0) want 0x1.ff5a0d45c69d7p+1 got 0x1.ad881652ap-3 ulperr -8523520438960128.000 = -0x1.e4818cp+52 + 0x1.fff94ap-2
src/math/special/fma.h:114: RN fmal(0x1.fbf12d3a6de91p+0,0x1.879fe6124f11p+0,0x1.9f3f1247a8641p+0) want 0x1.2a126c6980019p+2 got 0x1.45e3d61a84p+2 ulperr 489379780886528.000 = 0x1.bd169cp+48 + 0x1.ffae88p-2
src/math/special/fma.h:115: RN fmal(0x1.c589628460e01p+0,0x1.e1bec1c797533p+0,0x1.349f30cdb84bbp+0) want 0x1.2286118b6f6e5p+2 got -0x1.8e9d95e0668p+1 ulperr -8617206560587776.000 = -0x1.e9d4dcp+52 + -0x1.ffce2cp-2
src/math/special/fma.h:116: RN fmal(0x1.46fd6c2c924ebp+0,0x1.65e2f02e730a1p+0,0x1.37739d2751098p+0) want 0x1.804a71c1f1273p+1 got 0x1.855d7947cbp+0 ulperr -3335623268106240.000 = -0x1.7b376ap+51 + 0x1.ffcf54p-2
src/math/special/fma.h:117: RN fmal(0x1.f99e595ae11fdp+0,0x1.bd33d9a1d81bp+0,0x1.932a2a2e244c1p+0) want 0x1.409e34f8f2f89p+2 got -0x1.7a49668944p+2 ulperr -12295261934059520.000 = -0x1.5d73cep+53 + -0x1.ffa16ep-2
src/math/special/fma.h:118: RN fmal(0x1.59ea1e56bfe55p+0,0x1.6f46b7d412a44p+0,0x1.80f2bc9a32cc3p+0) want 0x1.b89c7640e32ffp+1 got -0x1.ca180bfb6p-3 ulperr -8254993714905088.000 = -0x1.d53df8p+52 + -0x1.fff8d8p-2
src/math/special/fma.h:119: RN fmal(0x1.61490fcb44129p+0,0x1.0038ec4fc35c2p+0,0x1.df7436ed7a7b7p+0) want 0x1.a085ea68d05cfp+1 got -0x1.5ed2c690f7p+1 ulperr -13499301254660096.000 = -0x1.7fac58p+53 + -0x1.ffa84cp-2
src/math/special/fma.h:120: RN fmal(0x1.d41b98788502bp+0,0x1.1a7b77843aca6p+0,0x1.05be891837d36p+0) want 0x1.8523596ceced9p+1 got -0x1.48c8fc403cp-1 ulperr -8291801584631808.000 = -0x1.d75598p+52 + -0x1.ffeb74p-2
src/math/special/fma.h:121: RN fmal(0x1.3153cf6f69af9p+0,0x1.aaa947e38e57ap+0,0x1.8519f9b590645p+0) want 0x1.c0fcab7b46369p+1 got 0x1.25f4f4bd5p-3 ulperr -7575453653008384.000 = -0x1.ae9d5cp+52 + 0x1.fffb68p-2
src/math/special/fma.h:122: RN fmal(0x1.c25a1f73581aap+0,0x1.0a51ffca372ap+0,0x1.0c77e3ebac5f3p+0) want 0x1.707ce48c7d72dp+1 got -0x1.3261c9a0ep+1 ulperr -11872436362412032.000 = -0x1.516f58p+53 + -0x1.ffb368p-2
src/math/special/fma.h:123: RN fmal(0x1.829c2cde44b7p+0,0x1.f692e86d8cb36p+0,0x1.455e72d264bfp+0) want 0x1.0f16a3b8b3f97p+2 got -0x1.684386466p+0 ulperr -6353495191977984.000 = -0x1.692786p+52 + -0x1.ffe97cp-2
src/math/special/fma.h:124: RN fmal(0x1.94729588dcc69p+0,0x1.c3bb794c6edf8p+0,0x1.9da4e94d262d2p+0) want 0x1.19d4bd84d9fd3p+2 got 0x1.e1b9a2757p-1 ulperr -3898698849320960.000 = -0x1.bb3b12p+51 + 0x1.fff0f2p-2
src/math/special/fma.h:125: RN fmal(0x1.e6a5e7e39c3d5p+0,0x1.1b69af2bdd978p+0,0x1.e7ef1eafa119cp+0) want 0x1.00ac5b44c9f31p+2 got -0x1.6777d5d394p+1 ulperr -7677358731427840.000 = -0x1.b46846p+52 + -0x1.ffd312p-2
src/math/special/fma.h:126: RN fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022) want 0x1.b594d0e4368efp-1022 got -0x1.9dedc9561p-1023 ulperr -11338968138252288.000 = -0x1.4245dap+53 + -0x1.ffcc42p-2
src/math/special/fma.h:127: RN fmal(0x1.022db53c98d14p-1022,0x1.21157eef74848p-2,0x1.2f880432b1bc1p-1022) want 0x1.786ad60a02b3dp-1022 got -0x1.150255ac98p-1022 ulperr -11495199721127936.000 = -0x1.46b696p+53 + -0x1.ffbacp-2
src/math/special/fma.h:128: RN fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022) want 0x1.cbb085199a3f5p-1022 got -0x1.6ed115da2f8p-1023 ulperr -11313497908445184.000 = -0x1.418c88p+53 + -0x1.ffd226p-2
src/math/special/fma.h:129: RN fmal(0x1.adbc3a9d816dep-1022,0x1.e039d4431e3cdp-2,0x1.93ceef6fe18a2p-1022) want 0x1.2eabb7dc0e2f1p-1021 got 0x1.ef7b6794e3p-1023 ulperr -3145487481831424.000 = -0x1.6599bcp+51 + 0x1.ffe108p-2
src/math/special/fma.h:130: RN fmal(0x1.645aa5c2df3afp-1022,0x1.649edfcad854fp-2,0x1.8b43e0bbaeb01p-1022) want 0x1.03af571d2b505p-1021 got 0x1.0ce86163c02p-1021 ulperr 162249436037120.000 = 0x1.272148p+47 + 0x1.ffbcc6p-2
src/math/special/fma.h:131: RN fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022) want 0x1.ad9ce7fcefa3fp-1022 got -0x1.12bc4931e6p-1025 ulperr -8161980292530176.000 = -0x1.cff472p+52 + -0x1.fff76ap-2
src/math/special/fma.h:132: RN fmal(0x1.8ee3feb00c3e7p-1022,0x1.53bd9353313bcp-2,0x1.5501b57dc3b6fp-1022) want 0x1.d9598906f0bb3p-1022 got -0x1.4660b83f57p-1022 ulperr -14068955652030464.000 = -0x1.8fdd2p+53 + -0x1.ffae68p-2
src/math/special/fma.h:133: RN fmal(0x1.161225cfa61e2p-1022,0x1.b6dd69a0af5bp-2,0x1.924ffc3ead5c3p-1022) want 0x1.04be6fc25367bp-1021 got -0x1.f3ab56daa8p-1022 ulperr -8982192881401856.000 = -0x1.fe941cp+52 + -0x1.ffc18ap-2
src/math/special/fma.h:134: RN fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022) want 0x1.70b6c3169f043p-1022 got -0x1.a779baefbe8p-1023 ulperr -10211413595258880.000 = -0x1.2239dp+53 + -0x1.ffcb1p-2
src/math/special/fma.h:135: RN fmal(0x1.ce0e2ea55040ep-1022,0x1.ce5a55fa3828dp-2,0x1.f2f444d50ce59p-1022) want 0x1.61ca36f5a8a79p-1021 got -0x1.173f0cea128p-1022 ulperr -8680214267691008.000 = -0x1.ed69bep+52 + -0x1.ffdd18p-2
src/math/special/fma.h:136: RN fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022) want 0x1.1440cf1c105ebp-1021 got -0x1.f88fda6p-1030 ulperr -4877233864835072.000 = -0x1.153d18p+52 + -0x1.ffffcp-2
src/math/special/fma.h:137: RN fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022) want 0x1.1186e1f77012dp-1021 got -0x1.2ffba526fcp-1025 ulperr -5146168610783232.000 = -0x1.24869cp+52 + -0x1.fffb4p-2
src/math/special/fma.h:138: RN fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022) want 0x1.8d86310bad175p-1022 got -0x1.1b755c367f8p-1023 ulperr -9486646453993472.000 = -0x1.0da07p+53 + -0x1.ffdc92p-2
src/math/special/fma.h:139: RN fmal(0x1.fb3391a4b1d23p-1022,0x1.4d8705b057caep-2,0x1.d026cb6dae73bp-1022) want 0x1.3aad18b424c67p-1021 got -0x1.0a1784c7c6cp-1021 ulperr -10216978799132672.000 = -0x1.22624ep+53 + -0x1.ffbd7ap-2
src/math/special/fma.h:140: RN fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022) want 0x1.c0048fd33a417p-1022 got -0x1.d026e457f1p-1024 ulperr -9922974329077760.000 = -0x1.1a0724p+53 + -0x1.ffe2fep-2
src/math/special/fma.h:141: RN fmal(0x1.aa9eff070281cp-1022,0x1.fab05661b48ebp-2,0x1.cbe2af6c69c6ep-1022) want 0x1.4f7ddbe122765p-1021 got 0x1.9e529858dap-1023 ulperr -4079821109854208.000 = -0x1.cfd26cp+51 + 0x1.ffe61ap-2
src/math/special/fma.h:142: RN fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022) want 0x1.e0e762ee2e7c5p-1022 got -0x1.e2fe0f96ecp-1023 ulperr -12708596701724672.000 = -0x1.693336p+53 + -0x1.ffc3ap-2
src/math/special/fma.h:143: RN fmal(0x1.4dab43918a9a8p-1022,0x1.ed667442b4751p-2,0x1.3f25f82e02e3ep-1022) want 0x1.dfec0ee732dcbp-1022 got 0x1.6a41c4d18ap-1022 ulperr -2069987942465536.000 = -0x1.d6a928p+50 + 0x1.ffa57p-2
src/math/special/fma.h:144: RN fmal(0x1.7943735951931p-1022,0x1.fa6a357c5c9ddp-2,0x1.0bed44b0b71b4p-1022) want 0x1.c6803a6059abfp-1022 got 0x1.0e970cce134p-1022 ulperr -3235394032238592.000 = -0x1.6fd25cp+51 + 0x1.ffbc5ap-2
src/math/special/fma.h:145: RN fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022) want 0x1.8640492c45959p-1022 got -0x1.3271a1b38p-1027 ulperr -7033839486500864.000 = -0x1.8fd3d6p+52 + -0x1.fffd9cp-2
src/math/special/fma.h:146: RN fmal(0x1.f52172c56bdf5p-1022,0x1.672b2de422734p-2,0x1.7bc5d708e5a34p-1022) want 0x1.15c5b95145cc7p-1021 got 0x1.3cf4f71d188p-1021 ulperr 689341647028224.000 = 0x1.3979eep+49 + 0x1.ffb0c2p-2
src/math/special/fma.h:147: RN fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022) want 0x1.e7fa0dd76fbefp-1022 got -0x1.60a5d541bp-1024 ulperr -10135539776749568.000 = -0x1.2011c2p+53 + -0x1.ffe9f6p-2
src/math/special/fma.h:148: RN fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022) want 0x1.b63a7f56fce1fp-1022 got -0x1.497a9bc52p-1024 ulperr -9158461560455168.000 = -0x1.044c94p+53 + -0x1.ffeb68p-2
src/math/special/fma.h:149: RN fmal(0x1.f73d5f4e81fd8p-1022,0x1.7ccff2642124ap-2,0x1.e7d836a0c8308p-1022) want 0x1.517f1763126d3p-1021 got -0x1.06939f3372p-1021 ulperr -10556597969354752.000 = -0x1.2c095cp+53 + -0x1.ffbe5cp-2
src/math/special/fma.h:150: RN fmal(0x1.b4328925969fbp-1022,0x1.8fa02832a22d5p-2,0x1.2084598e2f8c6p-1022) want 0x1.cabf43838dc51p-1022 got -0x1.7c61d65f0a4p-1022 ulperr -14762118276448256.000 = -0x1.a3908cp+53 + -0x1.ffa0e8p-2
src/math/special/fma.h:151: RN fmal(0x1.66ee60a92676fp-1022,0x1.eddd2e7681ce4p-2,0x1.b81d57daeb3a7p-1022) want 0x1.329c918ffb683p-1021 got 0x1.cd379885b8p-1025 ulperr -4886854591578112.000 = -0x1.15c918p+52 + 0x1.fff8ccp-2
src/math/special/fma.h:152: RN fmal(0x1.ff2737585895dp-1022,0x1.fb4bf3828ae4ap-2,0x1.4a866847740fp-1022) want 0x1.23e07e4dbbeabp-1021 got 0x1.46c53f7571p-1023 ulperr -3697601232764928.000 = -0x1.a45e5cp+51 + 0x1.ffeb94p-2
src/math/special/fma.h:153: RN fmal(0x1.5e2008d269a86p-1022,0x1.507bbbe4d78eep-2,0x1.6220c6f83f636p-1022) want 0x1.d52d9874f1c75p-1022 got 0x1.eda0503c4ap-1023 ulperr -3911886277967872.000 = -0x1.bcbaep+51 + 0x1.ffc24cp-2
src/math/special/fma.h:154: RN fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022) want 0x1.9864925e2fb0fp-1022 got -0x1.53ae580e8cp-1025 ulperr -7931489798848512.000 = -0x1.c2da5ep+52 + -0x1.fff562p-2
src/math/special/fma.h:155: RN fmal(0x1.7b353b81e793dp-1022,0x1.82b426f874c6dp-2,0x1.d92b19d21fd5cp-1022) want 0x1.342fb0c544a79p-1021 got 0x1.2af4c8aebe4p-1022 ulperr -2792024021401600.000 = -0x1.3d6a98p+51 + 0x1.ffdaa2p-2
src/math/special/fma.h:156: RN fmal(0x1.5be667823370ap-1022,0x1.a8a99b163869bp-2,0x1.95456b68dc3bcp-1022) want 0x1.12c638de03c71p-1021 got 0x1.49af7fc787p-1023 ulperr -3383908364189696.000 = -0x1.80b4b2p+51 + 0x1.ffeb66p-2
src/math/special/fma.h:157: RN fmal(0x1.17b0fc6c850e5p-1022,0x1.d1d0a4853c315p-2,0x1.36b79f7c0c24p-1022) want 0x1.b5f2baff5635dp-1022 got 0x1.6a19304724p-1026 ulperr -7306334223466496.000 = -0x1.9f5128p+52 + 0x1.fffa58p-2
src/math/special/fma.h:158: RN fmal(0x1.bd97819bacfd8p-1022,0x1.2c25f267ba4eep-2,0x1.804b5204a3f3ap-1022) want 0x1.01739c190fd97p-1021 got 0x1.b9e166e6b4p-1022 ulperr -642314707927040.000 = -0x1.241746p+49 + 0x1.ffc8c4p-2
src/math/special/fma.h:159: RN fmal(0x1.596577053873dp-1022,0x1.3562ab2d29949p-2,0x1.b3f1ee75db6e7p-1022) want 0x1.0e268a498009bp-1021 got 0x1.e8136bc1594p-1022 ulperr -459377991483392.000 = -0x1.a1cd46p+48 + 0x1.ffc2fep-2
src/math/special/fma.h:160: RN fmal(0x1.3c7a68cf0f7b3p-1022,0x1.9a55c15b167bdp-2,0x1.7635b7b163c07p-1022) want 0x1.f5073b93b7b81p-1022 got 0x1.75f9a972138p-1023 ulperr -5524660993130496.000 = -0x1.3a0a66p+52 + 0x1.ffd14p-2
src/math/special/fma.h:161: RN fmal(0x1.5825164bc4068p-1022,0x1.dcbb6e5ff3245p-2,0x1.52fc3be0e84dap-1022) want 0x1.f334771c2dcfbp-1022 got 0x1.2b86ba6b02p-1022 ulperr -3512784226615296.000 = -0x1.8f5b7ap+51 + 0x1.ffb51ep-2
src/math/special/fma.h:162: RN fmal(0x1.139ea77b760ecp+1022,0x1.9b25f2fd017eap+2,-0x1.bc16788922b6fp+1023) want 0x1.b93aac527380fp+1023 got 0x1.c3ec4f2eep+1022 ulperr -3787028625883136.000 = -0x1.ae890ap+51 + 0x1.ffc782p-2
src/math/special/fma.h:163: RN fmal(0x1.0e6f9c1657d7cp+1022,0x1.4d5c6b55ab5f1p+2,-0x1.e027dd5742e2cp+1023) want 0x1.c0538372b4bbfp+1022 got 0x1.54dede6dep+1021 ulperr -4888708943708160.000 = -0x1.15e414p+52 + 0x1.ffd564p-2
src/math/special/fma.h:164: RN fmal(0x1.1182524fa411cp+1022,0x1.a3dba56842d19p+2,-0x1.c1ad59474d71fp+1023) want 0x1.bf78969300a77p+1023 got 0x1.8651491efp+1022 ulperr -4438724683235328.000 = -0x1.f89fe4p+51 + 0x1.ffcf36p-2
src/math/special/fma.h:165: RN fmal(0x1.1cbf4fb8ec82p+1022,0x1.5e32019a84fbbp+2,-0x1.985af08f32edep+1023) want 0x1.72af6bbad4a29p+1023 got 0x1.a68c1c1ecp+1023 ulperr 912367152005120.000 = 0x1.9ee584p+49 + 0x1.ff965cp-2
src/math/special/fma.h:166: RN fmal(0x1.311e25c6db346p+1022,0x1.4e30db6c4b51dp+2,-0x1.7681f7a9786a7p+1023) want 0x1.a61d29434fc13p+1023 got -0x1.791d1989p+1017 ulperr -7529566759288832.000 = -0x1.ac019ep+52 + -0x1.fffe86p-2
src/math/special/fma.h:167: RN fmal(0x1.1201cf577052fp+1022,0x1.59730b2db7a16p+2,-0x1.56f1a64a078d5p+1023) want 0x1.8c8d801df34d9p+1023 got -0x1.3048609fd8p+1022 ulperr -inf = -inf + -0x1.ffd9f6p-2
src/math/special/fma.h:168: RN fmal(0x1.3e52335b76e81p+1022,0x1.4dbd56f857479p+2,-0x1.509340c11bd2ep+1023) want 0x1.ed6576837f653p+1023 got -0x1.e498d5441cp+1022 ulperr -inf = -inf + -0x1.ffc36cp-2
src/math/special/fma.h:169: RN fmal(0x1.18566b4f843cbp+1022,0x1.444fba10eaf29p+2,-0x1.f927beae57f0ap+1023) want 0x1.9a433b9796559p+1022 got 0x1.a048d2820cp+1022 ulperr 105937222238208.000 = 0x1.8165bap+46 + -0x1.ff6812p-2
src/math/special/fma.h:170: RN fmal(0x1.3fbe544fe1be8p+1022,0x1.2d2a5fda03639p+2,-0x1.007407dbfd03cp+1023) want 0x1.efdb644b613e5p+1023 got -0x1.e14223656p+1022 ulperr -inf = -inf + -0x1.ffc3d8p-2
src/math/special/fma.h:171: RN fmal(0x1.263a0d3bc2e4p+1022,0x1.4cc198adbc651p+2,-0x1.734b1c1f7fdb8p+1023) want 0x1.899878afc0fa3p+1023 got 0x1.a13620448p+1023 ulperr 415454233362432.000 = 0x1.79da7ap+48 + 0x1.ff97b2p-2
src/math/special/fma.h:172: RN fmal(0x1.5bf4aec8efc8ep+1022,0x1.555f0341516c9p+2,-0x1.c706408acd14cp+1023) want 0x1.d8f5e18b868bdp+1023 got 0x1.3e5679fdf8p+1022 ulperr -5520279589617664.000 = -0x1.39caa4p+52 + 0x1.ffd836p-2
src/math/special/fma.h:173: RN fmal(0x1.1e57f1af78279p+1022,0x1.34bc0c7f082b3p+2,-0x1.497b92c1365edp+1023) want 0x1.692cb7ec68a93p+1023 got -0x1.c0a1f29b28p+1021 ulperr -8326959113175040.000 = -0x1.d95534p+52 + -0x1.ffe3f6p-2
src/math/special/fma.h:174: RN fmal(0x1.1d9824cd73511p+1022,0x1.1d557ddfe47ffp+2,-0x1.556cdb1d20a72p+1023) want 0x1.2736a6b6e35f3p+1023 got 0x1.bc6f9c9778p+1021 ulperr -3238800478175232.000 = -0x1.70358p+51 + 0x1.ffe43ap-2
src/math/special/fma.h:175: RN fmal(0x1.1ff85a24aff31p+1022,0x1.39ab374b2680dp+2,-0x1.35e6b07b651b8p+1023) want 0x1.8bc7ce2087081p+1023 got 0x1.84b319bafap+1023 ulperr -124568119279616.000 = -0x1.c52d1ap+46 + 0x1.ff9ed4p-2
src/math/special/fma.h:176: RN fmal(0x1.0449b3965227ep+1022,0x1.4430d4441f9f2p+2,-0x1.a6966c96307ep+1023) want 0x1.d94eda8c81771p+1022 got -0x1.992ed6b72p+1021 ulperr -11925733685329920.000 = -0x1.52f322p+53 + -0x1.ffccdap-2
src/math/special/fma.h:177: RN fmal(0x1.3c91fa00fd0c7p+1022,0x1.1b6661c0b0303p+2,-0x1.f1f2846b64483p+1023) want 0x1.95eae0d2644d3p+1022 got 0x1.9985d8eaap+1019 ulperr -6240425882943488.000 = -0x1.62ba26p+52 + -0x1.ff0cccp-2
src/math/special/fma.h:178: RN fmal(0x1.0979b36d46534p+1022,0x1.12fa205f41f7fp+2,-0x1.a83ecf4544a63p+1023) want 0x1.2420f34e2aa3dp+1022 got -0x1.335a0fe68p+1019 ulperr -5815056616914944.000 = -0x1.4a8c36p+52 + 0x1.ff099ap-2
src/math/special/fma.h:179: RN fmal(0x1.4c89df582a599p+1022,0x1.55f3dc473ea8fp+2,-0x1.e35037292ddfp+1023) want 0x1.95109fdbc3771p+1023 got -0x1.afa3b29624p+1022 ulperr -inf = -inf + -0x1.ffca0cp-2
src/math/special/fma.h:180: RN fmal(0x1.35ee0a669c4fbp+1022,0x1.2263cb63f386ap+2,-0x1.449218ae35ac7p+1023) want 0x1.7a8ed977d817bp+1023 got 0x1.47da9ddfb8p+1022 ulperr -3775828961787904.000 = -0x1.ad4316p+51 + 0x1.ffd704p-2
src/math/special/fma.h:181: RN fmal(0x1.117cc860f61bcp+1022,0x1.440985b25d994p+2,-0x1.d7a7d82000449p+1023) want 0x1.b960b7088e74fp+1022 got 0x1.ddfba372cp+1022 ulperr 643964982001664.000 = 0x1.24d764p+49 + -0x1.ff777ep-2
src/math/special/fma.h:182: RN fmal(0x1.1e78a37be320fp+1022,0x1.0db0fce62287bp+2,-0x1.376337da5eb53p+1023) want 0x1.24326b9956dfbp+1023 got -0x1.d2881b3596p+1023 ulperr -inf = -inf + -0x1.ff8b5ep-2
src/math/special/fma.h:183: RN fmal(0x1.0c79b5c8331c2p+1022,0x1.0aba6ea746b5p+2,-0x1.c86f1fcaf0741p+1023) want 0x1.9c135bb2cff85p+1021 got -0x1.cc298bacp+1019 ulperr -9273126449840128.000 = -0x1.078eep+53 + 0x1.fe1cc2p-2
src/math/special/fma.h:184: RN fmal(0x1.556c4c072f272p+1022,0x1.347758d7d4eb5p+2,-0x1.c6fe4f24b248dp+1023) want 0x1.6fcc9f756df6dp+1023 got -0x1.f6f4c76598p+1022 ulperr -inf = -inf + -0x1.ffc122p-2
src/math/special/fma.h:185: RN fmal(-0x1.e8349b891b2fp-1,0x1.4a6dec9b72578p-1,0x1.3b6151ce809ddp-1) want 0x1.3a62fe330b355p-11 got -0x1.d97121p-11 ulperr -13859627535958016.000 = -0x1.89ea1p+53 + -0x1.ff89a4p-2
src/math/special/fma.h:186: RN fmal(0x1.2996632ac7d74p-1,-0x1.bb3c58b654d94p-1,0x1.01a6660e64a31p-1) want 0x1.ed045bb956a8ep-15 got -0x1.070d62p-15 ulperr -13300911346548736.000 = -0x1.7a08dep+53 + -0x1.eabe3cp-2
src/math/special/fma.h:187: RN fmal(-0x1.c602e894c1df8p-1,0x1.a1c980e7d3f94p-1,0x1.7271244b43386p-1) want -0x1.ba251fe026e5bp-15 got -0x1.af2b6cp-15 ulperr 193081294979072.000 = 0x1.5f367cp+47 + 0x1.fa6bcap-2
src/math/special/fma.h:188: RN fmal(-0x1.c84baf47e85cp-1,0x1.770b5149ef2ep-1,0x1.4d80f139320bap-1) want -0x1.79277433b9e23p-10 got 0x1.d4b6fp-11 ulperr 10757822555881472.000 = 0x1.31c176p+53 + 0x1.ffc56ap-2
src/math/special/fma.h:189: RN fmal(-0x1.36e667dcf9c6p-1,0x1.2591f82556b88p-1,0x1.2452a0f795f95p-1) want 0x1.c83c8e63c159fp-3 got -0x1.221cccp-12 ulperr -8036166204915712.000 = -0x1.c8cd9cp+52 + -0x1.ffffdcp-2
src/math/special/fma.h:190: RN fmal(0x1.88b2cede61e4cp-1,-0x1.71dcab5ad9e9p-3,0x1.32b27fea2ae97p-3) want 0x1.70461909b25e2p-7 got -0x1.affe57fffffffp-17 ulperr -6486162973655040.000 = -0x1.70b218p+52 + -0x1.ffffe6p-2
src/math/special/fma.h:191: RN fmal(0x1.8d1e44002c98p-3,-0x1.af9fdfb347834p-1,0x1.e280942fb4146p-4) want -0x1.761ac23896dfdp-5 got 0x1.0bec48p-14 ulperr 6590522089013248.000 = 0x1.76a0b8p+52 + 0x1.ffffdep-2
src/math/special/fma.h:192: RN fmal(0x1.236e8cb9492c8p-1,-0x1.d37443a57f1c4p-1,0x1.ca10df801aabcp-4) want -0x1.a1a2cdf0138f9p-2 got 0x1.f090cab7p-5 ulperr 8439088898113536.000 = 0x1.dfb4e8p+52 + 0x1.fff07cp-2
src/math/special/fma.h:193: RN fmal(-0x1.6ad943e610fb8p-1,-0x1.cef92a7bb18bcp-1,0x1.f28587d8fb0ep-4) want 0x1.866b5204b9aecp-1 got -0x1.8c9eb9a7p-5 ulperr -7304415983697920.000 = -0x1.9f353ep+52 + -0x1.fff9cep-2
src/math/special/fma.h:194: RN fmal(-0x1.60a8569a5d894p-1,-0x1.ca07e29dd171cp-1,0x1.b6c475ace09ecp-4) want 0x1.72549291e2f7ap-1 got -0x1.b6fd181e8p-5 ulperr -6997593720619008.000 = -0x1.8dc464p+52 + -0x1.fff924p-2
src/math/special/fma.h:195: RN fmal(0x1.d1962720d678cp-1,-0x1.4548ee45c4084p-1,0x1.f416ab193d75cp-4) want -0x1.d2929879dc853p-2 got 0x1.fc38e6f4p-8 ulperr 8347731722502144.000 = 0x1.da837cp+52 + 0x1.fffe04p-2
src/math/special/fma.h:196: RN fmal(-0x1.9ddcb295a7d64p-1,0x1.67fb3a2068a78p-1,0x1.da9cd4597fe0ap-4) want -0x1.cf4f6eb4fc5d8p-2 got 0x1.59da5512p-6 ulperr 8530909930192896.000 = 0x1.e4ed14p+52 + 0x1.fffa98p-2
src/math/special/fma.h:197: RN fmal(0x1.c00d16ed45b88p+0,0x1.c787eddda3664p+0,0x1.1e3e6f0cc1802p-5) want 0x1.931b8f379dcc3p+1 got -0x1.63fb63b8p-6 ulperr -7140470639558656.000 = -0x1.95e386p+52 + -0x1.ffff4ep-2
src/math/special/fma.h:198: RN fmal(0x1.19c2a2372c184p+0,-0x1.cb506961c19fp+0,0x1.db1abf3f7ba3ap-6) want -0x1.f21c0eab0bc18p+0 got 0x1.a29607ffffff8p-13 ulperr 8763735812341760.000 = 0x1.f22924p+52 + 0x1.fffffcp-2
src/math/special/fma.h:199: RN fmal(-0x1.3a263218ccd1cp+0,-0x1.e818d390df27cp+0,0x1.2a81ed71785f5p-5) want 0x1.3025ab0f63925p+1 got -0x1.bfdf0b9cp-6 ulperr -5412168283455488.000 = -0x1.33a56ap+52 + -0x1.ffff2p-2
src/math/special/fma.h:200: RN fmal(0x1.b0b041fbaca58p+0,-0x1.9d5f76d178e6p+0,0x1.0215c7bb84cf9p-6) want -0x1.5b52aec7ef4p+1 got 0x1.6be7a78p-7 ulperr 6135177709355008.000 = 0x1.5cbe96p+52 + 0x1.ffffa6p-2
src/math/special/fma.h:201: RN fmal(-0x1.377549d9a87f4p+0,-0x1.a13d4a03dd6d8p+0,0x1.f190388bc5cc6p-7) want 0x1.ff83bebbd6fe4p+0 got -0x1.e5a6a44p-9 ulperr -9015347881443328.000 = -0x1.003b4ap+53 + -0x1.ffffc4p-2
src/math/special/fma.h:202: RN fmal(0x1.6a726c0762ac8p-1,-0x1.d32f2d30e483cp+0,0x1.f953eb70fbde6p-7) want -0x1.46c61b3070332p+0 got 0x1.e556e47fffffep-11 ulperr 5752835425697792.000 = 0x1.4702c6p+52 + 0x1.fffffp-2
src/math/special/fma.h:203: RN fmal(0x1.94cf2509d40cp-1,0x1.721976af6dfbp+0,0x1.f51a456921c3ep-7) want 0x1.28880842acc6p+0 got -0x1.effe1ep-8 ulperr -5250719389057024.000 = -0x1.2a7806p+52 + -0x1.ffff84p-2
src/math/special/fma.h:204: RN fmal(0x1.b128eb0ad8728p-1,0x1.7682566a54268p+0,0x1.bd4122a074cafp-8) want 0x1.3e9469530e762p+0 got -0x1.6fe0c7cp-9 ulperr -5617154187591680.000 = -0x1.3f4c5ap+52 + -0x1.ffffd2p-2
src/math/special/fma.h:205: RN fmal(0x1.c4ae75976e35cp+0,-0x1.11c329dd1160cp+0,0x1.9993f5e13c9bdp-8) want -0x1.e27d925b07cf1p+0 got 0x1.198edf6p-9 ulperr 8497737213411328.000 = 0x1.e30a5ap+52 + 0x1.ffffdcp-2
src/math/special/fma.h:206: RN fmal(-0x1.85f81f88fa3c4p+0,-0x1.17648a494fa18p-1,0x1.37d305113b48p-10) want 0x1.aa367b7490e57p-1 got -0x1.7a59ecffffffep-12 ulperr -7501265072291840.000 = -0x1.aa65c6p+52 + -0x1.fffff4p-2
src/math/special/fma.h:207: RN fmal(-0x1.311f2b4319efcp+0,0x1.abbb5272e3d18p-1,0x1.35841b7bdbcfep-10) want -0x1.fd337f24b39ep-1 got 0x1.4cbc317ffffffp-11 ulperr 8963677814259712.000 = 0x1.fd86aep+52 + 0x1.ffffecp-2
src/math/special/fma.h:208: RN fmal(0x1.ab94369a9a0dp-1,0x1.9d1e0e0aa3bacp+0,0x1.0a63ca87cfa78p-11) want 0x1.592173ee296b6p+0 got -0x1.fd8043ffffff8p-13 ulperr -6072697209487360.000 = -0x1.59316p+52 + -0x1.fffffcp-2
src/math/special/fma.h:250: RZ fmal(0x1p+0,0x1p+0,-0x1p-1074) want 0x1.fffffffffffffp-1 got -0x1.fffffp-43 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p+0
src/math/special/fma.h:251: bad fp exception: RZ fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022)=0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:251: RZ fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.fffffffffffffp-1022 got 0x0p+0 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x0p+0
src/math/special/fma.h:252: bad fp exception: RZ fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022)=0x1.ffffffffffffep-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:252: RZ fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.ffffffffffffep-1022 got -0x0p+0 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p+0
src/math/special/fma.h:253: bad fp exception: RZ fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:253: RZ fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.fffffffffffffp-1022 got -0x0p+0 ulperr 9007198717870080.000 = 0x1.fffffep+52 + 0x0p+0
src/math/special/fma.h:254: bad fp exception: RZ fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.ffffffffffffep-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:254: RZ fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.ffffffffffffep-1022 got 0x0p+0 ulperr 9007198717870080.000 = 0x1.fffffcp+52 + 0x1p+0
src/math/special/fma.h:255: RZ fmal(0x1p-1074,-0x1p-1074,0x1p-1074) want 0x0p+0 got -0x0p+0 ulperr inf = inf + -0x1p+0
src/math/special/fma.h:256: RZ fmal(0x1p-1074,-0x1p-1074,-0x1p-1074) want -0x1p-1074 got -0x0p+0 ulperr 1.000 = 0x1p+0 + 0x0p+0
src/math/special/fma.h:257: RZ fmal(0x1.0000000000001p+0,0x1p+0,0x1p+53) want 0x1p+53 got 0x1.000008p+12 ulperr -4503599358935040.000 = -0x1.fffffcp+51 + -0x1p-1
src/math/special/fma.h:258: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p+53) want 0x1p+53 got 0x1.ffc02p+10 ulperr -4503599358935040.000 = -0x1.fffffcp+51 + -0x1p-1
src/math/special/fma.h:259: RZ fmal(0x1p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp+53) want 0x1.fffffffffffffp+53 got -0x1.ffffep+10 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:260: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep+53) want 0x1.ffffffffffffep+53 got 0x1.ffc02p+10 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:261: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p-52) want 0x1.0000000000001p+0 got -0x1.fffffp-42 ulperr -4503599627370496.000 = -0x1.fffffep+51 + -0x1p-1
src/math/special/fma.h:262: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp-53) want 0x1.0000000000001p+0 got -0x1.fffff8p-41 ulperr -4503599627370496.000 = -0x1.fffffep+51 + -0x1p-1
src/math/special/fma.h:263: RZ fmal(0x1.0000000000005p+0,0x1.ffffffffffffbp-1,0x1p-52) want 0x1.0000000000003p+0 got -0x1.8fffff8p-37 ulperr -4503599627370496.000 = -0x1.fffffep+51 + -0x1p-1
src/math/special/fma.h:264: RZ fmal(0x1.0000000000006p+0,0x1.ffffffffffffdp-1,0x1p-52) want 0x1.0000000000005p+0 got -0x1.1fffff8p-37 ulperr -4503599627370496.000 = -0x1.fffffep+51 + -0x1p-1
src/math/special/fma.h:283: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff4p+0 got 0x1.6800008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:284: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1p+0) want 0x1.ffffffffffff8p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:285: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffff6p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:286: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffff4p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:287: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffff6p+0 got 0x1.f800008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:288: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffff4p+0 got 0x1.f800008p-37 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:289: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffff6p+0 got 0x1.2000004p-36 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:290: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffff4p+0 got 0x1.2000004p-36 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:291: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.fffffffffffffp-1) want 0x1.ffffffffffff6p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:292: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffff4p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:293: RZ fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff2p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1p-1
src/math/special/fma.h:294: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep-1) want 0x1.fffffffffffffp+0 got -0x1.fffffp-42 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:295: RZ fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffp-42 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:296: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.fffffffffffffp-1) want 0x1.fffffffffffffp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:297: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:298: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:299: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1p+0) want 0x1.fffffffffffffp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:300: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:301: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:302: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:303: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:304: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffffdp+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:305: RZ fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffbp+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1.fffffep+52 + -0x1p-1
src/math/special/fma.h:306: RZ fmal(0x1.5872449b765b9p+0,0x1.c9acf91f8de2bp+0,0x1.9265607e4d168p+0) want 0x1.fd190c77c2a67p+1 got -0x1.b3fc37becffffp-4 ulperr -9195828849672192.000 = -0x1.055c74p+53 + -0x1.fffc98p-2
src/math/special/fma.h:307: RZ fmal(0x1.81d010b146d0ep+0,0x1.2d3c680dc9071p+0,0x1.a80b69538754cp+0) want 0x1.b7040b44973a6p+1 got 0x1.4d0cb20197p+1 ulperr -1864177136173056.000 = -0x1.a7dd62p+50 + -0x1.0029a2p-1
src/math/special/fma.h:308: RZ fmal(0x1.6a44f2252b6a2p+0,0x1.da452a378b832p+0,0x1.1fe2ce329104p+0) want 0x1.df842b6f48b12p+1 got 0x1.12e95c1ba4p+0 ulperr -6017591705337856.000 = -0x1.560f7ap+52 + -0x1.00112ep-1
src/math/special/fma.h:309: RZ fmal(0x1.096b1d26463eep+0,0x1.d846d3e34333p+0,0x1.721e3480922b8p+0) want 0x1.ade2909c0269fp+1 got -0x1.a139d9b2bffffp-1 ulperr -9397595675820032.000 = -0x1.0b188p+53 + -0x1.ffe5ecp-2
src/math/special/fma.h:310: RZ fmal(0x1.99bd3434c454bp+0,0x1.03cb8e4115bdep+0,0x1.109f107188b08p+0) want 0x1.5837a47d37faep+1 got 0x1.cfdec0c00ap+0 ulperr -1975290892910592.000 = -0x1.c1210ep+50 + -0x1.001cfep-1
src/math/special/fma.h:311: RZ fmal(0x1.ba930a0a78ed2p+0,0x1.8c24e8d67f636p+0,0x1.ac49dbfbf8affp+0) want 0x1.164947ae6a5d9p+2 got -0x1.33e3b04ecffffp-2 ulperr -5234191281160192.000 = -0x1.29878p+52 + -0x1.fffb3p-2
src/math/special/fma.h:312: RZ fmal(0x1.be224ad773191p+0,0x1.d96b77169731fp+0,0x1.662cfb75d8edep+0) want 0x1.27cd67e720f78p+2 got 0x1.e4711611c78p+1 ulperr -942615600037888.000 = -0x1.aca6e4p+49 + -0x1.001e48p-1
src/math/special/fma.h:313: RZ fmal(0x1.59e7a1b0bdb3cp+0,0x1.2decba4d46421p+0,0x1.88f4062e96df5p+0) want 0x1.90749e4794f79p+1 got -0x1.b3c84a9a87fffp-1 ulperr -8961479327875072.000 = -0x1.fd66aep+52 + -0x1.ffe4c4p-2
src/math/special/fma.h:314: RZ fmal(0x1.22edf4b4da9a7p+0,0x1.dfa8d65f506cdp+0,0x1.2799208da2fbap+0) want 0x1.a45a1e99ed7a8p+1 got 0x1.a0bdfb8976p-1 ulperr -5562059420860416.000 = -0x1.3c2a9cp+52 + -0x1.000d06p-1
src/math/special/fma.h:315: RZ fmal(0x1.ad5b991a2a279p+0,0x1.f02fd26706024p+0,0x1.831cdd5c8797cp+0) want 0x1.30d3a2ac90a6p+2 got 0x1.c7c15e1c82p+1 ulperr -1353701616779264.000 = -0x1.33cbccp+50 + -0x1.001c7cp-1
src/math/special/fma.h:316: RZ fmal(0x1.531f9620e764ap+0,0x1.cad61b54d4425p+0,0x1.df817cae8a9afp+0) want 0x1.0fd4e7f8671dcp+2 got 0x1.8e74e26059p+1 ulperr -1277252004216832.000 = -0x1.2269d8p+50 + -0x1.0018e8p-1
src/math/special/fma.h:317: RZ fmal(0x1.629a5ad79494fp+0,0x1.049e58693f4c4p+0,0x1.45b0109e4d00cp+0) want 0x1.5758154e14965p+1 got -0x1.01173c9c1ffffp-3 ulperr -6322846842224640.000 = -0x1.676986p+52 + -0x1.fffbfcp-2
src/math/special/fma.h:318: RZ fmal(0x1.2f52b53f9240ap+0,0x1.1d5c686dbb0dap+0,0x1.6da3e392a4fd4p+0) want 0x1.5fe03a6795912p+1 got 0x1.5bdb7d9084p+0 ulperr -3130480060792832.000 = -0x1.63e4f4p+51 + -0x1.0015bep-1
src/math/special/fma.h:319: RZ fmal(0x1.058667552b49ep+0,0x1.23307bacc1c42p+0,0x1.5b059b47cd8f5p+0) want 0x1.423f752486d13p+1 got -0x1.4bfb042743fffp+0 ulperr -8589175993401344.000 = -0x1.e83cf4p+52 + -0x1.ffd68p-2
src/math/special/fma.h:320: RZ fmal(0x1.a717d95337ed8p+0,0x1.2b1c37846aaadp+0,0x1.be65672f885b1p+0) want 0x1.d65e72303c075p+1 got -0x1.7e0573ec03fffp+1 ulperr -14995406941323264.000 = -0x1.aa31fp+53 + -0x1.ffa07ep-2
src/math/special/fma.h:321: RZ fmal(0x1.deb79287b3d32p+0,0x1.62776b829babap+0,0x1.67daf18bd2eb1p+0) want 0x1.ff5a0d45c69d6p+1 got 0x1.ad881652ap-3 ulperr -8523519902089216.000 = -0x1.e48188p+52 + -0x1.00035cp-1
src/math/special/fma.h:322: RZ fmal(0x1.fbf12d3a6de91p+0,0x1.879fe6124f11p+0,0x1.9f3f1247a8641p+0) want 0x1.2a126c6980018p+2 got 0x1.45e3d61a84p+2 ulperr 489379747332096.000 = 0x1.bd169ap+48 + -0x1.0028bcp-1
src/math/special/fma.h:323: RZ fmal(0x1.c589628460e01p+0,0x1.e1bec1c797533p+0,0x1.349f30cdb84bbp+0) want 0x1.2286118b6f6e5p+2 got -0x1.8e9d95e0667ffp+1 ulperr -8617206560587776.000 = -0x1.e9d4dap+52 + -0x1.ffce2cp-2
src/math/special/fma.h:324: RZ fmal(0x1.46fd6c2c924ebp+0,0x1.65e2f02e730a1p+0,0x1.37739d2751098p+0) want 0x1.804a71c1f1272p+1 got 0x1.855d7947cbp+0 ulperr -3335623268106240.000 = -0x1.7b3768p+51 + -0x1.001856p-1
src/math/special/fma.h:325: RZ fmal(0x1.f99e595ae11fdp+0,0x1.bd33d9a1d81bp+0,0x1.932a2a2e244c1p+0) want 0x1.409e34f8f2f89p+2 got -0x1.7a49668943fffp+2 ulperr -12295260860317696.000 = -0x1.5d73cap+53 + -0x1.ffa16ep-2
src/math/special/fma.h:326: RZ fmal(0x1.59ea1e56bfe55p+0,0x1.6f46b7d412a44p+0,0x1.80f2bc9a32cc3p+0) want 0x1.b89c7640e32ffp+1 got -0x1.ca180bfb5ffffp-3 ulperr -8254993178034176.000 = -0x1.d53df4p+52 + -0x1.fff8d8p-2
src/math/special/fma.h:327: RZ fmal(0x1.61490fcb44129p+0,0x1.0038ec4fc35c2p+0,0x1.df7436ed7a7b7p+0) want 0x1.a085ea68d05cfp+1 got -0x1.5ed2c690f6fffp+1 ulperr -13499301254660096.000 = -0x1.7fac56p+53 + -0x1.ffa84cp-2
src/math/special/fma.h:328: RZ fmal(0x1.d41b98788502bp+0,0x1.1a7b77843aca6p+0,0x1.05be891837d36p+0) want 0x1.8523596ceced9p+1 got -0x1.48c8fc403bfffp-1 ulperr -8291801584631808.000 = -0x1.d75596p+52 + -0x1.ffeb74p-2
src/math/special/fma.h:329: RZ fmal(0x1.3153cf6f69af9p+0,0x1.aaa947e38e57ap+0,0x1.8519f9b590645p+0) want 0x1.c0fcab7b46368p+1 got 0x1.25f4f4bd5p-3 ulperr -7575453653008384.000 = -0x1.ae9d5ap+52 + -0x1.00024cp-1
src/math/special/fma.h:330: RZ fmal(0x1.c25a1f73581aap+0,0x1.0a51ffca372ap+0,0x1.0c77e3ebac5f3p+0) want 0x1.707ce48c7d72dp+1 got -0x1.3261c9a0dffffp+1 ulperr -11872435288670208.000 = -0x1.516f54p+53 + -0x1.ffb368p-2
src/math/special/fma.h:331: RZ fmal(0x1.829c2cde44b7p+0,0x1.f692e86d8cb36p+0,0x1.455e72d264bfp+0) want 0x1.0f16a3b8b3f97p+2 got -0x1.684386465ffffp+0 ulperr -6353494655107072.000 = -0x1.692782p+52 + -0x1.ffe97cp-2
src/math/special/fma.h:332: RZ fmal(0x1.94729588dcc69p+0,0x1.c3bb794c6edf8p+0,0x1.9da4e94d262d2p+0) want 0x1.19d4bd84d9fd2p+2 got 0x1.e1b9a2757p-1 ulperr -3898698849320960.000 = -0x1.bb3b1p+51 + -0x1.000786p-1
src/math/special/fma.h:333: RZ fmal(0x1.e6a5e7e39c3d5p+0,0x1.1b69af2bdd978p+0,0x1.e7ef1eafa119cp+0) want 0x1.00ac5b44c9f31p+2 got -0x1.6777d5d393fffp+1 ulperr -7677358731427840.000 = -0x1.b46844p+52 + -0x1.ffd312p-2
src/math/special/fma.h:334: bad fp exception: RZ fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022)=0x1.b594d0e4368efp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:334: RZ fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022) want 0x1.b594d0e4368efp-1022 got -0x1.9dedc9560fffep-1023 ulperr -11338968138252288.000 = -0x1.4245d8p+53 + -0x1.ffcc42p-2
src/math/special/fma.h:335: RZ fmal(0x1.022db53c98d14p-1022,0x1.21157eef74848p-2,0x1.2f880432b1bc1p-1022) want 0x1.786ad60a02b3dp-1022 got -0x1.150255ac97fffp-1022 ulperr -11495198647386112.000 = -0x1.46b692p+53 + -0x1.ffbacp-2
src/math/special/fma.h:336: bad fp exception: RZ fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022)=0x1.cbb085199a3f5p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:336: RZ fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022) want 0x1.cbb085199a3f5p-1022 got -0x1.6ed115da2f7fep-1023 ulperr -11313497908445184.000 = -0x1.418c86p+53 + -0x1.ffd226p-2
src/math/special/fma.h:337: RZ fmal(0x1.adbc3a9d816dep-1022,0x1.e039d4431e3cdp-2,0x1.93ceef6fe18a2p-1022) want 0x1.2eabb7dc0e2fp-1021 got 0x1.ef7b6794e3p-1023 ulperr -3145487213395968.000 = -0x1.6599b8p+51 + -0x1.000f7cp-1
src/math/special/fma.h:338: RZ fmal(0x1.645aa5c2df3afp-1022,0x1.649edfcad854fp-2,0x1.8b43e0bbaeb01p-1022) want 0x1.03af571d2b504p-1021 got 0x1.0ce86163c02p-1021 ulperr 162249436037120.000 = 0x1.272148p+47 + -0x1.00219ep-1
src/math/special/fma.h:339: bad fp exception: RZ fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022)=0x1.ad9ce7fcefa3fp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:339: RZ fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022) want 0x1.ad9ce7fcefa3fp-1022 got -0x1.12bc4931e5ff8p-1025 ulperr -8161979755659264.000 = -0x1.cff46ep+52 + -0x1.fff76ap-2
src/math/special/fma.h:340: RZ fmal(0x1.8ee3feb00c3e7p-1022,0x1.53bd9353313bcp-2,0x1.5501b57dc3b6fp-1022) want 0x1.d9598906f0bb3p-1022 got -0x1.4660b83f56fffp-1022 ulperr -14068955652030464.000 = -0x1.8fdd1ep+53 + -0x1.ffae68p-2
src/math/special/fma.h:341: RZ fmal(0x1.161225cfa61e2p-1022,0x1.b6dd69a0af5bp-2,0x1.924ffc3ead5c3p-1022) want 0x1.04be6fc25367bp-1021 got -0x1.f3ab56daa7fffp-1022 ulperr -8982192344530944.000 = -0x1.fe9418p+52 + -0x1.ffc18ap-2
src/math/special/fma.h:342: bad fp exception: RZ fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022)=0x1.70b6c3169f043p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:342: RZ fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022) want 0x1.70b6c3169f043p-1022 got -0x1.a779baefbe7fep-1023 ulperr -10211413595258880.000 = -0x1.2239cep+53 + -0x1.ffcb1p-2
src/math/special/fma.h:343: RZ fmal(0x1.ce0e2ea55040ep-1022,0x1.ce5a55fa3828dp-2,0x1.f2f444d50ce59p-1022) want 0x1.61ca36f5a8a79p-1021 got -0x1.173f0cea127ffp-1022 ulperr -8680213730820096.000 = -0x1.ed69bap+52 + -0x1.ffdd18p-2
src/math/special/fma.h:344: bad fp exception: RZ fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022)=0x1.1440cf1c105ebp-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:344: RZ fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022) want 0x1.1440cf1c105ebp-1021 got -0x1.f88fda5ffffp-1030 ulperr -4877233327964160.000 = -0x1.153d14p+52 + -0x1.ffffcp-2
src/math/special/fma.h:345: bad fp exception: RZ fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022)=0x1.1186e1f77012dp-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:345: RZ fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022) want 0x1.1186e1f77012dp-1021 got -0x1.2ffba526fbff8p-1025 ulperr -5146168610783232.000 = -0x1.24869ap+52 + -0x1.fffb4p-2
src/math/special/fma.h:346: bad fp exception: RZ fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022)=0x1.8d86310bad175p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:346: RZ fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022) want 0x1.8d86310bad175p-1022 got -0x1.1b755c367f7fep-1023 ulperr -9486645380251648.000 = -0x1.0da06cp+53 + -0x1.ffdc92p-2
src/math/special/fma.h:347: RZ fmal(0x1.fb3391a4b1d23p-1022,0x1.4d8705b057caep-2,0x1.d026cb6dae73bp-1022) want 0x1.3aad18b424c67p-1021 got -0x1.0a1784c7c6bffp-1021 ulperr -10216978799132672.000 = -0x1.22624cp+53 + -0x1.ffbd7ap-2
src/math/special/fma.h:348: bad fp exception: RZ fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022)=0x1.c0048fd33a417p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:348: RZ fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022) want 0x1.c0048fd33a417p-1022 got -0x1.d026e457f0ffcp-1024 ulperr -9922974329077760.000 = -0x1.1a0722p+53 + -0x1.ffe2fep-2
src/math/special/fma.h:349: RZ fmal(0x1.aa9eff070281cp-1022,0x1.fab05661b48ebp-2,0x1.cbe2af6c69c6ep-1022) want 0x1.4f7ddbe122764p-1021 got 0x1.9e529858dap-1023 ulperr -4079820841418752.000 = -0x1.cfd268p+51 + -0x1.000cf2p-1
src/math/special/fma.h:350: bad fp exception: RZ fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022)=0x1.e0e762ee2e7c5p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:350: RZ fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022) want 0x1.e0e762ee2e7c5p-1022 got -0x1.e2fe0f96ebffep-1023 ulperr -12708595627982848.000 = -0x1.693332p+53 + -0x1.ffc3ap-2
src/math/special/fma.h:351: RZ fmal(0x1.4dab43918a9a8p-1022,0x1.ed667442b4751p-2,0x1.3f25f82e02e3ep-1022) want 0x1.dfec0ee732dcap-1022 got 0x1.6a41c4d18ap-1022 ulperr -2069987942465536.000 = -0x1.d6a926p+50 + -0x1.002d48p-1
src/math/special/fma.h:352: RZ fmal(0x1.7943735951931p-1022,0x1.fa6a357c5c9ddp-2,0x1.0bed44b0b71b4p-1022) want 0x1.c6803a6059abep-1022 got 0x1.0e970cce134p-1022 ulperr -3235393763803136.000 = -0x1.6fd258p+51 + -0x1.0021d2p-1
src/math/special/fma.h:353: bad fp exception: RZ fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022)=0x1.8640492c45959p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:353: RZ fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022) want 0x1.8640492c45959p-1022 got -0x1.3271a1b37ffep-1027 ulperr -7033839486500864.000 = -0x1.8fd3d4p+52 + -0x1.fffd9cp-2
src/math/special/fma.h:354: RZ fmal(0x1.f52172c56bdf5p-1022,0x1.672b2de422734p-2,0x1.7bc5d708e5a34p-1022) want 0x1.15c5b95145cc6p-1021 got 0x1.3cf4f71d188p-1021 ulperr 689341647028224.000 = 0x1.3979eep+49 + -0x1.00279ep-1
src/math/special/fma.h:355: bad fp exception: RZ fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022)=0x1.e7fa0dd76fbefp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:355: RZ fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022) want 0x1.e7fa0dd76fbefp-1022 got -0x1.60a5d541afffcp-1024 ulperr -10135538703007744.000 = -0x1.2011bep+53 + -0x1.ffe9f6p-2
src/math/special/fma.h:356: bad fp exception: RZ fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022)=0x1.b63a7f56fce1fp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:356: RZ fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022) want 0x1.b63a7f56fce1fp-1022 got -0x1.497a9bc51fffcp-1024 ulperr -9158460486713344.000 = -0x1.044c9p+53 + -0x1.ffeb68p-2
src/math/special/fma.h:357: RZ fmal(0x1.f73d5f4e81fd8p-1022,0x1.7ccff2642124ap-2,0x1.e7d836a0c8308p-1022) want 0x1.517f1763126d3p-1021 got -0x1.06939f3371fffp-1021 ulperr -10556596895612928.000 = -0x1.2c0958p+53 + -0x1.ffbe5cp-2
src/math/special/fma.h:358: RZ fmal(0x1.b4328925969fbp-1022,0x1.8fa02832a22d5p-2,0x1.2084598e2f8c6p-1022) want 0x1.cabf43838dc51p-1022 got -0x1.7c61d65f0a3ffp-1022 ulperr -14762118276448256.000 = -0x1.a3908ap+53 + -0x1.ffa0e8p-2
src/math/special/fma.h:359: RZ fmal(0x1.66ee60a92676fp-1022,0x1.eddd2e7681ce4p-2,0x1.b81d57daeb3a7p-1022) want 0x1.329c918ffb682p-1021 got 0x1.cd379885b8p-1025 ulperr -4886854591578112.000 = -0x1.15c916p+52 + -0x1.00039ap-1
src/math/special/fma.h:360: RZ fmal(0x1.ff2737585895dp-1022,0x1.fb4bf3828ae4ap-2,0x1.4a866847740fp-1022) want 0x1.23e07e4dbbeaap-1021 got 0x1.46c53f7571p-1023 ulperr -3697601232764928.000 = -0x1.a45e5ap+51 + -0x1.000a36p-1
src/math/special/fma.h:361: RZ fmal(0x1.5e2008d269a86p-1022,0x1.507bbbe4d78eep-2,0x1.6220c6f83f636p-1022) want 0x1.d52d9874f1c74p-1022 got 0x1.eda0503c4ap-1023 ulperr -3911886277967872.000 = -0x1.bcbadep+51 + -0x1.001edap-1
src/math/special/fma.h:362: bad fp exception: RZ fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022)=0x1.9864925e2fb0fp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:362: RZ fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022) want 0x1.9864925e2fb0fp-1022 got -0x1.53ae580e8bff8p-1025 ulperr -7931489261977600.000 = -0x1.c2da5ap+52 + -0x1.fff562p-2
src/math/special/fma.h:363: RZ fmal(0x1.7b353b81e793dp-1022,0x1.82b426f874c6dp-2,0x1.d92b19d21fd5cp-1022) want 0x1.342fb0c544a78p-1021 got 0x1.2af4c8aebe4p-1022 ulperr -2792024021401600.000 = -0x1.3d6a96p+51 + -0x1.0012bp-1
src/math/special/fma.h:364: RZ fmal(0x1.5be667823370ap-1022,0x1.a8a99b163869bp-2,0x1.95456b68dc3bcp-1022) want 0x1.12c638de03c7p-1021 got 0x1.49af7fc787p-1023 ulperr -3383908095754240.000 = -0x1.80b4aep+51 + -0x1.000a4ep-1
src/math/special/fma.h:365: RZ fmal(0x1.17b0fc6c850e5p-1022,0x1.d1d0a4853c315p-2,0x1.36b79f7c0c24p-1022) want 0x1.b5f2baff5635cp-1022 got 0x1.6a19304724p-1026 ulperr -7306333686595584.000 = -0x1.9f5124p+52 + -0x1.0002d4p-1
src/math/special/fma.h:366: RZ fmal(0x1.bd97819bacfd8p-1022,0x1.2c25f267ba4eep-2,0x1.804b5204a3f3ap-1022) want 0x1.01739c190fd96p-1021 got 0x1.b9e166e6b4p-1022 ulperr -642314640818176.000 = -0x1.241742p+49 + -0x1.001b9ep-1
src/math/special/fma.h:367: RZ fmal(0x1.596577053873dp-1022,0x1.3562ab2d29949p-2,0x1.b3f1ee75db6e7p-1022) want 0x1.0e268a498009ap-1021 got 0x1.e8136bc1594p-1022 ulperr -459377991483392.000 = -0x1.a1cd44p+48 + -0x1.001e82p-1
src/math/special/fma.h:368: RZ fmal(0x1.3c7a68cf0f7b3p-1022,0x1.9a55c15b167bdp-2,0x1.7635b7b163c07p-1022) want 0x1.f5073b93b7b8p-1022 got 0x1.75f9a972138p-1023 ulperr -5524660993130496.000 = -0x1.3a0a64p+52 + -0x1.00176p-1
src/math/special/fma.h:369: RZ fmal(0x1.5825164bc4068p-1022,0x1.dcbb6e5ff3245p-2,0x1.52fc3be0e84dap-1022) want 0x1.f334771c2dcfap-1022 got 0x1.2b86ba6b02p-1022 ulperr -3512783958179840.000 = -0x1.8f5b76p+51 + -0x1.00257p-1
src/math/special/fma.h:370: RZ fmal(0x1.139ea77b760ecp+1022,0x1.9b25f2fd017eap+2,-0x1.bc16788922b6fp+1023) want 0x1.b93aac527380ep+1023 got 0x1.c3ec4f2eep+1022 ulperr -3787028357447680.000 = -0x1.ae8906p+51 + -0x1.001c3ep-1
src/math/special/fma.h:371: RZ fmal(0x1.0e6f9c1657d7cp+1022,0x1.4d5c6b55ab5f1p+2,-0x1.e027dd5742e2cp+1023) want 0x1.c0538372b4bbep+1022 got 0x1.54dede6dep+1021 ulperr -4888708943708160.000 = -0x1.15e412p+52 + -0x1.00154ep-1
src/math/special/fma.h:372: RZ fmal(0x1.1182524fa411cp+1022,0x1.a3dba56842d19p+2,-0x1.c1ad59474d71fp+1023) want 0x1.bf78969300a76p+1023 got 0x1.8651491efp+1022 ulperr -4438724683235328.000 = -0x1.f89fe2p+51 + -0x1.001866p-1
src/math/special/fma.h:373: RZ fmal(0x1.1cbf4fb8ec82p+1022,0x1.5e32019a84fbbp+2,-0x1.985af08f32edep+1023) want 0x1.72af6bbad4a28p+1023 got 0x1.a68c1c1ecp+1023 ulperr 912367084896256.000 = 0x1.9ee582p+49 + -0x1.0034d2p-1
src/math/special/fma.h:374: RZ fmal(0x1.311e25c6db346p+1022,0x1.4e30db6c4b51dp+2,-0x1.7681f7a9786a7p+1023) want 0x1.a61d29434fc13p+1023 got -0x1.791d1988fffffp+1017 ulperr -7529566222417920.000 = -0x1.ac019ap+52 + -0x1.fffe86p-2
src/math/special/fma.h:375: RZ fmal(0x1.1201cf577052fp+1022,0x1.59730b2db7a16p+2,-0x1.56f1a64a078d5p+1023) want 0x1.8c8d801df34d9p+1023 got -0x1.3048609fd7fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ffd9f6p-2
src/math/special/fma.h:376: RZ fmal(0x1.3e52335b76e81p+1022,0x1.4dbd56f857479p+2,-0x1.509340c11bd2ep+1023) want 0x1.ed6576837f653p+1023 got -0x1.e498d5441bfffp+1022 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ffc36cp-2
src/math/special/fma.h:377: RZ fmal(0x1.18566b4f843cbp+1022,0x1.444fba10eaf29p+2,-0x1.f927beae57f0ap+1023) want 0x1.9a433b9796559p+1022 got 0x1.a048d2820cp+1022 ulperr 105937222238208.000 = 0x1.8165bap+46 + -0x1.ff6812p-2
src/math/special/fma.h:378: RZ fmal(0x1.3fbe544fe1be8p+1022,0x1.2d2a5fda03639p+2,-0x1.007407dbfd03cp+1023) want 0x1.efdb644b613e5p+1023 got -0x1.e14223655ffffp+1022 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ffc3d8p-2
src/math/special/fma.h:379: RZ fmal(0x1.263a0d3bc2e4p+1022,0x1.4cc198adbc651p+2,-0x1.734b1c1f7fdb8p+1023) want 0x1.899878afc0fa2p+1023 got 0x1.a13620448p+1023 ulperr 415454199808000.000 = 0x1.79da78p+48 + -0x1.003426p-1
src/math/special/fma.h:380: RZ fmal(0x1.5bf4aec8efc8ep+1022,0x1.555f0341516c9p+2,-0x1.c706408acd14cp+1023) want 0x1.d8f5e18b868bcp+1023 got 0x1.3e5679fdf8p+1022 ulperr -5520279589617664.000 = -0x1.39caa2p+52 + -0x1.0013e6p-1
src/math/special/fma.h:381: RZ fmal(0x1.1e57f1af78279p+1022,0x1.34bc0c7f082b3p+2,-0x1.497b92c1365edp+1023) want 0x1.692cb7ec68a93p+1023 got -0x1.c0a1f29b27fffp+1021 ulperr -8326959113175040.000 = -0x1.d95532p+52 + -0x1.ffe3f6p-2
src/math/special/fma.h:382: RZ fmal(0x1.1d9824cd73511p+1022,0x1.1d557ddfe47ffp+2,-0x1.556cdb1d20a72p+1023) want 0x1.2736a6b6e35f2p+1023 got 0x1.bc6f9c9778p+1021 ulperr -3238800209739776.000 = -0x1.70357cp+51 + -0x1.000de4p-1
src/math/special/fma.h:383: RZ fmal(0x1.1ff85a24aff31p+1022,0x1.39ab374b2680dp+2,-0x1.35e6b07b651b8p+1023) want 0x1.8bc7ce208708p+1023 got 0x1.84b319bafap+1023 ulperr -124568110891008.000 = -0x1.c52d16p+46 + -0x1.003096p-1
src/math/special/fma.h:384: RZ fmal(0x1.0449b3965227ep+1022,0x1.4430d4441f9f2p+2,-0x1.a6966c96307ep+1023) want 0x1.d94eda8c81771p+1022 got -0x1.992ed6b71ffffp+1021 ulperr -11925733685329920.000 = -0x1.52f32p+53 + -0x1.ffccdap-2
src/math/special/fma.h:385: RZ fmal(0x1.3c91fa00fd0c7p+1022,0x1.1b6661c0b0303p+2,-0x1.f1f2846b64483p+1023) want 0x1.95eae0d2644d3p+1022 got 0x1.9985d8eaap+1019 ulperr -6240425346072576.000 = -0x1.62ba22p+52 + -0x1.ff0cccp-2
src/math/special/fma.h:386: RZ fmal(0x1.0979b36d46534p+1022,0x1.12fa205f41f7fp+2,-0x1.a83ecf4544a63p+1023) want 0x1.2420f34e2aa3cp+1022 got -0x1.335a0fe67ffffp+1019 ulperr -5815056080044032.000 = -0x1.4a8c32p+52 + -0x1.007b32p-1
src/math/special/fma.h:387: RZ fmal(0x1.4c89df582a599p+1022,0x1.55f3dc473ea8fp+2,-0x1.e35037292ddfp+1023) want 0x1.95109fdbc3771p+1023 got -0x1.afa3b29623fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ffca0cp-2
src/math/special/fma.h:388: RZ fmal(0x1.35ee0a669c4fbp+1022,0x1.2263cb63f386ap+2,-0x1.449218ae35ac7p+1023) want 0x1.7a8ed977d817ap+1023 got 0x1.47da9ddfb8p+1022 ulperr -3775828693352448.000 = -0x1.ad4312p+51 + -0x1.00147ep-1
src/math/special/fma.h:389: RZ fmal(0x1.117cc860f61bcp+1022,0x1.440985b25d994p+2,-0x1.d7a7d82000449p+1023) want 0x1.b960b7088e74fp+1022 got 0x1.ddfba372cp+1022 ulperr 643964914892800.000 = 0x1.24d762p+49 + -0x1.ff777ep-2
src/math/special/fma.h:390: RZ fmal(0x1.1e78a37be320fp+1022,0x1.0db0fce62287bp+2,-0x1.376337da5eb53p+1023) want 0x1.24326b9956dfbp+1023 got -0x1.d2881b3595fffp+1023 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ff8b5ep-2
src/math/special/fma.h:391: RZ fmal(0x1.0c79b5c8331c2p+1022,0x1.0aba6ea746b5p+2,-0x1.c86f1fcaf0741p+1023) want 0x1.9c135bb2cff84p+1021 got -0x1.cc298babfffffp+1019 ulperr -9273125376098304.000 = -0x1.078edcp+53 + -0x1.00f19ep-1
src/math/special/fma.h:392: RZ fmal(0x1.556c4c072f272p+1022,0x1.347758d7d4eb5p+2,-0x1.c6fe4f24b248dp+1023) want 0x1.6fcc9f756df6dp+1023 got -0x1.f6f4c76597fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffcp+52 + -0x1.ffc122p-2
src/math/special/fma.h:393: RZ fmal(-0x1.e8349b891b2fp-1,0x1.4a6dec9b72578p-1,0x1.3b6151ce809ddp-1) want 0x1.3a62fe330b355p-11 got -0x1.d97120fffffffp-11 ulperr -13859626462216192.000 = -0x1.89ea0cp+53 + -0x1.ff89a4p-2
src/math/special/fma.h:394: RZ fmal(0x1.2996632ac7d74p-1,-0x1.bb3c58b654d94p-1,0x1.01a6660e64a31p-1) want 0x1.ed045bb956a8ep-15 got -0x1.070d61fffffffp-15 ulperr -13300911346548736.000 = -0x1.7a08dcp+53 + -0x1.eabe3cp-2
src/math/special/fma.h:395: RZ fmal(-0x1.c602e894c1df8p-1,0x1.a1c980e7d3f94p-1,0x1.7271244b43386p-1) want -0x1.ba251fe026e5bp-15 got -0x1.af2b6cp-15 ulperr 193081294979072.000 = 0x1.5f367ap+47 + 0x1.fa6bcap-2
src/math/special/fma.h:396: RZ fmal(-0x1.c84baf47e85cp-1,0x1.770b5149ef2ep-1,0x1.4d80f139320bap-1) want -0x1.79277433b9e23p-10 got 0x1.d4b6effffffffp-11 ulperr 10757822555881472.000 = 0x1.31c174p+53 + 0x1.ffc56ap-2
src/math/special/fma.h:397: RZ fmal(-0x1.36e667dcf9c6p-1,0x1.2591f82556b88p-1,0x1.2452a0f795f95p-1) want 0x1.c83c8e63c159fp-3 got -0x1.221ccbfffffffp-12 ulperr -8036166204915712.000 = -0x1.c8cd9ap+52 + -0x1.ffffdcp-2
src/math/special/fma.h:398: RZ fmal(0x1.88b2cede61e4cp-1,-0x1.71dcab5ad9e9p-3,0x1.32b27fea2ae97p-3) want 0x1.70461909b25e2p-7 got -0x1.affe57fffffffp-17 ulperr -6486162973655040.000 = -0x1.70b216p+52 + -0x1.ffffe6p-2
src/math/special/fma.h:399: RZ fmal(0x1.8d1e44002c98p-3,-0x1.af9fdfb347834p-1,0x1.e280942fb4146p-4) want -0x1.761ac23896dfdp-5 got 0x1.0bec47fffffffp-14 ulperr 6590522089013248.000 = 0x1.76a0b6p+52 + 0x1.ffffdep-2
src/math/special/fma.h:400: RZ fmal(0x1.236e8cb9492c8p-1,-0x1.d37443a57f1c4p-1,0x1.ca10df801aabcp-4) want -0x1.a1a2cdf0138f9p-2 got 0x1.f090cab6fffffp-5 ulperr 8439088361242624.000 = 0x1.dfb4e4p+52 + 0x1.fff07cp-2
src/math/special/fma.h:401: RZ fmal(-0x1.6ad943e610fb8p-1,-0x1.cef92a7bb18bcp-1,0x1.f28587d8fb0ep-4) want 0x1.866b5204b9aecp-1 got -0x1.8c9eb9a6fffffp-5 ulperr -7304415446827008.000 = -0x1.9f353ap+52 + -0x1.fff9cep-2
src/math/special/fma.h:402: RZ fmal(-0x1.60a8569a5d894p-1,-0x1.ca07e29dd171cp-1,0x1.b6c475ace09ecp-4) want 0x1.72549291e2f7ap-1 got -0x1.b6fd181e7ffffp-5 ulperr -6997593720619008.000 = -0x1.8dc462p+52 + -0x1.fff924p-2
src/math/special/fma.h:403: RZ fmal(0x1.d1962720d678cp-1,-0x1.4548ee45c4084p-1,0x1.f416ab193d75cp-4) want -0x1.d2929879dc853p-2 got 0x1.fc38e6f3fffffp-8 ulperr 8347731722502144.000 = 0x1.da837ap+52 + 0x1.fffe04p-2
src/math/special/fma.h:404: RZ fmal(-0x1.9ddcb295a7d64p-1,0x1.67fb3a2068a78p-1,0x1.da9cd4597fe0ap-4) want -0x1.cf4f6eb4fc5d8p-2 got 0x1.59da5511fffffp-6 ulperr 8530909930192896.000 = 0x1.e4ed12p+52 + 0x1.fffa98p-2
src/math/special/fma.h:405: RZ fmal(0x1.c00d16ed45b88p+0,0x1.c787eddda3664p+0,0x1.1e3e6f0cc1802p-5) want 0x1.931b8f379dcc3p+1 got -0x1.63fb63b7fffffp-6 ulperr -7140470102687744.000 = -0x1.95e382p+52 + -0x1.ffff4ep-2
src/math/special/fma.h:406: RZ fmal(0x1.19c2a2372c184p+0,-0x1.cb506961c19fp+0,0x1.db1abf3f7ba3ap-6) want -0x1.f21c0eab0bc18p+0 got 0x1.a29607ffffff8p-13 ulperr 8763735275470848.000 = 0x1.f2292p+52 + 0x1.fffffcp-2
src/math/special/fma.h:407: RZ fmal(-0x1.3a263218ccd1cp+0,-0x1.e818d390df27cp+0,0x1.2a81ed71785f5p-5) want 0x1.3025ab0f63925p+1 got -0x1.bfdf0b9bfffffp-6 ulperr -5412167746584576.000 = -0x1.33a566p+52 + -0x1.ffff2p-2
src/math/special/fma.h:408: RZ fmal(0x1.b0b041fbaca58p+0,-0x1.9d5f76d178e6p+0,0x1.0215c7bb84cf9p-6) want -0x1.5b52aec7ef4p+1 got 0x1.6be7a77ffffffp-7 ulperr 6135177709355008.000 = 0x1.5cbe94p+52 + 0x1.ffffa6p-2
src/math/special/fma.h:409: RZ fmal(-0x1.377549d9a87f4p+0,-0x1.a13d4a03dd6d8p+0,0x1.f190388bc5cc6p-7) want 0x1.ff83bebbd6fe4p+0 got -0x1.e5a6a43ffffffp-9 ulperr -9015346807701504.000 = -0x1.003b46p+53 + -0x1.ffffc4p-2
src/math/special/fma.h:410: RZ fmal(0x1.6a726c0762ac8p-1,-0x1.d32f2d30e483cp+0,0x1.f953eb70fbde6p-7) want -0x1.46c61b3070332p+0 got 0x1.e556e47fffffep-11 ulperr 5752835425697792.000 = 0x1.4702c4p+52 + 0x1.fffffp-2
src/math/special/fma.h:411: RZ fmal(0x1.94cf2509d40cp-1,0x1.721976af6dfbp+0,0x1.f51a456921c3ep-7) want 0x1.28880842acc6p+0 got -0x1.effe1dfffffffp-8 ulperr -5250719389057024.000 = -0x1.2a7804p+52 + -0x1.ffff84p-2
src/math/special/fma.h:412: RZ fmal(0x1.b128eb0ad8728p-1,0x1.7682566a54268p+0,0x1.bd4122a074cafp-8) want 0x1.3e9469530e762p+0 got -0x1.6fe0c7bffffffp-9 ulperr -5617153650720768.000 = -0x1.3f4c56p+52 + -0x1.ffffd2p-2
src/math/special/fma.h:413: RZ fmal(0x1.c4ae75976e35cp+0,-0x1.11c329dd1160cp+0,0x1.9993f5e13c9bdp-8) want -0x1.e27d925b07cf1p+0 got 0x1.198edf5ffffffp-9 ulperr 8497736676540416.000 = 0x1.e30a56p+52 + 0x1.ffffdcp-2
src/math/special/fma.h:414: RZ fmal(-0x1.85f81f88fa3c4p+0,-0x1.17648a494fa18p-1,0x1.37d305113b48p-10) want 0x1.aa367b7490e57p-1 got -0x1.7a59ecffffffep-12 ulperr -7501265072291840.000 = -0x1.aa65c4p+52 + -0x1.fffff4p-2
src/math/special/fma.h:415: RZ fmal(-0x1.311f2b4319efcp+0,0x1.abbb5272e3d18p-1,0x1.35841b7bdbcfep-10) want -0x1.fd337f24b39ep-1 got 0x1.4cbc317ffffffp-11 ulperr 8963677814259712.000 = 0x1.fd86acp+52 + 0x1.ffffecp-2
src/math/special/fma.h:416: RZ fmal(0x1.ab94369a9a0dp-1,0x1.9d1e0e0aa3bacp+0,0x1.0a63ca87cfa78p-11) want 0x1.592173ee296b6p+0 got -0x1.fd8043ffffff8p-13 ulperr -6072696672616448.000 = -0x1.59315cp+52 + -0x1.fffffcp-2
src/math/special/fma.h:458: RD fmal(0x1p+0,0x1p+0,-0x1p-1074) want 0x1.fffffffffffffp-1 got -0x1.fffffp-43 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p+0
src/math/special/fma.h:459: bad fp exception: RD fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022)=0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:459: RD fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.fffffffffffffp-1022 got 0x0p+0 ulperr -9007199254740992.000 = -0x1p+53 + 0x0p+0
src/math/special/fma.h:460: bad fp exception: RD fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022)=0x1.ffffffffffffep-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:460: RD fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.ffffffffffffep-1022 got -0x1p-1074 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p+0
src/math/special/fma.h:461: bad fp exception: RD fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:461: RD fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1p-1021 got -0x1p-1074 ulperr 4503599358935040.000 = 0x1.fffffep+51 + -0x1p-1
src/math/special/fma.h:462: bad fp exception: RD fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:462: RD fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.fffffffffffffp-1022 got 0x0p+0 ulperr 9007198717870080.000 = 0x1.fffffep+52 + 0x0p+0
src/math/special/fma.h:463: RD fmal(0x1p-1074,-0x1p-1074,0x1p-1074) want 0x0p+0 got -0x1p-1074 ulperr -2.000 = -0x1p+0 + -0x1p+0
src/math/special/fma.h:464: RD fmal(0x1p-1074,-0x1p-1074,-0x1p-1074) want -0x1p-1073 got -0x1p-1074 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/special/fma.h:465: RD fmal(0x1.0000000000001p+0,0x1p+0,0x1p+53) want 0x1p+53 got 0x1.000008p+12 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:466: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p+53) want 0x1p+53 got 0x1.ffc02p+10 ulperr -4503599627370496.000 = -0x1p+52 + -0x1p-1
src/math/special/fma.h:467: RD fmal(0x1p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp+53) want 0x1.fffffffffffffp+53 got -0x1.ffffep+10 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:468: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep+53) want 0x1.ffffffffffffep+53 got 0x1.ffc02p+10 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:469: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p-52) want 0x1.0000000000001p+0 got -0x1.fffffp-42 ulperr -4503600164241408.000 = -0x1.000002p+52 + -0x1p-1
src/math/special/fma.h:470: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp-53) want 0x1.0000000000001p+0 got -0x1.fffff8p-41 ulperr -4503600164241408.000 = -0x1.000002p+52 + -0x1p-1
src/math/special/fma.h:471: RD fmal(0x1.0000000000005p+0,0x1.ffffffffffffbp-1,0x1p-52) want 0x1.0000000000003p+0 got -0x1.8fffff8p-37 ulperr -4503600164241408.000 = -0x1.000002p+52 + -0x1p-1
src/math/special/fma.h:472: RD fmal(0x1.0000000000006p+0,0x1.ffffffffffffdp-1,0x1p-52) want 0x1.0000000000005p+0 got -0x1.1fffff8p-37 ulperr -4503600164241408.000 = -0x1.000002p+52 + -0x1p-1
src/math/special/fma.h:491: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff4p+0 got 0x1.6800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:492: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1p+0) want 0x1.ffffffffffff8p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:493: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffff6p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:494: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffff4p+0 got 0x1.b000008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:495: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffff6p+0 got 0x1.f800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:496: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffff4p+0 got 0x1.f800008p-37 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:497: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffff6p+0 got 0x1.2000004p-36 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:498: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffff4p+0 got 0x1.2000004p-36 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:499: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.fffffffffffffp-1) want 0x1.ffffffffffff6p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:500: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffff4p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:501: RD fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff2p+0 got 0x1.4400004p-36 ulperr -9007199254740992.000 = -0x1p+53 + -0x1p-1
src/math/special/fma.h:502: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep-1) want 0x1.fffffffffffffp+0 got -0x1.fffffp-42 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:503: RD fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffp-42 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:504: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.fffffffffffffp-1) want 0x1.fffffffffffffp+0 got -0x1.fffff8p-41 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:505: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffff8p-41 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:506: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffff8p-41 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:507: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1p+0) want 0x1.fffffffffffffp+0 got -0x1.7ffffcp-40 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:508: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp+0 got -0x1.7ffffcp-40 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:509: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp+0 got -0x1.7ffffcp-40 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:510: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffffdp+0 got -0x1.fffffcp-40 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:511: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffffbp+0 got -0x1.fffffcp-40 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:512: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffffdp+0 got -0x1.3ffffep-39 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:513: RD fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffbp+0 got -0x1.3ffffep-39 ulperr -9007200328482816.000 = -0x1.000002p+53 + -0x1p-1
src/math/special/fma.h:514: RD fmal(0x1.5872449b765b9p+0,0x1.c9acf91f8de2bp+0,0x1.9265607e4d168p+0) want 0x1.fd190c77c2a67p+1 got -0x1.b3fc37bedp-4 ulperr -9195829923414016.000 = -0x1.055c78p+53 + -0x1.fffc98p-2
src/math/special/fma.h:515: RD fmal(0x1.81d010b146d0ep+0,0x1.2d3c680dc9071p+0,0x1.a80b69538754cp+0) want 0x1.b7040b44973a6p+1 got 0x1.4d0cb20197p+1 ulperr -1864177270390784.000 = -0x1.a7dd66p+50 + -0x1.0029a2p-1
src/math/special/fma.h:516: RD fmal(0x1.6a44f2252b6a2p+0,0x1.da452a378b832p+0,0x1.1fe2ce329104p+0) want 0x1.df842b6f48b12p+1 got 0x1.12e95c1ba4p+0 ulperr -6017592242208768.000 = -0x1.560f7ep+52 + -0x1.00112ep-1
src/math/special/fma.h:517: RD fmal(0x1.096b1d26463eep+0,0x1.d846d3e34333p+0,0x1.721e3480922b8p+0) want 0x1.ade2909c0269fp+1 got -0x1.a139d9b2cp-1 ulperr -9397596749561856.000 = -0x1.0b1884p+53 + -0x1.ffe5ecp-2
src/math/special/fma.h:518: RD fmal(0x1.99bd3434c454bp+0,0x1.03cb8e4115bdep+0,0x1.109f107188b08p+0) want 0x1.5837a47d37faep+1 got 0x1.cfdec0c00ap+0 ulperr -1975291027128320.000 = -0x1.c12112p+50 + -0x1.001cfep-1
src/math/special/fma.h:519: RD fmal(0x1.ba930a0a78ed2p+0,0x1.8c24e8d67f636p+0,0x1.ac49dbfbf8affp+0) want 0x1.164947ae6a5d9p+2 got -0x1.33e3b04edp-2 ulperr -5234191818031104.000 = -0x1.298784p+52 + -0x1.fffb3p-2
src/math/special/fma.h:520: RD fmal(0x1.be224ad773191p+0,0x1.d96b77169731fp+0,0x1.662cfb75d8edep+0) want 0x1.27cd67e720f78p+2 got 0x1.e4711611c78p+1 ulperr -942615667146752.000 = -0x1.aca6e8p+49 + -0x1.001e48p-1
src/math/special/fma.h:521: RD fmal(0x1.59e7a1b0bdb3cp+0,0x1.2decba4d46421p+0,0x1.88f4062e96df5p+0) want 0x1.90749e4794f79p+1 got -0x1.b3c84a9a88p-1 ulperr -8961479864745984.000 = -0x1.fd66b2p+52 + -0x1.ffe4c4p-2
src/math/special/fma.h:522: RD fmal(0x1.22edf4b4da9a7p+0,0x1.dfa8d65f506cdp+0,0x1.2799208da2fbap+0) want 0x1.a45a1e99ed7a8p+1 got 0x1.a0bdfb8976p-1 ulperr -5562059957731328.000 = -0x1.3c2aap+52 + -0x1.000d06p-1
src/math/special/fma.h:523: RD fmal(0x1.ad5b991a2a279p+0,0x1.f02fd26706024p+0,0x1.831cdd5c8797cp+0) want 0x1.30d3a2ac90a6p+2 got 0x1.c7c15e1c82p+1 ulperr -1353701750996992.000 = -0x1.33cbdp+50 + -0x1.001c7cp-1
src/math/special/fma.h:524: RD fmal(0x1.531f9620e764ap+0,0x1.cad61b54d4425p+0,0x1.df817cae8a9afp+0) want 0x1.0fd4e7f8671dcp+2 got 0x1.8e74e26059p+1 ulperr -1277252138434560.000 = -0x1.2269dcp+50 + -0x1.0018e8p-1
src/math/special/fma.h:525: RD fmal(0x1.629a5ad79494fp+0,0x1.049e58693f4c4p+0,0x1.45b0109e4d00cp+0) want 0x1.5758154e14965p+1 got -0x1.01173c9c2p-3 ulperr -6322847379095552.000 = -0x1.67698ap+52 + -0x1.fffbfcp-2
src/math/special/fma.h:526: RD fmal(0x1.2f52b53f9240ap+0,0x1.1d5c686dbb0dap+0,0x1.6da3e392a4fd4p+0) want 0x1.5fe03a6795912p+1 got 0x1.5bdb7d9084p+0 ulperr -3130480329228288.000 = -0x1.63e4f8p+51 + -0x1.0015bep-1
src/math/special/fma.h:527: RD fmal(0x1.058667552b49ep+0,0x1.23307bacc1c42p+0,0x1.5b059b47cd8f5p+0) want 0x1.423f752486d13p+1 got -0x1.4bfb042744p+0 ulperr -8589176530272256.000 = -0x1.e83cf8p+52 + -0x1.ffd68p-2
src/math/special/fma.h:528: RD fmal(0x1.a717d95337ed8p+0,0x1.2b1c37846aaadp+0,0x1.be65672f885b1p+0) want 0x1.d65e72303c075p+1 got -0x1.7e0573ec04p+1 ulperr -14995408015065088.000 = -0x1.aa31f4p+53 + -0x1.ffa07ep-2
src/math/special/fma.h:529: RD fmal(0x1.deb79287b3d32p+0,0x1.62776b829babap+0,0x1.67daf18bd2eb1p+0) want 0x1.ff5a0d45c69d6p+1 got 0x1.ad881652ap-3 ulperr -8523520438960128.000 = -0x1.e4818cp+52 + -0x1.00035cp-1
src/math/special/fma.h:530: RD fmal(0x1.fbf12d3a6de91p+0,0x1.879fe6124f11p+0,0x1.9f3f1247a8641p+0) want 0x1.2a126c6980018p+2 got 0x1.45e3d61a84p+2 ulperr 489379747332096.000 = 0x1.bd169ap+48 + -0x1.0028bcp-1
src/math/special/fma.h:531: RD fmal(0x1.c589628460e01p+0,0x1.e1bec1c797533p+0,0x1.349f30cdb84bbp+0) want 0x1.2286118b6f6e5p+2 got -0x1.8e9d95e0668p+1 ulperr -8617207097458688.000 = -0x1.e9d4dep+52 + -0x1.ffce2cp-2
src/math/special/fma.h:532: RD fmal(0x1.46fd6c2c924ebp+0,0x1.65e2f02e730a1p+0,0x1.37739d2751098p+0) want 0x1.804a71c1f1272p+1 got 0x1.855d7947cbp+0 ulperr -3335623536541696.000 = -0x1.7b376cp+51 + -0x1.001856p-1
src/math/special/fma.h:533: RD fmal(0x1.f99e595ae11fdp+0,0x1.bd33d9a1d81bp+0,0x1.932a2a2e244c1p+0) want 0x1.409e34f8f2f89p+2 got -0x1.7a49668944p+2 ulperr -12295261934059520.000 = -0x1.5d73cep+53 + -0x1.ffa16ep-2
src/math/special/fma.h:534: RD fmal(0x1.59ea1e56bfe55p+0,0x1.6f46b7d412a44p+0,0x1.80f2bc9a32cc3p+0) want 0x1.b89c7640e32ffp+1 got -0x1.ca180bfb6p-3 ulperr -8254993714905088.000 = -0x1.d53df8p+52 + -0x1.fff8d8p-2
src/math/special/fma.h:535: RD fmal(0x1.61490fcb44129p+0,0x1.0038ec4fc35c2p+0,0x1.df7436ed7a7b7p+0) want 0x1.a085ea68d05cfp+1 got -0x1.5ed2c690f7p+1 ulperr -13499302328401920.000 = -0x1.7fac5ap+53 + -0x1.ffa84cp-2
src/math/special/fma.h:536: RD fmal(0x1.d41b98788502bp+0,0x1.1a7b77843aca6p+0,0x1.05be891837d36p+0) want 0x1.8523596ceced9p+1 got -0x1.48c8fc403cp-1 ulperr -8291802121502720.000 = -0x1.d7559ap+52 + -0x1.ffeb74p-2
src/math/special/fma.h:537: RD fmal(0x1.3153cf6f69af9p+0,0x1.aaa947e38e57ap+0,0x1.8519f9b590645p+0) want 0x1.c0fcab7b46368p+1 got 0x1.25f4f4bd5p-3 ulperr -7575454189879296.000 = -0x1.ae9d5ep+52 + -0x1.00024cp-1
src/math/special/fma.h:538: RD fmal(0x1.c25a1f73581aap+0,0x1.0a51ffca372ap+0,0x1.0c77e3ebac5f3p+0) want 0x1.707ce48c7d72dp+1 got -0x1.3261c9a0ep+1 ulperr -11872436362412032.000 = -0x1.516f58p+53 + -0x1.ffb368p-2
src/math/special/fma.h:539: RD fmal(0x1.829c2cde44b7p+0,0x1.f692e86d8cb36p+0,0x1.455e72d264bfp+0) want 0x1.0f16a3b8b3f97p+2 got -0x1.684386466p+0 ulperr -6353495191977984.000 = -0x1.692786p+52 + -0x1.ffe97cp-2
src/math/special/fma.h:540: RD fmal(0x1.94729588dcc69p+0,0x1.c3bb794c6edf8p+0,0x1.9da4e94d262d2p+0) want 0x1.19d4bd84d9fd2p+2 got 0x1.e1b9a2757p-1 ulperr -3898699117756416.000 = -0x1.bb3b14p+51 + -0x1.000786p-1
src/math/special/fma.h:541: RD fmal(0x1.e6a5e7e39c3d5p+0,0x1.1b69af2bdd978p+0,0x1.e7ef1eafa119cp+0) want 0x1.00ac5b44c9f31p+2 got -0x1.6777d5d394p+1 ulperr -7677359268298752.000 = -0x1.b46848p+52 + -0x1.ffd312p-2
src/math/special/fma.h:542: RD fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022) want 0x1.b594d0e4368efp-1022 got -0x1.9dedc9561p-1023 ulperr -11338969211994112.000 = -0x1.4245dcp+53 + -0x1.ffcc42p-2
src/math/special/fma.h:543: RD fmal(0x1.022db53c98d14p-1022,0x1.21157eef74848p-2,0x1.2f880432b1bc1p-1022) want 0x1.786ad60a02b3dp-1022 got -0x1.150255ac98p-1022 ulperr -11495199721127936.000 = -0x1.46b696p+53 + -0x1.ffbacp-2
src/math/special/fma.h:544: RD fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022) want 0x1.cbb085199a3f5p-1022 got -0x1.6ed115da2f8p-1023 ulperr -11313498982187008.000 = -0x1.418c8ap+53 + -0x1.ffd226p-2
src/math/special/fma.h:545: RD fmal(0x1.adbc3a9d816dep-1022,0x1.e039d4431e3cdp-2,0x1.93ceef6fe18a2p-1022) want 0x1.2eabb7dc0e2fp-1021 got 0x1.ef7b6794e3p-1023 ulperr -3145487481831424.000 = -0x1.6599bcp+51 + -0x1.000f7cp-1
src/math/special/fma.h:546: RD fmal(0x1.645aa5c2df3afp-1022,0x1.649edfcad854fp-2,0x1.8b43e0bbaeb01p-1022) want 0x1.03af571d2b504p-1021 got 0x1.0ce86163c02p-1021 ulperr 162249436037120.000 = 0x1.272148p+47 + -0x1.00219ep-1
src/math/special/fma.h:547: RD fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022) want 0x1.ad9ce7fcefa3fp-1022 got -0x1.12bc4931e6p-1025 ulperr -8161980292530176.000 = -0x1.cff472p+52 + -0x1.fff76ap-2
src/math/special/fma.h:548: RD fmal(0x1.8ee3feb00c3e7p-1022,0x1.53bd9353313bcp-2,0x1.5501b57dc3b6fp-1022) want 0x1.d9598906f0bb3p-1022 got -0x1.4660b83f57p-1022 ulperr -14068956725772288.000 = -0x1.8fdd22p+53 + -0x1.ffae68p-2
src/math/special/fma.h:549: RD fmal(0x1.161225cfa61e2p-1022,0x1.b6dd69a0af5bp-2,0x1.924ffc3ead5c3p-1022) want 0x1.04be6fc25367bp-1021 got -0x1.f3ab56daa8p-1022 ulperr -8982192881401856.000 = -0x1.fe941cp+52 + -0x1.ffc18ap-2
src/math/special/fma.h:550: RD fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022) want 0x1.70b6c3169f043p-1022 got -0x1.a779baefbe8p-1023 ulperr -10211414669000704.000 = -0x1.2239d2p+53 + -0x1.ffcb1p-2
src/math/special/fma.h:551: RD fmal(0x1.ce0e2ea55040ep-1022,0x1.ce5a55fa3828dp-2,0x1.f2f444d50ce59p-1022) want 0x1.61ca36f5a8a79p-1021 got -0x1.173f0cea128p-1022 ulperr -8680214267691008.000 = -0x1.ed69bep+52 + -0x1.ffdd18p-2
src/math/special/fma.h:552: RD fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022) want 0x1.1440cf1c105ebp-1021 got -0x1.f88fda6p-1030 ulperr -4877233864835072.000 = -0x1.153d18p+52 + -0x1.ffffcp-2
src/math/special/fma.h:553: RD fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022) want 0x1.1186e1f77012dp-1021 got -0x1.2ffba526fcp-1025 ulperr -5146169147654144.000 = -0x1.24869ep+52 + -0x1.fffb4p-2
src/math/special/fma.h:554: RD fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022) want 0x1.8d86310bad175p-1022 got -0x1.1b755c367f8p-1023 ulperr -9486646453993472.000 = -0x1.0da07p+53 + -0x1.ffdc92p-2
src/math/special/fma.h:555: RD fmal(0x1.fb3391a4b1d23p-1022,0x1.4d8705b057caep-2,0x1.d026cb6dae73bp-1022) want 0x1.3aad18b424c67p-1021 got -0x1.0a1784c7c6cp-1021 ulperr -10216979872874496.000 = -0x1.22625p+53 + -0x1.ffbd7ap-2
src/math/special/fma.h:556: RD fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022) want 0x1.c0048fd33a417p-1022 got -0x1.d026e457f1p-1024 ulperr -9922975402819584.000 = -0x1.1a0726p+53 + -0x1.ffe2fep-2
src/math/special/fma.h:557: RD fmal(0x1.aa9eff070281cp-1022,0x1.fab05661b48ebp-2,0x1.cbe2af6c69c6ep-1022) want 0x1.4f7ddbe122764p-1021 got 0x1.9e529858dap-1023 ulperr -4079821109854208.000 = -0x1.cfd26cp+51 + -0x1.000cf2p-1
src/math/special/fma.h:558: RD fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022) want 0x1.e0e762ee2e7c5p-1022 got -0x1.e2fe0f96ecp-1023 ulperr -12708596701724672.000 = -0x1.693336p+53 + -0x1.ffc3ap-2
src/math/special/fma.h:559: RD fmal(0x1.4dab43918a9a8p-1022,0x1.ed667442b4751p-2,0x1.3f25f82e02e3ep-1022) want 0x1.dfec0ee732dcap-1022 got 0x1.6a41c4d18ap-1022 ulperr -2069988076683264.000 = -0x1.d6a92ap+50 + -0x1.002d48p-1
src/math/special/fma.h:560: RD fmal(0x1.7943735951931p-1022,0x1.fa6a357c5c9ddp-2,0x1.0bed44b0b71b4p-1022) want 0x1.c6803a6059abep-1022 got 0x1.0e970cce134p-1022 ulperr -3235394032238592.000 = -0x1.6fd25cp+51 + -0x1.0021d2p-1
src/math/special/fma.h:561: RD fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022) want 0x1.8640492c45959p-1022 got -0x1.3271a1b38p-1027 ulperr -7033840023371776.000 = -0x1.8fd3d8p+52 + -0x1.fffd9cp-2
src/math/special/fma.h:562: RD fmal(0x1.f52172c56bdf5p-1022,0x1.672b2de422734p-2,0x1.7bc5d708e5a34p-1022) want 0x1.15c5b95145cc6p-1021 got 0x1.3cf4f71d188p-1021 ulperr 689341647028224.000 = 0x1.3979eep+49 + -0x1.00279ep-1
src/math/special/fma.h:563: RD fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022) want 0x1.e7fa0dd76fbefp-1022 got -0x1.60a5d541bp-1024 ulperr -10135539776749568.000 = -0x1.2011c2p+53 + -0x1.ffe9f6p-2
src/math/special/fma.h:564: RD fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022) want 0x1.b63a7f56fce1fp-1022 got -0x1.497a9bc52p-1024 ulperr -9158461560455168.000 = -0x1.044c94p+53 + -0x1.ffeb68p-2
src/math/special/fma.h:565: RD fmal(0x1.f73d5f4e81fd8p-1022,0x1.7ccff2642124ap-2,0x1.e7d836a0c8308p-1022) want 0x1.517f1763126d3p-1021 got -0x1.06939f3372p-1021 ulperr -10556597969354752.000 = -0x1.2c095cp+53 + -0x1.ffbe5cp-2
src/math/special/fma.h:566: RD fmal(0x1.b4328925969fbp-1022,0x1.8fa02832a22d5p-2,0x1.2084598e2f8c6p-1022) want 0x1.cabf43838dc51p-1022 got -0x1.7c61d65f0a4p-1022 ulperr -14762119350190080.000 = -0x1.a3908ep+53 + -0x1.ffa0e8p-2
src/math/special/fma.h:567: RD fmal(0x1.66ee60a92676fp-1022,0x1.eddd2e7681ce4p-2,0x1.b81d57daeb3a7p-1022) want 0x1.329c918ffb682p-1021 got 0x1.cd379885b8p-1025 ulperr -4886855128449024.000 = -0x1.15c91ap+52 + -0x1.00039ap-1
src/math/special/fma.h:568: RD fmal(0x1.ff2737585895dp-1022,0x1.fb4bf3828ae4ap-2,0x1.4a866847740fp-1022) want 0x1.23e07e4dbbeaap-1021 got 0x1.46c53f7571p-1023 ulperr -3697601501200384.000 = -0x1.a45e5ep+51 + -0x1.000a36p-1
src/math/special/fma.h:569: RD fmal(0x1.5e2008d269a86p-1022,0x1.507bbbe4d78eep-2,0x1.6220c6f83f636p-1022) want 0x1.d52d9874f1c74p-1022 got 0x1.eda0503c4ap-1023 ulperr -3911886546403328.000 = -0x1.bcbae2p+51 + -0x1.001edap-1
src/math/special/fma.h:570: RD fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022) want 0x1.9864925e2fb0fp-1022 got -0x1.53ae580e8cp-1025 ulperr -7931489798848512.000 = -0x1.c2da5ep+52 + -0x1.fff562p-2
src/math/special/fma.h:571: RD fmal(0x1.7b353b81e793dp-1022,0x1.82b426f874c6dp-2,0x1.d92b19d21fd5cp-1022) want 0x1.342fb0c544a78p-1021 got 0x1.2af4c8aebe4p-1022 ulperr -2792024289837056.000 = -0x1.3d6a9ap+51 + -0x1.0012bp-1
src/math/special/fma.h:572: RD fmal(0x1.5be667823370ap-1022,0x1.a8a99b163869bp-2,0x1.95456b68dc3bcp-1022) want 0x1.12c638de03c7p-1021 got 0x1.49af7fc787p-1023 ulperr -3383908364189696.000 = -0x1.80b4b2p+51 + -0x1.000a4ep-1
src/math/special/fma.h:573: RD fmal(0x1.17b0fc6c850e5p-1022,0x1.d1d0a4853c315p-2,0x1.36b79f7c0c24p-1022) want 0x1.b5f2baff5635cp-1022 got 0x1.6a19304724p-1026 ulperr -7306334223466496.000 = -0x1.9f5128p+52 + -0x1.0002d4p-1
src/math/special/fma.h:574: RD fmal(0x1.bd97819bacfd8p-1022,0x1.2c25f267ba4eep-2,0x1.804b5204a3f3ap-1022) want 0x1.01739c190fd96p-1021 got 0x1.b9e166e6b4p-1022 ulperr -642314707927040.000 = -0x1.241746p+49 + -0x1.001b9ep-1
src/math/special/fma.h:575: RD fmal(0x1.596577053873dp-1022,0x1.3562ab2d29949p-2,0x1.b3f1ee75db6e7p-1022) want 0x1.0e268a498009ap-1021 got 0x1.e8136bc1594p-1022 ulperr -459378025037824.000 = -0x1.a1cd48p+48 + -0x1.001e82p-1
src/math/special/fma.h:576: RD fmal(0x1.3c7a68cf0f7b3p-1022,0x1.9a55c15b167bdp-2,0x1.7635b7b163c07p-1022) want 0x1.f5073b93b7b8p-1022 got 0x1.75f9a972138p-1023 ulperr -5524661530001408.000 = -0x1.3a0a68p+52 + -0x1.00176p-1
src/math/special/fma.h:577: RD fmal(0x1.5825164bc4068p-1022,0x1.dcbb6e5ff3245p-2,0x1.52fc3be0e84dap-1022) want 0x1.f334771c2dcfap-1022 got 0x1.2b86ba6b02p-1022 ulperr -3512784226615296.000 = -0x1.8f5b7ap+51 + -0x1.00257p-1
src/math/special/fma.h:578: RD fmal(0x1.139ea77b760ecp+1022,0x1.9b25f2fd017eap+2,-0x1.bc16788922b6fp+1023) want 0x1.b93aac527380ep+1023 got 0x1.c3ec4f2eep+1022 ulperr -3787028625883136.000 = -0x1.ae890ap+51 + -0x1.001c3ep-1
src/math/special/fma.h:579: RD fmal(0x1.0e6f9c1657d7cp+1022,0x1.4d5c6b55ab5f1p+2,-0x1.e027dd5742e2cp+1023) want 0x1.c0538372b4bbep+1022 got 0x1.54dede6dep+1021 ulperr -4888709480579072.000 = -0x1.15e416p+52 + -0x1.00154ep-1
src/math/special/fma.h:580: RD fmal(0x1.1182524fa411cp+1022,0x1.a3dba56842d19p+2,-0x1.c1ad59474d71fp+1023) want 0x1.bf78969300a76p+1023 got 0x1.8651491efp+1022 ulperr -4438724951670784.000 = -0x1.f89fe6p+51 + -0x1.001866p-1
src/math/special/fma.h:581: RD fmal(0x1.1cbf4fb8ec82p+1022,0x1.5e32019a84fbbp+2,-0x1.985af08f32edep+1023) want 0x1.72af6bbad4a28p+1023 got 0x1.a68c1c1ecp+1023 ulperr 912367084896256.000 = 0x1.9ee582p+49 + -0x1.0034d2p-1
src/math/special/fma.h:582: RD fmal(0x1.311e25c6db346p+1022,0x1.4e30db6c4b51dp+2,-0x1.7681f7a9786a7p+1023) want 0x1.a61d29434fc13p+1023 got -0x1.791d1989p+1017 ulperr -7529566759288832.000 = -0x1.ac019ep+52 + -0x1.fffe86p-2
src/math/special/fma.h:583: RD fmal(0x1.1201cf577052fp+1022,0x1.59730b2db7a16p+2,-0x1.56f1a64a078d5p+1023) want 0x1.8c8d801df34d9p+1023 got -0x1.3048609fd8p+1022 ulperr -inf = -inf + -0x1.ffd9f6p-2
src/math/special/fma.h:584: RD fmal(0x1.3e52335b76e81p+1022,0x1.4dbd56f857479p+2,-0x1.509340c11bd2ep+1023) want 0x1.ed6576837f653p+1023 got -0x1.e498d5441cp+1022 ulperr -inf = -inf + -0x1.ffc36cp-2
src/math/special/fma.h:585: RD fmal(0x1.18566b4f843cbp+1022,0x1.444fba10eaf29p+2,-0x1.f927beae57f0ap+1023) want 0x1.9a433b9796559p+1022 got 0x1.a048d2820cp+1022 ulperr 105937222238208.000 = 0x1.8165bap+46 + -0x1.ff6812p-2
src/math/special/fma.h:586: RD fmal(0x1.3fbe544fe1be8p+1022,0x1.2d2a5fda03639p+2,-0x1.007407dbfd03cp+1023) want 0x1.efdb644b613e5p+1023 got -0x1.e14223656p+1022 ulperr -inf = -inf + -0x1.ffc3d8p-2
src/math/special/fma.h:587: RD fmal(0x1.263a0d3bc2e4p+1022,0x1.4cc198adbc651p+2,-0x1.734b1c1f7fdb8p+1023) want 0x1.899878afc0fa2p+1023 got 0x1.a13620448p+1023 ulperr 415454199808000.000 = 0x1.79da78p+48 + -0x1.003426p-1
src/math/special/fma.h:588: RD fmal(0x1.5bf4aec8efc8ep+1022,0x1.555f0341516c9p+2,-0x1.c706408acd14cp+1023) want 0x1.d8f5e18b868bcp+1023 got 0x1.3e5679fdf8p+1022 ulperr -5520280126488576.000 = -0x1.39caa6p+52 + -0x1.0013e6p-1
src/math/special/fma.h:589: RD fmal(0x1.1e57f1af78279p+1022,0x1.34bc0c7f082b3p+2,-0x1.497b92c1365edp+1023) want 0x1.692cb7ec68a93p+1023 got -0x1.c0a1f29b28p+1021 ulperr -8326959650045952.000 = -0x1.d95536p+52 + -0x1.ffe3f6p-2
src/math/special/fma.h:590: RD fmal(0x1.1d9824cd73511p+1022,0x1.1d557ddfe47ffp+2,-0x1.556cdb1d20a72p+1023) want 0x1.2736a6b6e35f2p+1023 got 0x1.bc6f9c9778p+1021 ulperr -3238800478175232.000 = -0x1.70358p+51 + -0x1.000de4p-1
src/math/special/fma.h:591: RD fmal(0x1.1ff85a24aff31p+1022,0x1.39ab374b2680dp+2,-0x1.35e6b07b651b8p+1023) want 0x1.8bc7ce208708p+1023 got 0x1.84b319bafap+1023 ulperr -124568119279616.000 = -0x1.c52d1ap+46 + -0x1.003096p-1
src/math/special/fma.h:592: RD fmal(0x1.0449b3965227ep+1022,0x1.4430d4441f9f2p+2,-0x1.a6966c96307ep+1023) want 0x1.d94eda8c81771p+1022 got -0x1.992ed6b72p+1021 ulperr -11925734759071744.000 = -0x1.52f324p+53 + -0x1.ffccdap-2
src/math/special/fma.h:593: RD fmal(0x1.3c91fa00fd0c7p+1022,0x1.1b6661c0b0303p+2,-0x1.f1f2846b64483p+1023) want 0x1.95eae0d2644d3p+1022 got 0x1.9985d8eaap+1019 ulperr -6240425882943488.000 = -0x1.62ba26p+52 + -0x1.ff0cccp-2
src/math/special/fma.h:594: RD fmal(0x1.0979b36d46534p+1022,0x1.12fa205f41f7fp+2,-0x1.a83ecf4544a63p+1023) want 0x1.2420f34e2aa3cp+1022 got -0x1.335a0fe68p+1019 ulperr -5815056616914944.000 = -0x1.4a8c36p+52 + -0x1.007b32p-1
src/math/special/fma.h:595: RD fmal(0x1.4c89df582a599p+1022,0x1.55f3dc473ea8fp+2,-0x1.e35037292ddfp+1023) want 0x1.95109fdbc3771p+1023 got -0x1.afa3b29624p+1022 ulperr -inf = -inf + -0x1.ffca0cp-2
src/math/special/fma.h:596: RD fmal(0x1.35ee0a669c4fbp+1022,0x1.2263cb63f386ap+2,-0x1.449218ae35ac7p+1023) want 0x1.7a8ed977d817ap+1023 got 0x1.47da9ddfb8p+1022 ulperr -3775828961787904.000 = -0x1.ad4316p+51 + -0x1.00147ep-1
src/math/special/fma.h:597: RD fmal(0x1.117cc860f61bcp+1022,0x1.440985b25d994p+2,-0x1.d7a7d82000449p+1023) want 0x1.b960b7088e74fp+1022 got 0x1.ddfba372cp+1022 ulperr 643964914892800.000 = 0x1.24d762p+49 + -0x1.ff777ep-2
src/math/special/fma.h:598: RD fmal(0x1.1e78a37be320fp+1022,0x1.0db0fce62287bp+2,-0x1.376337da5eb53p+1023) want 0x1.24326b9956dfbp+1023 got -0x1.d2881b3596p+1023 ulperr -inf = -inf + -0x1.ff8b5ep-2
src/math/special/fma.h:599: RD fmal(0x1.0c79b5c8331c2p+1022,0x1.0aba6ea746b5p+2,-0x1.c86f1fcaf0741p+1023) want 0x1.9c135bb2cff84p+1021 got -0x1.cc298bacp+1019 ulperr -9273126449840128.000 = -0x1.078eep+53 + -0x1.00f19ep-1
src/math/special/fma.h:600: RD fmal(0x1.556c4c072f272p+1022,0x1.347758d7d4eb5p+2,-0x1.c6fe4f24b248dp+1023) want 0x1.6fcc9f756df6dp+1023 got -0x1.f6f4c76598p+1022 ulperr -inf = -inf + -0x1.ffc122p-2
src/math/special/fma.h:601: RD fmal(-0x1.e8349b891b2fp-1,0x1.4a6dec9b72578p-1,0x1.3b6151ce809ddp-1) want 0x1.3a62fe330b355p-11 got -0x1.d97121p-11 ulperr -13859627535958016.000 = -0x1.89ea1p+53 + -0x1.ff89a4p-2
src/math/special/fma.h:602: RD fmal(0x1.2996632ac7d74p-1,-0x1.bb3c58b654d94p-1,0x1.01a6660e64a31p-1) want 0x1.ed045bb956a8ep-15 got -0x1.070d62p-15 ulperr -13300912420290560.000 = -0x1.7a08ep+53 + -0x1.eabe3cp-2
src/math/special/fma.h:603: RD fmal(-0x1.c602e894c1df8p-1,0x1.a1c980e7d3f94p-1,0x1.7271244b43386p-1) want -0x1.ba251fe026e5cp-15 got -0x1.af2b6c0000001p-15 ulperr 193081294979072.000 = 0x1.5f367cp+47 + -0x1.02ca1ap-1
src/math/special/fma.h:604: RD fmal(-0x1.c84baf47e85cp-1,0x1.770b5149ef2ep-1,0x1.4d80f139320bap-1) want -0x1.79277433b9e24p-10 got 0x1.d4b6effffffffp-11 ulperr 10757822555881472.000 = 0x1.31c176p+53 + -0x1.001d4cp-1
src/math/special/fma.h:605: RD fmal(-0x1.36e667dcf9c6p-1,0x1.2591f82556b88p-1,0x1.2452a0f795f95p-1) want 0x1.c83c8e63c159fp-3 got -0x1.221cccp-12 ulperr -8036166741786624.000 = -0x1.c8cd9ep+52 + -0x1.ffffdcp-2
src/math/special/fma.h:606: RD fmal(0x1.88b2cede61e4cp-1,-0x1.71dcab5ad9e9p-3,0x1.32b27fea2ae97p-3) want 0x1.70461909b25e2p-7 got -0x1.affe57fffffffp-17 ulperr -6486163510525952.000 = -0x1.70b21ap+52 + -0x1.ffffe6p-2
src/math/special/fma.h:607: RD fmal(0x1.8d1e44002c98p-3,-0x1.af9fdfb347834p-1,0x1.e280942fb4146p-4) want -0x1.761ac23896dfep-5 got 0x1.0bec47fffffffp-14 ulperr 6590522089013248.000 = 0x1.76a0b8p+52 + -0x1.00001p-1
src/math/special/fma.h:608: RD fmal(0x1.236e8cb9492c8p-1,-0x1.d37443a57f1c4p-1,0x1.ca10df801aabcp-4) want -0x1.a1a2cdf0138fap-2 got 0x1.f090cab6fffffp-5 ulperr 8439088361242624.000 = 0x1.dfb4e6p+52 + -0x1.0007c2p-1
src/math/special/fma.h:609: RD fmal(-0x1.6ad943e610fb8p-1,-0x1.cef92a7bb18bcp-1,0x1.f28587d8fb0ep-4) want 0x1.866b5204b9aecp-1 got -0x1.8c9eb9a7p-5 ulperr -7304415983697920.000 = -0x1.9f353ep+52 + -0x1.fff9cep-2
src/math/special/fma.h:610: RD fmal(-0x1.60a8569a5d894p-1,-0x1.ca07e29dd171cp-1,0x1.b6c475ace09ecp-4) want 0x1.72549291e2f7ap-1 got -0x1.b6fd181e8p-5 ulperr -6997594257489920.000 = -0x1.8dc466p+52 + -0x1.fff924p-2
src/math/special/fma.h:611: RD fmal(0x1.d1962720d678cp-1,-0x1.4548ee45c4084p-1,0x1.f416ab193d75cp-4) want -0x1.d2929879dc854p-2 got 0x1.fc38e6f3fffffp-8 ulperr 8347731722502144.000 = 0x1.da837cp+52 + -0x1.0000fep-1
src/math/special/fma.h:612: RD fmal(-0x1.9ddcb295a7d64p-1,0x1.67fb3a2068a78p-1,0x1.da9cd4597fe0ap-4) want -0x1.cf4f6eb4fc5d9p-2 got 0x1.59da5511fffffp-6 ulperr 8530909930192896.000 = 0x1.e4ed14p+52 + -0x1.0002b4p-1
src/math/special/fma.h:613: RD fmal(0x1.c00d16ed45b88p+0,0x1.c787eddda3664p+0,0x1.1e3e6f0cc1802p-5) want 0x1.931b8f379dcc3p+1 got -0x1.63fb63b8p-6 ulperr -7140470639558656.000 = -0x1.95e386p+52 + -0x1.ffff4ep-2
src/math/special/fma.h:614: RD fmal(0x1.19c2a2372c184p+0,-0x1.cb506961c19fp+0,0x1.db1abf3f7ba3ap-6) want -0x1.f21c0eab0bc19p+0 got 0x1.a29607ffffff8p-13 ulperr 8763735275470848.000 = 0x1.f22922p+52 + -0x1.000002p-1
src/math/special/fma.h:615: RD fmal(-0x1.3a263218ccd1cp+0,-0x1.e818d390df27cp+0,0x1.2a81ed71785f5p-5) want 0x1.3025ab0f63925p+1 got -0x1.bfdf0b9cp-6 ulperr -5412168283455488.000 = -0x1.33a56ap+52 + -0x1.ffff2p-2
src/math/special/fma.h:616: RD fmal(0x1.b0b041fbaca58p+0,-0x1.9d5f76d178e6p+0,0x1.0215c7bb84cf9p-6) want -0x1.5b52aec7ef401p+1 got 0x1.6be7a77ffffffp-7 ulperr 6135177709355008.000 = 0x1.5cbe96p+52 + -0x1.00002ep-1
src/math/special/fma.h:617: RD fmal(-0x1.377549d9a87f4p+0,-0x1.a13d4a03dd6d8p+0,0x1.f190388bc5cc6p-7) want 0x1.ff83bebbd6fe4p+0 got -0x1.e5a6a44p-9 ulperr -9015347881443328.000 = -0x1.003b4ap+53 + -0x1.ffffc4p-2
src/math/special/fma.h:618: RD fmal(0x1.6a726c0762ac8p-1,-0x1.d32f2d30e483cp+0,0x1.f953eb70fbde6p-7) want -0x1.46c61b3070333p+0 got 0x1.e556e47fffffep-11 ulperr 5752835425697792.000 = 0x1.4702c6p+52 + -0x1.000008p-1
src/math/special/fma.h:619: RD fmal(0x1.94cf2509d40cp-1,0x1.721976af6dfbp+0,0x1.f51a456921c3ep-7) want 0x1.28880842acc6p+0 got -0x1.effe1ep-8 ulperr -5250719925927936.000 = -0x1.2a7808p+52 + -0x1.ffff84p-2
src/math/special/fma.h:620: RD fmal(0x1.b128eb0ad8728p-1,0x1.7682566a54268p+0,0x1.bd4122a074cafp-8) want 0x1.3e9469530e762p+0 got -0x1.6fe0c7cp-9 ulperr -5617154187591680.000 = -0x1.3f4c5ap+52 + -0x1.ffffd2p-2
src/math/special/fma.h:621: RD fmal(0x1.c4ae75976e35cp+0,-0x1.11c329dd1160cp+0,0x1.9993f5e13c9bdp-8) want -0x1.e27d925b07cf2p+0 got 0x1.198edf5ffffffp-9 ulperr 8497736676540416.000 = 0x1.e30a58p+52 + -0x1.000012p-1
src/math/special/fma.h:622: RD fmal(-0x1.85f81f88fa3c4p+0,-0x1.17648a494fa18p-1,0x1.37d305113b48p-10) want 0x1.aa367b7490e57p-1 got -0x1.7a59ecffffffep-12 ulperr -7501265609162752.000 = -0x1.aa65c8p+52 + -0x1.fffff4p-2
src/math/special/fma.h:623: RD fmal(-0x1.311f2b4319efcp+0,0x1.abbb5272e3d18p-1,0x1.35841b7bdbcfep-10) want -0x1.fd337f24b39e1p-1 got 0x1.4cbc317ffffffp-11 ulperr 8963677814259712.000 = 0x1.fd86aep+52 + -0x1.00000ap-1
src/math/special/fma.h:624: RD fmal(0x1.ab94369a9a0dp-1,0x1.9d1e0e0aa3bacp+0,0x1.0a63ca87cfa78p-11) want 0x1.592173ee296b6p+0 got -0x1.fd8043ffffff8p-13 ulperr -6072697209487360.000 = -0x1.59316p+52 + -0x1.fffffcp-2
src/math/special/fma.h:666: RU fmal(0x1p+0,0x1p+0,-0x1p-1074) want 0x1p+0 got -0x1.fffffp-43 ulperr -4503599627370496.000 = -0x1p+52 + 0x0p+0
src/math/special/fma.h:667: bad fp exception: RU fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022)=0x1p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:667: RU fmal(0x1p-1074,0x1p-1074,0x1.fffffffffffffp-1022) want 0x1p-1021 got 0x1p-1074 ulperr -4503599358935040.000 = -0x1.fffffep+51 + 0x1p-1
src/math/special/fma.h:668: bad fp exception: RU fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022)=0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:668: RU fmal(0x1p-1074,-0x1p-1074,0x1.fffffffffffffp-1022) want 0x1.fffffffffffffp-1022 got -0x0p+0 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x0p+0
src/math/special/fma.h:669: bad fp exception: RU fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.fffffffffffffp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:669: RU fmal(0x1p-1074,-0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.fffffffffffffp-1022 got -0x0p+0 ulperr 9007199254740992.000 = 0x1p+53 + 0x0p+0
src/math/special/fma.h:670: bad fp exception: RU fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022)=-0x1.ffffffffffffep-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:670: RU fmal(0x1p-1074,0x1p-1074,-0x1.fffffffffffffp-1022) want -0x1.ffffffffffffep-1022 got 0x1p-1074 ulperr 9007199254740992.000 = 0x1p+53 + 0x1p+0
src/math/special/fma.h:671: RU fmal(0x1p-1074,-0x1p-1074,0x1p-1074) want 0x1p-1074 got -0x0p+0 ulperr -1.000 = -0x1p+0 + 0x0p+0
src/math/special/fma.h:672: RU fmal(0x1p-1074,-0x1p-1074,-0x1p-1074) want -0x1p-1074 got -0x0p+0 ulperr 1.000 = 0x1p+0 + 0x0p+0
src/math/special/fma.h:673: RU fmal(0x1.0000000000001p+0,0x1p+0,0x1p+53) want 0x1.0000000000001p+53 got 0x1.000008p+12 ulperr -4503599358935040.000 = -0x1.fffffep+51 + 0x1p-1
src/math/special/fma.h:674: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p+53) want 0x1.0000000000001p+53 got 0x1.ffc02p+10 ulperr -4503599358935040.000 = -0x1.fffffep+51 + 0x1p-1
src/math/special/fma.h:675: RU fmal(0x1p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp+53) want 0x1p+54 got -0x1.ffffep+10 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-2
src/math/special/fma.h:676: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep+53) want 0x1.fffffffffffffp+53 got 0x1.ffc02p+10 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:677: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1p-52) want 0x1.0000000000002p+0 got -0x1.fffffp-42 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:678: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.fffffffffffffp-53) want 0x1.0000000000002p+0 got -0x1.fffff8p-41 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:679: RU fmal(0x1.0000000000005p+0,0x1.ffffffffffffbp-1,0x1p-52) want 0x1.0000000000004p+0 got -0x1.8fffff8p-37 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:680: RU fmal(0x1.0000000000006p+0,0x1.ffffffffffffdp-1,0x1p-52) want 0x1.0000000000006p+0 got -0x1.1fffff8p-37 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-1
src/math/special/fma.h:699: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff5p+0 got 0x1.6800008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:700: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1p+0) want 0x1.ffffffffffff9p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:701: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffff7p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:702: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffffap-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffff5p+0 got 0x1.b000008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:703: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffff7p+0 got 0x1.f800008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:704: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff9p-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffff5p+0 got 0x1.f800008p-37 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:705: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffff7p+0 got 0x1.2000004p-36 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:706: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff8p-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffff5p+0 got 0x1.2000004p-36 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:707: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.fffffffffffffp-1) want 0x1.ffffffffffff7p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:708: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffff5p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:709: RU fmal(0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffff3p+0 got 0x1.4400004p-36 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1p-1
src/math/special/fma.h:710: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffep-1) want 0x1p+1 got -0x1.fffffp-42 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-2
src/math/special/fma.h:711: RU fmal(0x1.0000000000001p+0,0x1.fffffffffffffp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffep+0 got -0x1.fffffp-42 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:712: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.fffffffffffffp-1) want 0x1p+1 got -0x1.fffff8p-41 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-2
src/math/special/fma.h:713: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffffbp-1) want 0x1.ffffffffffffep+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:714: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffep-1,0x1.ffffffffffff7p-1) want 0x1.ffffffffffffcp+0 got -0x1.fffff8p-41 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:715: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1p+0) want 0x1p+1 got -0x1.7ffffcp-40 ulperr -4503599627370496.000 = -0x1p+52 + 0x1p-2
src/math/special/fma.h:716: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffffcp-1) want 0x1.ffffffffffffep+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:717: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffdp-1,0x1.ffffffffffff8p-1) want 0x1.ffffffffffffcp+0 got -0x1.7ffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:718: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffffdp-1) want 0x1.ffffffffffffep+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:719: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffcp-1,0x1.ffffffffffff9p-1) want 0x1.ffffffffffffcp+0 got -0x1.fffffcp-40 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:720: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffep-1) want 0x1.ffffffffffffep+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:721: RU fmal(0x1.0000000000001p+0,0x1.ffffffffffffbp-1,0x1.ffffffffffffap-1) want 0x1.ffffffffffffcp+0 got -0x1.3ffffep-39 ulperr -9007199254740992.000 = -0x1p+53 + 0x1p-1
src/math/special/fma.h:722: RU fmal(0x1.5872449b765b9p+0,0x1.c9acf91f8de2bp+0,0x1.9265607e4d168p+0) want 0x1.fd190c77c2a68p+1 got -0x1.b3fc37becffffp-4 ulperr -9195828849672192.000 = -0x1.055c76p+53 + 0x1.0001b4p-1
src/math/special/fma.h:723: RU fmal(0x1.81d010b146d0ep+0,0x1.2d3c680dc9071p+0,0x1.a80b69538754cp+0) want 0x1.b7040b44973a7p+1 got 0x1.4d0cb20197001p+1 ulperr -1864177136173056.000 = -0x1.a7dd64p+50 + 0x1.ffacbcp-2
src/math/special/fma.h:724: RU fmal(0x1.6a44f2252b6a2p+0,0x1.da452a378b832p+0,0x1.1fe2ce329104p+0) want 0x1.df842b6f48b13p+1 got 0x1.12e95c1ba4001p+0 ulperr -6017591705337856.000 = -0x1.560f7cp+52 + 0x1.ffdda2p-2
src/math/special/fma.h:725: RU fmal(0x1.096b1d26463eep+0,0x1.d846d3e34333p+0,0x1.721e3480922b8p+0) want 0x1.ade2909c026ap+1 got -0x1.a139d9b2bffffp-1 ulperr -9397595675820032.000 = -0x1.0b1882p+53 + 0x1.000d0ap-1
src/math/special/fma.h:726: RU fmal(0x1.99bd3434c454bp+0,0x1.03cb8e4115bdep+0,0x1.109f107188b08p+0) want 0x1.5837a47d37fafp+1 got 0x1.cfdec0c00a001p+0 ulperr -1975290892910592.000 = -0x1.c1211p+50 + 0x1.ffc604p-2
src/math/special/fma.h:727: RU fmal(0x1.ba930a0a78ed2p+0,0x1.8c24e8d67f636p+0,0x1.ac49dbfbf8affp+0) want 0x1.164947ae6a5dap+2 got -0x1.33e3b04ecffffp-2 ulperr -5234191281160192.000 = -0x1.298782p+52 + 0x1.000268p-1
src/math/special/fma.h:728: RU fmal(0x1.be224ad773191p+0,0x1.d96b77169731fp+0,0x1.662cfb75d8edep+0) want 0x1.27cd67e720f79p+2 got 0x1.e4711611c7801p+1 ulperr -942615600037888.000 = -0x1.aca6e6p+49 + 0x1.ffc372p-2
src/math/special/fma.h:729: RU fmal(0x1.59e7a1b0bdb3cp+0,0x1.2decba4d46421p+0,0x1.88f4062e96df5p+0) want 0x1.90749e4794f7ap+1 got -0x1.b3c84a9a87fffp-1 ulperr -8961479327875072.000 = -0x1.fd66bp+52 + 0x1.000d9ep-1
src/math/special/fma.h:730: RU fmal(0x1.22edf4b4da9a7p+0,0x1.dfa8d65f506cdp+0,0x1.2799208da2fbap+0) want 0x1.a45a1e99ed7a9p+1 got 0x1.a0bdfb8976001p-1 ulperr -5562059420860416.000 = -0x1.3c2a9ep+52 + 0x1.ffe5f4p-2
src/math/special/fma.h:731: RU fmal(0x1.ad5b991a2a279p+0,0x1.f02fd26706024p+0,0x1.831cdd5c8797cp+0) want 0x1.30d3a2ac90a61p+2 got 0x1.c7c15e1c82001p+1 ulperr -1353701616779264.000 = -0x1.33cbcep+50 + 0x1.ffc708p-2
src/math/special/fma.h:732: RU fmal(0x1.531f9620e764ap+0,0x1.cad61b54d4425p+0,0x1.df817cae8a9afp+0) want 0x1.0fd4e7f8671ddp+2 got 0x1.8e74e26059001p+1 ulperr -1277252004216832.000 = -0x1.2269dap+50 + 0x1.ffce32p-2
src/math/special/fma.h:733: RU fmal(0x1.629a5ad79494fp+0,0x1.049e58693f4c4p+0,0x1.45b0109e4d00cp+0) want 0x1.5758154e14966p+1 got -0x1.01173c9c1ffffp-3 ulperr -6322846842224640.000 = -0x1.676988p+52 + 0x1.000202p-1
src/math/special/fma.h:734: RU fmal(0x1.2f52b53f9240ap+0,0x1.1d5c686dbb0dap+0,0x1.6da3e392a4fd4p+0) want 0x1.5fe03a6795913p+1 got 0x1.5bdb7d9084001p+0 ulperr -3130480060792832.000 = -0x1.63e4f6p+51 + 0x1.ffd484p-2
src/math/special/fma.h:735: RU fmal(0x1.058667552b49ep+0,0x1.23307bacc1c42p+0,0x1.5b059b47cd8f5p+0) want 0x1.423f752486d14p+1 got -0x1.4bfb042743fffp+0 ulperr -8589175993401344.000 = -0x1.e83cf6p+52 + 0x1.0014cp-1
src/math/special/fma.h:736: RU fmal(0x1.a717d95337ed8p+0,0x1.2b1c37846aaadp+0,0x1.be65672f885b1p+0) want 0x1.d65e72303c076p+1 got -0x1.7e0573ec03fffp+1 ulperr -14995406941323264.000 = -0x1.aa31f2p+53 + 0x1.002fcp-1
src/math/special/fma.h:737: RU fmal(0x1.deb79287b3d32p+0,0x1.62776b829babap+0,0x1.67daf18bd2eb1p+0) want 0x1.ff5a0d45c69d7p+1 got 0x1.ad881652a0001p-3 ulperr -8523519902089216.000 = -0x1.e4818ap+52 + 0x1.fff94ap-2
src/math/special/fma.h:738: RU fmal(0x1.fbf12d3a6de91p+0,0x1.879fe6124f11p+0,0x1.9f3f1247a8641p+0) want 0x1.2a126c6980019p+2 got 0x1.45e3d61a84001p+2 ulperr 489379780886528.000 = 0x1.bd169cp+48 + 0x1.ffae88p-2
src/math/special/fma.h:739: RU fmal(0x1.c589628460e01p+0,0x1.e1bec1c797533p+0,0x1.349f30cdb84bbp+0) want 0x1.2286118b6f6e6p+2 got -0x1.8e9d95e0667ffp+1 ulperr -8617206560587776.000 = -0x1.e9d4dcp+52 + 0x1.0018eap-1
src/math/special/fma.h:740: RU fmal(0x1.46fd6c2c924ebp+0,0x1.65e2f02e730a1p+0,0x1.37739d2751098p+0) want 0x1.804a71c1f1273p+1 got 0x1.855d7947cb001p+0 ulperr -3335623268106240.000 = -0x1.7b376ap+51 + 0x1.ffcf54p-2
src/math/special/fma.h:741: RU fmal(0x1.f99e595ae11fdp+0,0x1.bd33d9a1d81bp+0,0x1.932a2a2e244c1p+0) want 0x1.409e34f8f2f8ap+2 got -0x1.7a49668943fffp+2 ulperr -12295260860317696.000 = -0x1.5d73ccp+53 + 0x1.002f4ap-1
src/math/special/fma.h:742: RU fmal(0x1.59ea1e56bfe55p+0,0x1.6f46b7d412a44p+0,0x1.80f2bc9a32cc3p+0) want 0x1.b89c7640e33p+1 got -0x1.ca180bfb5ffffp-3 ulperr -8254993178034176.000 = -0x1.d53df6p+52 + 0x1.000394p-1
src/math/special/fma.h:743: RU fmal(0x1.61490fcb44129p+0,0x1.0038ec4fc35c2p+0,0x1.df7436ed7a7b7p+0) want 0x1.a085ea68d05dp+1 got -0x1.5ed2c690f6fffp+1 ulperr -13499301254660096.000 = -0x1.7fac58p+53 + 0x1.002bdap-1
src/math/special/fma.h:744: RU fmal(0x1.d41b98788502bp+0,0x1.1a7b77843aca6p+0,0x1.05be891837d36p+0) want 0x1.8523596cecedap+1 got -0x1.48c8fc403bfffp-1 ulperr -8291801584631808.000 = -0x1.d75598p+52 + 0x1.000a46p-1
src/math/special/fma.h:745: RU fmal(0x1.3153cf6f69af9p+0,0x1.aaa947e38e57ap+0,0x1.8519f9b590645p+0) want 0x1.c0fcab7b46369p+1 got 0x1.25f4f4bd50001p-3 ulperr -7575453653008384.000 = -0x1.ae9d5cp+52 + 0x1.fffb68p-2
src/math/special/fma.h:746: RU fmal(0x1.c25a1f73581aap+0,0x1.0a51ffca372ap+0,0x1.0c77e3ebac5f3p+0) want 0x1.707ce48c7d72ep+1 got -0x1.3261c9a0dffffp+1 ulperr -11872435288670208.000 = -0x1.516f56p+53 + 0x1.00264cp-1
src/math/special/fma.h:747: RU fmal(0x1.829c2cde44b7p+0,0x1.f692e86d8cb36p+0,0x1.455e72d264bfp+0) want 0x1.0f16a3b8b3f98p+2 got -0x1.684386465ffffp+0 ulperr -6353494655107072.000 = -0x1.692784p+52 + 0x1.000b42p-1
src/math/special/fma.h:748: RU fmal(0x1.94729588dcc69p+0,0x1.c3bb794c6edf8p+0,0x1.9da4e94d262d2p+0) want 0x1.19d4bd84d9fd3p+2 got 0x1.e1b9a27570001p-1 ulperr -3898698849320960.000 = -0x1.bb3b12p+51 + 0x1.fff0f2p-2
src/math/special/fma.h:749: RU fmal(0x1.e6a5e7e39c3d5p+0,0x1.1b69af2bdd978p+0,0x1.e7ef1eafa119cp+0) want 0x1.00ac5b44c9f32p+2 got -0x1.6777d5d393fffp+1 ulperr -7677358731427840.000 = -0x1.b46846p+52 + 0x1.001678p-1
src/math/special/fma.h:750: bad fp exception: RU fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022)=0x1.b594d0e4368fp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:750: RU fmal(0x1.bc9ba1320700cp-1022,0x1.981f2e1a451a8p-2,0x1.046144efc0ceap-1022) want 0x1.b594d0e4368fp-1022 got -0x1.9dedc9560fffep-1023 ulperr -11338968138252288.000 = -0x1.4245dap+53 + 0x1.0019dep-1
src/math/special/fma.h:751: RU fmal(0x1.022db53c98d14p-1022,0x1.21157eef74848p-2,0x1.2f880432b1bc1p-1022) want 0x1.786ad60a02b3ep-1022 got -0x1.150255ac97fffp-1022 ulperr -11495198647386112.000 = -0x1.46b694p+53 + 0x1.0022ap-1
src/math/special/fma.h:752: bad fp exception: RU fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022)=0x1.cbb085199a3f6p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:752: RU fmal(0x1.805a491fa9597p-1022,0x1.e0f49d782ff87p-2,0x1.172a62346206p-1022) want 0x1.cbb085199a3f6p-1022 got -0x1.6ed115da2f7fep-1023 ulperr -11313497908445184.000 = -0x1.418c88p+53 + 0x1.0016eep-1
src/math/special/fma.h:753: bad fp exception: RU fmal(0x1.adbc3a9d816dep-1022,0x1.e039d4431e3cdp-2,0x1.93ceef6fe18a2p-1022)=0x1.2eabb7dc0e2f1p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:753: RU fmal(0x1.adbc3a9d816dep-1022,0x1.e039d4431e3cdp-2,0x1.93ceef6fe18a2p-1022) want 0x1.2eabb7dc0e2f1p-1021 got 0x1.ef7b6794e3002p-1023 ulperr -3145487213395968.000 = -0x1.6599bap+51 + 0x1.ffe108p-2
src/math/special/fma.h:754: RU fmal(0x1.645aa5c2df3afp-1022,0x1.649edfcad854fp-2,0x1.8b43e0bbaeb01p-1022) want 0x1.03af571d2b505p-1021 got 0x1.0ce86163c0201p-1021 ulperr 162249452814336.000 = 0x1.27214ap+47 + 0x1.ffbcc6p-2
src/math/special/fma.h:755: bad fp exception: RU fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022)=0x1.ad9ce7fcefa4p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:755: RU fmal(0x1.133474a2c0fb1p-1022,0x1.72442bcbfa01dp-2,0x1.4a1a21971c5dbp-1022) want 0x1.ad9ce7fcefa4p-1022 got -0x1.12bc4931e5ff8p-1025 ulperr -8161979755659264.000 = -0x1.cff47p+52 + 0x1.00044ap-1
src/math/special/fma.h:756: RU fmal(0x1.8ee3feb00c3e7p-1022,0x1.53bd9353313bcp-2,0x1.5501b57dc3b6fp-1022) want 0x1.d9598906f0bb4p-1022 got -0x1.4660b83f56fffp-1022 ulperr -14068955652030464.000 = -0x1.8fdd2p+53 + 0x1.0028ccp-1
src/math/special/fma.h:757: RU fmal(0x1.161225cfa61e2p-1022,0x1.b6dd69a0af5bp-2,0x1.924ffc3ead5c3p-1022) want 0x1.04be6fc25367cp-1021 got -0x1.f3ab56daa7fffp-1022 ulperr -8982192344530944.000 = -0x1.fe941ap+52 + 0x1.001f3ap-1
src/math/special/fma.h:758: bad fp exception: RU fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022)=0x1.70b6c3169f044p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:758: RU fmal(0x1.820f7faf219afp-1022,0x1.06717ae771f6dp-2,0x1.0dc5035f5e2afp-1022) want 0x1.70b6c3169f044p-1022 got -0x1.a779baefbe7fep-1023 ulperr -10211413595258880.000 = -0x1.2239dp+53 + 0x1.001a78p-1
src/math/special/fma.h:759: RU fmal(0x1.ce0e2ea55040ep-1022,0x1.ce5a55fa3828dp-2,0x1.f2f444d50ce59p-1022) want 0x1.61ca36f5a8a7ap-1021 got -0x1.173f0cea127ffp-1022 ulperr -8680213730820096.000 = -0x1.ed69bcp+52 + 0x1.001174p-1
src/math/special/fma.h:760: bad fp exception: RU fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022)=0x1.1440cf1c105ecp-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:760: RU fmal(0x1.a7a271c67cdcfp-1022,0x1.1e979090e218p-2,0x1.b1f10b6e2177ap-1022) want 0x1.1440cf1c105ecp-1021 got -0x1.f88fda5ffffp-1030 ulperr -4877233327964160.000 = -0x1.153d16p+52 + 0x1.00002p-1
src/math/special/fma.h:761: bad fp exception: RU fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022)=0x1.1186e1f77012ep-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:761: RU fmal(0x1.76df065829dc6p-1022,0x1.fb22ab1b86b8bp-2,0x1.6966267f317cp-1022) want 0x1.1186e1f77012ep-1021 got -0x1.2ffba526fbff8p-1025 ulperr -5146168610783232.000 = -0x1.24869cp+52 + 0x1.00026p-1
src/math/special/fma.h:762: bad fp exception: RU fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022)=0x1.8d86310bad176p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:762: RU fmal(0x1.8b004a28b70dbp-1022,0x1.48e5805a8b453p-2,0x1.0ea791f716557p-1022) want 0x1.8d86310bad176p-1022 got -0x1.1b755c367f7fep-1023 ulperr -9486645380251648.000 = -0x1.0da06ep+53 + 0x1.0011b8p-1
src/math/special/fma.h:763: RU fmal(0x1.fb3391a4b1d23p-1022,0x1.4d8705b057caep-2,0x1.d026cb6dae73bp-1022) want 0x1.3aad18b424c68p-1021 got -0x1.0a1784c7c6bffp-1021 ulperr -10216978799132672.000 = -0x1.22624ep+53 + 0x1.002142p-1
src/math/special/fma.h:764: bad fp exception: RU fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022)=0x1.c0048fd33a418p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:764: RU fmal(0x1.a5ba39730e197p-1022,0x1.794df89b1cc49p-2,0x1.24a0a388d0b6bp-1022) want 0x1.c0048fd33a418p-1022 got -0x1.d026e457f0ffcp-1024 ulperr -9922974329077760.000 = -0x1.1a0724p+53 + 0x1.000e82p-1
src/math/special/fma.h:765: bad fp exception: RU fmal(0x1.aa9eff070281cp-1022,0x1.fab05661b48ebp-2,0x1.cbe2af6c69c6ep-1022)=0x1.4f7ddbe122765p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:765: RU fmal(0x1.aa9eff070281cp-1022,0x1.fab05661b48ebp-2,0x1.cbe2af6c69c6ep-1022) want 0x1.4f7ddbe122765p-1021 got 0x1.9e529858da002p-1023 ulperr -4079820841418752.000 = -0x1.cfd26ap+51 + 0x1.ffe61ap-2
src/math/special/fma.h:766: bad fp exception: RU fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022)=0x1.e0e762ee2e7c6p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:766: RU fmal(0x1.758bbff0ec4bap-1022,0x1.a4a197f3fa424p-2,0x1.47761e8d142ddp-1022) want 0x1.e0e762ee2e7c6p-1022 got -0x1.e2fe0f96ebffep-1023 ulperr -12708595627982848.000 = -0x1.693334p+53 + 0x1.001e3p-1
src/math/special/fma.h:767: RU fmal(0x1.4dab43918a9a8p-1022,0x1.ed667442b4751p-2,0x1.3f25f82e02e3ep-1022) want 0x1.dfec0ee732dcbp-1022 got 0x1.6a41c4d18a001p-1022 ulperr -2069987942465536.000 = -0x1.d6a928p+50 + 0x1.ffa57p-2
src/math/special/fma.h:768: RU fmal(0x1.7943735951931p-1022,0x1.fa6a357c5c9ddp-2,0x1.0bed44b0b71b4p-1022) want 0x1.c6803a6059abfp-1022 got 0x1.0e970cce13401p-1022 ulperr -3235393763803136.000 = -0x1.6fd25ap+51 + 0x1.ffbc5ap-2
src/math/special/fma.h:769: bad fp exception: RU fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022)=0x1.8640492c4595ap-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:769: RU fmal(0x1.66c26bc29a5e8p-1022,0x1.3faed079f761ap-2,0x1.163ff906dd651p-1022) want 0x1.8640492c4595ap-1022 got -0x1.3271a1b37ffep-1027 ulperr -7033839486500864.000 = -0x1.8fd3d6p+52 + 0x1.000132p-1
src/math/special/fma.h:770: RU fmal(0x1.f52172c56bdf5p-1022,0x1.672b2de422734p-2,0x1.7bc5d708e5a34p-1022) want 0x1.15c5b95145cc7p-1021 got 0x1.3cf4f71d18801p-1021 ulperr 689341714137088.000 = 0x1.3979fp+49 + 0x1.ffb0c2p-2
src/math/special/fma.h:771: bad fp exception: RU fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022)=0x1.e7fa0dd76fbfp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:771: RU fmal(0x1.2f94e89aa7558p-1022,0x1.dfa6d30835f5ep-2,0x1.59c6b0d504cf9p-1022) want 0x1.e7fa0dd76fbfp-1022 got -0x1.60a5d541afffcp-1024 ulperr -10135538703007744.000 = -0x1.2011cp+53 + 0x1.000b06p-1
src/math/special/fma.h:772: bad fp exception: RU fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022)=0x1.b63a7f56fce2p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:772: RU fmal(0x1.6159897ae533cp-1022,0x1.f3b8892e3a3c8p-2,0x1.09ca702b7759p-1022) want 0x1.b63a7f56fce2p-1022 got -0x1.497a9bc51fffcp-1024 ulperr -9158460486713344.000 = -0x1.044c92p+53 + 0x1.000a4cp-1
src/math/special/fma.h:773: RU fmal(0x1.f73d5f4e81fd8p-1022,0x1.7ccff2642124ap-2,0x1.e7d836a0c8308p-1022) want 0x1.517f1763126d4p-1021 got -0x1.06939f3371fffp-1021 ulperr -10556596895612928.000 = -0x1.2c095ap+53 + 0x1.0020d2p-1
src/math/special/fma.h:774: RU fmal(0x1.b4328925969fbp-1022,0x1.8fa02832a22d5p-2,0x1.2084598e2f8c6p-1022) want 0x1.cabf43838dc52p-1022 got -0x1.7c61d65f0a3ffp-1022 ulperr -14762118276448256.000 = -0x1.a3908cp+53 + 0x1.002f8cp-1
src/math/special/fma.h:775: bad fp exception: RU fmal(0x1.66ee60a92676fp-1022,0x1.eddd2e7681ce4p-2,0x1.b81d57daeb3a7p-1022)=0x1.329c918ffb683p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:775: RU fmal(0x1.66ee60a92676fp-1022,0x1.eddd2e7681ce4p-2,0x1.b81d57daeb3a7p-1022) want 0x1.329c918ffb683p-1021 got 0x1.cd379885b8008p-1025 ulperr -4886854591578112.000 = -0x1.15c918p+52 + 0x1.fff8ccp-2
src/math/special/fma.h:776: bad fp exception: RU fmal(0x1.ff2737585895dp-1022,0x1.fb4bf3828ae4ap-2,0x1.4a866847740fp-1022)=0x1.23e07e4dbbeabp-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:776: RU fmal(0x1.ff2737585895dp-1022,0x1.fb4bf3828ae4ap-2,0x1.4a866847740fp-1022) want 0x1.23e07e4dbbeabp-1021 got 0x1.46c53f7571002p-1023 ulperr -3697601232764928.000 = -0x1.a45e5cp+51 + 0x1.ffeb94p-2
src/math/special/fma.h:777: bad fp exception: RU fmal(0x1.5e2008d269a86p-1022,0x1.507bbbe4d78eep-2,0x1.6220c6f83f636p-1022)=0x1.d52d9874f1c75p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:777: RU fmal(0x1.5e2008d269a86p-1022,0x1.507bbbe4d78eep-2,0x1.6220c6f83f636p-1022) want 0x1.d52d9874f1c75p-1022 got 0x1.eda0503c4a002p-1023 ulperr -3911886277967872.000 = -0x1.bcbaep+51 + 0x1.ffc24cp-2
src/math/special/fma.h:778: bad fp exception: RU fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022)=0x1.9864925e2fb1p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:778: RU fmal(0x1.ce7e2e5812d86p-1022,0x1.0e6689d092e5fp-2,0x1.1e43fd55c3458p-1022) want 0x1.9864925e2fb1p-1022 got -0x1.53ae580e8bff8p-1025 ulperr -7931489261977600.000 = -0x1.c2da5cp+52 + 0x1.00054ep-1
src/math/special/fma.h:779: RU fmal(0x1.7b353b81e793dp-1022,0x1.82b426f874c6dp-2,0x1.d92b19d21fd5cp-1022) want 0x1.342fb0c544a79p-1021 got 0x1.2af4c8aebe401p-1022 ulperr -2792024021401600.000 = -0x1.3d6a98p+51 + 0x1.ffdaa2p-2
src/math/special/fma.h:780: bad fp exception: RU fmal(0x1.5be667823370ap-1022,0x1.a8a99b163869bp-2,0x1.95456b68dc3bcp-1022)=0x1.12c638de03c71p-1021, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:780: RU fmal(0x1.5be667823370ap-1022,0x1.a8a99b163869bp-2,0x1.95456b68dc3bcp-1022) want 0x1.12c638de03c71p-1021 got 0x1.49af7fc787002p-1023 ulperr -3383908095754240.000 = -0x1.80b4bp+51 + 0x1.ffeb66p-2
src/math/special/fma.h:781: bad fp exception: RU fmal(0x1.17b0fc6c850e5p-1022,0x1.d1d0a4853c315p-2,0x1.36b79f7c0c24p-1022)=0x1.b5f2baff5635dp-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:781: RU fmal(0x1.17b0fc6c850e5p-1022,0x1.d1d0a4853c315p-2,0x1.36b79f7c0c24p-1022) want 0x1.b5f2baff5635dp-1022 got 0x1.6a1930472401p-1026 ulperr -7306333686595584.000 = -0x1.9f5126p+52 + 0x1.fffa58p-2
src/math/special/fma.h:782: RU fmal(0x1.bd97819bacfd8p-1022,0x1.2c25f267ba4eep-2,0x1.804b5204a3f3ap-1022) want 0x1.01739c190fd97p-1021 got 0x1.b9e166e6b4001p-1022 ulperr -642314640818176.000 = -0x1.241744p+49 + 0x1.ffc8c4p-2
src/math/special/fma.h:783: RU fmal(0x1.596577053873dp-1022,0x1.3562ab2d29949p-2,0x1.b3f1ee75db6e7p-1022) want 0x1.0e268a498009bp-1021 got 0x1.e8136bc159401p-1022 ulperr -459377991483392.000 = -0x1.a1cd46p+48 + 0x1.ffc2fep-2
src/math/special/fma.h:784: bad fp exception: RU fmal(0x1.3c7a68cf0f7b3p-1022,0x1.9a55c15b167bdp-2,0x1.7635b7b163c07p-1022)=0x1.f5073b93b7b81p-1022, want INEXACT got INEXACT|UNDERFLOW
src/math/special/fma.h:784: RU fmal(0x1.3c7a68cf0f7b3p-1022,0x1.9a55c15b167bdp-2,0x1.7635b7b163c07p-1022) want 0x1.f5073b93b7b81p-1022 got 0x1.75f9a97213802p-1023 ulperr -5524660993130496.000 = -0x1.3a0a66p+52 + 0x1.ffd14p-2
src/math/special/fma.h:785: RU fmal(0x1.5825164bc4068p-1022,0x1.dcbb6e5ff3245p-2,0x1.52fc3be0e84dap-1022) want 0x1.f334771c2dcfbp-1022 got 0x1.2b86ba6b02001p-1022 ulperr -3512783958179840.000 = -0x1.8f5b78p+51 + 0x1.ffb51ep-2
src/math/special/fma.h:786: RU fmal(0x1.139ea77b760ecp+1022,0x1.9b25f2fd017eap+2,-0x1.bc16788922b6fp+1023) want 0x1.b93aac527380fp+1023 got 0x1.c3ec4f2ee0001p+1022 ulperr -3787028357447680.000 = -0x1.ae8908p+51 + 0x1.ffc782p-2
src/math/special/fma.h:787: RU fmal(0x1.0e6f9c1657d7cp+1022,0x1.4d5c6b55ab5f1p+2,-0x1.e027dd5742e2cp+1023) want 0x1.c0538372b4bbfp+1022 got 0x1.54dede6de0001p+1021 ulperr -4888708943708160.000 = -0x1.15e414p+52 + 0x1.ffd564p-2
src/math/special/fma.h:788: RU fmal(0x1.1182524fa411cp+1022,0x1.a3dba56842d19p+2,-0x1.c1ad59474d71fp+1023) want 0x1.bf78969300a77p+1023 got 0x1.8651491ef0001p+1022 ulperr -4438724683235328.000 = -0x1.f89fe4p+51 + 0x1.ffcf36p-2
src/math/special/fma.h:789: RU fmal(0x1.1cbf4fb8ec82p+1022,0x1.5e32019a84fbbp+2,-0x1.985af08f32edep+1023) want 0x1.72af6bbad4a29p+1023 got 0x1.a68c1c1ec0001p+1023 ulperr 912367152005120.000 = 0x1.9ee584p+49 + 0x1.ff965cp-2
src/math/special/fma.h:790: RU fmal(0x1.311e25c6db346p+1022,0x1.4e30db6c4b51dp+2,-0x1.7681f7a9786a7p+1023) want 0x1.a61d29434fc14p+1023 got -0x1.791d1988fffffp+1017 ulperr -7529566222417920.000 = -0x1.ac019cp+52 + 0x1.0000bcp-1
src/math/special/fma.h:791: RU fmal(0x1.1201cf577052fp+1022,0x1.59730b2db7a16p+2,-0x1.56f1a64a078d5p+1023) want 0x1.8c8d801df34dap+1023 got -0x1.3048609fd7fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.001304p-1
src/math/special/fma.h:792: RU fmal(0x1.3e52335b76e81p+1022,0x1.4dbd56f857479p+2,-0x1.509340c11bd2ep+1023) want 0x1.ed6576837f654p+1023 got -0x1.e498d5441bfffp+1022 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.001e4ap-1
src/math/special/fma.h:793: RU fmal(0x1.18566b4f843cbp+1022,0x1.444fba10eaf29p+2,-0x1.f927beae57f0ap+1023) want 0x1.9a433b979655ap+1022 got 0x1.a048d2820c001p+1022 ulperr 105937230626816.000 = 0x1.8165bcp+46 + 0x1.004bf6p-1
src/math/special/fma.h:794: RU fmal(0x1.3fbe544fe1be8p+1022,0x1.2d2a5fda03639p+2,-0x1.007407dbfd03cp+1023) want 0x1.efdb644b613e6p+1023 got -0x1.e14223655ffffp+1022 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.001e14p-1
src/math/special/fma.h:795: RU fmal(0x1.263a0d3bc2e4p+1022,0x1.4cc198adbc651p+2,-0x1.734b1c1f7fdb8p+1023) want 0x1.899878afc0fa3p+1023 got 0x1.a136204480001p+1023 ulperr 415454233362432.000 = 0x1.79da7ap+48 + 0x1.ff97b2p-2
src/math/special/fma.h:796: RU fmal(0x1.5bf4aec8efc8ep+1022,0x1.555f0341516c9p+2,-0x1.c706408acd14cp+1023) want 0x1.d8f5e18b868bdp+1023 got 0x1.3e5679fdf8001p+1022 ulperr -5520279589617664.000 = -0x1.39caa4p+52 + 0x1.ffd836p-2
src/math/special/fma.h:797: RU fmal(0x1.1e57f1af78279p+1022,0x1.34bc0c7f082b3p+2,-0x1.497b92c1365edp+1023) want 0x1.692cb7ec68a94p+1023 got -0x1.c0a1f29b27fffp+1021 ulperr -8326959113175040.000 = -0x1.d95534p+52 + 0x1.000e06p-1
src/math/special/fma.h:798: RU fmal(0x1.1d9824cd73511p+1022,0x1.1d557ddfe47ffp+2,-0x1.556cdb1d20a72p+1023) want 0x1.2736a6b6e35f3p+1023 got 0x1.bc6f9c9778001p+1021 ulperr -3238800209739776.000 = -0x1.70357ep+51 + 0x1.ffe43ap-2
src/math/special/fma.h:799: RU fmal(0x1.1ff85a24aff31p+1022,0x1.39ab374b2680dp+2,-0x1.35e6b07b651b8p+1023) want 0x1.8bc7ce2087081p+1023 got 0x1.84b319bafa001p+1023 ulperr -124568110891008.000 = -0x1.c52d18p+46 + 0x1.ff9ed4p-2
src/math/special/fma.h:800: RU fmal(0x1.0449b3965227ep+1022,0x1.4430d4441f9f2p+2,-0x1.a6966c96307ep+1023) want 0x1.d94eda8c81772p+1022 got -0x1.992ed6b71ffffp+1021 ulperr -11925733685329920.000 = -0x1.52f322p+53 + 0x1.001992p-1
src/math/special/fma.h:801: RU fmal(0x1.3c91fa00fd0c7p+1022,0x1.1b6661c0b0303p+2,-0x1.f1f2846b64483p+1023) want 0x1.95eae0d2644d4p+1022 got 0x1.9985d8eaa0001p+1019 ulperr -6240425346072576.000 = -0x1.62ba24p+52 + 0x1.00799ap-1
src/math/special/fma.h:802: RU fmal(0x1.0979b36d46534p+1022,0x1.12fa205f41f7fp+2,-0x1.a83ecf4544a63p+1023) want 0x1.2420f34e2aa3dp+1022 got -0x1.335a0fe67ffffp+1019 ulperr -5815056080044032.000 = -0x1.4a8c34p+52 + 0x1.ff099ap-2
src/math/special/fma.h:803: RU fmal(0x1.4c89df582a599p+1022,0x1.55f3dc473ea8fp+2,-0x1.e35037292ddfp+1023) want 0x1.95109fdbc3772p+1023 got -0x1.afa3b29623fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.001afap-1
src/math/special/fma.h:804: RU fmal(0x1.35ee0a669c4fbp+1022,0x1.2263cb63f386ap+2,-0x1.449218ae35ac7p+1023) want 0x1.7a8ed977d817bp+1023 got 0x1.47da9ddfb8001p+1022 ulperr -3775828693352448.000 = -0x1.ad4314p+51 + 0x1.ffd704p-2
src/math/special/fma.h:805: RU fmal(0x1.117cc860f61bcp+1022,0x1.440985b25d994p+2,-0x1.d7a7d82000449p+1023) want 0x1.b960b7088e75p+1022 got 0x1.ddfba372c0001p+1022 ulperr 643964982001664.000 = 0x1.24d764p+49 + 0x1.00444p-1
src/math/special/fma.h:806: RU fmal(0x1.1e78a37be320fp+1022,0x1.0db0fce62287bp+2,-0x1.376337da5eb53p+1023) want 0x1.24326b9956dfcp+1023 got -0x1.d2881b3595fffp+1023 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.003a52p-1
src/math/special/fma.h:807: RU fmal(0x1.0c79b5c8331c2p+1022,0x1.0aba6ea746b5p+2,-0x1.c86f1fcaf0741p+1023) want 0x1.9c135bb2cff85p+1021 got -0x1.cc298babfffffp+1019 ulperr -9273125376098304.000 = -0x1.078edep+53 + 0x1.fe1cc2p-2
src/math/special/fma.h:808: RU fmal(0x1.556c4c072f272p+1022,0x1.347758d7d4eb5p+2,-0x1.c6fe4f24b248dp+1023) want 0x1.6fcc9f756df6ep+1023 got -0x1.f6f4c76597fffp+1022 ulperr -9007198717870080.000 = -0x1.fffffep+52 + 0x1.001f7p-1
src/math/special/fma.h:809: RU fmal(-0x1.e8349b891b2fp-1,0x1.4a6dec9b72578p-1,0x1.3b6151ce809ddp-1) want 0x1.3a62fe330b356p-11 got -0x1.d97120fffffffp-11 ulperr -13859626462216192.000 = -0x1.89ea0ep+53 + 0x1.003b2ep-1
src/math/special/fma.h:810: RU fmal(0x1.2996632ac7d74p-1,-0x1.bb3c58b654d94p-1,0x1.01a6660e64a31p-1) want 0x1.ed045bb956a8fp-15 got -0x1.070d61fffffffp-15 ulperr -13300911346548736.000 = -0x1.7a08dep+53 + 0x1.0aa0e2p-1
src/math/special/fma.h:811: RU fmal(-0x1.c602e894c1df8p-1,0x1.a1c980e7d3f94p-1,0x1.7271244b43386p-1) want -0x1.ba251fe026e5bp-15 got -0x1.af2b6cp-15 ulperr 193081311756288.000 = 0x1.5f367ep+47 + 0x1.fa6bcap-2
src/math/special/fma.h:812: RU fmal(-0x1.c84baf47e85cp-1,0x1.770b5149ef2ep-1,0x1.4d80f139320bap-1) want -0x1.79277433b9e23p-10 got 0x1.d4b6fp-11 ulperr 10757823629623296.000 = 0x1.31c178p+53 + 0x1.ffc56ap-2
src/math/special/fma.h:813: RU fmal(-0x1.36e667dcf9c6p-1,0x1.2591f82556b88p-1,0x1.2452a0f795f95p-1) want 0x1.c83c8e63c15ap-3 got -0x1.221ccbfffffffp-12 ulperr -8036166204915712.000 = -0x1.c8cd9cp+52 + 0x1.000012p-1
src/math/special/fma.h:814: RU fmal(0x1.88b2cede61e4cp-1,-0x1.71dcab5ad9e9p-3,0x1.32b27fea2ae97p-3) want 0x1.70461909b25e3p-7 got -0x1.affe57fffffffp-17 ulperr -6486162973655040.000 = -0x1.70b218p+52 + 0x1.00000ep-1
src/math/special/fma.h:815: RU fmal(0x1.8d1e44002c98p-3,-0x1.af9fdfb347834p-1,0x1.e280942fb4146p-4) want -0x1.761ac23896dfdp-5 got 0x1.0bec48p-14 ulperr 6590522625884160.000 = 0x1.76a0bap+52 + 0x1.ffffdep-2
src/math/special/fma.h:816: RU fmal(0x1.236e8cb9492c8p-1,-0x1.d37443a57f1c4p-1,0x1.ca10df801aabcp-4) want -0x1.a1a2cdf0138f9p-2 got 0x1.f090cab7p-5 ulperr 8439088898113536.000 = 0x1.dfb4e8p+52 + 0x1.fff07cp-2
src/math/special/fma.h:817: RU fmal(-0x1.6ad943e610fb8p-1,-0x1.cef92a7bb18bcp-1,0x1.f28587d8fb0ep-4) want 0x1.866b5204b9aedp-1 got -0x1.8c9eb9a6fffffp-5 ulperr -7304415446827008.000 = -0x1.9f353cp+52 + 0x1.00031ap-1
src/math/special/fma.h:818: RU fmal(-0x1.60a8569a5d894p-1,-0x1.ca07e29dd171cp-1,0x1.b6c475ace09ecp-4) want 0x1.72549291e2f7bp-1 got -0x1.b6fd181e7ffffp-5 ulperr -6997593720619008.000 = -0x1.8dc464p+52 + 0x1.00036ep-1
src/math/special/fma.h:819: RU fmal(0x1.d1962720d678cp-1,-0x1.4548ee45c4084p-1,0x1.f416ab193d75cp-4) want -0x1.d2929879dc853p-2 got 0x1.fc38e6f4p-8 ulperr 8347732259373056.000 = 0x1.da837ep+52 + 0x1.fffe04p-2
src/math/special/fma.h:820: RU fmal(-0x1.9ddcb295a7d64p-1,0x1.67fb3a2068a78p-1,0x1.da9cd4597fe0ap-4) want -0x1.cf4f6eb4fc5d8p-2 got 0x1.59da5512p-6 ulperr 8530910467063808.000 = 0x1.e4ed16p+52 + 0x1.fffa98p-2
src/math/special/fma.h:821: RU fmal(0x1.c00d16ed45b88p+0,0x1.c787eddda3664p+0,0x1.1e3e6f0cc1802p-5) want 0x1.931b8f379dcc4p+1 got -0x1.63fb63b7fffffp-6 ulperr -7140470102687744.000 = -0x1.95e384p+52 + 0x1.000058p-1
src/math/special/fma.h:822: RU fmal(0x1.19c2a2372c184p+0,-0x1.cb506961c19fp+0,0x1.db1abf3f7ba3ap-6) want -0x1.f21c0eab0bc18p+0 got 0x1.a29607ffffff8p-13 ulperr 8763735812341760.000 = 0x1.f22924p+52 + 0x1.fffffcp-2
src/math/special/fma.h:823: RU fmal(-0x1.3a263218ccd1cp+0,-0x1.e818d390df27cp+0,0x1.2a81ed71785f5p-5) want 0x1.3025ab0f63926p+1 got -0x1.bfdf0b9bfffffp-6 ulperr -5412167746584576.000 = -0x1.33a568p+52 + 0x1.00007p-1
src/math/special/fma.h:824: RU fmal(0x1.b0b041fbaca58p+0,-0x1.9d5f76d178e6p+0,0x1.0215c7bb84cf9p-6) want -0x1.5b52aec7ef4p+1 got 0x1.6be7a78p-7 ulperr 6135178246225920.000 = 0x1.5cbe98p+52 + 0x1.ffffa6p-2
src/math/special/fma.h:825: RU fmal(-0x1.377549d9a87f4p+0,-0x1.a13d4a03dd6d8p+0,0x1.f190388bc5cc6p-7) want 0x1.ff83bebbd6fe5p+0 got -0x1.e5a6a43ffffffp-9 ulperr -9015346807701504.000 = -0x1.003b48p+53 + 0x1.00001ep-1
src/math/special/fma.h:826: RU fmal(0x1.6a726c0762ac8p-1,-0x1.d32f2d30e483cp+0,0x1.f953eb70fbde6p-7) want -0x1.46c61b3070332p+0 got 0x1.e556e47fffffep-11 ulperr 5752835962568704.000 = 0x1.4702c8p+52 + 0x1.fffffp-2
src/math/special/fma.h:827: RU fmal(0x1.94cf2509d40cp-1,0x1.721976af6dfbp+0,0x1.f51a456921c3ep-7) want 0x1.28880842acc61p+0 got -0x1.effe1dfffffffp-8 ulperr -5250719389057024.000 = -0x1.2a7806p+52 + 0x1.00003ep-1
src/math/special/fma.h:828: RU fmal(0x1.b128eb0ad8728p-1,0x1.7682566a54268p+0,0x1.bd4122a074cafp-8) want 0x1.3e9469530e763p+0 got -0x1.6fe0c7bffffffp-9 ulperr -5617153650720768.000 = -0x1.3f4c58p+52 + 0x1.000016p-1
src/math/special/fma.h:829: RU fmal(0x1.c4ae75976e35cp+0,-0x1.11c329dd1160cp+0,0x1.9993f5e13c9bdp-8) want -0x1.e27d925b07cf1p+0 got 0x1.198edf6p-9 ulperr 8497737213411328.000 = 0x1.e30a5ap+52 + 0x1.ffffdcp-2
src/math/special/fma.h:830: RU fmal(-0x1.85f81f88fa3c4p+0,-0x1.17648a494fa18p-1,0x1.37d305113b48p-10) want 0x1.aa367b7490e58p-1 got -0x1.7a59ecffffffep-12 ulperr -7501265072291840.000 = -0x1.aa65c6p+52 + 0x1.000006p-1
src/math/special/fma.h:831: RU fmal(-0x1.311f2b4319efcp+0,0x1.abbb5272e3d18p-1,0x1.35841b7bdbcfep-10) want -0x1.fd337f24b39ep-1 got 0x1.4cbc317ffffffp-11 ulperr 8963678351130624.000 = 0x1.fd86bp+52 + 0x1.ffffecp-2
src/math/special/fma.h:832: RU fmal(0x1.ab94369a9a0dp-1,0x1.9d1e0e0aa3bacp+0,0x1.0a63ca87cfa78p-11) want 0x1.592173ee296b7p+0 got -0x1.fd8043ffffff8p-13 ulperr -6072696672616448.000 = -0x1.59315ep+52 + 0x1.000002p-1
src/math/special/fma.h:833: RN fmal(0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want 0x1.000000001p-1030 got 0x1p-1038 ulperr -17523466567680.000 = -0x1.fep+43 + -0x1p-28
src/math/special/fma.h:834: RN fmal(-0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want -0x1.000000003p-1030 got -0x1p-1038 ulperr 17523466567680.000 = 0x1.fep+43 + 0x1p-28
src/math/special/fma.h:835: RD fmal(0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want 0x1.000000001p-1030 got 0x1p-1038 ulperr -17523467616256.000 = -0x1.fe0002p+43 + -0x1p-28
src/math/special/fma.h:836: RD fmal(-0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want -0x1.00000000301p-1030 got -0x1.000000001p-1038 ulperr 17523466567680.000 = 0x1.fep+43 + -0x1p+0
src/math/special/fma.h:837: RU fmal(0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want 0x1.00000000101p-1030 got 0x1.000000001p-1038 ulperr -17523466567680.000 = -0x1.fep+43 + 0x1p+0
src/math/special/fma.h:838: RU fmal(-0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want -0x1.000000003p-1030 got -0x1p-1038 ulperr 17523467616256.000 = 0x1.fe0002p+43 + 0x1p-28
src/math/special/fma.h:839: RZ fmal(0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want 0x1.000000001p-1030 got 0x1p-1038 ulperr -17523466567680.000 = -0x1.fdfffep+43 + -0x1p-28
src/math/special/fma.h:840: RZ fmal(-0x1.000000001p-1000,0x1.000000001p-30,-0x1p-1066) want -0x1.000000003p-1030 got -0x1p-1038 ulperr 17523466567680.000 = 0x1.fdfffep+43 + 0x1p-28
src/math/special/fma.h:841: RN fmal(-0x1p-1000,0x1.000001p-74,0x1p-1022) want 0x1.ffffffffffffep-1023 got 0x1.ffep-1023 ulperr -1099511627776.000 = -0x1p+40 + 0x1p-24
src/math/special/fma.h:842: RU fmal(-0x1p-1000,0x1.000001p-74,0x1p-1022) want 0x1.ffffffffffffep-1023 got 0x1.ffe0000000002p-1023 ulperr -1099511562240.000 = -0x1.fffffep+39 + 0x1p-24
src/math/special/fma.h:843: RD fmal(-0x1p-1000,0x1.000001p-74,0x1p-1022) want 0x1.ffffffffffffcp-1023 got 0x1.ffep-1023 ulperr -1099511627776.000 = -0x1p+40 + -0x1.fffffep-1
src/math/special/fma.h:844: RZ fmal(-0x1p-1000,0x1.000001p-74,0x1p-1022) want 0x1.ffffffffffffcp-1023 got 0x1.ffep-1023 ulperr -1099511562240.000 = -0x1.fffffcp+39 + -0x1.fffffep-1
FAIL src/math/fmal.exe [status 1]
src/math/special/ilogb.h:1: bad fp exception: RN ilogb(0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogb.h:2: bad fp exception: RN ilogb(-0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogb.h:6: bad fp exception: RN ilogb(inf)=2147483647, want INVALID got 0
src/math/special/ilogb.h:7: bad fp exception: RN ilogb(-inf)=2147483647, want INVALID got 0
src/math/special/ilogb.h:8: bad fp exception: RN ilogb(nan)=-2147483648, want INVALID got 0
FAIL src/math/ilogb.exe [status 1]
src/math/special/ilogbf.h:1: bad fp exception: RN ilogbf(0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogbf.h:2: bad fp exception: RN ilogbf(-0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogbf.h:6: bad fp exception: RN ilogbf(inf)=2147483647, want INVALID got 0
src/math/special/ilogbf.h:7: bad fp exception: RN ilogbf(-inf)=2147483647, want INVALID got 0
src/math/special/ilogbf.h:8: bad fp exception: RN ilogbf(-nan)=-2147483648, want INVALID got 0
FAIL src/math/ilogbf.exe [status 1]
src/math/special/ilogb.h:1: bad fp exception: RN ilogbl(0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogb.h:2: bad fp exception: RN ilogbl(-0x0p+0)=-2147483648, want INVALID got 0
src/math/special/ilogb.h:6: bad fp exception: RN ilogbl(inf)=2147483647, want INVALID got 0
src/math/special/ilogb.h:7: bad fp exception: RN ilogbl(-inf)=2147483647, want INVALID got 0
src/math/special/ilogb.h:8: bad fp exception: RN ilogbl(nan)=-2147483648, want INVALID got 0
FAIL src/math/ilogbl.exe [status 1]
X src/math/special/j0.h:7: RN j0(-0x1.33d132fd04a92p+1) want 0x1.092b2a541a68ep-19 got 0x1.092b2a541b1ap-19 ulperr 2833.704 = 0x1.624p+11 + -0x1.2ebdbp-2
X src/math/special/j0.h:8: RN j0(-0x1.33d15297be06fp+1) want 0x1.5352913be3275p-26 got 0x1.5352913ddb41bp-26 ulperr 2064806.000 = 0x1.f81a6p+20 + 0x1.c281e2p-7
X src/math/special/j0.h:9: RN j0(0x1.33d152e971b4p+1) want -0x1.19b7921f03c8ep-54 got -0x1.00209921727cbp-54 ulperr 450179413049344.000 = 0x1.996f9p+48 + 0x1.ece5dp-5
X src/math/special/j0.h:10: RN j0(0x1.6148f5b2c2e45p+2) want -0x1.fbb40985f6e34p-56 got -0x1.ebcb069d486ccp-56 ulperr 279895217274880.000 = 0x1.fd205ep+47 + -0x1.1ac8a8p-2
X src/math/special/j0.h:11: RN j0(0x1.14eb56cccdecap+3) want -0x1.6e8eeb22e5818p-54 got -0x1.6d2a820627412p-54 ulperr 24492348801024.000 = 0x1.64691cp+44 + -0x1.63ab44p-2
X src/math/special/j0.h:12: RN j0(0x1.c071b22fbbafap+1023) want -0x1.a348b1f34dd1ap-526 got -0x1.a348b1f34d33dp-526 ulperr 2525.019 = 0x1.3bap+11 + 0x1.3153c2p-6
X src/math/special/j0.h:13: RN j0(0x1.f7350b1701ef7p+0) want 0x1.f32b3a3640292p-3 got 0x1.f32b3a3640296p-3 ulperr 3.947 = 0x1p+2 + -0x1.b3bad8p-5
X src/math/sanity/jn.h:8: RN jn(5, 0x1.1f9ef934745cbp-1) want 0x1.e274364abf2d5p-17 got 0x1.e274364abf2d2p-17, ulperr -2.504 = -0x1.8p+1 + 0x1.fbe5c8p-2
X src/math/sanity/jnf.h:1: RN jnf(-2, -0x1.0223ap+3) want -0x1.863726p-4 got -0x1.86372ap-4, ulperr -2.009 = -0x1p+1 + -0x1.28885p-7
X src/math/sanity/jnf.h:8: RN jnf(5, 0x1.1f9efap-1) want 0x1.e2743cp-17 got 0x1.e27442p-17, ulperr 2.537 = 0x1.8p+1 + -0x1.d9c372p-2
X src/math/sanity/jnf.h:10: RN jnf(7, -0x1.5b86eap-1) want -0x1.b39a9cp-24 got -0x1.b39a98p-24, ulperr 1.621 = 0x1p+1 + -0x1.83c12p-2
X src/math/special/lgamma.h:145: RN lgamma(-0x1.4p+1) want -0x1.ccbf9f5ed0f16p-5,-1 got -0x1.ccbf9f5ed0f2p-5,-1 ulperr -10.465 = -0x1.4p+3 + -0x1.dc4f24p-2
X src/math/sanity/lgammaf.h:3: RN lgammaf(-0x1.0c34b4p+3) want -0x1.46d732p+3,-1 got -0x1.46d736p+3,-1 ulperr -1.621 = -0x1p+1 + 0x1.83dafep-2
X src/math/sanity/lgammaf_r.h:3: RN lgammaf_r(-0x1.0c34b4p+3) want -0x1.46d732p+3,-1 got -0x1.46d736p+3,-1 ulperr -1.621 = -0x1p+1 + 0x1.83dafep-2
src/math/special/lgamma.h:145: RN lgammal(-0x1.4p+1) want -0x1.ccbf9f5ed0f16p-5,-1 got -0x1.ccbf9f5ed0f2p-5,-1 ulperr -10.465 = -0x1.4p+3 + -0x1.dc4f24p-2
FAIL src/math/lgammal.exe [status 1]
X src/math/crlibm/pow.h:13: bad fp exception: RN pow(0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:72: bad fp exception: RN pow(0x1p-1074,0x1p+0)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:73: bad fp exception: RN pow(0x1p-1042,0x1p+0)=0x1p-1042, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:75: bad fp exception: RN pow(-0x1p-1074,0x1p+0)=-0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:76: bad fp exception: RN pow(-0x1p-1042,0x1p+0)=-0x1p-1042, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:284: bad fp exception: RN pow(0x1p-1073,0x1p+0)=0x1p-1073, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:300: bad fp exception: RN pow(0x1p-1024,0x1p+0)=0x1p-1024, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:304: bad fp exception: RN pow(0x1p-1023,0x1p+0)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:310: bad fp exception: RN pow(0x1.ffffffffffffcp-1023,0x1p+0)=0x1.ffffffffffffcp-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:313: bad fp exception: RN pow(0x1.ffffffffffffep-1023,0x1p+0)=0x1.ffffffffffffep-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:338: bad fp exception: RN pow(0x1p-537,0x1p+1)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:437: bad fp exception: RN pow(0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:498: bad fp exception: RN pow(0x1p+350,-0x1.8p+1)=0x1p-1050, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:499: bad fp exception: RN pow(0x1p+700,-0x1.8p+0)=0x1p-1050, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:516: bad fp exception: RN pow(0x1p+1023,-0x1p+0)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:544: bad fp exception: RN pow(-0x1p-1073,0x1p+0)=-0x1p-1073, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:548: bad fp exception: RN pow(-0x1p-1024,0x1p+0)=-0x1p-1024, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:551: bad fp exception: RN pow(-0x1p-1023,0x1p+0)=-0x1p-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:557: bad fp exception: RN pow(-0x1.ffffffffffffcp-1023,0x1p+0)=-0x1.ffffffffffffcp-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:560: bad fp exception: RN pow(-0x1.ffffffffffffep-1023,0x1p+0)=-0x1.ffffffffffffep-1023, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:581: bad fp exception: RN pow(-0x1p-537,0x1p+1)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:655: bad fp exception: RN pow(-0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:695: bad fp exception: RN pow(-0x1p+350,-0x1.8p+1)=-0x1p-1050, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/pow.h:708: bad fp exception: RN pow(-0x1p+1023,-0x1p+0)=-0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/powf.h:103: bad fp exception: RU powf(0x1.fffffep+127,0x1p+0)=0x1.fffffep+127, want 0 got INEXACT|OVERFLOW
X src/math/ucb/powf.h:530: bad fp exception: RN powf(0x1.fffff8p-127,0x1p+0)=0x1.fffff8p-127, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/powf.h:533: bad fp exception: RN powf(0x1.fffffcp-127,0x1p+0)=0x1.fffffcp-127, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/powf.h:719: bad fp exception: RN powf(-0x1.fffff8p-127,0x1p+0)=-0x1.fffff8p-127, want 0 got INEXACT|UNDERFLOW
X src/math/ucb/powf.h:722: bad fp exception: RN powf(-0x1.fffffcp-127,0x1p+0)=-0x1.fffffcp-127, want 0 got INEXACT|UNDERFLOW
FAIL src/math/powf.exe [status 1]
src/math/crlibm/pow.h:13: bad fp exception: RN powl(0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:72: bad fp exception: RN powl(0x1p-1074,0x1p+0)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:73: bad fp exception: RN powl(0x1p-1042,0x1p+0)=0x1p-1042, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:75: bad fp exception: RN powl(-0x1p-1074,0x1p+0)=-0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:76: bad fp exception: RN powl(-0x1p-1042,0x1p+0)=-0x1p-1042, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:284: bad fp exception: RN powl(0x1p-1073,0x1p+0)=0x1p-1073, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:300: bad fp exception: RN powl(0x1p-1024,0x1p+0)=0x1p-1024, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:304: bad fp exception: RN powl(0x1p-1023,0x1p+0)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:310: bad fp exception: RN powl(0x1.ffffffffffffcp-1023,0x1p+0)=0x1.ffffffffffffcp-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:313: bad fp exception: RN powl(0x1.ffffffffffffep-1023,0x1p+0)=0x1.ffffffffffffep-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:338: bad fp exception: RN powl(0x1p-537,0x1p+1)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:437: bad fp exception: RN powl(0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:498: bad fp exception: RN powl(0x1p+350,-0x1.8p+1)=0x1p-1050, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:499: bad fp exception: RN powl(0x1p+700,-0x1.8p+0)=0x1p-1050, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:516: bad fp exception: RN powl(0x1p+1023,-0x1p+0)=0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:544: bad fp exception: RN powl(-0x1p-1073,0x1p+0)=-0x1p-1073, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:548: bad fp exception: RN powl(-0x1p-1024,0x1p+0)=-0x1p-1024, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:551: bad fp exception: RN powl(-0x1p-1023,0x1p+0)=-0x1p-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:557: bad fp exception: RN powl(-0x1.ffffffffffffcp-1023,0x1p+0)=-0x1.ffffffffffffcp-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:560: bad fp exception: RN powl(-0x1.ffffffffffffep-1023,0x1p+0)=-0x1.ffffffffffffep-1023, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:581: bad fp exception: RN powl(-0x1p-537,0x1p+1)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:655: bad fp exception: RN powl(-0x1p+1,-0x1.0c8p+10)=0x1p-1074, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:695: bad fp exception: RN powl(-0x1p+350,-0x1.8p+1)=-0x1p-1050, want 0 got INEXACT|UNDERFLOW
src/math/ucb/pow.h:708: bad fp exception: RN powl(-0x1p+1023,-0x1p+0)=-0x1p-1023, want 0 got INEXACT|UNDERFLOW
FAIL src/math/powl.exe [status 1]
X src/math/crlibm/sinh.h:84: RN sinh(0x1.d3e0d2f5d98d6p-2) want 0x1.e45428082fb8cp-2 got 0x1.e45428082fb8ap-2 ulperr -1.500 = -0x1p+1 + 0x1p-1
X src/math/crlibm/sinh.h:84: RN sinhl(0x1.d3e0d2f5d98d6p-2) want 0x1.e45428082fb8cp-2 got 0x1.e45428082fb8ap-2 ulperr -1.500 = -0x1p+1 + 0x1p-1
src/math/ucb/sqrt.h:47: bad fp exception: RN sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:48: bad fp exception: RZ sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:49: bad fp exception: RU sqrt(0x1.fffffffffffffp+1023)=0x1p+512, want INEXACT got 0
src/math/ucb/sqrt.h:49: RU sqrt(0x1.fffffffffffffp+1023) want 0x1p+512 got 0x1.fffffffffffffp+511 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrt.h:50: bad fp exception: RD sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:67: bad fp exception: RN sqrt(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:69: bad fp exception: RN sqrt(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:70: bad fp exception: RZ sqrt(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:72: bad fp exception: RZ sqrt(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:73: bad fp exception: RU sqrt(0x1.0000000000001p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:73: RU sqrt(0x1.0000000000001p+0) want 0x1.0000000000001p+0 got 0x1p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:75: bad fp exception: RU sqrt(0x1.fffffffffffffp-1)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:75: RU sqrt(0x1.fffffffffffffp-1) want 0x1p+0 got 0x1.fffffffffffffp-1 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrt.h:76: bad fp exception: RD sqrt(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:78: bad fp exception: RD sqrt(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:89: bad fp exception: RN sqrt(0x1.766bdb2b5006dp+1)=0x1.b5d6fec392e7dp+0, want INEXACT got 0
src/math/ucb/sqrt.h:90: bad fp exception: RN sqrt(0x1.b6546fb825911p+2)=0x1.4efb330ef0b43p+1, want INEXACT got 0
src/math/ucb/sqrt.h:91: bad fp exception: RN sqrt(0x1.e165309de7505p+2)=0x1.5f0d324d38bdp+1, want INEXACT got 0
src/math/ucb/sqrt.h:92: bad fp exception: RN sqrt(0x1.541dcfba96889p+0)=0x1.271370ec508dp+0, want INEXACT got 0
src/math/ucb/sqrt.h:93: bad fp exception: RN sqrt(0x1.754c3e27084ddp+1)=0x1.b52eb45df30b2p+0, want INEXACT got 0
src/math/ucb/sqrt.h:94: bad fp exception: RN sqrt(0x1.ebe1e1b093c41p+1)=0x1.f5d722e54e976p+0, want INEXACT got 0
src/math/ucb/sqrt.h:95: bad fp exception: RN sqrt(0x1.940d8d18455f5p+2)=0x1.419df976f692dp+1, want INEXACT got 0
src/math/ucb/sqrt.h:96: bad fp exception: RN sqrt(0x1.dae714a51b239p+2)=0x1.5cad1a5584b9ap+1, want INEXACT got 0
src/math/ucb/sqrt.h:97: bad fp exception: RN sqrt(0x1.a9f2d1079de4dp+1)=0x1.d2ff13bff7b67p+0, want INEXACT got 0
src/math/ucb/sqrt.h:98: bad fp exception: RN sqrt(0x1.57dd33103b871p-3)=0x1.a397d7b1e31f2p-2, want INEXACT got 0
src/math/ucb/sqrt.h:135: bad fp exception: RD sqrt(0x1.ffffffffffffep-1023)=0x1.ffffffffffffep-512, want INEXACT got 0
src/math/ucb/sqrt.h:135: RD sqrt(0x1.ffffffffffffep-1023) want 0x1.ffffffffffffep-512 got 0x1.fffffffffffffp-512 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:136: bad fp exception: RD sqrt(0x1.0000000000002p-1022)=0x1p-511, want INEXACT got 0
src/math/ucb/sqrt.h:136: RD sqrt(0x1.0000000000002p-1022) want 0x1p-511 got 0x1.0000000000001p-511 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:137: bad fp exception: RD sqrt(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:138: bad fp exception: RD sqrt(0x1.ffffffffffff8p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:138: RD sqrt(0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp-1 got 0x1.ffffffffffffcp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:139: bad fp exception: RD sqrt(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:140: bad fp exception: RD sqrt(0x1.ffffffffffffap-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:140: RD sqrt(0x1.ffffffffffffap-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffdp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:141: bad fp exception: RD sqrt(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:142: bad fp exception: RD sqrt(0x1.ffffffffffffcp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:142: RD sqrt(0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffep-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:143: bad fp exception: RD sqrt(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:144: bad fp exception: RD sqrt(0x1.ffffffffffffep-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:144: RD sqrt(0x1.ffffffffffffep-1) want 0x1.ffffffffffffep-1 got 0x1.fffffffffffffp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:145: bad fp exception: RD sqrt(0x1.0000000000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:145: RD sqrt(0x1.0000000000002p+0) want 0x1p+0 got 0x1.0000000000001p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:146: bad fp exception: RD sqrt(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:147: bad fp exception: RD sqrt(0x1.0000000000004p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:147: RD sqrt(0x1.0000000000004p+0) want 0x1.0000000000001p+0 got 0x1.0000000000002p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:148: bad fp exception: RD sqrt(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:149: bad fp exception: RD sqrt(0x1.0000000000006p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:149: RD sqrt(0x1.0000000000006p+0) want 0x1.0000000000002p+0 got 0x1.0000000000003p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:150: bad fp exception: RD sqrt(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:151: bad fp exception: RD sqrt(0x1.ffffffffffffep+1021)=0x1.ffffffffffffep+510, want INEXACT got 0
src/math/ucb/sqrt.h:151: RD sqrt(0x1.ffffffffffffep+1021) want 0x1.ffffffffffffep+510 got 0x1.fffffffffffffp+510 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:152: bad fp exception: RD sqrt(0x1.0000000000002p+1022)=0x1p+511, want INEXACT got 0
src/math/ucb/sqrt.h:152: RD sqrt(0x1.0000000000002p+1022) want 0x1p+511 got 0x1.0000000000001p+511 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:206: bad fp exception: RN sqrt(0x1.ffffffffffffep-1023)=0x1.fffffffffffffp-512, want INEXACT got 0
src/math/ucb/sqrt.h:207: bad fp exception: RN sqrt(0x1.0000000000002p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/ucb/sqrt.h:208: bad fp exception: RN sqrt(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:209: bad fp exception: RN sqrt(0x1.ffffffffffff8p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:210: bad fp exception: RN sqrt(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:211: bad fp exception: RN sqrt(0x1.ffffffffffffap-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:212: bad fp exception: RN sqrt(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:213: bad fp exception: RN sqrt(0x1.ffffffffffffcp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:214: bad fp exception: RN sqrt(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:215: bad fp exception: RN sqrt(0x1.ffffffffffffep-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:216: bad fp exception: RN sqrt(0x1.0000000000002p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:217: bad fp exception: RN sqrt(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:218: bad fp exception: RN sqrt(0x1.0000000000004p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:219: bad fp exception: RN sqrt(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:220: bad fp exception: RN sqrt(0x1.0000000000006p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:221: bad fp exception: RN sqrt(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:222: bad fp exception: RN sqrt(0x1.ffffffffffffep+1021)=0x1.fffffffffffffp+510, want INEXACT got 0
src/math/ucb/sqrt.h:223: bad fp exception: RN sqrt(0x1.0000000000002p+1022)=0x1.0000000000001p+511, want INEXACT got 0
src/math/ucb/sqrt.h:273: bad fp exception: RU sqrt(0x1.ffffffffffffep-1023)=0x1.fffffffffffffp-512, want INEXACT got 0
src/math/ucb/sqrt.h:274: bad fp exception: RU sqrt(0x1.0000000000002p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/ucb/sqrt.h:275: bad fp exception: RU sqrt(0x1.ffffffffffff7p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:275: RU sqrt(0x1.ffffffffffff7p-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffbp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:276: bad fp exception: RU sqrt(0x1.ffffffffffff8p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:277: bad fp exception: RU sqrt(0x1.ffffffffffff9p-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:277: RU sqrt(0x1.ffffffffffff9p-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffcp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:278: bad fp exception: RU sqrt(0x1.ffffffffffffap-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:279: bad fp exception: RU sqrt(0x1.ffffffffffffbp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:279: RU sqrt(0x1.ffffffffffffbp-1) want 0x1.ffffffffffffep-1 got 0x1.ffffffffffffdp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:280: bad fp exception: RU sqrt(0x1.ffffffffffffcp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:281: bad fp exception: RU sqrt(0x1.ffffffffffffdp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:281: RU sqrt(0x1.ffffffffffffdp-1) want 0x1.fffffffffffffp-1 got 0x1.ffffffffffffep-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:282: bad fp exception: RU sqrt(0x1.ffffffffffffep-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:283: bad fp exception: RU sqrt(0x1.0000000000002p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:284: bad fp exception: RU sqrt(0x1.0000000000003p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:284: RU sqrt(0x1.0000000000003p+0) want 0x1.0000000000002p+0 got 0x1.0000000000001p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:285: bad fp exception: RU sqrt(0x1.0000000000004p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:286: bad fp exception: RU sqrt(0x1.0000000000005p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:286: RU sqrt(0x1.0000000000005p+0) want 0x1.0000000000003p+0 got 0x1.0000000000002p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:287: bad fp exception: RU sqrt(0x1.0000000000006p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:288: bad fp exception: RU sqrt(0x1.0000000000007p+0)=0x1.0000000000004p+0, want INEXACT got 0
src/math/ucb/sqrt.h:288: RU sqrt(0x1.0000000000007p+0) want 0x1.0000000000004p+0 got 0x1.0000000000003p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:289: bad fp exception: RU sqrt(0x1.ffffffffffffep+1021)=0x1.fffffffffffffp+510, want INEXACT got 0
src/math/ucb/sqrt.h:290: bad fp exception: RU sqrt(0x1.0000000000002p+1022)=0x1.0000000000001p+511, want INEXACT got 0
src/math/ucb/sqrt.h:344: bad fp exception: RZ sqrt(0x1.ffffffffffffep-1023)=0x1.ffffffffffffep-512, want INEXACT got 0
src/math/ucb/sqrt.h:344: RZ sqrt(0x1.ffffffffffffep-1023) want 0x1.ffffffffffffep-512 got 0x1.fffffffffffffp-512 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:345: bad fp exception: RZ sqrt(0x1.0000000000002p-1022)=0x1p-511, want INEXACT got 0
src/math/ucb/sqrt.h:345: RZ sqrt(0x1.0000000000002p-1022) want 0x1p-511 got 0x1.0000000000001p-511 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:346: bad fp exception: RZ sqrt(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:347: bad fp exception: RZ sqrt(0x1.ffffffffffff8p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:347: RZ sqrt(0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp-1 got 0x1.ffffffffffffcp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:348: bad fp exception: RZ sqrt(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:349: bad fp exception: RZ sqrt(0x1.ffffffffffffap-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:349: RZ sqrt(0x1.ffffffffffffap-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffdp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:350: bad fp exception: RZ sqrt(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:351: bad fp exception: RZ sqrt(0x1.ffffffffffffcp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:351: RZ sqrt(0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffep-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:352: bad fp exception: RZ sqrt(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:353: bad fp exception: RZ sqrt(0x1.ffffffffffffep-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:353: RZ sqrt(0x1.ffffffffffffep-1) want 0x1.ffffffffffffep-1 got 0x1.fffffffffffffp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:354: bad fp exception: RZ sqrt(0x1.0000000000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:354: RZ sqrt(0x1.0000000000002p+0) want 0x1p+0 got 0x1.0000000000001p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:355: bad fp exception: RZ sqrt(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:356: bad fp exception: RZ sqrt(0x1.0000000000004p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:356: RZ sqrt(0x1.0000000000004p+0) want 0x1.0000000000001p+0 got 0x1.0000000000002p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:357: bad fp exception: RZ sqrt(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:358: bad fp exception: RZ sqrt(0x1.0000000000006p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:358: RZ sqrt(0x1.0000000000006p+0) want 0x1.0000000000002p+0 got 0x1.0000000000003p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:359: bad fp exception: RZ sqrt(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:360: bad fp exception: RZ sqrt(0x1.ffffffffffffep+1021)=0x1.ffffffffffffep+510, want INEXACT got 0
src/math/ucb/sqrt.h:360: RZ sqrt(0x1.ffffffffffffep+1021) want 0x1.ffffffffffffep+510 got 0x1.fffffffffffffp+510 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:361: bad fp exception: RZ sqrt(0x1.0000000000002p+1022)=0x1p+511, want INEXACT got 0
src/math/ucb/sqrt.h:361: RZ sqrt(0x1.0000000000002p+1022) want 0x1p+511 got 0x1.0000000000001p+511 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/sanity/sqrt.h:2: bad fp exception: RN sqrt(0x1.161868e18bc67p+2)=0x1.0ad1adc856f29p+1, want INEXACT got 0
src/math/sanity/sqrt.h:5: bad fp exception: RN sqrt(0x1.288bbb0d6a1e6p+3)=0x1.85a7d346e8c13p+1, want INEXACT got 0
src/math/sanity/sqrt.h:6: bad fp exception: RN sqrt(0x1.52efd0cd80497p-1)=0x1.a0937a0b92ccbp-1, want INEXACT got 0
src/math/sanity/sqrt.h:8: bad fp exception: RN sqrt(0x1.1f9ef934745cbp-1)=0x1.7fbf4b5a076bcp-1, want INEXACT got 0
src/math/sanity/sqrt.h:9: bad fp exception: RN sqrt(0x1.8c5db097f7442p-1)=0x1.c27ce94ff39c5p-1, want INEXACT got 0
src/math/special/sqrt.h:9: bad fp exception: RN sqrt(0x1p-1073)=0x1.6a09e667f3bcdp-537, want INEXACT got 0
src/math/special/sqrt.h:10: bad fp exception: RN sqrt(0x1.8p-1073)=0x1.bb67ae8584caap-537, want INEXACT got 0
src/math/special/sqrt.h:13: bad fp exception: RN sqrt(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/special/sqrt.h:14: bad fp exception: RN sqrt(0x1.fffffffffffffp+0)=0x1.6a09e667f3bccp+0, want INEXACT got 0
src/math/special/sqrt.h:15: bad fp exception: RN sqrt(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/special/sqrt.h:16: bad fp exception: RN sqrt(0x1.0000000000001p+1)=0x1.6a09e667f3bcdp+0, want INEXACT got 0
src/math/special/sqrt.h:17: bad fp exception: RN sqrt(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/special/sqrt.h:18: bad fp exception: RN sqrt(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/special/sqrt.h:20: bad fp exception: RN sqrt(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/special/sqrt.h:21: bad fp exception: RN sqrt(0x1.ffffffffffffbp+1023)=0x1.ffffffffffffdp+511, want INEXACT got 0
src/math/special/sqrt.h:22: bad fp exception: RN sqrt(0x1.ffffffffffff7p+1023)=0x1.ffffffffffffbp+511, want INEXACT got 0
src/math/special/sqrt.h:23: bad fp exception: RN sqrt(0x1.ffffffffffff3p+1023)=0x1.ffffffffffff9p+511, want INEXACT got 0
src/math/special/sqrt.h:24: bad fp exception: RN sqrt(0x1.fffffffffffefp+1023)=0x1.ffffffffffff7p+511, want INEXACT got 0
src/math/special/sqrt.h:25: bad fp exception: RN sqrt(0x1.fffffffffffebp+1023)=0x1.ffffffffffff5p+511, want INEXACT got 0
src/math/special/sqrt.h:26: bad fp exception: RN sqrt(0x1.fffffffffffe7p+1023)=0x1.ffffffffffff3p+511, want INEXACT got 0
src/math/special/sqrt.h:27: bad fp exception: RN sqrt(0x1.fffffffffffe3p+1023)=0x1.ffffffffffff1p+511, want INEXACT got 0
src/math/special/sqrt.h:28: bad fp exception: RN sqrt(0x1.fffffffffffdfp+1023)=0x1.fffffffffffefp+511, want INEXACT got 0
src/math/special/sqrt.h:29: bad fp exception: RN sqrt(0x1.fffffffffffdbp+1023)=0x1.fffffffffffedp+511, want INEXACT got 0
src/math/special/sqrt.h:30: bad fp exception: RN sqrt(0x1.fffffffffffd7p+1023)=0x1.fffffffffffebp+511, want INEXACT got 0
src/math/special/sqrt.h:31: bad fp exception: RN sqrt(0x1.0000000000003p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/special/sqrt.h:32: bad fp exception: RN sqrt(0x1.0000000000007p-1022)=0x1.0000000000003p-511, want INEXACT got 0
src/math/special/sqrt.h:33: bad fp exception: RN sqrt(0x1.000000000000bp-1022)=0x1.0000000000005p-511, want INEXACT got 0
src/math/special/sqrt.h:34: bad fp exception: RN sqrt(0x1.000000000000fp-1022)=0x1.0000000000007p-511, want INEXACT got 0
src/math/special/sqrt.h:35: bad fp exception: RN sqrt(0x1.0000000000013p-1022)=0x1.0000000000009p-511, want INEXACT got 0
src/math/special/sqrt.h:36: bad fp exception: RN sqrt(0x1.0000000000017p-1022)=0x1.000000000000bp-511, want INEXACT got 0
src/math/special/sqrt.h:37: bad fp exception: RN sqrt(0x1.000000000001bp-1022)=0x1.000000000000dp-511, want INEXACT got 0
src/math/special/sqrt.h:38: bad fp exception: RN sqrt(0x1.000000000001fp-1022)=0x1.000000000000fp-511, want INEXACT got 0
src/math/special/sqrt.h:39: bad fp exception: RN sqrt(0x1.0000000000023p-1022)=0x1.0000000000011p-511, want INEXACT got 0
src/math/special/sqrt.h:40: bad fp exception: RN sqrt(0x1.0000000000027p-1022)=0x1.0000000000013p-511, want INEXACT got 0
src/math/special/sqrt.h:41: bad fp exception: RN sqrt(0x1.000000000002bp-1022)=0x1.0000000000015p-511, want INEXACT got 0
src/math/special/sqrt.h:42: bad fp exception: RN sqrt(0x1.000000000002fp-1022)=0x1.0000000000017p-511, want INEXACT got 0
src/math/special/sqrt.h:43: bad fp exception: RN sqrt(0x1.0000000000033p-1022)=0x1.0000000000019p-511, want INEXACT got 0
src/math/special/sqrt.h:44: bad fp exception: RN sqrt(0x1.0000000000037p-1022)=0x1.000000000001bp-511, want INEXACT got 0
src/math/special/sqrt.h:45: bad fp exception: RN sqrt(0x1.7167bc36eaa3bp+6)=0x1.3384c7db650cdp+3, want INEXACT got 0
src/math/special/sqrt.h:46: bad fp exception: RN sqrt(0x1.7570994273ad7p+6)=0x1.353186e89b8ffp+3, want INEXACT got 0
src/math/special/sqrt.h:47: bad fp exception: RN sqrt(0x1.7dae969442fe6p+6)=0x1.389640fb18b75p+3, want INEXACT got 0
src/math/special/sqrt.h:48: bad fp exception: RN sqrt(0x1.7f8444fcf67e5p+6)=0x1.395659e94669fp+3, want INEXACT got 0
src/math/special/sqrt.h:49: bad fp exception: RN sqrt(0x1.8364650e63a54p+6)=0x1.3aea9efe1a3d7p+3, want INEXACT got 0
src/math/special/sqrt.h:50: bad fp exception: RN sqrt(0x1.85bedd274edd8p+6)=0x1.3bdf20c867057p+3, want INEXACT got 0
src/math/special/sqrt.h:51: bad fp exception: RN sqrt(0x1.8609cf496ab77p+6)=0x1.3bfd7e14b5eabp+3, want INEXACT got 0
src/math/special/sqrt.h:52: bad fp exception: RN sqrt(0x1.873849c70a375p+6)=0x1.3c77ed341d27fp+3, want INEXACT got 0
src/math/special/sqrt.h:53: bad fp exception: RN sqrt(0x1.8919c962cbaaep+6)=0x1.3d3a7113ee82fp+3, want INEXACT got 0
src/math/special/sqrt.h:54: bad fp exception: RN sqrt(0x1.8de4493e22dc6p+6)=0x1.3f27d448220c3p+3, want INEXACT got 0
src/math/special/sqrt.h:55: bad fp exception: RN sqrt(0x1.924829a17a288p+6)=0x1.40e9552eec28fp+3, want INEXACT got 0
src/math/special/sqrt.h:56: bad fp exception: RN sqrt(0x1.92702cd992f12p+6)=0x1.40f94a6fdfddfp+3, want INEXACT got 0
src/math/special/sqrt.h:57: bad fp exception: RN sqrt(0x1.92b763a8311fdp+6)=0x1.4115af614695fp+3, want INEXACT got 0
src/math/special/sqrt.h:58: bad fp exception: RN sqrt(0x1.947da013c7293p+6)=0x1.41ca91102940fp+3, want INEXACT got 0
src/math/special/sqrt.h:59: bad fp exception: RN sqrt(0x1.9536091c494d2p+6)=0x1.4213e334c77adp+3, want INEXACT got 0
src/math/special/sqrt.h:60: bad fp exception: RN sqrt(0x1.61b04c6p-1019)=0x1.a98b88f18b46dp-510, want INEXACT got 0
src/math/special/sqrt.h:61: bad fp exception: RN sqrt(0x1.93789f1p-1018)=0x1.4162ae43d5821p-509, want INEXACT got 0
src/math/special/sqrt.h:62: bad fp exception: RN sqrt(0x1.a1989b4p-1018)=0x1.46f6736eb44bbp-509, want INEXACT got 0
src/math/special/sqrt.h:63: bad fp exception: RN sqrt(0x1.f93bc9p-1018)=0x1.67a36ec403bafp-509, want INEXACT got 0
src/math/special/sqrt.h:64: bad fp exception: RN sqrt(0x1.2f675e3p-1017)=0x1.8a22ab6dcfee1p-509, want INEXACT got 0
src/math/special/sqrt.h:65: bad fp exception: RN sqrt(0x1.a158508p-1017)=0x1.ce418a96cf589p-509, want INEXACT got 0
src/math/special/sqrt.h:66: bad fp exception: RN sqrt(0x1.cd31f078p-1017)=0x1.e5ef1c65dccebp-509, want INEXACT got 0
src/math/special/sqrt.h:67: bad fp exception: RN sqrt(0x1.33b43b08p-1016)=0x1.18a9f607e1701p-508, want INEXACT got 0
src/math/special/sqrt.h:68: bad fp exception: RN sqrt(0x1.6e66a858p-1016)=0x1.324402a00b45fp-508, want INEXACT got 0
src/math/special/sqrt.h:69: bad fp exception: RN sqrt(0x1.8661cbf8p-1016)=0x1.3c212046bfdffp-508, want INEXACT got 0
src/math/special/sqrt.h:70: bad fp exception: RN sqrt(0x1.bbb221b4p-1016)=0x1.510681b939931p-508, want INEXACT got 0
src/math/special/sqrt.h:71: bad fp exception: RN sqrt(0x1.c4942f3cp-1016)=0x1.5461e59227ab5p-508, want INEXACT got 0
src/math/special/sqrt.h:72: bad fp exception: RN sqrt(0x1.dbb258c8p-1016)=0x1.5cf7b0f78d3afp-508, want INEXACT got 0
src/math/special/sqrt.h:73: bad fp exception: RN sqrt(0x1.57103ea4p-1015)=0x1.a31ab946d340bp-508, want INEXACT got 0
src/math/special/sqrt.h:74: bad fp exception: RN sqrt(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
FAIL src/math/sqrt.exe [status 1]
src/math/ucb/sqrtf.h:47: bad fp exception: RN sqrtf(0x1.fffffep+127)=0x1.fffffep+63, want INEXACT got 0
src/math/ucb/sqrtf.h:48: bad fp exception: RZ sqrtf(0x1.fffffep+127)=0x1.fffffep+63, want INEXACT got 0
src/math/ucb/sqrtf.h:49: bad fp exception: RU sqrtf(0x1.fffffep+127)=0x1p+64, want INEXACT got 0
src/math/ucb/sqrtf.h:49: RU sqrtf(0x1.fffffep+127) want 0x1p+64 got 0x1.fffffep+63 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrtf.h:50: bad fp exception: RD sqrtf(0x1.fffffep+127)=0x1.fffffep+63, want INEXACT got 0
src/math/ucb/sqrtf.h:67: bad fp exception: RN sqrtf(0x1.000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:69: bad fp exception: RN sqrtf(0x1.fffffep-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:70: bad fp exception: RZ sqrtf(0x1.000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:72: bad fp exception: RZ sqrtf(0x1.fffffep-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:73: bad fp exception: RU sqrtf(0x1.000002p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:73: RU sqrtf(0x1.000002p+0) want 0x1.000002p+0 got 0x1p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrtf.h:75: bad fp exception: RU sqrtf(0x1.fffffep-1)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:75: RU sqrtf(0x1.fffffep-1) want 0x1p+0 got 0x1.fffffep-1 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrtf.h:76: bad fp exception: RD sqrtf(0x1.000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:78: bad fp exception: RD sqrtf(0x1.fffffep-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:85: bad fp exception: RN sqrtf(0x1.766bdcp+1)=0x1.b5d7p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:86: bad fp exception: RN sqrtf(0x1.b6547p+2)=0x1.4efb34p+1, want INEXACT got 0
src/math/ucb/sqrtf.h:87: bad fp exception: RN sqrtf(0x1.e1653p+2)=0x1.5f0d32p+1, want INEXACT got 0
src/math/ucb/sqrtf.h:88: bad fp exception: RN sqrtf(0x1.541ddp+0)=0x1.271372p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:89: bad fp exception: RN sqrtf(0x1.754c3ep+1)=0x1.b52eb4p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:90: bad fp exception: RN sqrtf(0x1.ebe1e2p+1)=0x1.f5d724p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:91: bad fp exception: RN sqrtf(0x1.940d8ep+2)=0x1.419dfap+1, want INEXACT got 0
src/math/ucb/sqrtf.h:92: bad fp exception: RN sqrtf(0x1.dae714p+2)=0x1.5cad1ap+1, want INEXACT got 0
src/math/ucb/sqrtf.h:93: bad fp exception: RN sqrtf(0x1.a9f2d2p+1)=0x1.d2ff14p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:94: bad fp exception: RN sqrtf(0x1.57dd34p-3)=0x1.a397d8p-2, want INEXACT got 0
src/math/ucb/sqrtf.h:96: bad fp exception: RN sqrtf(0x1p-149)=0x1.6a09e6p-75, want INEXACT got 0
src/math/ucb/sqrtf.h:97: bad fp exception: RZ sqrtf(0x1p-149)=0x1.6a09e6p-75, want INEXACT got 0
src/math/ucb/sqrtf.h:98: bad fp exception: RU sqrtf(0x1p-149)=0x1.6a09e8p-75, want INEXACT got 0
src/math/ucb/sqrtf.h:98: RU sqrtf(0x1p-149) want 0x1.6a09e8p-75 got 0x1.6a09e6p-75 ulperr -0.203 = -0x1p+0 + 0x1.980c44p-1
src/math/ucb/sqrtf.h:99: bad fp exception: RD sqrtf(0x1p-149)=0x1.6a09e6p-75, want INEXACT got 0
src/math/ucb/sqrtf.h:142: bad fp exception: RD sqrtf(0x1.fffffcp-127)=0x1.fffffcp-64, want INEXACT got 0
src/math/ucb/sqrtf.h:142: RD sqrtf(0x1.fffffcp-127) want 0x1.fffffcp-64 got 0x1.fffffep-64 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:143: bad fp exception: RD sqrtf(0x1.000004p-126)=0x1p-63, want INEXACT got 0
src/math/ucb/sqrtf.h:143: RD sqrtf(0x1.000004p-126) want 0x1p-63 got 0x1.000002p-63 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:144: bad fp exception: RD sqrtf(0x1.ffffeep-1)=0x1.fffff6p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:145: bad fp exception: RD sqrtf(0x1.fffffp-1)=0x1.fffff6p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:145: RD sqrtf(0x1.fffffp-1) want 0x1.fffff6p-1 got 0x1.fffff8p-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffp-1
src/math/ucb/sqrtf.h:146: bad fp exception: RD sqrtf(0x1.fffff2p-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:147: bad fp exception: RD sqrtf(0x1.fffff4p-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:147: RD sqrtf(0x1.fffff4p-1) want 0x1.fffff8p-1 got 0x1.fffffap-1 ulperr 0.000 = 0x1p+0 + -0x1.fffff6p-1
src/math/ucb/sqrtf.h:148: bad fp exception: RD sqrtf(0x1.fffff6p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:149: bad fp exception: RD sqrtf(0x1.fffff8p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:149: RD sqrtf(0x1.fffff8p-1) want 0x1.fffffap-1 got 0x1.fffffcp-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffcp-1
src/math/ucb/sqrtf.h:150: bad fp exception: RD sqrtf(0x1.fffffap-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:151: bad fp exception: RD sqrtf(0x1.fffffcp-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:151: RD sqrtf(0x1.fffffcp-1) want 0x1.fffffcp-1 got 0x1.fffffep-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:152: bad fp exception: RD sqrtf(0x1.000004p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:152: RD sqrtf(0x1.000004p+0) want 0x1p+0 got 0x1.000002p+0 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:153: bad fp exception: RD sqrtf(0x1.000006p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:154: bad fp exception: RD sqrtf(0x1.000008p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:154: RD sqrtf(0x1.000008p+0) want 0x1.000002p+0 got 0x1.000004p+0 ulperr 0.000 = 0x1p+0 + -0x1.fffff8p-1
src/math/ucb/sqrtf.h:155: bad fp exception: RD sqrtf(0x1.00000ap+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:156: bad fp exception: RD sqrtf(0x1.00000cp+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:156: RD sqrtf(0x1.00000cp+0) want 0x1.000004p+0 got 0x1.000006p+0 ulperr 0.000 = 0x1p+0 + -0x1.ffffeep-1
src/math/ucb/sqrtf.h:157: bad fp exception: RD sqrtf(0x1.00000ep+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:158: bad fp exception: RD sqrtf(0x1.fffffcp+125)=0x1.fffffcp+62, want INEXACT got 0
src/math/ucb/sqrtf.h:158: RD sqrtf(0x1.fffffcp+125) want 0x1.fffffcp+62 got 0x1.fffffep+62 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:159: bad fp exception: RD sqrtf(0x1.000004p+126)=0x1p+63, want INEXACT got 0
src/math/ucb/sqrtf.h:159: RD sqrtf(0x1.000004p+126) want 0x1p+63 got 0x1.000002p+63 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:203: bad fp exception: RN sqrtf(0x1.fffffcp-127)=0x1.fffffep-64, want INEXACT got 0
src/math/ucb/sqrtf.h:204: bad fp exception: RN sqrtf(0x1.000004p-126)=0x1.000002p-63, want INEXACT got 0
src/math/ucb/sqrtf.h:205: bad fp exception: RN sqrtf(0x1.ffffeep-1)=0x1.fffff6p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:206: bad fp exception: RN sqrtf(0x1.fffffp-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:207: bad fp exception: RN sqrtf(0x1.fffff2p-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:208: bad fp exception: RN sqrtf(0x1.fffff4p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:209: bad fp exception: RN sqrtf(0x1.fffff6p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:210: bad fp exception: RN sqrtf(0x1.fffff8p-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:211: bad fp exception: RN sqrtf(0x1.fffffap-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:212: bad fp exception: RN sqrtf(0x1.fffffcp-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:213: bad fp exception: RN sqrtf(0x1.000004p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:214: bad fp exception: RN sqrtf(0x1.000006p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:215: bad fp exception: RN sqrtf(0x1.000008p+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:216: bad fp exception: RN sqrtf(0x1.00000ap+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:217: bad fp exception: RN sqrtf(0x1.00000cp+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:218: bad fp exception: RN sqrtf(0x1.00000ep+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:219: bad fp exception: RN sqrtf(0x1.fffffcp+125)=0x1.fffffep+62, want INEXACT got 0
src/math/ucb/sqrtf.h:220: bad fp exception: RN sqrtf(0x1.000004p+126)=0x1.000002p+63, want INEXACT got 0
src/math/ucb/sqrtf.h:264: bad fp exception: RU sqrtf(0x1.fffffcp-127)=0x1.fffffep-64, want INEXACT got 0
src/math/ucb/sqrtf.h:265: bad fp exception: RU sqrtf(0x1.000004p-126)=0x1.000002p-63, want INEXACT got 0
src/math/ucb/sqrtf.h:266: bad fp exception: RU sqrtf(0x1.ffffeep-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:266: RU sqrtf(0x1.ffffeep-1) want 0x1.fffff8p-1 got 0x1.fffff6p-1 ulperr -0.499 = -0x1p+0 + 0x1.000014p-1
src/math/ucb/sqrtf.h:267: bad fp exception: RU sqrtf(0x1.fffffp-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:268: bad fp exception: RU sqrtf(0x1.fffff2p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:268: RU sqrtf(0x1.fffff2p-1) want 0x1.fffffap-1 got 0x1.fffff8p-1 ulperr -0.499 = -0x1p+0 + 0x1.00000cp-1
src/math/ucb/sqrtf.h:269: bad fp exception: RU sqrtf(0x1.fffff4p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:270: bad fp exception: RU sqrtf(0x1.fffff6p-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:270: RU sqrtf(0x1.fffff6p-1) want 0x1.fffffcp-1 got 0x1.fffffap-1 ulperr -0.499 = -0x1p+0 + 0x1.000006p-1
src/math/ucb/sqrtf.h:271: bad fp exception: RU sqrtf(0x1.fffff8p-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:272: bad fp exception: RU sqrtf(0x1.fffffap-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:272: RU sqrtf(0x1.fffffap-1) want 0x1.fffffep-1 got 0x1.fffffcp-1 ulperr -0.499 = -0x1p+0 + 0x1.000002p-1
src/math/ucb/sqrtf.h:273: bad fp exception: RU sqrtf(0x1.fffffcp-1)=0x1.fffffep-1, want INEXACT got 0
src/math/ucb/sqrtf.h:274: bad fp exception: RU sqrtf(0x1.000004p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:275: bad fp exception: RU sqrtf(0x1.000006p+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:275: RU sqrtf(0x1.000006p+0) want 0x1.000004p+0 got 0x1.000002p+0 ulperr -0.499 = -0x1p+0 + 0x1.000004p-1
src/math/ucb/sqrtf.h:276: bad fp exception: RU sqrtf(0x1.000008p+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:277: bad fp exception: RU sqrtf(0x1.00000ap+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:277: RU sqrtf(0x1.00000ap+0) want 0x1.000006p+0 got 0x1.000004p+0 ulperr -0.499 = -0x1p+0 + 0x1.00000cp-1
src/math/ucb/sqrtf.h:278: bad fp exception: RU sqrtf(0x1.00000cp+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:279: bad fp exception: RU sqrtf(0x1.00000ep+0)=0x1.000008p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:279: RU sqrtf(0x1.00000ep+0) want 0x1.000008p+0 got 0x1.000006p+0 ulperr -0.499 = -0x1p+0 + 0x1.000018p-1
src/math/ucb/sqrtf.h:280: bad fp exception: RU sqrtf(0x1.fffffcp+125)=0x1.fffffep+62, want INEXACT got 0
src/math/ucb/sqrtf.h:281: bad fp exception: RU sqrtf(0x1.000004p+126)=0x1.000002p+63, want INEXACT got 0
src/math/ucb/sqrtf.h:325: bad fp exception: RZ sqrtf(0x1.fffffcp-127)=0x1.fffffcp-64, want INEXACT got 0
src/math/ucb/sqrtf.h:325: RZ sqrtf(0x1.fffffcp-127) want 0x1.fffffcp-64 got 0x1.fffffep-64 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:326: bad fp exception: RZ sqrtf(0x1.000004p-126)=0x1p-63, want INEXACT got 0
src/math/ucb/sqrtf.h:326: RZ sqrtf(0x1.000004p-126) want 0x1p-63 got 0x1.000002p-63 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:327: bad fp exception: RZ sqrtf(0x1.ffffeep-1)=0x1.fffff6p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:328: bad fp exception: RZ sqrtf(0x1.fffffp-1)=0x1.fffff6p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:328: RZ sqrtf(0x1.fffffp-1) want 0x1.fffff6p-1 got 0x1.fffff8p-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffp-1
src/math/ucb/sqrtf.h:329: bad fp exception: RZ sqrtf(0x1.fffff2p-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:330: bad fp exception: RZ sqrtf(0x1.fffff4p-1)=0x1.fffff8p-1, want INEXACT got 0
src/math/ucb/sqrtf.h:330: RZ sqrtf(0x1.fffff4p-1) want 0x1.fffff8p-1 got 0x1.fffffap-1 ulperr 0.000 = 0x1p+0 + -0x1.fffff6p-1
src/math/ucb/sqrtf.h:331: bad fp exception: RZ sqrtf(0x1.fffff6p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:332: bad fp exception: RZ sqrtf(0x1.fffff8p-1)=0x1.fffffap-1, want INEXACT got 0
src/math/ucb/sqrtf.h:332: RZ sqrtf(0x1.fffff8p-1) want 0x1.fffffap-1 got 0x1.fffffcp-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffcp-1
src/math/ucb/sqrtf.h:333: bad fp exception: RZ sqrtf(0x1.fffffap-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:334: bad fp exception: RZ sqrtf(0x1.fffffcp-1)=0x1.fffffcp-1, want INEXACT got 0
src/math/ucb/sqrtf.h:334: RZ sqrtf(0x1.fffffcp-1) want 0x1.fffffcp-1 got 0x1.fffffep-1 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:335: bad fp exception: RZ sqrtf(0x1.000004p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:335: RZ sqrtf(0x1.000004p+0) want 0x1p+0 got 0x1.000002p+0 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:336: bad fp exception: RZ sqrtf(0x1.000006p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:337: bad fp exception: RZ sqrtf(0x1.000008p+0)=0x1.000002p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:337: RZ sqrtf(0x1.000008p+0) want 0x1.000002p+0 got 0x1.000004p+0 ulperr 0.000 = 0x1p+0 + -0x1.fffff8p-1
src/math/ucb/sqrtf.h:338: bad fp exception: RZ sqrtf(0x1.00000ap+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:339: bad fp exception: RZ sqrtf(0x1.00000cp+0)=0x1.000004p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:339: RZ sqrtf(0x1.00000cp+0) want 0x1.000004p+0 got 0x1.000006p+0 ulperr 0.000 = 0x1p+0 + -0x1.ffffeep-1
src/math/ucb/sqrtf.h:340: bad fp exception: RZ sqrtf(0x1.00000ep+0)=0x1.000006p+0, want INEXACT got 0
src/math/ucb/sqrtf.h:341: bad fp exception: RZ sqrtf(0x1.fffffcp+125)=0x1.fffffcp+62, want INEXACT got 0
src/math/ucb/sqrtf.h:341: RZ sqrtf(0x1.fffffcp+125) want 0x1.fffffcp+62 got 0x1.fffffep+62 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/ucb/sqrtf.h:342: bad fp exception: RZ sqrtf(0x1.000004p+126)=0x1p+63, want INEXACT got 0
src/math/ucb/sqrtf.h:342: RZ sqrtf(0x1.000004p+126) want 0x1p+63 got 0x1.000002p+63 ulperr 0.000 = 0x1p+0 + -0x1.fffffep-1
src/math/sanity/sqrtf.h:2: bad fp exception: RN sqrtf(0x1.161868p+2)=0x1.0ad1aep+1, want INEXACT got 0
src/math/sanity/sqrtf.h:5: bad fp exception: RN sqrtf(0x1.288bbcp+3)=0x1.85a7d4p+1, want INEXACT got 0
src/math/sanity/sqrtf.h:6: bad fp exception: RN sqrtf(0x1.52efdp-1)=0x1.a0937ap-1, want INEXACT got 0
src/math/sanity/sqrtf.h:8: bad fp exception: RN sqrtf(0x1.1f9efap-1)=0x1.7fbf4cp-1, want INEXACT got 0
src/math/sanity/sqrtf.h:9: bad fp exception: RN sqrtf(0x1.8c5dbp-1)=0x1.c27ce8p-1, want INEXACT got 0
src/math/special/sqrtf.h:10: bad fp exception: RN sqrtf(0x1.8p-148)=0x1.3988e2p-74, want INEXACT got 0
src/math/special/sqrtf.h:11: bad fp exception: RN sqrtf(0x1p-149)=0x1.6a09e6p-75, want INEXACT got 0
src/math/special/sqrtf.h:13: bad fp exception: RN sqrtf(0x1.fffffep+127)=0x1.fffffep+63, want INEXACT got 0
src/math/special/sqrtf.h:15: bad fp exception: RN sqrtf(0x1.fffffcp-1)=0x1.fffffep-1, want INEXACT got 0
src/math/special/sqrtf.h:16: bad fp exception: RN sqrtf(0x1.fffffep-1)=0x1.fffffep-1, want INEXACT got 0
src/math/special/sqrtf.h:17: bad fp exception: RN sqrtf(0x1.fffffcp+0)=0x1.6a09e4p+0, want INEXACT got 0
src/math/special/sqrtf.h:18: bad fp exception: RN sqrtf(0x1.fffffep+0)=0x1.6a09e6p+0, want INEXACT got 0
src/math/special/sqrtf.h:19: bad fp exception: RN sqrtf(0x1.000002p+0)=0x1p+0, want INEXACT got 0
src/math/special/sqrtf.h:20: bad fp exception: RN sqrtf(0x1.000004p+0)=0x1.000002p+0, want INEXACT got 0
src/math/special/sqrtf.h:21: bad fp exception: RN sqrtf(0x1.000002p+1)=0x1.6a09e8p+0, want INEXACT got 0
src/math/special/sqrtf.h:22: bad fp exception: RN sqrtf(0x1.000004p+1)=0x1.6a09eap+0, want INEXACT got 0
FAIL src/math/sqrtf.exe [status 1]
src/math/ucb/sqrt.h:47: bad fp exception: RN sqrtl(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:48: bad fp exception: RZ sqrtl(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:49: bad fp exception: RU sqrtl(0x1.fffffffffffffp+1023)=0x1p+512, want INEXACT got 0
src/math/ucb/sqrt.h:49: RU sqrtl(0x1.fffffffffffffp+1023) want 0x1p+512 got 0x1.fffffffffffffp+511 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrt.h:50: bad fp exception: RD sqrtl(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/ucb/sqrt.h:67: bad fp exception: RN sqrtl(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:69: bad fp exception: RN sqrtl(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:70: bad fp exception: RZ sqrtl(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:72: bad fp exception: RZ sqrtl(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:73: bad fp exception: RU sqrtl(0x1.0000000000001p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:73: RU sqrtl(0x1.0000000000001p+0) want 0x1.0000000000001p+0 got 0x1p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:75: bad fp exception: RU sqrtl(0x1.fffffffffffffp-1)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:75: RU sqrtl(0x1.fffffffffffffp-1) want 0x1p+0 got 0x1.fffffffffffffp-1 ulperr -0.250 = -0x1p-1 + 0x1p-2
src/math/ucb/sqrt.h:76: bad fp exception: RD sqrtl(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:78: bad fp exception: RD sqrtl(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:89: bad fp exception: RN sqrtl(0x1.766bdb2b5006dp+1)=0x1.b5d6fec392e7dp+0, want INEXACT got 0
src/math/ucb/sqrt.h:90: bad fp exception: RN sqrtl(0x1.b6546fb825911p+2)=0x1.4efb330ef0b43p+1, want INEXACT got 0
src/math/ucb/sqrt.h:91: bad fp exception: RN sqrtl(0x1.e165309de7505p+2)=0x1.5f0d324d38bdp+1, want INEXACT got 0
src/math/ucb/sqrt.h:92: bad fp exception: RN sqrtl(0x1.541dcfba96889p+0)=0x1.271370ec508dp+0, want INEXACT got 0
src/math/ucb/sqrt.h:93: bad fp exception: RN sqrtl(0x1.754c3e27084ddp+1)=0x1.b52eb45df30b2p+0, want INEXACT got 0
src/math/ucb/sqrt.h:94: bad fp exception: RN sqrtl(0x1.ebe1e1b093c41p+1)=0x1.f5d722e54e976p+0, want INEXACT got 0
src/math/ucb/sqrt.h:95: bad fp exception: RN sqrtl(0x1.940d8d18455f5p+2)=0x1.419df976f692dp+1, want INEXACT got 0
src/math/ucb/sqrt.h:96: bad fp exception: RN sqrtl(0x1.dae714a51b239p+2)=0x1.5cad1a5584b9ap+1, want INEXACT got 0
src/math/ucb/sqrt.h:97: bad fp exception: RN sqrtl(0x1.a9f2d1079de4dp+1)=0x1.d2ff13bff7b67p+0, want INEXACT got 0
src/math/ucb/sqrt.h:98: bad fp exception: RN sqrtl(0x1.57dd33103b871p-3)=0x1.a397d7b1e31f2p-2, want INEXACT got 0
src/math/ucb/sqrt.h:135: bad fp exception: RD sqrtl(0x1.ffffffffffffep-1023)=0x1.ffffffffffffep-512, want INEXACT got 0
src/math/ucb/sqrt.h:135: RD sqrtl(0x1.ffffffffffffep-1023) want 0x1.ffffffffffffep-512 got 0x1.fffffffffffffp-512 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:136: bad fp exception: RD sqrtl(0x1.0000000000002p-1022)=0x1p-511, want INEXACT got 0
src/math/ucb/sqrt.h:136: RD sqrtl(0x1.0000000000002p-1022) want 0x1p-511 got 0x1.0000000000001p-511 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:137: bad fp exception: RD sqrtl(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:138: bad fp exception: RD sqrtl(0x1.ffffffffffff8p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:138: RD sqrtl(0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp-1 got 0x1.ffffffffffffcp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:139: bad fp exception: RD sqrtl(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:140: bad fp exception: RD sqrtl(0x1.ffffffffffffap-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:140: RD sqrtl(0x1.ffffffffffffap-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffdp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:141: bad fp exception: RD sqrtl(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:142: bad fp exception: RD sqrtl(0x1.ffffffffffffcp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:142: RD sqrtl(0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffep-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:143: bad fp exception: RD sqrtl(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:144: bad fp exception: RD sqrtl(0x1.ffffffffffffep-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:144: RD sqrtl(0x1.ffffffffffffep-1) want 0x1.ffffffffffffep-1 got 0x1.fffffffffffffp-1 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:145: bad fp exception: RD sqrtl(0x1.0000000000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:145: RD sqrtl(0x1.0000000000002p+0) want 0x1p+0 got 0x1.0000000000001p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:146: bad fp exception: RD sqrtl(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:147: bad fp exception: RD sqrtl(0x1.0000000000004p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:147: RD sqrtl(0x1.0000000000004p+0) want 0x1.0000000000001p+0 got 0x1.0000000000002p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:148: bad fp exception: RD sqrtl(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:149: bad fp exception: RD sqrtl(0x1.0000000000006p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:149: RD sqrtl(0x1.0000000000006p+0) want 0x1.0000000000002p+0 got 0x1.0000000000003p+0 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:150: bad fp exception: RD sqrtl(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:151: bad fp exception: RD sqrtl(0x1.ffffffffffffep+1021)=0x1.ffffffffffffep+510, want INEXACT got 0
src/math/ucb/sqrt.h:151: RD sqrtl(0x1.ffffffffffffep+1021) want 0x1.ffffffffffffep+510 got 0x1.fffffffffffffp+510 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:152: bad fp exception: RD sqrtl(0x1.0000000000002p+1022)=0x1p+511, want INEXACT got 0
src/math/ucb/sqrt.h:152: RD sqrtl(0x1.0000000000002p+1022) want 0x1p+511 got 0x1.0000000000001p+511 ulperr -0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:206: bad fp exception: RN sqrtl(0x1.ffffffffffffep-1023)=0x1.fffffffffffffp-512, want INEXACT got 0
src/math/ucb/sqrt.h:207: bad fp exception: RN sqrtl(0x1.0000000000002p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/ucb/sqrt.h:208: bad fp exception: RN sqrtl(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:209: bad fp exception: RN sqrtl(0x1.ffffffffffff8p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:210: bad fp exception: RN sqrtl(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:211: bad fp exception: RN sqrtl(0x1.ffffffffffffap-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:212: bad fp exception: RN sqrtl(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:213: bad fp exception: RN sqrtl(0x1.ffffffffffffcp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:214: bad fp exception: RN sqrtl(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:215: bad fp exception: RN sqrtl(0x1.ffffffffffffep-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:216: bad fp exception: RN sqrtl(0x1.0000000000002p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:217: bad fp exception: RN sqrtl(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:218: bad fp exception: RN sqrtl(0x1.0000000000004p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:219: bad fp exception: RN sqrtl(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:220: bad fp exception: RN sqrtl(0x1.0000000000006p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:221: bad fp exception: RN sqrtl(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:222: bad fp exception: RN sqrtl(0x1.ffffffffffffep+1021)=0x1.fffffffffffffp+510, want INEXACT got 0
src/math/ucb/sqrt.h:223: bad fp exception: RN sqrtl(0x1.0000000000002p+1022)=0x1.0000000000001p+511, want INEXACT got 0
src/math/ucb/sqrt.h:273: bad fp exception: RU sqrtl(0x1.ffffffffffffep-1023)=0x1.fffffffffffffp-512, want INEXACT got 0
src/math/ucb/sqrt.h:274: bad fp exception: RU sqrtl(0x1.0000000000002p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/ucb/sqrt.h:275: bad fp exception: RU sqrtl(0x1.ffffffffffff7p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:275: RU sqrtl(0x1.ffffffffffff7p-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffbp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:276: bad fp exception: RU sqrtl(0x1.ffffffffffff8p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:277: bad fp exception: RU sqrtl(0x1.ffffffffffff9p-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:277: RU sqrtl(0x1.ffffffffffff9p-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffcp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:278: bad fp exception: RU sqrtl(0x1.ffffffffffffap-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:279: bad fp exception: RU sqrtl(0x1.ffffffffffffbp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:279: RU sqrtl(0x1.ffffffffffffbp-1) want 0x1.ffffffffffffep-1 got 0x1.ffffffffffffdp-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:280: bad fp exception: RU sqrtl(0x1.ffffffffffffcp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:281: bad fp exception: RU sqrtl(0x1.ffffffffffffdp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:281: RU sqrtl(0x1.ffffffffffffdp-1) want 0x1.fffffffffffffp-1 got 0x1.ffffffffffffep-1 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:282: bad fp exception: RU sqrtl(0x1.ffffffffffffep-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/ucb/sqrt.h:283: bad fp exception: RU sqrtl(0x1.0000000000002p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:284: bad fp exception: RU sqrtl(0x1.0000000000003p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:284: RU sqrtl(0x1.0000000000003p+0) want 0x1.0000000000002p+0 got 0x1.0000000000001p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:285: bad fp exception: RU sqrtl(0x1.0000000000004p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:286: bad fp exception: RU sqrtl(0x1.0000000000005p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:286: RU sqrtl(0x1.0000000000005p+0) want 0x1.0000000000003p+0 got 0x1.0000000000002p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:287: bad fp exception: RU sqrtl(0x1.0000000000006p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:288: bad fp exception: RU sqrtl(0x1.0000000000007p+0)=0x1.0000000000004p+0, want INEXACT got 0
src/math/ucb/sqrt.h:288: RU sqrtl(0x1.0000000000007p+0) want 0x1.0000000000004p+0 got 0x1.0000000000003p+0 ulperr -0.500 = -0x1p+0 + 0x1p-1
src/math/ucb/sqrt.h:289: bad fp exception: RU sqrtl(0x1.ffffffffffffep+1021)=0x1.fffffffffffffp+510, want INEXACT got 0
src/math/ucb/sqrt.h:290: bad fp exception: RU sqrtl(0x1.0000000000002p+1022)=0x1.0000000000001p+511, want INEXACT got 0
src/math/ucb/sqrt.h:344: bad fp exception: RZ sqrtl(0x1.ffffffffffffep-1023)=0x1.ffffffffffffep-512, want INEXACT got 0
src/math/ucb/sqrt.h:344: RZ sqrtl(0x1.ffffffffffffep-1023) want 0x1.ffffffffffffep-512 got 0x1.fffffffffffffp-512 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:345: bad fp exception: RZ sqrtl(0x1.0000000000002p-1022)=0x1p-511, want INEXACT got 0
src/math/ucb/sqrt.h:345: RZ sqrtl(0x1.0000000000002p-1022) want 0x1p-511 got 0x1.0000000000001p-511 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:346: bad fp exception: RZ sqrtl(0x1.ffffffffffff7p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:347: bad fp exception: RZ sqrtl(0x1.ffffffffffff8p-1)=0x1.ffffffffffffbp-1, want INEXACT got 0
src/math/ucb/sqrt.h:347: RZ sqrtl(0x1.ffffffffffff8p-1) want 0x1.ffffffffffffbp-1 got 0x1.ffffffffffffcp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:348: bad fp exception: RZ sqrtl(0x1.ffffffffffff9p-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:349: bad fp exception: RZ sqrtl(0x1.ffffffffffffap-1)=0x1.ffffffffffffcp-1, want INEXACT got 0
src/math/ucb/sqrt.h:349: RZ sqrtl(0x1.ffffffffffffap-1) want 0x1.ffffffffffffcp-1 got 0x1.ffffffffffffdp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:350: bad fp exception: RZ sqrtl(0x1.ffffffffffffbp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:351: bad fp exception: RZ sqrtl(0x1.ffffffffffffcp-1)=0x1.ffffffffffffdp-1, want INEXACT got 0
src/math/ucb/sqrt.h:351: RZ sqrtl(0x1.ffffffffffffcp-1) want 0x1.ffffffffffffdp-1 got 0x1.ffffffffffffep-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:352: bad fp exception: RZ sqrtl(0x1.ffffffffffffdp-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:353: bad fp exception: RZ sqrtl(0x1.ffffffffffffep-1)=0x1.ffffffffffffep-1, want INEXACT got 0
src/math/ucb/sqrt.h:353: RZ sqrtl(0x1.ffffffffffffep-1) want 0x1.ffffffffffffep-1 got 0x1.fffffffffffffp-1 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:354: bad fp exception: RZ sqrtl(0x1.0000000000002p+0)=0x1p+0, want INEXACT got 0
src/math/ucb/sqrt.h:354: RZ sqrtl(0x1.0000000000002p+0) want 0x1p+0 got 0x1.0000000000001p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:355: bad fp exception: RZ sqrtl(0x1.0000000000003p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:356: bad fp exception: RZ sqrtl(0x1.0000000000004p+0)=0x1.0000000000001p+0, want INEXACT got 0
src/math/ucb/sqrt.h:356: RZ sqrtl(0x1.0000000000004p+0) want 0x1.0000000000001p+0 got 0x1.0000000000002p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:357: bad fp exception: RZ sqrtl(0x1.0000000000005p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:358: bad fp exception: RZ sqrtl(0x1.0000000000006p+0)=0x1.0000000000002p+0, want INEXACT got 0
src/math/ucb/sqrt.h:358: RZ sqrtl(0x1.0000000000006p+0) want 0x1.0000000000002p+0 got 0x1.0000000000003p+0 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:359: bad fp exception: RZ sqrtl(0x1.0000000000007p+0)=0x1.0000000000003p+0, want INEXACT got 0
src/math/ucb/sqrt.h:360: bad fp exception: RZ sqrtl(0x1.ffffffffffffep+1021)=0x1.ffffffffffffep+510, want INEXACT got 0
src/math/ucb/sqrt.h:360: RZ sqrtl(0x1.ffffffffffffep+1021) want 0x1.ffffffffffffep+510 got 0x1.fffffffffffffp+510 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/ucb/sqrt.h:361: bad fp exception: RZ sqrtl(0x1.0000000000002p+1022)=0x1p+511, want INEXACT got 0
src/math/ucb/sqrt.h:361: RZ sqrtl(0x1.0000000000002p+1022) want 0x1p+511 got 0x1.0000000000001p+511 ulperr 0.000 = 0x1p+0 + -0x1p+0
src/math/sanity/sqrt.h:2: bad fp exception: RN sqrtl(0x1.161868e18bc67p+2)=0x1.0ad1adc856f29p+1, want INEXACT got 0
src/math/sanity/sqrt.h:5: bad fp exception: RN sqrtl(0x1.288bbb0d6a1e6p+3)=0x1.85a7d346e8c13p+1, want INEXACT got 0
src/math/sanity/sqrt.h:6: bad fp exception: RN sqrtl(0x1.52efd0cd80497p-1)=0x1.a0937a0b92ccbp-1, want INEXACT got 0
src/math/sanity/sqrt.h:8: bad fp exception: RN sqrtl(0x1.1f9ef934745cbp-1)=0x1.7fbf4b5a076bcp-1, want INEXACT got 0
src/math/sanity/sqrt.h:9: bad fp exception: RN sqrtl(0x1.8c5db097f7442p-1)=0x1.c27ce94ff39c5p-1, want INEXACT got 0
src/math/special/sqrt.h:9: bad fp exception: RN sqrtl(0x1p-1073)=0x1.6a09e667f3bcdp-537, want INEXACT got 0
src/math/special/sqrt.h:10: bad fp exception: RN sqrtl(0x1.8p-1073)=0x1.bb67ae8584caap-537, want INEXACT got 0
src/math/special/sqrt.h:13: bad fp exception: RN sqrtl(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/special/sqrt.h:14: bad fp exception: RN sqrtl(0x1.fffffffffffffp+0)=0x1.6a09e667f3bccp+0, want INEXACT got 0
src/math/special/sqrt.h:15: bad fp exception: RN sqrtl(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/special/sqrt.h:16: bad fp exception: RN sqrtl(0x1.0000000000001p+1)=0x1.6a09e667f3bcdp+0, want INEXACT got 0
src/math/special/sqrt.h:17: bad fp exception: RN sqrtl(0x1.0000000000001p+0)=0x1p+0, want INEXACT got 0
src/math/special/sqrt.h:18: bad fp exception: RN sqrtl(0x1.fffffffffffffp-1)=0x1.fffffffffffffp-1, want INEXACT got 0
src/math/special/sqrt.h:20: bad fp exception: RN sqrtl(0x1.fffffffffffffp+1023)=0x1.fffffffffffffp+511, want INEXACT got 0
src/math/special/sqrt.h:21: bad fp exception: RN sqrtl(0x1.ffffffffffffbp+1023)=0x1.ffffffffffffdp+511, want INEXACT got 0
src/math/special/sqrt.h:22: bad fp exception: RN sqrtl(0x1.ffffffffffff7p+1023)=0x1.ffffffffffffbp+511, want INEXACT got 0
src/math/special/sqrt.h:23: bad fp exception: RN sqrtl(0x1.ffffffffffff3p+1023)=0x1.ffffffffffff9p+511, want INEXACT got 0
src/math/special/sqrt.h:24: bad fp exception: RN sqrtl(0x1.fffffffffffefp+1023)=0x1.ffffffffffff7p+511, want INEXACT got 0
src/math/special/sqrt.h:25: bad fp exception: RN sqrtl(0x1.fffffffffffebp+1023)=0x1.ffffffffffff5p+511, want INEXACT got 0
src/math/special/sqrt.h:26: bad fp exception: RN sqrtl(0x1.fffffffffffe7p+1023)=0x1.ffffffffffff3p+511, want INEXACT got 0
src/math/special/sqrt.h:27: bad fp exception: RN sqrtl(0x1.fffffffffffe3p+1023)=0x1.ffffffffffff1p+511, want INEXACT got 0
src/math/special/sqrt.h:28: bad fp exception: RN sqrtl(0x1.fffffffffffdfp+1023)=0x1.fffffffffffefp+511, want INEXACT got 0
src/math/special/sqrt.h:29: bad fp exception: RN sqrtl(0x1.fffffffffffdbp+1023)=0x1.fffffffffffedp+511, want INEXACT got 0
src/math/special/sqrt.h:30: bad fp exception: RN sqrtl(0x1.fffffffffffd7p+1023)=0x1.fffffffffffebp+511, want INEXACT got 0
src/math/special/sqrt.h:31: bad fp exception: RN sqrtl(0x1.0000000000003p-1022)=0x1.0000000000001p-511, want INEXACT got 0
src/math/special/sqrt.h:32: bad fp exception: RN sqrtl(0x1.0000000000007p-1022)=0x1.0000000000003p-511, want INEXACT got 0
src/math/special/sqrt.h:33: bad fp exception: RN sqrtl(0x1.000000000000bp-1022)=0x1.0000000000005p-511, want INEXACT got 0
src/math/special/sqrt.h:34: bad fp exception: RN sqrtl(0x1.000000000000fp-1022)=0x1.0000000000007p-511, want INEXACT got 0
src/math/special/sqrt.h:35: bad fp exception: RN sqrtl(0x1.0000000000013p-1022)=0x1.0000000000009p-511, want INEXACT got 0
src/math/special/sqrt.h:36: bad fp exception: RN sqrtl(0x1.0000000000017p-1022)=0x1.000000000000bp-511, want INEXACT got 0
src/math/special/sqrt.h:37: bad fp exception: RN sqrtl(0x1.000000000001bp-1022)=0x1.000000000000dp-511, want INEXACT got 0
src/math/special/sqrt.h:38: bad fp exception: RN sqrtl(0x1.000000000001fp-1022)=0x1.000000000000fp-511, want INEXACT got 0
src/math/special/sqrt.h:39: bad fp exception: RN sqrtl(0x1.0000000000023p-1022)=0x1.0000000000011p-511, want INEXACT got 0
src/math/special/sqrt.h:40: bad fp exception: RN sqrtl(0x1.0000000000027p-1022)=0x1.0000000000013p-511, want INEXACT got 0
src/math/special/sqrt.h:41: bad fp exception: RN sqrtl(0x1.000000000002bp-1022)=0x1.0000000000015p-511, want INEXACT got 0
src/math/special/sqrt.h:42: bad fp exception: RN sqrtl(0x1.000000000002fp-1022)=0x1.0000000000017p-511, want INEXACT got 0
src/math/special/sqrt.h:43: bad fp exception: RN sqrtl(0x1.0000000000033p-1022)=0x1.0000000000019p-511, want INEXACT got 0
src/math/special/sqrt.h:44: bad fp exception: RN sqrtl(0x1.0000000000037p-1022)=0x1.000000000001bp-511, want INEXACT got 0
src/math/special/sqrt.h:45: bad fp exception: RN sqrtl(0x1.7167bc36eaa3bp+6)=0x1.3384c7db650cdp+3, want INEXACT got 0
src/math/special/sqrt.h:46: bad fp exception: RN sqrtl(0x1.7570994273ad7p+6)=0x1.353186e89b8ffp+3, want INEXACT got 0
src/math/special/sqrt.h:47: bad fp exception: RN sqrtl(0x1.7dae969442fe6p+6)=0x1.389640fb18b75p+3, want INEXACT got 0
src/math/special/sqrt.h:48: bad fp exception: RN sqrtl(0x1.7f8444fcf67e5p+6)=0x1.395659e94669fp+3, want INEXACT got 0
src/math/special/sqrt.h:49: bad fp exception: RN sqrtl(0x1.8364650e63a54p+6)=0x1.3aea9efe1a3d7p+3, want INEXACT got 0
src/math/special/sqrt.h:50: bad fp exception: RN sqrtl(0x1.85bedd274edd8p+6)=0x1.3bdf20c867057p+3, want INEXACT got 0
src/math/special/sqrt.h:51: bad fp exception: RN sqrtl(0x1.8609cf496ab77p+6)=0x1.3bfd7e14b5eabp+3, want INEXACT got 0
src/math/special/sqrt.h:52: bad fp exception: RN sqrtl(0x1.873849c70a375p+6)=0x1.3c77ed341d27fp+3, want INEXACT got 0
src/math/special/sqrt.h:53: bad fp exception: RN sqrtl(0x1.8919c962cbaaep+6)=0x1.3d3a7113ee82fp+3, want INEXACT got 0
src/math/special/sqrt.h:54: bad fp exception: RN sqrtl(0x1.8de4493e22dc6p+6)=0x1.3f27d448220c3p+3, want INEXACT got 0
src/math/special/sqrt.h:55: bad fp exception: RN sqrtl(0x1.924829a17a288p+6)=0x1.40e9552eec28fp+3, want INEXACT got 0
src/math/special/sqrt.h:56: bad fp exception: RN sqrtl(0x1.92702cd992f12p+6)=0x1.40f94a6fdfddfp+3, want INEXACT got 0
src/math/special/sqrt.h:57: bad fp exception: RN sqrtl(0x1.92b763a8311fdp+6)=0x1.4115af614695fp+3, want INEXACT got 0
src/math/special/sqrt.h:58: bad fp exception: RN sqrtl(0x1.947da013c7293p+6)=0x1.41ca91102940fp+3, want INEXACT got 0
src/math/special/sqrt.h:59: bad fp exception: RN sqrtl(0x1.9536091c494d2p+6)=0x1.4213e334c77adp+3, want INEXACT got 0
src/math/special/sqrt.h:60: bad fp exception: RN sqrtl(0x1.61b04c6p-1019)=0x1.a98b88f18b46dp-510, want INEXACT got 0
src/math/special/sqrt.h:61: bad fp exception: RN sqrtl(0x1.93789f1p-1018)=0x1.4162ae43d5821p-509, want INEXACT got 0
src/math/special/sqrt.h:62: bad fp exception: RN sqrtl(0x1.a1989b4p-1018)=0x1.46f6736eb44bbp-509, want INEXACT got 0
src/math/special/sqrt.h:63: bad fp exception: RN sqrtl(0x1.f93bc9p-1018)=0x1.67a36ec403bafp-509, want INEXACT got 0
src/math/special/sqrt.h:64: bad fp exception: RN sqrtl(0x1.2f675e3p-1017)=0x1.8a22ab6dcfee1p-509, want INEXACT got 0
src/math/special/sqrt.h:65: bad fp exception: RN sqrtl(0x1.a158508p-1017)=0x1.ce418a96cf589p-509, want INEXACT got 0
src/math/special/sqrt.h:66: bad fp exception: RN sqrtl(0x1.cd31f078p-1017)=0x1.e5ef1c65dccebp-509, want INEXACT got 0
src/math/special/sqrt.h:67: bad fp exception: RN sqrtl(0x1.33b43b08p-1016)=0x1.18a9f607e1701p-508, want INEXACT got 0
src/math/special/sqrt.h:68: bad fp exception: RN sqrtl(0x1.6e66a858p-1016)=0x1.324402a00b45fp-508, want INEXACT got 0
src/math/special/sqrt.h:69: bad fp exception: RN sqrtl(0x1.8661cbf8p-1016)=0x1.3c212046bfdffp-508, want INEXACT got 0
src/math/special/sqrt.h:70: bad fp exception: RN sqrtl(0x1.bbb221b4p-1016)=0x1.510681b939931p-508, want INEXACT got 0
src/math/special/sqrt.h:71: bad fp exception: RN sqrtl(0x1.c4942f3cp-1016)=0x1.5461e59227ab5p-508, want INEXACT got 0
src/math/special/sqrt.h:72: bad fp exception: RN sqrtl(0x1.dbb258c8p-1016)=0x1.5cf7b0f78d3afp-508, want INEXACT got 0
src/math/special/sqrt.h:73: bad fp exception: RN sqrtl(0x1.57103ea4p-1015)=0x1.a31ab946d340bp-508, want INEXACT got 0
src/math/special/sqrt.h:74: bad fp exception: RN sqrtl(0x1.9b294f88p-1015)=0x1.cad197e28e85bp-508, want INEXACT got 0
FAIL src/math/sqrtl.exe [status 1]
X src/math/sanity/tgamma.h:4: RN tgamma(-0x1.a206f0a19dcc4p+2) want -0x1.9fd0c1ce12f14p-10 got -0x1.9fd0c1ce12f12p-10 ulperr 1.597 = 0x1p+1 + -0x1.9c637p-2
X src/math/sanity/tgamma.h:7: RN tgamma(-0x1.a05cc754481d1p-2) want -0x1.d9a22b2f3f253p+1 got -0x1.d9a22b2f3f251p+1 ulperr 1.674 = 0x1p+1 + -0x1.4d79f4p-2
src/math/special/tgamma.h:5: bad fp exception: RN tgamma(-0x1p+0)=nan, want INVALID got 0
src/math/special/tgamma.h:7: bad fp exception: RN tgamma(-0x1p+1)=nan, want INVALID got 0
X src/math/special/tgamma.h:47: RN tgamma(0x1p-53) want 0x1.fffffffffffffp+52 got 0x1.ffffffffffffdp+52 ulperr -2.423 = -0x1p+1 + -0x1.b0ee6p-2
X src/math/special/tgamma.h:60: RN tgamma(-0x1.0000000000001p+0) want 0x1.fffffffffffffp+51 got 0x1.ffffffffffffdp+51 ulperr -2.154 = -0x1p+1 + -0x1.3c467ep-3
X src/math/special/tgamma.h:62: RN tgamma(-0x1.0000000000003p+0) want 0x1.5555555555554p+50 got 0x1.5555555555552p+50 ulperr -1.642 = -0x1p+1 + 0x1.6e642cp-2
X src/math/special/tgamma.h:66: RN tgamma(-0x1.ffffffffffffep+0) want 0x1.0000000000002p+50 got 0x1.0000000000004p+50 ulperr 2.154 = 0x1p+1 + 0x1.3c467ep-3
X src/math/special/tgamma.h:68: RN tgamma(-0x1.0000000000001p+1) want -0x1.ffffffffffffcp+49 got -0x1.ffffffffffff7p+49 ulperr 5.309 = 0x1.4p+2 + 0x1.3c467ep-2
X src/math/special/tgamma.h:72: RN tgamma(-0x1.7fffffffffffdp+1) want -0x1.c71c71c71c72ap+46 got -0x1.c71c71c71c72cp+46 ulperr -2.157 = -0x1p+1 + -0x1.4177f6p-3
X src/math/special/tgamma.h:82: RN tgamma(-0x1.59fffffffffffp+7) want -0x1.46b1fa841aaa6p-997 got -0x1.46b1fa841aaa8p-997 ulperr -1.801 = -0x1p+1 + 0x1.979e28p-3
X src/math/special/tgamma.h:83: RN tgamma(-0x1.5a00000000001p+7) want 0x1.46b1fa841a412p-997 got 0x1.46b1fa841a41p-997 ulperr -1.700 = -0x1p+1 + 0x1.333de2p-2
X src/math/special/tgamma.h:84: RN tgamma(-0x1.5bfffffffffffp+7) want 0x1.e0a7b14f99fdbp-1005 got 0x1.e0a7b14f99fddp-1005 ulperr 1.579 = 0x1p+1 + -0x1.af416ap-2
X src/math/special/tgamma.h:85: RN tgamma(-0x1.5c00000000001p+7) want -0x1.e0a7b14f9962ap-1005 got -0x1.e0a7b14f9962cp-1005 ulperr -1.685 = -0x1p+1 + 0x1.42ddc4p-2
X src/math/special/tgamma.h:88: RN tgamma(-0x1.5ffffffffffffp+7) want 0x1.ff5df5f533fd3p-1020 got 0x1.ff5df5f533fd6p-1020 ulperr 2.513 = 0x1.8p+1 + -0x1.f234a4p-2
X src/math/special/tgamma.h:119: RN tgamma(-0x1.8p+0) want 0x1.2e7fb0bcdf4f2p+1 got 0x1.2e7fb0bcdf4fp+1 ulperr -1.770 = -0x1p+1 + 0x1.d7697p-3
X src/math/special/tgamma.h:136: RN tgamma(-0x1.02p+6) want -0x1.912276590832ep-298 got -0x1.912276590833p-298 ulperr -1.662 = -0x1p+1 + 0x1.59f79ap-2
X src/math/special/tgamma.h:141: RN tgamma(-0x1.55p+7) want -0x1.7d2374dfcda7ap-1022 got -0x1.7d2374dfcda78p-1022 ulperr 1.778 = 0x1p+1 + -0x1.c68fa4p-3
FAIL src/math/tgamma.exe [status 1]
src/math/special/tgammaf.h:4: bad fp exception: RN tgammaf(-0x1p+0)=-nan, want INVALID got 0
src/math/special/tgammaf.h:6: bad fp exception: RN tgammaf(-0x1p+1)=-nan, want INVALID got 0
FAIL src/math/tgammaf.exe [status 1]
src/math/special/tgamma.h:5: bad fp exception: RN tgammal(-0x1p+0)=nan, want INVALID got 0
src/math/special/tgamma.h:7: bad fp exception: RN tgammal(-0x1p+1)=nan, want INVALID got 0
src/math/special/tgamma.h:47: RN tgammal(0x1p-53) want 0x1.fffffffffffffp+52 got 0x1.ffffffffffffdp+52 ulperr -2.423 = -0x1p+1 + -0x1.b0ee6p-2
src/math/special/tgamma.h:60: RN tgammal(-0x1.0000000000001p+0) want 0x1.fffffffffffffp+51 got 0x1.ffffffffffffdp+51 ulperr -2.154 = -0x1p+1 + -0x1.3c467ep-3
src/math/special/tgamma.h:66: RN tgammal(-0x1.ffffffffffffep+0) want 0x1.0000000000002p+50 got 0x1.0000000000004p+50 ulperr 2.154 = 0x1p+1 + 0x1.3c467ep-3
src/math/special/tgamma.h:68: RN tgammal(-0x1.0000000000001p+1) want -0x1.ffffffffffffcp+49 got -0x1.ffffffffffff7p+49 ulperr 5.309 = 0x1.4p+2 + 0x1.3c467ep-2
src/math/special/tgamma.h:72: RN tgammal(-0x1.7fffffffffffdp+1) want -0x1.c71c71c71c72ap+46 got -0x1.c71c71c71c72cp+46 ulperr -2.157 = -0x1p+1 + -0x1.4177f6p-3
src/math/special/tgamma.h:88: RN tgammal(-0x1.5ffffffffffffp+7) want 0x1.ff5df5f533fd3p-1020 got 0x1.ff5df5f533fd6p-1020 ulperr 2.513 = 0x1.8p+1 + -0x1.f234a4p-2
FAIL src/math/tgammal.exe [status 1]
src/math/sanity/y0.h:1: bad fp exception: RN y0(-0x1.02239f3c6a8f1p+3)=nan, want INVALID got 0
src/math/sanity/y0.h:3: bad fp exception: RN y0(-0x1.0c34b3e01e6e7p+3)=nan, want INVALID got 0
src/math/sanity/y0.h:4: bad fp exception: RN y0(-0x1.a206f0a19dcc4p+2)=nan, want INVALID got 0
src/math/sanity/y0.h:7: bad fp exception: RN y0(-0x1.a05cc754481d1p-2)=nan, want INVALID got 0
src/math/sanity/y0.h:10: bad fp exception: RN y0(-0x1.5b86ea8118a0ep-1)=nan, want INVALID got 0
src/math/special/y0.h:1: bad fp exception: RN y0(0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y0.h:2: bad fp exception: RN y0(-0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y0.h:3: bad fp exception: RN y0(-0x1p+0)=nan, want INVALID got 0
src/math/special/y0.h:5: bad fp exception: RN y0(-inf)=nan, want INVALID got 0
X src/math/special/y0.h:8: RN y0(0x1.c982eb8d417eap-1) want -0x1.af74bfa0f1304p-56 got -0x1p-55 ulperr -1416944204906496.000 = -0x1.422d02p+50 + 0x1.11721cp-2
X src/math/special/y0.h:9: RN y0(0x1.c982eb8d417ebp-1) want 0x1.5666419c0f3c9p-54 got 0x1.2p-54 ulperr -957005015547904.000 = -0x1.b3320cp+49 + 0x1.dc02a8p-2
X src/math/special/y0.h:10: RN y0(0x1.fa9534d98569bp+1) want 0x1.384a000f3fcecp-53 got 0x1.3004a968fceadp-53 ulperr -145502385471488.000 = -0x1.08aad4p+47 + 0x1.58e17p-6
X src/math/special/y0.h:11: RN y0(0x1.fa9534d98569cp+1) want -0x1.8fa8956b4b481p-55 got -0x1.8f4eb84cc2a33p-55 ulperr 6175389646848.000 = 0x1.67747ap+42 + 0x1.54cfbep-2
X src/math/special/y0.h:12: RN y0(0x1.c581dc4e72102p+2) want -0x1.14bb186dc408dp-52 got -0x1.16eb61aad4cacp-52 ulperr -38502565675008.000 = -0x1.18249ep+45 + -0x1.163cfp-2
X src/math/special/y0.h:13: RN y0(0x1.c581dc4e72103p+2) want 0x1.e91b198d39ce2p-56 got 0x1.dac1abb064c09p-56 ulperr -252436132397056.000 = -0x1.cb2dbcp+47 + -0x1.ee1b6ep-2
FAIL src/math/y0.exe [status 1]
src/math/sanity/y0f.h:1: bad fp exception: RN y0f(-0x1.0223ap+3)=-nan, want INVALID got 0
X src/math/sanity/y0f.h:2: RN y0f(0x1.161868p+2) want -0x1.293dbep-3 got -0x1.293dc2p-3 ulperr -1.910 = -0x1p+1 + 0x1.6ffc42p-4
src/math/sanity/y0f.h:3: bad fp exception: RN y0f(-0x1.0c34b4p+3)=-nan, want INVALID got 0
src/math/sanity/y0f.h:4: bad fp exception: RN y0f(-0x1.a206fp+2)=-nan, want INVALID got 0
src/math/sanity/y0f.h:7: bad fp exception: RN y0f(-0x1.a05cc8p-2)=-nan, want INVALID got 0
src/math/sanity/y0f.h:10: bad fp exception: RN y0f(-0x1.5b86eap-1)=-nan, want INVALID got 0
src/math/special/y0f.h:1: bad fp exception: RN y0f(0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y0f.h:2: bad fp exception: RN y0f(-0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y0f.h:3: bad fp exception: RN y0f(-0x1p+0)=-nan, want INVALID got 0
src/math/special/y0f.h:5: bad fp exception: RN y0f(-inf)=-nan, want INVALID got 0
X src/math/special/y0f.h:7: RN y0f(0x1.0c4a3ap+0) want 0x1.ff138ep-4 got 0x1.ff1386p-4 ulperr -4.180 = -0x1.fffffep+1 + -0x1.71585ap-3
X src/math/special/y0f.h:8: RN y0f(0x1.8ae5d4p-1) want -0x1.d88a5ap-4 got -0x1.d88a5p-4 ulperr 4.919 = 0x1.4p+2 + -0x1.4d601ap-4
X src/math/special/y0f.h:9: RN y0f(0x1.fa9536p+1) want -0x1.da2946p-25 got -0x1.c5c23p-25 ulperr 668554.625 = 0x1.46716p+19 + -0x1.88a2bcp-2
FAIL src/math/y0f.exe [status 1]
src/math/sanity/y1.h:1: bad fp exception: RN y1(-0x1.02239f3c6a8f1p+3)=nan, want INVALID got 0
src/math/sanity/y1.h:3: bad fp exception: RN y1(-0x1.0c34b3e01e6e7p+3)=nan, want INVALID got 0
src/math/sanity/y1.h:4: bad fp exception: RN y1(-0x1.a206f0a19dcc4p+2)=nan, want INVALID got 0
src/math/sanity/y1.h:7: bad fp exception: RN y1(-0x1.a05cc754481d1p-2)=nan, want INVALID got 0
src/math/sanity/y1.h:10: bad fp exception: RN y1(-0x1.5b86ea8118a0ep-1)=nan, want INVALID got 0
src/math/special/y1.h:1: bad fp exception: RN y1(0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y1.h:2: bad fp exception: RN y1(-0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y1.h:3: bad fp exception: RN y1(-0x1p+0)=nan, want INVALID got 0
src/math/special/y1.h:5: bad fp exception: RN y1(-inf)=nan, want INVALID got 0
FAIL src/math/y1.exe [status 1]
src/math/sanity/y1f.h:1: bad fp exception: RN y1f(-0x1.0223ap+3)=-nan, want INVALID got 0
src/math/sanity/y1f.h:3: bad fp exception: RN y1f(-0x1.0c34b4p+3)=-nan, want INVALID got 0
src/math/sanity/y1f.h:4: bad fp exception: RN y1f(-0x1.a206fp+2)=-nan, want INVALID got 0
src/math/sanity/y1f.h:7: bad fp exception: RN y1f(-0x1.a05cc8p-2)=-nan, want INVALID got 0
src/math/sanity/y1f.h:10: bad fp exception: RN y1f(-0x1.5b86eap-1)=-nan, want INVALID got 0
src/math/special/y1f.h:1: bad fp exception: RN y1f(0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y1f.h:2: bad fp exception: RN y1f(-0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/y1f.h:3: bad fp exception: RN y1f(-0x1p+0)=-nan, want INVALID got 0
src/math/special/y1f.h:5: bad fp exception: RN y1f(-inf)=-nan, want INVALID got 0
FAIL src/math/y1f.exe [status 1]
src/math/sanity/yn.h:1: bad fp exception: RN yn(-2, -0x1.02239f3c6a8f1p+3)=nan, want INVALID got 0
src/math/sanity/yn.h:3: bad fp exception: RN yn(0, -0x1.0c34b3e01e6e7p+3)=nan, want INVALID got 0
src/math/sanity/yn.h:4: bad fp exception: RN yn(1, -0x1.a206f0a19dcc4p+2)=nan, want INVALID got 0
src/math/sanity/yn.h:7: bad fp exception: RN yn(4, -0x1.a05cc754481d1p-2)=nan, want INVALID got 0
src/math/sanity/yn.h:10: bad fp exception: RN yn(7, -0x1.5b86ea8118a0ep-1)=nan, want INVALID got 0
src/math/special/yn.h:1: bad fp exception: RN yn(0, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:2: bad fp exception: RN yn(0, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:3: bad fp exception: RN yn(0, -0x1p+0)=nan, want INVALID got 0
src/math/special/yn.h:5: bad fp exception: RN yn(0, -inf)=nan, want INVALID got 0
src/math/special/yn.h:7: bad fp exception: RN yn(1, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:8: bad fp exception: RN yn(1, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:9: bad fp exception: RN yn(1, -0x1p+0)=nan, want INVALID got 0
src/math/special/yn.h:11: bad fp exception: RN yn(1, -inf)=nan, want INVALID got 0
src/math/special/yn.h:13: bad fp exception: RN yn(-1, 0x0p+0)=inf, want DIVBYZERO got 0
src/math/special/yn.h:14: bad fp exception: RN yn(-1, -0x0p+0)=inf, want DIVBYZERO got 0
src/math/special/yn.h:15: bad fp exception: RN yn(-1, -0x1p+0)=nan, want INVALID got 0
src/math/special/yn.h:17: bad fp exception: RN yn(-1, -inf)=nan, want INVALID got 0
src/math/special/yn.h:19: bad fp exception: RN yn(2, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:20: bad fp exception: RN yn(2, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/yn.h:21: bad fp exception: RN yn(2, -0x1p+0)=nan, want INVALID got 0
src/math/special/yn.h:23: bad fp exception: RN yn(2, -inf)=nan, want INVALID got 0
FAIL src/math/yn.exe [status 1]
src/math/sanity/ynf.h:1: bad fp exception: RN ynf(-2, -0x1.0223ap+3)=-nan, want INVALID got 0
src/math/sanity/ynf.h:3: bad fp exception: RN ynf(0, -0x1.0c34b4p+3)=-nan, want INVALID got 0
src/math/sanity/ynf.h:4: bad fp exception: RN ynf(1, -0x1.a206fp+2)=-nan, want INVALID got 0
X src/math/sanity/ynf.h:6: RN ynf(3, 0x1.52efdp-1) want -0x1.2935d2p+4 got -0x1.2935d6p+4, ulperr -1.920 = -0x1p+1 + 0x1.47d13p-4
src/math/sanity/ynf.h:7: bad fp exception: RN ynf(4, -0x1.a05cc8p-2)=-nan, want INVALID got 0
X src/math/sanity/ynf.h:9: RN ynf(6, 0x1.8c5dbp-1) want -0x1.6dbc1cp+13 got -0x1.6dbc18p+13, ulperr 2.115 = 0x1p+1 + 0x1.d597eep-4
src/math/sanity/ynf.h:10: bad fp exception: RN ynf(7, -0x1.5b86eap-1)=-nan, want INVALID got 0
src/math/special/ynf.h:1: bad fp exception: RN ynf(0, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:2: bad fp exception: RN ynf(0, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:3: bad fp exception: RN ynf(0, -0x1p+0)=-nan, want INVALID got 0
src/math/special/ynf.h:5: bad fp exception: RN ynf(0, -inf)=-nan, want INVALID got 0
src/math/special/ynf.h:7: bad fp exception: RN ynf(1, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:8: bad fp exception: RN ynf(1, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:9: bad fp exception: RN ynf(1, -0x1p+0)=-nan, want INVALID got 0
src/math/special/ynf.h:11: bad fp exception: RN ynf(1, -inf)=-nan, want INVALID got 0
src/math/special/ynf.h:13: bad fp exception: RN ynf(-1, 0x0p+0)=inf, want DIVBYZERO got 0
src/math/special/ynf.h:14: bad fp exception: RN ynf(-1, -0x0p+0)=inf, want DIVBYZERO got 0
src/math/special/ynf.h:15: bad fp exception: RN ynf(-1, -0x1p+0)=-nan, want INVALID got 0
src/math/special/ynf.h:17: bad fp exception: RN ynf(-1, -inf)=-nan, want INVALID got 0
src/math/special/ynf.h:19: bad fp exception: RN ynf(2, 0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:20: bad fp exception: RN ynf(2, -0x0p+0)=-inf, want DIVBYZERO got 0
src/math/special/ynf.h:21: bad fp exception: RN ynf(2, -0x1p+0)=-nan, want INVALID got 0
src/math/special/ynf.h:23: bad fp exception: RN ynf(2, -inf)=-nan, want INVALID got 0
FAIL src/math/ynf.exe [status 1]
src/regression/daemon-failure.c:56:24: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                if (write(fd[1], "1" + !t_status, 1) != 1)
                                 ~~~~^~~~~~~~~~~
src/regression/daemon-failure.c:56:24: note: use array indexing to silence this warning
                if (write(fd[1], "1" + !t_status, 1) != 1)
                                     ^
                                 &   [          ]
1 warning generated.
src/regression/malloc-brk-fail.c:31: malloc(10000) succeeded after memory is filled
FAIL src/regression/malloc-brk-fail.exe [status 1]
src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38 "Function not implemented" want 0 "No error information"
src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous owner died"
src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38 "Function not implemented" want 0 "No error information"
src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous owner died"
FAIL src/regression/pthread-robust-detach-static.exe [status 1]
src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==0) got 38 "Function not implemented" want 0 "No error information"
src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==0) got 110 "Operation timed out" want 130 "Previous owner died"
src/regression/pthread-robust-detach.c:33: pthread_mutexattr_setrobust(&mtx_a, 1) failed: (pshared==1) got 38 "Function not implemented" want 0 "No error information"
src/regression/pthread-robust-detach.c:50: pthread_mutex_timedlock(&mtx, &ts) failed: (pshared==1) got 110 "Operation timed out" want 130 "Previous owner died"
FAIL src/regression/pthread-robust-detach.exe [status 1]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [musl] Hexagon DSP support
  2020-05-05 23:37                 ` sidneym
@ 2020-05-06  0:59                   ` Rich Felker
  0 siblings, 0 replies; 17+ messages in thread
From: Rich Felker @ 2020-05-06  0:59 UTC (permalink / raw)
  To: sidneym; +Cc: musl

On Tue, May 05, 2020 at 06:37:41PM -0500, sidneym@codeaurora.org wrote:
> >- The definitions in bits/msg.h, bits/sem.h, and bits/shm.h are not
> >  time64-compatible. In fact bits/sem.h is a regression; you had it
> >  right before and broke it.
> As you point out below the core of the problem was the missing time64
> calls.  I've updated the structures to use what I hope or the
> correct types.

I think they're still wrong and you need to do like the existing
32-bit archs, defining IPC_STAT to 0x102 and putting separate unsigned
long *_lo/*_hi members in the right places for the kernel ABI and
adding the time_t members at the ends. This is almost surely the case
if _Alignof(long long) is 8 on hexagon, since the kernel's
include/uapi/asm-generic/msgbuf.h etc. have the lo/hi pairs misaligned
(struct ipc_perm is an odd number of 32-bit words). The fact that you
had to change qemu to make this work suggests that you still have it
wrong too -- you should not have to change qemu or the kernel to make
it work if you do it right.

> >- The definition in bits/stat.h is using the wrong types (you need to
> >  use libc type names for all the members; this is a policy
> >  requirement to ensure that none inadvertently mismatch). Note that
> >  there's not even really a need to use an arch-specific header here
> >  anymore; the kernel definition comes from arch/hexagon/kstat.h and
> >  the bits/stat.h can just be copied from aarch64 or something else
> >  with a clean layout.
> 
> I used OpenRISC's stat.h.

Is there a reason? It has old __st_*tim32 members but you don't need
them since there's no old-musl-ABI involved.

> src/api/ftw.c:44:1: error: switch condition has boolean value [-Werror,-Wswitch-bool]
> C(S_ISBLK(0))
> ^~~~~~~~~~~~~

You're still building libc-test with -Werror which will give bogus
results.

> src/api/sys_ipc.c:13:1: error: initializing 'uid_t *' (aka 'unsigned int *') with an expression of type 'int *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
> F(uid_t,uid)
> ^~~~~~~~~~~~
> src/api/sys_ipc.c:3:20: note: expanded from macro 'F'
> #define F(t,n) {t *y = &x.n;}
>                    ^   ~~~~

This is happening because struct ipc_perm's members have the wrong
types (but I think you should just delete your bits/ipc.h because the
generic one is correct and matches the kernel's ABI for hexagon).

> src/functional/ipc_msg.c:63: qid_ds.msg_qnum == 0 failed: got 16384, want 0
> src/functional/ipc_msg.c:67: (long long)qid_ds.msg_rtime == 0 failed: got 6823500725968961536, want 0
> src/functional/ipc_msg.c:69: qid_ds.msg_ctime >= t failed: got 69713, want >= 1588720066
> src/functional/ipc_msg.c:73: qid_ds.msg_qbytes > 0 failed: got 0, want > 0
> src/functional/ipc_msg.c:78: qid_ds.msg_qnum == 1 failed: got 16384, want 1
> src/functional/ipc_msg.c:79: qid_ds.msg_lspid == getpid() failed: got 0, want 240818
> src/functional/ipc_msg.c:81: msg_stime is 0 want >= 1588720066
> src/functional/ipc_msg.c:130: child exit status: 256
> FAIL src/functional/ipc_msg-static.exe [status 1]
> src/functional/ipc_msg.c:63: qid_ds.msg_qnum == 0 failed: got 16384, want 0
> src/functional/ipc_msg.c:67: (long long)qid_ds.msg_rtime == 0 failed: got 6823500725968961536, want 0
> src/functional/ipc_msg.c:69: qid_ds.msg_ctime >= t failed: got 0, want >= 1588720066
> src/functional/ipc_msg.c:73: qid_ds.msg_qbytes > 0 failed: got 0, want > 0
> src/functional/ipc_msg.c:78: qid_ds.msg_qnum == 1 failed: got 16384, want 1
> src/functional/ipc_msg.c:79: qid_ds.msg_lspid == getpid() failed: got 0, want 240786
> src/functional/ipc_msg.c:81: msg_stime is 0 want >= 1588720066
> src/functional/ipc_msg.c:130: child exit status: 256
> FAIL src/functional/ipc_msg.exe [status 1]

These indicate your struct ipc_perm/msqid_ds mismatch kernel, as
described above.

Otherwise I didn't see anything obviously wrong in tests. Having less
noise from -Werror and the above issues would make it easier to review
the report though and ensure I'm not missing anything.

Rich

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, back to index

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-15 13:19 [musl] Hexagon DSP support sidneym
2020-04-15 16:30 ` Rich Felker
2020-04-15 17:50   ` sidneym
2020-04-15 18:06     ` Szabolcs Nagy
2020-04-15 18:22       ` sidneym
2020-04-16  9:36         ` Szabolcs Nagy
2020-04-16 15:34           ` Rich Felker
2020-04-16 16:26             ` sidneym
2020-04-16 16:34               ` 'Rich Felker'
2020-04-15 18:26       ` Rich Felker
2020-04-15 19:12         ` sidneym
2020-04-15 19:29           ` 'Rich Felker'
2020-04-30 22:44             ` sidneym
2020-04-30 23:51               ` Rich Felker
2020-05-05 23:37                 ` sidneym
2020-05-06  0:59                   ` Rich Felker
2020-04-15 18:55 ` Fangrui Song

mailing list of musl libc

Archives are clonable: git clone --mirror http://inbox.vuxu.org/musl

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.musl


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git