aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL28
-rw-r--r--Makeconfig3
-rw-r--r--Makerules2
-rw-r--r--NEWS9
-rw-r--r--Rules21
-rw-r--r--advisories/GLIBC-SA-2025-000218
-rw-r--r--advisories/GLIBC-SA-2025-000330
-rw-r--r--advisories/GLIBC-SA-2025-000429
-rw-r--r--argp/argp-parse.c15
-rw-r--r--benchtests/Makefile21
-rw-r--r--benchtests/bench-calloc-tcache.c22
-rw-r--r--benchtests/bench-malloc-tcache.c174
-rw-r--r--benchtests/expl-inputs1004
-rw-r--r--benchtests/fmal-inputs1003
-rw-r--r--benchtests/inet_ntop_ipv4-inputs1003
-rw-r--r--benchtests/inet_ntop_ipv4-source.c10
-rw-r--r--benchtests/inet_ntop_ipv6-inputs1003
-rw-r--r--benchtests/inet_ntop_ipv6-source.c10
-rw-r--r--benchtests/libmvec/acospi-inputs2709
-rw-r--r--benchtests/libmvec/acospif-inputs2710
-rw-r--r--benchtests/libmvec/asinpi-inputs2508
-rw-r--r--benchtests/libmvec/asinpif-inputs2710
-rw-r--r--benchtests/libmvec/atan2pi-inputs1005
-rw-r--r--benchtests/libmvec/atan2pif-inputs2005
-rw-r--r--benchtests/libmvec/atanpi-inputs806
-rw-r--r--benchtests/libmvec/atanpif-inputs2005
-rw-r--r--benchtests/log2l-inputs1004
-rw-r--r--benchtests/modf-inputs4013
-rw-r--r--benchtests/modff-inputs8011
-rw-r--r--benchtests/powl-inputs1003
-rw-r--r--bits/libm-simd-decl-stubs.h44
-rw-r--r--bits/termios-baud.h72
-rw-r--r--bits/termios.h54
-rw-r--r--config.h.in11
-rwxr-xr-xconfigure164
-rw-r--r--configure.ac40
-rw-r--r--conform/linknamespace.py6
-rw-r--r--ctype/Makefile17
-rw-r--r--ctype/ctype-info.c29
-rw-r--r--ctype/tst-ctype-tls-dlmopen.c2
-rw-r--r--ctype/tst-ctype-tls-dlopen-static.c2
-rw-r--r--ctype/tst-ctype-tls-mod.c (renamed from sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S)27
-rw-r--r--ctype/tst-ctype-tls-skeleton.c67
-rw-r--r--elf/Makefile27
-rw-r--r--elf/dl-load.c2
-rw-r--r--elf/elf.h17
-rw-r--r--elf/libc_early_init.c4
-rw-r--r--elf/rtld.c7
-rw-r--r--elf/tst-asm-helper.h4
-rw-r--r--elf/tst-dlopen-sgid-mod.c1
-rw-r--r--elf/tst-dlopen-sgid.c106
-rw-r--r--elf/tst-env-setuid-tunables.c18
-rw-r--r--elf/tst-env-setuid.c17
-rw-r--r--elf/tst-gnu2-tls2.c4
-rw-r--r--elf/tst-tls23-mod.c32
-rw-r--r--elf/tst-tls23.c106
-rw-r--r--elf/tst-tls23.h40
-rw-r--r--htl/Makefile10
-rw-r--r--htl/Versions21
-rw-r--r--htl/pt-initialize.c3
-rw-r--r--htl/pt-internal.h1
-rw-r--r--hurd/intr-msg.c9
-rw-r--r--include/array_length.h14
-rw-r--r--include/ctype.h21
-rw-r--r--include/elf.h13
-rw-r--r--include/libc-symbols.h2
-rw-r--r--include/rpc/rpc.h5
-rw-r--r--include/stdio.h4
-rw-r--r--include/termios.h27
-rw-r--r--include/unistd.h1
-rw-r--r--inet/inet_ntoa.c7
-rw-r--r--io/Makefile1
-rw-r--r--io/fcntl.h7
-rw-r--r--io/isatty_nostatus.c29
-rw-r--r--libio/filedoalloc.c12
-rw-r--r--locale/iso-3166.def4
-rw-r--r--locale/iso-4217.def2
-rw-r--r--locale/lc-ctype.c9
-rw-r--r--locale/localeinfo.h7
-rw-r--r--locale/programs/locarchive.c18
-rw-r--r--locale/uselocale.c10
-rw-r--r--locale/xlocale.c7
-rw-r--r--localedata/locales/fa_IR2
-rwxr-xr-xlocaledata/tst-locale.sh2
-rw-r--r--login/openpty.c2
-rw-r--r--mach/mach_init.c4
-rw-r--r--malloc/Makefile128
-rw-r--r--malloc/arena.c21
-rw-r--r--malloc/malloc-check.c4
-rw-r--r--malloc/malloc-debug.c10
-rw-r--r--malloc/malloc-internal.h3
-rw-r--r--malloc/malloc.c569
-rw-r--r--malloc/tst-tcfree4.c59
-rw-r--r--manual/creature.texi4
-rw-r--r--manual/examples/memstrm.c2
-rw-r--r--manual/filesys.texi245
-rw-r--r--manual/getopt.texi31
-rw-r--r--manual/install.texi8
-rw-r--r--manual/libc.texinfo2
-rw-r--r--manual/maint.texi2
-rw-r--r--manual/math.texi16
-rw-r--r--manual/memory.texi8
-rw-r--r--manual/resource.texi199
-rw-r--r--manual/socket.texi79
-rw-r--r--manual/terminal.texi164
-rw-r--r--manual/time.texi114
-rw-r--r--math/Makefile6
-rw-r--r--math/Versions2
-rw-r--r--math/auto-libm-test-in218
-rw-r--r--math/auto-libm-test-out-rootn13734
-rw-r--r--math/bits/mathcalls.h7
-rw-r--r--math/gen-auto-libm-tests.c1
-rwxr-xr-xmath/gen-libm-test.py2
-rwxr-xr-xmath/gen-tgmath-tests.py1
-rw-r--r--math/libm-test-rootn.inc159
-rw-r--r--math/s_rootn_template.c81
-rw-r--r--math/test-tgmath.c12
-rw-r--r--math/tgmath.h3
-rw-r--r--misc/getpass.c4
-rw-r--r--nss/Makefile32
-rw-r--r--nss/nss_action_parse.c5
-rw-r--r--nss/nss_test1.c6
-rw-r--r--posix/Makefile2
-rw-r--r--posix/fnmatch_loop.c8
-rw-r--r--posix/glob.h3
-rw-r--r--posix/regcomp.c7
-rw-r--r--posix/tst-libc-message.c48
-rw-r--r--posix/tst-regex.input12
-rw-r--r--resolv/Makefile2
-rw-r--r--resolv/inet_ntop.c358
-rw-r--r--resolv/tst-resolv-getaddrinfo-fqdn.c147
-rw-r--r--resource/Makefile6
-rwxr-xr-xscripts/build-many-glibcs.py10
-rw-r--r--scripts/pylintrc4
-rw-r--r--stdio-common/printf-parsemb.c1
-rw-r--r--stdio-common/stdio_ext.h18
-rw-r--r--stdio-common/tst-scanf-format-ss.h2
-rw-r--r--stdio-common/vfscanf-internal.c2
-rw-r--r--stdlib/tst-secure-getenv.c9
-rw-r--r--string/strerror.c2
-rw-r--r--sunrpc/rpc_thread.c1
-rw-r--r--support/capture_subprocess.h11
-rw-r--r--support/support_capture_subprocess.c166
-rw-r--r--sysdeps/aarch64/Makefile13
-rw-r--r--sysdeps/aarch64/__alloc_gcs.c15
-rw-r--r--sysdeps/aarch64/__arm_za_disable.S6
-rw-r--r--sysdeps/aarch64/__longjmp.S72
-rw-r--r--sysdeps/aarch64/aarch64-gcs.h17
-rwxr-xr-xsysdeps/aarch64/configure209
-rw-r--r--sysdeps/aarch64/configure.ac111
-rw-r--r--sysdeps/aarch64/crti.S14
-rw-r--r--sysdeps/aarch64/crtn.S12
-rw-r--r--sysdeps/aarch64/dl-irel.h21
-rw-r--r--sysdeps/aarch64/dl-tlsdesc.S24
-rw-r--r--sysdeps/aarch64/dl-trampoline.S23
-rw-r--r--sysdeps/aarch64/fpu/Makefile9
-rw-r--r--sysdeps/aarch64/fpu/Versions22
-rw-r--r--sysdeps/aarch64/fpu/acos_advsimd.c56
-rw-r--r--sysdeps/aarch64/fpu/acos_sve.c75
-rw-r--r--sysdeps/aarch64/fpu/acosh_sve.c6
-rw-r--r--sysdeps/aarch64/fpu/acospi_advsimd.c118
-rw-r--r--sysdeps/aarch64/fpu/acospi_sve.c112
-rw-r--r--sysdeps/aarch64/fpu/acospif_advsimd.c106
-rw-r--r--sysdeps/aarch64/fpu/acospif_sve.c91
-rw-r--r--sysdeps/aarch64/fpu/advsimd_f32_protos.h4
-rw-r--r--sysdeps/aarch64/fpu/asin_advsimd.c46
-rw-r--r--sysdeps/aarch64/fpu/asin_sve.c74
-rw-r--r--sysdeps/aarch64/fpu/asinf_advsimd.c31
-rw-r--r--sysdeps/aarch64/fpu/asinpi_advsimd.c109
-rw-r--r--sysdeps/aarch64/fpu/asinpi_sve.c107
-rw-r--r--sysdeps/aarch64/fpu/asinpif_advsimd.c95
-rw-r--r--sysdeps/aarch64/fpu/asinpif_sve.c88
-rw-r--r--sysdeps/aarch64/fpu/atan2_advsimd.c128
-rw-r--r--sysdeps/aarch64/fpu/atan2_sve.c107
-rw-r--r--sysdeps/aarch64/fpu/atan2f_advsimd.c64
-rw-r--r--sysdeps/aarch64/fpu/atan2f_sve.c61
-rw-r--r--sysdeps/aarch64/fpu/atan2pi_advsimd.c175
-rw-r--r--sysdeps/aarch64/fpu/atan2pi_sve.c159
-rw-r--r--sysdeps/aarch64/fpu/atan2pif_advsimd.c138
-rw-r--r--sysdeps/aarch64/fpu/atan2pif_sve.c137
-rw-r--r--sysdeps/aarch64/fpu/atan_advsimd.c83
-rw-r--r--sysdeps/aarch64/fpu/atan_sve.c104
-rw-r--r--sysdeps/aarch64/fpu/atanf_advsimd.c97
-rw-r--r--sysdeps/aarch64/fpu/atanf_sve.c84
-rw-r--r--sysdeps/aarch64/fpu/atanh_sve.c3
-rw-r--r--sysdeps/aarch64/fpu/atanpi_advsimd.c117
-rw-r--r--sysdeps/aarch64/fpu/atanpi_sve.c127
-rw-r--r--sysdeps/aarch64/fpu/atanpif_advsimd.c92
-rw-r--r--sysdeps/aarch64/fpu/atanpif_sve.c89
-rw-r--r--sysdeps/aarch64/fpu/bits/math-vector.h32
-rw-r--r--sysdeps/aarch64/fpu/cosh_sve.c135
-rw-r--r--sysdeps/aarch64/fpu/exp10f_sve.c53
-rw-r--r--sysdeps/aarch64/fpu/exp2_sve.c76
-rw-r--r--sysdeps/aarch64/fpu/exp2f_sve.c35
-rw-r--r--sysdeps/aarch64/fpu/expm1_sve.c202
-rw-r--r--sysdeps/aarch64/fpu/log1p_sve.c84
-rw-r--r--sysdeps/aarch64/fpu/sinh_sve.c165
-rw-r--r--sysdeps/aarch64/fpu/sv_log1p_inline.h86
-rw-r--r--sysdeps/aarch64/fpu/tanh_sve.c154
-rw-r--r--sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c4
-rw-r--r--sysdeps/aarch64/fpu/test-double-sve-wrappers.c4
-rw-r--r--sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c4
-rw-r--r--sysdeps/aarch64/fpu/test-float-sve-wrappers.c4
-rw-r--r--sysdeps/aarch64/machine-gmon.h3
-rw-r--r--sysdeps/aarch64/multiarch/ifunc-impl-list.c12
-rw-r--r--sysdeps/aarch64/multiarch/init-arch.h2
-rw-r--r--sysdeps/aarch64/multiarch/memcpy.c2
-rw-r--r--sysdeps/aarch64/multiarch/memcpy_a64fx.S9
-rw-r--r--sysdeps/aarch64/multiarch/memcpy_sve.S3
-rw-r--r--sysdeps/aarch64/multiarch/memmove.c2
-rw-r--r--sysdeps/aarch64/multiarch/memset.c2
-rw-r--r--sysdeps/aarch64/multiarch/memset_a64fx.S8
-rw-r--r--sysdeps/aarch64/multiarch/memset_sve_zva64.S3
-rw-r--r--sysdeps/aarch64/preconfigure1
-rw-r--r--sysdeps/aarch64/setjmp.S16
-rw-r--r--sysdeps/aarch64/start.S2
-rw-r--r--sysdeps/aarch64/sys/ifunc.h65
-rw-r--r--sysdeps/aarch64/sysdep.h44
-rw-r--r--sysdeps/aarch64/tst-ifunc-arg-1.c15
-rw-r--r--sysdeps/aarch64/tst-ifunc-arg-2.c14
-rw-r--r--sysdeps/aarch64/tst-ifunc-arg-3.c97
-rw-r--r--sysdeps/aarch64/tst-ifunc-arg-4.c67
-rw-r--r--sysdeps/aarch64/tst-sme-helper.h97
-rw-r--r--sysdeps/aarch64/tst-sme-jmp.c81
-rw-r--r--sysdeps/aarch64/tst-sme-za-state.c119
-rw-r--r--sysdeps/generic/getrandom-internal.h2
-rw-r--r--sysdeps/generic/libc-tsd.h60
-rw-r--r--sysdeps/generic/sysdep.h3
-rw-r--r--sysdeps/gnu/netinet/tcp.h3
-rw-r--r--sysdeps/htl/libc-lockP.h6
-rw-r--r--sysdeps/htl/pt-destroy-specific.c2
-rw-r--r--sysdeps/htl/pt-getspecific.c9
-rw-r--r--sysdeps/htl/pt-key-create.c11
-rw-r--r--sysdeps/htl/pt-key-delete.c9
-rw-r--r--sysdeps/htl/pt-setspecific.c10
-rw-r--r--sysdeps/htl/pthread-functions.h6
-rw-r--r--sysdeps/htl/pthreadP.h7
-rw-r--r--sysdeps/i386/Makefile4
-rw-r--r--sysdeps/i386/dl-tls-get-addr.c68
-rw-r--r--sysdeps/i386/dl-tls.h28
-rw-r--r--sysdeps/i386/dl-tlsdesc-dynamic.h108
-rw-r--r--sysdeps/i386/dl-tlsdesc.S17
-rw-r--r--sysdeps/i386/fpu/e_ilogb.S41
-rw-r--r--sysdeps/i386/fpu/e_ilogbf.S41
-rw-r--r--sysdeps/i386/fpu/math_err.c1
-rw-r--r--sysdeps/i386/tls-get-addr-wrapper.h127
-rw-r--r--sysdeps/i386/tls_get_addr.S57
-rw-r--r--sysdeps/i386/tls_get_addr.h42
-rw-r--r--sysdeps/ieee754/dbl-64/e_ilogb.c64
-rw-r--r--sysdeps/ieee754/dbl-64/math_config.h15
-rw-r--r--sysdeps/ieee754/dbl-64/math_err.c32
-rw-r--r--sysdeps/ieee754/dbl-64/s_modf.c109
-rw-r--r--sysdeps/ieee754/dbl-64/w_ilogb-impl.h37
-rw-r--r--sysdeps/ieee754/dbl-64/w_ilogb.c52
-rw-r--r--sysdeps/ieee754/dbl-64/w_llogb.c2
-rw-r--r--sysdeps/ieee754/flt-32/e_ilogbf.c44
-rw-r--r--sysdeps/ieee754/flt-32/math_config.h15
-rw-r--r--sysdeps/ieee754/flt-32/math_errf.c33
-rw-r--r--sysdeps/ieee754/flt-32/s_modff.c105
-rw-r--r--sysdeps/ieee754/flt-32/w_ilogbf-impl.h38
-rw-r--r--sysdeps/ieee754/flt-32/w_ilogbf.c53
-rw-r--r--sysdeps/ieee754/flt-32/w_llogbf.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/Makefile2
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/Versions1
-rw-r--r--sysdeps/ieee754/ldbl-opt/Makefile10
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-rootn.c8
-rw-r--r--sysdeps/loongarch/fpu/e_ilogbf.c40
-rw-r--r--sysdeps/loongarch/fpu/w_ilogb-impl.h (renamed from sysdeps/loongarch/fpu/e_ilogb.c)12
-rw-r--r--sysdeps/loongarch/fpu/w_ilogbf-impl.h37
-rw-r--r--sysdeps/loongarch/preconfigure1
-rw-r--r--sysdeps/loongarch/preconfigure.ac1
-rw-r--r--sysdeps/m68k/m680x0/fpu/math_err.c1
-rw-r--r--sysdeps/m68k/m680x0/w_ilogb.c2
-rw-r--r--sysdeps/m68k/m680x0/w_ilogbf.c2
-rw-r--r--sysdeps/m68k/m680x0/w_llogb.c2
-rw-r--r--sysdeps/m68k/m680x0/w_llogbf.c2
-rw-r--r--sysdeps/mach/hurd/Makefile3
-rw-r--r--sysdeps/mach/hurd/bits/ioctls.h31
-rw-r--r--sysdeps/mach/hurd/getrandom-internal.h (renamed from sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S)20
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist14
-rw-r--r--sysdeps/mach/hurd/i386/libm.abilist8
-rw-r--r--sysdeps/mach/hurd/i386/libpthread.abilist5
-rw-r--r--sysdeps/mach/hurd/renameat2.c19
-rw-r--r--sysdeps/mach/hurd/x86_64/libc.abilist14
-rw-r--r--sysdeps/mach/hurd/x86_64/libm.abilist8
-rw-r--r--sysdeps/mach/hurd/x86_64/libpthread.abilist5
-rw-r--r--sysdeps/mach/sysdep.h5
-rw-r--r--sysdeps/posix/libc_fatal.c32
-rw-r--r--sysdeps/powerpc/Makefile5
-rw-r--r--sysdeps/powerpc/fpu/math-use-builtins-trunc.h9
-rw-r--r--sysdeps/powerpc/fpu/s_modf.c59
-rw-r--r--sysdeps/powerpc/fpu/s_modff.c55
-rw-r--r--sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c2
-rw-r--r--sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c2
-rw-r--r--sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c2
-rw-r--r--sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c2
-rw-r--r--sysdeps/powerpc/powerpc64/le/configure70
-rw-r--r--sysdeps/powerpc/powerpc64/le/configure.ac7
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/e_ilogb.c41
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/e_ilogbf.c41
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/w_ilogb.c2
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/w_ilogbf.c2
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/w_llogb.c2
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/w_llogbf.c2
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/memchr.S315
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/memcmp.S22
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/memcpy.S2
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/memmove.S2
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/memset.S2
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/strcmp.S233
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/strlen.S30
-rw-r--r--sysdeps/powerpc/powerpc64/le/power10/strncmp.S271
-rw-r--r--sysdeps/powerpc/powerpc64/le/power9/strcmp.S44
-rw-r--r--sysdeps/powerpc/powerpc64/le/power9/strncmp.S43
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/Makefile11
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c13
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/memchr.c20
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcmp.c4
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp.c4
-rw-r--r--sysdeps/s390/s390-32/s390-mcount.S6
-rw-r--r--sysdeps/s390/s390-64/s390x-mcount.h6
-rw-r--r--sysdeps/sparc/sparc32/start.S11
-rw-r--r--sysdeps/sparc/sparc64/start.S4
-rw-r--r--sysdeps/unix/bsd/tcsetattr.c6
-rw-r--r--sysdeps/unix/sysv/linux/Makefile28
-rw-r--r--sysdeps/unix/sysv/linux/Versions8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/cpu-features.c1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libmvec.abilist20
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/makecontext.c4
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/setcontext.S27
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/swapcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios-cbaud.h (renamed from sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h)43
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h11
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel-features.h11
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_termios.h43
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/termios_arch.h26
-rw-r--r--sysdeps/unix/sysv/linux/arc/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/arc/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/bits/ioctls.h85
-rw-r--r--sysdeps/unix/sysv/linux/bits/mman-shared.h7
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-c_cflag.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-cbaud.h (renamed from sysdeps/unix/sysv/linux/bits/termios-baud.h)39
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-struct.h11
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h50
-rw-r--r--sysdeps/unix/sysv/linux/cfsetspeed.c59
-rw-r--r--sysdeps/unix/sysv/linux/close_nocancel_nostatus.c28
-rw-r--r--sysdeps/unix/sysv/linux/csky/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/csky/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/i386/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/if_index.c41
-rw-r--r--sysdeps/unix/sysv/linux/isatty.c29
-rw-r--r--sysdeps/unix/sysv/linux/isatty_nostatus.c26
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h4
-rw-r--r--sysdeps/unix/sysv/linux/kernel_termios.h37
-rw-r--r--sysdeps/unix/sysv/linux/libc_sigaction.c2
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/Versions4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios-struct.h34
-rw-r--r--sysdeps/unix/sysv/linux/mips/kernel_termios.h37
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/termios_arch.h34
-rw-r--r--sysdeps/unix/sysv/linux/not-cancel.h12
-rw-r--r--sysdeps/unix/sysv/linux/old_termios.h23
-rw-r--r--sysdeps/unix/sysv/linux/or1k/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/or1k/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/or1k/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/ioctls.h36
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios-cbaud.h (renamed from sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h)42
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/configure43
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/configure.ac19
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/kernel_termios.h53
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/termios_arch.h26
-rw-r--r--sysdeps/unix/sysv/linux/riscv/hwprobe.c4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h40
-rw-r--r--sysdeps/unix/sysv/linux/riscv/sysdep.h3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Versions4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios-cbaud.h (renamed from sysdeps/unix/sysv/linux/sparc/bits/termios-baud.h)39
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h34
-rw-r--r--sysdeps/unix/sysv/linux/sparc/kernel_termios.h40
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/termios_arch.h34
-rw-r--r--sysdeps/unix/sysv/linux/speed.c363
-rw-r--r--sysdeps/unix/sysv/linux/syscall-names.list5
-rw-r--r--sysdeps/unix/sysv/linux/tcgetattr.c86
-rw-r--r--sysdeps/unix/sysv/linux/tcsetattr.c125
-rw-r--r--sysdeps/unix/sysv/linux/termios_arch.h (renamed from sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S)14
-rw-r--r--sysdeps/unix/sysv/linux/termios_internals.h143
-rw-r--r--sysdeps/unix/sysv/linux/tst-pkey.c6
-rw-r--r--sysdeps/unix/sysv/linux/tst-termios-linux.c592
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Makefile8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist8
-rw-r--r--sysdeps/x86/Makefile32
-rw-r--r--sysdeps/x86/cpu-features.c2
-rw-r--r--sysdeps/x86/sysdep.h23
-rw-r--r--sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c2
-rw-r--r--sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c2
-rw-r--r--sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c2
-rw-r--r--sysdeps/x86/tst-gnu2-tls2.c36
-rw-r--r--sysdeps/x86/tst-gnu2-tls2.h37
-rw-r--r--sysdeps/x86/tst-tls23.c22
-rw-r--r--sysdeps/x86/tst-tls23.h35
-rw-r--r--sysdeps/x86_64/Makefile21
-rw-r--r--sysdeps/x86_64/dl-tlsdesc.S1
-rw-r--r--sysdeps/x86_64/dl-trampoline-save.h34
-rw-r--r--sysdeps/x86_64/dl-trampoline.S1
-rw-r--r--sysdeps/x86_64/multiarch/ifunc-impl-list.c4
-rw-r--r--termios/Makefile7
-rw-r--r--termios/Versions4
-rw-r--r--termios/baud.c56
-rw-r--r--termios/cfsetbaud.c29
-rw-r--r--termios/cfsetspeed.c142
-rw-r--r--termios/speed.c18
-rw-r--r--termios/sys/ttychars.h4
-rw-r--r--termios/tcsetattr.c5
-rw-r--r--termios/termios.h19
-rw-r--r--time/strftime_l.c1
494 files changed, 59392 insertions, 5151 deletions
diff --git a/INSTALL b/INSTALL
index d3200f2..1c4d4b9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -7,8 +7,7 @@ and describes problems you may experience with compilation and
installation.
You will need recent versions of several GNU tools: definitely GCC
-and GNU Make, and possibly others. *Note Tools for Compilation::,
-below.
+and GNU Make, and possibly others. See Tools for Compilation, below.
Configuring and compiling the GNU C Library
===========================================
@@ -213,8 +212,8 @@ passed to 'configure'. For example:
slightly increased program load times.
'--enable-pt_chown'
- The file 'pt_chown' is a helper binary for 'grantpt' (*note
- Pseudo-Terminals: Allocation.) that is installed setuid root to fix
+ The file 'pt_chown' is a helper binary for 'grantpt' (see
+ Pseudo-Terminals: Allocation) that is installed setuid root to fix
up pseudo-terminal ownership on GNU/Hurd. It is not required on
GNU/Linux, and the GNU C Library will not use the installed
'pt_chown' program when configured with '--enable-pt_chown'.
@@ -309,10 +308,10 @@ an appropriate numeric parameter to 'make'. You need a recent GNU
To build and run test programs which exercise some of the library
facilities, type 'make check'. If it does not complete successfully, do
not use the built library, and report a bug after verifying that the
-problem is not already known. *Note Reporting Bugs::, for instructions
-on reporting bugs. Note that some of the tests assume they are not
-being run by 'root'. We recommend you compile and test the GNU C
-Library as an unprivileged user.
+problem is not already known. See Reporting Bugs, for instructions on
+reporting bugs. Note that some of the tests assume they are not being
+run by 'root'. We recommend you compile and test the GNU C Library as
+an unprivileged user.
Before reporting bugs make sure there is no problem with your system.
The tests (and later installation) use some pre-existing files of the
@@ -511,20 +510,13 @@ build the GNU C Library:
Check the FAQ for any special compiler issues on particular
platforms.
- * GNU 'binutils' 2.25 or later
+ * GNU 'binutils' 2.39 or later
You must use GNU 'binutils' (as and ld) to build the GNU C Library.
No other assembler or linker has the necessary functionality at the
moment. As of release time, GNU 'binutils' 2.43.1 is the newest
verified to work to build the GNU C Library.
- For PowerPC 64-bits little-endian (powerpc64le), 'objcopy' is
- required to support '--update-section'. This option requires
- binutils 2.26 or newer.
-
- ARC architecture needs 'binutils' 2.32 or higher for TLS related
- fixes.
-
* GNU 'texinfo' 4.7 or later
To correctly translate and install the Texinfo documentation you
@@ -682,8 +674,8 @@ Unix C libraries permit things that we don't, such as closing a file
twice.
If you think you have found some way in which the GNU C Library does
-not conform to the ISO and POSIX standards (*note Standards and
-Portability::), that is definitely a bug. Report it!
+not conform to the ISO and POSIX standards (see Standards and
+Portability), that is definitely a bug. Report it!
Once you're sure you've found a bug, try to narrow it down to the
smallest test case that reproduces the problem. In the case of a C
diff --git a/Makeconfig b/Makeconfig
index a2ea4f6..1bb143e 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -896,7 +896,8 @@ endif
ifeq ($(enable-werror),yes)
+gccwarn += -Werror
endif
-+gccwarn-c = -Wstrict-prototypes -Wold-style-definition
++gccwarn-c = -Wstrict-prototypes -Wold-style-definition \
+ $(cc-option-wfree-labels) $(cc-option-wmissing-parameter-name)
# We do not depend on the address of constants in different files to be
# actually different, so allow the compiler to merge them all.
diff --git a/Makerules b/Makerules
index cd6c998..7714888 100644
--- a/Makerules
+++ b/Makerules
@@ -1400,7 +1400,7 @@ endif
ifneq (,$(strip $(gpl2lgpl)))
ifneq (,$(wildcard $(..)gpl2lgpl.sed))
-# Snarf from the master source and frob the copying notice.
+# Snarf from the original source and frob the copying notice.
$(gpl2lgpl): %: $(..)gpl2lgpl.sed /home/gd/gnu/lib/%
sed -f $^ > $@-tmp
# So I don't edit them by mistake.
diff --git a/NEWS b/NEWS
index 521fbd5..cc66834 100644
--- a/NEWS
+++ b/NEWS
@@ -14,13 +14,18 @@ Major new features:
functions for float, double, long double, _FloatN and _FloatNx, and a
type-generic macro in <tgmath.h>.
- - Power and absolute-value functions: compoundn, pown, powr, rsqrt.
+ - Power and absolute-value functions: compoundn, pown, powr, rootn,
+ rsqrt.
* On Linux, the pthread_gettid_np function has been added.
* The ISO C2Y family of unsigned abs functions, i.e.
uabs, ulabs, ullabs and uimaxabs, are now supported.
+* On Linux, the <termios.h> interface now supports arbitrary baud rates;
+ speed_t is redefined to simply be the baud rate specified as an
+ unsigned int, which matches the kernel interface.
+
Deprecated and removed features, and other changes affecting compatibility:
* The glibc.rtld.execstack now supports a compatibility mode to allow
@@ -36,6 +41,8 @@ Changes to build and runtime requirements:
* GCC 12.1 or later is now required to build the GNU C Library.
+* GNU Binutils 2.39 or later is now required to build the GNU C Library.
+
Security related changes:
The following CVEs were fixed in this release, details of which can be
diff --git a/Rules b/Rules
index ae23070..44c041c 100644
--- a/Rules
+++ b/Rules
@@ -152,7 +152,8 @@ tests: $(addprefix $(objpfx),$(filter-out $(tests-unsupported), \
$(tests-mcheck:%=%-mcheck) \
$(tests-malloc-check:%=%-malloc-check) \
$(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \
- $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2)) \
+ $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2) \
+ $(tests-malloc-largetcache:%=%-malloc-largetcache)) \
$(test-srcs)) $(tests-special) \
$(tests-printers-programs)
xtests: tests $(xtests-special)
@@ -165,6 +166,7 @@ tests: $(tests:%=$(objpfx)%.out) $(tests-internal:%=$(objpfx)%.out) \
$(tests-malloc-check:%=$(objpfx)%-malloc-check.out) \
$(tests-malloc-hugetlb1:%=$(objpfx)%-malloc-hugetlb1.out) \
$(tests-malloc-hugetlb2:%=$(objpfx)%-malloc-hugetlb2.out) \
+ $(tests-malloc-largetcache:%=$(objpfx)%-malloc-largetcache.out) \
$(tests-special) $(tests-printers-out)
xtests: tests $(xtests:%=$(objpfx)%.out) $(xtests-special)
endif # $(run-built-tests) != no
@@ -179,6 +181,7 @@ tests-expected = $(tests) $(tests-internal) $(tests-printers) \
$(tests-container) $(tests-malloc-check:%=%-malloc-check) \
$(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \
$(tests-malloc-hugetlb2:%=%-malloc-hugetlb2) \
+ $(tests-malloc-largetcache:%=%-malloc-largetcache) \
$(tests-mcheck:%=%-mcheck)
xtests-expected = $(xtests)
endif # $(run-built-tests) != no
@@ -211,6 +214,7 @@ binaries-mcheck-tests = $(tests-mcheck:%=%-mcheck)
binaries-malloc-check-tests = $(tests-malloc-check:%=%-malloc-check)
binaries-malloc-hugetlb1-tests = $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1)
binaries-malloc-hugetlb2-tests = $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2)
+binaries-malloc-largetcache-tests = $(tests-malloc-largetcache:%=%-malloc-largetcache)
else
binaries-all-notests =
binaries-all-tests = $(tests) $(tests-internal) $(xtests) $(test-srcs)
@@ -224,6 +228,7 @@ binaries-mcheck-tests =
binaries-malloc-check-tests =
binaries-malloc-hugetlb1-tests =
binaries-malloc-hugetlb2-tests =
+binaries-malloc-largetcache-tests =
endif
binaries-pie = $(binaries-pie-tests) $(binaries-pie-notests)
@@ -290,6 +295,14 @@ $(addprefix $(objpfx),$(binaries-malloc-hugetlb2-tests)): %-malloc-hugetlb2: %.o
$(+link-tests)
endif
+ifneq "$(strip $(binaries-malloc-largetcache-tests))" ""
+$(addprefix $(objpfx),$(binaries-malloc-largetcache-tests)): %-malloc-largetcache: %.o \
+ $(link-extra-libs-tests) \
+ $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
+ $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
+ $(+link-tests)
+endif
+
ifneq "$(strip $(binaries-pie-tests))" ""
$(addprefix $(objpfx),$(binaries-pie-tests)): %: %.o \
$(link-extra-libs-tests) \
@@ -339,6 +352,12 @@ $(1)-malloc-hugetlb2-ENV += GLIBC_TUNABLES=glibc.malloc.hugetlb=2
endef
$(foreach t,$(tests-malloc-hugetlb2),$(eval $(call malloc-hugetlb2-ENVS,$(t))))
+# All malloc-largetcache tests will be run with GLIBC_TUNABLE=glibc.malloc.tcache_max=1048576
+define malloc-largetcache-ENVS
+$(1)-malloc-largetcache-ENV += GLIBC_TUNABLES=glibc.malloc.tcache_max=1048576
+endef
+$(foreach t,$(tests-malloc-largetcache),$(eval $(call malloc-largetcache-ENVS,$(t))))
+
# mcheck tests need the debug DSO to support -lmcheck.
define mcheck-ENVS
$(1)-mcheck-ENV = LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so
diff --git a/advisories/GLIBC-SA-2025-0002 b/advisories/GLIBC-SA-2025-0002
new file mode 100644
index 0000000..95c5c23
--- /dev/null
+++ b/advisories/GLIBC-SA-2025-0002
@@ -0,0 +1,18 @@
+elf: static setuid binary dlopen may incorrectly search LD_LIBRARY_PATH
+
+A statically linked setuid binary that calls dlopen (including internal
+dlopen calls after setlocale or calls to NSS functions such as getaddrinfo)
+may incorrectly search LD_LIBRARY_PATH to determine which library to load,
+leading to the execution of library code that is attacker controlled.
+
+The only viable vector for exploitation of this bug is local, if a static
+setuid program exists, and that program calls dlopen, then it may search
+LD_LIBRARY_PATH to locate the SONAME to load. No such program has been
+discovered at the time of publishing this advisory, but the presence of
+custom setuid programs, although strongly discouraged as a security
+practice, cannot be discounted.
+
+CVE-id: CVE-2025-4802
+Public-Date: 2025-05-16
+Vulnerable-Commit: 10e93d968716ab82931d593bada121c17c0a4b93 (2.27)
+Fix-Commit: 5451fa962cd0a90a0e2ec1d8910a559ace02bba0 (2.39)
diff --git a/advisories/GLIBC-SA-2025-0003 b/advisories/GLIBC-SA-2025-0003
new file mode 100644
index 0000000..1252b55
--- /dev/null
+++ b/advisories/GLIBC-SA-2025-0003
@@ -0,0 +1,30 @@
+power10: strcmp fails to save and restore nonvolatile vector registers
+
+The Power 10 implementation of strcmp in
+sysdeps/powerpc/powerpc64/le/power10/strcmp.S failed to save/restore
+nonvolatile vector registers in the 32-byte aligned loop path. This
+results in callers reading content from those registers in a different
+context, potentially altering program logic.
+
+There could be a program context where a user controlled string could
+leak through strcmp into program code, thus altering its logic. There
+is also a potential for sensitive strings passed into strcmp leaking
+through the clobbered registers into parts of the calling program that
+should otherwise not have had access to those strings.
+
+The impact of this flaw is limited to applications running on Power 10
+hardware that use the nonvolatile vector registers, i.e. v20 to v31
+assuming that they have been treated in accordance with the OpenPower
+psABI. It is possible to work around the issue for those specific
+applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like
+so:
+
+ export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1
+
+CVE-id: CVE-2025-5702
+Public-Date: 2025-06-04
+Vulnerable-Commit: 3367d8e180848030d1646f088759f02b8dfe0d6f (2.39)
+Fix-Commit: 15808c77b35319e67ee0dc8f984a9a1a434701bc (2.42)
+Fix-Commit: 0c76c951620f9e12df2a89b2c684878b55bb6795 (2.41-60)
+Fix-Commit: 7e12550b8e3a11764a4a9090ce6bd3fc23fc8a8e (2.40-139)
+Fix-Commit: 06a70769fd0b2e1f2a3085ad50ab620282bd77b3 (2.39-209)
diff --git a/advisories/GLIBC-SA-2025-0004 b/advisories/GLIBC-SA-2025-0004
new file mode 100644
index 0000000..c7dda66
--- /dev/null
+++ b/advisories/GLIBC-SA-2025-0004
@@ -0,0 +1,29 @@
+power10: strncmp fails to save and restore nonvolatile vector registers
+
+The Power 10 implementation of strncmp in
+sysdeps/powerpc/powerpc64/le/power10/strncmp.S failed to save/restore
+nonvolatile vector registers in the 32-byte aligned loop path. This
+results in callers reading content from those registers in a different
+context, potentially altering program logic.
+
+There could be a program context where a user controlled string could
+leak through strncmp into program code, thus altering its logic. There
+is also a potential for sensitive strings passed into strncmp leaking
+through the clobbered registers into parts of the calling program that
+should otherwise not have had access to those strings.
+
+The impact of this flaw is limited to applications running on Power 10
+hardware that use the nonvolatile vector registers, i.e. v20 to v31
+assuming that they have been treated in accordance with the OpenPower
+psABI. It is possible to work around the issue for those specific
+applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like
+so:
+
+ export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1
+
+CVE-id: CVE-2025-5745
+Public-Date: 2025-06-05
+Vulnerable-Commit: 23f0d81608d0ca6379894ef81670cf30af7fd081 (2.40)
+Fix-Commit: 63c60101ce7c5eac42be90f698ba02099b41b965 (2.42)
+Fix-Commit: 84bdbf8a6f2fdafd3661489dbb7f79835a52da82 (2.41-57)
+Fix-Commit: 42a5a940c974d02540c8da26d6374c744d148cb9 (2.40-136)
diff --git a/argp/argp-parse.c b/argp/argp-parse.c
index 82c7b78..99f8d9e 100644
--- a/argp/argp-parse.c
+++ b/argp/argp-parse.c
@@ -735,12 +735,15 @@ parser_parse_opt (struct parser *parser, int opt, char *val)
}
}
else
- /* A long option. We use shifts instead of masking for extracting
- the user value in order to preserve the sign. */
- err =
- group_parse (&parser->groups[group_key - 1], &parser->state,
- (opt << GROUP_BITS) >> GROUP_BITS,
- parser->opt_data.optarg);
+ /* A long option. Preserve the sign in the user key, without
+ invoking undefined behavior. Assume two's complement. */
+ {
+ int user_key =
+ ((opt & (1 << (USER_BITS - 1))) ? ~USER_MASK : 0) | (opt & USER_MASK);
+ err =
+ group_parse (&parser->groups[group_key - 1], &parser->state,
+ user_key, parser->opt_data.optarg);
+ }
if (err == EBADKEY)
/* At least currently, an option not recognized is an error in the
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 74142da..53f84bf 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -63,10 +63,12 @@ bench-math := \
exp2f \
exp2m1f \
expf \
+ expl \
expm1 \
expm1f \
floor \
floorf \
+ fmal \
fmax \
fmaxf \
fmin \
@@ -94,6 +96,7 @@ bench-math := \
log1pf \
log2 \
log2f \
+ log2l \
log2p1f \
logb \
logbf \
@@ -101,10 +104,12 @@ bench-math := \
lrint \
lrintf \
modf \
+ modff \
nearbyint \
nearbyintf \
pow \
powf \
+ powl \
rint \
rintf \
roundeven \
@@ -155,6 +160,11 @@ bench-pthread := \
thread_create \
# bench-pthread
+bench-resolv := \
+ inet_ntop_ipv4 \
+ inet_ntop_ipv6 \
+ # bench-resolv
+
LDLIBS-bench-pthread-mutex-lock += -lm
LDLIBS-bench-pthread-mutex-trylock += -lm
LDLIBS-bench-pthread-spin-lock += -lm
@@ -328,8 +338,10 @@ CFLAGS-bench-isfinite.c += $(config-cflags-signaling-nans)
ifeq (${BENCHSET},)
bench-malloc := \
calloc-simple \
+ calloc-tcache \
calloc-thread \
malloc-simple \
+ malloc-tcache \
malloc-thread \
# bench-malloc
else
@@ -412,6 +424,7 @@ ifeq (${BENCHSET},)
bench := \
$(bench-math) \
$(bench-pthread) \
+ $(bench-resolv) \
$(bench-string) \
# bench
else
@@ -450,11 +463,14 @@ ifneq ($(strip ${BENCHSET}),)
VALIDBENCHSETNAMES := \
bench-math \
bench-pthread \
+ bench-resolv \
bench-string \
calloc-simple \
+ calloc-tcache \
calloc-thread \
hash-benchset \
malloc-simple \
+ malloc-tcache \
malloc-thread \
math-benchset \
stdio-benchset \
@@ -498,6 +514,11 @@ bench-malloc: $(binaries-bench-malloc)
echo "Running $${run} $${thr}"; \
$(run-bench) $${thr} > $${run}-$${thr}.out; \
done;\
+ elif basename $${run} | grep -q "bench-[cm]alloc-tcache"; then \
+ for thr in 64 512 1024; do \
+ echo "Running $${run} $${thr}"; \
+ $(run-bench) $${thr} > $${run}-$${thr}.out; \
+ done;\
else \
for thr in 8 16 32 64 128 256 512 1024 2048 4096; do \
echo "Running $${run} $${thr}"; \
diff --git a/benchtests/bench-calloc-tcache.c b/benchtests/bench-calloc-tcache.c
new file mode 100644
index 0000000..5303f87
--- /dev/null
+++ b/benchtests/bench-calloc-tcache.c
@@ -0,0 +1,22 @@
+/* Benchmark calloc and free functions.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define TEST_FUNC(size) calloc (1, size)
+#define TEST_NAME "calloc"
+
+#include "bench-malloc-tcache.c"
diff --git a/benchtests/bench-malloc-tcache.c b/benchtests/bench-malloc-tcache.c
new file mode 100644
index 0000000..4bd9808
--- /dev/null
+++ b/benchtests/bench-malloc-tcache.c
@@ -0,0 +1,174 @@
+/* Benchmark tcache hotpath allocations.
+ Copyright (C) 2013-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef TEST_FUNC
+# define TEST_FUNC(size) malloc(size)
+# define TEST_NAME "malloc"
+#endif
+
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#include "bench-util.h"
+#include "bench-util.c"
+#include "bench-timing.h"
+#include "json-lib.h"
+
+/* Benchmark duration in seconds. */
+#define BENCHMARK_DURATION 3
+
+static volatile bool timeout;
+size_t alloc_size;
+
+static void
+alarm_handler (int signum)
+{
+ timeout = true;
+}
+
+struct bench_result {
+ size_t iters;
+ timing_t elapsed;
+};
+
+static __always_inline size_t
+malloc_benchmark_loop (void **elems, size_t nr_items)
+{
+ size_t iters = nr_items;
+
+ while (!timeout)
+ {
+ elems[iters % nr_items] = TEST_FUNC (alloc_size);
+ iters++;
+ free (elems[iters % nr_items]);
+ }
+
+ return iters - nr_items;
+}
+
+static void
+do_benchmark (struct bench_result *res)
+{
+ timing_t start, stop;
+ void *elems[10];
+ memset (elems, 0, sizeof(elems));
+
+ alarm (BENCHMARK_DURATION);
+ /* Ramp up cpu before measuring. */
+ bench_start ();
+ TIMING_NOW (start);
+ res[0].iters = malloc_benchmark_loop (elems, 1);
+ TIMING_NOW (stop);
+ TIMING_DIFF (res[0].elapsed, start, stop);
+
+ timeout = false;
+ alarm (BENCHMARK_DURATION);
+ bench_start ();
+ TIMING_NOW (start);
+ res[1].iters = malloc_benchmark_loop (elems, 4);
+ TIMING_NOW (stop);
+ TIMING_DIFF (res[1].elapsed, start, stop);
+}
+
+static void usage (const char *name)
+{
+ fprintf (stderr, "%s: <alloc_size>\n", name);
+ exit (1);
+}
+
+int
+main (int argc, char **argv)
+{
+ json_ctx_t json_ctx;
+ double d_total_s, d_total_i;
+ struct sigaction act;
+
+ if (argc == 1)
+ alloc_size = 1024;
+ else if (argc == 2)
+ {
+ long ret;
+
+ errno = 0;
+ ret = strtol (argv[1], NULL, 10);
+
+ if (errno || ret == 0)
+ usage (argv[0]);
+
+ alloc_size = ret;
+ }
+ else
+ usage (argv[0]);
+
+ json_init (&json_ctx, 0, stdout);
+
+ json_document_begin (&json_ctx);
+
+ json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);
+
+ json_attr_object_begin (&json_ctx, "functions");
+
+ json_attr_object_begin (&json_ctx, TEST_NAME);
+
+ memset (&act, 0, sizeof (act));
+ act.sa_handler = &alarm_handler;
+
+ sigaction (SIGALRM, &act, NULL);
+
+ struct bench_result res[2];
+ memset (res, 0, sizeof (struct bench_result) * 2);
+
+ do_benchmark (res);
+
+ d_total_s = res[0].elapsed;
+ d_total_i = res[0].iters;
+
+ json_attr_object_begin (&json_ctx, "simple");
+
+ json_attr_double (&json_ctx, "alloc_size", alloc_size);
+ json_attr_double (&json_ctx, "duration", d_total_s);
+ json_attr_double (&json_ctx, "iterations", d_total_i);
+ json_attr_double (&json_ctx, "time_per_iteration", d_total_s / d_total_i);
+
+ json_attr_object_end (&json_ctx);
+
+ d_total_s = res[1].elapsed;
+ d_total_i = res[1].iters;
+
+ json_attr_object_begin (&json_ctx, "optimized");
+
+ json_attr_double (&json_ctx, "alloc_size", alloc_size);
+ json_attr_double (&json_ctx, "duration", d_total_s);
+ json_attr_double (&json_ctx, "iterations", d_total_i);
+ json_attr_double (&json_ctx, "time_per_iteration", d_total_s / d_total_i);
+
+ json_attr_object_end (&json_ctx);
+
+ json_attr_object_end (&json_ctx);
+
+ json_attr_object_end (&json_ctx);
+
+ json_document_end (&json_ctx);
+
+ return 0;
+}
diff --git a/benchtests/expl-inputs b/benchtests/expl-inputs
new file mode 100644
index 0000000..9e429fd
--- /dev/null
+++ b/benchtests/expl-inputs
@@ -0,0 +1,1004 @@
+## args: long double
+## ret: long double
+## includes: math.h
+# Random inputs in [-10,10]
+-0x1.e789bfea7e0b7b2p+2l
+-0x1.402ce9cd820ba22p-1l
+0x1.0aff75533049c4fp+3l
+-0x1.5e877741882a3faap+2l
+0x1.52f42e7ceb880f2p-1l
+-0x1.02403d7952f2780cp+2l
+0x1.ff3411a45d039e88p+2l
+-0x1.0f3cad2392b81492p+3l
+-0x1.1f0a76abe016e8b8p+3l
+0x1.d4bf8c1a75ec682p+2l
+0x1.9229a9dec96315e8p+1l
+-0x1.a4b22031d574ae68p+2l
+0x1.64138024cea3d334p+2l
+-0x1.02a0b11943757306p+2l
+-0x1.454f53ef5d0b9acp-2l
+0x1.7ba5053e60291c98p+2l
+-0x1.2ab42be196e5cfep+3l
+0x1.3bcc82111aa14b34p+2l
+-0x1.630435ce88cce36p+2l
+0x1.04f4dc3e9bd7853p+1l
+-0x1.0ebbeceb9e3be7bp+3l
+0x1.26cbb541e5e4e5ap+0l
+0x1.1b8ea75123208ac8p+3l
+-0x1.cbd4daee8a4761p+0l
+-0x1.b4d89d5bd14f609cp+2l
+-0x1.fa6003cab764811p+0l
+-0x1.6f912b9f1ffec2p-2l
+0x1.3772cd49fb3fa0ap+3l
+-0x1.92c58088516e164p-2l
+0x1.05289001a75a4344p+3l
+0x1.a648980822811a8p+1l
+0x1.3a211c91d642cc1p+1l
+-0x1.bd4350d7fd5a7148p+1l
+-0x1.09175c9e71a9ffccp+3l
+-0x1.396634f7a2beb314p+2l
+0x1.5ceb175223db80bp+2l
+0x1.e32149055424404p+2l
+0x1.3fcb04ef68b2dbfp+0l
+0x1.3001a196923e54c8p+3l
+0x1.eacf870f01812fa8p+2l
+-0x1.7e1e2c766408b34p+2l
+0x1.0b9e00d8faf97658p+3l
+-0x1.65c588bbe879a5p-2l
+-0x1.13ccd97ab4820c5cp+3l
+-0x1.596f1545fa1f64eep+2l
+0x1.209c78fec17e73c8p+3l
+-0x1.d145923081d6ab62p+2l
+-0x1.a2bd852cafcaae3cp+1l
+0x1.76dfdfa7fa4dd6ep+2l
+-0x1.1b4208a1c5c101b2p+3l
+-0x1.44d756cd1ce5f4cp+0l
+0x1.c6bafeae6458edep-1l
+0x1.2e1041051d49deap+3l
+-0x1.906d7a88f19e726p+2l
+-0x1.e72a1dffcd7095p-3l
+0x1.f9047a6579beeaa8p+1l
+-0x1.e4543fc8c8342e14p+2l
+-0x1.61e482b5ad0dc1eap+2l
+0x1.38d67ef82f9a0b9p+2l
+0x1.08579fdcf8114788p+3l
+-0x1.b9a29a68db9fd9c2p+2l
+-0x1.b68b06b758e43b88p+1l
+-0x1.20766050a9f169eep+3l
+0x1.c7708e9625e93ap+2l
+0x1.ade8f58cb43dab2p-1l
+0x1.049fe37d9d715c1p+0l
+0x1.b887277f1f02cp-1l
+-0x1.b243bfadc5ddc2ep+2l
+-0x1.11487236451fa91cp+3l
+0x1.2630dec58a45c1f8p+3l
+-0x1.01fc94737a1eff26p+3l
+-0x1.28dfdfe7e0cfa078p+3l
+-0x1.c6973626cd0b89a4p+2l
+0x1.6828109c3d1e4b8p+0l
+-0x1.9f4932f5dc3d6b72p+2l
+-0x1.26207aaa7c150e6p+1l
+-0x1.d179181846330eacp+2l
+-0x1.f38c8bea3c560d54p+1l
+0x1.17c623cc8f38148p+2l
+0x1.3363bf8e6499c4p-2l
+-0x1.8a53aaa55b40a648p+1l
+-0x1.ad40b55b66fa3dap+0l
+0x1.6e998340d2819cf8p+2l
+-0x1.0694046421688544p+3l
+-0x1.49bace6eab49acf4p+2l
+0x1.fa40f72bfa662a88p+1l
+-0x1.18b9a8d41eb699p-2l
+-0x1.0a52573ff6356f8p+0l
+0x1.8fc3ddbaeee00eap+2l
+-0x1.9c5b48a3d51f0c2p+2l
+-0x1.435b7d4fabc1880cp+1l
+-0x1.6f53dadb30f2c35p+1l
+-0x1.0b55f0a12aa5f808p+2l
+-0x1.fa22b2bdb0a8f54p+0l
+-0x1.f154f0683db6d1bcp+2l
+0x1.043cec84fc912114p+3l
+-0x1.f00870521a8faf3p+1l
+-0x1.a661670f8bd47e2p+2l
+-0x1.1ea1774a6d65dd68p+1l
+0x1.283e1ec165ca678p+2l
+0x1.93411f1537237d78p+2l
+0x1.ce098081bbf2816p+1l
+-0x1.160e35e2a2ca6edcp+3l
+0x1.c5233ba4f9bb23cp-1l
+0x1.674d499bce136968p+1l
+0x1.5a33d5430077a7ap+1l
+0x1.080e0a8444240e1p+1l
+0x1.9bb39f0e4304aedp+2l
+0x1.03630a4d4d27b2dp+2l
+0x1.073c436c47848fe8p+3l
+0x1.d02157960cad702p+2l
+-0x1.5f40f740f3a54c58p+1l
+-0x1.e5a024b7308934p-2l
+0x1.3b65be5ae5c566fcp+3l
+-0x1.ecc75fa9fa61633cp+2l
+0x1.250c9992277475ap+2l
+-0x1.9ff4f42793ebep+1l
+-0x1.c912ae3277f07d7p+2l
+-0x1.d4544b83fc79c3bcp+2l
+-0x1.e12fe6386590d5f4p+2l
+0x1.2edf6b2fda92293cp+2l
+0x1.3a06739825b0b0dp+1l
+0x1.ffd0cbda983bcd88p+2l
+0x1.5778f7a61ce22964p+2l
+-0x1.333b908c4c42149p+0l
+-0x1.f322c1791082e234p+2l
+0x1.dea0513ebca1c6a8p+2l
+-0x1.104486b017e1c158p+2l
+-0x1.0d184c4ff9ca712p+0l
+-0x1.1ec3e8cb81b61b44p+3l
+0x1.f7cfb63f44f73fap+1l
+-0x1.a1919055b48e144p-1l
+-0x1.bf388de1caf8539ep+2l
+0x1.f8736096d49c7fa8p+2l
+-0x1.93dbbc3e453b24b8p+1l
+-0x1.8da7879e66dd1aep+1l
+0x1.098ad76d82c0398p+1l
+0x1.522d3502802087bp+1l
+0x1.928ab228775239p-3l
+0x1.df25df6d3ff68p-11l
+-0x1.5813cc1b2e02c98p+2l
+0x1.362a38bae6052d2p+1l
+-0x1.eed6cb53e0d9b6cp+2l
+-0x1.d0940a5ff2d33052p+2l
+-0x1.fa024b4ea1276ap-5l
+-0x1.0d7d9c64a8072854p+3l
+-0x1.8e766aa23898249cp+2l
+-0x1.b8db5a928f5923a4p+2l
+0x1.e85c9845d4472658p+2l
+0x1.1c6e50e6c12b3788p+2l
+-0x1.200a4c0baa64f3fp+1l
+0x1.014aa890a6583508p+3l
+0x1.d9863011deec2ep-1l
+0x1.0db57ad176bdec34p+2l
+-0x1.2f4410925993f59cp+1l
+0x1.e4c91152d55628e8p+2l
+0x1.3a55bc651e299544p+2l
+0x1.04a94d5e97273934p+2l
+0x1.0d130ef9bdc9bb1p+2l
+0x1.18e64636178f5a74p+2l
+-0x1.93f458f549797858p+1l
+0x1.1e9e0d5e0343d8f8p+2l
+0x1.26d4bdf1c51e714p-1l
+-0x1.7b62a4a4f802532p-1l
+0x1.e5aa90c97c4675bp+2l
+-0x1.312951dbdb3dabcp+0l
+0x1.dc6a39a05567779p+2l
+-0x1.e004b4f2820f97eep+2l
+-0x1.0aa3096fc16a844ep+3l
+0x1.c765a9d57994cee8p+1l
+0x1.914eb4e20f1457a8p+1l
+0x1.1f906f18a0962ep-4l
+-0x1.c65e9a780146cd84p+2l
+0x1.dc97b1e7ba1eabcp-1l
+-0x1.7dc65952eafbbc48p+2l
+0x1.335c604104264078p+3l
+0x1.689d6a5e179e216cp+2l
+0x1.0eda20d2be0c9238p+3l
+-0x1.03a823fa7ffb0198p+1l
+0x1.47702f41f2c487cp-2l
+0x1.a4679ddb7d5c62cp+2l
+0x1.1e9ae7cde6d64378p+3l
+0x1.106a0e0a14170108p+3l
+-0x1.9b5afcacb7ce6dfp+1l
+-0x1.311a2386b2d368d2p+3l
+-0x1.266e5116df96878ep+3l
+-0x1.1689855fcd97ac5p+2l
+0x1.f6359036d7ee49a8p+1l
+-0x1.1199a6917f4bbf5ap+3l
+0x1.193f46f4f5ef899cp+3l
+-0x1.560ad53795d5322p+0l
+-0x1.2f316f34137dd8ap+1l
+0x1.27349ad563cdb2bp+3l
+-0x1.036cdb509a4b3c54p+2l
+0x1.fe680bfe14b2426p+0l
+-0x1.c9fb596c3b347ad8p+2l
+-0x1.7e562a84532cd38p-2l
+0x1.314b5818c555f5cp-2l
+0x1.7daabd936b1f25bcp+2l
+0x1.c5c8b6f4c0121p-3l
+0x1.16dfcdeedae826a4p+3l
+-0x1.a934f04d2b86333p+0l
+0x1.123a572565ea2114p+3l
+-0x1.160528e9183a258cp+2l
+0x1.5d39d58ed2ef036p+2l
+0x1.12804e2a233e3278p+3l
+0x1.ea0786e29d495cp-3l
+-0x1.0f8b9abe97665d8cp+1l
+-0x1.19f405cd85ccdaaap+2l
+-0x1.9b4110c73b2a972p+1l
+0x1.134ce743f9d40fap+1l
+0x1.3aa72e6f3bb6f03p+3l
+0x1.fe72e134af47798p+2l
+0x1.949d34efeb82b6ap+0l
+0x1.2deb59ce44ae872p-1l
+-0x1.f9ac8621bb4b33f8p+2l
+-0x1.94e948db4960c0fp+2l
+-0x1.241f54727184909ep+3l
+0x1.a541fb872349d03p+2l
+-0x1.9a1afd055e65bd2p-1l
+0x1.d718277aa515798p+1l
+0x1.cb82bd737c0f39ep+0l
+0x1.f4d19bc02f6497ap+2l
+0x1.f396eed13d3a7ad8p+2l
+0x1.1ed7d0d5cfeaf55p+1l
+0x1.6d920d5e1161b8p+0l
+-0x1.1452f89366e70baap+3l
+-0x1.bdda90cd25ed2b28p+2l
+-0x1.52c7f405410f9acp+0l
+-0x1.abcc2fde1abf3074p+2l
+0x1.28c060175a14431cp+3l
+-0x1.3392531603c4d24p+0l
+-0x1.2a179120e3c23e2p-1l
+-0x1.c20aa8ec83aea1d8p+2l
+0x1.238be8cce341f9bp+1l
+-0x1.d24ac8996328526p+2l
+-0x1.190c701b70a62986p+3l
+-0x1.14854910de2766e4p+2l
+-0x1.1f35343d09c6f8fcp+1l
+0x1.230cd6ed94aaecacp+2l
+-0x1.2107c372b3059b12p+3l
+-0x1.a6a563a1d0ae1ebp+1l
+-0x1.776f8cca0bdb4ae4p+1l
+0x1.66b3fb3d827646d8p+2l
+0x1.d3fc5e541ff0e27p+0l
+-0x1.1a2f4761fc7a0b4p-1l
+0x1.e116afd8ff6c92cp-1l
+-0x1.99fa54aca05566ep+0l
+-0x1.b3c60c9436471794p+2l
+-0x1.ca24c3fca327468ep+2l
+0x1.eea89a51f83c5db8p+2l
+0x1.f294236f9a04ed38p+2l
+0x1.05acb5b1ece32dcp+0l
+0x1.3e096846750d5d4p+2l
+0x1.2f6a957eeb24b87p+1l
+0x1.d69ae3cd1891d22p+2l
+0x1.c372c9dd4f80a05p+2l
+-0x1.c4ef9624b7a4d61p+2l
+0x1.0792c878d381c7p-1l
+0x1.244c8c1635e56638p+3l
+-0x1.105b6845cc40a1ap+0l
+-0x1.02cddc1271b225dp+1l
+-0x1.6cd86b16e08527d2p+2l
+-0x1.9c4cb251b9e67038p+2l
+-0x1.aacc9646b1da61dap+2l
+0x1.adbcf3398cc4b98p-1l
+-0x1.1be21090bfd7a5cap+3l
+0x1.b30f414ce703da7p+2l
+0x1.3977936bf61b56bp+2l
+0x1.7486f1c34fef44c8p+1l
+0x1.196c5444ab658518p+1l
+0x1.4bcd5aea20c7b8ep+1l
+-0x1.481f3b109feebcfp+0l
+0x1.2cc94273ec3ba0dp+2l
+0x1.0cb56d0382ef7b04p+3l
+-0x1.78c8714e98b6e16cp+2l
+-0x1.e8096b8f4435df3p+0l
+-0x1.73839566ca1d951p+0l
+-0x1.8ade9ae79f9621dp+2l
+0x1.31435fd6a51cb4fp+3l
+0x1.2fcfef197e307d34p+3l
+0x1.56af3f89adf57668p+2l
+0x1.7344fd837d6e1ed8p+2l
+0x1.fbfe3a5c345bdc48p+2l
+-0x1.2800b9524cc067f6p+2l
+0x1.f8f2df26a8f9094p+1l
+-0x1.3c7d15f2577fd0b4p+2l
+0x1.c7e6edb48bbdfecp+2l
+-0x1.7066004abaa8633ap+2l
+0x1.747ac849e3853b2p-1l
+0x1.f55f987bc716b518p+1l
+0x1.a956a85983143118p+2l
+0x1.a3b25268c75f953p+0l
+0x1.d82d76bd2fadb54p+2l
+-0x1.bab4ab2d73a153dp+1l
+-0x1.b4b819289c9d1d58p+1l
+-0x1.ca7e30dd6c3c3e2ap+2l
+0x1.2a566ebdbfb07e6cp+2l
+0x1.891fbcee66dcecdp+2l
+-0x1.29f325541634f09ep+3l
+0x1.1abcb0740d4d6a74p+3l
+-0x1.29e4d1429f8e835cp+3l
+0x1.1302daedb1324d3p+0l
+0x1.9bd0d8834894e28p-3l
+-0x1.2a0f985d3776e58p+1l
+0x1.1396416a30ab1cep-1l
+-0x1.20e7002263cbd456p+3l
+0x1.9b137b6bf47bd78p+0l
+0x1.4f69ad880ffe21bp+2l
+-0x1.c25b9bac58b8c3a8p+1l
+-0x1.19da47962c6c49p+1l
+0x1.da570eee749717b8p+2l
+-0x1.e46dbd51e4b20fe8p+2l
+0x1.8dd2bef1437c2p+2l
+-0x1.12f621369ab01d44p+2l
+0x1.797731d804aa37dp+2l
+0x1.29e8d5ea5ff3031p+1l
+0x1.4d44f9ef640caf1p+1l
+-0x1.3eaf6c647598cdd4p+3l
+0x1.c0c0e11854be758p+2l
+0x1.5eacd355235e2528p+2l
+0x1.3cfc847834a5c3d8p+3l
+0x1.049820624dd6002p-1l
+-0x1.0db663ef006fea5ep+3l
+0x1.9b1437fa3da40808p+2l
+0x1.0c25883913d3dbfp+2l
+0x1.852ade7cd1607d2p+2l
+-0x1.3abac366d0b4d5cp+3l
+0x1.6a56257c1138d54cp+2l
+0x1.3d427dc7a7116528p+3l
+-0x1.a397980397d57c94p+2l
+0x1.aad7371fa96b16d8p+2l
+-0x1.e4136a1e660cc1d6p+2l
+0x1.6da2bf98726d9d5p+0l
+-0x1.6c63ec6cb561414p+2l
+0x1.eca1d0e20cb302e8p+2l
+-0x1.528a9884ce32de9p+1l
+0x1.d5c981ffe6294ep-1l
+-0x1.3bdabad98013cae4p+3l
+0x1.9cbada1299c0f01p+2l
+0x1.2e40a5376c780cp+3l
+-0x1.102530c75f18dd8p+2l
+0x1.72b0235c9ad31e8p-1l
+-0x1.14a8449de2605732p+3l
+0x1.3bd357e3504fb25cp+2l
+0x1.80d45a6aaa792a9p+2l
+-0x1.06df9b55792fe0bp+3l
+-0x1.ca984018b26730acp+2l
+0x1.f2f316bfa49064ap+1l
+-0x1.0a059c4ed3e1a58p+2l
+0x1.e9804b664b96fbfp+0l
+0x1.00cf399683208b2cp+3l
+-0x1.4c24fb12d818e7p+1l
+-0x1.174e2bc629e041fp+1l
+-0x1.0901ba575d86318p+0l
+0x1.6051bc1f7d3b22ep+1l
+-0x1.a28f83dda623abb4p+2l
+0x1.9c8c63c9eff99888p+2l
+-0x1.1b7553e771eadaa8p+3l
+-0x1.d57d95bb4ee98c98p+1l
+0x1.6e974a46254b0448p+2l
+0x1.36fa2f09839e2c08p+3l
+-0x1.2d126d9f61610f68p+1l
+-0x1.9e75033444aee792p+2l
+0x1.ed1f3d4d3025592p+2l
+0x1.39fa499e03db7038p+2l
+-0x1.d65a09b4abd32ed4p+2l
+0x1.eb86d3a8b7d70308p+2l
+0x1.d86a560c16f5ad48p+2l
+-0x1.9dd8e3fa57fc65p-3l
+-0x1.80f61cf71388ad52p+2l
+-0x1.fb956480a7143ef2p+2l
+0x1.a823b7686813c308p+2l
+-0x1.3d2b09b19056dc9p+0l
+-0x1.14dee653a4b9f776p+3l
+0x1.4330c1e6f5bf92a4p+2l
+-0x1.70d154f4c770ab54p+2l
+0x1.bca715264dce36cp+1l
+0x1.7d939287cb2ac32p+1l
+0x1.e1abb17f8289b16p+0l
+-0x1.d67096348890a4fp+1l
+0x1.97360e3c0fa1e908p+2l
+-0x1.74e99eb4bd342b6p-1l
+-0x1.26cc55807b8317c8p+1l
+-0x1.3807131facc49f58p+3l
+-0x1.a40902b12d5a7f3cp+1l
+-0x1.ba6b0233e66c0eep+0l
+0x1.78a074e6fdb7a02p+1l
+-0x1.3a79b3dc308e18dcp+3l
+-0x1.993761846a8b9cfp+2l
+0x1.559b8c147a4bd3dcp+2l
+0x1.7ae21fe6de6e55f8p+1l
+0x1.325837f838ad0cc4p+3l
+0x1.74feb5b1cc5b8858p+2l
+-0x1.352bf1044b3e356cp+2l
+-0x1.21034f18363433c6p+2l
+-0x1.0932b475c2785a18p+3l
+-0x1.393aacad24767802p+3l
+-0x1.2b9dc282cbd494cp-1l
+0x1.2fb62c86c34c4a78p+3l
+0x1.5d3284cbaa6874cp-1l
+0x1.d7ec63bb0c195b3p+1l
+-0x1.bf30cae0543685e4p+2l
+0x1.50110e87dd2acfp+1l
+0x1.303f3b4c06d05d9p+3l
+0x1.0005c20b0a013368p+3l
+0x1.269ac3086fd1e3ep+3l
+0x1.ccc200a070d76p+2l
+-0x1.ab2984a5ba30ddep+2l
+0x1.05bda482442163ccp+3l
+-0x1.aca2410d02a70dap-1l
+0x1.9acb4ace85a1c108p+2l
+-0x1.9713b1e496721cfp+1l
+-0x1.1fac392ebf3c4316p+3l
+-0x1.d500a5eb3b37725cp+2l
+0x1.b10803c7cfba934p-1l
+0x1.e4e0da1d4fc40788p+2l
+-0x1.d582953beed93738p+1l
+-0x1.cb20d44974a921b4p+2l
+0x1.2becf58983cde2p-3l
+-0x1.181938f703525d3p+2l
+0x1.05a62ef5285d819cp+2l
+0x1.215428be91005318p+2l
+0x1.bc943e2de4643db8p+1l
+0x1.1ef991db3164e258p+2l
+0x1.9a11733c6e7f0288p+2l
+0x1.7f7a31af9dfa7b78p+2l
+-0x1.eb83717b9e590d98p+1l
+-0x1.dd275539027c9364p+2l
+-0x1.121d2e6c48e321p+2l
+-0x1.16335eb55946394ep+3l
+0x1.b25ed5721f917d48p+2l
+0x1.acdc9d4f4c6a2a7p+2l
+0x1.9c17298383879cb8p+2l
+-0x1.06c0a469a7b3d4cep+3l
+0x1.4a2784e0866ad04p+0l
+0x1.b2f86175e491a94p+2l
+-0x1.5a0efd32de3d49cp+2l
+-0x1.caee58ed27798cep-1l
+-0x1.080c394be4c93a2p+1l
+0x1.9d8eda813d1604p-5l
+-0x1.7a56f17a687d819cp+2l
+-0x1.90d3ce2a0d4a2bd8p+1l
+0x1.d6d9a69e1d61ee2p-1l
+-0x1.bcafd1cab992786cp+2l
+-0x1.e9596fb61dd8e118p+2l
+0x1.76e5acd280e8254p-1l
+-0x1.b231fe826949035cp+2l
+0x1.36f9e752f5ef551p+1l
+-0x1.9ba8e1b5ff1aff4p+2l
+-0x1.13b605316a459c1cp+1l
+0x1.c4563c920875cc18p+2l
+-0x1.db261127d316b868p+1l
+0x1.f84cbfab8e3e87fp+2l
+-0x1.958f6ee2556b48dp+2l
+-0x1.11c368f6f0134e64p+2l
+0x1.5d765b8020eff56p-1l
+-0x1.d78d93cf69ba1c64p+2l
+-0x1.1646d8c8ab7aedfcp+2l
+0x1.944e53e265368c5p+1l
+0x1.337f97e427b2c698p+1l
+-0x1.0ee186a16907511cp+2l
+-0x1.8e4c6350b691802p+1l
+-0x1.9d83332006d7381p+0l
+0x1.f17f5e27fd952f3p+2l
+0x1.092ffff97fadc79p+3l
+0x1.38d112f031bee00cp+2l
+0x1.2a34380200420bep+2l
+-0x1.d7b3edac5817ab88p+1l
+0x1.d7bc196f339e5068p+2l
+0x1.448032d4229b5e04p+2l
+-0x1.2a4e435a2afdb34ep+3l
+-0x1.b0cddef58df775b8p+1l
+-0x1.5d0afe9056f985cp+0l
+0x1.250dfc5b93041c08p+3l
+-0x1.757da5f57b8c0a44p+2l
+-0x1.751d9e3ff11652p-4l
+-0x1.1c2078930e749bcp-1l
+-0x1.fe6b4ec84b4a40b6p+2l
+-0x1.997efffddaf8ada8p+2l
+-0x1.f795ba692e2093acp+2l
+-0x1.c88d12fc37ffe208p+2l
+-0x1.43a53bef954628aap+2l
+0x1.de776d19a286bb8p-3l
+0x1.dd7be8ee602c51bp+2l
+-0x1.2b2c4f7acf6707b8p+2l
+0x1.b9fc6ec4626d643p+1l
+0x1.3f8ecb24d4a8d578p+2l
+0x1.d81ffede4da75dcp+1l
+-0x1.ae3b082796ed39b4p+2l
+-0x1.4579b82e2647eea8p+2l
+0x1.a0f13db4e190a56p-1l
+-0x1.845dbd61b2cd3566p+2l
+0x1.db010cc7884f14dp+1l
+-0x1.545bed856e604fa8p+2l
+0x1.8848c528b2ac791p+2l
+0x1.6ff743db80dd0b4p-1l
+-0x1.0a31dae0e3e0cab4p+3l
+0x1.dd2b87ca514b208p-3l
+0x1.e50cf26e835cfd2p-1l
+-0x1.d8a2204c9bc27224p+2l
+-0x1.3c2c5e5d5910bd42p+3l
+-0x1.ac701821499797dp+2l
+-0x1.eff66b74059aa2aap+2l
+-0x1.1417314c2b35a64cp+3l
+0x1.e7d7f658e028664p+1l
+0x1.0f447041460a1dccp+3l
+-0x1.aef6aa7a737a169p+0l
+-0x1.7577a4e455d99b94p+2l
+0x1.fe213dd581a5cf28p+2l
+-0x1.be97aebbd9b8d288p+2l
+0x1.cf8cdbb6815299ap+1l
+-0x1.569fc518ed44a7e2p+2l
+-0x1.2dd5f460c33a880cp+1l
+0x1.2cf2d5079b631ddp+3l
+0x1.dd9a8cea6ec239p-4l
+-0x1.7bc7ad5066de3938p+1l
+-0x1.b16b002a76ce77p-2l
+0x1.8bbacfb463be6928p+1l
+-0x1.fdd185899dda686p+0l
+-0x1.6e81c6861fd43034p+2l
+-0x1.7c4efd5875b60a98p+2l
+0x1.bcf2549f9bf9375p+2l
+0x1.bd8899a88425616p+0l
+0x1.636209b5a92d87d8p+1l
+-0x1.69eb096c0b42c598p+2l
+0x1.c821a82e7282c808p+1l
+0x1.12482cd19df491cp+0l
+0x1.024091708e2adadcp+3l
+0x1.2829a98226212df8p+2l
+0x1.b3b1084744747b8p+1l
+-0x1.c4a554a7c86a691ap+2l
+0x1.0d3543a7208c0e18p+2l
+0x1.b4ef8862c1b56b48p+1l
+0x1.47bcefb630ba9cf8p+2l
+0x1.f89f71d7c142fap-3l
+0x1.b4402ca4d014f718p+1l
+0x1.565f47630e95292p-1l
+-0x1.ac0f9dd3a2f5fb8p-2l
+0x1.536e16001074268p-1l
+0x1.3033f1cdebbbfa58p+3l
+0x1.b3687b960ce3fb1p+2l
+-0x1.f2e3d99dad555cp-1l
+0x1.2e7e71a495f4a0dp+2l
+0x1.a8a58472f27d84cp-2l
+-0x1.24c60111af2ac6p-5l
+-0x1.e57c0cc7e7431812p+2l
+0x1.46b2e56621f82e6p-1l
+0x1.ad81e81333d72f78p+1l
+-0x1.5e3331e54eafb1ecp+1l
+-0x1.fc72c7c9e12c2d7cp+2l
+0x1.51589b244c66d408p+2l
+-0x1.370113ade2575f4ep+2l
+-0x1.1067a189494e7a1ap+3l
+-0x1.b5ce9143e00ba1cp+0l
+-0x1.097b18eac5d841f8p+3l
+0x1.fbb187564d9d6a3p+2l
+0x1.7ae8c777ea5f275p+0l
+0x1.7fc60f6d3d28072p-1l
+0x1.fd9312cc8dca8edp+2l
+-0x1.c1b3c854234522ep+2l
+0x1.e72f953d0a4ba4e8p+2l
+0x1.78167ea0cafe5328p+2l
+-0x1.faa7575fd53e38cp+0l
+0x1.1227bd27c1c7a1fp+3l
+-0x1.03f1561a5bb0a8f8p+2l
+0x1.0c5c7fa1c4fc89bp+3l
+0x1.535362b33b0606ap+2l
+-0x1.1f451d72396ea7cap+3l
+0x1.fe19b2aea9bdac5p+2l
+-0x1.a7803f8ba3fcc4p-2l
+-0x1.035b2485848edp-2l
+0x1.6f323500c53b42c8p+1l
+-0x1.2cf86635f125bf18p+2l
+0x1.59e2453f9086bep+2l
+-0x1.8b0869bdd099487p+1l
+0x1.d72169c2b4c71ap-2l
+0x1.d7d41622e65127ep+2l
+0x1.2bf7cf80057df3e4p+3l
+0x1.4fe78019918017bp+2l
+0x1.190857657014b9ap+0l
+-0x1.1fcd86c4f1004d34p+3l
+-0x1.1a521ed1e3db87eap+3l
+-0x1.30619a0869df0522p+2l
+0x1.9f07a57401581bp-4l
+-0x1.2e9c1180841184b8p+1l
+0x1.e1d8212c45242bc8p+1l
+-0x1.bd536f11349b4afp+1l
+-0x1.0ea6b0f854cff35p+2l
+-0x1.02a8cce3ddf7e58ap+3l
+-0x1.2d9a7b97a7965676p+3l
+-0x1.f9df01e8141bd004p+1l
+-0x1.bb17bd6ee28cdd8p-1l
+0x1.ecda03107d093eep+2l
+0x1.18c73022d2d764ccp+2l
+-0x1.f52ade79328bd05p+1l
+-0x1.21945ff3c8192424p+3l
+0x1.967f5b88b65619ap+2l
+-0x1.dabb785b74e98f6p+0l
+-0x1.2c6dd0f7e84f618p+0l
+0x1.48a3d15ed427069p+2l
+0x1.13652e71c8e4b3b4p+3l
+0x1.0eaf34ee7b712fap+0l
+0x1.c3b2daf4c28d31bp+0l
+-0x1.428134bb231b4446p+2l
+-0x1.69617bd7a32694fp+2l
+-0x1.87a1f3e364aded88p+1l
+-0x1.9dc4cf7adeae3914p+2l
+-0x1.5f9c1c6ca67ebep+2l
+0x1.794e71eb9fa9d884p+2l
+0x1.fd0011380488fe58p+2l
+-0x1.512b3229657452p-3l
+0x1.00ec4f75b15779fp+2l
+0x1.a1898f99805fb1p+2l
+-0x1.62528abfe7ab39p+0l
+0x1.62a63bf7387fab4p+2l
+0x1.7e442efe24d2734p+1l
+-0x1.dc5aa9032b60bb68p+1l
+0x1.c493f99d5b83981p+1l
+-0x1.8eb0166508ff708p-3l
+-0x1.af618a87657c7d8cp+2l
+-0x1.b22aad922c3c5868p+2l
+-0x1.cb9b741410a463p+0l
+-0x1.7ec2b1d5baacc8p+0l
+0x1.112f01dbeac0999p+1l
+0x1.1dc57a97d2f79994p+3l
+0x1.d9f52ceae81bace8p+2l
+-0x1.37d953d9974f9082p+3l
+-0x1.14b904ec2257f2ep-1l
+0x1.49c06199d695fc54p+2l
+0x1.d1ee0f46a19513cp+2l
+-0x1.0809acd9b861caaap+3l
+0x1.663f7285506a27dp+0l
+0x1.0ae55707429d511p+1l
+0x1.57c0c150464618a8p+1l
+0x1.f110471afccd825p+2l
+-0x1.de2cecd4d85e666p+1l
+-0x1.49c5b5053fb731acp+2l
+-0x1.d4a48992d685a936p+2l
+0x1.cbd4aabd51058e48p+2l
+0x1.2b9cd3b7ed2eeedp+1l
+0x1.753d43672584ceep+0l
+-0x1.8c9bde42cfe2ae54p+1l
+-0x1.c817c79b1249beep-1l
+-0x1.aba3e8a654cc03e8p+2l
+0x1.2e06ed606674806p+3l
+0x1.4d1563fbe883d138p+1l
+-0x1.ec8b43e6b12b7478p+2l
+-0x1.de735128a55e9ce8p+2l
+-0x1.e0aa63afd857247p+0l
+-0x1.8a61f0f9aaba77ep+2l
+-0x1.f2d5dd5a362d358p-1l
+0x1.281c7bf1ff8f2978p+3l
+0x1.cfccf00333a55138p+1l
+0x1.936eb275b6509eap+1l
+-0x1.73229bf4a5755d4cp+1l
+-0x1.8c4e3b34e32901c4p+2l
+-0x1.38ae748d01eacdbp+0l
+0x1.2917dceee47264p+2l
+0x1.c660d7fe501909b8p+2l
+-0x1.ca7c5a46983d386p-1l
+-0x1.c5f05b81502d11p+1l
+-0x1.56e941ca08827d8cp+2l
+-0x1.6081bc0ed72a4d8p+2l
+-0x1.148c19ce1bfcebc8p+2l
+-0x1.008529b7ab4a2642p+3l
+0x1.db1ac03dbd3d8758p+2l
+0x1.f014639fc5421p+2l
+-0x1.336514d6adee196p+2l
+-0x1.09c74e61daac94bap+3l
+0x1.b994ee6b9c4b85b8p+1l
+0x1.02f715dfa2435ec8p+3l
+0x1.46f3710d981ad09p+1l
+-0x1.bd0a086b0a389e3p+1l
+-0x1.0eb2e64673586916p+3l
+0x1.adb841087261638p+2l
+-0x1.aa5b7265e1d0cebcp+2l
+0x1.d9c0e35dd5b9362p+1l
+0x1.19643f2062cb0558p+2l
+-0x1.16bdd8a578384d58p+2l
+0x1.09d24ed36d3ed9e8p+3l
+-0x1.66db6bfbb88fb458p+1l
+-0x1.dbaac6191de075ep-1l
+0x1.774a38297764db84p+2l
+-0x1.755336bf5bf5e3c4p+1l
+-0x1.5411b54a6984d5dp+1l
+-0x1.bbe8381cd853953p+0l
+0x1.8f24cb28c238774p+2l
+-0x1.ace2f6530cfe5ap-3l
+0x1.4915eb62cdafb9d8p+2l
+0x1.a39457a2db47396p+0l
+-0x1.0d27aee9f8b545c4p+2l
+-0x1.96b3a51cbe9aef54p+2l
+-0x1.20e206c1d398458p+0l
+-0x1.28d4e3eaf2427d4p-2l
+-0x1.2524be13a10445cep+3l
+0x1.2b1c91e5fe21a778p+2l
+0x1.3570dfe170b2e9a4p+3l
+0x1.1328dacf9c5f6e58p+3l
+-0x1.e5a3b37ad3b30dc6p+2l
+0x1.1e2f5a2216c45f98p+3l
+0x1.57fb010365d538p-3l
+-0x1.09e43365625638ecp+3l
+0x1.11bd2a96b6e21bp-2l
+-0x1.f334dff953126fep+0l
+-0x1.43856069d03d735ep+2l
+0x1.03d1bf9287d80dep+1l
+-0x1.2432548ea35080f8p+3l
+0x1.1a7557c43a144f68p+1l
+-0x1.933720c486e8b098p+1l
+-0x1.11567aaae2ff57ap+3l
+-0x1.092bd1ad0b9c6c32p+3l
+0x1.fd6ef6f3670c7fcp+1l
+-0x1.593830f0edf58e34p+1l
+0x1.68190ed9fc9edfecp+2l
+-0x1.936e5b2700f79ddap+2l
+0x1.b447e0b06a4555c8p+1l
+-0x1.25365be442f1b434p+2l
+0x1.3f5a26dc52dc813cp+3l
+-0x1.44c9c9d22dbf793p+2l
+-0x1.519151213026518p+0l
+0x1.285a28892fa918ecp+3l
+-0x1.2cdf1bd2270d1f88p+2l
+0x1.c4341fddf096a19p+2l
+0x1.292df2fa474c2b6p+2l
+-0x1.01c745e96e41fe6p+1l
+-0x1.3c7262bb38370982p+2l
+0x1.542d4880dc0609p+0l
+0x1.9208acc6c3b1793p+0l
+0x1.2b97d27b7628e4ecp+2l
+-0x1.93dc44f723dfbfap+1l
+-0x1.6d0f4e0ad3ef96p-4l
+0x1.6292aa3124daf6dp+1l
+0x1.04111377a83b69d4p+3l
+-0x1.2a2600742df2965p+3l
+-0x1.423ee6c53d4c40fp+1l
+-0x1.033ca69b08f17e6ep+3l
+-0x1.6b01e441f6d6c0bap+2l
+-0x1.0177f41b2db53dbap+2l
+0x1.74de655eab7ef2p+1l
+-0x1.6585b7026d231fbp+0l
+-0x1.29608c0d0ce0e6d8p+1l
+-0x1.effceee4766c28bap+2l
+-0x1.61438c42c8e9149cp+2l
+0x1.2b72a672a4adefap+0l
+-0x1.80f421b90678e78p-2l
+0x1.59ab4ed5858b948p+0l
+-0x1.35433d878f314caap+2l
+0x1.37e5db07d1b10f7p+3l
+0x1.f23c369e83e8b2ep-1l
+0x1.7b55b17bbe0eebd8p+2l
+-0x1.340548c18fa31b5p+0l
+-0x1.ae5fc0a436cc37dcp+2l
+0x1.09f958e6f40609bcp+2l
+0x1.b800bf38b40b579p+2l
+-0x1.2988356eb3df568p-2l
+0x1.f6eb6f421ebea9ap+2l
+0x1.293afc5862bd9a84p+3l
+0x1.13ab2034e91386e4p+3l
+-0x1.d890ac5be58230f4p+2l
+0x1.1f9bb34079d07c4p+1l
+0x1.2b2096cebdd7c3cp+3l
+-0x1.2cb901ce63c1d3dp+1l
+-0x1.d59ca1e539ef5cb8p+1l
+-0x1.6f4dd551433dcf0cp+1l
+-0x1.aab0a50455d0aa38p+2l
+-0x1.675869550e5cc6e4p+2l
+0x1.47ca2c5c1c22703cp+2l
+0x1.1c437c52a02eb248p+1l
+0x1.85200c408cd1fp+0l
+-0x1.872dff034b008d7p+1l
+-0x1.7de8ee0a485bf5a6p+2l
+-0x1.06bd1be769dc951cp+2l
+0x1.552e4ee8d81b4e3p+0l
+0x1.8d9a7098d713be2p+1l
+0x1.2dcc57ec5733a2bp+0l
+-0x1.be45aa299cd303a4p+1l
+0x1.6861fd8969de5dc8p+1l
+-0x1.1b217198dc78cb88p+3l
+-0x1.29b210f62c55c368p+1l
+-0x1.3e3f2da052f9855ap+2l
+-0x1.a1311fce6788024p-1l
+-0x1.c70ed29bc9e83ccp+2l
+-0x1.1168ad8650f058f8p+2l
+0x1.27218831bdb4af3cp+3l
+-0x1.321f2fbf85e3b646p+3l
+0x1.8f71f682bdf06e58p+2l
+0x1.9cdf1b9bb772078p+1l
+0x1.86469e7247877e4p+2l
+0x1.9c93efaf226e574p-1l
+0x1.9e7dde158dff3fp+2l
+0x1.e5790055340944e8p+2l
+0x1.9dd88a00f9ff876p-1l
+0x1.38c327063f8b6d18p+1l
+0x1.13af8e86498ee81p+3l
+-0x1.7d41e39c23bfa928p+2l
+-0x1.330bb2d70257d82p+3l
+-0x1.daa358f7358dabb2p+2l
+-0x1.f681c01c030d74d4p+2l
+-0x1.9c4c5f13bd2a4818p+2l
+0x1.d57743abdacc943p+2l
+0x1.51164d812d6975d8p+1l
+-0x1.20e7027af5d623p+0l
+0x1.fb341bc9eb2dd26p+0l
+0x1.b9a5009bfdcad9p+0l
+-0x1.95369638a23fe42p+0l
+-0x1.3ff760db08462b4p+3l
+-0x1.290d888cd634c4d8p+2l
+0x1.39dbb183260c7d2cp+3l
+-0x1.d2251b0d3396f3bcp+1l
+0x1.164a741a87e1ab6p+3l
+-0x1.ee5157e4f616bb5p+1l
+0x1.7eefde481c7639cp-2l
+-0x1.02dc5cbbf5c14c38p+1l
+0x1.efdb1c39658d0308p+2l
+0x1.65e55524006bd328p+2l
+0x1.5d5fd107dee15c4cp+2l
+-0x1.1d3dcadd2988e96ap+3l
+0x1.a5674afbd96afdp+2l
+-0x1.7d632522bfc25e8p-1l
+-0x1.908e51efbc36173p+2l
+-0x1.3206c9b681046042p+3l
+0x1.513c441f7e2334dp+2l
+-0x1.1996451edc2184c4p+2l
+0x1.b38b6a1575304708p+1l
+-0x1.30e781af07304778p+3l
+0x1.862e3fa5742869a8p+2l
+-0x1.30a2c3422d22247p+2l
+0x1.8e2f90affded13p+0l
+0x1.60418360f7b1ad64p+2l
+0x1.c6e3f76d27560e38p+1l
+-0x1.03603a32e7b4933p+3l
+0x1.2ec29a4dbd33a2d4p+2l
+0x1.3e3a60705820b548p+1l
+0x1.09563aa03f541b9cp+3l
+0x1.71cceb27c30f085p+2l
+-0x1.b6c00d1a9799d8fp+2l
+0x1.784f05a55a05a4f8p+1l
+0x1.e809000bed00b91p+2l
+-0x1.3d57aff6c2fe620cp+3l
+-0x1.37698735e1211aecp+3l
+0x1.2a6b6d426fb679c4p+2l
+-0x1.f9a2aaf6abb87168p+1l
+-0x1.3cf089b12bea3c6p+0l
+0x1.15354c723d55720cp+3l
+-0x1.9a237362f75c1016p+2l
+-0x1.891ba0331c95d67p+0l
+0x1.933de74faece1b78p+2l
+0x1.2cbbcd09e7c27f4p+3l
+-0x1.9a6ebf001089bf5p+2l
+0x1.2922ef92bc3372a4p+3l
+0x1.70e05231d7f1ee38p+2l
+-0x1.fad9f3c83ec350f8p+2l
+0x1.63e93ac5b5c3ef8p+0l
+-0x1.f2129f03426e579ap+2l
+-0x1.4bb443206203c62p+0l
+0x1.03a0c42d46716878p+2l
+0x1.14e4596e667e94cp+3l
+-0x1.bd08244c4523788p+1l
+-0x1.978ac90b3b0da028p+2l
+-0x1.a2ec4ba6d93924e6p+2l
+0x1.6d029fe3698c8c74p+2l
+0x1.4c738e3e199603ep+1l
+-0x1.34507bf89caa607cp+1l
+-0x1.0f40e718176d92p+1l
+0x1.ec70557e293d3a4p+0l
+-0x1.8154d4e79070fc78p+1l
+-0x1.91135dcde581b71p+0l
+-0x1.3f25db28d50211f4p+3l
+0x1.187fb934e2fc50cp+2l
+0x1.53172ed11433e18p+1l
+0x1.1ab62fd78574e57p+1l
+-0x1.a699cc6fed6215p+0l
+-0x1.054be46c696fdc3cp+3l
+-0x1.3df135a5d4d6fccep+3l
+0x1.3b9abc0a75dd395p+3l
+-0x1.71309b99f107788ep+2l
+0x1.0aa96a60e9aa1ca8p+3l
+-0x1.ca5a69a0f99603cp-1l
+0x1.3349458cd2e99f1p+3l
+-0x1.000c16e5308da70ap+3l
+-0x1.5d87ddc473f6f32cp+2l
+-0x1.496e40ce61b01c82p+2l
+-0x1.38c34a938d00b652p+3l
+-0x1.f68e6d79de6db324p+1l
+-0x1.28fecca2c3f4f858p+3l
+0x1.828ce124be53f78p+1l
+0x1.17cbf7ae9a2f4a7p+3l
+0x1.ccca89e567df2b88p+2l
+0x1.14235d293d3e84c4p+2l
+0x1.c9395b43eefe0078p+2l
+-0x1.e742ea22dbcc538ap+2l
+-0x1.5324a12912147b2p+1l
+-0x1.375bd290cff89b6cp+2l
+0x1.a9633c2ce2c4d98p-3l
+0x1.894be1bfe0220d98p+2l
+-0x1.8997f35e1562828cp+2l
+0x1.8cb0f689e6751bcp+2l
+0x1.4721a726072644a8p+2l
+0x1.185ececd6b3f9dbp+2l
+-0x1.08a2d97429d55a5ap+3l
+-0x1.0f715ff1af0b10c6p+3l
+0x1.e6583c5f7f93319p+2l
+-0x1.00c09ff57791c046p+3l
+0x1.238466a4de3e36ecp+3l
+-0x1.a18d61615779738p-3l
+0x1.696d1c905c0b09bp+1l
+0x1.07b81ada25ab65f8p+1l
+0x1.3ccf20abcd549af8p+1l
+0x1.fe5350bea3b6b6ap+2l
+-0x1.be5eb7bd7a8e4ddp+0l
+0x1.114d7c2cc6ec6e98p+3l
+0x1.75ae6a62162a622p+2l
+-0x1.574b06b59d756c08p+2l
+0x1.3867a0061f60bbcp+2l
+0x1.9356d91ed07def78p+2l
+0x1.4b0c35e6cba93a2p+2l
+-0x1.12fab525fb50715ep+2l
+0x1.26793b0c9c209f6p+2l
+0x1.eb5668ad0e15d71p+1l
+0x1.286ea4b95b40e388p+2l
+0x1.1e4c636565744e4p+2l
+-0x1.9c128f53c3ce28d8p+1l
+0x1.7ec4ced37e904a1p+2l
+0x1.7fe84f7e7fd0824p+2l
+-0x1.04d8847afde0e902p+3l
+-0x1.6e32a39112af123cp+2l
+-0x1.cbe0dc3c4dfc5c1p+1l
+0x1.a426acd914a11cp+0l
+-0x1.28e0084c66e6a57p+3l
+0x1.77c3e1535866fddp+0l
+0x1.dbad40266fbf4bbp+1l
+0x1.06dbd580e34eda9p+1l
+-0x1.3930dc8dd62ab2c4p+3l
+-0x1.f75e11936efe1f4ap+2l
+0x1.6e2cd5b75300378cp+2l
+-0x1.7b2b6748568b1f2p-1l
+0x1.b08ce51e9cb0aap-2l
+0x1.b288fb151cb2542p+1l
+0x1.78f8881c651b18fp+1l
+0x1.5099630932614904p+2l
+-0x1.4db3120a358df488p+2l
+-0x1.3a646ff8fd878f1p+0l
+-0x1.27d432ab0ea20744p+2l
+0x1.25bbe1a9770fdf94p+2l
+-0x1.0ff44c7349094a94p+1l
+-0x1.55fd18082a9c507p+0l
+-0x1.a40303f0fc831abp+2l
+-0x1.0dc0abc1c876cfccp+3l
+-0x1.2eee35b56c4d084ep+3l
+0x1.291dbd62fe5b4e6p+1l
+0x1.148ec7f57c1203p-2l
+0x1.440ad26a29f944cp+1l
+0x1.15c17bc2e30eafp+3l
+0x1.61ed20f2f8917dcp-2l
+0x1.c222265f403d215p+2l
+-0x1.ab7d409aac332672p+2l
+0x1.b1a35d545020ffp+0l
+0x1.3edadd5573482ef8p+1l
+-0x1.ea62f4deb1d1ec4p+2l
+0x1.0b4210ea1ab3c164p+3l
+-0x1.7c70a4adbc8b7bc4p+2l
+0x1.210da0af7bb8663cp+3l
+-0x1.ae89e42967b86a7p+0l
+-0x1.0231e4660e7771aep+3l
+0x1.12cf2364d3aa935cp+3l
+-0x1.eab245dd56b54f8cp+2l
+-0x1.224a0d61291392aap+3l
+0x1.23f2d9fae79b9318p+3l
+0x1.828fdbc955c0d91p+2l
+-0x1.2bffe9a85e06de42p+3l
+0x1.cd766d8488cd28p+2l
+0x1.2621f8d5774a237p+3l
+0x1.39601d88aa65e858p+3l
+0x1.7b9a8056a6b898ecp+2l
+0x1.264209636d11a528p+3l
+-0x1.1e6c7c11ea603554p+3l
+-0x1.3fd2058969413fap+3l
+0x1.aea2fbb41cff82fp+0l
+0x1.91681ccf3196398p+2l
+-0x1.72d7c25943b8e78p-3l
+0x1.3d8dd9bf27fa6f8cp+2l
+0x1.5d43b1244ed977fcp+2l
+-0x1.c13490d5291c65d4p+1l
+0x1.671d9640ecb6fb18p+2l
+0x1.11016109b1f1a684p+3l
+0x1.6aaabd66c77abfap+0l
+-0x1.5768338d272cba98p+2l
+0x1.795432bbab4f223p+0l
+0x1.66eb3923a842bfp-4l
+0x1.7acb910e2795bebp+0l
+0x1.d06ccd46355e1b4p+2l
+-0x1.ed5b72262998455cp+2l
+-0x1.8153f12738051bap+2l
+0x1.c00ecc83cba858p-3l
+0x1.03e2162a21226a88p+3l
+0x1.bf5fb0484d3c9da8p+1l
+-0x1.5ffb251561b48c1cp+1l
+0x1.a6760a4bb7976ccp+2l
+-0x1.71746c4ec39b3b64p+1l
diff --git a/benchtests/fmal-inputs b/benchtests/fmal-inputs
new file mode 100644
index 0000000..4a8c8fb
--- /dev/null
+++ b/benchtests/fmal-inputs
@@ -0,0 +1,1003 @@
+## args: long double:long double:long double
+## ret: long double
+## includes: math.h
+0x1.d76482a32425276p+1l, -0x1.da30a5652216e33cp+2l, -0x1.f738d527163ad23p+2l
+-0x1.a786d34c2918f0ep-1l, -0x1.1a33d2d02d08f584p+3l, -0x1.5e7431210a4aa4dp+2l
+0x1.03839c8a40901ebp+3l, 0x1.5d2826a919cd0bap+1l, 0x1.34185715132e156p+1l
+0x1.238ad21540202ba4p+3l, 0x1.1f2039b224041dd4p+3l, -0x1.71b16c682d4e02e8p+2l
+-0x1.f987b5013365508p-2l, 0x1.1a8fdce55a68a3ap+0l, -0x1.1cc3ac22dbb721p+0l
+0x1.8c10bca79e763b8p-1l, 0x1.2e83f225c3e1b99p+1l, -0x1.949afb3dbedf5426p+2l
+0x1.4067abd046804b3p+1l, -0x1.e53178b1192d1274p+1l, -0x1.5419145e8fa22accp+1l
+0x1.c3598c71a10e1c2p+0l, 0x1.946477380892e5bp+2l, 0x1.07c0ebc0d429f12p+2l
+0x1.98698919289ec07p+2l, 0x1.bbc1ec5ee3958848p+2l, -0x1.8ccd1c21b771e3ep+0l
+-0x1.a9238e3c5de67076p+2l, 0x1.b08e6c234d791978p+2l, -0x1.c002fe9faa4b4cp-3l
+0x1.6f9319e01cb355c4p+2l, -0x1.b8ceb8a97648a318p+2l, -0x1.ceba821783946924p+2l
+0x1.ab775c7a4b015e48p+2l, 0x1.645be70515cf504p+0l, 0x1.da42c3a0a9b7a288p+2l
+-0x1.d1a96c3d91512928p+1l, 0x1.956180cb91f3e0bp+1l, 0x1.065dfd23bd04a1cp+3l
+-0x1.320e4ac0961010ap+0l, 0x1.121efaac88a68d5p+0l, -0x1.1ade39161e750afp+0l
+-0x1.40475340b173bd2ep+2l, -0x1.b82b8ffa627effdcp+1l, 0x1.dca2744cf4232808p+2l
+-0x1.3b589ab63366b2ap+1l, -0x1.09ce7345ef3efeccp+2l, 0x1.9bb43359eb2e5498p+1l
+-0x1.89b7ddaf4484f9ep+2l, -0x1.80f3584edf529134p+2l, 0x1.768f31d6358e2a8p+1l
+0x1.a63ddfe0af77118p+0l, -0x1.697e159f482df188p+2l, 0x1.06b38669305897fcp+3l
+-0x1.b02c12b05bab7ec8p+1l, -0x1.ff0d49f439470024p+1l, 0x1.089a05bfec9176e8p+3l
+0x1.18789dc2b589152p+0l, -0x1.046e881c049a52fp+2l, -0x1.117ee052fdc4c8p-5l
+0x1.210c58afc566b2b8p+1l, 0x1.e7447048e3bac858p+1l, 0x1.187132d4d3ddf2ap+1l
+-0x1.02525044dcf0886p+1l, 0x1.7c60dd1ec0413a9p+0l, -0x1.9f18c40ba47334b2p+2l
+0x1.8997c7a2376039dp+2l, -0x1.0d8eb540b886252ap+3l, 0x1.180657e5e493046p-1l
+0x1.4a6cc989aa4c89acp+2l, -0x1.1b639ceeaaa8c464p+3l, -0x1.5bb3e70abe12b1cp+2l
+0x1.3c79597e6875f71p+3l, -0x1.33561c94510bfb8p+0l, -0x1.c8e1a2884022162ep+2l
+0x1.dbe3cc2a0831755p+1l, 0x1.08d49e793d49cd98p+3l, 0x1.cc8fc071849f35p+2l
+-0x1.40a1833a6473735p+1l, 0x1.2a6f47916df6e2p+1l, 0x1.680cad878f09165p+2l
+0x1.220565e22a3bcf7p+2l, -0x1.b6f1d2ad9ce779dp+1l, -0x1.99c9feaac7181bbp+2l
+-0x1.b5801e17c911d4fp+1l, -0x1.bdb4586d03a8acdcp+1l, 0x1.384529b2a8a65b8p+3l
+0x1.3df910eea3326a3p+2l, 0x1.b28a83e71e00d3b8p+2l, 0x1.333f240f3fe543p-1l
+0x1.31a3aa139d95913p+3l, -0x1.3011c08d20744556p+3l, -0x1.f4a9f1c86647cca8p+2l
+-0x1.286ed247f2c75184p+3l, 0x1.75be2df7a08cfcp-2l, 0x1.5b8e379039df1cbp+1l
+-0x1.0ead19b94905e35cp+2l, 0x1.02951f94bd940038p+3l, 0x1.5999457645110fa8p+2l
+-0x1.20364fa4e55398ap+3l, 0x1.afa494288f49edd8p+1l, 0x1.5a63cb9ec9350b54p+2l
+-0x1.457995e64e54e7a8p+2l, -0x1.043380d03c3d185cp+3l, -0x1.2bbe6ad0f240691ap+3l
+0x1.8c259187c42f218p-3l, -0x1.a13f10dd5a6e5504p+2l, 0x1.68c2c0c32f6d8f78p+1l
+0x1.139a9620d509b41p+0l, 0x1.1b3fa511495bf918p+2l, 0x1.7c2911274354eaccp+2l
+-0x1.30ef94e2cfbf78ap+2l, 0x1.987d6c59a01a7958p+2l, -0x1.27e28620ff8bbdep+3l
+0x1.29eb6aa8baf67e78p+2l, -0x1.cb5a1b9f6cbeddfp+2l, -0x1.28c04273e1b398c4p+2l
+-0x1.3eff6e82f6d2184p+0l, -0x1.1021028da92a84d6p+3l, 0x1.0d23b33354f8b7ap+3l
+-0x1.38f83fcc26e09b58p+3l, 0x1.f2056812075b393p+1l, 0x1.2f31a5dd42b545d8p+1l
+0x1.342c23f4d6548618p+1l, 0x1.09810b5adf15b2e8p+3l, -0x1.14b19e2890080d58p+2l
+0x1.ff3e109b1c5407cp+2l, -0x1.1582f3c0fa236c82p+3l, 0x1.29b0623e5f6e22c8p+2l
+0x1.43d683f19302404p+2l, -0x1.c3bb44e51ca46d8cp+2l, 0x1.37dfb6d873f068f4p+2l
+0x1.3c403b216a9235f4p+2l, 0x1.f956a69c831bb288p+2l, 0x1.33d0fe9d1eb35aap+1l
+0x1.f8284fbff9cf79b8p+2l, -0x1.005a29a01167bfc8p+1l, 0x1.1611e1cb3c9012bp+1l
+0x1.2fe8efb58815e7c4p+2l, -0x1.d9b3205f8d8d4f38p+2l, 0x1.055fecae40e635dp+2l
+0x1.d6e029e2a29417fp+1l, -0x1.59b75207fac9c958p+1l, 0x1.4d1cf21685c95c8p+0l
+-0x1.818b73d53fae594p+0l, -0x1.5e299bef7479c648p+1l, -0x1.a323c7f3ebb453c4p+2l
+-0x1.861487195fc12b2p-1l, -0x1.1baf3f607467e31cp+3l, -0x1.1562805b9736e142p+2l
+-0x1.1ac9aa362fe9e1ep+3l, 0x1.a7fcf7e2896218cp+2l, 0x1.d9f2a5c23343c9ap+0l
+0x1.289329626d2d515p+1l, -0x1.ce03520e0fb68ep+1l, -0x1.5123407911f2a63ap+2l
+0x1.8bc4affecb80cecp-1l, -0x1.ad431514898de3ep+2l, 0x1.dd5e0dd518e72d6p+0l
+-0x1.cef827a85a3ecde8p+2l, -0x1.77179ebc533b8b14p+1l, 0x1.721d4353228e3e6p-1l
+0x1.87f90e1bcd778bap+0l, 0x1.07dce1e481c570fcp+3l, -0x1.11deca29548876p+2l
+0x1.386499eaef1ba488p+1l, -0x1.76ffa8b58224aacp-1l, 0x1.0eafc8ff909dab34p+3l
+0x1.48526953ab70f8cp-1l, 0x1.9a6879a35f7ed88p+2l, 0x1.038e9bf9a3339484p+3l
+0x1.3a3d8c2198a2aa3p+3l, 0x1.cdbd96d61e963d5p+1l, 0x1.2360c6f2441a0e7cp+2l
+-0x1.d001e762a62bd3d8p+2l, 0x1.fef3d6bd790ea16p+1l, 0x1.1bde289855588ap-5l
+-0x1.1a6c424c13c0794cp+3l, -0x1.901ed153f67bf14p-2l, -0x1.b4e957c00c40519p+0l
+-0x1.3a6105b65aace934p+1l, 0x1.38216254f1a9fc88p+3l, -0x1.6a0dfd194cf8e22p+2l
+0x1.3ca2ee13ac0049f4p+3l, 0x1.94815a9d17b2bcfp+1l, -0x1.f66f45a5cf4c37p+0l
+0x1.1e6571b922f612fp+3l, 0x1.12fd24ec6d26a154p+3l, -0x1.42bcefa5386fa4p-6l
+0x1.9a4cb91fa757677p+1l, -0x1.fa3fcf55a928f84p+0l, -0x1.3a71b715bfba002ap+3l
+0x1.54466b10cc86b8ap+0l, -0x1.10ffca39d5f6b9cp+3l, -0x1.c7fe72ff0030f06cp+2l
+0x1.cddb9b727ca6752p+1l, 0x1.6278a81060e1de6p+0l, 0x1.f60657865d741fbp+0l
+0x1.f7761fc4d62a332p-1l, 0x1.35daced14ba5e0ap+3l, 0x1.b072ffdedadccdp+2l
+-0x1.3cfb6bda5f2e4eep+3l, -0x1.598ea158e92341c4p+2l, -0x1.26ceb1ac508acdp-1l
+-0x1.3220c1620414611p+3l, 0x1.d16a09c0fec479dp+1l, 0x1.851048c4c28c16ap+2l
+-0x1.af94322e7f2b55c8p+2l, 0x1.ab3c1844744441p-1l, -0x1.761822114aefb8dcp+2l
+-0x1.8a66aaf38d7812cp-2l, -0x1.54a107496583d8cp-1l, -0x1.0562a64a3db48296p+3l
+-0x1.7137f2a401915f4p+0l, -0x1.01625c99f6905acp-1l, -0x1.466ccd67c5fa5b3cp+1l
+-0x1.300a977789ae3c3cp+2l, 0x1.d01fa30e9825baa8p+1l, -0x1.d83faf8d8948eaacp+2l
+-0x1.3f81099b5e63e398p+2l, -0x1.8644608025317bep+0l, 0x1.47b42d643e86ac98p+1l
+-0x1.051f002b42ba57p+0l, 0x1.f7ebc55bf641aep-2l, -0x1.e2eb7f3bfa462c8p+0l
+-0x1.12e5522af8566684p+3l, 0x1.398c878f7cf43f6p+0l, -0x1.597d335db981b8c6p+2l
+0x1.b7835564859ae62p+2l, 0x1.641085ea0df27e8p-1l, 0x1.672202600cf80cecp+2l
+0x1.32577fa2469d1fccp+3l, -0x1.f62c70f65fc6d1ep+1l, 0x1.3270ebf118e001f8p+2l
+0x1.0bf0fa4ad2510488p+2l, -0x1.ae7f13750d286958p+2l, -0x1.8886c8dab4fa5fp-2l
+0x1.849d9decd88876bp+2l, -0x1.23ab11a09e080a1cp+3l, 0x1.6aa3d7058c92bcdcp+2l
+0x1.dd794c4ffc06614p+1l, -0x1.22a9250f842f34aap+3l, -0x1.1339586e80f26abap+3l
+0x1.dc325783eeb65b9p+0l, 0x1.5658cfb478b62c4p+0l, 0x1.e5cf26a1f0365dp-1l
+0x1.d0da7f7555074978p+2l, 0x1.0072b47c871f1f94p+2l, -0x1.3e6fe2b4aa7275eap+3l
+0x1.89be1d35b0b4675p+2l, 0x1.ebd995fbab1248fp+2l, 0x1.146159d797a458fp+3l
+-0x1.45c13742891d65a4p+2l, 0x1.4d2194c040b942a4p+2l, -0x1.3799e83670754d78p+2l
+0x1.f8a2b85ca3a9a0b8p+1l, -0x1.13af00520da551e8p+3l, -0x1.60fc70a7f7db4ebp+1l
+0x1.504f47ff04e111a4p+2l, 0x1.88a17fdf43023f9p+2l, 0x1.29986a6458fa582p+3l
+0x1.209bc3e60bc9efccp+3l, -0x1.e0ecc07faf8782ecp+2l, 0x1.f2e0474119f7e76p+2l
+0x1.c6bc019a8d9d94bp+1l, -0x1.2864f61e2d9137d2p+3l, 0x1.0c18dfcf75de9d6p+2l
+-0x1.e33fb9cb57590fa8p+1l, 0x1.f9368b59570c0318p+2l, -0x1.c414dcc58dc5b32p+1l
+0x1.a2f90061057709p+1l, 0x1.9c0514318909ee4p+2l, -0x1.f7e467d388d83ffap+2l
+-0x1.61acb7b9ea36dcb8p+2l, -0x1.9222d7839cccd5cp+0l, 0x1.fdfbb89b32fea348p+2l
+0x1.41f952321cf38d7p+1l, 0x1.70112c002e5a437p+0l, 0x1.17db284d55e89aa8p+3l
+-0x1.baebab8f373e10d4p+2l, 0x1.c01589b2cfcd1f7p+1l, 0x1.eb8ee811e77716dp+2l
+-0x1.8eb04516659df61p+0l, -0x1.43ff1238bb9c1c34p+1l, -0x1.1e80c6ed9a1e43e8p+1l
+-0x1.115f94ac346c0dd8p+1l, 0x1.4b957fbc565065ccp+2l, -0x1.ce8a4659399cd8bcp+2l
+0x1.0381a6fa7fca1eep-1l, -0x1.196755f2d88e8b8cp+3l, -0x1.134a53848f065e68p+2l
+-0x1.d0f4ced5bb35b0cp+2l, -0x1.8dea71f2394f5f8p-3l, -0x1.203ab793e5a5645p+2l
+0x1.2343ec5363f315p-1l, -0x1.2cbb95533eaf0a9cp+3l, -0x1.9c5458b5422407f8p+1l
+-0x1.451c5bb2f24ed2d4p+2l, 0x1.023e6a8ad5ca34p-1l, 0x1.9a2d02f2e85c47ep+1l
+-0x1.1ae6de83577c9298p+3l, 0x1.b48cc56b3d48219p+0l, 0x1.117aca88c24916c8p+3l
+-0x1.d32484c5429434d4p+2l, -0x1.a73ee79d0911d018p+2l, -0x1.dcda9482cb3ecb2p-1l
+-0x1.17b023e4af6a34d4p+3l, 0x1.f7af30e52f4523p-3l, -0x1.3460120ba2ba1cbp+1l
+0x1.53e91941f5c6ae7p+0l, -0x1.7dbfd99cf7988cbp+0l, 0x1.05f399fadda0a2p-4l
+0x1.1af583de76923fp-3l, -0x1.aa369c483332de9p+1l, -0x1.f7468f25c71ac0f4p+2l
+0x1.cc6843cd6477d18p+1l, 0x1.dcb95153a51e23cp+1l, -0x1.28613cdeb66d6acp+3l
+-0x1.58d631d04ef2fd16p+2l, -0x1.09460ce085d13c08p+3l, 0x1.3df90811a3e8351p+3l
+0x1.1ae0226332dcfff8p+2l, 0x1.c04fb45ebdd8864p+2l, -0x1.7f7a6b48c8092d52p+2l
+0x1.1950c59e494c5b4p-1l, 0x1.7f5db44a12675bf4p+2l, 0x1.4cf508bf74efd478p+2l
+0x1.45ee0ab67431bfp-2l, -0x1.21fceea4f8bea7c8p+1l, 0x1.4f073bd38adca0dp+2l
+0x1.30a561d6fc822718p+2l, -0x1.1b13cecacd6903b6p+3l, -0x1.fbacd8996ebdb41cp+2l
+0x1.d701cca2db11ed1p+2l, -0x1.eef852a4abd9f73p+0l, 0x1.9ab55833e0af364p+1l
+0x1.2c030edbfc1cd998p+1l, -0x1.61a4c5d11a2091ap+2l, 0x1.70ccfa974977b194p+2l
+-0x1.234b644ed1ad7ed8p+3l, -0x1.b9f055b328d4944p-2l, 0x1.b283028c0ccef36p+2l
+-0x1.d38c7d24445b5b74p+2l, -0x1.df886c7a07f5fc7ep+2l, 0x1.1f7205e51f5739c8p+2l
+-0x1.35240d0673c2697cp+3l, -0x1.646fe617d26731c6p+2l, -0x1.70a14ede97bef302p+2l
+0x1.e5625730898c756p+1l, -0x1.cb95881846b2cbbap+2l, -0x1.f69fe41336b00288p+2l
+0x1.44f9514e3eeb544p+0l, -0x1.fc8d03434ddcd1c8p+1l, -0x1.9f5e4272fc04e1fp+2l
+0x1.41689876558b315p+2l, 0x1.e3961faacb19765p+1l, 0x1.cc5fd0b20b7c9128p+2l
+-0x1.3eff431c043112e4p+3l, -0x1.62c032ab2acd6778p+1l, -0x1.94ced4e9b5169ccp+0l
+0x1.29187c02240113ccp+3l, 0x1.1fdd0a28a6def78p+3l, -0x1.0bddefbeee3704ccp+3l
+0x1.688f4192237eed4p-1l, -0x1.1eec7ee1625b708p+1l, 0x1.d931c1d35d229328p+1l
+0x1.fb036af9a9f63a8p-2l, -0x1.ef33bd586c061394p+2l, 0x1.32ac9b782b536664p+3l
+0x1.b47366ef518bf5a8p+2l, 0x1.3007fa2bef703148p+3l, 0x1.b59ccc7d004b2ccp+2l
+-0x1.3174c63103d046eap+3l, 0x1.32b729fb3bd8f7ecp+3l, 0x1.7c6494e868a9a44p+0l
+0x1.6c288157618ebb7p+2l, 0x1.06774c4a5831e58p-3l, -0x1.99e0a461b816f82p-1l
+0x1.80111dc96491c62p+2l, 0x1.f038fe024a54d5d8p+1l, -0x1.1c3d2199bf5ca5cep+2l
+0x1.0262e6d51a3dd9cp+3l, 0x1.cb619fe5f6f544p-1l, 0x1.25f30e8d5e4d264p+1l
+0x1.a6122e530610a79p+1l, 0x1.1d173a31293031bcp+3l, -0x1.1dcdd42c9aa969dcp+2l
+-0x1.6cf61a98b7b09dbap+2l, 0x1.f853a1713e14ba9p+2l, -0x1.9f0bc83a711272b8p+1l
+-0x1.a6ece96f0663e2cap+2l, 0x1.191a83552d4e63a8p+3l, 0x1.c7f9c75e031fb8a8p+2l
+0x1.504b54773178cc1p+1l, 0x1.04afb650e07b6ef8p+1l, 0x1.78246516f7f1096cp+2l
+0x1.5e88af32478e74dp+1l, -0x1.a0f3f82d810fd568p+1l, -0x1.06acf46b6043af54p+3l
+-0x1.1e7b53fc999d814p+3l, -0x1.d426a8fe1ebf4e6p+0l, -0x1.41dc5c2868f3f44p+1l
+-0x1.f4a5eacdd24184f4p+2l, -0x1.b6efd92dafcc6bep+2l, -0x1.88943d1fedf633fep+2l
+0x1.e14577c922f5f6bp+2l, 0x1.12166bb5c7a24984p+2l, 0x1.2b7a60d3c8af5c24p+2l
+-0x1.ae34c32b3a0b4976p+2l, 0x1.6604d72b5506c4ap+2l, 0x1.8fbf75f5e7c7d75p+1l
+-0x1.2f4ed5e2c1ed4706p+3l, -0x1.ac7f545c7a35200cp+1l, 0x1.28913d7efd46b1f8p+3l
+0x1.136b403ea7baff2p+1l, -0x1.2b382abb96cf0c2p+2l, 0x1.a678a119440e6d18p+1l
+-0x1.3637b238e9faf04p+3l, -0x1.1c509a1a5ce253e8p+1l, 0x1.b6a8134ee4c8895p+1l
+-0x1.3f34b1bf68c17e34p+3l, -0x1.afde151632865b8cp+2l, -0x1.26366b3c2ba226bcp+2l
+-0x1.3560ddac371bc44p+1l, 0x1.e048aa70628d127p+2l, 0x1.03e02603a87ce028p+2l
+-0x1.19e76cb0146d38f4p+1l, 0x1.e68ebde73331339p+2l, 0x1.605a21e80f95ccc8p+2l
+0x1.020853202f3defd4p+2l, 0x1.0740ee7919942c1p+2l, -0x1.3c293893608af5bp+3l
+0x1.cfa88870a0ae56b8p+2l, 0x1.5b1b4d96c5ae385p+1l, 0x1.5dfdc2f850d04p+0l
+0x1.4f4ef310ab69d0fp+2l, 0x1.9baad6e3c4be71e8p+2l, 0x1.c9e93b0442adaedp+2l
+-0x1.13c28a3a73a29accp+3l, 0x1.9e51ac69b62c986p+2l, -0x1.8f019c22804d3368p+2l
+-0x1.e35d3471c009153ep+2l, -0x1.6847d2a2d27d8e3p+1l, 0x1.7d25b06a1cafb03p+2l
+-0x1.64a48cd35892df1cp+2l, 0x1.7feb63dde6d1d89p+1l, -0x1.7ece16625480965p+1l
+0x1.030d7c7a48405c88p+3l, -0x1.9350a75d51319558p+1l, 0x1.30f955f8298b2248p+3l
+-0x1.bfc71dd5f91ddae8p+2l, -0x1.a502b089a1688bap+1l, 0x1.b7cd62bd0c724bc8p+1l
+0x1.0dbae2a12a2d6ed4p+3l, -0x1.0b8f15656aae0e94p+2l, -0x1.1856f8bba05430bep+3l
+0x1.3856cbe9176ac4ep+1l, -0x1.82137bf296b1669p+1l, -0x1.b096b947905bdep-4l
+0x1.88d68cd8c44934dp+1l, -0x1.b30446532c4526f2p+2l, -0x1.447f540b5549a56p+2l
+-0x1.1893fed8860d748p+3l, -0x1.d653cf8307af3aa8p+2l, 0x1.289286d30c57022cp+3l
+0x1.ff9c5cb6ea1833p-3l, 0x1.265c36a7cfc24868p+3l, 0x1.49d84d327946c9ep+2l
+0x1.a65ddaaca6c4a1ap+1l, -0x1.3d21fe26a932d1p-2l, 0x1.379620fa9e4468f4p+3l
+-0x1.5b1ba96f7965094p-1l, -0x1.a7c46b6027d61e1ep+2l, 0x1.dba9a98b7158d35p+0l
+-0x1.0f6abfd6a9d072p+3l, 0x1.ebdaca70154f1b9p+1l, 0x1.83d1d6be7d633ba8p+2l
+0x1.cf8b741abcaf1ef8p+2l, 0x1.6c5cf2fb9923bdb4p+2l, -0x1.3cfd016358160e32p+3l
+0x1.7549ed343d0d93bcp+2l, -0x1.228b4dfdd5abb4dp+3l, -0x1.0e78b9aaace8a68p-1l
+-0x1.279cf35b17e05a5p+1l, 0x1.71a74264a94246ap+2l, -0x1.95da47835582ecdp+0l
+0x1.4524b5066f8535b8p+2l, 0x1.1f6b32c5900454e4p+3l, 0x1.3afc5317b772303p+2l
+-0x1.c55782d70ebf9994p+2l, -0x1.9cff78e0a9f66214p+2l, -0x1.02dfdcebccd7c2c4p+2l
+0x1.6dd80cb9425cad3cp+2l, -0x1.3e345599548348e8p+1l, -0x1.fa1b7711383eb4a4p+2l
+-0x1.7ee730a3a42b9c3p+2l, 0x1.627f10ee5c5910cp+2l, 0x1.1284710c9978875cp+3l
+0x1.a944a4718b93a368p+2l, 0x1.d829121fe5138208p+2l, -0x1.0c0faf9488fc4dcap+3l
+0x1.3abc90a4d125e198p+3l, -0x1.cc95e77af300c3c4p+2l, -0x1.f863b55732fe56ep+1l
+-0x1.55e372f043b24c16p+2l, 0x1.3c3d42a657081968p+1l, -0x1.732df3b132135e78p+2l
+-0x1.7958c1e0a28e2142p+2l, 0x1.b3e0bbd96fe424a8p+2l, 0x1.649245be57871c3p+2l
+-0x1.33a6fa33a9032104p+3l, -0x1.47192a36bbbdd5f8p+1l, -0x1.efe74a2a674b1f22p+2l
+-0x1.c9fb9d10583c3478p+2l, -0x1.4cdcefdffe72c6p+2l, 0x1.1848644244ff8178p+2l
+0x1.1b45054047b94f18p+3l, 0x1.37f4d19f4e936f68p+2l, 0x1.22b25299e2cf59ep+0l
+0x1.fc875e3d059712ap-1l, -0x1.5de825c0648c5c04p+2l, -0x1.344419434a350ce4p+1l
+0x1.9c90c33d7ed135a8p+2l, 0x1.a292fde3812b6068p+2l, 0x1.36dd2ced9bae0bep+3l
+-0x1.4e9da4de3fe576dp+2l, 0x1.385fd5ee5da02694p+3l, -0x1.1eeb4fb2f1b4377cp+3l
+0x1.ee62e70ac439a06p-1l, 0x1.c7240c0a121494bp+1l, -0x1.c0c1e275935728ap+0l
+0x1.5f8bf519feb06308p+2l, -0x1.4271352126ba1b8p-1l, -0x1.47773ae82b3c473p+1l
+-0x1.aff64a03b3bba688p+1l, 0x1.f7e85da1e3528d58p+2l, -0x1.c1616d0fd1f3b6e2p+2l
+0x1.3bcfa16abb0e7274p+2l, -0x1.ff3a97db2f801f5p+2l, -0x1.2289ff7a6281c5dp+3l
+0x1.a3b3e57e700ad8e8p+2l, 0x1.29a7d90ab3972864p+2l, 0x1.0958c9895f9dc574p+2l
+-0x1.fa50a9616e94cb5p+1l, -0x1.ceddc285a86c8d2cp+2l, -0x1.b73c53cc1bfd29cp-1l
+0x1.08ab750a4d92e8f4p+3l, -0x1.b7ac4abe8fb5921ep+2l, -0x1.7a461f9d023dcd9cp+1l
+-0x1.38ea7e249f15b044p+3l, 0x1.b9fa3dc21d92d78p-2l, 0x1.830529193ccf1b88p+2l
+0x1.1dfac9432280d8dp+1l, -0x1.3410e357f447cab6p+3l, -0x1.5d6bf138df168018p+1l
+0x1.2098f7e7b030d168p+2l, -0x1.cd380135690fe9ep+1l, 0x1.49e76c7224103774p+2l
+-0x1.fa883b58f41ea68p-2l, 0x1.6282cf7f1cbd82e8p+1l, 0x1.4143f2df2aa68cp+1l
+-0x1.8b7e91512a69fbc8p+2l, 0x1.300389bc57c67e84p+3l, 0x1.4b6839e7c30103ccp+2l
+0x1.38ccf2b6f9d4db58p+1l, 0x1.c350168525fad498p+1l, -0x1.f57832587c67918p-1l
+-0x1.1d4cc5ec84c6e8cep+3l, 0x1.ac8a654c5351377p+1l, 0x1.77a35665704a8ebp+1l
+-0x1.097b8765420d3f14p+3l, -0x1.1e29a6666a9967dap+2l, -0x1.e1c6e22ebb0f20d2p+2l
+0x1.00ebc426cac0bcc4p+3l, 0x1.e9bfc802c60ff148p+2l, -0x1.65ccd9a2355906p+1l
+0x1.b3503ac2f9f72c7p+1l, -0x1.0877649b88f61588p+3l, 0x1.60abd74f384862p-2l
+0x1.2fce853de9db782cp+2l, 0x1.7d3f0dd43e622aep+1l, -0x1.a39549786add10bp+2l
+-0x1.049032ba1022ec2cp+1l, 0x1.867604b4aaab41ep+2l, 0x1.3e84f08750fce9acp+3l
+0x1.e701c04cdb5e64p-6l, 0x1.76cf4d1545bc75dp+1l, -0x1.2125573e11459382p+3l
+-0x1.42bc9e6f138936cp+0l, -0x1.7abc1664a22048dp+1l, 0x1.2f7d150dc7866b74p+3l
+0x1.f3b2044f68f84418p+2l, -0x1.ec1f68bc22e0ab0cp+2l, 0x1.830ce2a6d0f401p-1l
+0x1.99c2cf1befa8296p+0l, 0x1.b3302c2b03f3ec78p+2l, -0x1.88154c622166f398p+1l
+-0x1.3c2355127d1a11c4p+3l, 0x1.38f9c972b1c3943p+2l, -0x1.db5df6c8205cb45cp+2l
+0x1.e5f66eddf41d2fa8p+2l, -0x1.85978b0c2d8b092p+0l, -0x1.04d4911e53a07e68p+2l
+0x1.f186792735bbcd9p+2l, -0x1.603614238ff43a6p+1l, 0x1.10deb3a2225966b8p+2l
+-0x1.7ca56439158d0148p+1l, 0x1.9e7e6a935695aaf8p+2l, -0x1.39f4d7ad6487208p+1l
+-0x1.450eb134ffbdd4c4p+1l, 0x1.40f4ba50b8f527ep+1l, 0x1.1888b08312ec538p+1l
+-0x1.510236b7e7c3cf34p+2l, -0x1.6d4f35d669f64bd8p+1l, -0x1.33ed353d1a2a5c9cp+2l
+-0x1.f060a522b04b7a8p-1l, 0x1.885a0379f7bc951p+2l, -0x1.0979f955f5282ef8p+2l
+0x1.11bee2b1e5132f3p+0l, 0x1.c97b875bdad07dp-1l, -0x1.0e26bc584a18f43p+3l
+0x1.062e8457f36acc58p+3l, 0x1.1b978ce7f50cfefcp+3l, 0x1.bd8ef3446fbae0a8p+1l
+0x1.7b598330e2f9f8cp+0l, -0x1.e041a1807ff78c1p+2l, -0x1.0b75b78f7b51b17cp+3l
+-0x1.bc947810b2c68aap-1l, 0x1.1c542e455c56c36cp+3l, 0x1.0de58dc9a686eac4p+2l
+-0x1.492987f6905098cp+0l, -0x1.9605a92412b26dc2p+2l, 0x1.1fbda1d60418b2acp+3l
+0x1.331643dc976b4d3p+1l, 0x1.1c82ba6100f88e6p+0l, 0x1.32a6dfb93d4e14b8p+1l
+0x1.d5891375156d875p+2l, -0x1.61d1a26145089be8p+1l, -0x1.0d783b5b58b0edb4p+2l
+-0x1.838b61517b2ae8cp-1l, 0x1.3651366a104ff524p+3l, -0x1.af3872ca246bacfp+1l
+0x1.d5e60c9656f0178p+2l, -0x1.a9f308c8755f802cp+1l, -0x1.658195b83ebd0fbp+2l
+-0x1.6f91f5e01cb91b8p+2l, -0x1.376e13ac58e61234p+1l, -0x1.348100b96950e21ep+3l
+-0x1.3076e085f8f61696p+2l, -0x1.5b3619a91921ca5p+1l, -0x1.9273c240282337bp+0l
+0x1.b58bf41a410b10a8p+2l, 0x1.a88fcab342c83p-7l, 0x1.f2de46ea215a608p-1l
+-0x1.37041571938908aep+3l, 0x1.21b881f394028f18p+3l, 0x1.33e72837ae311d1cp+3l
+-0x1.e8c2bbb79ad14cc2p+2l, -0x1.e17955c58a747fc4p+2l, -0x1.ba0819ae55b8a748p+1l
+-0x1.ddfd15b097a043p+0l, -0x1.e213f586ce22a55p+2l, -0x1.8a21538c1b9d3fcp+0l
+0x1.2f19b6eafa18ep-4l, -0x1.6ac8dc2038508p-5l, 0x1.12901fe614d807c4p+3l
+-0x1.75ea35f1d1c771cp+0l, 0x1.05f65028b93b1f9p+3l, 0x1.edbc863a90234018p+1l
+0x1.071560c0e30a6734p+3l, 0x1.d9614419493a286p+2l, 0x1.6afa4814c605ddf8p+2l
+-0x1.8c5eb360e6b9279cp+2l, -0x1.dc439b9fe61da238p+2l, -0x1.5dd5e27d896e8d2cp+1l
+-0x1.c207e01528e20a2p-1l, -0x1.26d91bc9293daa9ap+3l, -0x1.9d915218cc2cece8p+2l
+0x1.cd0a2ce862228e8p+1l, -0x1.2dda2b350ef610ccp+1l, -0x1.1724177d3dde8b82p+2l
+0x1.7bbeb1330f8189a8p+2l, -0x1.516a6172496e161p+0l, 0x1.46e17c593aa805fp+2l
+0x1.9c1dc51486729e48p+2l, -0x1.aabc2a1afb3aa62cp+2l, -0x1.92329351678482dcp+2l
+-0x1.66a833686c63e4p-1l, -0x1.4e27f8017e6a0bb4p+2l, 0x1.a400cae881d323p-1l
+-0x1.319f08b6ba2a1716p+3l, -0x1.302079e58344d68cp+2l, -0x1.33b15200b38d161p+0l
+0x1.db670a96418fc3bp+1l, -0x1.965d69b0e4978b94p+2l, -0x1.50c052a615fcafcep+2l
+-0x1.1a530380dc546694p+3l, 0x1.33d819ed3f4cd85p+2l, -0x1.35ed78c070d67faep+3l
+-0x1.3dd0d4d5ae060728p+1l, 0x1.cef4be02a8b19bep+2l, 0x1.45d02c0c6fad3e78p+2l
+-0x1.23e705965fc95d7p+3l, -0x1.3da9a967eb8ab15ap+3l, 0x1.0453d95a6c0beebp+1l
+-0x1.beaf18e62599b27p+2l, 0x1.c6aa1039f6b302f8p+1l, -0x1.25f840ed64035dbcp+3l
+-0x1.40736de71e2a84cp+2l, 0x1.6bbde68a45cd14fp+1l, -0x1.097f43db7f40e5cp+3l
+-0x1.3bbef9d1d63e8f8ap+3l, -0x1.a869b73b6ec6dfap+1l, -0x1.9fc8956744bf218p-1l
+-0x1.7056ffbe15b1016p+2l, -0x1.61eea1602b131528p+2l, -0x1.22e12152caca95c4p+2l
+0x1.607c13e30d69a13p+1l, -0x1.92ebc5e7d522afa8p+1l, -0x1.1324ccec0699ebf4p+3l
+0x1.c20b703c71d56758p+1l, -0x1.efa08db95a9e327p+0l, 0x1.8cc9711f9d417acp+1l
+-0x1.0f5d18259704a1dcp+3l, 0x1.844bde7e6914fee8p+2l, -0x1.370188fffd2e4ccp+3l
+-0x1.faa093eb2a68f19p+2l, -0x1.2169d89345a139ecp+3l, 0x1.17d009604d5f678p+2l
+-0x1.0b9f5bc78a49c058p+3l, -0x1.1bc403c0b6edccb4p+3l, -0x1.7f54a61cc40d8a8p-1l
+0x1.c526e26dc0536cdp+2l, -0x1.34f15501bccc394p+3l, -0x1.3664e955506b1176p+2l
+-0x1.9d1674de966c32ep-1l, -0x1.ca0d49718998c388p+1l, 0x1.15413cd22586e54p+0l
+0x1.3f5cf170e22b538p+2l, 0x1.21c20a24ec730688p+1l, -0x1.1590801301d8905p+0l
+-0x1.16b477f13ad84e8p+0l, -0x1.db5f0572e5509152p+2l, 0x1.378abd53c83f97ap+0l
+-0x1.5c43d105c0e6f112p+2l, 0x1.7b52d9bfe209c22p+0l, -0x1.e86190f67e36d66ap+2l
+0x1.3dfaf0f09a23d9bcp+2l, -0x1.0cace3273e689ff6p+3l, 0x1.81484699b8caf838p+2l
+-0x1.37d394b496b0b64p+1l, 0x1.16740e30da645cdcp+3l, 0x1.6b51905a713ad2bp+0l
+-0x1.3aba52a4fc616beep+3l, -0x1.a8ebb7aa1ec71cfp+0l, 0x1.0976c34ab401e818p+2l
+0x1.0bfb3b16aad73ad4p+3l, 0x1.e56e1d43ff7b29f8p+2l, 0x1.14cfc2143f29d61p+2l
+-0x1.4f035dd25ddab80ep+2l, -0x1.a6d473be729374a4p+1l, -0x1.b1ec93f0fa55fc48p+1l
+-0x1.e31f6b1e1f11b294p+2l, -0x1.f8743d42ce9677d4p+2l, 0x1.bcf74c8ce43d1448p+2l
+-0x1.a8371a8c8af4dedcp+2l, -0x1.ff035121e8752a2p+2l, 0x1.35aa8c03f23599bp+3l
+0x1.fb3debb5de93cc18p+2l, -0x1.f4e03148ec45c52cp+2l, -0x1.eed677d6b5569c98p+2l
+-0x1.20cc7ef36eea8c14p+3l, -0x1.1b905589805b507p+1l, -0x1.617c6f480cf9948p-1l
+-0x1.11cbc85b959ae7eap+2l, 0x1.f47ca6d0dc1b5efp+2l, -0x1.f57f6ed3e1ac5ap-1l
+-0x1.95a02a52afc08208p+2l, -0x1.347a9f6cca5d53aap+2l, 0x1.156afaeeee3ca4ap+1l
+-0x1.433eb250d005b258p+1l, -0x1.14a167569dfc11e6p+3l, 0x1.0e0aac91164f78b8p+1l
+-0x1.23de02f9f1e56c7cp+2l, 0x1.7237fa3682d72c8p+2l, 0x1.cfe29e6b846f1938p+1l
+0x1.26c5d6559b2a655cp+2l, 0x1.291a716efc322e2p+1l, 0x1.3b98afb59817e32p+3l
+0x1.04b5411cba1f757cp+3l, 0x1.47e1af677202cf78p+2l, -0x1.698af172dd593508p+2l
+0x1.07472d64014f526cp+3l, 0x1.3a4dbfa00f576f9p+0l, 0x1.a914c47883ac0468p+2l
+-0x1.81b4a436351a5808p+1l, -0x1.a666e4f6050e9bcp-2l, 0x1.7b662fdaa8bae8p-2l
+0x1.487885e4210f4b8p-2l, 0x1.e6d3d17b94104398p+2l, 0x1.51a96abe49dada2cp+2l
+-0x1.ed42db025b1d78ap-1l, 0x1.5ca01536c89b92e8p+2l, -0x1.e66bedb59bda6968p+1l
+-0x1.02f495f858abbdbcp+2l, -0x1.2738498cd4b76c3p+1l, -0x1.fb28835fb7d1b202p+2l
+-0x1.265fb33b698e38dcp+2l, -0x1.46d2932c84ae1f06p+2l, -0x1.143c517f429af306p+3l
+0x1.c611cd8d345b78ap+1l, 0x1.a10f3907492eaa98p+1l, 0x1.71809df2a38c36cp+1l
+0x1.c98862e9ea5ef12p+0l, 0x1.8d377b14b9e8d948p+2l, 0x1.09d9fd797d61cbbcp+3l
+-0x1.f7b1f5f87742f418p+2l, -0x1.56a9fd861c82e828p+1l, -0x1.8f3bb8aab12f4318p+1l
+0x1.9d5544421dd728ep+2l, -0x1.cdc8772e18231c4p+1l, -0x1.e63eab553ff933ep+2l
+0x1.2e81b0cb916f0dfcp+3l, -0x1.ccb7786a97b902p-5l, -0x1.c1c0bf5c6f78c888p+2l
+-0x1.0c450f5faeffa04p+3l, 0x1.12c36160d98df05cp+3l, 0x1.aab3816af009479p+2l
+-0x1.9df314d66e4d0e6cp+2l, -0x1.f877070518a7d3b8p+2l, -0x1.fe700e2d4b913b4p-1l
+0x1.21fb247dd79c07b4p+3l, 0x1.805be0d3dbd8e788p+2l, 0x1.26e60a6fe1a3436p+0l
+0x1.4ce3fbce04a1faccp+2l, 0x1.f17dbf23077937e8p+1l, 0x1.9c748e82fc88e8ep+2l
+0x1.23b1cf02e01b57b8p+2l, -0x1.566f81741a2f77b4p+1l, -0x1.166ed659d3c9eed8p+3l
+0x1.89f9da13b8839cf8p+2l, 0x1.d32d4cc5c546e688p+2l, -0x1.34d74f9b545d954cp+3l
+-0x1.027545ca852e24eap+2l, -0x1.2c8d28b77507f2ap+2l, 0x1.a2440b35474e1c7p+1l
+-0x1.9c3b3c36a49b2dp-1l, -0x1.2e09e925a2f6f00ep+3l, -0x1.52415bd963e110ep-1l
+-0x1.24a4e86e3a21293ep+3l, 0x1.9ccb32e5a89ce1p-2l, 0x1.6bc9f5064425fa3p+2l
+0x1.30e2e9537a2a597p+0l, -0x1.10bd5462e2ad86d4p+3l, 0x1.c1d5658bb3a35afp+0l
+0x1.c38ccd9baa15d51p+2l, -0x1.3f422d2203afbb84p+3l, -0x1.1a55dc4345e1968cp+3l
+-0x1.9487fa2fe8979a2p-1l, -0x1.f752be51e0e5cdcp-1l, -0x1.053e7601f167f73cp+3l
+0x1.b6a95bcef92f2bfp+1l, -0x1.eac8bfe5ca652c4p-1l, -0x1.4b58cd3c959e4b7cp+2l
+0x1.33f21cddce50032p+2l, -0x1.170dbdc959bc4ebep+3l, -0x1.b859398a034fab54p+2l
+0x1.58fe60f4419f9734p+2l, 0x1.55fb098547bfb208p+2l, -0x1.3a95606478d0785cp+3l
+0x1.ba8cacf386445c98p+2l, -0x1.b5152a65e709702p+1l, -0x1.ac059b2e126a6f7ep+2l
+0x1.12066a1ceb029bb8p+3l, -0x1.7e1a4755afc35ap-3l, 0x1.f9b718b86cf0192p+2l
+0x1.01bc40a0edd915fcp+3l, 0x1.b8ac6b3c98447edp+2l, -0x1.17be573043ee6464p+2l
+-0x1.cb3c16c43730847cp+2l, 0x1.6aef0b83a2324dc8p+2l, 0x1.b5df69b589115ca8p+2l
+0x1.1db60fa43d05e1f8p+3l, -0x1.1bd67c857df42c3cp+3l, -0x1.03e40cac9987a024p+2l
+-0x1.244f6a7b69c9ebfp+0l, 0x1.72e9556e7b312f8p-1l, 0x1.6ee41387e0b7121p+2l
+0x1.5f6272a9c1dc77dp+2l, -0x1.c07c67f8d20acdcap+2l, -0x1.9a631dd02a0aa4e8p+2l
+-0x1.dd16a5ec1b50d1f4p+1l, 0x1.0c23c177494dbcdp+2l, 0x1.d8d4c3187598f89p+2l
+0x1.2f3b2ccd2a13f86p+2l, 0x1.14189751793f2fp+0l, -0x1.1c8a5ab06fe7f96ap+3l
+0x1.3834c68805afdaf8p+2l, -0x1.6359447e906b902p-1l, -0x1.28feff4e4f6117ap+0l
+0x1.841d2cce22cb2e4p-2l, -0x1.1951a261f2899ecap+3l, 0x1.18f0b03aafd27414p+2l
+-0x1.34994a9a24f0e334p+2l, -0x1.7a121f270df7696p+1l, 0x1.e5b2db4b34c2b34p+0l
+-0x1.1f91f89783f0c92p+1l, 0x1.e61a6fd7ff60ccp-4l, 0x1.339be6ee597e1dap+2l
+-0x1.756ac5925c396bfcp+1l, -0x1.2f5e4d95137da338p+2l, -0x1.42e12f9a0eb648p-5l
+0x1.37661bca1f227448p+1l, -0x1.0164b98d5d132fbep+3l, -0x1.34da319af6f52fp-1l
+-0x1.37bad9a1ddeee254p+2l, 0x1.67f822544697ebb4p+2l, 0x1.2289f466186396fp+2l
+0x1.c7d3e283fb455368p+1l, -0x1.310778d21fed06c8p+2l, 0x1.23cefe365f8b512p-1l
+0x1.dc17333c187bcffp+2l, 0x1.8b55188697aff698p+1l, -0x1.5ddcf21305c804p-5l
+-0x1.8fe93ad11a9509c4p+2l, -0x1.89c009d8a50c422p+0l, 0x1.9861016762c9bcfp+2l
+0x1.0d406cbbdf06048p-1l, -0x1.bf2bd4e1a72242bp+2l, -0x1.38d5a424538388dcp+2l
+0x1.0f415735af40a5b8p+2l, 0x1.dd386392209bed08p+1l, -0x1.3e040375062b01eep+3l
+-0x1.b227c2ba20f00d3ep+2l, -0x1.663f8e06565ba798p+1l, 0x1.70547114061066p+2l
+-0x1.60d499e09ae8e3bap+2l, 0x1.d1f30a0c0f2aa48p+0l, 0x1.2410bb5e54e1f08p-1l
+-0x1.977c2c35512d2594p+2l, -0x1.b98f860e22b87058p+1l, -0x1.0d45777cc38ee0b8p+3l
+0x1.044de18aba3772e4p+3l, -0x1.63a2c33b26d2e192p+2l, 0x1.9c526e530a897p-4l
+0x1.0820f4f238133fdp+1l, 0x1.3f6aab072c6f31ap+1l, 0x1.3a8cfb047d936418p+2l
+0x1.3fccd737a5bd4d18p+3l, -0x1.a103ecad548ae2a4p+2l, 0x1.b8601d6176c3dfc8p+1l
+-0x1.0de1649f9a8245f8p+3l, 0x1.c5578062ab89024p+2l, 0x1.693fbcc6423f35e4p+2l
+-0x1.d7b9b7865ab4fac4p+2l, -0x1.73fdeb110820309cp+2l, 0x1.65785367be7392d8p+1l
+-0x1.57239e73763dcp+1l, -0x1.a7d66442ab713ap-4l, -0x1.299a1f922507d35cp+2l
+-0x1.4ef22f1757cf0b18p+2l, 0x1.cb7984a775780768p+1l, -0x1.4047c14cb3dfaf58p+2l
+-0x1.d0e75f573c78dffap+2l, 0x1.c066f8f3f6070dp-1l, -0x1.6dc49b8059efab4cp+2l
+0x1.7caecdb3ec426dcp+1l, -0x1.9dce252621ffb53ep+2l, 0x1.8632640b1840586p+2l
+-0x1.e1cd48ca0f74a198p+2l, -0x1.1fb67156a09227fcp+2l, -0x1.31e246c41e11946p+0l
+0x1.4ae1941a93e581ep+2l, -0x1.dafe2b3fcdaca9p+2l, -0x1.70141783dbeba9fp+0l
+-0x1.6e760cd960c5cfp-3l, -0x1.01c5a22c88689ddp+2l, -0x1.bee7bda075048344p+2l
+0x1.072e96f764cae97p+1l, 0x1.1c2fa825e47a2428p+3l, 0x1.0cc2d9ed26dcda8p-2l
+0x1.1e3ad67f71c0bc78p+3l, 0x1.483b3dcd0f7f0f6p+0l, 0x1.f5de9b471d0dc028p+2l
+0x1.fa8b23e6d4243abp+2l, 0x1.0a06827c2ffab228p+3l, 0x1.30fca2527da9d69p+2l
+-0x1.5e1995dff50275d6p+2l, -0x1.b1b1ceaf565cd6cp+1l, 0x1.5337b6aea8a22b98p+2l
+0x1.291f01ed2358c8p+0l, 0x1.f365397287640e5p+1l, -0x1.fea455c901eec92p-1l
+0x1.46b0046e6630afe8p+1l, 0x1.f89b882f019873p-1l, 0x1.09c0c054dd5d1e84p+3l
+0x1.a0bc92eca9e4fdap+2l, 0x1.37619e1c417cb214p+2l, -0x1.f3ab7ae96e72e85p+0l
+0x1.2f59c269407216cp+3l, 0x1.71dbee85255ff218p+1l, 0x1.3e5e2ad0a4fc3c44p+3l
+-0x1.713136865532b00cp+2l, -0x1.11186fdf3c66f8cp+1l, -0x1.52a0510b13374f7ap+2l
+-0x1.2d75bd7097938eep-1l, -0x1.2491780f5729d2ep+3l, -0x1.1571d8efe2a0828p+0l
+-0x1.7135185d91e4227p+1l, -0x1.28484a5c2dd9403cp+2l, -0x1.d2c0912cfe479fcp+0l
+0x1.47075b54f6f47418p+2l, 0x1.3034fde5aeb89258p+3l, -0x1.cafc07cf11c5516p+1l
+0x1.55a30d8b6e5092ccp+2l, 0x1.54489c737a92d3p-2l, 0x1.d1cabe29a1360728p+1l
+0x1.002bf56a26a5a548p+3l, 0x1.3244ff9c7aae9f1p+2l, 0x1.fbad75651c79a4fp+1l
+0x1.bec3947cf9a37128p+2l, -0x1.88b0d8c1006f9a8p+1l, 0x1.65141dad21c6096p+0l
+-0x1.17633edd76fc1a64p+3l, 0x1.13541334b77efep-4l, -0x1.b4ecfd5468f7597p+0l
+0x1.9aacb25094243b78p+2l, -0x1.f43840d94b423cap-1l, 0x1.3f1821765c164efp+1l
+0x1.9304cc978bf7a8p-3l, 0x1.02dda3e4e9c62p-1l, 0x1.86eb568e94488ddp+2l
+-0x1.2cbd2836960c6bbcp+2l, 0x1.1812b2c4ca4c3bc8p+2l, 0x1.c6cdf38773129538p+1l
+0x1.ff2d4e9dd8f6d0ap+2l, -0x1.14c9fb4405bb8c98p+2l, 0x1.d6b46e38167b4c4p+2l
+-0x1.b33ea35daa7bdacep+2l, -0x1.1b23fdac3b1201e8p+3l, -0x1.90f03816acb97acp-2l
+-0x1.e7a84ceeb6db405p+0l, 0x1.442e7ee8cfda33f8p+2l, -0x1.324ab72a39373708p+2l
+-0x1.4f80bb799bd5d084p+2l, -0x1.2d817c3336091f4p+0l, 0x1.7d053542126d3788p+1l
+-0x1.4b737860e7e8cba8p+2l, -0x1.36d23c2c335fa61p+1l, -0x1.f7e762b99cf7d1f8p+1l
+-0x1.8b72543e6986ecb4p+1l, -0x1.e014ff34f8c5df98p+1l, 0x1.e8dc10cb65d1884p+2l
+0x1.0c62243f4d30900cp+2l, -0x1.0544a65f6bb60acep+3l, 0x1.eac3813a7d7bc8p-2l
+-0x1.2db4ce25c24924p+3l, -0x1.2b23a60d7aa51b78p+1l, 0x1.e7631d2de7eb9a08p+2l
+0x1.2d294e8aad1ca588p+1l, 0x1.0b4f0079b8d6e68p-3l, -0x1.316710f18954816ep+3l
+0x1.8efcd0cb6c6a24ep+0l, -0x1.69822dffdb6d0c54p+1l, 0x1.45bae11515b9a3a4p+2l
+-0x1.2e324aaac9be8a3ep+3l, -0x1.7a6a2c0415d3782p+0l, -0x1.2bedec59e31aa04cp+1l
+-0x1.bb83976ef71ccfcp+0l, 0x1.0f0eb0bb2607faf4p+3l, 0x1.b9c6b8020f1ec92p+2l
+0x1.d8541708e62c22bp+2l, -0x1.e361b6e418792b5p+1l, 0x1.1486a376933b47bcp+2l
+-0x1.38604207889959dp+3l, 0x1.10d4f5cad900af78p+1l, -0x1.af2c5336b3a24d9p+2l
+0x1.cd3da016799d43c8p+2l, 0x1.08d6b0fb181992ep+3l, 0x1.049a36ae490d027cp+3l
+0x1.7bce74e8194585dcp+2l, -0x1.106d184ea3f6d6a8p+3l, -0x1.18c22f57a6e52558p+3l
+0x1.0943f8720671a14p+1l, -0x1.82e95c86009df2e2p+2l, -0x1.b02c7c11c505a6c8p+2l
+0x1.a5286fa682b9e6cp+2l, -0x1.171f54ecfc8d65bp+3l, -0x1.a3a66b1967f19adcp+2l
+-0x1.6ae4404fe229824p-1l, 0x1.4fc6a85009952adcp+2l, -0x1.8ee4f3be396c386ep+2l
+0x1.069a7cb92bcd6488p+3l, -0x1.390c227cee28acd4p+1l, 0x1.fd910f96c8c80d48p+2l
+0x1.d45cd16aab9f95dp+2l, 0x1.35eaf74146a79ac8p+3l, -0x1.791b745976b6686p+0l
+-0x1.b45171162dce449p+0l, -0x1.fa050a345e27d90cp+2l, 0x1.43e5020231ef23ep+1l
+0x1.7d1b01377500fcfcp+2l, 0x1.4505134f9dee20ep+1l, 0x1.3fa64e68716518b4p+2l
+0x1.f5013475c04bbf9p+2l, 0x1.8e7fe6a23a1c0bp+2l, 0x1.49d110b117c3af88p+1l
+-0x1.2f485d4bd0bb599p+3l, 0x1.1d596bc97fc2b298p+3l, -0x1.84669b87007473fp+0l
+0x1.2a6a7e2ea9a1aep+3l, -0x1.ce33addf9cf3af5cp+2l, -0x1.26964b8156f38e06p+3l
+0x1.c6e46bc0032feeep+2l, 0x1.17bcd67d96bb89fp+3l, 0x1.9c20966803273cc8p+2l
+0x1.5a9698b917a8635p+2l, 0x1.1e89ed72a53669fcp+3l, -0x1.dc5dc414beb09ffp+1l
+0x1.fd3053ff31e9944p-1l, -0x1.38b343fd261c8a96p+2l, 0x1.85012de20afbf348p+2l
+0x1.1b9eda5228d91cf8p+3l, -0x1.362c345410cd26c4p+2l, 0x1.3121f841f077ca58p+1l
+0x1.2ebbc5cd17299c8p+3l, 0x1.36ef3ba0bcb730a8p+3l, 0x1.e669f4727bfedefp+2l
+-0x1.8ffa8e3474bc3fbep+2l, -0x1.115e38a110901ep+0l, -0x1.975b6bcc81444d38p+2l
+-0x1.8ef1caf397bc8e14p+1l, -0x1.4ebe991f206c67e8p+1l, 0x1.db39adf53aec639p+2l
+0x1.0892e6f02b955b74p+2l, -0x1.c16d8fb222d1cfd8p+2l, 0x1.f242d983dc09b8f8p+2l
+0x1.b205e3486fc3294p+2l, -0x1.b5d74eb191d7c31p+1l, 0x1.10c29592fef9cd3cp+3l
+-0x1.3cde33b7ed8b1092p+3l, -0x1.8a6cde2c04fc132p+2l, -0x1.cf3d3c7f64c49bap+0l
+0x1.d6784e091f2e0bp+2l, -0x1.488c02b989b55b9p+1l, -0x1.89c478f7a70cp-10l
+0x1.33f5d0a75dea0808p+1l, 0x1.e7bd5ac6a0a3e9ep+0l, 0x1.64bc9b648478249p+0l
+0x1.29c2fd7cc3d5055cp+3l, 0x1.07ee95b4e71a18c4p+3l, -0x1.d8f1a25fecd32c9p+2l
+-0x1.6a8b47db447d7f2p+1l, -0x1.ff30103c6f056768p+1l, 0x1.6ab1b53a3ccb0038p+2l
+-0x1.1b7601eed946dbcap+3l, 0x1.3c1ab6a80f9e8968p+3l, 0x1.cd178d46b1b384fp+1l
+0x1.7f6292ccfe8b4168p+2l, -0x1.ab5f095280027ec4p+2l, 0x1.3a8f575c33bbca8cp+3l
+0x1.e7077d984794632p+1l, -0x1.44e4fc1cf8e5aac4p+1l, 0x1.8152a2a97de0dap-2l
+0x1.df42a86c397807dp+1l, 0x1.87e175f8ef1edf8p+2l, 0x1.9a1d058ac1322a58p+1l
+0x1.89866d66f2f2838p+2l, 0x1.01791a810d5fc568p+2l, 0x1.db3ca1f6b061d75p+2l
+-0x1.5c544c77abbbfc88p+1l, -0x1.48e23c9e760a528ap+2l, -0x1.1e81e998bdc582ep+2l
+0x1.23875bd15a01904p-1l, 0x1.4ff5ac290199d5b4p+2l, -0x1.4732b2e6f9bfdf2ap+2l
+-0x1.24e28d9f9451887p+3l, 0x1.4946ce0f8db793p-2l, 0x1.c46d4a32ca8b08ep-1l
+-0x1.9928d931b0758f3p+0l, -0x1.2a88c0afcfe07c68p+2l, -0x1.f9877174c1a1f03p+0l
+0x1.88d861612d8d0afp+2l, -0x1.3d0e2013c2265d8cp+3l, 0x1.330f52c87da86b88p+3l
+-0x1.1b76e64e381d1364p+3l, 0x1.f4ce4459185b8bap+1l, -0x1.eefb9e724d9cbefap+2l
+0x1.44bd95b5d04beedp+2l, 0x1.da55aa5c21f7cbf8p+1l, -0x1.69b4a00f2011777ep+2l
+0x1.27c64f7a060d636p+2l, -0x1.947c76f1937dbe38p+1l, 0x1.06e900c412a5f3e4p+3l
+-0x1.8288e1791d63f39p+1l, -0x1.2e90575281b019ccp+2l, 0x1.c78bd5bda4615118p+2l
+-0x1.35481309200edbd4p+3l, -0x1.d4cd0a7a8e2397e4p+2l, 0x1.c28a6a7cad51cp+1l
+-0x1.57ff8c4ef901719cp+1l, 0x1.c8377138185eb388p+2l, 0x1.0b8156d421747b18p+1l
+0x1.8508eab222504908p+2l, -0x1.5eb1d5acfeec4194p+2l, -0x1.9110a90cdf0d9ab6p+2l
+-0x1.dcc36f4eec31a9c8p+2l, 0x1.0808cf397ed2c8acp+3l, -0x1.68ba005ef91ddbf8p+2l
+0x1.0fceea1d78dfd918p+2l, 0x1.aa767f17b258842p+0l, 0x1.2bfb846bb30f959p+3l
+0x1.94ca9e15e895dffp+2l, -0x1.c282e28ccc9e347p+1l, -0x1.2f2be43c6ea681p-1l
+0x1.f934b47b8089be4p+2l, 0x1.3f728b5fd5c0dfdcp+2l, 0x1.9d525bd4192f94p+2l
+0x1.b05b6558643febd8p+2l, -0x1.7869fe5d4ea9c102p+2l, -0x1.06bc7bfe96cd5ba2p+3l
+-0x1.c0f3ef372642e8ccp+2l, 0x1.b2e4af569800b53p+1l, 0x1.30fdda116a74e4fcp+3l
+0x1.8ab0af61e8786308p+2l, 0x1.ea821953cf2854fp+1l, 0x1.273d5ba25242683cp+3l
+-0x1.cebffd5b940e02p-4l, -0x1.5d47cb477e62cc5cp+2l, -0x1.6d86174b53721e74p+1l
+-0x1.b3f684ad52a7f6p-1l, -0x1.0e8fdaf408c34e48p+3l, 0x1.98c77df0116a8668p+2l
+-0x1.ad71df92fa292abp+0l, -0x1.f62a8205aa5dd07cp+2l, 0x1.6d2c8ac7d77895ap+2l
+-0x1.8a99281f50cc79b6p+2l, -0x1.988b7dfc196f8458p+2l, 0x1.0426452cd6d47b08p+3l
+-0x1.2b0aa95dc1405294p+3l, 0x1.fdd495f64b2bb2c8p+1l, -0x1.b2172ba327230634p+1l
+0x1.b923523f4b104328p+2l, 0x1.ff8925d50b730958p+2l, -0x1.3d6125af776d6dap-1l
+0x1.e79d1cf126539c2p+2l, 0x1.49e10d6ad2b94248p+2l, -0x1.101ab33a1ffd2468p+2l
+-0x1.7b5166ace194ac7p+2l, 0x1.d9edd52c82a6e72p+0l, 0x1.353665e62595d67p+0l
+-0x1.2bbc9f2a7d553384p+3l, 0x1.36a0e363e6e28438p+1l, -0x1.49d036190c298fe8p+2l
+-0x1.04ab2cecd02b67fp+1l, 0x1.16ff500ff20f665cp+2l, 0x1.c76813b6841d2fdp+2l
+-0x1.397c2e4fe55bbe7ep+3l, 0x1.643394cc27377ef8p+2l, -0x1.a20c460a472eb8d6p+2l
+0x1.3c482ad120fd4058p+2l, -0x1.d972562e19230ffp+2l, 0x1.19f494f79c825974p+3l
+0x1.d16ce689734da39p+2l, 0x1.d08f214e5765575p+2l, 0x1.21cba3aa8a02f13p+0l
+0x1.ffd4c8388b154bdp+1l, -0x1.23b9d15cc8db53bp+1l, 0x1.bc529b8dbdbbdb9p+2l
+-0x1.217eb8f015dfd688p+1l, -0x1.c6fdc71e7773e4cp+0l, 0x1.063ff23a796e3d18p+2l
+-0x1.853329604872e218p+1l, 0x1.f0bf3718776bea4p+1l, 0x1.e90deb962334f8p-6l
+-0x1.06c50329b18d64f8p+3l, -0x1.632d3e241872c148p+2l, -0x1.1f3269b1234f852p-1l
+0x1.785ff5369da7e94p-1l, -0x1.1d2accec93aaecb8p+2l, 0x1.537a8738350e044p-1l
+-0x1.25b0b3b3fbc72e88p+3l, 0x1.e4381078effdf2bp+0l, -0x1.3a4d5c22bef61704p+3l
+0x1.3ad4ee4e1257b3b4p+3l, -0x1.bea0197105b6560cp+2l, -0x1.9713dd57191c565p+1l
+0x1.ba6ce057cda393ep+0l, -0x1.c78176f4366b97p+0l, -0x1.185eb594fbcbea78p+2l
+-0x1.48776de3ab89cc74p+2l, 0x1.f0d15c31bb9e9b4p-2l, -0x1.080263071faac05ap+2l
+-0x1.75afa4f7aee9406ep+2l, 0x1.d2218f6895689c3p+1l, -0x1.bbe31c946ccad17cp+2l
+-0x1.3d2a5b60ff6fecp-1l, 0x1.c519328ec3820768p+2l, -0x1.63405cccebdd6f6p-1l
+-0x1.916722465ea19b4p+0l, -0x1.50a3982ecbff799ap+2l, 0x1.03f15a435c1b9f9cp+3l
+-0x1.1e34321045698e98p+1l, 0x1.cad89057dd9fc0a8p+2l, -0x1.f9702d05cb40b08p+1l
+-0x1.391b63ddfb3cbf58p+3l, -0x1.76ff6f974eb2d8fcp+2l, -0x1.af7f19e4e720a89p+2l
+-0x1.ef4430d8fc8e3d4p-1l, 0x1.10d10c44ff68b558p+2l, 0x1.ea42a55c9b34ee8p+1l
+-0x1.b65af64c57e564p-5l, 0x1.1f46e197c74a366p+2l, -0x1.97d01f4d2afb6ee4p+2l
+-0x1.006969307d6008e6p+3l, 0x1.426d4aeca810da5p+1l, -0x1.04a29ffe5c836654p+3l
+0x1.62b63d782c57e678p+2l, -0x1.0056fe6ca01b52cap+3l, -0x1.12f5c2c211e4267cp+2l
+-0x1.adac616d079f70b4p+1l, -0x1.cabb887eb20a7e78p+2l, -0x1.58a46124f8a7c3p-2l
+0x1.f69ba7a645468f48p+2l, -0x1.0e57bab3855177dcp+3l, 0x1.1631a40ac3c6573p+3l
+0x1.e5946ec7eb957c48p+2l, -0x1.ce348136751472bp+2l, -0x1.ac5b5aae66142p-4l
+0x1.67ce5a483ba91d1p+0l, 0x1.c9b21b464f61cb88p+2l, 0x1.c2f29989af79d1p+2l
+-0x1.81a94bf07a47bac4p+2l, 0x1.20126b62aedccd04p+3l, 0x1.2258170335033d38p+2l
+0x1.1e65c309a9715f94p+3l, -0x1.c0fe576d83690804p+2l, 0x1.5d897866f0df6f4p-1l
+0x1.c72ba1bed2aa947p+1l, -0x1.1c01a864af729696p+3l, 0x1.88bf198db0e8398p+2l
+-0x1.268283c6c21d854cp+2l, -0x1.2535de4dc9eabb6ap+3l, -0x1.99e76ff0ab592d2cp+1l
+-0x1.758cf02e04681bp+0l, -0x1.c7b04a2f5494a87p+0l, -0x1.1fd56c86b861405cp+2l
+0x1.12b6c24d790bdc6p-1l, 0x1.f02d34774fbad9b8p+2l, -0x1.64eb034e58d6659p+0l
+0x1.9ec347067862d5p+2l, 0x1.17f51a4a2db3e738p+3l, -0x1.1015c7e58904acf8p+1l
+-0x1.163af84d29aee41p+1l, -0x1.bccfd49f2e21855p+0l, 0x1.6e78b786bb4f863p+1l
+-0x1.9e3e736cbf7cd3p+0l, 0x1.03bbcc65318769p-1l, -0x1.753c7125f03c1bb8p+2l
+-0x1.3f7544b887966bf4p+2l, 0x1.7871b9cdf3900bbcp+2l, 0x1.71a571430a6d6214p+2l
+0x1.efa04f5a1e0be9cp-2l, -0x1.306ed6de2934d184p+2l, -0x1.c3bff63e5e73c16cp+1l
+-0x1.2e6c64054c17f51p+2l, -0x1.bcfc5f33c64669f4p+2l, 0x1.173d127d985bf5p-1l
+-0x1.242cd91ec7ebf5ccp+2l, 0x1.fbd4ba2212c14cp-3l, 0x1.34274696f54792p+2l
+-0x1.bf3dd4983f11314p-2l, 0x1.7bd9e3638973c4e8p+2l, -0x1.496f82a51fd01794p+2l
+-0x1.b3b7b591fd1755ep+2l, -0x1.5d9d4f53ee3ad2ecp+1l, 0x1.3b5b0798b913118p+3l
+-0x1.3cfcbbff28476f44p+2l, -0x1.7e42320e9fcc1784p+1l, 0x1.202729744d9b948p-1l
+-0x1.a93f43a7a2c3c19p+2l, -0x1.d2acfd0256862208p+2l, 0x1.69c56f3d94dd53ap+0l
+0x1.023c72d35bb852dp+3l, -0x1.314c52b661eeac9p+3l, -0x1.f928090e31a27c2p+0l
+0x1.9fc23cb8eca7372p-1l, 0x1.27fc00c8450b6ef8p+1l, -0x1.8795d232031e8ep+2l
+0x1.82e31b407d51e2bp+2l, -0x1.4f095294f470ee4p+1l, 0x1.a9d2cc451be4585p+2l
+-0x1.962c2225353eaffep+2l, 0x1.e91c08bed0e1e088p+2l, -0x1.74cd628e5e83bfap-1l
+-0x1.5267ed6ac3dbb14cp+2l, -0x1.24e043d0562b056cp+3l, -0x1.8f8c06362b01a0a8p+2l
+0x1.32b5519854ac80fp+3l, 0x1.c07ac8f7dff9d21p+2l, 0x1.02544fd30c8c38f8p+3l
+0x1.50d41caff18f241p+2l, -0x1.94c9ba70ccceef4p+2l, 0x1.2a1ca08a79990b3p+2l
+0x1.fc96c5c5b6373b3p+1l, -0x1.13ffe7fcc8c749e4p+3l, 0x1.3a84293e1979e9d4p+3l
+-0x1.3cca8f7fe79a9bc2p+3l, -0x1.19a44f8c93a38936p+2l, -0x1.2109897de66d7118p+3l
+0x1.9e92e18c402a95cp-1l, -0x1.db9c7a330cf9e3bcp+1l, -0x1.9d0336c76b3b56f4p+2l
+0x1.99eeedbe84f2ad9p+2l, 0x1.c4941988eeecac8p+0l, 0x1.ca39f083f42ba4p-4l
+-0x1.2c2b39f500b9d268p+2l, -0x1.00221bbe3d335518p+1l, -0x1.05ef3b0782b8b9dcp+3l
+0x1.c6f19abe28cd77cp+0l, -0x1.10a9b72086871fdp+0l, -0x1.54ce5b08966339dcp+2l
+0x1.e3c625b4e6b6845p+2l, 0x1.5546e49f00159718p+2l, 0x1.9e2fd930fb1863bp+1l
+-0x1.ce1fae64750a93fp+2l, 0x1.81d7e84ba83ab7e8p+2l, 0x1.12b883f90d8bb4bp+1l
+0x1.ee728825bedf242p+1l, -0x1.6e3b0153a94d426p-1l, 0x1.85fb39015b10c64p+1l
+-0x1.571fe9d095410c94p+2l, -0x1.afdb3c4595273328p+1l, -0x1.cacfec88c99ac65p+1l
+0x1.0f56343f92851b28p+3l, -0x1.5a5fa37e1f435994p+1l, 0x1.1d232411c4151c78p+1l
+0x1.06fe7a2ae2110568p+1l, -0x1.98c97efc4b7b4ccp-1l, 0x1.58220ab7cac3aeep+0l
+-0x1.653ec9417ffc9c0ap+2l, -0x1.19ba4932c674f838p+3l, -0x1.1481a9b41bd419fcp+2l
+-0x1.97f9039199cd92acp+2l, 0x1.8981decf829f6f1p+2l, -0x1.0fd8acdb72b0b8dap+3l
+-0x1.21e5f7d01638c968p+2l, -0x1.597d3aad7a06327ep+2l, -0x1.62cd1e01b6cfe9ep+0l
+0x1.23f1425c7e1a264p+2l, -0x1.19105695cb634768p+3l, 0x1.4262dbdb20b1f1ep+0l
+0x1.0abb62909da605b8p+3l, -0x1.00e5ba66162f0fcp+0l, -0x1.02ccdf8552bd4d24p+3l
+0x1.aa3c00e5a059088p-1l, 0x1.3b7da713596fd3cp+3l, 0x1.5993547d7a7ad68p-2l
+0x1.59bd972975dc572p+1l, 0x1.7d9e37581d90f67p+2l, -0x1.7eb4a82c7c7b9dc8p+1l
+0x1.adac57c6d7fbdbep+2l, -0x1.a090c86d1b37e86cp+2l, -0x1.71929b143ee78c94p+2l
+0x1.01ccf4f647080dp-1l, 0x1.4b4e27a6ee3e52p+0l, 0x1.4038f695c10ecd2p-1l
+-0x1.8f780cfe32b82364p+2l, -0x1.8cdbffb8d8479788p+1l, -0x1.b53ef7e3b5cd6c08p+2l
+-0x1.7b28e870f55ea274p+1l, 0x1.dbbc84d07cb42338p+2l, 0x1.30512e67123fe81p+2l
+0x1.85a2f364a752a6fp+2l, -0x1.0b73b48a44edba2ep+3l, 0x1.1296fe3de99fcf5p+1l
+-0x1.c230eb4af8542ep-5l, -0x1.2d2cc7152871f0ap+1l, -0x1.722317ae59aa6fd8p+1l
+0x1.54bc873a7aaa9098p+2l, -0x1.654a948101c4afb4p+2l, -0x1.8b34eccd3d9a552ap+2l
+-0x1.a9f3ca984d00896cp+2l, -0x1.b019c3bdb535b48p-2l, -0x1.74486267ea378cap+2l
+0x1.55f7b6cffcf76658p+2l, 0x1.d9994ce7c2a3729p+2l, -0x1.a9261b07347a4cd4p+2l
+0x1.7a98dca8b8c0bap+0l, 0x1.49ebf269b56caa7cp+2l, 0x1.59070f2270cbe02cp+2l
+-0x1.d89578e2a5dedb78p+1l, -0x1.179d479193882fdp+0l, 0x1.21b671a4c82eb12p+3l
+-0x1.680f698b49e780aep+2l, 0x1.3fbbe2f07c441ccp-1l, -0x1.49b8904163c6e068p+1l
+-0x1.71d2bc41da7238cp-1l, 0x1.c43a446b26752268p+2l, -0x1.d11cf788a508c4a4p+2l
+-0x1.3f5df59fc51e1272p+3l, -0x1.15745a948f637e68p+3l, -0x1.f3cc1ba290ee25dcp+2l
+0x1.3c2738bf331b41p+3l, -0x1.07552f959316797p+3l, -0x1.13328a65d15276e6p+3l
+0x1.02b6a3ccd189b23cp+3l, 0x1.09d9b28b184f9504p+2l, -0x1.eb4868dd07b5cbecp+2l
+0x1.07563540c4eec57p+3l, 0x1.d7b3ec688065ed58p+2l, 0x1.2560267552df629p+3l
+0x1.8734a4e336004848p+1l, 0x1.f6734a1aca6c0668p+2l, -0x1.ab34761dbcfc31ep+2l
+-0x1.799aa99393c509ecp+2l, -0x1.a18bb50fd23fe4b6p+2l, 0x1.12d2a89a6c4b02dp+1l
+-0x1.159e3d766d7bf97p+3l, 0x1.eced3a9a5244b54p-2l, 0x1.9b2ea383879ba48p-1l
+-0x1.0dccec08b2d6e8ep+3l, -0x1.986b9654e4685a9p+2l, 0x1.e2e83c9c00ee3748p+1l
+-0x1.e70bfbd48fde39bp+2l, -0x1.a4eb7530316bdabap+2l, -0x1.086286e4df56342p+3l
+0x1.770eebc505c8813cp+2l, 0x1.8746ee92d877e3p+0l, 0x1.b0d95f9aba30ebe8p+2l
+0x1.6263b642f31c4818p+1l, 0x1.d93c04893e3af4ep+2l, -0x1.454ec35c79ed0a08p+2l
+-0x1.774687ad5b865dfp+0l, 0x1.24ae1bd747b23698p+2l, -0x1.5b4312ec0b34113p+2l
+0x1.b61100115966e948p+2l, 0x1.8cfdf8616c4679bp+1l, -0x1.f9a41b6a481292a8p+2l
+0x1.39528c1c9be041cp+1l, -0x1.732026aa328c3dc6p+2l, -0x1.0d4cd6a3085ea354p+3l
+0x1.bf137e7ecf5896bp+2l, -0x1.8ea46d127fc7ef24p+1l, 0x1.7857d411bb71a708p+2l
+-0x1.9b683cc322b1d4fcp+1l, -0x1.24edd65c89f99144p+2l, 0x1.232af896d26aa348p+3l
+-0x1.31668270094b855p+0l, -0x1.076b28c92c5b2fe8p+1l, -0x1.158a8081ece2aa78p+2l
+0x1.244142ac66a62498p+3l, -0x1.0f1b0c59c89e7d4p+0l, 0x1.26b11ec0b17f6a24p+3l
+-0x1.3fc86d7091c8c29ep+3l, -0x1.e45f683cde584624p+2l, 0x1.1c1b08d8e84170bp+0l
+-0x1.b231920409da8f02p+2l, -0x1.94a631dfbc79114p+1l, 0x1.46147aa7184e79ap+0l
+0x1.24656a770080bd8cp+3l, -0x1.818855d248fefefp+2l, 0x1.62e7fd78aa2b9d38p+2l
+0x1.2c3914d1c4360888p+1l, -0x1.1911181620163c64p+3l, 0x1.28a078fade8854bcp+2l
+0x1.06083859a67c1458p+3l, -0x1.19d99055a631ada4p+3l, -0x1.bae94cb971dd7bcp+1l
+0x1.380494998157eadp+1l, 0x1.bdd8e2142aa57d1p+2l, -0x1.82ff6c146061369p+0l
+0x1.8dca637ac0be628p-3l, 0x1.c8f5068b06bbf1cp+2l, 0x1.81c4ea9b1daedf3p+2l
+0x1.0b9592b2077bf08p+3l, -0x1.c0452a8be1865a8p+2l, 0x1.5a09239700285ep-5l
+-0x1.3ed13899bc5e781p+3l, -0x1.0aa02bf289640aa4p+3l, -0x1.925ff1a5df174368p+1l
+-0x1.488c4233dd79d9ap+0l, 0x1.436b2a97ba8a46ep+2l, 0x1.2866f052d1ffd99p+0l
+0x1.187babf1c4372624p+2l, 0x1.8dbe112710768aap+0l, 0x1.621be34d09f2e7d8p+1l
+-0x1.991057a8ff22a88p+1l, -0x1.8d7b9ebc78c7346cp+2l, -0x1.1d5904316329ad6ep+2l
+0x1.ef40c3e7ef8b0408p+2l, 0x1.37e5bfb010f6d15p+3l, 0x1.ec4c66b009eac23p+0l
+0x1.68f7ffcd89f38c84p+2l, -0x1.32e823cb2771c9a8p+1l, 0x1.0ba5e9f2633fc9ap+1l
+-0x1.21948378b3c9ca84p+3l, 0x1.2bd400eec184235p+0l, -0x1.60dc6d8755a2e63p+0l
+0x1.a4b11a255929f09p+2l, -0x1.491088921fdded4p-2l, 0x1.64ce4b5fad99fbp+1l
+0x1.2577f004302717d8p+1l, 0x1.8123c93d89d639cp-1l, -0x1.b9e8f79886eeadcp-2l
+0x1.ce92f568b48b585p+2l, 0x1.1f6ac0d19f301038p+2l, -0x1.249cbf17aedd827cp+2l
+0x1.e3aa8317c9e75b98p+1l, 0x1.1329a8dec102d258p+3l, -0x1.22144cc4c72fbc48p+1l
+0x1.43c04e719f035d38p+2l, -0x1.4600f2c008cf96p+1l, -0x1.8d829bf93f4d9574p+2l
+-0x1.d4c1a2da0c717bcp+2l, 0x1.6b550783abd28cfcp+2l, -0x1.2775b79645fc3a1ap+3l
+0x1.e308fdfc9a12d868p+1l, 0x1.4b030c02c1b3776p-1l, -0x1.b06e42044301bd0cp+2l
+-0x1.3b488c5dff39d9d8p+3l, -0x1.2462f4c56f0415dap+3l, 0x1.3e404beab8cf13b4p+3l
+-0x1.de5a08f2dfdca16cp+2l, -0x1.d4b1bc19c343b24p-1l, 0x1.7006633ccabb22p-4l
+0x1.955df96f1696fd4p+2l, -0x1.72f0d92b529494d4p+2l, 0x1.32a65e3a5275b258p+2l
+-0x1.e774fbcf36f019cp+1l, -0x1.ade1df5a86431ef2p+2l, 0x1.0955a04849bb76dp+2l
+0x1.4afaa0beb5295468p+1l, -0x1.30f3b91ae99b9f94p+3l, 0x1.b92499e0e3ece688p+2l
+-0x1.e4cec832f274aef4p+2l, -0x1.f72365076ee7611p+1l, 0x1.2981067811022b98p+3l
+-0x1.fa3c9eda5a8adfcp+0l, 0x1.8472b15ec422bdcp+0l, -0x1.949bb1821b2b71d8p+1l
+0x1.e7559f9a4c70278p-1l, 0x1.a698bdf9467fd64p+1l, -0x1.1e31565f3693e73cp+3l
+-0x1.177751ee19d36358p+1l, -0x1.9ffc1e71a6b9b188p+2l, 0x1.287e028a691b24f8p+1l
+-0x1.1bd7ade5bc1fdcd8p+1l, 0x1.0a4bf7308dc7c4e8p+3l, -0x1.80e0e9ce05768e4ep+2l
+-0x1.279ce30a8e307bp+3l, 0x1.41209ca4cb955a8p+1l, -0x1.7ae49e0f12ee7f08p+2l
+-0x1.6fc62eb7bb96044p+2l, -0x1.f56805ee06e265fep+2l, -0x1.61ad5cd02160517cp+2l
+0x1.02d9b716e4f43564p+3l, -0x1.7934f5f9aff6a764p+2l, 0x1.a020ddb787abf06p+0l
+0x1.1b435b09bd242b1p+2l, -0x1.1dcc2ab9fa891cfep+2l, -0x1.967bffe609b71ec2p+2l
+-0x1.55607b9405321fdcp+2l, -0x1.ef706390181213bp+1l, -0x1.d1f14e20b36f50aep+2l
+0x1.76183750a2126c58p+2l, -0x1.5b490f13346bddp+2l, -0x1.0e2e2670cd504346p+3l
+-0x1.19b96ff1141e195cp+2l, 0x1.7f636ddbeb4f34bp+2l, -0x1.3dff84fd82a20b7ap+3l
+-0x1.ec516722ae81ed4p+2l, 0x1.4584dcc6b6b5d56p+1l, -0x1.e3fab8b119997c78p+2l
+0x1.c5389bd011aed038p+2l, -0x1.29e1abba46cb4d0ep+3l, 0x1.e38b25d30606638p-1l
+-0x1.3be73ecfa5e3f5cp+3l, -0x1.2322201f3e6a6bbp+0l, -0x1.c415090c3bcd0f0cp+1l
+0x1.6fa09d4d40f6fc7p+2l, 0x1.db3553f32514b79p+2l, -0x1.bbcce3f7333eff08p+1l
+-0x1.02c2f188f7e86dc6p+3l, 0x1.353714400870301p+3l, 0x1.961e1dd02c9e9be8p+2l
+-0x1.d82b6fc8bcd8a5dcp+1l, 0x1.b0a743eb4de607fp+2l, 0x1.54a3e92a982e6a08p+2l
+-0x1.6afb8f3248dbc68cp+2l, 0x1.5cfa3e594d20326cp+2l, 0x1.1e5d4a8d6ac3e0dcp+3l
+0x1.8f645a84644898p-6l, -0x1.c0dfd27b6d6f769p+2l, 0x1.b0679870cf0ec64p+2l
+0x1.6fb5271eb9dbbbfp+1l, 0x1.662c1d5c84a9ccp+2l, -0x1.7f05aed8cf97877cp+1l
+0x1.97422390a537adbp+2l, 0x1.74169e847c4a34f8p+2l, 0x1.311cee660e36125p+2l
+-0x1.b73905caa6a96164p+1l, 0x1.f90bd737a5358d9p+0l, -0x1.b78f3cf583f5d6dp+0l
+-0x1.31a6eb64982a61d8p+1l, -0x1.3053b198481c728cp+2l, 0x1.a00f21bf8da66e9p+0l
+-0x1.5226b56bd75e6674p+2l, 0x1.3d73418963266cfp+1l, 0x1.e84bbb10e4ed5c18p+1l
+0x1.6b0ab43794a25f28p+1l, -0x1.db0aff41d4f9e39p+1l, -0x1.fe8d1594340654e8p+2l
+0x1.4d65804349cffefp+2l, -0x1.a66bc8212be149d4p+2l, 0x1.ce25b5d56c7c83cp+2l
+-0x1.44bd790627b0fa4p-1l, -0x1.ed9b1bc606d642ecp+2l, 0x1.4108d44e0a7fc418p+2l
+0x1.05d1a6bfdd112cep+2l, 0x1.0c73e3b17200ce98p+2l, -0x1.2b2c57e75a9f8dd4p+3l
+0x1.b9512fc071c3a6bp+1l, 0x1.24eb5a72655148f8p+2l, 0x1.59cdd930a1a945d8p+2l
+0x1.0531c8219b4c2af8p+2l, -0x1.ab04b07ecac737bap+2l, 0x1.5203017ec30b04p+2l
+-0x1.10c24bae05f58ddcp+3l, 0x1.97095cab49e4f2cp+2l, -0x1.ab47c1a0d87a2a9p+1l
+-0x1.fbe86e64728ec08ap+2l, 0x1.9b76e5245a482fdp+1l, 0x1.1b05854879b742p-2l
+-0x1.f284888ee3e26dbp+0l, -0x1.2ad5b59288dbf05cp+3l, 0x1.ce045ccff19aa72p+1l
+0x1.c8801eb61a78bbep+0l, 0x1.119b687e71a7d48p-1l, -0x1.8b1fd84c4211e484p+2l
+-0x1.9faf80cf1b285adp+1l, 0x1.6806ff74d3aaff6p+2l, 0x1.c89224f19707588p+1l
+-0x1.15a039e68a11e8aep+2l, 0x1.cbe8d0948d51e04p-1l, -0x1.3f32302862b5913p+0l
+-0x1.c43f977b15d931dcp+2l, 0x1.ed06aee881541a8p-3l, -0x1.8681a877056b2366p+2l
+0x1.add5112fb738085p+2l, -0x1.7454b27946606ddcp+1l, 0x1.25208a890b5cee08p+2l
+-0x1.12a5620c6717986p-1l, 0x1.fd4d50b798484ep+0l, -0x1.911b9c8b1ee1a78cp+2l
+-0x1.020759c8ca9aeb62p+3l, -0x1.65a69332a50241p-3l, 0x1.23e20f68536cc2cp-1l
+-0x1.0992f0b2b2fe2d1p+3l, -0x1.a958f9db86f7b9a8p+1l, -0x1.6acfc12a8520bb6p-1l
+0x1.64f1fda7480217ep+0l, -0x1.1c8a3e5fb27e7d4p+1l, -0x1.140de25b12d6bc1p+3l
+0x1.4b5ef2f3bb829858p+2l, -0x1.838335bb3693b83p+2l, -0x1.886acac6ce951bc8p+2l
+0x1.af85ab0639a72698p+2l, 0x1.09fe9c57f4b63f2p+3l, -0x1.090b2434f180b78p+3l
+0x1.024d8c275ac0af3cp+3l, -0x1.5fa408d8eed87e74p+2l, 0x1.ba4b6c04e7125d8p+2l
+-0x1.30b0c84953bc8b2p-1l, -0x1.b509ad9c7f662ebep+2l, 0x1.62473e9163d8186cp+2l
+-0x1.fc331dd9c95ed2ap-1l, -0x1.a7d7541f19583a7ep+2l, -0x1.56af805f969ab694p+2l
+0x1.8db106457ac0ec6p+1l, -0x1.53422c5453bd8f88p+2l, 0x1.3153b818e61ae65p+1l
+-0x1.e64694a0d5fa33c4p+2l, 0x1.04628ec5b66223cp+0l, -0x1.d0ef469d57bec088p+1l
+0x1.dfc1046fe1e439ap+2l, -0x1.3bc382435f21d2dp+1l, 0x1.2b706f04fc4e0ef4p+3l
+0x1.00f4ef071d2b124p+1l, 0x1.c0fce1daf36faaap-1l, 0x1.8735238d522e9f38p+1l
+0x1.ceb2794e9816d55p+2l, -0x1.af366b7b244435bp+1l, -0x1.dbcf6509c3d1ea2p+1l
+0x1.05606969d8a4b08p+2l, -0x1.a084d9283ccbfb4cp+1l, -0x1.6aabb1d58e52f54p-1l
+-0x1.20e3be920c115c54p+2l, 0x1.6b852f952238d6ep-1l, 0x1.671a08f350b41ad8p+2l
+0x1.401e9b7605e91f6p-1l, -0x1.6e1365e6d07ad8bp+1l, 0x1.3fe74c475158e90cp+2l
+0x1.9ccdc26681bca3p-3l, -0x1.87b1c770a1e3f2fp+0l, 0x1.330ef56b27450a4p-2l
+-0x1.df3e45b9f2a85abp+0l, 0x1.eaeb278a93a617p-1l, 0x1.fc4f2502fc7726cp-1l
+-0x1.1147b4704e9be1f6p+3l, 0x1.0e3c375fef46bb78p+2l, -0x1.48e1adcffbefe864p+1l
+-0x1.c8c15a03fc359458p+1l, -0x1.36c0d3cd5706b18p+2l, 0x1.cf7eff38e317323p+1l
+0x1.863aa5e227ea9728p+1l, 0x1.d27e8415e7e5cbap+2l, 0x1.0df4c2e22b91b3d4p+3l
+-0x1.a5836585d0671928p+1l, 0x1.7f18cf45d1e4b6f8p+2l, 0x1.085e7accef5302cp-2l
+0x1.fbb47e78d71920cp+0l, -0x1.3ca67a17a205818p+2l, -0x1.2ee594674e2cac18p+3l
+0x1.aea035392038372p+0l, -0x1.ecaf8980051935c4p+2l, 0x1.335ea0cf8720245p+0l
+0x1.33d5128b671d8284p+2l, 0x1.792450fba1e37778p+2l, 0x1.348103ac0710bep-2l
+-0x1.d5df26418c410bep+2l, -0x1.4bad5ec06088026p-1l, -0x1.02744e2bc3c00198p+1l
+0x1.ee170274511a964p+1l, -0x1.120b6754d8f8db4ep+3l, -0x1.6ee45b8dd3aad37p+2l
+0x1.a3a3efbeded0c9fp+2l, -0x1.652e32652daaa7dcp+2l, 0x1.c109b0d9191677p+2l
+-0x1.bc149c05d77f948p-1l, 0x1.0c4aa6243f9d94p-2l, -0x1.6bcd3d4c10862666p+2l
+-0x1.16bd6d1ef870e76ap+3l, -0x1.2d853aa6e92e2b58p+3l, 0x1.3e5d8415b8d0ea2cp+2l
+0x1.703ce2cde997341p+0l, -0x1.0e48484fc9340d6p+2l, -0x1.6d91cf350e9e4p-10l
+-0x1.1cc65a20fc4ce8ep+3l, 0x1.cdd3cd1e24b4d258p+2l, -0x1.0d3aee7fd553f3p+3l
+-0x1.b556ea634465008cp+2l, 0x1.1cbfc32a2bef2cd8p+3l, -0x1.868a74111fb6de8p+2l
+-0x1.2bf3fb8cc3c9a78p+0l, -0x1.85c5194a2cde98fcp+2l, -0x1.52fd23e5c1a00af2p+2l
+0x1.657ecb210ed6c91p+1l, 0x1.4ab6cf8e65ce727p+1l, -0x1.645de09c4c2e1f6cp+2l
+0x1.fa3cc6a7f65cd2p-1l, -0x1.b4f82f1802590cep-1l, -0x1.184803cc1cee5ca8p+1l
+0x1.ac21afac94f2d85p+1l, 0x1.3bef2f851fd864ap+1l, 0x1.172e26d49669c0fcp+3l
+0x1.374f2c2cc8699a9p+1l, 0x1.188866c7d8ff576p+3l, -0x1.01d5b5191cdfcbbcp+3l
+-0x1.c406c210ff92278ep+2l, 0x1.56dbe48b63b37cdcp+2l, 0x1.3f8415674c413dap-1l
+0x1.232e5c91526e8ff8p+3l, -0x1.daf64f97e68737ap+0l, -0x1.9607566bd489d714p+2l
+-0x1.3567d139ef5f49p-4l, 0x1.235f8376e71bb71p+1l, 0x1.16991366a33763c8p+3l
+0x1.2aabafa2440af93p+2l, 0x1.130bb4af342f7bd8p+3l, -0x1.3f0554d9e9dfe938p+2l
+0x1.f4de1e2f3704788p+2l, 0x1.4beee423e609f77p+2l, -0x1.bbe724f7be8a015p+0l
+-0x1.23fac3ccdbd5961cp+2l, -0x1.cb2d33d3f0f46228p+1l, 0x1.38d39fdf90068b8p+0l
+0x1.07874582fed30858p+3l, -0x1.5fcaee360d0dbbfcp+1l, 0x1.61704d9edf060c7cp+2l
+0x1.de3fe2216f8e06p-4l, -0x1.7b1b9e3c3fb106ap+2l, 0x1.0fb62cf6fdeaaffp+3l
+-0x1.a0e5803efb4b8f18p+1l, -0x1.3b405ab29d6e12e4p+1l, 0x1.39fc88248cf4145p+0l
+-0x1.9f26e4fe002f7894p+2l, -0x1.bd3e589313f10ep-4l, 0x1.78cf06829906a1ap+0l
+-0x1.fc2374b434ae595p+0l, 0x1.0cad4c357892de8p-2l, 0x1.06daeec487858448p+3l
+-0x1.08020a97604a176p+0l, 0x1.7dcd61b8c0cd3af8p+2l, -0x1.706f4a6731de03p+0l
+0x1.80b5ccb27919c9dp+1l, 0x1.1146c09230da96p-5l, -0x1.02cc32e609653d66p+2l
+-0x1.0e4b6cff2c1a3cacp+2l, -0x1.3756f492586fb7a8p+3l, 0x1.b93c6231f322881p+1l
+-0x1.17b061e5a382630cp+1l, 0x1.96513d0b3965941p+1l, -0x1.cce0cd89bb704e74p+2l
+0x1.9371551062a48e2p+1l, -0x1.73ab2973d1668adp+1l, -0x1.c658f6e1cc9f805p+0l
+-0x1.24a0f17742cbcb68p+1l, 0x1.a812fcd8444469e8p+2l, -0x1.bc6fe6836b1edb08p+2l
+-0x1.21a85bc505822598p+2l, -0x1.ac59cf066c695aep+1l, -0x1.222b15c38ba5ebdep+2l
+0x1.e11dabbf057450dp+2l, -0x1.5d776d01d60c9e3p+1l, -0x1.07fef253912d8e94p+3l
+-0x1.3cfed5bf181b819ep+3l, -0x1.5dbadd01cc4b9678p+2l, -0x1.94cd307e71ffd42p+0l
+0x1.c5616d15d5bb684p+0l, -0x1.3b34663bd018412p-1l, 0x1.0e0c65bb0b1ebddp+1l
+0x1.4b9d3f1d0f6e4p-3l, 0x1.2b518dc264094d8cp+3l, -0x1.3ee5688f13faea34p+3l
+-0x1.705d405d599afa9ap+2l, 0x1.0055af34e1414c3cp+3l, 0x1.06af8403b4e8f2b4p+3l
+-0x1.978f94368e33a85cp+2l, 0x1.c147c95de4f77588p+1l, -0x1.fc30f2642b79be08p+2l
+0x1.264392f9cfe9a72p-1l, 0x1.586406bbd3ee50cp+0l, 0x1.42c74aea0d9ebe2cp+2l
+0x1.b7f2c0bdbf49f36p-1l, -0x1.e2ac2567cbb28c48p+1l, -0x1.140a34b98fc51c18p+1l
+0x1.2a4f0572a49905bp+2l, 0x1.31e6199ab1684f3cp+2l, 0x1.35afa8895b05fd6p+3l
+-0x1.27d2f4168819354cp+2l, 0x1.73f0cca96b38ac08p+1l, 0x1.8af6d8f509097a3p+0l
+-0x1.98d96e9ba2e949d4p+2l, 0x1.3cae358bef8bfbp-4l, 0x1.9b3c807987702f9p+2l
+0x1.18452bfc375d8868p+1l, 0x1.c2b7e473953f0938p+2l, -0x1.a160c6f88d66b548p+1l
+0x1.96e1a580ce5acf78p+2l, -0x1.60ccfcb42a92999cp+2l, 0x1.4a30db31ca1c4p-7l
+-0x1.2c7a23364427dda8p+3l, 0x1.10bde3db43c42eb8p+3l, -0x1.29a328765e9adcp-2l
+0x1.0f433a705d5303c8p+3l, -0x1.87ef252df9fa59ecp+2l, -0x1.df702844df97586cp+2l
+0x1.3dd6e8583ebc9e48p+2l, 0x1.5f111cc6ba81a564p+2l, 0x1.1031457f4a2bfe3p+1l
+-0x1.a0cbb7dff107948p-2l, -0x1.626baee60c84a524p+1l, 0x1.1a79d7b22086997p+1l
+-0x1.deba54a2de31331cp+1l, -0x1.27b31cd9ddf718dp+2l, -0x1.ce13596be236b18p-2l
+0x1.ea6f9017b18bb48p+1l, -0x1.39b491506a117b3cp+2l, -0x1.5a68cc709e19ddb4p+1l
+0x1.44ba64effe6f318p-1l, 0x1.54dd0bc2b262b0d8p+2l, 0x1.df1793b1a696693p+1l
+0x1.306bf14010f1e5e4p+3l, -0x1.897319e50c8e2adp+0l, -0x1.0333003f0bbcdda4p+3l
+-0x1.77ad652c1e7af18cp+2l, -0x1.19f8fc227dbbdb74p+3l, 0x1.d800ea2c8ecb18ep-1l
+-0x1.fca2378f98449f8p+2l, 0x1.cb0e64c6b949b3p+0l, 0x1.1b9008e7dda530a8p+3l
+0x1.93e174cf7beab4dp+1l, -0x1.850b69f61519b7ecp+2l, 0x1.470813a3325b4d6p+1l
+-0x1.85d359c1432e2b48p+1l, -0x1.1d0c9c5a55b44b46p+3l, 0x1.cc4f397f7025e3p+0l
+0x1.d1af715b09896ep-1l, -0x1.25fe34bea84f4e58p+3l, -0x1.1d4a676770de988cp+3l
+-0x1.32c5c732cf65522cp+2l, 0x1.d64f5f3d180eb67p+2l, -0x1.4f7b7ca0949e1ec4p+2l
+-0x1.205cb93b45221782p+2l, 0x1.543642368589655p+1l, -0x1.2219a5b3832bbffcp+2l
+0x1.57237699ef626998p+1l, -0x1.33aadcce8021b9a4p+3l, 0x1.0f3150df8b3271ap-1l
+-0x1.eb9e8fd4bbff34fcp+2l, -0x1.144bb5fc0289e42cp+1l, -0x1.a5113f7dd4905044p+1l
+-0x1.d5921345044e0f7p+1l, -0x1.f40e20c7db32cffp+2l, 0x1.b943dc8f8fee368p+0l
+0x1.856cfc710d6cf9fp+2l, 0x1.50d1736a3fa09dp-4l, -0x1.0f7e3e5d0cc7f9ep+3l
+-0x1.fcd59ba328e9b4fcp+2l, -0x1.5fc0bb3816b9d734p+2l, 0x1.1fc789b52cb335fp+3l
+-0x1.ebb5635b7341144p-1l, 0x1.d42a4a02eec99cp-2l, 0x1.2035adf32786fp+0l
+-0x1.a0cffca66138c2p-3l, -0x1.0293dc0632d8c71p+3l, 0x1.f2f8eb3e13e3ec58p+1l
+-0x1.0b89e881c0f4eep+0l, 0x1.6b4f9fb6377cfad8p+1l, 0x1.878ca14bba5f3cp+2l
+0x1.31422285e62b619p+1l, -0x1.7af6ddfd280c068p+2l, 0x1.aaa472ee1b9e33p+1l
+-0x1.5b698bce4169dcap-1l, 0x1.a3152c63ba206bdp+2l, 0x1.8c74ce51547a53fp+2l
+0x1.75ac22632d481b3p+2l, -0x1.72943a250b344992p+2l, 0x1.2cb4a67c1e4de318p+2l
+0x1.a3b4a47f255df138p+1l, 0x1.317c0da98b4bc5fcp+3l, -0x1.1b47aaed3d275d1cp+3l
+-0x1.144c38afc8f3ccecp+2l, -0x1.3bc294645586837p+0l, -0x1.e313c92cbce7c5p-3l
+-0x1.070e8b4ee0a192d4p+3l, 0x1.1c9763bfc9a2a214p+3l, 0x1.076ceacf70a4db78p+3l
+0x1.805d616709771b6p+1l, -0x1.43c762a43e2ceafp+0l, -0x1.bb6986b1475331acp+2l
+0x1.caff5a21f9c0fp-6l, -0x1.81bb67138976fe6cp+2l, -0x1.08cc5760478a352ap+3l
+-0x1.8bda77ff92ffcfp-1l, 0x1.52850d23f7ad4e4p+2l, 0x1.7883d2aeeb9bb8dp+2l
+-0x1.07b8a680d12292dcp+2l, -0x1.c82f9bd014076de4p+1l, 0x1.f745af7090bf7d7p+2l
+-0x1.e0be34aca36ea4cp+0l, -0x1.697b61a1e9f60f8cp+2l, -0x1.0204df315ca0c1p-3l
+-0x1.aeb12a5426d3445ap+2l, 0x1.0039c0bc2ffa6824p+2l, 0x1.e301d847e0a4ee9p+2l
+-0x1.72e9d87320b929p-3l, -0x1.e80d74feeb8f62dp+0l, -0x1.19e3142d516fcebp+3l
+-0x1.bd28dd0e9eb0486p+1l, 0x1.d7fdd5ac728bcb58p+1l, -0x1.6e08d83bfdbc3df4p+1l
+0x1.06bbbe7311155cap+3l, 0x1.fd0c26442f4f4d8p+2l, -0x1.f01198b5601a1bfp+2l
+0x1.23c1d7d3c23f3834p+3l, -0x1.0d6b49fc99478e3p+2l, -0x1.6549c8ad26d6df38p+2l
+-0x1.bd06b71ba6b0985ap+2l, 0x1.ac48142ffc6a4b58p+2l, -0x1.0c3a531e7fc431ap+3l
+0x1.769ca2fbf3d77aep-1l, 0x1.132f1bfcc91d81ap+3l, -0x1.103fe76a4b23c69cp+2l
+0x1.391d44a529c0ebdcp+3l, 0x1.b3509b6e05a09678p+2l, 0x1.ed7783172dc4202p+2l
+-0x1.1c5d4577d584302p+1l, -0x1.cfc293d443d576bp+0l, -0x1.08d24cc7e1f0d092p+3l
+-0x1.2b800d0f34e03ca4p+1l, -0x1.0715a25d5a6d7698p+3l, -0x1.290ecade460219c4p+3l
+-0x1.d9d626245fa36ae8p+1l, -0x1.04a2a700e2d1356ap+3l, -0x1.1e726a412a64e82cp+2l
+-0x1.691cb69a4b0ddd8p-1l, 0x1.22187472d0f8bf54p+2l, 0x1.2395e42912219d0cp+3l
+0x1.3055c97fa774c264p+2l, -0x1.fd7df223aafb2468p+1l, -0x1.7561bd4141c08bp-3l
+-0x1.802e7eccd12ac8f4p+1l, 0x1.1d9570f6c794008p+1l, -0x1.bc0fd46df5212f6p+2l
+-0x1.f7502332abb263f4p+2l, -0x1.998702ca55c2d8d8p+2l, -0x1.39b259c21ff1b2cp-2l
+0x1.c1d9ac0a7761f6e8p+1l, -0x1.e15d7b4e69294dcp+0l, 0x1.6b4b492058e18018p+1l
+-0x1.06c8810af5f2764p-1l, 0x1.3b0b9ce3e73ac0a8p+3l, -0x1.3f9680e70f04d78ap+2l
+-0x1.858a7a4f1c5119p-2l, -0x1.5a947bb4954c6cap+1l, -0x1.f715ccddaec26b24p+1l
+-0x1.ae0445b64bac132cp+2l, 0x1.0a48ee936160fdf4p+3l, -0x1.a0c9de7753e2a534p+2l
+-0x1.6d31e005a864526cp+2l, 0x1.fd7d595ad7771e8p-2l, 0x1.38cf1546f55bee48p+3l
+0x1.037863bddcb6539p+3l, 0x1.fdc2cbb9085e2fcp+1l, 0x1.eb4fb1608913d36p+2l
+-0x1.1675c711a907672p-1l, 0x1.a1f8e986f8381378p+2l, 0x1.463c0fa1b634b938p+1l
+-0x1.236b52d8cc5bb3p+2l, 0x1.fed2d7fcbdc66778p+2l, 0x1.ad642afd546bcddp+1l
+-0x1.95c979cd6e4bd36p+2l, -0x1.c856e065c2c4231p+1l, 0x1.d509592de749afp-2l
+-0x1.2362d85cfcd4478cp+3l, 0x1.03fc2baf32ddb228p+3l, -0x1.5a7ea06e983e47ap+0l
+-0x1.3e15aee2dccd32a8p+3l, 0x1.10f918acb72d34ep+2l, -0x1.c6ec21e0f114fbbp+1l
+0x1.68040d78dddb7cap+1l, -0x1.5a2f72276c57e24p-1l, -0x1.23d14c77b92b2f08p+3l
+-0x1.f550ee0dcfacd9d4p+2l, 0x1.84e05208934db23p+1l, 0x1.afcb71484bbb9288p+1l
+0x1.75c3756be3f78c88p+2l, 0x1.439497bcd9a88abp+1l, -0x1.b4df11e449f84b7cp+2l
+0x1.d7123a28ec634e2p-1l, -0x1.2654ce41f484041p+2l, 0x1.43ed5648933cb51cp+2l
+0x1.bbd98b119cd782e8p+2l, -0x1.1d5c54b705b4aafp+3l, 0x1.e9f3961e95ff2818p+1l
+0x1.ee25a1ce32c25708p+2l, -0x1.cf1788ea282b86p-3l, -0x1.1dd4fdd932de91b4p+2l
+0x1.a879eebae8e748f8p+1l, -0x1.155a27ee0f82555cp+2l, -0x1.38d6ed7b37ff5b0ap+3l
+0x1.1b987cfb8199c568p+3l, -0x1.3363afb5eebc9a38p+3l, 0x1.c5b01359408ecep-1l
+0x1.a27fbd96b050b2ap+2l, -0x1.804c8128041e8088p+1l, -0x1.5d64d25a8a0ee5f8p+1l
+0x1.67b4aac781c02d3cp+2l, -0x1.3495f8c8ad7b676p+3l, -0x1.f8b80c12ece607f4p+1l
+0x1.05aec2a958241ca4p+2l, 0x1.c55dbb753118d6fp+1l, -0x1.cf710f1abd84944p+1l
+-0x1.69da780f2521d218p+1l, -0x1.6569ec79b8dd053cp+2l, 0x1.ae2a3edee4cd5978p+1l
+-0x1.3cafa8a31fb602bp+3l, -0x1.d1b0b7d638877eap-1l, 0x1.99f4dd0ec4985808p+2l
+-0x1.2fd33da45b9c5ba4p+3l, -0x1.25c656375bdc19ap-1l, -0x1.843c608e5747eecp-1l
+-0x1.07e53a66bf590e14p+2l, -0x1.0e28fda095304af4p+3l, -0x1.16120b84128c25e8p+3l
+-0x1.92b3d92b58fa2bb8p+2l, -0x1.38dfc62564aa334ap+3l, 0x1.8ed55d262f4be1ap+2l
+-0x1.cbf87275067fe744p+2l, -0x1.0f0ef2970d89b13cp+2l, -0x1.e070022c5025c34p+2l
+0x1.656edfa1b7c278bp+1l, -0x1.f36d3fad1ee0b588p+2l, -0x1.715c3df3826be28p+2l
+-0x1.b81806cf987e3dep+2l, 0x1.6782c74753364cd4p+2l, 0x1.036a0f501d6b91fp+2l
+-0x1.585e71022bf343cp+1l, -0x1.7c5494433d310ea8p+2l, 0x1.1034380950b80e9p+0l
+-0x1.a41db0028ff46ef8p+1l, -0x1.2d8fcd4a22a77efcp+3l, -0x1.8e40eccda091e36p+2l
+0x1.113a04318e478c68p+2l, 0x1.c46fc8c3dda5b488p+1l, 0x1.0822b7c6b097a46p+3l
+0x1.48a09a59ba73308p+0l, -0x1.247686fe869afbcp-1l, 0x1.0fe26b44d4759f74p+3l
+0x1.367da1bbfa6e00e8p+1l, -0x1.9d9150243ba3ad74p+1l, -0x1.10fc017df3986804p+3l
+-0x1.a11f956013ae53ap+0l, 0x1.b96d8a20ed97b69p+2l, -0x1.011a94a9acc7ce04p+3l
+0x1.74a6f0d4c1e8c668p+1l, 0x1.1045e79f79bdc14p+1l, 0x1.bc0f9e70cbdb37f8p+2l
+-0x1.d8a541c5b6747698p+1l, -0x1.3dba3d61a2f41d52p+3l, -0x1.345d3bf71e3af4p-5l
+-0x1.00104677efcb929cp+2l, 0x1.8b4d6d45b954c24p+2l, 0x1.82686829232a9e1p+0l
+-0x1.e7bc7417dc78dadp+0l, -0x1.525a2b707f9e4a7p+0l, 0x1.6d5faa05100390d8p+2l
+0x1.042cc06bbecdf404p+2l, 0x1.9ff2630750804d6p+2l, 0x1.295591e7a922d14cp+3l
+0x1.05908858842cb5f8p+2l, -0x1.381ab482c6e7c90cp+1l, 0x1.b686d42c6549abbp+2l
+-0x1.2eaa469a27ba1494p+3l, -0x1.48af2e8a63a48f7p+2l, -0x1.b2c43833f67f2afp+1l
+0x1.4ebe0bf4d6f7a57cp+2l, 0x1.58a1f1afb10d6498p+2l, 0x1.fa265ed2681e9838p+1l
+0x1.623c7b8c0e050a4p-1l, -0x1.56f8487d1e66e23cp+1l, 0x1.8ef1981dc7864678p+2l
+-0x1.87e363588d780ap-2l, -0x1.00450ca39dae89fp+1l, -0x1.31ba7afa8867bbfp+0l
+-0x1.a11a7b07008cb028p+2l, 0x1.945131c5d66c5b68p+2l, -0x1.364d9dc2c41ac0e4p+2l
+0x1.4c035a5e283c8b08p+2l, 0x1.eb8211bd094a88cp+1l, -0x1.5dd2a1d9e67870d4p+2l
+-0x1.0403c59625f091ecp+3l, 0x1.aad43d09cc237c3p+2l, 0x1.4fdbc53514105524p+2l
+-0x1.265291048ceaf92p-1l, -0x1.e95845bde3f0343cp+2l, -0x1.af37f3943f7f641cp+2l
+0x1.7e17956fff5563f8p+1l, -0x1.67691fd34f906c4p+2l, 0x1.14dd5ac8dd326d2p+3l
+-0x1.1ecff55c659ad996p+3l, -0x1.0db20440552cad74p+3l, 0x1.fcf1e1a5294b9bcp+2l
+0x1.1723b11136d64788p+3l, 0x1.29b9cee3f8d61c8cp+2l, 0x1.e42a685a0308935p+2l
+0x1.d27e5267919dfafp+1l, -0x1.bc3756665a02749cp+2l, 0x1.302a4732b59934b4p+3l
+-0x1.20c97e46acbf61ap+3l, 0x1.3dd93d1879e05288p+3l, -0x1.33b418eb6a16d046p+3l
+0x1.0c6c60104ef530ap+2l, 0x1.87a7e6ba88b19aep+0l, 0x1.22b1dc03a04ed338p+2l
+0x1.e0c2f50544af9d2p+1l, 0x1.b120912bd7c80e6p-1l, -0x1.05e81edce440689p+1l
+-0x1.381866dd5e1ad8cp+1l, -0x1.14e2187770de50a4p+3l, 0x1.1f43cc5ec310d0fp+3l
+-0x1.edbd36aa8af21116p+2l, -0x1.d7fcb816ffb14328p+1l, 0x1.6148b09796b7008cp+2l
+0x1.8984d7937be696b8p+2l, 0x1.0166c406a0d08bdp+3l, -0x1.e6ce639344a8c31p+2l
+-0x1.2bcf3ed39dad8fc8p+1l, -0x1.3b74a2886004ef9p+3l, -0x1.4480c1a7ef8f8d3cp+2l
+-0x1.28556d0dfb25e54p+2l, 0x1.c8b4d843f8c11d2p+0l, -0x1.3933570d484b07eap+3l
+-0x1.a9d53e677bfce71p+1l, -0x1.1aeb6b5a745b911cp+2l, 0x1.1891852941517374p+3l
+0x1.57393737b025f35p+0l, -0x1.20ba580dfa5b22cp-1l, -0x1.1d2165635aa9799cp+3l
+-0x1.b98021eceaa1e1c8p+1l, 0x1.c8c708b96abc03ep+0l, 0x1.3d25232e25a2ca88p+2l
+0x1.e291645791b22acp+1l, -0x1.ec5b137f95e8efp-3l, 0x1.b740a48c8b72d7cp+2l
+-0x1.42f7fd466769d9d4p+2l, 0x1.0457ab47ce5d8d84p+3l, 0x1.7ba06584bb97b78p-1l
+-0x1.21f6aff7b0d3d464p+2l, 0x1.3a23620b2a9e6308p+3l, 0x1.20bb2948c865a5cp-2l
+-0x1.38eb68f386cf4c48p+1l, 0x1.012a75472b5a0e68p+1l, 0x1.4c303f1bc44b482p-1l
+0x1.4fe76211bf019f0cp+2l, -0x1.7ae624408edba8dap+2l, 0x1.78ec7cf855dfb88p+2l
+-0x1.15b1674328ec30d8p+3l, -0x1.3918a06b31c5539p+1l, -0x1.a0907f70c73e73fp+2l
+0x1.d0750f106a781318p+2l, 0x1.19de73e536e8874p-1l, -0x1.b9796b685843e7p+2l
+-0x1.64ed6dd409be8784p+1l, 0x1.ffcf498706e2e32p+2l, -0x1.ff40934f00278p-7l
+0x1.8bac48c3838b60bp+2l, 0x1.fca5c8cc449313p+2l, 0x1.d1362ddc34fd87ap+1l
+0x1.217d575167b207a8p+2l, 0x1.53f59d5dce4857p-1l, -0x1.b2505753432fd5b8p+2l
+0x1.53172777f77806ap+1l, -0x1.9c8b2c198c46747cp+2l, 0x1.a77e1be0a11534p-1l
+-0x1.363077aa786203e8p+2l, -0x1.ae4a6bc4f5590194p+1l, -0x1.08f16a3b1497242cp+3l
+0x1.0ef918fc35e4dafp+3l, -0x1.c1d989b23af91cfp+0l, 0x1.eb452d527f2b9f5p+2l
+-0x1.068225081ef666dcp+3l, 0x1.c4449822eaf5e9bp+1l, 0x1.6f09be5a9ff64368p+1l
+-0x1.3718e4a563340b5p+1l, -0x1.5fcc2c0bdb440c8cp+2l, 0x1.058fccb0a22c5a2cp+3l
+0x1.31bd7ea0feaf5d6p+1l, 0x1.e347b9d23d4e304p-2l, -0x1.c1eeb6a0f367c07p+2l
+0x1.d5b8aae36d36392p+0l, -0x1.4a134f28d182d538p+2l, -0x1.49a417f32a79f8ap+0l
+-0x1.802270e56e09d578p+2l, 0x1.b8e807a06d3657ep+2l, -0x1.bb72d6795519671p+2l
+-0x1.056447346ee2868p-1l, -0x1.e10e6d3821969dcp+0l, -0x1.2a7048cef11de9ep+2l
+0x1.b53f7137dacaddp+2l, -0x1.72f7ee0d5c9585cp-2l, 0x1.47871875d51c1d6cp+2l
+0x1.ed2c1ffd205ab24p+1l, -0x1.c74df9e10aba921p+0l, 0x1.1d0f8a3735c0fc48p+3l
+0x1.8622c5ad795f8b5p+2l, -0x1.8f9b4771580a0a7cp+2l, -0x1.f77f00d815ad81bap+2l
+-0x1.f355ba911f530c68p+2l, -0x1.eb8514dbe878f6fp+2l, 0x1.36859f1d9bcd5284p+3l
+-0x1.9b196f4d97fc82fp+1l, -0x1.2445e72e50acb6e8p+2l, -0x1.10b1e411333423a4p+2l
+0x1.32154310de816d34p+3l, -0x1.c6eec8142d1929c8p+1l, 0x1.db36a5f9d7b1803p+2l
+-0x1.3937b7c5b43c2708p+3l, 0x1.4b7596ca330c6fd8p+1l, 0x1.26a1135bc05b7a3p+2l
+0x1.66582b1c2fa49e3cp+2l, -0x1.79fd00a93cd18e7cp+2l, 0x1.0f4b2f9a3d7062c4p+3l
+0x1.2ba9de24d73448f8p+2l, 0x1.826bd84ef7c2886p+2l, 0x1.9f15a10661a227p+2l
+-0x1.5cf97a7401b146cp+2l, -0x1.1cf048d1d074546p+2l, 0x1.d2cfa201e1cf4dbp+1l
+0x1.136c4d88fab8d21p+3l, -0x1.151be91747e49ac8p+1l, 0x1.13276acc0a34ef8p-1l
+-0x1.9a672221fae41f1p+2l, -0x1.6c86efbbac945838p+1l, -0x1.1dfe02a531abf61p+3l
+0x1.fe8d2279cb1da298p+1l, -0x1.8a7e5dd58c0065dp+0l, 0x1.6c161cb7bc5b8298p+1l
+-0x1.df3530007af24b9p+1l, -0x1.fb6d4eb175efc52ep+2l, -0x1.272805969ce0f434p+3l
+-0x1.56b382270911b918p+1l, 0x1.e0ccbd81128851ep+1l, 0x1.784488b770f5bfep-1l
+0x1.16dae33269178eacp+3l, 0x1.37c6421617bbb9d8p+1l, -0x1.1ecd8eda21dfd2bcp+1l
+0x1.3e47d53fe52e9c98p+1l, -0x1.c364a5bf4b7f54bp+0l, -0x1.1994ee433bcfa8cap+2l
+-0x1.847e5b1dc2d17abp+2l, -0x1.ac074fe57221f0dp+1l, -0x1.eadc101596b00808p+2l
+0x1.72d14be23d83602p+1l, 0x1.3dd9a9330da230acp+3l, -0x1.2ad9d825b7878e34p+2l
+0x1.6a225763e728185p+1l, 0x1.0b5e34f1dc329b8p+0l, -0x1.0cdd4e348d2514e4p+1l
+0x1.1af4f83daff5f6b8p+3l, -0x1.2049a8a9f2151e6p+1l, -0x1.dc5df10428d76efp+0l
+-0x1.62d5d02eabbab42p-1l, -0x1.0c76a12d0d2e45d2p+2l, -0x1.d5c1b72e84a2394p+2l
+-0x1.ea6ce8043e88324p-1l, 0x1.da6a76cd32cf25p-1l, -0x1.2f78e8bafd6cfbf2p+2l
+-0x1.117a1b6a471d79f8p+1l, 0x1.9d0d5fe02bd235b8p+2l, -0x1.12a3e8fd7ef0e264p+3l
+-0x1.10dbc4567d232c1ap+3l, 0x1.81e0425e3aa458d8p+2l, -0x1.9837b78ecaa84486p+2l
+0x1.2f02c20d5fb162p+3l, 0x1.06cb918cd634763cp+3l, -0x1.94a4347a9ceb9e0ep+2l
+0x1.113549d6c20f8a2p+1l, -0x1.d8aca74f1cb90db4p+2l, 0x1.7e733b2eca26e2b8p+1l
+-0x1.3a8908bf717adebcp+2l, 0x1.003445b339de3bap+3l, -0x1.cd1bfd0caad5c8fp+2l
+-0x1.3c1d3d7f01f2be02p+3l, -0x1.78e27775d86d471p+1l, -0x1.2c11fbe049663c2ep+3l
+0x1.1ff1d4f7d806ed2p+2l, -0x1.0c8fd1054c1f78p-1l, -0x1.81925cc1bc0b125cp+1l
+-0x1.bf457e2cc14ca6p-1l, 0x1.f6d52d5660c129p-4l, 0x1.0a2839038ad2a3fp+3l
+-0x1.2e811a25fea37d5ep+3l, 0x1.f8c2f86f015730c8p+2l, -0x1.25f869b0303cd2e4p+3l
+-0x1.9c589a4ee47af7bp+0l, -0x1.c108a89211e120fp+2l, 0x1.2c4539e3022d482p+1l
+-0x1.eba0b393026ecb62p+2l, -0x1.3d4fce82c3527cdep+3l, 0x1.65d93f69832d682p+2l
+-0x1.ba71882f8fc7e41p+0l, 0x1.ec6f00c30fe63098p+2l, -0x1.da1a084d9dac7f18p+1l
+0x1.852617a0fc5d2628p+1l, -0x1.0a7abb802dccccep+0l, -0x1.17e7c82e2efcaf74p+3l
+-0x1.4ab19a96521e9cep+0l, -0x1.b78bafe804f131fcp+2l, 0x1.1021538b9792c13p+0l
+0x1.d6894ff7f3b7375p+1l, 0x1.c858f9f9c4a81fcp+2l, -0x1.508f555da54ef04p+0l
+-0x1.ea8a7e80e22ce4dp+1l, -0x1.3d750afdaa726dp+3l, 0x1.04fda2e4ac62b618p+3l
+0x1.4d7faf8d2371543p+2l, -0x1.8b98b470c79b3a18p+2l, 0x1.3c30880bf083c6f8p+2l
+-0x1.200a43600527badcp+2l, -0x1.50741c4c10002ep-2l, 0x1.522118cbe228953p+1l
+-0x1.42822178c8a5e448p+1l, -0x1.b2a0494f427e058p+2l, 0x1.ad8f94cb239f0a5p+2l
+-0x1.952f12e4b05c0b7p+2l, -0x1.52afc3209515bda8p+1l, 0x1.657f92bb16167164p+2l
+-0x1.cf8b459b7aaf0f6p+2l, -0x1.cedc0b516945bc2p-1l, -0x1.66fbfbe8354ddd48p+2l
+0x1.e9fcb20116fb6018p+2l, -0x1.094cad576448b27cp+1l, -0x1.328dc712666f998ep+3l
+-0x1.79ae4702e6eb1ba8p+2l, -0x1.25668553408d26a8p+1l, 0x1.d7e1a92443c996p+0l
+-0x1.40765611e5e653bcp+2l, -0x1.be5e037d54cdf5dp+0l, 0x1.8092fdae61ad19c8p+2l
+0x1.6b7b860f91bfaaep-1l, -0x1.6983ea1be13c1c64p+2l, 0x1.8f32ce50a8419f7p+1l
+0x1.acf6b87ec24202fp+2l, 0x1.7b6d1e923789d5fp+2l, 0x1.3f513909bf5f573cp+3l
+0x1.1637fbd5d187f624p+3l, -0x1.bf385d9ba36b2868p+2l, -0x1.3ff5f915414ef8f8p+3l
+-0x1.002ec39bc45dcb8p+1l, 0x1.3d626ef301ef357p+3l, -0x1.b44f86c2ff1f628p+2l
+0x1.b8cbf136b46757cp-2l, -0x1.95b5ffedceb0bd4cp+2l, 0x1.114f1948a75c5044p+3l
+-0x1.5f294e8cb7962bep+0l, -0x1.e6417c03ca508ea4p+2l, 0x1.687093eb03868b7cp+2l
+-0x1.c5bf4de8eb643b58p+1l, 0x1.f99ad8ff61286acp+0l, -0x1.94c73dafff2ab93cp+2l
+0x1.1af774b4f533f17cp+3l, -0x1.6c4461a1c5faa5f8p+2l, 0x1.094feafce11adce8p+1l
+0x1.2eafe1bec02a9fc8p+2l, 0x1.f63b4a200cfcb9e8p+2l, -0x1.37daa90d2063271p+3l
+-0x1.cf34330ba361642p+2l, -0x1.31597f14f6cf6ab4p+1l, -0x1.9e6f0154b8561aap+2l
+0x1.707439e39018eb2p+1l, 0x1.0cf99f146ac3ffd4p+3l, 0x1.2c8c6f0fe1ec8964p+2l
+0x1.6e167bd8ee145464p+2l, 0x1.27297fcb95af566cp+3l, -0x1.574e9d54971e6eb8p+1l
+-0x1.1b6567d9a122655p+3l, 0x1.8d787b252af63b88p+2l, -0x1.6b23a4343701f08p-2l
+0x1.4ec64553342ff6p-4l, 0x1.10062ecc5413998cp+2l, -0x1.b31a3dd1026da4fp+2l
+-0x1.1978066457caeedap+3l, 0x1.1b4cd5b41fa748a8p+3l, -0x1.191803dab35ce30cp+3l
+-0x1.27cb7709040e02f8p+3l, -0x1.b804fe36b81abb9p+1l, -0x1.30ccf3f0bb29939p+3l
+-0x1.e69dbcb3933a1ccp-1l, 0x1.188c1d110139caa8p+2l, 0x1.33e395aa40a24028p+3l
+-0x1.00537ee9511bcf4p+3l, 0x1.462a6d2f79e4b86cp+2l, -0x1.e9d81a482c7d975cp+2l
+0x1.77b3f6740e500ap-4l, 0x1.5a65d6c1803e0a6p+0l, 0x1.dc308be4f6584768p+1l
+-0x1.68164f43e055456p-1l, 0x1.81540d91db7830ep+2l, 0x1.15f53dfeaa6a9bep+0l
+-0x1.e930a21e15bac61ap+2l, 0x1.47b35e055226dc7p+1l, 0x1.7f566d9a383980e8p+2l
+0x1.a5b7f7e9d19f07dp+2l, -0x1.0ec02da79dba9e64p+2l, -0x1.1acf441d25ef5124p+2l
+-0x1.e8140a8265b2f18p+0l, -0x1.c133845b8222c76p+0l, -0x1.166309ad59329a4cp+3l
+-0x1.1d39f73be4a10fbp+1l, 0x1.a2c319f756d3b5p+2l, 0x1.3f0971df2cfb256p+3l
+0x1.084be3ad95bd9138p+3l, 0x1.14db3ffc1cfde5fp+3l, 0x1.643db9d88b2f5588p+1l
+-0x1.3a909df32847fe6p+3l, -0x1.21711afdbf80a74p+0l, 0x1.bde8ed1ea48a487p+2l
+0x1.c114c080a16a285p+2l, -0x1.41a9fa15a350750ep+2l, -0x1.8989b98e4b7af37p+2l
+0x1.fba651e8c688715p+1l, -0x1.797ddaefad20b504p+2l, -0x1.75008a92ab3e514p-1l
+0x1.385b08c1460f0aacp+3l, -0x1.8217c128f0422834p+1l, 0x1.3f1ca5b00e0dc144p+2l
+-0x1.64355cfa1283e95p+1l, -0x1.a16374e03637e104p+2l, 0x1.4e0ca7b363825a2p-1l
+0x1.4b6f8177ff9b672p+2l, 0x1.7db65c1626d40a18p+2l, 0x1.0846c46f35863b04p+3l
+0x1.4d2b69668437bb8p+1l, -0x1.096ad51e3291651p+2l, 0x1.69c924727d82faep+0l
+0x1.6a5ec1a96a232b3p+2l, 0x1.19d8d1be7898b4p+3l, 0x1.25c5a6d4243160ap+2l
+-0x1.0f746bae5b69c26p+3l, 0x1.69144f679e088718p+2l, -0x1.9173f3a50b828aap+1l
+-0x1.1c791daa835c6bbp+3l, 0x1.30dfcd8d93c4a11cp+2l, 0x1.4f300411072d9188p+2l
+0x1.1450c31f33d7297p+3l, 0x1.42eee8d197f108dcp+2l, 0x1.e3a96c696380e328p+2l
+0x1.d7e0803e5dabaebp+1l, -0x1.8ce1043bb23a5a98p+1l, 0x1.791ffb1b3734ca5p+1l
+-0x1.a5d0960a3db74a48p+2l, -0x1.0439e6bfbf45233p+0l, 0x1.6223d7222488b28p+2l
+0x1.01b3913c90c53968p+3l, -0x1.1fd2c08cd40aa282p+3l, -0x1.0f428d215619ea3cp+3l
+0x1.9014535d71d5309p+2l, -0x1.2d9750e6a4d61afp+0l, 0x1.3cf34cd8a95963d4p+3l
+-0x1.008900bc1b612d1p+3l, -0x1.a11a8e2d7969ac98p+1l, -0x1.144a4cc9e018e1ap+0l
+0x1.d7e536b1a2f0b78p-1l, -0x1.10f12ae9887052c8p+3l, -0x1.a51864de70254934p+2l
+-0x1.a5875a1f6aa09ff8p+2l, 0x1.6060180b1d7a97ap+0l, 0x1.47d729f36248ed0cp+2l
+-0x1.33e4eba049196f42p+3l, 0x1.64d99de3a3cdd7b4p+2l, -0x1.a21892aefa11d99p+1l
+0x1.b922b94dfd2166p+1l, -0x1.9b690948bfc99c8p-3l, -0x1.2fa780e093f914acp+1l
+0x1.b0f19ccf50672db8p+1l, -0x1.a0716d6fad06a188p+2l, 0x1.13e66c9ca763e03p+3l
+-0x1.a48848cc1ab0edaep+2l, -0x1.d2434abe647a338p-3l, -0x1.356c99fd8c7eed08p+3l
+-0x1.28e1756679d8aa44p+3l, -0x1.01b9c5996e59486p+2l, 0x1.90c0a5ada48918ap+0l
+0x1.59f25ef81f5d0d5p+0l, -0x1.ec5a3ad4f1da36ccp+2l, -0x1.4271d2eace670fap+0l
+0x1.31cd10f34ce1c8cp+1l, -0x1.336227e3139daa5cp+2l, -0x1.1ca42e361200026p+3l
+-0x1.50f8d4adf807e17ep+2l, -0x1.09d88d20ac253eecp+3l, -0x1.30baec5bc503139ap+3l
+-0x1.c0214958d63ab1p+2l, 0x1.3ca434570aa3358p+1l, 0x1.cc22d9dc89f0067p+2l
+-0x1.62ce487de1947f48p+2l, -0x1.4ac8683879d80b8p+2l, 0x1.d294bcd068c9274p+0l
+0x1.3c7ae70cdd64d748p+3l, -0x1.333a89f339f233eep+3l, -0x1.3d3ae479a9c9dd48p+3l
+0x1.c03e25ead21c0eap+2l, 0x1.fe1ae48bc207b43p+2l, 0x1.883a2e7c23d79d78p+2l
+0x1.1390d788c43a494p+3l, -0x1.263cd2b4774a86fp+0l, 0x1.da86e3d91de5ddap+2l
+0x1.d355995fad81f5dp+2l, -0x1.ff356252d46fc7p+0l, -0x1.3798ef192cd0ca38p+1l
+-0x1.e53c4b1ee455bb78p+2l, -0x1.de88996821a3c5ep+0l, 0x1.93440027c763e028p+2l
+-0x1.6fd3c1c8ce30cee8p+1l, 0x1.9537c6361b1dd55p+0l, -0x1.43df88fc86ecb5ap+1l
+-0x1.0b996ad851e6babp+0l, 0x1.70d2bee34515939p+1l, 0x1.8961d8250cd64888p+2l
+0x1.d4f57aaed5698458p+2l, 0x1.9aa17cd8770b81ep+1l, 0x1.e3df51b1e29bff8p+2l
+0x1.ed2b85476710232p+2l, -0x1.05f141be13709878p+1l, -0x1.11546cfec73edc96p+2l
+-0x1.6cdd49bab04a871ap+2l, -0x1.01387071cc641e6ap+3l, 0x1.3595b17cb57df26p+3l
+-0x1.dd730f78c88cb1a8p+1l, -0x1.a8f7ebe669d5af88p+2l, 0x1.d5be337905c8e63p+2l
+-0x1.ac11402b42e2a6dcp+1l, 0x1.28528806b0d3542p+0l, 0x1.de3612840e03c04p-2l
+-0x1.173728eabaa553ap+3l, 0x1.46ff703b2cfae728p+2l, -0x1.ff78641689c69166p+2l
+-0x1.83344f3aea96214p-1l, 0x1.1edf1d6e02bdc74cp+2l, -0x1.25654a3cffc639d6p+3l
+0x1.9864c3909d4bfffp+2l, -0x1.b1e73ecd3e2b40dcp+1l, 0x1.5dda98bb0a3ad03p+2l
+0x1.f32c92f4f78c521p+2l, 0x1.32a5f907fa801dbp+0l, 0x1.58ec0f158cef39a8p+2l
+-0x1.66d27efd6c39b24p-2l, 0x1.4bb07b70447f57dp+1l, -0x1.253b791853aecac2p+2l
+-0x1.2c625f43e54df6p+0l, -0x1.0e30076555b5c034p+2l, -0x1.266a5b48ce13a1p+2l
+0x1.977ecdeb602d31p-1l, -0x1.3883bbf1a35f4344p+2l, 0x1.f7edeb16e73fecp+0l
+-0x1.0935173f3f9d518ap+3l, 0x1.fd7557ffcdceb1e8p+2l, -0x1.f6ed8527ac7cb668p+1l
+-0x1.fbe4c8934af13dcp-1l, -0x1.9ce0a4f3cad64684p+2l, -0x1.73b19102315573d4p+2l
+0x1.14d502abbff061bp+3l, 0x1.141f3e9c8d6dc718p+3l, 0x1.564f5cfcec8b0dcp+2l
+-0x1.2c600e86ecc1b33p+3l, 0x1.7c9076f0978d36ecp+2l, -0x1.be51c94111c3eb8p-3l
+-0x1.23776c54e51d1fcp+0l, -0x1.29644ff552ef0542p+3l, 0x1.20f18c0842cb621p+2l
+0x1.094d48a57411f828p+3l, 0x1.84db3389018c04fp+0l, 0x1.75d45a8a871e2bdp+1l
+0x1.356cb9ce71de5a9p+3l, -0x1.1c23ca896ad531dp+2l, -0x1.2d274015b101e6bp+0l
+0x1.fd03964cb1c0d2dp+1l, -0x1.9e80a1ce808bb53ap+2l, 0x1.44c203bf11677e8p+1l
+0x1.74881f6ecbe95ecp+2l, 0x1.1675004f813aa81p+0l, 0x1.3911a43ee1215268p+1l
+-0x1.933937a4c87d217p+0l, 0x1.0906d1a48a40d674p+3l, -0x1.91dc884167f941cp+2l
+0x1.e353f1f1b82c25p-3l, -0x1.55df35e6bfbbf1ccp+1l, -0x1.b4acc2138b72a698p+1l
+0x1.1ad388b945149af8p+3l, 0x1.40eda0cf2747d774p+2l, 0x1.f4fc9582ac1a9fap+1l
+-0x1.e6b937f497fd2d4p+1l, 0x1.7d79ce5b22e975ecp+2l, -0x1.ca0076ec192b33ccp+2l
+-0x1.d26e931216746cbcp+2l, 0x1.c3b173a065e9d56p+2l, 0x1.194b4d19fb034f38p+1l
+0x1.91b6165df88bdcp+1l, -0x1.302654e76f7029ccp+1l, -0x1.8ab76a1bed63fb68p+2l
+0x1.185972e08e22286cp+3l, -0x1.7de15666a1d7f90cp+2l, 0x1.092c016b53f085e8p+2l
+0x1.02ea42fe716b725cp+3l, 0x1.367cd4027da64f8cp+3l, 0x1.8a39f5f893258ea8p+1l
+0x1.16e188f802cc4bc8p+3l, 0x1.d4258ebf2c506078p+2l, -0x1.214a4d2cdf618602p+3l
+-0x1.2684fe1378468678p+3l, 0x1.016db67f2aef1e3p+0l, -0x1.24274f45fe5acbd6p+2l
+0x1.3270b70e1d39fc2p+2l, -0x1.584119d1be6b0f64p+2l, 0x1.c91c8cd693067b8p+2l
+0x1.37364d6dcc55a22p+2l, 0x1.1a04c18d6fca7e3p+1l, 0x1.09fd58ad7595cbdp+3l
+-0x1.ac42e4dd39ec1508p+2l, -0x1.3bc0ce5414623838p+3l, 0x1.e11b2acd6b4d737p+2l
+0x1.c70a4eeeb7cb41b8p+2l, 0x1.d98851a57ec0aa7p+1l, -0x1.60a81742fd5e92b2p+2l
+-0x1.9df01ab78c00e446p+2l, -0x1.64c965e930dbd5p+2l, 0x1.100624958ff32cc4p+3l
+0x1.6b13a54d7707332p+1l, -0x1.032a8ae384830dacp+2l, 0x1.5bdbc00a668b3044p+2l
+-0x1.cffbbf4b7f78d98p-3l, 0x1.c8a74e54f1ac687p+1l, 0x1.67a93c0088466e58p+2l
+-0x1.2ead165139fe09d4p+3l, -0x1.27633afe04ce4cecp+3l, 0x1.0c80bc8626e2fe04p+3l
+0x1.6bc946245d8d1bep+2l, -0x1.c9a702d31f87b6ap+1l, 0x1.006172202855ff64p+3l
+-0x1.b0e1229c014d7eaep+2l, 0x1.34605e766d2c3dp-4l, -0x1.62a277831a72288p-1l
+-0x1.3d38ac743e0e0326p+3l, -0x1.068a3c3f487e77p+2l, 0x1.b79e8bf1b20c8f08p+2l
+-0x1.1f78b3dd248f96e2p+3l, -0x1.79e48a2fa95941a2p+2l, 0x1.472a7ac847712f2p+0l
+-0x1.2bde0ffc591e84a6p+2l, 0x1.18db0f6bbb6e738p-2l, 0x1.673af37d7e1c4048p+2l
+-0x1.9f28e59d0e6035a8p+1l, -0x1.2ff79602bc74c458p+3l, -0x1.b64c8024b74af248p+2l
+-0x1.3c1c6d5ae2a6be8p-3l, 0x1.1608ea006f1803ep+0l, 0x1.ddd50e16a8e2c0bp+1l
+0x1.e97f8f4a7417bcd8p+2l, -0x1.3e3124932b250744p+2l, -0x1.0f3d542f2aa3f4dap+2l
+0x1.0b6eb3b9d65eef74p+3l, 0x1.7b425fc73fd6c64p+0l, 0x1.b05ab83f1e031478p+1l
+0x1.6b7bfd5ad9abdadp+1l, -0x1.193d647bd0e1b78p-2l, -0x1.c36e528fe848714p+1l
+0x1.365e721de0d5b97p+3l, 0x1.99abc736ef97604p+2l, -0x1.0aebb95fa5f15bep-1l
+0x1.35720e910a463e5p+2l, 0x1.5d846bb69009347p+1l, 0x1.48986101f377b6f4p+2l
+0x1.67a8fe4696c4a378p+1l, 0x1.fc56dcda278f1c38p+1l, 0x1.df21db637826467p+0l
+0x1.3ca1cf76549b11b4p+3l, 0x1.67cf47643314a928p+2l, 0x1.ff6e84d0db33b738p+2l
+-0x1.05aef52772181d3cp+3l, -0x1.73bf471d232c538p-3l, 0x1.3d463e81ead33accp+3l
+-0x1.39835f4c29e32f58p+1l, 0x1.c695d192d546f8bp+1l, 0x1.7c861b5bf67f2dbp+1l
+0x1.297110de97aa0bc4p+2l, -0x1.9902a5af3cd5431p+1l, 0x1.2be8dabd09a80f98p+2l
+0x1.3a167f754c40bfcp+3l, -0x1.36d4837776d4d83cp+3l, 0x1.81f031566a941828p+2l
+0x1.9f7d46c4bbbc5738p+2l, 0x1.0137052117d8d4b4p+3l, 0x1.694bb475d00a9958p+2l
+-0x1.e98dacb99fbe668ep+2l, -0x1.ed76bd1c02688d68p+2l, 0x1.b0e217938f8607p+2l
+0x1.2adfb385b919a08p+3l, -0x1.20efd803cb9871acp+3l, -0x1.90e56a7010ed5d1p+0l
+-0x1.7be31a8a005330ep+1l, 0x1.1c8dce7c1bf47444p+3l, -0x1.4d36f534d79efcecp+1l
+-0x1.4b5bc2ec4dfe99p-2l, -0x1.ce315c261cff5d1cp+2l, -0x1.38e64d201d0b02cp+2l
+-0x1.0f9d11ef91358488p+1l, 0x1.a34b1a63b1f795cp-1l, 0x1.f79d6361cc28fa8p+0l
+0x1.3bd22c7f2e787378p+3l, -0x1.56b7e2d9baa52176p+2l, -0x1.34181b17f06ffa58p+3l
+0x1.74724d45de4a2c2cp+2l, -0x1.6d0582c8050b4618p+1l, -0x1.e7c52ef888d6ac9cp+2l
+-0x1.c46b73382e42873p+2l, -0x1.b8bb7004db63a3cp+2l, 0x1.ccda5ff24b4a574p-1l
+0x1.3a41485063cc120cp+3l, 0x1.d8d34640fb80a088p+2l, -0x1.21bb93ea66ab23f2p+3l
+-0x1.71341551e1ed8ac8p+1l, -0x1.07fc2a29916e6664p+3l, -0x1.25b0600ca2d8a88p+3l
+-0x1.57c4496d85570864p+2l, -0x1.335878f42825686p+0l, 0x1.03dd6a168844e5bp+3l
+0x1.d68d7f1179e3879p+2l, 0x1.024302d05629022cp+3l, 0x1.b68a191872f8685p+1l
+0x1.0aca58d9ef4d8f68p+2l, 0x1.1db9a27be52952bcp+2l, 0x1.1578d22b47fd9f4cp+3l
+-0x1.37eadd745a75cdccp+3l, -0x1.3024eb96e2dd566p+3l, 0x1.acb8a31c648503fp+2l
+0x1.405e93180559ed7p+2l, -0x1.99f9a97a1a7501p+1l, 0x1.fb917114aeddde3p+0l
+0x1.258b45e2718993acp+2l, -0x1.25516e731aacd9b4p+2l, -0x1.c6aae5de001fda88p+2l
+0x1.66cd58bf3972ab6p+1l, 0x1.b55e8d3e74a47bap+2l, -0x1.0a01419fab81633ap+3l
+0x1.f68a870908396a48p+2l, -0x1.fcba7a90458c5cap+0l, -0x1.e0a731ee4d3d62f8p+1l
+0x1.0074bcefcc8609e4p+3l, -0x1.f2f05d6006c8f74p+2l, -0x1.02b69b1143a2aedap+3l
+-0x1.1303579b366b5d8cp+2l, -0x1.5fe7f9b43b4f597p+0l, 0x1.8f20b70a712a939p+1l
+-0x1.b51e9762213c76f8p+2l, -0x1.1d4e8e6a9f14b5p-1l, 0x1.7886fe788cd1b1ep+1l
+0x1.f5cd66a2fa478348p+2l, -0x1.0f1b0b139cb93954p+2l, -0x1.24ba9d4d12d20ce4p+1l
+0x1.01f0c0de3246f08p+0l, 0x1.f417f5624546c16p+0l, 0x1.3ad305e105590258p+3l
+0x1.123ff2365bc0e8dp+3l, -0x1.a6d72c5e79a369ecp+2l, 0x1.1ee1905e33dcdad8p+3l
+0x1.6a0fd5ea119205d8p+1l, -0x1.4e83e457e953eeecp+1l, -0x1.2f400c0b3db23e88p+3l
+-0x1.e7018859971e17b2p+2l, -0x1.291a1f6810ae5a8p-2l, 0x1.caf575963b9aee2p+1l
+-0x1.2749b5f7f49d6344p+3l, -0x1.33c1ce446f96842p+2l, 0x1.0b93698bd24c86c4p+2l
+-0x1.5c052087cebd196p+0l, 0x1.820b7eb202d71b2p-1l, -0x1.fb63e3b3d18f7e8cp+2l
+0x1.002ec2458e346d5p+3l, -0x1.4ece61a27ddfdca8p+2l, -0x1.b8bc99b5afcbe6c4p+2l
+0x1.705c88acf459969p+0l, 0x1.473806793c21a8ep+0l, -0x1.0c61640f66d1a704p+3l
+-0x1.b78635d808a2ea04p+2l, 0x1.456941310c3ab5p-2l, -0x1.0675fe2f7060b84p+0l
+0x1.0e89607670a4e128p+3l, 0x1.bdaa45961296a758p+2l, 0x1.9ec1a130dcb6929p+1l
+0x1.1ce56b384becaa8p-1l, -0x1.a703ab7a6e0aa24p-1l, -0x1.40a6dded4f03d8p-5l
+0x1.b5ae9efb5c2b58fp+2l, 0x1.740aa12115f54e54p+2l, 0x1.34e7e0ab980d621p+3l
+0x1.75ad5702f67281acp+2l, -0x1.ca210c536c5834bap+2l, 0x1.3b7f55c5b8b0a498p+3l
+-0x1.05067455d8a3b57ap+2l, 0x1.87b17cae1992e0ap+2l, -0x1.0adcb6cd3552bf76p+3l
+0x1.85ea7006ab91501p+1l, 0x1.1a684cad8404cae8p+2l, 0x1.e7ebe1c0009d0b78p+1l
+0x1.3396b1d4b2cd236p+3l, 0x1.24246a9967c6a3dp+1l, 0x1.e079f0aa5f50ad88p+1l
+-0x1.69bcd24dccc58d02p+2l, 0x1.129f62a3fa0965ep+2l, -0x1.2666c569d6ce645p+1l
+-0x1.36165c11f25028fap+3l, -0x1.8f32481a27d8301ep+2l, 0x1.0097a06aca7e65f4p+3l
+-0x1.e591bfea28b7676p-1l, 0x1.aeaf1a9b3f1d8dap+2l, 0x1.702d69c8e1b327e8p+2l
+0x1.13341f5e1b3e2108p+3l, -0x1.4d5c5da9fefa767ep+2l, 0x1.604ac7115725c87p+2l
+-0x1.35f4e2dfc0cf2176p+3l, -0x1.12899a211023a2b8p+2l, 0x1.8c8191ab5fee954p+0l
+-0x1.3d059266ca412948p+2l, 0x1.81c198a4e65a748p+2l, -0x1.cde8b8ed8e5ec10cp+1l
+-0x1.52d644d97efe7198p+1l, 0x1.dc5d6f5ae604eacp-1l, -0x1.2355b748604bea5ep+3l
+-0x1.04c95482609c4e9p+2l, 0x1.2fbc60b330212d4p+1l, -0x1.02a1b5c929ecd85p+2l
+0x1.13172e3d5722879p+2l, -0x1.1dc2f659e6ded028p+2l, -0x1.6cf3f43b431e3334p+1l
+-0x1.74235a92018d26fcp+2l, -0x1.9ef6164c7d635e0ep+2l, 0x1.7de8d64e65e5bf1p+1l
diff --git a/benchtests/inet_ntop_ipv4-inputs b/benchtests/inet_ntop_ipv4-inputs
new file mode 100644
index 0000000..0ca5e20
--- /dev/null
+++ b/benchtests/inet_ntop_ipv4-inputs
@@ -0,0 +1,1003 @@
+## args: uint32_t
+## include-sources: inet_ntop_ipv4-source.c
+## name: workload-ipv4-random
+0xa5da31b5
+0xc0446e8b
+0x784b9c08
+0xb576afa1
+0x02d2ea9f
+0x4d82ba91
+0xd58a6a63
+0x931a078e
+0x8da553ca
+0xb995e341
+0xab1d3b82
+0x81b87ecf
+0xcd80ca63
+0x2896ed22
+0x8f207762
+0x9f944467
+0x3938ee1f
+0x248059e9
+0xf7333bf7
+0x711e3784
+0xe8becd9d
+0x3a2c5b73
+0x52cdb591
+0x6de2770a
+0x6d6019b1
+0x0cec9b4d
+0x0314b741
+0x3b8dbc18
+0x70becb0f
+0x1fbe2fa7
+0xbbf78a3c
+0x31ad5bbe
+0x5e4539a3
+0xf896555c
+0xe76bcfb5
+0xf8763851
+0xc309adee
+0x31abf300
+0xbba16c8e
+0x587ec525
+0x7507757e
+0xad7f20f3
+0x2e491154
+0xd1026261
+0x90d1bfe6
+0x21b62d60
+0x924edbc8
+0x06ded57e
+0x6e44ee05
+0x4d946fcc
+0x721b295c
+0x18bb6572
+0xdf64dc6f
+0x787912f1
+0x513254ae
+0x9a187f07
+0xbd19260d
+0x2d13f388
+0x72314a5e
+0xd49d1fe6
+0x58a21afd
+0x7265d9ad
+0x0db1242f
+0xda77990a
+0x225dd3f2
+0x7086fbc3
+0xcfa53a4c
+0xa95879e1
+0x1f22dcbf
+0xf2f95ae5
+0x32e55e15
+0x619cc022
+0xcbbc5903
+0x823cdaef
+0xbbc8e074
+0xd4b1abd1
+0xf4cc3b48
+0x54cadfc6
+0x7302fe22
+0x1866356d
+0x9af0f3d4
+0x150d45b7
+0x68d16537
+0x6f9ccab6
+0x30b5aa34
+0xb36e4558
+0xdf464fec
+0xfd553e8b
+0xe2d2b424
+0x401c0d14
+0xfeb219be
+0xe5503a5f
+0xf723b07c
+0x8f82f930
+0x91549eb0
+0xf15125b6
+0xfe746998
+0x5108da05
+0xc955eac0
+0x55132480
+0x6d476b2c
+0xec40f154
+0x91023884
+0xe1a9b815
+0x354daf94
+0x3dfed7ea
+0x2a4e8946
+0xcf9f3e6d
+0xa8041a9f
+0x4d116a0f
+0x31485a57
+0x2986e38a
+0x71c98c92
+0x95b1cf56
+0x02efa54a
+0x21d60c27
+0xe1ff084f
+0x9ea9d2a9
+0xa7a276fb
+0xdd540e04
+0xef5a28de
+0x959e2c45
+0x04e3297e
+0x7f353413
+0x98255f00
+0x8fef4195
+0xd1cf2a83
+0xe01c79fa
+0x8206c984
+0xa4d553b8
+0xb38cf863
+0xf9dc5da0
+0x740123a9
+0x469e28aa
+0xa94d5c0e
+0x099aefa6
+0x42f9ac05
+0xb5fa21a6
+0x605ba8b5
+0xd90eb999
+0xecaa6678
+0x876bd267
+0x584a9246
+0xe8bc8943
+0xba05331a
+0x5a1f8d08
+0x599a1d30
+0xc953fbc2
+0xa62b1bf5
+0x92f13ea2
+0x5260c6a6
+0x6f737ee7
+0x97ed7cf4
+0x1bafedd7
+0xf1c6ba92
+0xc738233a
+0x3c53e713
+0xc2c4f37e
+0x8922083b
+0xa699f915
+0x171a81f9
+0x9bd445c3
+0x582a213b
+0x7f9e6a68
+0xef4f3873
+0x61b6b3fb
+0xa1774a88
+0x5d142b71
+0xea8806dd
+0x37414744
+0x77d3e9a5
+0xdc2806a5
+0xec47420e
+0xaaf9388c
+0xe8ae4a58
+0xd68d3d03
+0x803cae48
+0xfff158dd
+0x0ab7b409
+0x3e1a797f
+0xcaa56e9c
+0xd3b4d996
+0xde20095e
+0x2e6820a4
+0x40e3b4ba
+0x038c5c95
+0x595bcab1
+0x25e23325
+0xb5debde0
+0xd95af591
+0x4750d367
+0xcaa82409
+0xbff0c5f8
+0x7ea63ac5
+0xacc6dce9
+0x08b1578e
+0x31544ded
+0xcbfaa140
+0xff149214
+0x29e4cdd9
+0x73277dba
+0x8150630e
+0xee66e89a
+0xff71f280
+0x2744a947
+0x9d71d581
+0x50d74a61
+0xb3f4cdb0
+0x2591b7c9
+0xa9f246ac
+0xaee36992
+0xa3777eca
+0xf642ae36
+0x9873836b
+0x0e9e0aa0
+0x1cb9a1ef
+0xeb6670fd
+0xe34ddf2b
+0x40cf1014
+0x8f8d532c
+0x2b1e2fec
+0x658f6ef4
+0x9117db64
+0xd8ffc94a
+0xbbce24da
+0x259029d5
+0xfff5bdc7
+0xfb7359e2
+0xf09be114
+0xda873a2b
+0x43ef9ca3
+0xafcfcce8
+0x4b14e050
+0xb7ef4c29
+0x2e8921fb
+0x1dc912d9
+0x946fd27e
+0xb6eb2bc3
+0x40ae2332
+0x373008ab
+0x8d1f0f0c
+0x1098cef6
+0x33dfa381
+0x6278717b
+0x8cfbfdc0
+0x6e4fafb5
+0x3e107d03
+0x8b82d5d4
+0xb3c70294
+0x4f5dfaf4
+0x13f862a1
+0xc03845f1
+0xe1645e9f
+0x620a157e
+0x27a318c5
+0xc6a1fd96
+0x01043a6c
+0xee82aebe
+0x77f9bcc7
+0xb0d67169
+0x5106f72a
+0xe1519086
+0x8e6d09c3
+0x2d35991b
+0xad33888a
+0xd281a2ce
+0x70094cdc
+0x09aee178
+0xb7a988d1
+0x7904d40a
+0xd505cebd
+0x5fc4744b
+0xd68e7e6e
+0x319c19db
+0x2c20f498
+0x5eefe1ac
+0x78107b15
+0x5d2c14a3
+0x8c352429
+0x98be10d6
+0x19fd3aa2
+0xdc151452
+0xd4f815ce
+0x40f9d4d8
+0x70922d99
+0xf3bc698a
+0x693e4c96
+0x5cd85948
+0x152565d9
+0x4673c6d2
+0xf26a8869
+0xeccdee1e
+0x2558149c
+0x32ed00cf
+0xccc8c08a
+0x6bb7e3ef
+0xd48bb23a
+0x11a7767a
+0x94e3fc39
+0x142ab220
+0x495ef56b
+0x5e0b1723
+0x7bf26602
+0xda933551
+0x3d9a9c93
+0x710a1aed
+0x0f3dbe35
+0x1fadfb03
+0xc42ce7ce
+0x34c4aac6
+0x422ea139
+0x9f37c92a
+0x28e80d7e
+0x7ac19552
+0x9b7c5bd2
+0x64ebdbf2
+0xdfcf3512
+0x1738765e
+0xd813cc0a
+0xf4d56f0e
+0x18f4dea7
+0xad277bf3
+0xa8fb80e7
+0xfbcd2419
+0x21f193f9
+0x2e9aef5d
+0x161cdc5b
+0x517e55ed
+0xb4cf6787
+0xc093cece
+0xa50fdca8
+0x0d8950d9
+0xd1d37d33
+0x822508b9
+0x60a3c4c6
+0x374d271b
+0xcea8f60e
+0xf4c0ccaa
+0x93affaab
+0x234a8e2e
+0xaf46d13e
+0xbdbd788f
+0x80c185d6
+0xade21b1f
+0xa9bb3117
+0x5f1e204f
+0x837b7278
+0xde83f661
+0x0e5a6d49
+0x06fdf305
+0xbad99c55
+0xf1c0b007
+0x6670d798
+0xaea379a9
+0xd2707d28
+0xf37ef4a8
+0x73e2534b
+0xe49f4fca
+0x91ad5854
+0x983540ce
+0x3179618f
+0xcb43e37d
+0x1a60cc04
+0x9cb2b42c
+0x5bc5d477
+0x298c8af2
+0x598fdb6e
+0xead6ed6e
+0x39264dc4
+0xbe2ded13
+0x9f75105a
+0xa854b5a8
+0x489686a8
+0x9f10a548
+0x4af5eb0b
+0x1c0d5f3d
+0x979eb255
+0x0a998273
+0x96d9cdfb
+0xb153737d
+0x8b8197b5
+0xb0af9d15
+0x53beec22
+0x47267074
+0xee08fee3
+0xa58581ba
+0x42c2d63d
+0x48a5105e
+0x4e1cb416
+0xb351b511
+0xf6da2304
+0x829f9f57
+0x06246258
+0xb78e2e76
+0xd7b3075e
+0x39af4dd5
+0x4de2271c
+0x2258853d
+0xfe857499
+0xed16ca3c
+0x51b77690
+0x91320d13
+0x8f7df385
+0x6563a1d8
+0xa9627f9f
+0xab8453ba
+0xf63b7678
+0xcbfc4991
+0x1ace8191
+0x4a341adf
+0x1e40a45d
+0x46d1807c
+0x92505c89
+0x6855a1ad
+0xa4fa9549
+0x1673a0a8
+0x6af29474
+0x760c8bc3
+0x48bc6521
+0xe871db92
+0x6fbcc444
+0x6dedbc0c
+0xde2d7351
+0x22b8fc16
+0x323bd522
+0xb935bcf5
+0x931e43c0
+0xdffa2198
+0xc1d19b85
+0xf60500b4
+0xd094c23d
+0xb7970257
+0x607f1b7d
+0x97e2eecb
+0x941fa489
+0xfae425c7
+0x64ffc9a3
+0x9482b9ba
+0xb489d435
+0x349452df
+0x5ffeec2d
+0x32b3584c
+0x3e548467
+0x530d9e32
+0x569353dd
+0xf4747702
+0xd856bd4e
+0x1bfc0426
+0x34e60c9b
+0xfe485d81
+0x7b184ad1
+0x1d307393
+0x4d21f87d
+0x492808a5
+0x9e857cbb
+0x6197f915
+0x80bb7d6a
+0x1aeb5dfb
+0xc7d4c551
+0x6c039c4f
+0x40f7c95e
+0x01322b6e
+0x35ee3d94
+0x399bfefc
+0x03b71c31
+0xa135ba00
+0x22e7b8bf
+0xd8e37293
+0x1ef10ddc
+0x5c4f977f
+0x32cbb232
+0x3746c6de
+0x7d37f74b
+0x2812718c
+0xa7c4873c
+0x8d8c7d79
+0x19007a1e
+0x4c785e68
+0xfb4849b3
+0x4c73c0c2
+0xe5ca4a89
+0x563af045
+0x08e67f32
+0x1af10bc6
+0xcb1697b0
+0xe4855c82
+0xbcf70a5c
+0x4bbec148
+0x7449d1c9
+0xe309b641
+0x72dab52e
+0xd73bcd11
+0xa50619ce
+0x9d13e90e
+0x15196926
+0x87f387a0
+0x0360b492
+0xbec6a221
+0x9d4f153f
+0x2ef40495
+0xa1fc8ec0
+0x3e7f36eb
+0xe5bdecc0
+0x2567db2e
+0x9e15fd71
+0xf9239150
+0xda4a4a28
+0xedb5b4b1
+0xb169302d
+0x81d1bc0a
+0xda01fc0f
+0xd9523ad0
+0x75c995cd
+0x4e7c5fd4
+0x1ccdacf4
+0x9e3409a6
+0xddb5f406
+0x39ae2258
+0x685eaef8
+0x27ec63ee
+0xc76f84fb
+0x0b1a116c
+0x7fcabb8a
+0xb6a1884b
+0x7c7a8a41
+0x8c741a5d
+0x6d61784e
+0x6fefe2d7
+0xdefa0e7f
+0xc8bf47d6
+0xd3972e7e
+0xf9f55896
+0x665b924a
+0x66f07987
+0x9a36fe39
+0xa52d6389
+0x985288c4
+0x776b1b14
+0x3b2b5df3
+0x8230278a
+0x4e20943b
+0xf194f3cd
+0x1923ba51
+0x0c161e54
+0x273c499c
+0x4893dfd1
+0x5d8d10c4
+0x912bccef
+0x37b3b8f2
+0xc9259773
+0xce403126
+0xaf67e43c
+0xb11526bb
+0x8e00961f
+0xd9309328
+0xf8fda5d4
+0x32cc9da3
+0x1ef0a26e
+0x1c2a4a6f
+0x40f252f5
+0x3c10be9f
+0xa4700a26
+0x6c2bf2db
+0xd6931843
+0x187457ca
+0x8c447237
+0x9b01fc11
+0x2e98780d
+0xa37b95e3
+0x22548e5f
+0x564ef6a8
+0x392dd4b2
+0xbbcad1ff
+0xa421f4ea
+0xba9af4b6
+0x471cdbcc
+0x4f1a388b
+0x2f9ace06
+0x03921467
+0x9cbfb693
+0x814ddaa6
+0x503644f8
+0x8695c3be
+0x61536ebb
+0x60c00244
+0x38f853d7
+0x57cb8520
+0xcfd2f868
+0xbaee2187
+0x9da049a8
+0x1f174bcd
+0x80e1d699
+0x14293276
+0xeb1a01b2
+0xaf04c079
+0xc2fd2db5
+0xdd55d0cc
+0x0c6cc6ef
+0xe13e3e22
+0xaad6f909
+0x69431d77
+0x614c55d5
+0xa8e99ef2
+0x5b69aae9
+0x1e793ce2
+0x33eac24f
+0x834aa80f
+0x243997d2
+0x85d08fd6
+0xe8bb04fb
+0x400b12f7
+0x4ac67a29
+0xc8c04fc3
+0xcbf8ef42
+0x3bbee941
+0xd46ed2fd
+0xdde37b5c
+0x0d853dee
+0xc94038f2
+0x8e573a21
+0x5e89e1db
+0xe273ddf1
+0xfadea3ca
+0xd2e51c7c
+0x2983594f
+0xe9db618a
+0xbb38a3c9
+0xe4abd34b
+0xfceacb94
+0x943aba94
+0x4f66eafd
+0xe6c0dce6
+0x7be21d78
+0x74337a51
+0xb68da494
+0x436c8bb8
+0x1d09c81a
+0xa62f5dda
+0x1aec137b
+0x2077e121
+0x352d8ed7
+0xa028eee9
+0x22813dfc
+0xcdf67fa5
+0xfda12a9d
+0x662d23dd
+0x9f56ece2
+0xa8bb39f8
+0xf3f4ca31
+0xda299ddb
+0xab321bc9
+0x79dce44b
+0x4bf75128
+0xb1fa5c10
+0xac19c3ca
+0xb2bd1cc7
+0x7bc86a3b
+0xe0c00cdf
+0xedbad3b3
+0x594f47ee
+0x075ab899
+0xd3960dd8
+0xc8b0d906
+0x03b349af
+0x1919a343
+0x104194ad
+0xb20aa561
+0xc45fa6e5
+0x3466ff76
+0x2a0a5f54
+0x76653805
+0x98bc7f9c
+0xe1139106
+0xa8389a71
+0x663cfff8
+0xd98cfad3
+0x8e17de21
+0x23f69152
+0x4b91dff2
+0x79ff012f
+0x5922c1c1
+0x116e15e1
+0xe36c89c2
+0x8dd2b853
+0x387b2f8c
+0xdbcbf47e
+0x6bf70fb9
+0x816db883
+0xa426dc13
+0x9a880e96
+0x67d5583d
+0xb3c12057
+0xdd0d22e3
+0x2fb43bbd
+0x340614c8
+0x1e044117
+0x35fc3d6a
+0x42fb3db4
+0xbd8ee31b
+0xd905e1ba
+0xe76fcf60
+0x261a3bf3
+0x08a5cdc0
+0x87dfba54
+0x374c0896
+0x9ef55ad4
+0x3a0614fe
+0x8d3372b2
+0x717f8d95
+0x1255bd89
+0xce2ecb9e
+0x877e33ab
+0x66dd165d
+0x0d6a31b2
+0x0846b0f3
+0x7a4f7992
+0xa946fdba
+0xfe7bd234
+0x787ec7f8
+0x593d2c82
+0xeef4a314
+0xa5acac01
+0x215492a2
+0x734e2de7
+0x05ddf8c5
+0x4a751f93
+0x2fc22c6e
+0x868492f4
+0x361f5df9
+0xe7882dae
+0xb5521966
+0xecfd094d
+0xade14805
+0xc6e74741
+0xe4334fac
+0xc79ddde0
+0x29e0bad2
+0xc26da1e5
+0x2ceac45e
+0x662dd065
+0xc7d732b6
+0xbedacf38
+0x7e178c0f
+0x250f56e5
+0x6d3cae24
+0x7be42fb5
+0x2f0181ba
+0xb07745f9
+0x36a363fc
+0xe104fa08
+0x6c92c379
+0xc1dab0eb
+0x012d850d
+0x8b30ded3
+0x1ceb4f74
+0xc6474a0d
+0x426b18a5
+0x8134b4b8
+0x9aba46a5
+0x0f615a99
+0xca2cb595
+0xde4ceaff
+0xb07c55b0
+0x6b461b61
+0x77d47aec
+0x713ccd15
+0x144f02a3
+0x98dbbec1
+0xd3cfa215
+0xe2be01d4
+0xa1e7612a
+0x4f63223d
+0x55a45013
+0x8d5f9526
+0x4f56252d
+0xe79994f6
+0xc1d2f899
+0x43fc9cb1
+0x6e593540
+0x1c480d66
+0x29a45a98
+0x1c778b80
+0x2fe5748b
+0xc42b1a8c
+0x84d82db6
+0xe234d779
+0x53cc2d3d
+0x2e0753ca
+0xea7c29ee
+0xd1baacdc
+0x0881e994
+0xa96f5873
+0x3a540ab0
+0x644c0daa
+0xfbed1c47
+0x0200b1bb
+0x19f3d066
+0x4d4a21d9
+0xc659473f
+0xb5afa485
+0xb1d92a44
+0x1ccffa38
+0xddadda5c
+0xb8478606
+0x7726d254
+0xb9f51015
+0xf1ccf5d0
+0xe9e4324d
+0x3330bacb
+0x75eb08d2
+0x9daaaca2
+0x877da369
+0xd41b8d85
+0x5aa83ea8
+0xfce6f734
+0xac2d5035
+0x847a0468
+0x3df04c98
+0xde4ed62a
+0x78a76589
+0x2b3215e7
+0x181f3a5e
+0x610f0e99
+0x6b95e44c
+0x990743d1
+0xb5ed2257
+0x3b516ec6
+0x71bc6e83
+0x447665fc
+0x0c1d0de5
+0x66b2a479
+0xea2502aa
+0xce222a1c
+0x6974ee5c
+0x74470d06
+0x1a208879
+0x107f95b1
+0xe5975ed3
+0x96928e1c
+0x7fe84e1b
+0xc85a6056
+0x4a005cfd
+0xd7d97bb7
+0x9a23c5b0
+0xd0b7f4a9
+0xfd61a22a
+0xf8107003
+0xec63357c
+0xe89fc352
+0xabdfaf5e
+0x7c161c96
+0x9ea703d6
+0x556ae863
+0x03695ff1
+0x5ba06bc4
+0x907dacbb
+0xba297579
+0x983c7e47
+0xf1d3ce7e
+0x9274a5ef
+0xf4dae517
+0xc2d11106
+0x08323755
+0x585c7faa
+0xa36d0de2
+0x35ec9280
+0x64709d92
+0x5100906a
+0x7671dda5
+0x73f81121
+0xf28246e2
+0x08466cdf
+0x537e6791
+0x13efc923
+0xe9d24e9d
+0xd22fc0a4
+0xd59be5c9
+0xa3e52d63
+0x7464d9f3
+0x866e5618
+0xe75e46b6
+0x2cd15f24
+0x07494a14
+0x5b34be38
+0x2da10a27
+0x7b827711
+0xc2b8bdb8
+0x9f8deb86
+0x37b7e667
+0xc54692dd
+0x44179846
+0xd326fad8
+0x71a9d932
+0x7b8f17fe
+0x13d9ce59
+0x4a054101
+0xf866d958
+0xcd730d08
+0xb82ea973
+0x99800ca3
+0x44090dc0
+0x07272d2c
+0xc577fad1
+0x81c656fb
+0x543ebd82
+0x63d9f998
+0x41cad4d1
+0x5ec695a6
+0x6d2e8c4a
+0x9d47a964
+0xe9e19be0
+0x87524147
+0x6d94b687
+0x28998c92
+0xd5222e46
+0xa06f762d
+0x19f1b572
+0x7cbd4b3b
+0x067f6470
+0xd2e4a695
+0x003c78df
+0x274a4992
+0x7ff14a7f
+0x4179cb9c
+0x395eab4d
+0xec0723cf
+0x48e9197b
+0x812fc24a
+0x8b7e1a3d
+0x7a65730d
+0xcf036e17
+0x18437977
+0x1b45a0ca
+0xdc52cc7b
+0x7eec75bf
+0xa19d3e46
+0x3ef0de98
+0x9004569b
+0x2e8bc8b2
+0xba0d6d10
+0x1645bff8
+0x842bba26
+0x4661f344
+0x0ee549d6
+0xd09b8818
+0xac8d33e8
+0x553e4f3e
+0x1d0f1368
+0x3135e79a
+0x415d934e
+0xa81d576a
+0xb3828841
+0x6afed044
+0x5b9d934c
+0xe13c6e07
+0xc9a2623c
+0x900b7d1f
+0x4dc8f0b7
+0x8af660e2
+0x942b98ec
+0xc1c35ac5
+0x8bc17e39
+0x9da5b510
+0xaf90fff9
+0x890cb584
+0x4edb77a1
+0x200de01e
+0x3b94fc5a
+0x977a6bdd
+0xed432809
+0x66d6f6b3
+0x3aee997f
+0xe0dedca6
+0x0eba9d2c
+0x2b77cd8b
+0xc0a0387e
+0x5a4288d0
+0x8e1a6748
+0x88152e2a
+0x8922cc17
+0x3fc651d8
+0x0d7ad8cf
+0x0f2ddbf6
+0xefe1d16f
+0xab9bcacc
+0x3f12fac8
+0xa7907925
+0xf2877b7c
+0xdf86ae85
+0x2b10f4ad
+0x1c66eccd
+0x0ffe0460
+0x54b1d473
+0x4e0b1b78
+0xebf6a094
+0x210dd5a3
+0x02b08cd8
+0x04450c50
+0x6aa55f9a
+0x1528b220
diff --git a/benchtests/inet_ntop_ipv4-source.c b/benchtests/inet_ntop_ipv4-source.c
new file mode 100644
index 0000000..c595c47
--- /dev/null
+++ b/benchtests/inet_ntop_ipv4-source.c
@@ -0,0 +1,10 @@
+#include <arpa/inet.h>
+#include <stdint.h>
+
+static void
+inet_ntop_ipv4 (uint32_t addr)
+{
+ struct in_addr saddr = { .s_addr = addr };
+ char dst[INET_ADDRSTRLEN];
+ inet_ntop (AF_INET, &saddr, dst, sizeof dst);
+}
diff --git a/benchtests/inet_ntop_ipv6-inputs b/benchtests/inet_ntop_ipv6-inputs
new file mode 100644
index 0000000..69bb4db
--- /dev/null
+++ b/benchtests/inet_ntop_ipv6-inputs
@@ -0,0 +1,1003 @@
+## args: uint32_t:uint32_t:uint32_t:uint32_t
+## include-sources: inet_ntop_ipv6-source.c
+## name: workload-ipv6-random
+0xbd9f474b, 0xfde382d2, 0x16cb0b00, 0x9b234d91
+0xd12b7592, 0xe1f00174, 0xc99ea9f7, 0x204055b4
+0x2c9c4b4e, 0x408d34aa, 0xc325a53f, 0x456d5bcc
+0xc3ee43a6, 0xa26fec15, 0xced19793, 0x24524e9f
+0xa8a1b792, 0x3bd30523, 0x14026fee, 0x483a3515
+0x6325647a, 0x2a97e521, 0x81998a58, 0x2a1b68a9
+0xfd782a5a, 0x9d63cc77, 0x1c88d0b0, 0x890c6b7a
+0x1a27c6a3, 0xdf20c28e, 0xd4b415e8, 0xc83097f2
+0x545c2260, 0x83162b50, 0xe1d7dc29, 0xe3defcee
+0x2697cb3e, 0x6210c389, 0x1d47df5b, 0x3ac1df60
+0xe2f0e379, 0x23763a2c, 0x147abbf8, 0x7e443204
+0xf9b0565c, 0xe5b8fed7, 0xd6aefdb4, 0x33ea6a05
+0xa529fdde, 0xcf1763ce, 0x296954f1, 0xcb07ade5
+0x9df1742d, 0x589fd1b8, 0xeee576aa, 0x2dec41a2
+0xc345dad9, 0x8745413c, 0x7684a5d6, 0x19ab74bf
+0x29d0331a, 0xbee93c3e, 0xd700c312, 0xfebee12d
+0xd7780afd, 0x336e4c2, 0xcf2c8adb, 0xc6159eee
+0x33ea087a, 0x36b335a0, 0x7b476c82, 0x4d4dce7c
+0x5eb59b20, 0xeb76a509, 0xc56b34ad, 0x39d3f8e3
+0x63f36e8f, 0xd9bd4f4d, 0x39e11967, 0x90518f86
+0x1d3bc49, 0x84774417, 0x98abf06e, 0x1889248f
+0x6013682, 0xbf4461db, 0xe46e22c5, 0xac7c9ab2
+0xe15186b9, 0x9f796e63, 0x8491e74c, 0x1b1f500c
+0x8e37425e, 0xb77127b, 0xeb5f7c67, 0xb9988376
+0xafaef488, 0xfd9158fe, 0x34860785, 0xef4ced11
+0xc579a321, 0x6f756b01, 0x91c9df81, 0x8b64ff30
+0xde13a52a, 0xa3d16cc9, 0x29fa138d, 0xfb732cf5
+0xdffa214a, 0xdd75a993, 0x24d2348d, 0x14a7746c
+0x6797d857, 0x23b0273a, 0xc4d67560, 0x570670af
+0x21bdbdcf, 0x963f5e5e, 0xab40422b, 0xdb2404c2
+0x8c903d31, 0x2a0fb212, 0x966b5ee0, 0xd5c807f5
+0xd82db637, 0xf08fd78e, 0xb1fa360f, 0x2ab14dc9
+0x8f78bcfb, 0x2eec02dd, 0xd5adba4c, 0xa7f2e551
+0x71ba0ce4, 0xf90d91ec, 0x377698a5, 0x378d8603
+0xef081070, 0x7e5671c8, 0x35976da1, 0x1e47b84
+0xdea1b54b, 0x5739f249, 0xe8454d07, 0xb8fbca7a
+0xd2a63fdd, 0x4766b033, 0xbe9735ce, 0xd0730cea
+0x4af1f5c1, 0x1ff01d15, 0xd47a2722, 0x5cfa2046
+0xff9f9f75, 0xe1615e29, 0x66cd0d88, 0x676489f4
+0xaff6f421, 0xb6c759c8, 0x98e6510f, 0x59d1589e
+0xf1e93cdf, 0xbf4a2c1, 0xabe705e9, 0x8c80551f
+0x8a2be9ed, 0xfd0ee28a, 0xb380684c, 0x88dd45d7
+0xe9e953ea, 0xa3079df8, 0x15d96297, 0x9f974c0c
+0xd8de9f0d, 0xc36905e8, 0xacd4463f, 0x5637f351
+0x1b829647, 0x8d2b0359, 0x3e5b4b90, 0x5405423c
+0x2d6ef86b, 0x1f609aeb, 0xf0f6bb65, 0xefd9c43b
+0x848dbfff, 0xe0f3531d, 0x2eefd0f6, 0xdbfe8663
+0x45dc79d3, 0x62dc551e, 0x811bcd3d, 0x3f8d9a6a
+0x174a7cfe, 0xbc7528c, 0xc413699c, 0x5e4e6e7f
+0x41c83bfe, 0x1bae5bc0, 0xbd36fcb3, 0xc710625f
+0x9e936eeb, 0x5402cac2, 0xb3060f49, 0x2189610c
+0x3e030d95, 0x5e5563c4, 0xd61e6929, 0x9962d7d8
+0xfa0ed0e1, 0x3e8dbfc6, 0x93f88980, 0x92936be8
+0x7d82dedd, 0x8921d7d5, 0xc530156a, 0xfe42f582
+0x606b6a95, 0x7f40d8cb, 0x3ffcecee, 0x4dc8071e
+0x93f3e7c, 0xa252c16e, 0xf42fd5fb, 0x7457353f
+0x54b57d5e, 0xdaf92c2b, 0xa8eafbab, 0xda96b806
+0x78f7954f, 0x5052ad7b, 0xeb6b2a76, 0xa5ece42a
+0xa6b5135b, 0xf5d06b09, 0x2287772e, 0x9aeae6cd
+0x7179ce31, 0x47ef279d, 0x729d7cf, 0xf400a519
+0x6b92425b, 0xedb7a264, 0x80d70fe2, 0xd2b68bae
+0x391543dd, 0x89421cff, 0xfea7a70f, 0xdd4791c3
+0x3653b93d, 0x7f28269f, 0x29826fbe, 0x23e4ce30
+0x82e39307, 0x8bc31256, 0x15f53c16, 0xa060fedc
+0xb552e1b2, 0xe99677ba, 0x48206f04, 0xecec5430
+0xb9881a63, 0x7b922a29, 0xaf22d00e, 0xbe610c
+0x5307d975, 0x4894a67e, 0x75400f1b, 0x87a95c1b
+0x1eeec7c0, 0xee7039e2, 0xfd23adaa, 0x82e64cb2
+0xf02e05ff, 0x69315980, 0xd2c5eb23, 0xcab646fd
+0x3269d17c, 0xcd057acc, 0xfdcc308a, 0x8d33519
+0xa58b5939, 0x2830186f, 0xd489bdd7, 0xd90080d8
+0x70f19399, 0xdf4be38, 0xb7d369e7, 0xeec0feb4
+0xe1f76dd6, 0xe8736682, 0xa4333fde, 0xd9237fe7
+0xbe0b673b, 0xd2efdd82, 0x899568ae, 0x33f54e39
+0x4dbf00b9, 0xcd098c95, 0xdeda9125, 0x564be620
+0x1f46fc8c, 0x8a227b39, 0xc951aad2, 0xa55d79ee
+0x8e3c6fcf, 0x71a48f78, 0xae687478, 0xbb19a553
+0xe6a00332, 0x3bae39d6, 0xc2272bd5, 0x927139fd
+0x59ac6756, 0x131b13ad, 0x39042c49, 0x861e867e
+0xad21777c, 0x2942f36b, 0x118aff9b, 0x1359a258
+0x44a835ac, 0x827cda6c, 0xc99b642c, 0x40836a8b
+0xf8252dda, 0xcac33381, 0x26ec307c, 0x97a9c486
+0xa86dbf91, 0x3cbc222f, 0x167e91f7, 0x4607a81c
+0xc31a9ac0, 0xb491d2ed, 0xd8452c37, 0xac26308
+0x34e5e9c8, 0x1f7dcf6, 0x26d0a40f, 0xf2455d40
+0x58ed7cdd, 0x8d09de09, 0x5791a5, 0xe7863f68
+0xd168ed25, 0x7d028913, 0xcbf4511a, 0x9e667bce
+0x537c00c1, 0x9d79eb05, 0xb0af9027, 0xbb055470
+0xed3e65d2, 0x4419d2fd, 0xb4935ebd, 0xe914a01d
+0xb6984616, 0x1ce5581d, 0x338850b4, 0x80ef6682
+0xd6605e62, 0x9603bf7e, 0xce7e6fc7, 0x7120a164
+0x33b9739e, 0x8c1ac2de, 0x84fd431c, 0xaad432a5
+0xc7ab0b0e, 0x7fd488d2, 0x81b8f65f, 0xb692f42c
+0xb81a4739, 0xf2dd9ad5, 0xf9fce237, 0xa0347b58
+0x97d70f40, 0x285daec1, 0x8cf631b, 0x61a906ab
+0x2a29c841, 0x97350602, 0x3e2705f4, 0xb1cc6dbf
+0x53d3a7ed, 0x29d8c53b, 0x6434402c, 0xe3ba36b4
+0xb034bee8, 0xb88e6e87, 0xcf1a41d3, 0xb657588d
+0xa50ba997, 0x2fe7ebc5, 0xbaf8ed10, 0xcab8b0f5
+0xacc211c7, 0xad6d796, 0xabb3b3c6, 0x1e5c437b
+0xc76b1163, 0x91a642d9, 0xd211dfb6, 0x4e932d48
+0x8f6f788e, 0x266b94e0, 0xf632e05c, 0x68cdae60
+0x59d3d501, 0xb28c9817, 0xaba3f022, 0x1e4bd55e
+0x24c2438a, 0x8aece7e6, 0xdec43ed7, 0x28354f13
+0xfb35a016, 0xac31c1e5, 0xd9a19e00, 0xbd7668f1
+0xdc170096, 0xe472d6a2, 0x4b672693, 0x331d711a
+0x35ec6ad4, 0xea4a89e2, 0x37fc7bab, 0xf68baa15
+0x5403f8f2, 0xb37b2f00, 0xf23c3c41, 0xabd3d234
+0x16588c62, 0x4693398, 0xd2a4e935, 0xe91b160d
+0x44daac94, 0x8a4fe8cd, 0x1041732e, 0x2d15e3e0
+0x379a33d6, 0x2cc3c03, 0x21207938, 0x172680a2
+0x9b186d0f, 0xc9925f50, 0x681b31d2, 0xb1ef2284
+0xe96a5bd3, 0x68188d73, 0x6f9318e8, 0x1d3f9ae3
+0xb7908d79, 0x19ca19e5, 0xc51cadfd, 0x9cdd65b2
+0x4ca8fe21, 0x67fd0155, 0x7b515e65, 0xd9bda1de
+0x37f1d602, 0x67fd176a, 0x78986154, 0xbc7dd56c
+0x78fe18c3, 0x5de1ce47, 0x661b953, 0x1779eaba
+0x95a167be, 0x8af3177a, 0xb5f736b5, 0xdda134bc
+0xdaac0b73, 0x36ad1710, 0xa2553bf1, 0x528a213c
+0xbf633d66, 0xb9191ea5, 0x6978e517, 0x9b7f9cc4
+0x22910f46, 0x290b00b0, 0x17dce907, 0xcfeffbf
+0x4ca4c531, 0xba1c5e27, 0x21b34182, 0xdfe22981
+0x9f4163b1, 0xd9079607, 0x19368fed, 0xfee01412
+0xe4b4335a, 0x90e57091, 0xd6621c03, 0x9f9167a
+0x4a268d0d, 0xa2578f95, 0x8a2726ed, 0x2371ed6e
+0xab7108c1, 0x7eda438d, 0x91c9e46f, 0x7bd4a534
+0x882a8c9, 0x5ee2ff0e, 0xfbdcb102, 0x626d1103
+0xae8f3624, 0xd0914fe1, 0xa5e054e3, 0x5fc4a6f5
+0xfcdd708e, 0x1898f392, 0xee49523, 0xb231c2ef
+0xd8f7c223, 0xc0da65f2, 0xa39780c9, 0x7561692d
+0x3566b893, 0xa6c69db4, 0x4fe06eaf, 0x8ac2d1ae
+0x55ec082d, 0xc20a63b4, 0x47014dc2, 0x804efc5f
+0x8f06317, 0x32fd3d78, 0xb5c59e6e, 0x6acd7921
+0x8a43ddb, 0x2b4098f2, 0x2f54c2b6, 0x47cfb71d
+0xdf0b31f0, 0x53e6cea0, 0x5edb55eb, 0xb7fece2
+0x14615f59, 0x27b6f7a7, 0x91165128, 0xd33ebcb1
+0x68a2c8d4, 0x29ba37e5, 0xdcb4b3b2, 0x80fcd42f
+0xf83e6f8d, 0x3816547c, 0x21d1e0e5, 0x7c28c98a
+0x583a48b0, 0x1b57ca21, 0x8dfa36c, 0x255b515c
+0xccf35afd, 0x6d844d83, 0x99110a94, 0x81fb6b1
+0x136af512, 0xaef76f2, 0xf4c2385e, 0xf179553e
+0x9d537bbe, 0x9fce7be0, 0x68b424a8, 0xd97f9acf
+0xce28efee, 0x104fac55, 0x9260b465, 0x89f37fee
+0x8cb280af, 0xb015ace8, 0xb82853c9, 0x54165987
+0x3b6c1810, 0x5474a531, 0xbd1a3ffd, 0x8178c7b7
+0xff6736c1, 0x165fb1e4, 0x5b74d02c, 0x94dcdaf1
+0xb4a2a131, 0xc3027508, 0x771d3091, 0xce50e274
+0x3a3ed3bd, 0x8a4cb423, 0x18a4d743, 0x5fa3147c
+0x1ab6a099, 0xaf14b761, 0x862d0c1, 0x8b81f350
+0x24a6f5ff, 0xcb53948, 0x8932f527, 0xe30c64a3
+0x7d002cf4, 0xf847abbe, 0xf00833e7, 0xb841ba1d
+0x9b4895a3, 0xc601250, 0x62d0eef5, 0x79462b3c
+0x25effcc6, 0x7868ffbe, 0x752eb87a, 0x7e2c7faa
+0x9749ceeb, 0x72b92ae6, 0xebdaa22, 0x693b5056
+0xf884ffde, 0x85f908a1, 0xe5d88a30, 0xd7c83ded
+0x5b6c0f4d, 0x78319ab, 0xaa2831cc, 0x150957ea
+0xe2628ea7, 0x9dbfc0d5, 0x21438d50, 0xbcc50e2d
+0x9b541ce1, 0x4448d3e8, 0x910f8834, 0x3fbe9987
+0xd80d397d, 0x926a9b78, 0x9a0c325b, 0xdea1b833
+0xb5725a2f, 0x56ba34b7, 0x870d4543, 0xc6c4d956
+0x78ea0b4c, 0x922e211a, 0x9f6bc0c0, 0x7a4ee798
+0xd1f14857, 0xed9d9ed9, 0xcf2d39f9, 0x2835a355
+0x3eb7a90d, 0x1df8e934, 0x44952424, 0x6e0f94b9
+0x73ab84b9, 0xc8874557, 0x19596bd7, 0x4b709955
+0xfac8a8af, 0xbefd1d16, 0x5a98a82a, 0x7c76d88
+0x434a2e96, 0x1bfd37e6, 0x4c7fa3bc, 0xeb182ac
+0x22cf129c, 0x2330cc48, 0xf8188529, 0xacc3f851
+0x930c37ef, 0xdb90065b, 0xa3b15671, 0x351e5c8d
+0x424e202b, 0xaed5a7f4, 0x4a504fb0, 0x8f969f84
+0xa482185a, 0xc4302500, 0x12ffa83f, 0x5f08425b
+0xb2c64f59, 0xfc29c24b, 0x92b5ca02, 0xa803823c
+0x18b8f646, 0xaa02f091, 0x2620d1f8, 0x9d805e86
+0xc018b81d, 0x4fbfa15c, 0xfc056a07, 0xa7b30d50
+0x76ac8cdb, 0x3e063aa3, 0xac239672, 0xd16764c0
+0x6d40c135, 0xc7302076, 0xa70201d6, 0x6991a045
+0x9eb61c4e, 0x8bf8dfd5, 0xcb636346, 0xdbaa0243
+0x29651df6, 0xfd9c3a0c, 0xa122089, 0xfd1df17
+0x33f3218b, 0xb4836cf6, 0x4a5e2ac8, 0x3c0f1f2d
+0x879fb8d9, 0xf8c38cea, 0x5e95b279, 0xffae9fa3
+0x5d4516c4, 0xff353935, 0xf19dd00c, 0x4d810e66
+0xbbd67859, 0xde9a326f, 0x671f5622, 0xf5ef5600
+0x85c00b1e, 0xb39589b8, 0x1bd1d5f2, 0xab363d4e
+0xee3fe8ea, 0x28d29a10, 0x17f51f68, 0x63ca9441
+0x859ce27f, 0x871bfcaf, 0xa5203c7b, 0x46175512
+0x32361523, 0x4c0e79f2, 0x29eda94, 0xa9840241
+0x8faeeabe, 0x8f3a9de9, 0xef643936, 0x9fa8f9be
+0x35cc55f6, 0xcc7c7a0e, 0x297bb3e1, 0xdb5d4e03
+0x4d8dceb9, 0x70148563, 0x9b04da64, 0x5ffcf932
+0xed373548, 0x49a4e038, 0xc12c8311, 0x5f4a8b75
+0x89af58f2, 0xaa455a7b, 0x8911fc26, 0xc05e76bc
+0xa9736f59, 0xcea9aee2, 0xf40afb52, 0x6e1bc405
+0xd62b5dd0, 0xfd335653, 0x2b2cd29d, 0x6f22cc7a
+0x22ddde88, 0xc38ff07b, 0x426fec57, 0xacff773d
+0xee681325, 0x1d9b52ae, 0x659a7f83, 0x60ba682c
+0xccaae62b, 0x42eb5ef6, 0x1fa3b03e, 0x8cd9b22f
+0x86b86b26, 0x11ee0672, 0x2d4e19e5, 0x8ab91734
+0x8ac4fc04, 0x7264e3c1, 0xaf855cc1, 0xab9c475c
+0xa36db77f, 0xd4b4ee5c, 0x403fb29f, 0x6e1e42ec
+0xda6e091d, 0x6cff1b43, 0xf99978b, 0x19a1c211
+0xb72886dc, 0x6d50fdac, 0x5afa580b, 0x11bae67e
+0xc4c3d05d, 0x1f4b0cdb, 0xb68672b4, 0x3ef0f9a6
+0xd22573b5, 0x152d20a, 0x68f48ec, 0xe23ecbf9
+0x373bb124, 0x5b379993, 0x33be8e67, 0xf4f0793e
+0xc75e1a8b, 0x17ea774, 0xa1967301, 0x9b088e66
+0x5220286, 0xfe0366a6, 0x7db08c47, 0x6af61d06
+0x5109ceb3, 0xc2a32347, 0x497daee2, 0x97240c78
+0xd762659, 0x569e6641, 0xfd0c5b5d, 0x1a0b4435
+0x92693f5d, 0x9ce42f0b, 0x4e789f53, 0x8c222a81
+0xee801ed3, 0xd94bcb2c, 0xb60b3b00, 0x7ebbc78d
+0x51ed4a51, 0x5df7a9df, 0x2fb0116, 0x441a97f1
+0x6e7d2a9a, 0xb86f925e, 0xae49a7f5, 0xb4cd5e15
+0x1a81f24b, 0x1d497c6c, 0x76218902, 0x21709933
+0x2dd09b35, 0xf25ede10, 0x541fdd77, 0x62ff37b9
+0x3bf21978, 0xd74f1185, 0xbc8ac99f, 0xde71ad53
+0x71a5c8ed, 0x15208271, 0xb826e59a, 0x6bd8c57f
+0x1ccbef2a, 0xf326371a, 0xe09fdff0, 0xb8dbad93
+0xc7dbbc2b, 0x6181becb, 0x565d6ff, 0xc34ee769
+0x1e6c149d, 0x30e30ef1, 0x1b39080c, 0xbdcf5405
+0xf116f011, 0x829eb8b3, 0x9b4829e7, 0x2a94ed53
+0x94e07aa1, 0x81aa2457, 0x6036cd55, 0x4c5e01fe
+0xa92cfb5b, 0xfdcdf83d, 0x6cd312b1, 0x90835d34
+0x94951caa, 0xaec2995f, 0x4c7e050, 0x4a46a70f
+0x415c9aea, 0x6d8f9225, 0x92c49240, 0x635c5e05
+0xb7da2084, 0xa4ceb6a4, 0x9ee53754, 0x9bac543d
+0xbcb61a3d, 0x0a209f, 0xc5d14e96, 0x5aae6429
+0x97f39972, 0xdf98317e, 0x326e422c, 0x9b1c4e19
+0x26e7f90d, 0x592bb6b9, 0x5403ea9c, 0xadbdc615
+0x72771b77, 0x4b987a80, 0xc1c56e86, 0xa224efbd
+0xb04ba885, 0x925a9646, 0x2d7d4ae7, 0x273cfc81
+0xb7f1d2da, 0xb223722, 0xe7688d04, 0xd1198c14
+0xd55a5f16, 0xb51512ff, 0xc68ef463, 0x79d319b6
+0x1b00a2ab, 0xbe6e3f07, 0xd594fe11, 0x3d2dd7c1
+0x28810f8a, 0x1da2d4ce, 0x4dbe7205, 0xc6431ff2
+0x3241aa6c, 0x381921ec, 0xc164cf03, 0x5dbfba8f
+0xac494cf8, 0x5ed43eee, 0x8d843cf3, 0x7c87f04c
+0xbc1b58c8, 0x851533d, 0x79534cdb, 0x9ff7c0e2
+0x2e5d6cd6, 0x888875ec, 0x1fad7a31, 0xbea0a42d
+0xcf6fdaca, 0x140207c6, 0xcf0af10f, 0x71a69c42
+0xf95618c1, 0x74d1494f, 0xcf2d688f, 0xface6c1c
+0x6e17f14c, 0xab9cb4e1, 0x5f0fc7ac, 0xf465c570
+0x943216e0, 0xde0e38ad, 0x729e69d1, 0x30b44c39
+0xfae0da2c, 0xa12956a1, 0xae7299d, 0xf1e2311b
+0x7d81571, 0x4778ae4b, 0x62c30846, 0x34a88f69
+0xf03972bb, 0x4218a376, 0xf6762118, 0x23a2213
+0x79443a0a, 0x68f11b15, 0x98cf449b, 0x1d5d508a
+0x27cd1d30, 0xf92063f0, 0xf71edb35, 0xe866dcb4
+0x7b9b9ef3, 0x61b0fc22, 0x2a728ee8, 0x3f2e7c3f
+0xd3b77800, 0xbf34704c, 0xab77fd56, 0x664dd5bb
+0x73a057a4, 0x1434a17, 0x12e1dfce, 0x4178e65
+0x111eda27, 0xb3abae02, 0xff7fea7e, 0x6d24abec
+0x48e8a019, 0x73f257c4, 0x73d3269f, 0x56e6311d
+0x3d10812f, 0x892f2de3, 0x2a16ca7a, 0x92e5d3fd
+0xd5bef4c9, 0x6f5e4db1, 0xcd35c033, 0xbd78c72
+0xd5151606, 0xac129527, 0xe6bc7fd1, 0xa96d60d5
+0xb565de7f, 0x6c0ab1c5, 0x78a9e7e5, 0xcbe00dc5
+0xc87c3032, 0xc43df43e, 0x8ea6fca6, 0x61aefa28
+0x96b80947, 0x74133fe1, 0x26404df6, 0xd764d917
+0xf098a512, 0x24194cfb, 0xdde22f8b, 0xd269ef5c
+0x3f967fa8, 0x5d9483cf, 0x70923734, 0x4f2b73b4
+0xf664a529, 0x229fd71c, 0x92bf87a2, 0x5d1532fd
+0xabe3b5ae, 0x75fb5f67, 0x7312feb6, 0x16cdd974
+0x8e62b5a8, 0x7054d0d2, 0x2ed032e8, 0xc91147eb
+0x7dbddc71, 0x6f095c1c, 0x98a48983, 0x6b1aed1
+0xa6d6ae3c, 0x20f4888d, 0xa2ff7321, 0x4ccde447
+0x92a0955b, 0xc62db688, 0xfa7591f1, 0x19a8c001
+0x559b18b7, 0x6fe12e2c, 0x18bdf657, 0x79398635
+0xea30633f, 0x207f6d0f, 0x5be67f32, 0x335c9d3f
+0x9ba6347f, 0xebfb5673, 0x63ddf16e, 0x6f134ae2
+0xbfefb776, 0xa4617d14, 0x9c7411a4, 0x291dcf08
+0x1954aed9, 0xe3c7925c, 0x41374a00, 0xa7cc2832
+0xdd54629f, 0xab81b50c, 0x7ab1cbd, 0xea8dab11
+0xe6f93c8d, 0xcbab4f09, 0x8f1fe8fe, 0xee01ede6
+0x85267e8c, 0x61e5330b, 0x12542982, 0xfdf1f303
+0x42095d4a, 0xeb3fca7, 0xa93cdc56, 0x400469eb
+0x444c470e, 0x89852958, 0x51e0c508, 0x295262df
+0xcc722bb9, 0xb541f8c8, 0x864aeae0, 0x414761f0
+0x4ad9af72, 0x87496bbb, 0xec3ca2ef, 0x5f4aa9ce
+0xd17c3608, 0x56e1c14a, 0xdf73a8fd, 0xd13d97b0
+0x83a853a6, 0xfac6f300, 0x25db14f4, 0xfb598c90
+0xf5d53667, 0x931bc23a, 0xcd3e2bd6, 0xe05a1ba6
+0xf6d2e4ea, 0xd477bec2, 0xf658d119, 0xf61bbcd8
+0x536f644, 0x4818a8aa, 0xc54e4e71, 0xfbaf1a18
+0x93b1aee6, 0xa1877c6c, 0xb183713b, 0xfbdcd409
+0x6ccf822b, 0xfe8dba32, 0x47e13049, 0xbf27c3bf
+0xd54e9fa6, 0x86e31082, 0xac5623d0, 0xee5295c5
+0xe9eea95, 0x4d8a5a85, 0x1b8174d4, 0xcb92e7a7
+0x7f04f54, 0xdb481c2e, 0x831271d0, 0xc5eb0011
+0x20c55390, 0x48cbac3a, 0xf44f45f7, 0x7438e130
+0x38ee02cd, 0x33037bfb, 0xb52f2088, 0x9ea5417a
+0x26fd4ec1, 0xee9abe8, 0xe17dfcca, 0x9b000fa5
+0xa6db8a79, 0x638473d5, 0xed3099bb, 0x57e43a3a
+0x246a9aad, 0x8b19abeb, 0x24686a81, 0x7d50e9ad
+0x9ef9fddb, 0x454c0453, 0xee2a77d4, 0x93df806
+0xb054473, 0x545b98c4, 0xfa2b2b06, 0x2795e22b
+0xffb13319, 0x3b996846, 0xa7d1055a, 0x6e95d991
+0x75ec8fb8, 0x1493fc08, 0x9d8b575f, 0x1222e6a5
+0x6e630ffa, 0x2030561d, 0xe9c32ea9, 0x7ce66f69
+0xa9b0fac2, 0xe67087a1, 0xaa024d95, 0xbc5069fb
+0xffed84b3, 0xb64d86c0, 0x7a6a0cf9, 0xbd412ad6
+0xc17356ff, 0x613ab3d0, 0x5e419312, 0x5f709785
+0xe94340a, 0x3d1f175f, 0x909de22, 0x7179f889
+0xb622ca58, 0x56f6dd64, 0xdde7bb8e, 0x7b226847
+0x8b9ef8f2, 0x9248d402, 0x334efa8e, 0x6ce56c7c
+0x258a8a74, 0x1a50b2d5, 0x18d54442, 0x93413627
+0x7cad27f8, 0x8c4d5cfd, 0x7f16827c, 0xa53429ea
+0xc70adff7, 0x9107390b, 0xd514595c, 0x6b3c653c
+0xd1d6e0c3, 0xc75e6b, 0x6235436e, 0xb170bb87
+0xf45dfbc2, 0x449b602d, 0x9edc60e5, 0x69e5f6c5
+0xd1a153c, 0x85a20a06, 0xce6c09c6, 0xcea3be9b
+0x170ad880, 0x4ff7a04c, 0x114bfe90, 0x45020f3c
+0x4e816cac, 0x9aaebdbf, 0x6841a418, 0x3b4f2a
+0x21111e66, 0xfa694e3f, 0x38d36514, 0xa2b85c5c
+0x5eb19889, 0x50309cca, 0x3b56ec51, 0xc1150cb6
+0x4d7b6c46, 0xa8388593, 0x61bbe7c, 0x9469413
+0x7069abdf, 0x7447eec7, 0x31e881f8, 0x47eb26ce
+0xa5ca1c5d, 0x86ab4db3, 0x3e1a024b, 0x884338d2
+0x9a2cbfb8, 0x8e69e2d3, 0xf74fd167, 0xf1c6e0bb
+0x87f709f2, 0x6c55a5b7, 0x9b66affb, 0xf0368424
+0xb8da8554, 0x1d1d1192, 0xa7670222, 0x4f9e2810
+0xfc979ec0, 0x2b3a53e4, 0x830b8a3b, 0xc8feae4
+0x4f35d720, 0x53a03130, 0x703fb44e, 0xe6868670
+0x31cf77bc, 0xed1591f1, 0xfad8785d, 0x29b07623
+0xefa3e4, 0x8ec2e79f, 0xc7f03877, 0xc5b72848
+0x16d2753b, 0x3c9609a9, 0x3bac122f, 0xb2350a47
+0x1e3c482b, 0xe7eeb7f0, 0xac621c4e, 0x4e6acf2a
+0x85787e54, 0xa1063df1, 0x21a5a3aa, 0x769ffcdf
+0x68f13e71, 0x79a16ffb, 0x1f50deb, 0xc6300472
+0xab2efc6f, 0x3112b462, 0x452ec58a, 0x8683445e
+0xf5b09516, 0xc64411ab, 0x1ef2bbcd, 0x575c5eaa
+0xd7264caa, 0xdc3c4d6c, 0xbf699ae0, 0x315cc36
+0x20c0462f, 0xcfe50122, 0x3dfe83c5, 0xc16af63f
+0x188cce06, 0x81bc3c50, 0xdb2f4c54, 0x63e0e74
+0xd9484cf6, 0xf045126c, 0x5ff590ed, 0xd868b5ec
+0x97a4815, 0xa45b4c50, 0x3843f6a, 0x89c37471
+0xef5402ca, 0xfcb3d2aa, 0xe84ad9c9, 0xf0b85fa1
+0x23f7af79, 0xcc77e06a, 0x4da81f, 0xbc9f2663
+0x43fea4a7, 0x689d2945, 0x83f41f79, 0x2671dc75
+0xd117cd3d, 0x67568810, 0x5060de47, 0x3717bf77
+0xf24f1264, 0x8e93d48c, 0x4d8c7d09, 0xa54386d6
+0x18a0c4d1, 0xfbd0d0bf, 0x9f2a6abf, 0x842fdd44
+0xa0a351c8, 0x524874fa, 0x5b7833f1, 0x6a3ea190
+0x8a8d654a, 0x2f1acefd, 0x8426203b, 0x844be522
+0xb12df02d, 0x27fbead5, 0x4a849bc1, 0xca70e659
+0xb5bec7e9, 0xbc1cdc48, 0x390e590e, 0x92c5d952
+0x83a206c1, 0xf2bd4966, 0x1c5ebcba, 0x491072f7
+0xb641da5e, 0x92420bab, 0x50e58c36, 0x92c5a00d
+0xfb00dd7f, 0xc7c4824c, 0xf3486fff, 0x6387ceca
+0x67d2a38f, 0x584e1806, 0x3c2ef2d8, 0xb1617930
+0x50c58c19, 0xae4b5226, 0x6bfd4287, 0xe3aafb10
+0xd8be2c82, 0x1c566179, 0xa5b0eba4, 0xa76fb0e0
+0x3fbd341b, 0x7fb87140, 0x16c542b3, 0x7ecf1602
+0xa5f66e99, 0xf08b3457, 0xee22d2b8, 0xe291c87d
+0x4c9fc1a7, 0xb359af7b, 0xd60578f8, 0x63597f2f
+0x704453f8, 0xeadf0e6f, 0x342b292f, 0x16e37e1c
+0x7415eb4f, 0xdc687630, 0xd73b7814, 0x338172ea
+0x15e9e155, 0x44a82953, 0x6d206bc6, 0xc0b3df79
+0xe29aa3b5, 0x7585d329, 0xb3eb0667, 0x979bfcd7
+0xcad4834b, 0xf5853466, 0xb193ec88, 0x7f6d1efe
+0xae1da438, 0x683f22f5, 0x7f9d9ea0, 0x59be8cd4
+0xee0ff046, 0xa1817fc6, 0x3c7a0509, 0xa4750f25
+0x2e158f9e, 0xfdea8911, 0xfc49b7b1, 0xe3a0244a
+0x10fdabe6, 0x56a75b0e, 0xa817a773, 0x82a74857
+0xa336a0bd, 0xb3cf7765, 0xe4c4ea59, 0xb18124f5
+0x1efb517d, 0x8f0a2f07, 0xbd5c2941, 0x1dde7a92
+0xccc1e104, 0xefb60237, 0x15a283b, 0xe6b68842
+0x5d1c1eb1, 0xaaa1f821, 0x7663ce10, 0x1d2523c9
+0x7dec96e1, 0x2183d818, 0xaa2398e, 0x2919d1d
+0x3c5d641c, 0xfa9ebf23, 0xe9fa442d, 0x29c16432
+0xe200edef, 0x32fd4aee, 0xe90c98b2, 0x61f9fd99
+0xd0c5ee15, 0xee86a73b, 0xa46ec94f, 0xcc37521e
+0xbd037a48, 0x42415b2a, 0x48b0abea, 0xb6b26a65
+0x89a555df, 0xe47212b5, 0x81904a8b, 0xaea08d29
+0x2923bdc4, 0xde18ce6, 0x1d201ad7, 0x5acc12ca
+0xa527ac6d, 0xe1a1633d, 0xcff60f0c, 0xdb5cb8bb
+0x152227a9, 0x9b4a1063, 0xbea64cb2, 0x29cc049
+0x64caf5f0, 0xabc03fa7, 0x5d8ee8e9, 0xdb35bba0
+0x85321f08, 0x94c14a4b, 0xc7cef4f7, 0x448bdd81
+0x7b97aec3, 0x95f405cc, 0xeb78ba40, 0x926e174a
+0xbaee835, 0xa21d612, 0x17a6bf8, 0xa0ccd1d5
+0x7a6ad0be, 0x7e3c527b, 0x7193dce3, 0x21052646
+0x253e1acd, 0x12b90a52, 0x681df045, 0xa5814c4a
+0x678165ee, 0xe3a22525, 0x28bddfd, 0x9868831
+0x1b5fdfde, 0xa72318c5, 0x6da08564, 0xff3ae0f6
+0xf3a9b583, 0x7b68a1f7, 0x221713e1, 0xc951f632
+0x3eabdae4, 0x61bc0072, 0x25644780, 0x73b1fa7
+0xccb2a42a, 0xaa13f91a, 0x82297617, 0x3a1952c5
+0x39c8874c, 0xc93940dd, 0x570c2a51, 0xd0a7c58a
+0x12671b0c, 0x119c652e, 0x9ebe2d0f, 0x123f771
+0x1133cd69, 0x492800e0, 0xf2d5bcff, 0x17d9485
+0x5c3bd606, 0xda319ab1, 0xc22d1d8d, 0xaa36abb3
+0x82f0f0de, 0xb138788c, 0x423d9ff, 0xea2f1cba
+0xdd9b1a34, 0x39859074, 0xd1a6c1a9, 0x57d17190
+0x1bcd5aaa, 0x28fd685e, 0x6853c29b, 0xb678dc47
+0x80f2f6f4, 0x6fe0545a, 0x22cd60c6, 0x6209d7b0
+0xd27a33a6, 0xb172cfe8, 0x261e4eeb, 0x7e41010a
+0xa1a1448a, 0x427d7a4b, 0x24ccb788, 0xd9974123
+0xf8376f5, 0x93b80ea0, 0xb68db9f, 0x43d63e5f
+0x7a310c18, 0xa080d19d, 0x978235c7, 0xb39fb5c4
+0xa3a1f759, 0x3bb2ba25, 0x2af86a26, 0x7499be13
+0x48740187, 0x331c8aa5, 0x12c0c47b, 0x5b40dabb
+0xbf743446, 0xadc9e56b, 0x18c9d036, 0x27b3602d
+0x680b2d17, 0x5e8a36bf, 0x1d2dc8a7, 0xb5aeeaa6
+0xb3e36064, 0xa7ee3b87, 0xd6682095, 0x67f7903d
+0x44fb184a, 0xaab407cc, 0x55932d5b, 0xd8862db5
+0xafbb6451, 0x1a294b62, 0x635f0746, 0xf86f044a
+0x549940af, 0x194d29f2, 0x483180e4, 0xe6ba52d2
+0x41391fbe, 0x721caef3, 0x83a58280, 0xaf476fd0
+0xa9583df, 0xcb130879, 0x6a136cde, 0x547f8ee1
+0x3662e217, 0x3acd43bc, 0xe7b90fb4, 0xbdd2c9dc
+0xaca2df54, 0x3b0e7d05, 0x1a1b30f1, 0x391824f5
+0x7186b953, 0x52bb48e5, 0x739bc0d5, 0xc032ee10
+0xb3cd3648, 0xe38b7b7f, 0x6a21f02a, 0xb4081250
+0x6c00ab4b, 0xace9cc7, 0xc4dd4ccc, 0xc56e7e9b
+0x8bc33d9, 0x16f43f99, 0x7d738f47, 0xbd094293
+0xf18882f9, 0x98cb621f, 0x8f258f53, 0xe9a600c7
+0x22314622, 0x22ecec73, 0x3197bd4b, 0x82197168
+0x5af8c454, 0x150762ef, 0x3348d549, 0x451f070d
+0x9d93e6ac, 0x9b2ee7c6, 0xee59d423, 0xde563c43
+0x76d15035, 0x1b1fb4e4, 0x61c8da72, 0xae4a752f
+0xe2a90f64, 0xfcc3f15e, 0x4c4d6875, 0xe1e76a83
+0x71fb66b3, 0x33458471, 0x72fdefe6, 0x6535cc98
+0x787bc82e, 0x1938ca1f, 0xd2547587, 0x35edb1dd
+0x699deb2f, 0x6a6aad37, 0xae933fd0, 0x5f5d67cf
+0xec564cf, 0x865aaa3c, 0xc1c94cd8, 0xe6219f85
+0x1528fa81, 0xd37388da, 0xbdb10700, 0xdd2e422b
+0xcc95a962, 0x961c1b10, 0x63a078e6, 0x440f9142
+0x35d2abb, 0x88643926, 0xf2b22caf, 0xf82b855b
+0x7ef9677c, 0x3c913f3e, 0x19cbb308, 0xdb1aea9b
+0xe0cedaa3, 0x8c72eff1, 0x66a0b19f, 0x660d78eb
+0xb0523ccf, 0x2d059cdb, 0x1bac46e7, 0x8504aa2b
+0x80759294, 0x33add1eb, 0x1307be28, 0x32b02b5f
+0x30eeb446, 0xd2756ebf, 0x6110fd73, 0x1a2290e1
+0x9af17bd6, 0x518adf18, 0xaa37fdee, 0x34d90799
+0xe5fd80fd, 0xa3529f49, 0xda58760a, 0xf52db54
+0x1c010d29, 0x62f8a328, 0x413c3e74, 0x70a2a15
+0xbab6e100, 0x4edca554, 0x7e5d9ba9, 0xa9f4dd76
+0x7fc0c22b, 0x94ec923b, 0xf3ed87d3, 0xe792e4eb
+0xeca64183, 0x6460844b, 0x4fbaf87d, 0x50ac78e9
+0xdb7f751d, 0x26840e93, 0xddb0208a, 0xde9e6622
+0xe9618ddd, 0x5ceb80e7, 0x4ec9f278, 0x9f81e6b3
+0xb9429029, 0x7c9f1161, 0xd3514693, 0xb98d167d
+0xd41d8560, 0x32b1f66f, 0x628dc9e2, 0x63f755e6
+0x7f1f316e, 0x333537da, 0xef3487fb, 0x5d987bc8
+0xb1fe81e8, 0x811f4fee, 0xc5b5463, 0x3a78ffb9
+0x946610c, 0x5c09df, 0x490542d1, 0x528ff6f0
+0xdf32e5cf, 0x29e1b871, 0x2feef2d3, 0x120890e4
+0x697b1bb0, 0x24f06881, 0xa1aeee74, 0x4e9f1297
+0x948fdc37, 0xd5f44dce, 0xf904aa05, 0x635334bd
+0x50bc15f3, 0x40f3031a, 0x4265b999, 0xe5bc3fa6
+0xd1993127, 0xda60d098, 0xc4f94480, 0x9c9abf9d
+0xc49b309d, 0x45c1139b, 0x47e2237, 0x5b539d04
+0x3d1f8c2c, 0xcbc1358b, 0x566e861e, 0xf0cf1729
+0xc76b5046, 0xe316cd1b, 0x9ce7a91e, 0x208de9a8
+0x8028ad53, 0x9e7b7d58, 0xb810ef50, 0xf0e5a309
+0xb147a1cc, 0xf06f1dcd, 0xcd4e4933, 0x277fb8b6
+0x77f89978, 0x41809239, 0x8015f75c, 0xb75f6c5a
+0x148ade05, 0x73e9ff48, 0xc93eccc6, 0xb87ee725
+0xdd24897c, 0xbafd2300, 0x55d34632, 0xfb6b4185
+0x8da25e3d, 0x422f9109, 0xe4dd3418, 0xc5cb79e5
+0xb8fe5623, 0x134f8d27, 0x9ea5ef9b, 0x96547101
+0x61662606, 0x2309e728, 0x5975045a, 0xd3912101
+0xc3f77679, 0xd2db396b, 0x171889e7, 0xebb728bf
+0x54f08130, 0x2fc6b961, 0xadd98a6e, 0x989d0ab4
+0x570eaabb, 0x5b0816cb, 0x3c25451f, 0x41dc86b0
+0x519eb7a4, 0xe0adb356, 0xd6d80411, 0x3e8a0b45
+0x8c2d2ed5, 0xc0411ee2, 0xef431a0f, 0x8b66fd6a
+0x2e61a59d, 0xf411d477, 0x32011de8, 0xa1460ef2
+0x8f211bd8, 0xc06811b9, 0x6b951749, 0x3ba6ba80
+0x12c032ce, 0xaa0b9062, 0xb87346be, 0x642b52cd
+0xdc426ea3, 0x730ec245, 0x64bad806, 0xee165598
+0x1912b00b, 0x3c4a6c01, 0x5ce6793b, 0x18bccbe3
+0x4718c7a7, 0x10142a70, 0xd8e2643e, 0x8f594d21
+0x8af05690, 0xae2094b5, 0x1fafdda9, 0x3e4fbdf7
+0x55e8504c, 0xc11d68e, 0xb4b64f33, 0x301cc0fe
+0x8a8d7d84, 0x9c0c018b, 0xf7e9a35e, 0x3f13cbf7
+0xc6c732ce, 0xcc5ced62, 0x744133c7, 0x4b22de30
+0x58b86be5, 0xf2e0a3be, 0x98b5aa36, 0x58e780d3
+0x99d0568e, 0xe87e27ba, 0x63a6c2db, 0xe656bec3
+0x1db080ea, 0x15c60066, 0x77ad449f, 0x43920d62
+0x1e0f4721, 0x6f7e30c9, 0xeca03d9c, 0xe1f011d0
+0xd8c80f14, 0x99a2c1a0, 0xae0d1a9f, 0xf7c6ad3f
+0x4ad31d23, 0x63be60eb, 0xd4d5ece9, 0xa9f4135c
+0xc2b0f232, 0xfbb268e0, 0x6af528ca, 0xebd48782
+0x23919301, 0x9dbd4d4c, 0x6010b963, 0xbed8ca80
+0x7960e796, 0x3f9b0dad, 0x612449a3, 0xbf978904
+0xf02ef517, 0xfee7d4da, 0x914e6acb, 0x5ce2d065
+0x340cc27d, 0xfc12c09c, 0x2d18da5e, 0x5810e9df
+0x7624e356, 0x4ff0c4d3, 0x70deb5b0, 0x7df6661b
+0x41df3562, 0xc7518622, 0xd8439c02, 0xaa19b740
+0x1be1fbe8, 0x6e0846ad, 0x76b09c43, 0x559f00e3
+0x30c82cec, 0xa53e99b7, 0xdc779f9a, 0x2463b1f3
+0x6b263524, 0xde39ccb3, 0x8d510868, 0xf7726914
+0x1dda70a4, 0x2b0b2577, 0x3d439fa6, 0x1a6aaeb4
+0xf659467d, 0xeb250447, 0x5d52eacb, 0x9766d5c8
+0xda991861, 0x2b111c3, 0x55411a98, 0xde330972
+0xa591bcfa, 0xa9aa6676, 0xd629d3a, 0x18927551
+0x4a487832, 0xde2cad16, 0x569f846, 0x903461c0
+0x6669ccc8, 0x7486237f, 0x78302af, 0x28679884
+0x4ca470bf, 0x177a1d66, 0x2249ebe2, 0x6b0360aa
+0x23c5eec8, 0xf1ad0ff2, 0x20a0c2b7, 0xc12073c2
+0xd879b313, 0x29f7499e, 0x528cd91d, 0xa527c073
+0x4f3cb413, 0x89b6a38, 0x9bf02bf1, 0x8be7cce5
+0xda994578, 0x314bb5ac, 0x9bc8095, 0xb6f398e6
+0x26d79f0b, 0x23f03183, 0x5a827a7, 0xa9cf1773
+0x85e15d58, 0x1ec2403, 0x83d5c4a8, 0x95d7f5f6
+0x32dee0ee, 0xe72a14e7, 0x39627d85, 0xba78cb25
+0x6ddfe3a0, 0x145446e3, 0xc55b6175, 0x6dc9403b
+0x761ba617, 0xf046f2e8, 0xab074d3d, 0x204f9771
+0x9fb58da, 0x44625861, 0x4cc002df, 0x7b1e36
+0x54c54e83, 0xf4fcdd03, 0x6cc8fb22, 0x685a7cea
+0x6f80fc7a, 0x3f631ce1, 0x49e0e784, 0xb6da7bfc
+0x922d2521, 0x8e209566, 0xf0810fa3, 0x2543a49f
+0x1ce7a70d, 0x15474206, 0xc934f318, 0x17bdfbb7
+0xa9782caf, 0x64e9eb8c, 0xb2d90c5e, 0x87f2c09f
+0x5b1cbb85, 0xfbf30990, 0xfce5d4b2, 0xeea12716
+0x8819b49e, 0x55a0edc5, 0xb56a2f98, 0x53175f5d
+0x7e4af593, 0xe5c33dd3, 0xb2f65ef8, 0x88169ff6
+0xb03eb83f, 0x5f0e4bb6, 0x172d99d1, 0x2455c2e0
+0x8344300e, 0xf7dd552b, 0xdec771a0, 0x79e2e49c
+0x897f52a4, 0x5ca565f3, 0x24c14211, 0xdc48d5a
+0x59257e2d, 0x96849788, 0x864eb663, 0x856ffbe3
+0x32e56ec0, 0xde698ff9, 0x53bf7701, 0x6912e29e
+0x4f34c903, 0xf94e9ed6, 0x42bf98c9, 0xe19a966f
+0x80503dec, 0xbfade023, 0x70f49d3f, 0xb9dfd059
+0x901292cf, 0x4c175391, 0xc194fa76, 0xba99fcca
+0xc9ed30a, 0x5166cc98, 0x76b4b1d, 0xf55b8e61
+0x58dfd4a5, 0xf7b1d1a7, 0x1cff1a86, 0xcc3a8653
+0xe0d906b1, 0x60ca8fce, 0x17e49b35, 0x528fad4d
+0xce2c6af8, 0x1882ca60, 0xbc2b7f81, 0x7bcae14c
+0x27f76e2a, 0xfefae7c4, 0xcacadee0, 0xcdd97f70
+0x37871a3a, 0x6bb6f8f7, 0x838460a6, 0x15b5c9e2
+0x71b9458d, 0xb0e4add8, 0xb9b255a9, 0xbd4af746
+0x9ce5e778, 0xce88ebbe, 0xd222c3a8, 0xa89a867e
+0xba154bf, 0xa854c3c1, 0xcceb3d31, 0x59c02665
+0x56b5138c, 0xe46f6a33, 0xbeec78d7, 0x213ee1db
+0xc4ff6fd2, 0x4bbdaa18, 0x1b4bad97, 0x47ffed55
+0xf815af6d, 0x304b3a4e, 0x860d1a1, 0x8fc47019
+0x284f6734, 0xd1a79e1a, 0xc7342562, 0x98497008
+0x25215dc3, 0x5eb1553f, 0x9840e9e4, 0x135e7abd
+0xc6aa8439, 0x2de238f4, 0x7f9a8c6b, 0x413d308d
+0x6a7c59f2, 0xe994a82e, 0x73d74eb7, 0xfdd8ccbb
+0x31c8573f, 0xe70dc627, 0xffd107f4, 0x1ea5c7aa
+0x900772eb, 0x80b615fc, 0x9d615014, 0x19900390
+0x3c4b6527, 0x76f5e1f5, 0x9db29a22, 0x91e714a
+0x82830313, 0x6f43b7bb, 0xb71caa4c, 0x9c72a28d
+0x227e4437, 0xad89833a, 0x5be78620, 0x287e52f7
+0x446b839d, 0xc1e99567, 0x158b7af7, 0x815c17e9
+0xf9cb64c0, 0x2db37c42, 0x7705db51, 0x9759451e
+0x8f4f519e, 0xefa3fd53, 0xe1c5955c, 0x46233d3e
+0x910691ec, 0x94bde9ea, 0xa28ffedd, 0x927fc5a1
+0x8f110190, 0x32cc8b9a, 0x52af9a3e, 0x92ba27c
+0xcd377701, 0x8a697ecf, 0x4529c597, 0x244a960f
+0x5caa8ad8, 0xdf626111, 0x4c1c8aee, 0x99f235df
+0xdaec48f1, 0x74ee10bd, 0xef09da5e, 0xee38980d
+0xfad74acf, 0x8bd335f7, 0x689faac, 0x8ea0ce1
+0x479c52ee, 0x4cee55a7, 0xb25edd41, 0xdd199872
+0x9df002e0, 0x966ad04e, 0xdd47116, 0xbc7e8191
+0x51b8f70a, 0x31195f0e, 0x1169dfc6, 0xbafddf64
+0x397ea736, 0x459d772d, 0x2a118531, 0xc7639bbc
+0x420bc78c, 0x29a2394d, 0xaa07f711, 0xa96a83b2
+0x46cef638, 0x92a9c9ef, 0xb9f16f5d, 0x4a958401
+0xa160d3b0, 0x4042d070, 0xee8256d4, 0xe97c2dfe
+0x9f014ed7, 0x1f4fe7, 0x6c5b7ced, 0x80f944d4
+0x55ed13da, 0x2586f6ef, 0x90be1a50, 0x51f999e8
+0xb4fcf1c8, 0xdb97deb4, 0x212ecc7d, 0x8c1f1e9d
+0x4293c4f7, 0xfb875cbc, 0xfd0eedbb, 0x41ea55d1
+0x5637f81, 0x84eb03f3, 0x626bc121, 0xb3004ac7
+0xef13cc73, 0xb3ba04c3, 0xf107f46b, 0x59c2aa76
+0x93e8c02e, 0x6399c958, 0xc3c11f96, 0x575b05d0
+0x463e42ca, 0x22712504, 0x5690dc1d, 0xb565a56c
+0xe90543a1, 0xea1de8a2, 0xeedaee02, 0xcc67108c
+0xbc855a29, 0x88c758ad, 0x7a530614, 0x7a25d9e4
+0xf5df464, 0x5e983d69, 0x7d50cf69, 0x6794b649
+0xa462f934, 0x7ac5d66e, 0xf35d2406, 0xfe6c4d2b
+0xa7e65114, 0xdb6e1e88, 0x27c7e01a, 0xbdfe008e
+0x34796ba, 0x5ebab58c, 0xd7f55ae4, 0xa139f493
+0x398a45a1, 0xff93f929, 0x52432511, 0x9f3b7dfb
+0x433ef08e, 0xb2a70a19, 0x6f55e3f7, 0x321bc65b
+0x3e4a702e, 0x4e7be74a, 0x72378d12, 0x5694f41d
+0x60264090, 0x2a6cb53, 0xa12ca14d, 0xd409d296
+0xc9f72236, 0x12b8ddd3, 0xa4d8b5a8, 0x38234420
+0x27e986ac, 0xad15d0d1, 0xadb9dc2b, 0x583b4a15
+0x189c6bf0, 0x867d96d0, 0x2af01063, 0x4c56882f
+0xe0b548eb, 0xdb617815, 0xbf18c1f5, 0x4d3a7881
+0xb860c6d2, 0x69cbfd65, 0xd591643e, 0xe57ea9c8
+0x4cbb776, 0xe7e44874, 0xacb51cef, 0xd3525f4e
+0x2d81a8d3, 0x6854e63a, 0xe4e53a06, 0x80d083d8
+0x82d6673e, 0x35fe872a, 0x6b837052, 0x1093abf2
+0xdc485a87, 0xebd60708, 0x674d4d50, 0x78d6b77c
+0x483b01d5, 0xaa23d8e6, 0x422625d8, 0x43b3ebef
+0x4ce017ee, 0x632b2d1c, 0x153da038, 0x92ead944
+0x3ed6ca65, 0xed3876f4, 0x9ba4d438, 0x83494412
+0x427c66a1, 0xdd9709b4, 0x46d5e258, 0x47a49554
+0x192d918, 0xfcfc08c6, 0x61f04d75, 0x7a18a2c0
+0xa7a1cc82, 0x6f02a855, 0x12bf3b37, 0xc50f2a03
+0x21de0103, 0x48645d88, 0x586d2951, 0x762a1e2c
+0x27f97998, 0x10731f72, 0x2c2b670e, 0x7d9468b2
+0x890988e1, 0x412e0fa0, 0x9172c095, 0x69720b4c
+0x96c8221d, 0xbcbb91fc, 0x780ac1d6, 0x20374dec
+0x171c1acb, 0x33c1ad46, 0x2ecd1f14, 0x5e6d3940
+0xa37e753a, 0x683e5ef, 0x8b2a4167, 0x565be62
+0x24835c0f, 0xcb5981c9, 0x1f1fd1e5, 0x3f3aba11
+0xf8533e9b, 0x65421a0f, 0x2cbd9f5f, 0xca04ccc5
+0xf56da8df, 0x26202d3f, 0xd8f87abd, 0xd737cfd8
+0xc3945291, 0xaa157895, 0x7fa76c05, 0xf3046925
+0x70347cff, 0xbadc54c5, 0x6637a0ef, 0x40a76999
+0x47aa91d3, 0xa6a7730a, 0x2ad78f2a, 0x83f96e96
+0x6a7862ca, 0x22865bff, 0x8c8a5219, 0x1327954b
+0x21b08e1f, 0x6736f68a, 0x1e54288d, 0xb488823c
+0xb72b32a9, 0xae2987c9, 0x53ae84d0, 0x61c8e5b6
+0x692cf2a6, 0x4f34d761, 0x8f3720ba, 0x7721665
+0x5eb0a08a, 0x438b0a5, 0x5f632dcc, 0x3a3a49d4
+0xcb56e910, 0x25c452ea, 0x66d09e9d, 0xbd5d7891
+0x687b24d5, 0xf37b63d7, 0x599ba7ce, 0xe6e69137
+0x9d490112, 0xaccbcab0, 0x89ef722b, 0x6e9e8bc0
+0x18320cf5, 0xfa2b18d, 0x5d6cb275, 0x1df02fd4
+0x5864aa49, 0x11e4712a, 0x7c83657a, 0x3694686c
+0xd3630a33, 0xb34703a0, 0x768a16af, 0x26ae6c0c
+0x1e3dbaa7, 0x3fd52344, 0x87c37191, 0xebb7850f
+0x101cbeea, 0x1e89159b, 0x17c1eef0, 0x8eea243a
+0xbeef68cb, 0x6b2ca0ee, 0x525d82b2, 0xcf951c7d
+0x805eb6f6, 0x4bf5c6ad, 0x7b72005f, 0x7607ead9
+0xf0e9d61e, 0xd06010d, 0xe43eb27c, 0x31623fc0
+0x3620a219, 0xe0920e49, 0x90f4f507, 0x8fa907ab
+0xf125f114, 0xc84bb3a0, 0xbabbb3c2, 0xa3f8642
+0x5add89ca, 0x402417fb, 0x3fd70dbd, 0x37d9e11d
+0x94985df7, 0x7039e236, 0x9630ba5f, 0x6e36e454
+0xe608c1dd, 0x3eed27c5, 0x18bc8f01, 0x8e7bb0c9
+0x35e0453a, 0x97e91592, 0x4c3cc119, 0xfd6b72bb
+0x414f6590, 0x39deeac5, 0xe1b035f, 0x576703a6
+0x106c2ac9, 0xf5251683, 0x8b964bc5, 0x38508a86
+0x4ff0bc9c, 0x1e886ce2, 0x50e161b5, 0x71f6317a
+0xd0a19809, 0x5cd19ae0, 0xc5921e4c, 0x660656bf
+0x69079b1e, 0xcbf1b7ad, 0x2d6a920d, 0x87283681
+0x4b91531f, 0x9603f951, 0x6021bd96, 0xce3211a8
+0xc10b949d, 0xaacd403f, 0x76c05497, 0xb701204a
+0xd168290d, 0xd82f6283, 0x2133963f, 0x8f79f19e
+0x4163216e, 0xc922e271, 0xaa5cc126, 0xff6b210a
+0xc35de145, 0x8f9e7059, 0x6539b367, 0xcec81f9e
+0xd4e91fa4, 0x461ef762, 0x47d8609e, 0x90d98cde
+0x71eb361b, 0x59757d52, 0xc57991a1, 0xf571fd8
+0x8acd9d9c, 0x32078bde, 0x64a29f51, 0x9b257ffb
+0xf56b571b, 0xc90d290d, 0xe193ad9a, 0x2d531701
+0xeec5c5c9, 0xb2493aae, 0x9ef8e161, 0x1facb7aa
+0xf403112e, 0xd8448d2a, 0xf8c42e84, 0xfc8ee83e
+0x6e99610c, 0x23544561, 0x1937918f, 0xd52a037e
+0x92b767f6, 0x60def8e5, 0x95481ae4, 0xb04fb33a
+0x3018a90e, 0xeb92470d, 0x72f3fb26, 0x42d79a0c
+0x39854c08, 0x8fd824dc, 0x12973df2, 0x8b22b1c3
+0x737e9cc9, 0x90a3ecca, 0x5bbd99b, 0x452a9bdc
+0x6e62085f, 0x59fd61db, 0x43fe0e46, 0x7ea380c4
+0x15d740a7, 0xde46b50, 0x415c9aa4, 0x2747c8bc
+0xcae2e06e, 0xf0e6bafd, 0x12097482, 0x84263a0f
+0x1568c1d2, 0x78ac5701, 0x93bd4a7f, 0xfaa11509
+0xb0b2c6d2, 0x98fdba07, 0xf6be5c43, 0xcf0eeb30
+0xba494dcc, 0x149a6f34, 0xdb58e73b, 0x811bece
+0x6255955b, 0xa4c436c9, 0xb9f4168, 0xce629dda
+0xe486b9a8, 0x8856f337, 0xf214efd, 0x94356904
+0x49b4d544, 0xfb024056, 0x2f30e577, 0xe9e5dc29
+0xbc729875, 0x39489804, 0xe261185c, 0x3e8f2c37
+0xe4dfc51, 0x5f379c20, 0xf09bfbfb, 0xa1cadd23
+0xf1131182, 0xac3ce104, 0x2bfbb44e, 0x500c9d5a
+0xd93256d, 0x825a1925, 0xe4de482a, 0xb9bee297
+0xc312115b, 0xe166a671, 0xe934e314, 0x87b108a3
+0x12a6da42, 0xb91cdb02, 0x59817f0, 0xc72ba3a9
+0x2de24c68, 0xde9bb9ff, 0x1300a5a0, 0x1138d929
+0xc60c781c, 0x405387d1, 0x9ea1152, 0x2ed5de44
+0x27e27aea, 0x8d1ff931, 0xb110bcda, 0xf7f18289
+0xa55e4e97, 0x7e4be525, 0xdc4d4e2c, 0xef592a62
+0x8bfdadbf, 0xfe8c10fe, 0x9c4478a6, 0xd908dbe1
+0x1944893, 0x1abb0203, 0x47c11aa1, 0xf4c62174
+0xb09f6dfa, 0x19aa67db, 0x24b35887, 0xd22abe7a
+0x8534ccf0, 0xc79e9cab, 0xd1a2cbb0, 0x45dfeb3f
+0x26ec6f92, 0x8eec4625, 0xdca1ea5b, 0x6433ef01
+0x63196390, 0x9a6daade, 0xf143c8cc, 0x30e9c0e6
+0xaf7c5fca, 0xc364bf5, 0x84b02452, 0x100ac694
+0x236cbeff, 0xbd7af3a6, 0xe74c2a46, 0x2799c3ea
+0x6df590e0, 0x65f49266, 0x3fda6883, 0xa88fe025
+0xc644618a, 0x6c510d6d, 0x8788202, 0xa468648b
+0x3dda9ade, 0x13b35ad7, 0xe276fd92, 0x29e9ee4e
+0x3bab6884, 0xe258a865, 0x89dcf600, 0x1f5c5e95
+0x7a6ae308, 0x66f53072, 0x867328f, 0xa37e726b
+0x6b96dbf2, 0x1006c4d5, 0x48e60475, 0xa997cc37
+0xe9c1f2b6, 0xa8461eed, 0xf0aa6684, 0x3d58a770
+0x9589ae75, 0x8759007d, 0x35ce5932, 0xaf7950fe
+0xe06a78cf, 0xe8a78a96, 0x98d4cc57, 0xa2688274
+0x12f19583, 0xa80fee70, 0xa2790c2f, 0xfd5d30fd
+0x38c8e801, 0xa63d253, 0x614af5ca, 0x8a27d28
+0xd56ce25c, 0xc140764d, 0xdf8a8d80, 0xf3a3db6b
+0x463586f, 0x4fa24e4c, 0xd2fb46ca, 0xfbdac1b0
+0xe1c189fc, 0x6692270c, 0xff38394f, 0xf65dca5a
+0x5905de62, 0x20a8dc1f, 0x8c90029c, 0xd5290121
+0x9ff21617, 0xbf7b962c, 0x4cc34f4e, 0x97133289
+0x7402a071, 0xd6c8a856, 0xfe9e9723, 0xd48bae91
+0x240e7cb3, 0x61e43c7b, 0x311e3522, 0x1eccc828
+0xb2d607cd, 0xeb759872, 0x43b9496a, 0xcdd6411d
+0x823b6ac7, 0x8f7c3e5f, 0xe1bb6d69, 0x3b93ad2a
+0xccf8dec3, 0x619b2499, 0x6ff21279, 0x74b1e4bf
+0x3f0c90b, 0xf3948573, 0x1147f7d0, 0x5a5631c7
+0xb545d83b, 0xf73e725f, 0xefc2aa2a, 0x936807bb
+0xa98d07e3, 0xf736f817, 0x898e41e3, 0x8a01d5b3
+0x3039a250, 0x23241119, 0xc9842441, 0xb6f24adc
+0x7a9de4dd, 0x2d2b8b5, 0xbdf16f17, 0x812b3781
+0xcbde2032, 0x53593961, 0x28cb157f, 0xb33e01a1
+0x1d9f9513, 0x87b5ace8, 0x38313f6e, 0xc987639e
+0x350a2803, 0x1f25c821, 0xd67fcec2, 0x32f30880
+0xfdf5dc4b, 0xc6f4fe0b, 0xf5254d9, 0x946085f9
+0x295933d1, 0x6a7ffb08, 0x60a678c2, 0x4654663e
+0x37a869a, 0xa6c762bf, 0x71c94947, 0xe6cec4c0
+0x96f51173, 0xb2171c02, 0x972085b, 0x1440b26c
+0xcf95918e, 0x5615125b, 0xb23a1482, 0xdfeb4989
+0x2a2790ff, 0x1c5c6b90, 0x303a9b2e, 0xdf8c2373
+0x6d227eb0, 0x9cf2f720, 0x6362079c, 0xfab89bd2
+0x8558c70a, 0x4bb30ce4, 0xdfd7e0d3, 0xb31455f1
+0x7cc86db5, 0x51b90688, 0x24278932, 0x19406b7e
+0x3dddd47a, 0xdebd53dc, 0xe75d263a, 0x9f5276f1
+0xc73f207b, 0xd899de32, 0x7043089f, 0x94600a67
+0x4f313558, 0x4cd26a1a, 0x8cc340b8, 0xc1d4ccf8
+0xc49924dd, 0xd4bdb1eb, 0xc11033e8, 0x18da7e66
+0x7f5a3822, 0x695e49b5, 0xa8ab858, 0x81337268
+0x9e0379c0, 0x6a5eac55, 0xba40fd92, 0x5194c12e
+0xa8c58e53, 0x490c84e0, 0x2cb92611, 0x7fedf3c7
+0xe1d1e240, 0x56e314c5, 0x6e660174, 0x9f58d852
+0xd5159fd6, 0x180c2cf7, 0x9dd7ad07, 0xfe1b0bfe
+0x670193a0, 0x27bb5743, 0xb602ce3f, 0xc55fdb3c
+0xbbdaf3c4, 0xe98cbe89, 0xdf4b1a75, 0xdf5d7c67
+0x263c33c9, 0x9ba47e84, 0x2a01e6e0, 0xa1c69a03
+0xbde866d0, 0x83c552a9, 0xcd6a60a0, 0x74fa3eb3
+0x9e1297db, 0x9d3e33ba, 0x5af3a29a, 0x2c2352ea
+0xe5a3658b, 0x26226e78, 0xa3cdc7e3, 0xa0a46b36
+0x491a8278, 0xf8984f60, 0x186abbaf, 0xbe4aa731
+0xb9d8fba2, 0x4f20e1d1, 0x94f5c786, 0xe2d4ecc8
+0x3e66b547, 0x39ae06dc, 0xca107048, 0xefcc18fe
+0x87029729, 0x1c9ce023, 0x894ed4e, 0xb4e02132
+0x50445060, 0xb604c7fb, 0x955626c6, 0x8d7e8e01
+0x4cc0e37, 0x40124052, 0x5cfe192d, 0xc3f11db1
+0x22c04775, 0x48d269bd, 0x19f59a14, 0x9530d109
+0x18d50e0c, 0x51be9fb3, 0x258fdaec, 0xacc460c1
+0xd1bab7c6, 0x15782d67, 0x32b35705, 0x623a8533
+0xa5855f93, 0x8044f94, 0x176e52e7, 0x1f245ea3
+0x344eafa4, 0xe3369e4e, 0xb6bd1d4b, 0xb9d2ba08
+0x740d9067, 0x6e7b71f7, 0x6a1fe8c, 0x8eeefe77
+0x6f7129fd, 0x1afb0083, 0x111825c, 0x1dfd200c
+0x10d86566, 0xda568bfd, 0x6cbac73, 0x2fd39e4d
+0x1827957c, 0xfd0bad12, 0x7fec9156, 0x4a95188f
+0x41a8b6c0, 0xe19239a7, 0xed9841a4, 0x2c6e6587
+0xb6554a13, 0x45871927, 0x78f7374d, 0x52ea62f
+0xb260586d, 0x77fe7656, 0xe5d14cd9, 0x4ef9384b
+0xa452a340, 0x65744d1a, 0x26f672c8, 0x5b13c3d8
+0x9fb60cea, 0xdb332076, 0x95e3a8df, 0x50aa036e
+0x1dcc861d, 0x8775155, 0xa019bb5c, 0x4a663e93
+0xb7e06a72, 0xa86adc5a, 0x6bb7686c, 0x59e449fb
+0xdb874079, 0x74a826e5, 0x926138db, 0x616a5acb
+0x6a968559, 0x460df3e9, 0x5313b43, 0x986254bb
+0x6810cd12, 0xfc782c71, 0x4f1210e7, 0x53e246c0
+0xc6293547, 0x7bdfbbac, 0x340ea9fc, 0x9a49a44a
+0x5f094efc, 0x7eee8b7, 0xd0337179, 0xf09a07b8
+0xe9e743ec, 0x15f9856f, 0xa259d08a, 0xf76ec74b
+0x2a50672b, 0x16f6c5a5, 0xbf5cf3dc, 0x653248f4
+0x89a785f3, 0x42ff7655, 0x3617c204, 0xff09013d
+0x934fa46c, 0x4d2619bb, 0x990a8d97, 0x9a766d59
+0x1e85ab1d, 0x9157444f, 0x77a80f9, 0xeffca7ab
+0xb61392b4, 0x5b4ebfc8, 0x3b15b5cd, 0xcfdef9eb
+0x2f62b841, 0xe44d588, 0x14bcd8c6, 0xf6a90ed
+0x690ffdb7, 0x508a2745, 0xcae88257, 0xb73d5cfa
+0xb6a18047, 0xa27dcc3e, 0x19b621b5, 0xd9efbaca
+0xed1b95de, 0x1dab245f, 0x4ac23719, 0x8acb253
+0x6b410d1b, 0x400cb005, 0x3f2a0694, 0xb1178a91
+0x7bc01b7a, 0x306ab0ee, 0xf843f0e3, 0x59f5fc20
+0xfb5af447, 0xea07971, 0xfe873a53, 0xe36b88ef
+0xa316a68c, 0xaa2b94cd, 0xf53de0c1, 0x12e0ba4a
+0x2c46accc, 0xc86f7c7e, 0xe31dbcf4, 0xc5c9a057
+0x730b36d8, 0xb7554edc, 0xe0280b8b, 0x2e6c9d9a
+0x8b33f469, 0xa9955a2c, 0xeec66fdd, 0xd59a502f
+0x5b1ef5f1, 0xc3a2c310, 0x4dd5acb, 0xe103bcc4
+0xe07acccf, 0x27c2bfdc, 0xfd1f24d7, 0x3526004c
+0x56fb320e, 0xb495758d, 0x99cf879b, 0x6b33c2f5
+0xbc0fb2a0, 0x13dc87, 0xda2b4c6d, 0x19825e10
+0x470e9746, 0xb4583950, 0x8ee0b248, 0x7f580323
+0x59ace029, 0xbaf7c504, 0x640391ad, 0xd2a80dd7
+0xdef5b110, 0x54b6dda0, 0xa58dce3d, 0x9cfefa4
+0x44af58f, 0x4bf6b52f, 0x8ae92664, 0x4837325e
+0xb7318f73, 0x1382e727, 0xb74f9886, 0x757727c
+0xd39de535, 0x79a32a56, 0x1c0e091a, 0xee4a4699
+0xe1ae1f4e, 0x3c093073, 0x37fdd0c2, 0x35d28243
+0xda157ca9, 0x45a211c, 0x5d4df84e, 0xd37c9e9c
+0x29c288e5, 0x62035e49, 0x7ad03b62, 0x59c889fc
+0xbe59ee39, 0xf1bcaf15, 0xc4f51b94, 0x1aba2d2a
+0xf4c8a988, 0x662171ee, 0x1e9f6c8c, 0xda8fec5b
+0x626aa6c5, 0x59c5b89f, 0x7b9f93c6, 0xbb64839
+0x2494c140, 0xf946b33c, 0x1d701344, 0xa504aa9f
+0x42d6bbc0, 0x73ea8773, 0xa68c62b8, 0xa9b88b48
+0x92322bd7, 0x4799ec0d, 0xf2ea3d9e, 0x822b6f1d
+0x178eac2, 0xf6cd9842, 0x9bacbc8f, 0x8a3fa6ff
+0x4c0309ca, 0x1b292811, 0x53a3400e, 0xcd26d567
+0x37e64ff2, 0x8d0ec60, 0x94d381b4, 0xb67d2354
+0x33624043, 0xc084cc8, 0xb58b0e07, 0x30c4cd98
+0x6e57de30, 0x77cf8722, 0xb8898f0e, 0x33a5d1a4
+0x1d29644d, 0x772a80d8, 0xfb4f8d3c, 0x1b25d7d4
+0x6c454e7b, 0x6da73a97, 0x2d84913b, 0x5e8d3c2d
+0x379d549b, 0x431b6d54, 0x5da65957, 0xe1013ee0
+0xa6112547, 0xf630dd09, 0xe8852611, 0x88a884a4
+0x44395424, 0x70dcc1e7, 0xbd6c335a, 0x571745e
+0x2e6bb021, 0xfa4280ad, 0x21c36608, 0x4e352b45
+0xfbc5cb04, 0x4c458fd7, 0xd207e378, 0xf6972733
+0xe2e7b00f, 0xd3236bce, 0x6851afc3, 0xf8f99853
+0xccecf753, 0x35b283d7, 0xb9c77aca, 0x68cb4d35
+0xbf18b593, 0xcaf9f85d, 0xb7649825, 0xa5419f4
+0x19888240, 0xbea3e529, 0xc3abf622, 0x463b2552
+0xc733b35f, 0xd391bbef, 0x598f5c2b, 0x3208db81
+0x9f5507a3, 0x6058bea6, 0xda4d43a, 0xaef6cdcd
+0x917cd3f0, 0xa730ce10, 0xc5b08db1, 0xa4cf4fd0
+0x381c0de9, 0xd7387136, 0x6c92de5d, 0xb9c2374a
+0x58a20a3c, 0x26ac8704, 0x6f8aa638, 0x858a866a
+0x259f93bd, 0x3005608, 0xfe37f77c, 0x5d94f3d
+0xaea06052, 0x8e555efc, 0x39577e6e, 0x5cfda5
+0x6878350b, 0xa7cf50dc, 0x8d401347, 0x1a3d6153
+0xc524c23, 0xbffea23b, 0x9b465df9, 0xaf43e161
+0xbd941f66, 0x1b90da0d, 0xbca5e901, 0x687ff020
+0x7e5ff198, 0x36a9ae4e, 0xac5d046c, 0x55740438
+0xd97c3eed, 0xba9208cf, 0xdc9880a9, 0xe3fd6dca
+0xf379fcd5, 0x6148a00f, 0xc4ca5774, 0x4a470b38
+0x96428eda, 0x505ca712, 0xf06ec81, 0x68a11cf0
+0xfd4c3994, 0x3980934f, 0x7afcd974, 0xe4e57b8
+0xa2f67820, 0x6dc0cff, 0xa6866aaf, 0x41c932d
+0xaa3bf494, 0x80168ced, 0x62b419a8, 0x77f7ce97
+0x5254e55a, 0x98e6076a, 0xfd0c655d, 0x97e45e1e
+0x842c0cf, 0x2943d3e, 0x206bcf90, 0xbd54665f
+0x7294802f, 0xeb42b50f, 0x269c75a6, 0x687d2b51
+0x4c462757, 0x311eadbf, 0x394b975c, 0x3777e61a
+0x840f7361, 0x4fea98d8, 0x2f7668b3, 0xc3a5cc95
+0x81fe983, 0x6fc81f31, 0x135c11d1, 0xd0724796
+0x9b6e17c2, 0x57039793, 0x8a4e1ed9, 0x830687ff
+0x4b8ebe4f, 0xa0afc739, 0xd718dc35, 0x5f6986b4
+0xad2740b6, 0xb5adc7cb, 0xfa800458, 0x3a7baacf
+0x6b478d4a, 0x9b32b47b, 0x9b061067, 0x51a0489d
+0xb908440b, 0x2d88d434, 0x35544809, 0xe699700b
+0x42af1d01, 0xec4b6187, 0x32403454, 0x3cf32ba3
+0xf2ef1b4a, 0xce84f810, 0x4f00d43a, 0xe00d9a16
+0x8514e5fc, 0xcdf182fe, 0x84900f1e, 0x3c267e90
+0x29f0331e, 0x4b6106a1, 0x16ec8d20, 0x33b1cbaa
+0x129fee49, 0x3dedbff7, 0xda220001, 0xe010d777
+0xb52606f3, 0xb8c28a7c, 0xf637add2, 0xbfc2f2bc
+0x867d4aba, 0x8c6cc148, 0x98941362, 0xb58ee68f
+0xd219a1b2, 0x124dbec2, 0xcfbbab6b, 0x27a99962
+0x245326a0, 0x4de80922, 0x8699d57d, 0xfd9b38ff
+0xf636a437, 0x522b9aab, 0x7a1e2bbc, 0x5e741329
+0x7a81e94, 0x98939ba9, 0xf65fc9f5, 0xd6500b9d
+0xb316c27c, 0x4a32ea28, 0x733f9246, 0x8b850f42
+0x7971010c, 0x533660ab, 0xe737220a, 0xc44c581e
+0xe1e05a41, 0xe5b8c6f8, 0xf40f9a7e, 0x20e65b4f
+0xde4d1496, 0x535c8df3, 0xd5ca2721, 0x6c79cc71
+0xd1cb61af, 0xae50911e, 0xe4fa42db, 0x67097ee7
+0x16bd1c93, 0x27d96f11, 0xdd559bbc, 0x16f0f922
+0x7252bf0e, 0xf12df1ae, 0x53d55bd8, 0x196c1220
+0xa81bf4dc, 0xe172b7de, 0xe689814f, 0xc2b99304
+0x426ff241, 0x387410ce, 0xdf7e5e41, 0xd1797ac4
+0xaabf2fd5, 0xbc646237, 0xe27780c4, 0xf4be0518
+0x167c4c13, 0xf93dba8a, 0xb1dd51dc, 0x56e09df9
+0xf61f3b4c, 0xeb050d6f, 0xc7b2de90, 0x690975c3
+0x5da30e97, 0x5d9bb92f, 0x4403dcf7, 0x79475c0d
+0x28dd0905, 0xa400a35e, 0x4fc41fe, 0x8ff7c219
+0xfa89beb6, 0x871fd0d, 0xe5e3883, 0x712b0521
+0x47c7ff08, 0x4f6c6fd5, 0xc90ec318, 0x1e9b1a98
+0x3c4121f4, 0xab8558c7, 0x2742c581, 0xd4831ae5
+0x38495d10, 0x28563d57, 0x85a1c643, 0xd816882a
+0xf8719231, 0x768e9fa4, 0x66a4981a, 0xfe3e1a0b
+0x70058d32, 0x7711c907, 0x6c930655, 0x7cd6732f
+0x52634b03, 0x8b8ac09d, 0x3ebe66f2, 0xc51a81cf
+0xcef42d08, 0xd81f8424, 0x64c8a4db, 0x4420e0d6
+0x2e96e0b0, 0x47fa95b0, 0xa771f1c3, 0x24c5ca64
+0x85852c19, 0x26b217eb, 0xeaf93527, 0x82155bec
+0xc5b16846, 0x7c0031f5, 0x80a462ad, 0x2f4247c6
+0xad7d2767, 0x7289fd71, 0x25c411ab, 0x9772bcd6
+0x342ea6e4, 0xb660eb2f, 0x24b8ebb7, 0xe08c66da
+0x94d7a8ad, 0xe9369d98, 0x3c774530, 0x545b9170
+0x825ee892, 0xed9ae855, 0x3d41d119, 0xa0e93f70
+0x95467af, 0xa49b65f6, 0x173cabe4, 0x44a63138
+0xf7ac7848, 0x3e5a7de6, 0x467fc3bd, 0x1811a98e
+0xca65a9e6, 0xd90300b9, 0xd220b46c, 0xbf792160
+0xd279daee, 0x8828d9de, 0x13944872, 0x5aed643f
+0x14d5a7c1, 0xe0c0a42d, 0x670b9779, 0x47f9160e
+0x94cf9cad, 0x9e191dfa, 0x4a675103, 0x86554946
+0xa78f70d5, 0x665d16f4, 0x7cafe103, 0x38217471
+0xd5a61fc8, 0xab64eb89, 0x2af9dd0, 0xf320c3ba
+0xa2683df4, 0x5f44d858, 0x30f5ac75, 0x2d2e7a92
+0xf903f69b, 0x98f1aca8, 0x2d90ac32, 0xa6ee6433
+0x4bc911d5, 0x83cf6b49, 0x38e2a53a, 0x6c6c4d39
+0xdb6feeca, 0x81e2f051, 0x9985252d, 0xd677174
+0x6274a84c, 0x3d663c66, 0x4934b3f6, 0xaaa0987c
+0xd04467f7, 0x80c05983, 0xe839a84f, 0x9d420a2d
+0x8d71f457, 0xc439087f, 0x150f93bd, 0xc314d1fc
+0x5e1ee4b, 0xb459388d, 0xb38eee3d, 0x5ee300e4
+0x78c8f18a, 0x434afd89, 0x7642d88c, 0x2175f96a
+0x276b71d, 0xf13c3456, 0x83f6d2b5, 0xd9d64334
+0x122e79f9, 0xdabd4282, 0xa852297d, 0x2e6946f1
+0x21aaea69, 0x3268569b, 0x5f5f293, 0x814253c9
+0xc2497cd6, 0x5610fec4, 0xb3d2211d, 0xb93f75f1
+0x230d1611, 0x9d86d4e4, 0x59b21666, 0x27c993a9
+0x2043aae8, 0x16d81349, 0xb530a3d5, 0x5f441d47
+0x7c45206a, 0x626163c9, 0xed19a876, 0x91021fe8
+0x9e6ccdeb, 0xb81dbb63, 0x16a65226, 0x8218dd71
+0xd97f6ced, 0x4e6c2ff8, 0x5aa51b82, 0x87ac4a22
+0x5066e7ac, 0x8f503030, 0x1a2fca85, 0x4a2e5ddf
+0xa1688e34, 0xb9344f9c, 0xce64a21e, 0x101e9efd
+0xec88982, 0xde0d3619, 0x4b5165d5, 0x7169cf74
+0x4702494b, 0xdc5fb1fd, 0x38b571a5, 0x8b7003a0
+0x4fa25217, 0xce642de4, 0x40e1d946, 0xc1bd596f
+0x63fc18b5, 0x793f67b4, 0x36e72a97, 0x9b1741e6
+0x1d265476, 0x2c39cc2c, 0xd5f80aa, 0x56c82285
+0xa2bc3e3f, 0x629b0857, 0x86022d4b, 0xca670225
+0x7c3e7487, 0x9b172657, 0xd954d742, 0x4d5ff9db
+0x13eaa6b, 0x888a907c, 0xc00bebe7, 0xa2b19da
+0x26b4f336, 0x8065b089, 0x4adfd02c, 0x7e07f9d
+0xb3cfea4, 0x4624325c, 0x9f148e67, 0x92ec0f33
+0x4caa1c1a, 0xf4d33256, 0x39cdf50, 0x87ea3fe7
+0x11600a0f, 0x442f2b94, 0x660ef7a9, 0x8ffec15e
+0x617bd7d3, 0xf747d975, 0x949e3c51, 0x66e55c5a
+0x4ece7ce9, 0x8c30a3c, 0x69af9b81, 0x7a235659
+0x4f77a380, 0x118ddc8a, 0xc26b0daa, 0x6e52aede
+0xff67f6ed, 0x51ec715f, 0x869f3c0a, 0x2bc57e6b
+0x5d3c4a30, 0xe3ba461a, 0xfafadb63, 0x5252b4da
+0xf6892373, 0xb1ff4489, 0x9c64dd0a, 0x5c2eb54a
+0x9de1f4fc, 0x6f611e0d, 0x8fb7354a, 0x689de951
+0x502476f9, 0xd64e591, 0x6d946258, 0x7e582105
+0xf67b2384, 0x429e52ca, 0x68125fd7, 0x12c56d60
+0x88f97efe, 0x7b1d2c69, 0xb0916b4a, 0x24af31d9
+0x11d9cb03, 0x6f1cf848, 0xb4184f81, 0xa594b2a
+0xd510fac7, 0xe2c56ea8, 0x801b302f, 0xc0b18b14
+0xc05d43cf, 0x5c1a58b, 0x8890f99f, 0x7b072ee2
+0x8a4313f6, 0x20121569, 0xc9f59d7c, 0xac103b8a
+0x46bf5047, 0xec893073, 0x1a8c3f98, 0x11167605
+0xf2561f14, 0xd408d7db, 0x336c48e1, 0x540c8e5e
+0x14deedcc, 0x2d30a4ff, 0x8921d073, 0x395229ac
+0x58619422, 0xba50b447, 0xb2251fa2, 0x4a023c82
+0x5ebfdc43, 0xd862fc65, 0x5152da20, 0xdd89b342
+0xc5c85a1, 0xb4930bef, 0xf49ae47, 0xb5566962
+0xa07de3c, 0x9f95dc9d, 0x7b502c9, 0x56086be9
+0xdd0bf4a, 0xb192397, 0x827503b0, 0xacdadb88
+0x290da7a0, 0x45f671ab, 0xe72dda14, 0xc05ec6ba
+0xd94fdac8, 0x78e9b685, 0x2da08e03, 0x512847b4
+0xc81e369b, 0xffb9e512, 0xb27b6344, 0xe938789
+0xa3fd5452, 0xefe0fcdb, 0x9f0ead14, 0x2de9bfff
+0xcc4bacbb, 0xc03a72, 0x50082d48, 0xb4f948c4
+0x5d1b2406, 0x4e6f65cc, 0x48a59577, 0x23a6739
+0x50c4ffa6, 0x44f0bca0, 0xc61353c3, 0xea15d726
+0x4e9d8ba, 0x2c1771fb, 0xb8e87dc8, 0xbf0f8196
+0xd9b7425a, 0xe31d080, 0x21ff3c11, 0x6ebebfc9
+0x3b3044c1, 0x626412bc, 0x1d61d123, 0x23c562c5
+0x52ac5ac1, 0x4eec501e, 0x9050ed70, 0xc43b6353
+0xa02793b6, 0xa9eda9dd, 0x9d17ace5, 0x5945a014
+0xb26346ab, 0xc50f314b, 0xc98ad086, 0xdd6168a7
+0x72d33ffc, 0x6c9125f6, 0xfe8c8f15, 0x9b8fba3b
+0x70182e9, 0xf090565c, 0x23b3e493, 0x8c0b6a4c
+0x30f4383d, 0x962b7d1d, 0x3e170cbc, 0x47e82854
+0x6537d2fe, 0xb881a2ce, 0x77fc73e3, 0xf80db80c
+0x9cbbeb98, 0xb4ab5c65, 0x47636557, 0xc8b84ebd
+0x51601e0b, 0xe1cafc13, 0x74908102, 0x920022d
+0x80ea7aff, 0x6695b523, 0x946ff7a4, 0xa68ce20c
+0xd76daeaf, 0xedaa5a1, 0x7784da4c, 0x20068947
+0x1db63e23, 0xddb84cdc, 0xa59acef9, 0xee53a168
+0x1de15de3, 0x6496d2c0, 0x795b6eda, 0x5e1132c9
+0x6e8584ef, 0xbbd92a23, 0xa5cd301e, 0x53b9340f
+0x20797345, 0xc51a6930, 0x8cdfa2f2, 0x87062aaf
+0x2a3824ba, 0x502bdb59, 0xf8a10c5, 0x52a1d16b
+0x748dc39d, 0x3f25488a, 0x48ecab10, 0xfd5e349a
+0x96019dfa, 0x8764bc0, 0x3e9082e2, 0x2ec4fa7f
+0x2c99c870, 0x4e4a813e, 0x3767439d, 0x22d6ce03
+0x4138dbe9, 0x282620ab, 0xa778834f, 0x167771fa
+0xf0081582, 0x4510e0cc, 0x23460005, 0xefad389d
+0x745243a9, 0xc3cddf19, 0x71d920bf, 0xf4029816
+0xda9306cc, 0x497b2f21, 0x9413c99c, 0xbf1e8774
+0xf26033e4, 0xdd61d524, 0xd44e38a9, 0xc199243
+0xcbdceac3, 0x46378a33, 0xc9c139c9, 0xce761198
+0xc0244d9, 0x1cfcf55d, 0xa7aa619f, 0xc49d5df3
+0x9d1152f3, 0x3648b24c, 0xa9801343, 0x9b286b07
+0x71833a35, 0x956e026c, 0xfea14d38, 0x1b3099d
+0x49e8cb79, 0xd8b4dc6a, 0x6b44aadf, 0x62ff40e5
+0x36a54b9f, 0xb75c3ae3, 0x7a9c381, 0x3dd9d64d
+0x894c6df2, 0x61d5040a, 0x9dc987e6, 0xa2b8036d
+0x130557b0, 0x2c257da9, 0x68fba8dd, 0x2d505760
+0x1af58e01, 0x8740ec66, 0x93cc7e1c, 0x1797e791
+0xb939084a, 0x3b54b6c0, 0x2d4c06b1, 0x6d92e642
+0xf9a68383, 0xd76cf1f0, 0x5f5f4b20, 0x3bc1af40
+0x7472ecbc, 0xfb544212, 0x30b959fc, 0x9e6d36f2
+0xb241833c, 0xec5da639, 0x2fd914ed, 0x5982d409
+0x13dead1d, 0x836d461e, 0x737d1a8b, 0xe4c79c95
+0xe709e347, 0xcb8503aa, 0x3bc94739, 0x31943141
+0x37632629, 0x8e611406, 0x38706243, 0x8a0a7e55
+0x63e8516, 0x4129a900, 0xfe46e0b2, 0xdd2de2c6
+0x7bec6c18, 0x225fdbd0, 0xf4d3fca4, 0x7391c49a
+0x2504d709, 0x1cc8d383, 0xd77afdaf, 0x5439db86
+0x4b4637ce, 0xdb725a4f, 0x7069a0e5, 0x9cf14fdf
+0xd509bb83, 0xabc57f4f, 0xde553164, 0x6e43dddc
+0xe2563f3c, 0xf3e6f5e9, 0x51a44b01, 0x8b4ef0f1
+0x43b189fc, 0xb6ecc042, 0x1e7d8bad, 0x48bffbfd
+0x7b5ac87c, 0x6d1db815, 0x21f74cf3, 0x15cb251e
+0xaa0e7b7a, 0xdb19a8a9, 0x90467c96, 0x6f73661d
+0x88ee6ea8, 0xfb0a59be, 0x3bc1b57b, 0x325f79a1
+0xe8bab8e4, 0x4e8a275f, 0x1ea5afda, 0x4162086b
diff --git a/benchtests/inet_ntop_ipv6-source.c b/benchtests/inet_ntop_ipv6-source.c
new file mode 100644
index 0000000..f255c27
--- /dev/null
+++ b/benchtests/inet_ntop_ipv6-source.c
@@ -0,0 +1,10 @@
+#include <arpa/inet.h>
+#include <stdint.h>
+
+static void
+inet_ntop_ipv6 (uint32_t addr1, uint32_t addr2, uint32_t addr3, uint32_t addr4)
+{
+ struct in6_addr saddr = { .s6_addr32 = { addr1, addr2, addr3, addr4 } };
+ char dst[INET6_ADDRSTRLEN];
+ inet_ntop (AF_INET6, &saddr, dst, sizeof dst);
+}
diff --git a/benchtests/libmvec/acospi-inputs b/benchtests/libmvec/acospi-inputs
new file mode 100644
index 0000000..540f88d
--- /dev/null
+++ b/benchtests/libmvec/acospi-inputs
@@ -0,0 +1,2709 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.e9ba80c1b0cc6p-1
+0x1.0c06540e252bdp-3
+0x1.eda8e7c0a34bfp-1
+-0x1.fe8e777376d24p-1
+0x1.cb1673c92f0c9p-1
+0x1.e9ec316d0de94p-1
+0x1.7307e45a9bfb6p-5
+0x1.c16b847c92f30p-3
+0x1.cf0d270e371f6p-1
+0x1.129af5729ef19p-1
+0x1.bce5d0689ab4ep-1
+0x1.2952217220937p-1
+0x1.1c76822aee340p-1
+0x1.e24a2187c1a7ap-1
+0x1.f952508426fa4p-1
+-0x1.e800444223cecp-1
+0x1.edbc56657e3b4p-1
+0x1.5bcc935e4afc7p-1
+-0x1.e008619377db7p-1
+0x1.e7ca21e5cb233p-1
+0x1.c426411a0bd0ep-1
+-0x1.54b193e5a6106p-1
+0x1.ef45d30d3aaeap-1
+-0x1.0a7fa1bbcb68ep-18
+0x1.7b4f05763d852p-1
+0x1.dbc0233bcbacdp-1
+-0x1.f9ecd08896017p-1
+0x1.933a30bb5aecbp-1
+0x1.d87450bf54160p-2
+0x1.e74342dc955f8p-1
+0x1.e46ab59e4b1eep-1
+0x1.fde01341b468cp-1
+-0x1.989e4472a3f0cp-1
+0x1.e098a4166e777p-1
+0x1.566335c979611p-1
+0x1.596d3268f925ap-1
+0x1.219017042f1fep-1
+0x1.ecc867fb960bfp-1
+0x1.b60655bef4f13p-3
+0x1.f4a57127c7a0cp-1
+-0x1.f62ee5fe0cadfp-1
+0x1.3cd7211d9ad3dp-1
+0x1.9df0943df0ed7p-1
+0x1.ea161524e7d47p-1
+0x1.e55a50493b1a9p-1
+0x1.ec8561690ba28p-1
+0x1.f16282757d76ap-1
+0x1.51e1f7c96d12bp-1
+-0x1.9e34b40c77bdbp-1
+0x1.1703345163fc4p-1
+0x1.4bc66758655fap-1
+0x1.b153d53781d7dp-1
+-0x1.f9ad04c73d758p-6
+0x1.ee83a64fcc712p-1
+-0x1.26b3228cfdb15p-1
+0x1.a2c1325da062fp-1
+0x1.eacf918428269p-1
+0x1.210c161c12427p-1
+0x1.8f4653c521ef3p-1
+-0x1.3d666235ebc4dp-1
+0x1.fbf321159facbp-1
+0x1.fb0ae69837b58p-1
+0x1.e7add59a28c21p-1
+-0x1.b3931490e5c15p-22
+-0x1.62bb903865b73p-7
+0x1.d8d4c3d683cd2p-1
+-0x1.f414e43e31308p-1
+0x1.e85ef4b7677afp-1
+0x1.8e5c2284c58ebp-1
+0x1.350fc6069df8ap-1
+0x1.b156a051f0bd8p-1
+-0x1.cd2350b2a476cp-3
+0x1.f2cd66a92c33ap-1
+-0x1.e9d4a5abc7463p-1
+0x1.edf3474fdf1bfp-1
+0x1.ded3e00b45be7p-1
+0x1.ecca5018f3375p-1
+-0x1.f784a20ae007ep-1
+0x1.79cd244068e29p-3
+0x1.0520d4698e9c4p-1
+0x1.df7633193349fp-1
+0x1.eeacc7895ee01p-1
+-0x1.cbddd66bebde8p-1
+0x1.eaaab5eed4d48p-1
+-0x1.b786c6d51b98dp-1
+-0x1.61c366c7c79fap-3
+0x1.f6f55566f3c9dp-1
+-0x1.8455d26a48743p-1
+-0x1.f027619f4ec1cp-1
+0x1.4de6d77cd7b97p-2
+-0x1.2d45e43d1b629p-1
+0x1.dd061720e456ap-1
+0x1.3bfb31bd7ed4ep-3
+0x1.f35563c6fc9e1p-1
+-0x1.da4995d5cee72p-1
+0x1.a96983d9102b9p-1
+0x1.e004440ae8f05p-1
+0x1.e53b304fb4d06p-3
+-0x1.f03185a1019d1p-1
+0x1.8676b01d07ce0p-1
+0x1.ea1916d533f0dp-1
+0x1.03a04519c4e1fp-1
+-0x1.e8ac5756ef915p-1
+0x1.4d6bf1a203446p-4
+0x1.d981a70cd845bp-1
+0x1.1c125719eaaf8p-3
+0x1.e85fb3990f27ap-1
+0x1.e8e035a26d083p-1
+0x1.cbfe848a09c42p-3
+-0x1.e06e527c5ae19p-14
+-0x1.bbd103472cef1p-25
+-0x1.feed81508a469p-1
+-0x1.dab671cd03097p-2
+0x1.ea30578b17269p-1
+0x1.6d0684ce3aa60p-8
+0x1.66d50185eedb5p-2
+0x1.e74243adbcc15p-1
+-0x1.f64db1b1939aap-1
+-0x1.ebd6465bc4b63p-1
+0x1.e006e50dea620p-3
+-0x1.c2fcf77c4861dp-1
+-0x1.e632b5939513cp-1
+-0x1.9ab8b4c3cb0b4p-1
+-0x1.3a3bc41b1b0fcp-2
+0x1.3372c7d8d3206p-25
+-0x1.fd74373268dbbp-1
+0x1.f4e100915be05p-1
+0x1.9bc0232dfa0efp-1
+-0x1.cc03e1478de39p-4
+0x1.e93d0775eb299p-1
+-0x1.a2bb4749faabep-3
+-0x1.f052a40d8e48bp-1
+0x1.c07334b1aac33p-26
+-0x1.13463673ea539p-3
+0x1.d66e5598d3262p-25
+0x1.0dae423f0189ep-2
+0x1.df1a0195dfca4p-1
+-0x1.598e9260d11fdp-1
+0x1.67c773c2070cep-1
+-0x1.ed1f510c9ce11p-1
+0x1.dae297d5d3bafp-2
+-0x1.39af35b44da1fp-2
+-0x1.c679d76fc2b15p-3
+0x1.88f507621e546p-2
+0x1.f702c7007d0f8p-1
+0x1.f2ef13107c805p-1
+0x1.e4bcf61e9db8ep-1
+0x1.3bbb12f88beeap-1
+-0x1.fdb1502db4889p-1
+0x1.3318578e20bc0p-1
+0x1.e9de7563a7493p-1
+0x1.6188f44707072p-1
+0x1.f8903254e120cp-1
+-0x1.f38db4b985d52p-1
+-0x1.cbccf0e19cc7fp-3
+-0x1.be12773f273cdp-10
+-0x1.2b3e149bb0426p-2
+0x1.ad69976c033a1p-1
+0x1.edd13194f87aep-1
+-0x1.18a974fd7bbebp-1
+0x1.9f1fc231a2241p-1
+0x1.10e56678c706ap-25
+-0x1.da0f94397e1efp-1
+-0x1.76c026d8ec2b4p-1
+0x1.0a089692fa9d6p-1
+-0x1.da1ff0b273cd7p-3
+-0x1.f97015d611b73p-1
+0x1.dbe9c72d38923p-1
+0x1.bad6c26512dbcp-1
+-0x1.fb6fb5159af3ep-1
+-0x1.9198b69ff20eep-3
+-0x1.fe0c97242979ap-1
+0x1.2287403404baep-1
+-0x1.f3f5449170a5dp-1
+0x1.f3a6840c57d33p-1
+-0x1.03c0045400546p-1
+0x1.f838e0db37795p-1
+-0x1.7accc66f1a867p-1
+0x1.e82562eb8444fp-1
+0x1.df27b76e86704p-1
+0x1.f4da573b55ec2p-1
+0x1.efe5a6e5fbe8bp-1
+0x1.0659847830f85p-1
+0x1.e32184673d6a3p-1
+-0x1.fea5968e2edf9p-1
+0x1.466c21bdb53d6p-1
+0x1.e7078679d9affp-1
+0x1.befbe4ecbe8cbp-1
+-0x1.e2d534c706c26p-18
+0x1.32616231a62c1p-26
+0x1.54edc38ae367fp-1
+-0x1.3007019386da4p-5
+-0x1.a336f67af7129p-1
+-0x1.8c2257c536d60p-2
+-0x1.84d896f47ecd4p-1
+0x1.977af609a6d12p-18
+0x1.e932a72cac166p-2
+0x1.2945179c842bap-1
+0x1.4a5182138dbd3p-3
+0x1.dbe2458d35539p-1
+0x1.1f1092dd29f91p-1
+0x1.dc693710eb9b2p-1
+0x1.ecb8b2274a503p-1
+0x1.412eb424708fap-1
+0x1.93ca610ea7b0cp-1
+0x1.563fa238b86bfp-3
+0x1.6cc3c369c6079p-1
+0x1.f783b429dc0f3p-1
+0x1.9b875417727f6p-1
+-0x1.a03c44361af74p-1
+0x1.f577461815545p-1
+-0x1.1b83d2880ad3bp-1
+-0x1.2850a5ece60c7p-22
+0x1.03ce907b337a2p-7
+0x1.e13907a8a623bp-1
+0x1.ea3a84b97d192p-1
+-0x1.a41072eb8d471p-1
+0x1.eb4c15b45d01ep-1
+-0x1.101d32f8c74c8p-1
+0x1.0193b3f4d9074p-3
+-0x1.537154d5f6ae7p-3
+0x1.bfaf90a91ac01p-1
+-0x1.0c10917ddebb8p-1
+-0x1.8eadf732729dcp-21
+0x1.e86b603c02c7fp-1
+-0x1.e1d732a3d845ep-1
+0x1.f11cd0a6f6f03p-13
+0x1.8d26805424934p-3
+0x1.f145109d6bdccp-1
+0x1.c543a6761e121p-1
+-0x1.c25a322cf34eap-2
+-0x1.865940819f5fcp-1
+0x1.dc04807986da6p-1
+0x1.ed429667932c9p-1
+-0x1.76fd636ed6498p-2
+-0x1.e53ac26588b25p-1
+-0x1.8f5d4684f487ap-1
+0x1.e09a34d1ff29bp-1
+-0x1.fa9d102a95505p-1
+0x1.1b05e56138440p-3
+0x1.1bc9a7f1d79eap-3
+-0x1.6811368ab0abbp-1
+0x1.ed98e0214a336p-1
+0x1.e7e686da575a0p-1
+-0x1.965f75ff798a9p-1
+0x1.80eaa23a91ec2p-1
+-0x1.d36fb043f6300p-5
+0x1.7018a38a05ffdp-2
+0x1.fae070244fb19p-1
+0x1.d0dd401b30198p-1
+0x1.42f142dadfa1dp-1
+0x1.ec68818823d1dp-1
+0x1.85f3e7bec93a0p-1
+0x1.af29d1ff6c1dap-2
+0x1.35c4a6805cca0p-1
+0x1.df0b063501081p-1
+0x1.5bcd000b70207p-2
+0x1.a24de48ee748dp-1
+-0x1.6a318265b0ce0p-1
+0x1.c534f40a7def8p-3
+-0x1.9f4e543169174p-1
+0x1.f2de70648aed5p-1
+0x1.fe8ab52a90cb0p-1
+-0x1.f680253c19250p-1
+-0x1.fc63569b7f833p-1
+-0x1.6b2935d76744bp-1
+0x1.ea5f006b8edcep-1
+-0x1.5342e394b5397p-1
+0x1.ec4706c41bd83p-16
+-0x1.b7a5b13013786p-3
+0x1.efc8b1d13cab4p-1
+0x1.f524140aa4f9fp-1
+-0x1.8d59b2246d1b5p-2
+-0x1.e10a8025fd5c2p-1
+0x1.ffe555d68b776p-1
+0x1.5ccb0133fca6ep-2
+0x1.47b60350a0542p-1
+0x1.f3d4414a57242p-1
+-0x1.4c94d139f13e8p-1
+-0x1.f598238e275f3p-1
+0x1.818fb41d76b85p-1
+-0x1.fa14d2d9c0775p-11
+0x1.f16ec2400aebap-1
+-0x1.eac587507894dp-1
+0x1.f20e64bfc7419p-1
+-0x1.85ce9765938ccp-3
+0x1.92bff695a5d90p-1
+-0x1.8d0a2047280efp-2
+-0x1.2559e3d4e777dp-22
+0x1.e8390104997a7p-1
+0x1.e99044f21a5c8p-1
+-0x1.ea12258aac145p-1
+0x1.f68a246001b3cp-1
+0x1.db5b870d933e5p-1
+0x1.a140f339c5bdep-20
+0x1.8193402b5c8ecp-1
+-0x1.04d5676a38199p-12
+0x1.a455655209ff8p-1
+-0x1.e63ba4f3d8c3ep-1
+-0x1.6a28d15928650p-1
+-0x1.64b6d0a25c33dp-9
+0x1.46915799cfaccp-1
+-0x1.fbd157a2c23b1p-3
+0x1.ffa3663aba6d5p-1
+0x1.411d129126d0dp-1
+0x1.7063d30f52d4dp-1
+0x1.8201c2f453059p-1
+-0x1.f27a071cddd3bp-15
+0x1.7aca32522bbf5p-6
+0x1.c9846775a72c1p-3
+0x1.6d082285276a9p-15
+0x1.c6a6b4f8f837ep-24
+0x1.ee27e42a2b26bp-1
+0x1.e191c47dea938p-1
+0x1.44b0e7864ee92p-2
+0x1.9c4882b7b62cap-1
+0x1.20b6f0f17af05p-3
+0x1.0301e36c00af6p-1
+0x1.dfe705d59ecb0p-1
+-0x1.dbead5cf594d7p-1
+0x1.f12b06bbb4e7bp-3
+0x1.efe8c7612f386p-1
+-0x1.eb9e2463b8a3ap-1
+-0x1.faf13348b1a37p-1
+0x1.cd50167950c5ep-1
+0x1.dba5c79d7a05ep-1
+-0x1.a334d05fa6dd2p-1
+0x1.8cb1a630bb9c2p-1
+-0x1.9681e2cf54b70p-1
+0x1.39aca667fcf3fp-1
+-0x1.e8bd029d083e4p-2
+-0x1.50e857e4f8090p-1
+0x1.dc16134a07952p-1
+0x1.2c4bb22847712p-1
+0x1.e7b0645e8a0abp-9
+-0x1.8fc066ee56befp-11
+0x1.edbf80f8c492cp-1
+0x1.e3d6a1c24d10cp-1
+-0x1.fbd4f63a7219dp-1
+0x1.f6fd10b1bdf09p-3
+-0x1.6530f1b557057p-1
+0x1.b88262a6e1331p-1
+-0x1.eb0e3015adc06p-1
+-0x1.26cfc26e19c43p-3
+0x1.59bc70a355e7fp-2
+0x1.5fee801ec378cp-1
+0x1.154984a08fb2ap-1
+-0x1.75a356a8a9292p-5
+0x1.ea9314dc90613p-1
+0x1.ea2107288cf84p-1
+-0x1.ebe7414198207p-1
+0x1.65aee12e3ceffp-1
+-0x1.51ba6636b9f2fp-15
+-0x1.c626d4507f69ap-1
+-0x1.e2e3f55bb23a1p-1
+0x1.98b000eb73a71p-1
+0x1.43af03a6b9b8dp-3
+-0x1.7f2ab3a80ac43p-1
+0x1.d9d2a5d6d0097p-1
+0x1.e3f984fc9c133p-1
+-0x1.afeb916e3177fp-21
+0x1.4e04b4277b006p-1
+0x1.efe0107fb5684p-1
+-0x1.4515b4c2b21dap-1
+0x1.11a6b0c515920p-1
+0x1.6164a6618d12ep-21
+0x1.dae745520e0c5p-1
+-0x1.dd2d72e85c929p-1
+0x1.6d9ef5d5611fbp-1
+-0x1.f0f797fed0a55p-1
+0x1.2eab0154ef308p-1
+0x1.ed1fd3af0b556p-1
+-0x1.e71b754c98246p-2
+-0x1.2590214dd2a24p-3
+0x1.fdd1961109848p-1
+0x1.7eb1071ff2770p-1
+-0x1.15bd45916de1ep-2
+-0x1.44d715ad68f89p-1
+-0x1.7641422787614p-1
+0x1.eefe328d3d881p-1
+-0x1.eca8704b551c7p-1
+0x1.2ee67226d5529p-1
+0x1.e8ac53c1395d3p-1
+-0x1.64646108e67cbp-1
+0x1.db91c36140425p-1
+0x1.4605c5134237bp-1
+0x1.f903e462cc94dp-1
+-0x1.73f4c75c9d5f2p-1
+-0x1.dac8a6d776479p-1
+-0x1.2b4492bd73b64p-15
+-0x1.373103fbf2dbbp-26
+0x1.851581e8ee5f8p-8
+0x1.ebca3047b32cfp-1
+-0x1.07c16329a6368p-1
+0x1.fccc50d54ff1fp-1
+0x1.fe9de2486d607p-1
+0x1.ef48b46c9b643p-1
+0x1.e8ef618c8024bp-1
+0x1.993fe684e622bp-1
+0x1.460b45e598a8cp-12
+-0x1.d9e786749e8b9p-3
+-0x1.559071a09ac62p-1
+0x1.ef7432ff2df38p-1
+0x1.e45a36a5fb72fp-3
+0x1.b3d5275cfb554p-1
+-0x1.98e8e522e4a82p-23
+-0x1.02aed44057b67p-2
+0x1.2197f1f7c6e26p-1
+0x1.0837b5e1cec38p-1
+-0x1.ca8a4237c9e0cp-17
+0x1.6006c4b0268aap-1
+-0x1.7208a0ee99588p-18
+0x1.b4b1e471a5f5fp-26
+0x1.8fe1f13a9702cp-1
+0x1.f02b227033d9ap-1
+0x1.d97ec10440781p-1
+0x1.f76fb1e91d5b2p-1
+0x1.deb247936f19fp-1
+0x1.8af0f66d4b0dcp-12
+-0x1.b64be0350cfd6p-1
+-0x1.f932f26d539d5p-1
+0x1.e82a219e74d13p-1
+-0x1.7e09139513a33p-26
+0x1.18f8069a74b77p-1
+0x1.dc6726bfa7475p-1
+0x1.08c813e4436a5p-2
+-0x1.d8320749306c8p-16
+0x1.9472944ec390dp-1
+-0x1.a99987154cea1p-1
+0x1.c882368b557a4p-1
+-0x1.1aa794570d691p-3
+0x1.5c77249e4aea0p-1
+0x1.eb9813be6a2b6p-1
+0x1.f431a44ef4d40p-1
+0x1.eea5d7d2221dap-1
+0x1.2c6291d7f2ad7p-2
+0x1.ac443697d70fdp-1
+0x1.e20ca7c2912a5p-1
+0x1.7ab1d7104d182p-18
+0x1.339513d5d0ee8p-1
+0x1.f589b5ee62b16p-1
+-0x1.fad8f2a47e9f4p-1
+-0x1.1dd663fac6b4fp-1
+-0x1.0f9652222f8e9p-1
+0x1.f35714209b7bdp-1
+0x1.6834569b7a1fap-1
+0x1.00dd565cc9ccfp-15
+0x1.65da25ab2220cp-1
+0x1.d84fa7357d48fp-1
+-0x1.c51a11571e3e9p-1
+0x1.f381b3df02583p-1
+0x1.fbf8c33676a44p-1
+0x1.82bc413c6aff0p-1
+0x1.0dca9008fbcebp-2
+0x1.235506540c7b9p-1
+-0x1.3e3c739c48dc4p-1
+-0x1.f73153b059fbap-1
+0x1.cc56d349d03bap-2
+-0x1.53099013f8190p-2
+0x1.e53de61c37f3ap-1
+0x1.a6a246bf1a535p-22
+0x1.91d3b66fca3a2p-1
+0x1.0f5d16ce3edabp-12
+-0x1.9a7b92e12b5f7p-1
+-0x1.76ca124cf6f47p-3
+-0x1.c41b9411e2424p-1
+-0x1.34c885f2eb328p-1
+0x1.ec1e45f6f7b9dp-1
+0x1.0a4775720ed55p-1
+-0x1.31efb599b0c90p-1
+0x1.edbe60062d7a3p-1
+0x1.2319304ed36b5p-1
+-0x1.cb6aa416f444fp-4
+0x1.504f676650b1ep-1
+0x1.3d1aa4401c058p-3
+-0x1.f60c37def0ad1p-1
+0x1.f9792648513f5p-1
+0x1.94a7e574d0288p-1
+0x1.94f7926ce6fbcp-18
+-0x1.f6fad097104e4p-1
+0x1.3088005339ad3p-1
+0x1.f03355e0191c2p-1
+0x1.dcd3d17610280p-1
+0x1.e05d2667abb1fp-1
+0x1.e82525f9fbf01p-1
+-0x1.de3ca0ef987b7p-1
+0x1.f59943ba80acep-1
+-0x1.e960c36a66790p-1
+0x1.9d26903f5cd50p-10
+-0x1.89bec5921086fp-1
+-0x1.f4e8b5ec98f6cp-20
+-0x1.711982a677be4p-3
+0x1.f46112d3fe843p-1
+0x1.083e13f8fffefp-1
+-0x1.baf382671db8ap-1
+0x1.e0d881ff65497p-1
+-0x1.45bc320aa4dfep-2
+0x1.40e3e60b110dcp-1
+-0x1.f4e3046089560p-1
+-0x1.ea56c46279081p-1
+0x1.e9e48261cb26ep-1
+0x1.4d48f2887cd66p-2
+0x1.e51d745ef2138p-1
+0x1.ae3d476739166p-1
+-0x1.3b19c402e1ab5p-1
+0x1.93db32ee991c6p-1
+0x1.159cd3c2eac06p-2
+0x1.f2196713b8de3p-3
+0x1.c3c4d2e87e40cp-5
+0x1.546b31afe7b81p-3
+0x1.1cd7423631f45p-23
+-0x1.f98921eb79da8p-1
+0x1.da4473bb667adp-1
+0x1.f6d1c21979168p-1
+-0x1.f83452138ebc1p-1
+-0x1.77e2149e4a15bp-1
+-0x1.e374023473851p-1
+0x1.6135557835b0ep-1
+0x1.116497cc82db6p-1
+-0x1.d604e43246f1ap-1
+0x1.e03ba16e3b2d0p-1
+-0x1.fbcc51c3d0adap-1
+-0x1.230833754cbadp-1
+-0x1.e859b3f551706p-1
+0x1.8ed6352b2279fp-1
+0x1.e833c05936a7ep-1
+-0x1.f45f124fb19f4p-1
+-0x1.bcc7e5fa33d67p-1
+0x1.cb5bf39c4168fp-1
+0x1.d913109c549a2p-6
+-0x1.5df3a69b09a81p-3
+0x1.e92f739ce65adp-1
+0x1.eddff4fa793e3p-1
+0x1.fd0d826c5a1d9p-1
+0x1.f01142b6404c5p-2
+0x1.ed3e7235fb716p-1
+-0x1.3f08a31b67052p-6
+0x1.6c6bd2dd525cdp-1
+0x1.e42d42ade6dd4p-2
+-0x1.7c4f407d91487p-8
+-0x1.1441528bd2bc9p-8
+0x1.e5db61dfac951p-1
+-0x1.cf52b5c3c6b19p-1
+0x1.e83f57fd71bfcp-1
+0x1.ae8f91695d74cp-1
+0x1.545021fa9de9cp-1
+-0x1.45c9266ea4970p-1
+0x1.eafea77c551aep-1
+0x1.eba4171524f40p-1
+-0x1.425187f18c762p-18
+-0x1.485fe6e78b76fp-1
+-0x1.db6f1755478ccp-1
+0x1.f8e25686998acp-1
+0x1.ccbba7e740751p-1
+0x1.7816a0d6522cep-1
+-0x1.0cad003c37274p-22
+-0x1.4249d37181745p-3
+-0x1.1aea32c571f90p-2
+0x1.eff2c75d80ec9p-1
+0x1.dedbb5aa065c5p-1
+0x1.022c15ed03102p-2
+0x1.e28cc0a25217ep-1
+-0x1.e75507711de7bp-1
+0x1.6994d6b07313bp-1
+-0x1.93938552d7672p-3
+0x1.e9f062935639ep-1
+0x1.efc9111829a30p-1
+0x1.e82d352bd52d4p-1
+0x1.8aefc30a2949bp-1
+0x1.e829e785fe6bcp-1
+0x1.906de67167cd7p-1
+0x1.3cf7801ab3ddcp-1
+-0x1.d674412d314f7p-1
+0x1.b8f3652b4e782p-8
+0x1.0797f77b05b64p-1
+0x1.fa845330ec5ebp-1
+-0x1.513a3093d637fp-1
+-0x1.a0ae922b44732p-1
+0x1.eb5b41b522564p-1
+0x1.e9e54719a6384p-1
+0x1.dc6a025cdf557p-1
+0x1.8e2720ee32c68p-1
+-0x1.08a965eef1feep-1
+-0x1.fa6306dd46e3fp-1
+0x1.155615f73dc49p-1
+-0x1.ad5ce2c9a061dp-2
+0x1.3a6b650c8bc49p-1
+0x1.1d1f86d1e1e30p-1
+0x1.cc1b051550465p-1
+-0x1.eb9871c6f4d8dp-11
+-0x1.9da0d78b9cbe4p-2
+0x1.e6cb460ebeeebp-1
+-0x1.ebcbb7d352b98p-1
+0x1.f10602c31c4ffp-1
+0x1.f83d00511f1a6p-1
+0x1.e70ef18e894dcp-1
+0x1.f42747759511dp-1
+-0x1.e210555e48210p-1
+0x1.e8be424104e58p-1
+0x1.e269c29bcef60p-1
+0x1.f85ef0fd21f0bp-1
+0x1.937141f2672e0p-1
+0x1.38ec61bd517ccp-1
+-0x1.d6e9722dc24fcp-1
+0x1.f8d1b326b2ed1p-1
+0x1.d86da58fba185p-1
+0x1.65efb1356114ap-3
+0x1.f72791c9cf436p-1
+0x1.0ae4753a5c894p-13
+0x1.f7415347bb40bp-1
+0x1.dc65a4f6e740cp-1
+0x1.d88607a3797e0p-1
+0x1.eed61776e402fp-1
+0x1.ee0df44fb77d0p-1
+-0x1.f450159e992b8p-1
+0x1.e29cb14cdbcd0p-1
+0x1.f653a3375d51dp-1
+-0x1.f57f5552ab569p-1
+0x1.6480d3d0c5efep-20
+0x1.38e266cf4e67bp-23
+0x1.d51cd22b5b6cap-1
+0x1.dc3de7d2fc8d2p-1
+-0x1.312a5566cde3fp-1
+-0x1.fab1d3aa238acp-1
+-0x1.95bac47704824p-3
+-0x1.891b43164f852p-2
+-0x1.80e9f033f4793p-2
+0x1.df255385153fbp-1
+0x1.de67748161291p-1
+-0x1.777e66869b5a2p-2
+0x1.95b610da4b767p-1
+-0x1.0eaeb02390875p-24
+0x1.ed4d9348c4329p-1
+-0x1.96df34af5a088p-21
+0x1.f2d162c70d8b5p-1
+-0x1.deb665e66d761p-1
+-0x1.0f044763f2eaap-3
+-0x1.9c3784de626cbp-3
+0x1.ad40b341217cep-1
+0x1.a3d8456656f09p-1
+-0x1.30688704ba934p-13
+-0x1.f3cf5294a6a88p-1
+0x1.e906911183a95p-1
+0x1.d875b2a4cfad9p-1
+0x1.e9ecd5820a5eap-1
+-0x1.948a52ed5c31bp-5
+0x1.f9c6e1a503f35p-1
+-0x1.ec4f82e92c41cp-1
+-0x1.2ee365574b66ap-6
+-0x1.cf7594c4759eep-19
+-0x1.a0d5f18128988p-2
+-0x1.806c918e71aeep-1
+0x1.df5d715846162p-1
+0x1.f67f859e5cfe0p-1
+0x1.ecc2b558d729fp-1
+0x1.ff9fd0805bf30p-2
+0x1.432fe2eead4f4p-1
+-0x1.8366e3d1a2b7cp-1
+0x1.e3f070eec2596p-1
+0x1.30ba2715f8514p-1
+0x1.e977633ddb6c8p-1
+0x1.ecfff5d1ed4fcp-1
+0x1.6e88143883032p-1
+-0x1.e95fa37e7e7bbp-1
+-0x1.b83c53c09f546p-1
+0x1.517d53ed1b833p-1
+0x1.db8f51d5f71aep-1
+-0x1.1678154436606p-2
+-0x1.fc21417ad3694p-1
+0x1.1c843518d2e94p-25
+0x1.e8eee13ebc573p-1
+0x1.fee6721632c37p-23
+-0x1.f6a87247c9154p-1
+0x1.fe6af4fb98692p-1
+0x1.e7c390a9bbc3dp-2
+-0x1.e0f877f179d56p-1
+0x1.d96bf428df776p-1
+0x1.fc1c23962674cp-1
+0x1.b198a6962238ep-1
+0x1.033e6517daa6fp-5
+-0x1.2d2db09cc6e86p-21
+-0x1.1ed1f46145a42p-1
+-0x1.aceee1f163bb0p-1
+0x1.e775b65834bfap-1
+0x1.b59893a929786p-1
+-0x1.0e4bb0b067b5bp-1
+-0x1.ff1285390535cp-1
+-0x1.f8d0963809a50p-1
+-0x1.e5a865ab089bcp-1
+0x1.c6d112328b280p-1
+0x1.f013574be1027p-1
+-0x1.e0a691caa2943p-1
+0x1.2506d6a72e424p-15
+0x1.0e385386801e9p-1
+-0x1.2c8ac0b1cee68p-6
+-0x1.e44cf154f7837p-3
+-0x1.9c7c24975ad82p-1
+0x1.0d8d44f6a38b9p-1
+-0x1.fb5c33ee7ffa5p-2
+0x1.4ce97693eab63p-1
+0x1.2d57b32c61adep-1
+-0x1.ddc8c1bd6b2f6p-1
+-0x1.60a8174ee182cp-2
+-0x1.fe3ab0326a9ebp-1
+0x1.c99672ad8233dp-1
+-0x1.a05f0442a1f89p-11
+0x1.f4efa58696ba2p-1
+0x1.e8f0874ac9593p-1
+0x1.697a477d1fbd3p-2
+0x1.66b7a3a5f4bbcp-2
+0x1.ec3a1130d87e6p-1
+-0x1.5faae7d3bcf38p-1
+0x1.be54761e95348p-1
+0x1.d053b71612732p-1
+0x1.f13a35b68c59ap-1
+-0x1.ffd2875be2cf2p-1
+0x1.e62df4c494b61p-1
+-0x1.3471231cca442p-6
+-0x1.a7b9e784d9434p-16
+0x1.ece3f29820bdfp-1
+0x1.ef6b47f54b2d8p-1
+-0x1.df2c8655fc70dp-1
+0x1.eda0969bec905p-1
+0x1.488f14cfb8987p-1
+0x1.feb910bbdd186p-1
+-0x1.ed55067dcc2e0p-2
+0x1.dee9b5b493f34p-1
+0x1.37f0201120141p-2
+0x1.bcf1c52c54526p-1
+0x1.e2e2e4afd49aep-1
+-0x1.a828f2fd070e9p-1
+0x1.0995c67dde325p-2
+-0x1.b9cee2442f243p-11
+0x1.b5ffd6affbe68p-1
+-0x1.898db08ff9e7ep-3
+-0x1.eea7123455743p-1
+0x1.e22364d8d2ffbp-25
+0x1.9bc512637b567p-1
+0x1.908f41ab382c6p-1
+0x1.daa6242404908p-3
+0x1.354d96ce0c1f1p-3
+0x1.e4909407d6b04p-1
+-0x1.ae60e50c81658p-1
+0x1.d83d9616cffd1p-1
+0x1.68d57679fbad0p-1
+0x1.ee2a61e036810p-1
+0x1.ff2523154e342p-1
+0x1.e80a234204ccep-1
+0x1.ee12e03c07731p-3
+-0x1.f53bb6a0244b9p-1
+0x1.a7d1d4d25fc9bp-15
+-0x1.0d5e226bae52dp-3
+-0x1.f7553430f26b9p-1
+0x1.561a2200e4797p-1
+0x1.dda171643a8f8p-3
+-0x1.e9a0822672116p-1
+0x1.9c8ad39c801dep-1
+0x1.50fe36a2e907bp-1
+-0x1.f5cb55c5f89b0p-1
+0x1.e55b90ffc4db3p-1
+-0x1.f580e64339dfbp-1
+-0x1.c786d16c31b03p-1
+0x1.ab3d818097c47p-1
+0x1.f628956df2bddp-1
+0x1.3c1983a14fe08p-1
+0x1.ea6977319eac4p-26
+-0x1.a2b2a3cf330a0p-2
+0x1.e06d66507bd76p-1
+0x1.ed4aa34d83d9dp-1
+0x1.adbf4089e4bf0p-1
+0x1.169462af69653p-1
+0x1.7cdae69e34be4p-23
+-0x1.f476a5d67b80dp-3
+0x1.e4f9a4e8edcabp-1
+0x1.fcb451b72ca3ap-1
+0x1.bbee334a41744p-2
+-0x1.e669334dbdbb2p-1
+0x1.e1ef409647a27p-3
+0x1.e2f3d0f200912p-1
+-0x1.0ee0376cb5980p-1
+-0x1.cd90d53a85604p-24
+0x1.da2ee339cc169p-1
+-0x1.91bee2eec93ebp-1
+-0x1.db27252020025p-3
+-0x1.ac0763a2833a8p-1
+0x1.ed7de7964d7b7p-1
+0x1.387816b7132c2p-15
+0x1.bde1b11fb418ep-14
+-0x1.f4b0e44a782a9p-1
+0x1.c85742cc49d4ep-1
+-0x1.2ae4206794c97p-2
+0x1.e8ede2eca6ebcp-1
+0x1.e83ec2bd612adp-1
+0x1.cec725af1011dp-1
+-0x1.f3f110dc11f36p-3
+-0x1.82c441472b814p-1
+0x1.12aee0aad581cp-1
+0x1.d843d56f7661dp-1
+-0x1.0fa9100cde2b7p-1
+0x1.fbb577823c6b2p-1
+-0x1.e7e0f30c7c41bp-1
+0x1.ead455b35dcfcp-1
+-0x1.af50723be988fp-1
+-0x1.c6df54f302009p-2
+-0x1.f69220aac2bb2p-1
+0x1.db2795c5314edp-1
+0x1.f0e804039007cp-1
+0x1.16e3c0bc73e90p-1
+0x1.56f925b7342efp-2
+0x1.2b1a40efca711p-1
+-0x1.c95572af1befbp-1
+-0x1.ea363656402fcp-1
+0x1.9fcea6314eb53p-3
+0x1.c384447b8f44dp-2
+0x1.d9cb8501968aep-1
+0x1.d213669b363a3p-1
+0x1.dbbce7d0130a1p-1
+0x1.ef1b07c170256p-1
+0x1.e5d87723e3720p-1
+-0x1.dc9450089dc1dp-1
+-0x1.a400e154e4d4ep-22
+0x1.f0b8639dae8c0p-1
+-0x1.c0d7a6d0e58c3p-22
+0x1.ebe277900a6d5p-1
+0x1.ddc883853f7b1p-1
+-0x1.f26d718326d24p-1
+0x1.b444f4ecea2d4p-1
+0x1.db5285f43880ap-1
+0x1.ec2a704fa7ba7p-1
+0x1.d9d38554f4ae7p-1
+0x1.40a287e0245c7p-1
+-0x1.bb5997a01dc09p-1
+0x1.dbfe825428361p-1
+0x1.eab9e61d0bb13p-1
+0x1.dbf8477b40f85p-1
+0x1.5977a5e9562d5p-2
+-0x1.6d6582d27a94ep-3
+0x1.ef98c62116f6bp-1
+0x1.b195e01c1649fp-1
+0x1.ed47e34ba7118p-1
+-0x1.2e1b55053587cp-1
+0x1.f46e72b797c76p-1
+0x1.e58d17977d4c7p-1
+-0x1.78044314faf55p-12
+0x1.e67de4828d079p-1
+-0x1.f72481a2b0f3ap-1
+0x1.ef6de28920541p-1
+0x1.81a907ff59256p-1
+0x1.121bf667b781ap-1
+0x1.e41ba30cd763ap-1
+0x1.1e76d67046217p-1
+-0x1.1250820739879p-1
+-0x1.d15f33646b553p-2
+0x1.e90c01d074c50p-1
+-0x1.dc98c564661f8p-2
+0x1.aab3b79abd652p-22
+-0x1.12c3e674c7017p-3
+0x1.207186d6329bap-23
+-0x1.e9de504c45574p-1
+-0x1.87494270ac164p-1
+-0x1.e88cd321ec1dap-1
+-0x1.9317565e1a195p-19
+-0x1.350c40dd7d78ep-1
+0x1.75b8a20113b5ap-3
+0x1.ae0882e067102p-3
+-0x1.313bb034e4980p-1
+0x1.944cd3352094fp-1
+0x1.e845447d64568p-1
+0x1.fe614045bdde4p-5
+0x1.c23a220bff5cfp-5
+0x1.e4e1454ecf85dp-1
+-0x1.fcf1e7da10e5ep-1
+0x1.ee9f80c3fe210p-1
+-0x1.dae080dc56bf7p-1
+0x1.f8b43563a02aep-1
+-0x1.debb0319481e9p-1
+-0x1.f1d9c2f758defp-1
+0x1.deb7334be5d7ep-1
+0x1.e24ac198b2950p-1
+-0x1.4b4613f445564p-13
+-0x1.faf37271307aep-1
+0x1.6a02646fd3199p-1
+-0x1.e520507f83ff0p-1
+0x1.974227fac5c71p-1
+0x1.fe97f4454153cp-1
+0x1.64cc47f51d1ebp-1
+0x1.e0aeb2661bc7ep-1
+0x1.865c7062df26ep-1
+0x1.2b9d94fd96933p-1
+0x1.dc43445d9d6c0p-1
+-0x1.0bcd5161b4780p-1
+0x1.e8eba118b0a26p-1
+0x1.c838228508974p-1
+-0x1.712d5001098d3p-14
+0x1.eaafe5872fba9p-1
+0x1.badc0660a7f51p-1
+0x1.e66ca4a1fdcf4p-1
+-0x1.ed40630f17ef4p-19
+-0x1.eab7a154b753bp-1
+0x1.8610d1e8e6c64p-3
+-0x1.fd61a56639941p-1
+0x1.26cb23fb114cep-3
+-0x1.bf3de5d1277c8p-3
+0x1.eda2c028553a7p-1
+0x1.e0be233591f18p-1
+0x1.fa64112d9b7bdp-1
+-0x1.f5e2246ae2dd4p-1
+-0x1.57b0e23b39e09p-1
+0x1.d97671e65ea90p-1
+-0x1.e6be223004611p-1
+0x1.d56357592f5acp-2
+0x1.6475907a120e3p-1
+-0x1.f47e6381c6551p-1
+-0x1.f2b9635cc6607p-1
+-0x1.5277123e133e3p-1
+0x1.47e5a403ff975p-15
+-0x1.3b47975249d03p-1
+-0x1.2d4395c82f1adp-2
+0x1.1450373bbdbf4p-1
+-0x1.f3f605106ccd2p-1
+0x1.e4fb505afc536p-1
+-0x1.c45f37ee28f93p-1
+-0x1.ea50f192e21edp-1
+0x1.eb0711bcb2188p-1
+0x1.b7a016b696338p-1
+0x1.623046e714274p-3
+0x1.43e5923d7c3c7p-1
+0x1.2fa122f6646a9p-1
+0x1.f4f6b5de34b5ep-23
+0x1.f469264200881p-1
+0x1.655d872a08e7bp-1
+-0x1.efbc035d5241cp-1
+0x1.eecee67cb7c37p-1
+0x1.ef23215f6de12p-1
+-0x1.9157d3c02c3b2p-1
+0x1.c15691eeda91ap-3
+0x1.f39d271893c42p-1
+-0x1.e4f743d28a786p-1
+-0x1.e3439360d1751p-2
+-0x1.e307d799961afp-1
+0x1.e25a6469a523ep-1
+0x1.f220a525222a6p-1
+-0x1.e47060fdcc071p-1
+0x1.36f464d433610p-1
+0x1.d2182142a2d5cp-1
+0x1.eeae3359ec957p-1
+0x1.9af5d2ec8ebd9p-1
+0x1.e11a171b22e03p-1
+0x1.b610305edff4ep-19
+0x1.ed7ab363b3447p-1
+-0x1.e41a54d8498d1p-1
+0x1.51de25b587b24p-1
+-0x1.c0e965c3967f1p-24
+-0x1.c773d52b04af3p-3
+0x1.d986851c611b7p-1
+0x1.c82c83eaf14c7p-3
+0x1.f7cc714398d27p-1
+0x1.cb56a41743a82p-1
+-0x1.c101b1037e3f5p-1
+0x1.70704180d156ap-1
+0x1.f2d9a4e18b93ep-1
+-0x1.70f794d622807p-3
+0x1.ea0c748947c48p-1
+-0x1.a1436628d7964p-2
+0x1.e577a48f03d8cp-1
+0x1.fb333192c3fd8p-1
+-0x1.849bb070f27dcp-3
+0x1.ef97766ebf4d8p-1
+0x1.bba5845fd0c44p-1
+0x1.cc35e07310ee9p-1
+0x1.bbf8c7bb9c20fp-1
+0x1.e52107bcb90ccp-1
+-0x1.53078258ff064p-6
+-0x1.1d3673a2a8700p-8
+0x1.eb3ae6f949eb2p-1
+-0x1.8a2f305b13ed1p-2
+-0x1.30fbb21b54296p-12
+-0x1.448976b9db4f3p-4
+-0x1.fba6c7b54d231p-1
+-0x1.1f9010499bc15p-19
+0x1.bf8d6212e3c0dp-1
+-0x1.c3658532b752dp-17
+-0x1.e40de71a02d0dp-1
+-0x1.c7ef32e8414f7p-3
+0x1.ecf661eaa759fp-1
+0x1.5030f4f39c66fp-1
+-0x1.a724314a500bcp-2
+0x1.9999d51105133p-1
+0x1.d9f6e4d727d70p-1
+0x1.ed1fc550f095ap-1
+0x1.503b14d81b366p-1
+0x1.34b7d05a78c28p-1
+-0x1.2cba67b857796p-1
+-0x1.d77251ee3df8ap-1
+0x1.59f032ff510d6p-2
+0x1.4f88d744710e7p-1
+0x1.d9e8209b73ea1p-1
+-0x1.ffb86378c6e93p-1
+0x1.ea73f543c07f7p-1
+-0x1.87a6e44eaf473p-14
+0x1.8db074f7cba71p-1
+0x1.38b80586e18e2p-5
+0x1.f8be8469e0f90p-1
+0x1.821ca4290f63bp-1
+-0x1.0dd78014ef1a2p-3
+-0x1.149aa666c3c46p-2
+0x1.eeb59431123bfp-1
+-0x1.c253e67cccb47p-23
+-0x1.1721b193cb808p-1
+-0x1.f29d328022c9bp-1
+0x1.dd6ca355705abp-1
+0x1.d7e5a3e80c978p-1
+-0x1.ff693303d6a1bp-1
+-0x1.9792d040f6098p-1
+0x1.e1bf0284f90b9p-15
+-0x1.f841c459354cfp-1
+-0x1.ea326681d6327p-1
+0x1.ec41879c45965p-1
+0x1.fa2d97e552ed9p-1
+0x1.5522431c3f1d5p-1
+0x1.f52c75ff3d843p-3
+0x1.df7ff289d597ep-1
+0x1.89e6d140f4474p-1
+-0x1.f5e8400a879eep-1
+0x1.d0ee108472a16p-1
+0x1.22c9e3d23737bp-2
+-0x1.f180d30e2ee8fp-1
+0x1.dc4355da08d39p-1
+0x1.83cc96505115ep-1
+0x1.df1a927ae2d49p-1
+0x1.f7cb87ac643cbp-24
+-0x1.b5b5e40f69460p-1
+0x1.b768756962650p-1
+0x1.385d044ddae6ep-1
+-0x1.20b4a1a53c3d5p-1
+0x1.7a97a05587a0dp-1
+0x1.f298d21034624p-17
+0x1.0f4422ec03b3ap-1
+0x1.8c67965cd0051p-1
+0x1.cee130d0b5a2bp-3
+0x1.3dc4e295f1f30p-1
+0x1.808b2220ea364p-1
+-0x1.fd05a69ce67b4p-22
+0x1.c6af341fa003ap-1
+0x1.ecd747e9c09c1p-1
+-0x1.551e1792426dap-1
+-0x1.fdc4b78598f6dp-1
+0x1.e705a3952cb55p-1
+-0x1.e302b444c2d4ap-1
+0x1.6079b20e499ddp-1
+0x1.9deca443255dap-1
+0x1.6c4eb3d0781b2p-1
+0x1.ea66d20e1b503p-1
+0x1.eaed6246abfe5p-1
+0x1.e9b823bbcfc07p-1
+-0x1.ce30a300a911ap-3
+0x1.a87ec3c5f01d2p-2
+0x1.bb25e46a7f518p-1
+0x1.edf7166512c36p-1
+-0x1.efe7a1f38e957p-14
+0x1.ea9ef4d1cf987p-1
+0x1.8eba239546037p-13
+0x1.4e7173f8c3108p-25
+0x1.e87141103b5edp-1
+0x1.fe1db59696078p-1
+0x1.f81a9367f49ecp-1
+-0x1.1c8ca3340ee9ep-2
+0x1.f4be90d6a08a2p-1
+0x1.a57e54c302ffcp-1
+0x1.3f689114ae747p-1
+0x1.ba3652b8cb6e8p-25
+0x1.d83d808a7f332p-1
+0x1.dfd2264b6c472p-1
+-0x1.e800e2c46ef54p-1
+0x1.df8f111ae2866p-1
+-0x1.6d6c5532e2cd9p-21
+-0x1.1e2c81ace6c11p-22
+0x1.e953222af7df2p-1
+0x1.e925616ce5429p-1
+-0x1.b26906bfadf37p-1
+0x1.dbe1f423f0122p-1
+0x1.8610709c83c3ep-5
+-0x1.e659010e4489dp-7
+-0x1.e69494ce3841fp-20
+0x1.d8ff513fd08dfp-1
+-0x1.fe6e319c28462p-1
+-0x1.9d64d47733225p-3
+0x1.c32282721051fp-2
+0x1.eb3df7f6d191dp-1
+0x1.8a44534c5fa47p-1
+-0x1.4f6d93821061bp-2
+-0x1.f52714fc5d094p-1
+0x1.9de7e1e0dc8cbp-1
+0x1.eeed020905613p-1
+0x1.ec28d5dadfc7dp-2
+0x1.aa36c26dcd467p-1
+-0x1.8e87e6677fbfbp-2
+0x1.ff84d1966abbdp-1
+-0x1.f63e406386a93p-1
+-0x1.f6203420a49e8p-1
+-0x1.a48a93694dd80p-1
+-0x1.61a7645eb7ec4p-1
+0x1.e090c1a2c9b9fp-1
+0x1.9b45d32c1533ap-1
+-0x1.b11a761584f00p-1
+0x1.9ad421a6de914p-1
+0x1.79dbd61da7b2fp-3
+-0x1.fc26a4aba22d2p-1
+0x1.64105318b86d4p-1
+-0x1.e9789541ac5d2p-1
+0x1.fd9ec29f78db6p-1
+-0x1.f14366570d3b6p-1
+0x1.4b13d01bf21b3p-1
+-0x1.f4eaf42e7ec78p-1
+-0x1.339060228fa99p-5
+-0x1.e744b298a1822p-1
+0x1.deb6d20e46c2dp-1
+0x1.292d24ec19bafp-3
+-0x1.1e8a967a738a4p-1
+0x1.dc10c61f240a2p-1
+0x1.de2966eee1343p-1
+0x1.e19d91e1c7907p-1
+0x1.79c3b49ea70d1p-1
+0x1.16e6f6035c12cp-2
+0x1.decaf4a1bae55p-1
+0x1.ab70f734c29e0p-1
+-0x1.efe2c7ae66583p-1
+-0x1.8bbb01f526908p-1
+-0x1.aaac637a729e4p-21
+-0x1.d8db236a8dc8dp-9
+0x1.e36122ce4d0a1p-1
+0x1.ea4005dd159f9p-1
+0x1.b6a77767d4c9dp-1
+0x1.e40c047e086a2p-1
+-0x1.5dba61bbcf1dep-1
+0x1.e5bc071b94585p-1
+-0x1.f9215050b4d45p-1
+0x1.fdafc34a31724p-1
+0x1.869e353529f40p-1
+-0x1.e2eda692286a9p-1
+0x1.31642078c9c6dp-2
+0x1.97e501e8fe7cfp-1
+0x1.eb18e737043a5p-1
+-0x1.e18a12334f770p-1
+-0x1.d507b06c3df31p-18
+-0x1.d0ec3013892e4p-3
+-0x1.26c875185533dp-15
+0x1.efbe6148f56fdp-1
+0x1.c16d712b4bb1fp-3
+0x1.8b04c70b3ddcap-1
+-0x1.ab136560e555dp-22
+0x1.f7af22a6b572dp-1
+-0x1.d85926848cf29p-1
+-0x1.ec59c307396f8p-1
+0x1.e83fc488dacd6p-1
+0x1.de8b34bf410c9p-1
+-0x1.0d4466176e9fcp-1
+0x1.29c0d4ecd2366p-2
+-0x1.7c821349cb30fp-23
+-0x1.f21cf62567c8ap-1
+0x1.9475e0bee269cp-1
+-0x1.360155ce19621p-1
+-0x1.ab61b161880c5p-3
+-0x1.687a92d61065ap-16
+0x1.a07a83ec307b4p-3
+-0x1.ced6825d25e04p-1
+-0x1.3fd4120c4bf01p-3
+-0x1.98615085cae70p-1
+-0x1.565f25ad39799p-1
+0x1.ff04d61b0df50p-1
+0x1.3b887244ca6ebp-1
+-0x1.faf3f337442b8p-1
+0x1.c2857627f9c6ap-1
+0x1.414391eae82a7p-2
+0x1.ed4c041a3ead6p-1
+-0x1.7720c11df55fep-3
+-0x1.20dd07160306ap-3
+0x1.eb79153ce9fddp-1
+-0x1.0b7c366b28640p-1
+0x1.0c37b2dba00aep-19
+0x1.df2997df1e98ap-1
+-0x1.db81e304bef8ep-2
+0x1.d061109803210p-1
+-0x1.f29f3377fe46bp-1
+-0x1.9d69119b79677p-17
+-0x1.fe18e3a9ee189p-1
+-0x1.2ba7052c8bd80p-1
+0x1.e241853578931p-1
+-0x1.fb0854c5d75f0p-1
+0x1.ee3cd20ce4f5ap-1
+0x1.ee40d08bb49e3p-1
+-0x1.cc9fa732730b4p-1
+0x1.070692620b71cp-1
+0x1.e0d2859d0d97dp-1
+-0x1.82f763fdb686ep-1
+-0x1.763cb2cf0a32dp-3
+0x1.e43b37d8f0ddfp-1
+0x1.a3880141b2dd3p-3
+0x1.3befe215a78c6p-1
+0x1.9d6604d4efeddp-2
+0x1.b5a3d7eddda00p-1
+0x1.cc7993074c20bp-1
+0x1.aac5e5dc62767p-24
+0x1.bed3226c9cf5ap-2
+-0x1.efd3965c7e5acp-1
+0x1.fe2aa46b77528p-1
+0x1.e098e320da0bap-1
+0x1.67e7248b818b3p-3
+-0x1.6ad6002662fadp-2
+0x1.decaa3bcdaa08p-1
+-0x1.d58d16202023dp-10
+0x1.ff00b5fcb622fp-1
+0x1.32ef66d1351e1p-1
+-0x1.f16585e5f84ebp-1
+0x1.1f8845720550bp-3
+-0x1.597ae70396752p-24
+0x1.29d207dd78ad9p-3
+-0x1.c50354e1919fdp-1
+-0x1.f33b17f4530b4p-1
+-0x1.01ede4cf1745cp-1
+0x1.ca3f36b0aa65cp-1
+0x1.40e9902e7c79ap-3
+-0x1.59f3c5b673712p-1
+0x1.916dc64eee2aap-1
+-0x1.ef8c343a179b1p-1
+-0x1.4a43014a489a2p-18
+0x1.ea9994a3eea40p-1
+0x1.7c24d44e7ad13p-1
+0x1.f81f66a100c06p-1
+-0x1.e7cb21c3e16e5p-1
+-0x1.660cf02b53207p-1
+0x1.9d1775b1ea06fp-2
+-0x1.fb6e3107f4ab7p-1
+0x1.ec9ed646b54a4p-1
+0x1.eb877429ca44ep-1
+0x1.57f90558e0cd2p-1
+0x1.ee6127d9b9cd3p-1
+0x1.eeace5528bcaep-1
+0x1.abfa31533bf17p-1
+0x1.af6d31714c4fap-3
+0x1.1b88e568085eep-3
+0x1.27d0012eda11fp-1
+0x1.e4c3a00a353dcp-1
+-0x1.a4d2513d6da08p-3
+0x1.eac9041cf24d0p-1
+0x1.eba880a52b2a0p-1
+0x1.fc9815cf6cf07p-1
+0x1.e9306397ac8d9p-1
+0x1.b43cd65692d19p-1
+0x1.ffed705f1a4ecp-22
+-0x1.758b46be117efp-23
+0x1.32f4b633ba0e9p-1
+0x1.ebf364bf44defp-1
+0x1.eb2c318fe1fd1p-1
+-0x1.c4f6f0a35fd4cp-1
+0x1.f94de7e900a23p-1
+0x1.e040d6464605fp-1
+-0x1.219fc52102aa7p-1
+-0x1.453271b5e1e0cp-1
+0x1.269653d6653a0p-10
+0x1.a48e700ea9b1fp-1
+-0x1.f41ec1c712c7fp-1
+0x1.c96de70665e99p-2
+0x1.ff20b67f593dcp-1
+0x1.e13e27d7f0352p-1
+0x1.e81bf743c0369p-1
+0x1.c50ba323bc984p-5
+0x1.2109349c356f8p-2
+-0x1.8bdbe0b9e2d2bp-10
+0x1.f668a1d8022d9p-1
+-0x1.3e06e4a0baeedp-1
+0x1.fb63f1e25d668p-1
+-0x1.b8e1e27336860p-1
+-0x1.f2700673bb386p-1
+-0x1.b2daa6e18bec1p-1
+0x1.8e8b67f0920cap-3
+0x1.fdeba0a282ee5p-1
+0x1.ed9061cac7a5fp-1
+0x1.e697822f3ef41p-2
+-0x1.a073961b21017p-3
+0x1.eae16553c8c57p-1
+-0x1.ef11308a723a0p-3
+0x1.4db6f0d5fc8b1p-1
+0x1.9db7a4e909c22p-1
+0x1.d963f3e2377acp-1
+-0x1.f4b2a27475355p-1
+0x1.5ceea7934431fp-1
+0x1.e006175a5233bp-1
+0x1.db398369c7f83p-1
+-0x1.6da6930d66d07p-1
+0x1.6cc7155575699p-2
+0x1.8958a513b1a3dp-16
+0x1.e4d423f8e48d5p-1
+0x1.f61e572c416f1p-1
+-0x1.dce6b232fc21ep-1
+-0x1.f76ac4a2a56ebp-1
+-0x1.effa02c2a5b57p-1
+-0x1.3277074adeefap-2
+-0x1.f820b07829307p-1
+-0x1.9ce743a0e44b1p-22
+0x1.5a60c5b18ae7ep-1
+-0x1.627064608ff5ep-1
+-0x1.f18541418b0c8p-1
+0x1.df5a362b58df6p-1
+0x1.5a1c12189882bp-1
+0x1.042eb250936bep-1
+-0x1.1cb73699e8924p-1
+0x1.bd81501f6c6dbp-1
+0x1.ea461047bbbaap-1
+-0x1.987e70cb208c9p-1
+0x1.ebb7b667c93a9p-1
+-0x1.e64087ec5398bp-1
+-0x1.da4060f493507p-10
+0x1.edf6c4bdb283ap-1
+0x1.e56aa246ff0e4p-2
+-0x1.5ee2870e9e6e3p-1
+0x1.890c70d8e4854p-15
+-0x1.9d713407fd722p-1
+0x1.d81051269ec58p-1
+-0x1.21a6c4b3b5c44p-1
+-0x1.ff1743cc5a35ap-1
+-0x1.bdd804759a629p-1
+0x1.ecabd624ed76bp-1
+0x1.f4fc4755c5257p-20
+0x1.ef9f51187fe83p-1
+-0x1.bcfe530a93051p-3
+-0x1.04437668e59f9p-22
+0x1.f9deb62170ec6p-1
+-0x1.f95ff4e30111cp-1
+0x1.b9bcd47a04014p-1
+0x1.e986346f71ee7p-1
+0x1.e870a1536e60dp-1
+-0x1.f45142b039fd9p-1
+-0x1.f9a361114e127p-1
+0x1.a39e45adb3fcbp-1
+0x1.eedee6a9faf61p-1
+-0x1.2d7dd63289e16p-3
+-0x1.ea1224bded243p-1
+-0x1.4bdd4503c4c63p-1
+0x1.6c88456adc480p-3
+0x1.e2b3a4b24383cp-1
+0x1.e5fc97f64aecbp-1
+-0x1.1b6bb0f6cd48dp-1
+-0x1.b303858a80ca8p-1
+0x1.e7ab923c42554p-1
+0x1.0a9275a4041e2p-1
+-0x1.f8c00391024e6p-1
+0x1.e35757a76e130p-1
+0x1.e79240313e889p-1
+0x1.65b7c5e770a90p-1
+-0x1.c932d35cb0882p-1
+0x1.6bdae68159ee5p-2
+-0x1.a10396bb69be7p-1
+0x1.385d508691b4ap-1
+-0x1.879d741b2c118p-23
+0x1.44ecc2c03843ap-1
+-0x1.ff8f3716b5256p-3
+-0x1.595040318030ep-3
+-0x1.bcfdf5e4c6970p-1
+0x1.0f3c92514126ep-1
+0x1.3dc123067ed3fp-1
+-0x1.ecbe16bf69bfbp-1
+0x1.9ee9220c8f948p-2
+0x1.dda1a2c40b3a6p-1
+0x1.c24c85e28024fp-1
+0x1.28b060d622339p-1
+0x1.ef1b944c9f858p-1
+-0x1.f476a1ba386d0p-1
+0x1.83edf16dfff50p-1
+0x1.e7ee358e79562p-1
+0x1.e31ec6e0b4fc4p-1
+0x1.dd98613b70372p-1
+0x1.da5505c9b5082p-1
+0x1.24f756f5e8490p-22
+0x1.2c5d704de00e2p-3
+0x1.e8faf051d09cbp-1
+-0x1.ff78b2a719f69p-1
+0x1.db133789d06a7p-1
+0x1.66c0e08344febp-1
+0x1.406506bfcfb11p-1
+-0x1.55ac10a3a8641p-3
+0x1.fce4f63c2836bp-11
+0x1.a49c5484fe1ecp-1
+0x1.ec7bc658a8951p-1
+0x1.e84b3736a7b34p-1
+0x1.ac8f6552a58dep-1
+0x1.f42ee4d7dac9dp-1
+0x1.3951052bb8e1fp-1
+0x1.bec8b0e3edbb6p-1
+0x1.33855463baf99p-1
+-0x1.177641b2f5da9p-2
+0x1.df40141a3b57dp-1
+0x1.e92b22c10a9ddp-1
+-0x1.f0bf840efa02bp-1
+0x1.19a5c7f4ac19ap-1
+-0x1.f06581e9738c7p-22
+0x1.fa84d6fc1bfb4p-1
+-0x1.ff5cc72dade88p-1
+0x1.e0942271d057fp-1
+0x1.02338781af33bp-3
+0x1.696c8704c0adep-1
+-0x1.f1687635d3527p-1
+0x1.8fd781a156526p-1
+0x1.fe1874b71dffap-1
+0x1.8651325797215p-3
+0x1.bc3c71925e5b6p-1
+-0x1.1e9543b9189ebp-4
+0x1.e4e8c2f4a4892p-1
+0x1.9cec761d69c12p-1
+0x1.b823a13640780p-1
+0x1.1340e0318b586p-1
+0x1.ecea93cc4e282p-1
+0x1.381af30c8bbacp-3
+0x1.269575fbaa2a4p-1
+-0x1.806dd0823096dp-1
+-0x1.e052374d36a4bp-1
+0x1.fea3254b1eafap-3
+0x1.2d5970ca26f6cp-1
+-0x1.f4dea4866c50bp-1
+0x1.f69344c9b9904p-1
+-0x1.a3903178cc914p-1
+0x1.ef5191f3a5593p-1
+0x1.f5f3548da6996p-1
+-0x1.f643440d6b06cp-1
+-0x1.f002c7269a37ep-1
+-0x1.fa75252a58e2dp-1
+0x1.d9f9e3d739f44p-1
+0x1.634732e2952fap-10
+0x1.f218003f765f8p-1
+0x1.606f8100c1742p-2
+-0x1.e755f3286db4ap-1
+0x1.a51346ad161ffp-1
+-0x1.fb568187a36cdp-1
+-0x1.e9fb506e00816p-1
+0x1.ef4ba09903242p-1
+0x1.decac67825caep-1
+0x1.e87f025e48684p-1
+0x1.e3f8778ca9756p-1
+0x1.def1462172dfbp-1
+0x1.311253501f3f2p-3
+0x1.b47cd28626b01p-1
+0x1.ea01327b06539p-1
+0x1.f29325d22a5b5p-1
+-0x1.63cce0ecc9f3fp-2
+-0x1.cbec261c8745fp-2
+0x1.839f62344ed35p-1
+0x1.db5e820db1f0dp-1
+0x1.eb10463897a41p-1
+-0x1.01a9b60073fd1p-2
+0x1.820c4727f0297p-1
+0x1.defe9157b25b9p-1
+0x1.95acf5bfa2f77p-3
+-0x1.f829a7cd489c0p-1
+-0x1.f78f2515a0c93p-1
+0x1.e40934a3f3e57p-1
+-0x1.fb0a94ad8c18dp-1
+-0x1.8f0b53139648dp-20
+0x1.d801c522cfcf4p-1
+0x1.d91a30bb3e15dp-1
+0x1.e41a80baf531bp-1
+0x1.e96113c21b2e6p-1
+0x1.cbb5955832906p-1
+-0x1.faaf461b00258p-1
+0x1.2c7b264df7e18p-2
+0x1.cdf68750f625fp-1
+-0x1.ab062115542b8p-2
+0x1.cd73a32168810p-2
+-0x1.f3f1411a81959p-1
+0x1.57c7a2ace0a72p-1
+0x1.efb2212f852c5p-1
+0x1.8e0f47ea636f7p-1
+0x1.ea6d312855164p-1
+0x1.31a3e53d9d779p-1
+0x1.bc55404efb12dp-19
+-0x1.b6f9a6276a135p-1
+-0x1.c3e361caeb9f1p-1
+-0x1.e0eca0ecd7cb7p-1
+0x1.f847f61015d15p-1
+0x1.ed36e1f48a48ap-1
+0x1.f41ca43bda5ffp-1
+-0x1.ad50f432557fap-1
+-0x1.114fa24a19444p-2
+0x1.36def65bab425p-1
+0x1.fe05623afcc36p-1
+-0x1.ef66a308f97d2p-1
+0x1.8d4b844dd2993p-1
+-0x1.d6cff1d46ff9bp-9
+-0x1.ee29a33d89217p-1
+-0x1.f132f2992494fp-1
+-0x1.de7153b5aad60p-3
+0x1.d915353edaa25p-1
+0x1.ea64823156f61p-1
+0x1.4d3ba3c4d2e24p-1
+0x1.ba92542786897p-1
+-0x1.fffed63ad096dp-1
+0x1.e97f8083149abp-1
+0x1.b79ba1d3be769p-1
+-0x1.eab325c5fbbe8p-1
+-0x1.c3e3470150bafp-1
+0x1.e3b610f2a9a12p-1
+0x1.091a864ba6574p-3
+-0x1.462ed634d347cp-2
+0x1.ed90006d31696p-1
+-0x1.c62a454b8d40bp-1
+0x1.371a12446cb76p-2
+0x1.eb63b3e34705ep-1
+0x1.edf750cfdec5ap-1
+-0x1.308fe73061dc7p-1
+-0x1.ee05e10877512p-1
+-0x1.d67e0577a6507p-1
+-0x1.ed2eb7554cecap-2
+0x1.dca2a028e0226p-1
+0x1.d30c963d41488p-1
+0x1.7530e7c8620bfp-1
+0x1.d417a562c0d61p-1
+0x1.e20e43f399e37p-1
+0x1.ea15f4adca008p-1
+-0x1.f3b7c47cb6dc6p-1
+-0x1.154f81f240248p-7
+-0x1.151356f0736d8p-1
+0x1.f6ee472b8805fp-1
+0x1.92518330d7f45p-1
+-0x1.dc476211ce07dp-1
+0x1.e848464011e2bp-1
+-0x1.46a8919520b17p-1
+-0x1.77fe90512eacfp-1
+-0x1.9acbd0bea7745p-2
+-0x1.443961a482f0fp-2
+0x1.dc9150d6da395p-1
+0x1.8f0b30b8722ebp-11
+-0x1.ec2db037a82dcp-1
+0x1.e3e7f06de29f4p-1
+-0x1.f321806888b14p-1
+0x1.bcc2d238d4ddbp-25
+-0x1.b5d02551d5671p-10
+0x1.5b65c47382c9ap-3
+-0x1.fcbdd2b050f64p-1
+0x1.ea5c13904e3b2p-1
+0x1.ef36a448b7555p-1
+0x1.dfdfd6c700acfp-1
+0x1.4236c13576e0ep-2
+0x1.8df8a16525f39p-3
+0x1.e0ad97d2cf238p-1
+-0x1.38f0542ca311ap-1
+0x1.d87891d37859cp-1
+0x1.e10e138b446a6p-1
+0x1.0f92764f7b2e4p-1
+0x1.aade166075ea0p-1
+-0x1.902df59995e2fp-15
+0x1.de7c758e0561ep-1
+-0x1.bbcb739c535d8p-3
+0x1.750fa027faf9ep-1
+0x1.af8d62c66fb2cp-1
+0x1.ea9ec240b76fap-1
+0x1.ef92f02323e66p-1
+0x1.410642b877d0fp-1
+0x1.ecec322ab031cp-1
+0x1.88a7042cf26e3p-1
+0x1.d91c147875780p-1
+-0x1.891bb78017f41p-3
+0x1.ecbf764fb7f74p-1
+0x1.8ae814193f661p-1
+-0x1.9ab562e85a368p-1
+0x1.eafad3737c504p-1
+0x1.f172b00025f8dp-1
+0x1.9625e4660a46ep-1
+0x1.ff2847663862cp-23
+-0x1.f876845608312p-1
+0x1.f988f6376ddcep-1
+-0x1.32096643967c8p-24
+0x1.862f469d3b6b5p-1
+0x1.e409002dbe096p-1
+0x1.ebae12a190827p-1
+-0x1.c73c104933177p-3
+-0x1.e67b111d9643ap-1
+0x1.e14005d42553cp-1
+0x1.6bcdd5585b74ep-1
+0x1.d01df07e10013p-1
+-0x1.aa01a6ca96ca1p-1
+0x1.9adaa0b3675d2p-1
+0x1.abf414448c2c7p-1
+0x1.e5c940ebf6cffp-1
+0x1.5cf30257670ddp-1
+-0x1.c572d1625cc9ap-1
+0x1.c46f07973a003p-1
+-0x1.e9edf7eef925cp-1
+0x1.e2db71253b231p-1
+-0x1.f18a81c759b6ep-1
+-0x1.0484943b8972bp-14
+0x1.e8ba541de4c3dp-1
+0x1.e86031182f48ap-1
+0x1.edf485b87d989p-1
+0x1.ed7b63e2ae6e5p-1
+0x1.441ba0eeee084p-1
+-0x1.f157124313805p-7
+-0x1.592b96408f745p-15
+-0x1.aa9f35bb8710cp-3
+0x1.dd79933eb4823p-1
+0x1.8105f3b2d415bp-1
+0x1.e959042778f64p-1
+0x1.eb1923875839bp-1
+0x1.f0f3621f3d303p-1
+-0x1.fb9d116c1740ap-15
+0x1.ee3e232a76cbdp-1
+0x1.a720e17021d30p-1
+0x1.4496d3d77e50dp-3
+0x1.29b2708c3a747p-1
+0x1.49f6619c13dd0p-2
+0x1.01593434a17a8p-2
+0x1.0c56546e3c83ep-2
+-0x1.fd7591cf4e231p-1
+0x1.f28e37cddaa63p-1
+-0x1.21c025a637570p-2
+0x1.e47fc5993f6c7p-1
+0x1.85a2015249f9ap-1
+0x1.ccac70b0bde88p-1
+-0x1.b0c634676faacp-4
+-0x1.f91d34193e0cap-1
+0x1.ea81015237620p-1
+0x1.e0f6a48d7e9c9p-1
+0x1.fae08655a51a3p-1
+0x1.4f28f1201b762p-3
+0x1.e8e030f4ea7e4p-1
+0x1.e1db95f200e1bp-1
+0x1.f425e3cced4c7p-3
+0x1.bdc8679163915p-18
+0x1.febcf6c28536ap-1
+0x1.92f204914b1bap-1
+0x1.ecd8933b172edp-1
+0x1.f0bb0482d6c17p-1
+-0x1.1011a24690b17p-1
+0x1.6597b5c278c94p-1
+0x1.c03a92b120e58p-1
+-0x1.0eed14bd5c463p-1
+0x1.e84d0157c4875p-1
+0x1.e0fa54716960fp-1
+-0x1.e70102ffd26f4p-2
+-0x1.a5029085d091bp-1
+-0x1.ff504589e4c56p-1
+0x1.cd7171df2e295p-3
+-0x1.c2e6249c7296ap-21
+0x1.96c5c059d54afp-1
+-0x1.e6f51087203f2p-9
+-0x1.515e3214390b1p-2
+-0x1.e0a141c4f0b16p-1
+0x1.eb7451be325a0p-1
+0x1.e0d083fcb5089p-1
+-0x1.fee190f2fc2b8p-2
+0x1.fe9b45e910698p-1
+0x1.a1bb4745dadf5p-1
+-0x1.f652e1fdb6a40p-1
+0x1.ddcf1291a5226p-1
+-0x1.43cbc08a959f6p-3
+0x1.dbf877fb563dcp-3
+0x1.ca0a70766ed38p-1
+-0x1.fb8063fd22722p-1
+-0x1.fa4ed780ebffap-1
+0x1.ef75b5fbc2038p-1
+0x1.d8fad2d484f9cp-1
+0x1.eb8ca278a8b79p-1
+0x1.0fde2500275a5p-2
+0x1.e71ef4f74efa5p-1
+0x1.df0c61f2a0f01p-1
+-0x1.bb5c7578b90a7p-1
+-0x1.2e84858cbd9e2p-1
+0x1.096bd4970cd0dp-22
+-0x1.f41217509723dp-1
+-0x1.32d10136b1f12p-1
+0x1.4c6af75e75c32p-1
+0x1.3fe9d75c1f312p-1
+0x1.9ef980d30524ap-1
+0x1.828b0390e301ap-3
+0x1.f62692b289857p-1
+0x1.5cb4743cbb81ep-13
+0x1.ef86868247137p-1
+-0x1.da44b5b4e6c6fp-1
+0x1.dbcd94da0d8b8p-1
+0x1.ec9c878cfb5f0p-1
+-0x1.5f64a17e9500dp-2
+0x1.5c75e768472b4p-2
+-0x1.a787c4bfd3b9dp-1
+-0x1.cca7367cafebcp-1
+-0x1.11bc51c1a6b71p-1
+-0x1.f6df90b887fc3p-1
+0x1.7a9fb439b7a47p-1
+0x1.e33c401410e8dp-1
+0x1.fb4ee1a050156p-1
+0x1.e89fb349c715bp-9
+0x1.9b1db0483a855p-20
+0x1.a913b3a187ee1p-17
+-0x1.ef7701b74636cp-1
+0x1.828184fbbeaa0p-2
+0x1.f4d8e628050abp-1
+0x1.133d81d6ae23cp-3
+0x1.f013f7c35659bp-1
+0x1.efd682aa7da6dp-1
+0x1.f1dc00f5ef3a9p-1
+0x1.96072389d627dp-1
+0x1.ea1691abf195ep-1
+-0x1.cca2538d384bap-5
+0x1.e92007ba8df2ap-1
+-0x1.e141a1fc347e7p-1
+0x1.ed08437e94ea2p-1
+0x1.4445e5b18f130p-1
+0x1.f66bb10cf125cp-1
+0x1.704f576926a3ep-1
+-0x1.1e2b763ff1c1bp-16
+0x1.a257b5f59a887p-1
+0x1.ee0771d865c59p-1
+0x1.debf16684ec06p-1
+0x1.dbdf762ec9500p-1
+0x1.e60b71ca4175bp-1
+0x1.30f9a5a27b4a8p-1
+-0x1.f34ff26c85784p-1
+-0x1.d1b2d7ceae413p-1
+0x1.fdcf071e072d3p-1
+-0x1.a3f255af4ee16p-1
+-0x1.ea5db637383c4p-20
+0x1.e23fd346a1c24p-1
+0x1.398d4660919b3p-1
+-0x1.2341b61c4a232p-6
+0x1.e7ddc42b3a4a8p-1
+-0x1.ff0942c4470a9p-1
+0x1.fa0f0780123aap-1
+-0x1.56f2e58d53fc9p-1
+0x1.37fd262f2ef5ap-1
+0x1.e9de764260ee7p-1
+0x1.3b0da25eac967p-18
+0x1.e4394344a153bp-1
+0x1.ee5d6207f7775p-1
+0x1.e1241012fada1p-1
+0x1.e2e61171c55e6p-1
+-0x1.fa0e3517f47f8p-1
+0x1.e811955ba544ap-1
+0x1.4003e18e34c12p-23
+0x1.f4f195748771bp-1
+-0x1.ef0f34f9f356fp-1
+0x1.391e008ea4619p-3
+-0x1.bb0300053577dp-2
+0x1.612ec16edaa00p-1
+-0x1.53edf5aa8e452p-1
+0x1.267ce71264f70p-1
+-0x1.b0c102e4ded61p-1
+0x1.b7b2671933257p-1
+0x1.ea53f7e49d1fep-1
+-0x1.ea6bc6967c364p-1
+0x1.95d8a522476fap-1
+0x1.f99470c182bf6p-1
+-0x1.ef0df4884c963p-3
+0x1.e6157493cd764p-1
+-0x1.12b6e5b410e7fp-1
+0x1.f67435d502e6dp-1
+-0x1.f4ec823b0125dp-1
+-0x1.f638561f1eccbp-1
+-0x1.b967b16c72982p-21
+-0x1.842b3414ac978p-1
+0x1.ef15c079cf311p-1
+0x1.1d6fb030321d5p-2
+0x1.ea147124ef4abp-1
+0x1.e342f70874ef2p-1
+0x1.e7afc67c34250p-1
+0x1.19db65ff74336p-1
+0x1.df80158c55f1bp-1
+0x1.542a0182909a7p-1
+0x1.057365e07e692p-2
+-0x1.fb0d257f569cdp-1
+-0x1.de3c10fe462f9p-1
+-0x1.ecf8e686be7cep-1
+0x1.55e863f86981dp-1
+-0x1.eb05376e22db1p-1
+-0x1.e83e578b67404p-1
+0x1.1d7bf26bcd34ep-2
+-0x1.ec5af0c2ccbc9p-1
+0x1.ddd3d27a5b4aep-1
+-0x1.eaf4048fe077cp-1
+0x1.00801354b719ap-21
+0x1.3e3a6224576bap-3
+0x1.ed89f7096981cp-1
+-0x1.daf4c6895a475p-2
+-0x1.27b5065556c47p-1
+-0x1.62e816a332a1ep-1
+0x1.c38e7517dd45fp-12
+0x1.915a220e086dfp-1
+0x1.dd5754e2b6f70p-1
+0x1.d84720817bef5p-1
+-0x1.04b965445d524p-1
+-0x1.e882f75e4f37fp-1
+0x1.d8e1258d3e967p-1
+-0x1.f4ad6308371a8p-1
+0x1.0924a114faa3bp-1
+-0x1.ee8ea3f68169fp-1
+-0x1.db6440c16c293p-1
+0x1.a260a5cf0493bp-1
+0x1.ead6a5782d24dp-1
+0x1.e049c5ecc67fcp-1
+-0x1.480570f907c0ap-25
+-0x1.e6a7c54bbfa5ap-1
+0x1.fe6ad355328e4p-1
+0x1.e2d7666a25355p-1
+0x1.eec3b242762cep-1
+0x1.c85773ca329d7p-1
+-0x1.f163118d145f0p-1
+-0x1.f79036a3f4459p-1
+-0x1.204f96baed60dp-3
+0x1.f9dc71e534411p-1
+0x1.67b372a69cd0bp-3
+0x1.eaa614d2c63c8p-1
+0x1.bb01a3a90cd08p-3
+-0x1.0bc192dba3daep-1
+0x1.a7184731a11b4p-1
+-0x1.bfb485fa7f5f4p-16
+-0x1.3688a0346cbf4p-2
+-0x1.f153e2327fc20p-1
+0x1.658b516343b5ap-1
+0x1.edd205a535cf6p-1
+0x1.e2e360aa13064p-1
+-0x1.c24710eb7be22p-3
+0x1.041a67e3e8f28p-1
+-0x1.eb8aa64a05087p-1
+0x1.e30cf7c07f903p-1
+-0x1.b9c3a3088d677p-1
+0x1.713eb1ab5e4c9p-1
+-0x1.6ad805c841fcap-1
+-0x1.f885a3f0e8ba8p-1
+0x1.f46dc196d78d6p-1
+0x1.fc84242c90e1fp-1
+-0x1.03cb72be8da0fp-1
+0x1.876157be34442p-1
+0x1.df7a00f91ede0p-1
+-0x1.7aadc22f765e8p-1
+0x1.c49f353c0eea6p-2
+-0x1.6942e78790b68p-1
+0x1.f09820d53213dp-1
+0x1.f0d7d51f16eafp-1
+0x1.dd09f317d4844p-1
+0x1.c37884de423eep-2
+-0x1.d888e3c9b6736p-2
+-0x1.0f9db3fc68bccp-5
+0x1.b6a6c3eebea0cp-1
+0x1.45f1f16329902p-1
+0x1.ea8ca34a12e96p-1
+0x1.e301b33695f69p-1
+0x1.68a5b3e8dc41fp-1
+-0x1.31ff6639336e0p-1
+0x1.5a9b126abc66ap-1
+0x1.1973b36468d97p-1
+0x1.efe1f56bd3534p-1
+0x1.e5ab36d2f2409p-1
+-0x1.45d6537260c70p-3
+-0x1.56f5410b90154p-15
+-0x1.7d8cb3c9cb5d8p-1
+0x1.c96a64375fd43p-1
+0x1.deb991e8ad26ep-1
+0x1.f2cdb2dedca59p-1
+-0x1.aca5d6e0cebc8p-1
+0x1.eb42940a8517bp-1
+0x1.ae1b403368423p-1
+0x1.ade411f3da571p-1
+0x1.3e1116e4de263p-1
+0x1.8973c30a0bb9cp-1
+-0x1.156c062335d7dp-1
+-0x1.9acbe0ee1240fp-3
+0x1.ec00c6a3e141ep-1
+0x1.dc4b32a234a23p-1
+0x1.e6c20026a69cfp-1
+-0x1.8fa041d702f22p-3
+0x1.c5f6f61e0882cp-1
+0x1.ca32d645bd50ap-1
+-0x1.eebfe7785b810p-1
+0x1.d855e4e635750p-23
+-0x1.c4f8e0df2acbdp-3
+-0x1.7f7681cf8b0a8p-2
+0x1.834e43d519f57p-20
+-0x1.e6c711f8a07a2p-1
+0x1.37e074e9bd23fp-3
+0x1.e07616c72f309p-1
+0x1.eb6786e4bb963p-1
+0x1.19099015cd289p-1
+0x1.e1a391292b6e3p-1
+0x1.e2db651834387p-13
+-0x1.fe98b265f6c23p-1
+0x1.e2bfd7dc71f91p-1
+0x1.ee47140384e38p-1
+-0x1.001567470f803p-2
+0x1.05bdf1d57b74ap-3
+-0x1.9f9bb738e7354p-2
+-0x1.e2b5a72fffc26p-1
+0x1.e33c52a03a341p-1
+0x1.c210e6a7521b4p-1
+-0x1.89280419666a0p-3
+0x1.ef4386066c43ap-1
+0x1.617cf4e80da72p-2
+0x1.ca67862290507p-1
+0x1.d2db6598cfaf0p-1
+0x1.4c52d70f696f4p-3
+0x1.fd31e495b8cd4p-1
+0x1.97d8c7b4c9114p-1
+-0x1.f0fc72689286ep-1
+0x1.93a7216be0c5dp-2
+0x1.d3115794c28e9p-1
+0x1.e285e72ab6c83p-1
+0x1.e318d24b8b39ep-1
+-0x1.eef6d32a0b85fp-1
+0x1.8d1c623935f00p-2
+0x1.69f611e882192p-3
+-0x1.815743a3562efp-1
+-0x1.eb08c0c39511ep-1
+0x1.c59db4bbac95fp-1
+0x1.7d0722deb44afp-1
+-0x1.8315d64e9546ep-1
+0x1.9dd1600231fb9p-1
+0x1.e2e2e02cfc885p-1
+-0x1.10e173bc56bedp-1
+-0x1.fef5368baa990p-1
+-0x1.ffa8a2b9fe667p-2
+0x1.dffc77beb4240p-1
+0x1.eeb121fd09f87p-1
+-0x1.e90be055f4bc5p-1
+-0x1.f41e016289c7cp-1
+0x1.af5152f1a61dap-26
+-0x1.fd48f58baaff1p-1
+-0x1.4b0f8437f1bc3p-1
+0x1.d4cc178e13728p-1
+0x1.ce7265a719e49p-1
+0x1.e9eff57262b39p-1
+-0x1.f13f718045fb6p-1
+0x1.e6bb77d8971e1p-1
+0x1.b551834380757p-1
+0x1.da0f873b6aa41p-1
+0x1.f142b0d6cd227p-1
+0x1.e9ab41fff09b7p-1
+0x1.942ed2f7475d2p-2
+-0x1.bb5fe6c2388bcp-20
+-0x1.a2e262533502fp-4
+0x1.dd9583ec5db42p-1
+0x1.90fad5e8a6031p-1
+-0x1.0373e4dddeb2ap-2
+0x1.fd2901f3c9671p-1
+-0x1.b260a79be9a1bp-6
+-0x1.984e45ef80148p-1
+0x1.5356962ebfc1cp-1
+0x1.571e352fdd0f0p-2
+0x1.f89e41aa2fad5p-1
+-0x1.e6a1f419a0176p-1
+0x1.e2d58615983eap-1
+0x1.ded7b522b64c3p-1
+0x1.db41972b5b7e1p-1
+0x1.1b0912987dcf2p-3
+0x1.e1d26340eb5b3p-1
+0x1.209d16e918bdfp-1
+0x1.9d1bd742b6cd9p-1
+0x1.d8ce209dfe849p-1
+-0x1.d12fc215483dfp-9
+-0x1.a4c0d4697fa72p-1
+0x1.617954103f059p-2
+0x1.3137f5baf9af4p-1
+-0x1.507947ccbeeb1p-1
+0x1.b292e4143ab7fp-1
+0x1.d82640b61d4f4p-1
+-0x1.5fe5b15734ccdp-16
+0x1.f2d0e2931043bp-1
+0x1.2fd917731a612p-22
+0x1.f48e103407199p-2
+0x1.7e2db343d2518p-6
+0x1.49aec36586d2dp-1
+-0x1.06ef250e87d2dp-9
+-0x1.dce7e25ee3f06p-1
+-0x1.f9667561ea716p-1
+0x1.ef305027835abp-1
+0x1.fda044b85c0c4p-1
+0x1.e184b71badf21p-1
+-0x1.8f7ec3e278b93p-3
+0x1.f09ed78d95c96p-1
+0x1.db5114278e29ap-1
+-0x1.a56dd3341013ep-3
+0x1.dc3843f1a56fep-1
+0x1.2038f78b9bcc0p-2
+-0x1.acd041b591f89p-1
+0x1.e739901525d14p-1
+0x1.e6ab002c0fd58p-1
+0x1.ea88c7564fe3cp-1
+0x1.fc9c210385ec5p-1
+0x1.300c178b2707bp-2
+0x1.64adc3a6fd19ap-1
+-0x1.fd26d46627291p-1
+-0x1.50b1823ecd041p-1
+-0x1.0460742bc8cdbp-1
+0x1.ee1d52dfb4db7p-1
+-0x1.f8df26ac867ecp-1
+-0x1.101697bd3de35p-3
+-0x1.f08df75686ba5p-1
+-0x1.ace67097f9affp-2
+0x1.e8d044bdd2df4p-1
+0x1.f567c745b44b1p-1
+-0x1.293da15462edcp-3
+-0x1.ff6a619be98e6p-1
+0x1.870715d5a6b13p-3
+-0x1.0c6132d48b23ap-1
+0x1.bfcac730c5b46p-20
+-0x1.eede64d01dd85p-1
+0x1.4a0014931f1a7p-1
+0x1.c04bc2fc8d9a7p-1
+0x1.2ab9e2f378d0ap-3
+0x1.5fd3677becabcp-2
+-0x1.28cef33a72793p-1
+-0x1.b17535ce5f5e3p-1
+0x1.126fb704975d2p-2
+0x1.f5e136218d473p-1
+0x1.922b42c5e0ed7p-19
+0x1.ace8606018cd4p-1
+0x1.2b74811bfc23dp-2
+-0x1.ef2a370ffe51ep-1
+0x1.f9f6a148adee0p-1
+0x1.f4021476db864p-1
+0x1.95f375fe34bb5p-23
+0x1.eca2876cca9d0p-1
+0x1.d7351318c57d6p-20
+-0x1.c5b4f73fa50c8p-25
+-0x1.c94d46e4a466ap-1
+0x1.901222b3eb03fp-1
+-0x1.f2f094f1075f9p-1
+-0x1.f86a7137c57dcp-1
+-0x1.8e3c37a819136p-3
+0x1.4ec1702690f49p-1
+0x1.7af330368dd58p-11
+0x1.84a1865b3e5f0p-1
+-0x1.e4e0305c7b1bbp-1
+0x1.ff49a7d7f6d62p-3
+0x1.f2bad6b8e3ad9p-1
+0x1.ff22f34c30d58p-1
+0x1.eff9a7f819fecp-1
+0x1.c32c91193429cp-13
+0x1.5d40255ad5479p-2
+-0x1.841801a2f578cp-1
+-0x1.dbd584ff2c565p-1
+0x1.a291c450afde5p-1
+0x1.eae6f79c5a22bp-1
+0x1.e6a5815c8e911p-1
+0x1.effbb6d1ea58dp-1
+-0x1.7b2d0222d18edp-1
+-0x1.629942502fa18p-2
+0x1.4d83c5fd055fap-1
+0x1.878e4270d439cp-1
+0x1.e9d9730db6039p-1
+-0x1.1e06e6cea4258p-2
+0x1.f65ff39e90426p-1
+-0x1.cdb98479835c6p-9
+0x1.d768f6851ecbcp-1
+0x1.f69e2232d6a42p-1
+0x1.ec53932232948p-1
+0x1.f67aa7a0b8826p-1
+-0x1.fabca4ba5ef23p-1
+0x1.ee69c2e52baf8p-1
+0x1.26f0054eb2e0ep-2
+0x1.0713f52f5375ep-2
+-0x1.cbe100e36ed62p-1
+-0x1.40a8260114e62p-1
+0x1.f3063795bb159p-1
+0x1.c716b64d97f72p-1
+0x1.8981a41813d96p-3
+0x1.d7c1209925c7ap-1
+-0x1.ff581104611a1p-1
+0x1.0c85d2b6d6e9dp-1
+-0x1.8e8714dc38c74p-20
+-0x1.b03cb5319aa16p-1
+0x1.d72834d33b477p-1
+-0x1.f01b11376becdp-1
+-0x1.415a16a005c76p-20
+-0x1.fe90e5f9be415p-1
+0x1.dde612d789020p-1
+0x1.d9f3738b76c1fp-1
+0x1.db5327bba31b5p-1
+0x1.adc4400d2246cp-22
+-0x1.ff88333427dbap-1
+0x1.eb26276420df2p-1
+-0x1.b6c7247c84ca1p-2
+0x1.e02a848a05a70p-1
+0x1.043b03cb8172fp-3
+-0x1.33d676f26127ep-3
+-0x1.7608255d04435p-3
+0x1.04f80268e9ce1p-1
+0x1.464bc0a199508p-1
+0x1.29ef60c6d1649p-2
+0x1.ee97e455401a2p-1
+-0x1.fd9ed1b43f715p-1
+0x1.eb715394fd91dp-1
+0x1.d7233283a8bd9p-3
+-0x1.1df410fa478c5p-1
+0x1.d594f6ab26103p-3
+0x1.a08f83fd80dc8p-1
+-0x1.de90b76d413e4p-3
+-0x1.6084126e687f0p-8
+-0x1.ff9375ff924dap-1
+0x1.eaef2277ad27bp-1
+-0x1.567a6656d28acp-1
+0x1.db239524e4064p-1
+0x1.ea15917f3ccbdp-1
+-0x1.aecd11f1ad305p-1
+-0x1.3f3391d575ab0p-1
+0x1.2065b112d45b7p-1
+0x1.eefeb58f716edp-1
+-0x1.752456499480ap-2
+0x1.f628431ac8afbp-1
+-0x1.d4f5807797fcdp-3
+0x1.52b317a0f2bb4p-2
+-0x1.36be46b7fbb08p-2
+0x1.e57282515307ap-1
+0x1.8cb3963d2de1dp-1
+0x1.f86d8777ff85dp-1
+0x1.dbec93d39559cp-1
+0x1.ef15079437d86p-1
+0x1.9912915e0e9d2p-1
+0x1.eddfa64b338bcp-1
+-0x1.05d235555bca1p-1
+-0x1.fb398088adb40p-1
+-0x1.8529e4f0cd31ap-6
+-0x1.daf8854d3e5e7p-1
+0x1.562e8760fd24dp-1
+-0x1.2bb627405320cp-3
+-0x1.dbbe424b49782p-1
+0x1.db7c6724b9b5cp-1
+-0x1.86c5e771c6e89p-1
+0x1.eb6cc05b2299fp-1
+0x1.cbdfe416b513ap-16
+0x1.e80bd7a912478p-1
+0x1.e20654791ee42p-1
+0x1.e7c99604f72c5p-13
+0x1.e384454b782e3p-1
+-0x1.2f821736b5783p-1
+0x1.ec2dc7a3f7b9ap-1
+-0x1.f58cb69431ff8p-1
+0x1.291eb281d5031p-2
+-0x1.22d8d0d689c58p-2
+0x1.edae94523b924p-1
+-0x1.dc31f75dbd8bap-1
+-0x1.f41750df779c1p-1
+0x1.1dbe97dccb13ap-24
+0x1.fb352364b9b84p-1
+-0x1.2f5617c2cdd47p-1
+0x1.69d035f7a7ee7p-8
+0x1.72e2e6f704395p-8
+0x1.f86e40ec67bd7p-1
+-0x1.d74544791ed55p-3
+0x1.ee79c2eaca96bp-1
+-0x1.97f484b97f423p-1
+0x1.ecca71ea821fbp-1
+0x1.cb2254385c652p-1
+-0x1.e83561b46f5e8p-1
+0x1.bd9f3198d30dep-25
+0x1.e9e7b30a7666fp-1
+0x1.b768a1d09af67p-3
+0x1.0345e3f133efep-2
+0x1.b45fb3fc48819p-1
+0x1.426bd7fd10932p-1
+-0x1.57e6c01243fa0p-1
+0x1.1f4821c5d7096p-1
+-0x1.de19b73619e5dp-1
+0x1.53cb05c92ecbfp-1
+0x1.90754146fad63p-1
+0x1.4973979c27e9cp-2
+0x1.ae33e7c0fbf30p-4
+0x1.e032e42a2040ep-1
+-0x1.ea40a3cab079fp-1
+-0x1.6907e6c0916a9p-1
+-0x1.1c59c6555ce1ep-3
+-0x1.12fce6ee5e120p-3
+0x1.747724780a0a7p-1
+-0x1.3c6f734ef61e6p-1
+0x1.dcd584c6d27cbp-1
+-0x1.c27d81c83efabp-1
+0x1.d990c3dac50c1p-20
+0x1.a3c463d5b6e67p-1
+-0x1.0820a1102e865p-1
+-0x1.ab2a1549ea8ebp-3
+0x1.dcde36cbc878bp-1
+-0x1.42374083a3e0fp-4
+0x1.ef0c857a36fa3p-1
+0x1.e9e3a68ecccb7p-1
+0x1.7f05d2127fea2p-1
+0x1.e87935312ca1ap-1
+-0x1.eb7110ff0f66ap-1
+-0x1.c15fb366cfcf9p-1
+0x1.f08de63d6483ep-1
+-0x1.c72931d050543p-6
+0x1.1cb62361bff83p-2
+0x1.22db1186e6583p-10
+0x1.e862d28475fb9p-1
+-0x1.727515872cde2p-25
+0x1.1a80e5cb79b32p-14
+-0x1.c48fc05bc06adp-1
+0x1.ef6a04b724d4ap-1
+-0x1.70ba1780348d9p-1
+0x1.e68fd1d34efdcp-1
+-0x1.edbeb6d147be3p-1
+-0x1.ffb8054bd5bb2p-1
+-0x1.205784cd6e44ap-1
+0x1.b9eea1cf61152p-8
+0x1.ead9f4facbad9p-1
+0x1.41f1177f3aa4dp-3
+0x1.1cb3c7898c6c5p-21
+0x1.3b9562043baf3p-2
+0x1.9a03f093bbf71p-1
+0x1.22d245b843dc6p-1
+0x1.fe6b7655a7c27p-1
+-0x1.f53d46b53474cp-1
+0x1.edc8174da0475p-1
+0x1.453ef06515377p-1
+-0x1.cf39e3a140966p-3
+0x1.b3870738c9a7fp-1
+0x1.c03ff7b9aa3ccp-1
+0x1.d88de462de411p-1
+0x1.907531b1ec30bp-1
+0x1.e807c59e08986p-1
+0x1.d01ee7e80196dp-1
+0x1.eb29729cac7d4p-1
+-0x1.9b6ff25e8b37bp-1
+0x1.06cb55e19f50bp-1
+-0x1.c969c47d61594p-2
+0x1.2f8fd229e5a28p-1
+0x1.ec5d65428be39p-1
+0x1.e3f1f13dd3842p-1
+-0x1.6fdf45f0448e4p-1
+0x1.c693d3e0c3d93p-1
+0x1.ec2b351c3d553p-1
+-0x1.023bb65902175p-2
+-0x1.e41b13bb1ae98p-1
+0x1.ed5233df8f1b0p-1
+0x1.d3745523a5b72p-3
+0x1.b11183467f9f4p-1
+0x1.f96977e343f28p-1
+0x1.647e07d72c3ccp-1
+-0x1.dd7b40d163147p-1
+0x1.a955c3158f95ap-3
+0x1.ddbbe2e244b52p-1
+-0x1.dd9476201ab1ep-1
+-0x1.c173b1455120cp-10
+-0x1.4849770c21219p-1
+-0x1.e9c224c0132f3p-1
+-0x1.9c7115f5fa7edp-23
+-0x1.ededb18a270f5p-1
+-0x1.dc41f5d54e145p-1
+0x1.f260631aa28c5p-1
+0x1.dd80538515b09p-1
+0x1.e45ea178c9b30p-1
+0x1.d98ee1fe8fa72p-1
+0x1.ec3b7502ba31bp-1
+0x1.9202f7b61b23cp-1
+-0x1.e90160c48172dp-1
+0x1.029cb182129c5p-1
+-0x1.ecf921278c665p-1
+0x1.f1df6352de955p-19
+0x1.e820a1d008c40p-1
+0x1.cf1bc071e7b1dp-13
+-0x1.a7f9c47f84b4bp-11
+-0x1.91d2b301a130ep-6
+0x1.eb7e233b26b9cp-1
+0x1.5285126c10af6p-11
+-0x1.413ff2f91c7e0p-1
+-0x1.909622a8afce0p-9
+0x1.91f83092eaa5bp-1
+0x1.e9f0072632510p-1
+-0x1.4291a2d3c6a6ep-1
+-0x1.91a7814a1afe7p-2
+-0x1.f2e5c1ddfca4dp-1
+0x1.4ed7f0ccb3beap-1
+-0x1.56758387f3eb7p-1
+0x1.0817c57f66fd7p-1
+0x1.92ba54b90cb1fp-1
+0x1.8393d0a315e11p-1
+-0x1.ebf5435363845p-1
+-0x1.182971e71f1c4p-25
+0x1.30bad35036ebep-1
+0x1.e6a7c48aae965p-1
+0x1.5c09f0643688cp-1
+0x1.bdb701415b22ap-1
+-0x1.80b045165e5bep-1
+0x1.ec2a609f9c95bp-1
+0x1.fdf1358d71fa7p-1
+0x1.f38ae51ef650dp-1
+0x1.c3b5220ba05abp-2
+0x1.64e7b7d518cdap-16
+0x1.e3172710f85acp-1
+0x1.c3d957db61cd0p-16
+-0x1.76789202c62c6p-10
+0x1.b9314508fdd23p-1
+0x1.fbc7e244da846p-1
+-0x1.feea04702b990p-1
+0x1.c77664b2ebec3p-1
+0x1.eb18f40a3c0a1p-1
+0x1.f3d57719d5a66p-1
+0x1.a1b9e5f02c25fp-1
+0x1.d9db75669d2e1p-1
+0x1.85d832f631a51p-2
+0x1.9485a38e25cb3p-1
+-0x1.1afd8636d88a6p-4
+0x1.05798672f5ea3p-2
+0x1.ffe9232e1641fp-1
+0x1.f578d77058051p-1
+0x1.32f086b72fc47p-3
+-0x1.f80cc6c503e0bp-1
+0x1.f28b64ae14d36p-1
+0x1.db3f10c932ea3p-1
+-0x1.fcdff69481c76p-1
+0x1.b0b1822e2d791p-1
+0x1.e47cf5ea94794p-1
+-0x1.edbb01a598c24p-1
+-0x1.f2d2c4f587093p-1
+0x1.d810f191b7661p-1
+0x1.f93393613674ap-1
+0x1.be82e4ac9bddbp-1
+-0x1.0579e7d148859p-8
+-0x1.c7f3c1fdcabf4p-3
+0x1.efad546ed467cp-1
+0x1.fd6a251b4821ep-1
+0x1.0315f5c097414p-3
+-0x1.7db404e004dd9p-1
+-0x1.fdabb5f507142p-1
+0x1.c64fd560d1b67p-2
+0x1.ca0d01c21706dp-1
+0x1.e45216887ff71p-1
+0x1.df2ec764ef6adp-1
+-0x1.8e65606bed199p-3
+0x1.dbc053fc0855cp-1
+0x1.6b8ba297a525cp-1
+-0x1.00882585a29eep-1
+0x1.d353f591637b8p-1
+-0x1.79f546d33544bp-3
+0x1.efa4e409fde87p-1
+0x1.ee1163afd0a03p-1
+-0x1.fad96389524bfp-1
+0x1.e85bb560bc75dp-1
+-0x1.f069332e76f6dp-1
+-0x1.6fb4348faf5c4p-3
+-0x1.ce9367ceb44dap-9
+-0x1.f0a930040729ap-1
+-0x1.505075bc12d92p-16
+0x1.947d6278f2ca8p-1
+-0x1.f086970443d28p-1
+0x1.d025216b99be2p-5
+0x1.dcfa56e705532p-1
+-0x1.f30504c59eceep-1
+0x1.dd52d7e19870ap-1
+0x1.02ddf0359bf9fp-1
+-0x1.4f4065a22973ap-23
+0x1.f40f75a7770a1p-1
+0x1.59ae8671b31e8p-26
+-0x1.536450991d17cp-2
+-0x1.ae0193af9d6a2p-3
+-0x1.27ba2598fa425p-1
+-0x1.77f897e89fff8p-5
+0x1.eff8918d7a81cp-1
+0x1.e8f05228d4ca1p-1
+-0x1.7c509777a588ep-1
+0x1.2176d0b801649p-3
+-0x1.e69f374a699d8p-1
+-0x1.bed374f104cadp-3
+0x1.f3a922a74a827p-1
+0x1.762275548f202p-1
+-0x1.f566226c407c7p-1
+0x1.4cdae1fead7dbp-1
+-0x1.eb4487592a9adp-1
+0x1.edeeb5688f291p-1
+0x1.e99891b04ddafp-1
+0x1.f86cf3b9e83a7p-1
+0x1.c3f7a686c78b0p-2
+-0x1.6150a09268c74p-1
+-0x1.dcee02e875157p-1
+0x1.eb1bf69818892p-1
+-0x1.e5a480f554f3dp-16
+0x1.84afb5f1ed3adp-1
+-0x1.df31c5eae509fp-3
+0x1.ff99528e27db8p-1
+-0x1.e1a5a6243d05dp-3
+-0x1.85fce11104791p-21
+-0x1.fb51005dfdc02p-1
+0x1.dcb463175cfcep-2
+0x1.82519454bb349p-1
+-0x1.fdcdf349a6f25p-1
+0x1.602547dc6ecefp-24
+0x1.bec560986a04ap-1
+0x1.2011857db1424p-26
+0x1.e1eec570b4a79p-1
+-0x1.e77cb3d6aba48p-1
+-0x1.8836556db32e5p-11
+-0x1.e73505baf1ce0p-1
+-0x1.e9d165420d859p-1
+-0x1.ea73d35821c98p-1
+-0x1.fc7083dcfce44p-1
+0x1.4eaa72b0ad80bp-3
+0x1.ee9b055b272f4p-1
+-0x1.fc77850c869d8p-1
+0x1.df2253bc59523p-23
+0x1.ea0197e40cc09p-1
+-0x1.e12937d9b5de6p-1
+0x1.b78007f752b47p-1
+-0x1.caf0a20a2e374p-3
+0x1.403b25eaecdebp-3
+-0x1.f09981083beb5p-1
+0x1.1dfac77800264p-1
+-0x1.f968b772c835fp-1
+0x1.4183f2511d03ep-1
+0x1.14fe334ed4841p-13
+-0x1.ef68700ccd1ddp-1
+0x1.495424a43a336p-1
+0x1.f9f556f848f73p-1
+0x1.e700764aa6a73p-1
+0x1.c65e964229e7ap-1
+-0x1.e91f7469d5670p-1
+0x1.8d72537de0726p-1
+0x1.d77df54bf42f3p-3
+-0x1.e3f4e3f7cff28p-1
+-0x1.980ec5ab0c67bp-1
+0x1.82b481c2cab01p-1
+0x1.e92fc79dc3af8p-1
+-0x1.84edb030c6673p-1
+0x1.134ed3adb9b89p-1
+-0x1.5b0384147576ap-1
+0x1.ec38f12ad09b0p-1
+-0x1.9d3d5705b61bfp-1
+0x1.e9a5111dca87fp-1
+0x1.5ec077d61d074p-1
+-0x1.8bb177f1b45d0p-1
+0x1.026085634ea4fp-1
+0x1.5dece01fa73aap-1
+-0x1.f282f0325a811p-1
+0x1.4e17a4a822867p-2
+0x1.b710142936fc4p-1
+-0x1.ea74f086de3c2p-1
+-0x1.b5bb322363d88p-1
+0x1.e01382ce9664ap-1
+0x1.ec9d46fe101abp-1
+0x1.e080f6a0dd5a1p-17
+-0x1.dc4d67b50cadcp-1
+0x1.bb0924c1b5c65p-1
+-0x1.e4d98477aac5ep-4
+0x1.ed52a73ea36ddp-1
+0x1.d20927aa97a9bp-3
+0x1.b1865059b9e39p-1
+-0x1.b0caf4d4e58fap-22
+0x1.f1a1076fec8e1p-13
+0x1.6c6f93492c70fp-3
+0x1.adf6648fd1042p-1
+0x1.eff466a400727p-1
+0x1.8e77870756612p-4
+0x1.e4c511850f25dp-1
+0x1.cced71fd52d9ap-1
+0x1.ebb466b23c3bep-2
+0x1.6669639648fa3p-1
+0x1.7302146a6f168p-8
+0x1.350056b6cb901p-2
+-0x1.eede45da2f03ap-2
+0x1.ac0623cd70a73p-1
+0x1.87b2d4dcffaf9p-1
+0x1.edaf06121f8e1p-1
+0x1.e825a4e96f86cp-1
+0x1.168a051460dc0p-1
+0x1.eaa75704957d3p-1
+-0x1.e142463188648p-1
+0x1.d81356fe7e9b0p-1
+0x1.e99b85f839547p-1
+-0x1.f1296188d7fd8p-1
+-0x1.a3b6f7aed0ad8p-1
+0x1.6b0c23fcd3f91p-3
+0x1.dab904f709a95p-1
+-0x1.841256a82781ep-1
+0x1.d26af3ab7517ep-1
+0x1.e325a078e329bp-1
+0x1.8aa5a22125090p-1
+-0x1.b0fb607111e72p-3
+0x1.e45197e7efcdbp-1
+0x1.d9c6b1b971945p-1
+-0x1.5fb6e7f514f55p-16
+0x1.fa1f54af3ad94p-1
+0x1.e8e045abf094fp-1
+-0x1.5b9f05ea1adb3p-3
+0x1.eee721d6726d1p-1
+0x1.f1df37430f58ap-1
+0x1.e58f617f2d384p-1
+0x1.eb68943e2deb4p-1
+0x1.dba9c1307a5c6p-1
+-0x1.edb676b500699p-1
+0x1.cb6e21730fca5p-8
+-0x1.a314d11caa5dfp-1
+-0x1.58d865bce598fp-22
+-0x1.9da4077805769p-1
+0x1.bca24367daca5p-3
+0x1.408035d6251e7p-2
+0x1.8e30509588bc3p-1
+0x1.dac374698d877p-1
+0x1.dc95570330076p-1
+0x1.ed72961c6499fp-1
+0x1.e267d33665809p-1
+-0x1.1fd1b6af697a5p-1
+0x1.b199976061c55p-1
+0x1.640c203fbc506p-1
+0x1.e67287d997f06p-2
+-0x1.e8092359ccf4ap-1
+0x1.479fe3a388580p-3
+-0x1.1c9d850480123p-1
+0x1.f6b3e32b9007ep-1
+0x1.ee40207bb6d7ap-1
+-0x1.3e0fd5ef49ea8p-1
+0x1.48352432fcd1ep-5
+-0x1.488b1538a5682p-2
+0x1.70fc57b129bcfp-18
+-0x1.ee0460d9eea8dp-1
+0x1.262c4237b3aa2p-4
+0x1.24f1f0887a167p-1
+0x1.bc7813a548ecbp-1
+0x1.dd3682e648173p-1
+0x1.1a8247328b1eep-3
+-0x1.461fb55f0c643p-1
+0x1.e89a03c027e50p-1
+-0x1.6445d488fb56fp-1
+-0x1.f30720b9f9272p-1
+0x1.10fef55d9e170p-1
+-0x1.7e6e516a67284p-2
+0x1.803b652c34127p-4
+0x1.23e746d6a07b5p-1
+-0x1.9b0893a2dbf31p-1
+0x1.df6b52d932cacp-1
+0x1.eba142e0d30f9p-1
+0x1.e207a62a59fcfp-1
+-0x1.f59ff5ac905bep-1
+-0x1.2252f1f145275p-1
+0x1.e99bb7a320afdp-1
+0x1.528a81b8c8b43p-25
+0x1.66e7a5c93cffdp-9
+0x1.d8a270540bc22p-1
+-0x1.8d0303f6f1f62p-3
+-0x1.032112989c73fp-1
+0x1.edd9f404d15d9p-1
+-0x1.d8e2928b59a29p-1
+0x1.e9fbd325bdd05p-1
+-0x1.f6c115f45ea83p-1
+0x1.9dbc024e5215bp-1
+0x1.ea052157d8d3dp-1
+0x1.e97b1034a0d7cp-1
+-0x1.3868c3fb4119cp-3
+-0x1.6547c3be6a0acp-3
+-0x1.f0f7210f0ebc5p-1
+0x1.dbd1b3d836677p-1
+-0x1.87ba7548c0c70p-1
+0x1.f32ba685b010ap-2
+-0x1.5707a4571ae80p-19
+-0x1.190106b7f25c8p-3
+0x1.b1b2b37a33650p-6
+0x1.b7da5623c2a54p-1
+0x1.a12f204462a9dp-1
+-0x1.8e33904e6f50ep-3
+0x1.bac7d494af41dp-1
+-0x1.5bd7769cc02b9p-6
+0x1.e2549512a7f87p-1
+0x1.a34fb7f76f669p-1
+-0x1.fc4f82b958521p-3
+0x1.f03885d69275dp-1
+0x1.93c937306bc8dp-1
+0x1.ef66f0124ea6fp-1
+0x1.8683e2fd856ebp-1
+-0x1.00e2e49d1662bp-1
+-0x1.240eb5bacc34ap-15
+0x1.f782b34dadcd6p-1
+0x1.685494fdc570dp-16
+0x1.f6f324645f159p-2
+0x1.f1fc5526b9729p-1
+0x1.941db204468a9p-1
+-0x1.fb8797543c4b1p-1
+-0x1.f19ce1482169bp-1
+-0x1.e83cf6df11013p-1
+0x1.ec0474051022dp-1
+0x1.9b0074ea40e80p-1
+-0x1.b110618fb5339p-1
+0x1.e310d4b197c1dp-1
+0x1.3e4a143f9f023p-1
+-0x1.c3dc834396667p-24
+0x1.72d485fe0970ap-2
+-0x1.4792b4bea367fp-3
+-0x1.fb6f90001c47fp-1
+-0x1.563f503456ca4p-6
+0x1.f49c77ef6eec4p-1
+-0x1.f3f604ec44843p-1
+0x1.e5b073ba13507p-1
+0x1.dfcd37b56a082p-1
+-0x1.ec7c15c1bc9b7p-1
+-0x1.f3e33346bb4dfp-1
+-0x1.70bea3753575bp-1
+0x1.0ad654e7bcdb2p-1
+0x1.d84772ae3d0c8p-1
+0x1.db9382f54f801p-1
+-0x1.3a0d506141a45p-5
+0x1.decef09b22fd6p-1
+0x1.e990941dd115ap-1
+-0x1.4ac55461df70ep-1
+0x1.caba758c29af2p-1
+0x1.e8b807c00d6bcp-1
+0x1.fadb16bea03d0p-1
+0x1.7b8f62c69b8a2p-13
+0x1.db1814c6b7c5cp-1
+0x1.d8a437361ed5ep-1
+0x1.f044936247105p-1
+-0x1.f29923dbc3facp-1
+0x1.ede3135347315p-1
+0x1.ecb6a131593d5p-1
+0x1.69be27f5085c2p-2
+0x1.d87e91b7e07b7p-1
+0x1.3e1573b76d74cp-13
+-0x1.7110638b16bc4p-1
+-0x1.2b60914429455p-2
+-0x1.45e0c3984738ap-3
+0x1.042141ca2ed6cp-18
+0x1.384f45b294648p-1
+0x1.feba34573e769p-1
+-0x1.ea047532c3043p-1
+0x1.fbe731d9f7db8p-1
+0x1.b7b916674f33fp-1
+0x1.fb43d2c826ee8p-1
+0x1.df7c8777dba5ap-1
+0x1.ed5ea12bfef39p-1
+-0x1.638ad761f476ap-1
+0x1.fc4bf5179e5d6p-1
+0x1.e3b6708ecfee8p-1
+0x1.dbce065bbf8a3p-1
+0x1.7ce703c2bf2a6p-1
+-0x1.ea19b32b1c2dfp-1
+-0x1.fa1886281c79bp-1
+0x1.40057632df635p-3
+0x1.be3342c4dacb3p-1
+0x1.e20274fe208a9p-1
+-0x1.e15a87fb65354p-1
+0x1.f9c7e2ecd680bp-13
+0x1.e3c93361c3a97p-1
+0x1.f0aa055bc4ec5p-1
+0x1.1d7f011b0caa7p-1
+0x1.27ef5716d9743p-1
+0x1.0109b001e0b16p-1
+0x1.06fcb4f915884p-1
+0x1.d912e662c11fdp-1
+0x1.f459c0e5d6307p-1
+0x1.33b182a9dd437p-7
+0x1.f050a642bbd28p-1
+0x1.67dd05510a128p-1
+0x1.f508c0df81a84p-1
+0x1.dc24f6d5d88e9p-1
+-0x1.1de410116c6abp-3
+-0x1.ce8021cd33ff0p-20
+-0x1.df8e14d8335ccp-1
+-0x1.d944534af1d02p-1
+-0x1.7a7641865ee08p-1
+0x1.0a79566e358dcp-2
+0x1.e1ddb24870183p-1
+0x1.0be5106302396p-1
+0x1.e84a706f6d265p-1
+-0x1.fb54f05a586f3p-1
+0x1.d7f7810bbad7cp-1
+-0x1.e911418959876p-1
+-0x1.eef2e7388b0b8p-1
+-0x1.096cd55dea973p-2
+0x1.e3edc46730656p-1
+0x1.1f999553c9965p-1
+0x1.53bff03662b79p-1
+0x1.cc4591ffd8c8fp-1
+0x1.32edf494b513fp-1
+0x1.f92963d71b0a5p-1
+0x1.ca73a41b238a2p-1
+0x1.a08fc5e1724bfp-1
+0x1.3e603689d203ap-1
+-0x1.995221a7cd650p-1
+0x1.dee8b256137cdp-1
+-0x1.053fb553b89f8p-1
+-0x1.496161b184764p-1
+0x1.eb38128f82439p-1
+-0x1.f613a094bcd5bp-1
+0x1.d97577265ac94p-1
+0x1.b2613742a87f2p-1
+-0x1.9ae634697f924p-2
+-0x1.fc2075806621dp-1
+0x1.e0a975f696bc8p-2
+0x1.f6f6b7b5834b8p-1
+-0x1.fe1f228d0b462p-1
+0x1.f70a91841af44p-1
+0x1.e2f9c07852f70p-1
+0x1.7273722e70f48p-2
+0x1.db9c019d4ecbbp-11
+-0x1.59ab151c1482cp-1
+-0x1.c2a3b1d7f7890p-1
+0x1.e700830d53942p-1
+0x1.6324a18a48715p-1
+-0x1.f8d06493cf734p-1
+0x1.f80b9422bce4ap-6
+-0x1.23b475322f69dp-9
+0x1.25489233b69fep-3
+0x1.a305e63ca5b92p-1
+-0x1.ff6614d7db93dp-1
+0x1.52b3468ba247fp-19
+0x1.f631f6454296ap-1
+-0x1.0ccec227b1aa8p-1
+0x1.1c0a50f58ee7ep-1
+0x1.eb1881275a5fap-1
+0x1.e5a3c6b686c17p-1
+-0x1.5abd34f01cc55p-25
+0x1.91744378d312fp-25
+0x1.e31933dfcae5ep-6
+0x1.560a94c69898dp-28
+0x1.4ede34c4c5b9cp-39
+-0x1.b5caf13967673p-28
+-0x1.d242039676722p-32
diff --git a/benchtests/libmvec/acospif-inputs b/benchtests/libmvec/acospif-inputs
new file mode 100644
index 0000000..820af94
--- /dev/null
+++ b/benchtests/libmvec/acospif-inputs
@@ -0,0 +1,2710 @@
+## args: float
+## ret: float
+## includes: math.h
+# Random inputs in [-1,1]
+## name: workload-random
+0x1.f1ee7p-1
+-0x1.cb4208p-2
+-0x1.4355b4p-1
+-0x1.08de7cp-1
+0x1.8da878p-2
+0x1.2fda9p-3
+-0x1.0a37b8p-3
+0x1.c88b84p-1
+0x1.d983dp-2
+0x1.aed83cp-1
+-0x1.9b639ap-1
+0x1.4781ep-2
+-0x1.e43f8p-6
+-0x1.3a88ap-3
+-0x1.eee378p-3
+-0x1.dedfdp-3
+-0x1.16090ap-1
+0x1.fddc9p-2
+-0x1.75d528p-1
+-0x1.31dc34p-1
+-0x1.b2f668p-2
+0x1.c5a758p-1
+-0x1.20936p-5
+0x1.f549f8p-2
+0x1.0b0998p-1
+0x1.904e3cp-1
+0x1.e8ede8p-2
+0x1.9372fcp-1
+0x1.21127p-2
+0x1.a412ap-1
+0x1.69eb5p-3
+0x1.f0e0a8p-1
+0x1.d11aep-2
+0x1.47b1ecp-1
+0x1.5714p-3
+0x1.3f329cp-1
+-0x1.ef5cep-5
+-0x1.a4f52cp-2
+0x1.8c9ff8p-1
+0x1.7da15p-1
+-0x1.ac1b5p-2
+-0x1.09a548p-1
+0x1.6e2c9p-2
+0x1.afbef8p-2
+-0x1.c7513p-1
+0x1.fa4938p-1
+0x1.fd1da8p-2
+-0x1.63276cp-1
+-0x1.94062p-5
+0x1.0dde54p-1
+0x1.8e8ccp-5
+-0x1.227decp-2
+-0x1.0afb7p-3
+0x1.8f9bfp-3
+-0x1.820e4p-4
+0x1.99cc84p-1
+-0x1.24b324p-2
+-0x1.d148cp-4
+-0x1.6b331p-4
+-0x1.7f1838p-1
+0x1.a7eed8p-2
+-0x1.1f9cap-1
+0x1.140c8p-2
+-0x1.6008e8p-3
+-0x1.f1d9ep-3
+-0x1.0bbce8p-2
+0x1.057034p-1
+-0x1.683734p-2
+-0x1.a30048p-2
+-0x1.ce0618p-3
+-0x1.8eb79p-2
+0x1.f109e8p-2
+-0x1.78ffe8p-3
+0x1.6e4784p-1
+-0x1.255b48p-2
+-0x1.b4773cp-1
+-0x1.a9d314p-2
+-0x1.b3fa8p-4
+-0x1.17f908p-1
+0x1.e085bp-1
+0x1.677fcp-3
+0x1.5f773p-3
+-0x1.c9f66p-2
+-0x1.cf66p-3
+-0x1.dfd684p-2
+0x1.e95b08p-2
+0x1.6985bp-2
+0x1.3cdf28p-2
+-0x1.8841p-3
+0x1.473aap-4
+0x1.90bd3cp-1
+-0x1.3aaa28p-1
+-0x1.0d3c6p-3
+0x1.afc904p-1
+0x1.879a2p-4
+-0x1.1289eep-1
+-0x1.335e5p-1
+-0x1.37b82cp-2
+-0x1.e5bef4p-1
+-0x1.9919ep-3
+0x1.1ab8fp-3
+-0x1.8ee2cp-2
+-0x1.355b9cp-1
+0x1.db5ef8p-2
+0x1.0f8cep-3
+0x1.b8ebdp-3
+0x1.e9878p-5
+-0x1.01d574p-1
+-0x1.76c9cp-3
+0x1.37b2acp-1
+0x1.8a6a8p-3
+-0x1.0146d8p-2
+-0x1.33114ep-1
+0x1.17e52p-3
+0x1.2b3f7p-2
+-0x1.77f646p-1
+-0x1.63d908p-2
+-0x1.3a5658p-3
+-0x1.bd65fcp-2
+-0x1.9f3874p-2
+0x1.1c042p-4
+-0x1.c6099p-2
+0x1.13eddp-3
+0x1.73181p-1
+-0x1.819b34p-2
+-0x1.c172a2p-1
+-0x1.1c37a4p-2
+0x1.caccep-1
+-0x1.6d09c8p-3
+-0x1.9a5c38p-2
+-0x1.68e67p-2
+-0x1.6e74f8p-1
+0x1.fea67p-1
+0x1.cbe908p-1
+-0x1.95487p-3
+-0x1.8a4ef8p-3
+-0x1.1b7ffp-4
+0x1.252c9p-3
+-0x1.af3b6cp-1
+-0x1.de9acp-4
+0x1.3434c8p-1
+0x1.a3cb88p-2
+0x1.cc5e14p-1
+0x1.9141ep-4
+-0x1.2733fp-1
+-0x1.a2b228p-1
+0x1.2f4b78p-2
+-0x1.095104p-1
+-0x1.5838f4p-2
+-0x1.04bf64p-1
+-0x1.7ab13p-2
+-0x1.21fedp-1
+0x1.371abp-2
+-0x1.1dfa7ep-1
+0x1.2baa78p-1
+0x1.a8e2dp-3
+-0x1.8f6fep-5
+0x1.00fe0cp-1
+0x1.b52634p-1
+0x1.f73c7p-3
+0x1.e2f354p-1
+0x1.8334dp-3
+-0x1.21d018p-2
+0x1.349a2p-4
+-0x1.7fecp-1
+0x1.94a1a8p-1
+-0x1.ba51c8p-3
+-0x1.c5ab08p-2
+-0x1.ca7c5ap-1
+0x1.6353dp-2
+-0x1.5e5708p-1
+0x1.4c8c1p-1
+-0x1.544b58p-1
+0x1.552bc8p-2
+0x1.843058p-2
+0x1.2083dcp-1
+-0x1.c625ap-2
+0x1.8cb86cp-1
+-0x1.770cf4p-2
+0x1.41387p-3
+-0x1.e4214ep-1
+0x1.91536p-3
+0x1.00b258p-2
+-0x1.051b2p-1
+0x1.e69fd8p-2
+-0x1.9b368p-5
+0x1.9f7008p-2
+-0x1.2122ecp-2
+-0x1.b13cb4p-1
+0x1.677ap-4
+0x1.928f6p-1
+-0x1.4b5b6ep-1
+0x1.53b258p-2
+-0x1.da2438p-2
+0x1.78cc68p-1
+0x1.f5a6c8p-1
+-0x1.bcbb3ap-1
+0x1.c5affp-1
+-0x1.392b4p-1
+0x1.ec4c6p-3
+0x1.7b5p-10
+-0x1.411834p-2
+0x1.668a7cp-1
+0x1.acd5e4p-1
+-0x1.f74236p-1
+0x1.7376a8p-2
+-0x1.d6a2fp-2
+0x1.19c4cp-4
+-0x1.4bc264p-2
+0x1.f3cp-4
+-0x1.242cecp-1
+0x1.74246p-2
+-0x1.c042e4p-1
+-0x1.449ef4p-1
+-0x1.d6cb26p-1
+0x1.c2c154p-1
+-0x1.c19818p-2
+-0x1.c1188p-3
+0x1.80606p-4
+-0x1.5d25p-4
+0x1.397b8cp-1
+-0x1.7a4b7cp-2
+-0x1.258fdp-3
+-0x1.070d7cp-1
+-0x1.8feb8p-4
+-0x1.7066b8p-1
+0x1.dba238p-2
+-0x1.a4b166p-1
+-0x1.8eb868p-3
+0x1.258adp-3
+-0x1.1d7078p-1
+0x1.d9e09p-2
+-0x1.0c66dp-4
+0x1.7e683p-1
+0x1.7759ap-2
+0x1.c9d96p-1
+-0x1.a9918ep-1
+0x1.83fd5p-2
+-0x1.5cd2p-9
+-0x1.eb01e2p-1
+0x1.3157e4p-1
+0x1.dd90cp-5
+-0x1.014668p-2
+0x1.3ce208p-1
+0x1.87b398p-1
+0x1.ea2e78p-1
+0x1.731d68p-1
+0x1.560cbcp-1
+-0x1.b157ep-1
+-0x1.d4b98p-6
+-0x1.d8921cp-1
+-0x1.232d6p-3
+-0x1.2c90ep-2
+-0x1.bdd41p-3
+-0x1.205b7p-1
+0x1.787b8p-2
+0x1.ed3308p-2
+-0x1.342684p-1
+-0x1.c59824p-2
+-0x1.3a3c28p-1
+-0x1.1e8524p-1
+0x1.39d9e8p-1
+0x1.b41cfp-1
+0x1.41b08p-6
+-0x1.63b134p-1
+-0x1.f95978p-2
+0x1.696a88p-2
+-0x1.05219p-3
+0x1.ac14a4p-1
+-0x1.d40de8p-2
+-0x1.bac462p-1
+0x1.ad8e88p-2
+0x1.16658p-5
+-0x1.812b6p-4
+-0x1.f9f29ep-1
+0x1.c96e54p-1
+0x1.502c78p-2
+-0x1.b35f22p-1
+-0x1.4c9cf8p-1
+0x1.1a640cp-1
+0x1.4dcep-2
+0x1.5e7f14p-1
+0x1.3aca7cp-1
+0x1.45d28p-4
+0x1.30e1f8p-1
+-0x1.162274p-1
+-0x1.5f8724p-1
+0x1.b1a29p-2
+0x1.36bd28p-2
+-0x1.8ed47cp-1
+-0x1.f6aa24p-1
+-0x1.53caa8p-2
+0x1.1f982cp-1
+-0x1.0baaep-5
+-0x1.04fep-1
+0x1.737af8p-2
+0x1.8085bp-3
+0x1.d8d41cp-1
+-0x1.f4f464p-2
+-0x1.7eae48p-1
+0x1.15dd4p-2
+0x1.d067ep-4
+-0x1.9e68ep-3
+0x1.c70f98p-1
+0x1.7be43p-1
+-0x1.c2ebap-5
+0x1.32e99p-3
+-0x1.579fecp-2
+0x1.3adc24p-1
+0x1.b593f8p-1
+-0x1.3d4b48p-1
+-0x1.07e4b6p-1
+0x1.fcdcd8p-2
+-0x1.c4bfp-3
+0x1.92ac54p-1
+-0x1.905d3p-4
+-0x1.417494p-2
+0x1.33d0ecp-1
+-0x1.10de8p-1
+0x1.ad96cp-3
+0x1.3d28ep-2
+-0x1.41cb8cp-1
+0x1.2a1174p-1
+0x1.3613fp-3
+-0x1.ce84a2p-1
+-0x1.3873a4p-1
+0x1.288704p-1
+-0x1.5d93dep-1
+0x1.2ee7ccp-1
+-0x1.a57ed2p-1
+0x1.0165ap-1
+-0x1.c32d7p-4
+-0x1.e2ea08p-3
+0x1.d3c37p-3
+-0x1.fc674p-6
+0x1.c5592p-1
+0x1.85ab2p-3
+-0x1.d150acp-2
+0x1.82b378p-1
+0x1.50135p-2
+-0x1.85412p-4
+0x1.730d9p-3
+0x1.575ffcp-1
+-0x1.c9f9e4p-1
+0x1.78754p-4
+0x1.375dfp-1
+0x1.4e18d4p-1
+0x1.73bfp-2
+-0x1.01258p-3
+-0x1.d5ce88p-1
+-0x1.a3a3c8p-2
+0x1.186dd8p-1
+-0x1.006ddp-1
+-0x1.8b6f68p-3
+0x1.8ebep-3
+-0x1.031746p-1
+-0x1.83aea8p-1
+0x1.48e894p-1
+-0x1.d88e4p-2
+-0x1.f096aep-1
+0x1.90a66cp-1
+-0x1.f1800cp-1
+0x1.1343e8p-2
+0x1.660e3p-3
+-0x1.713eb4p-1
+-0x1.3605a8p-1
+-0x1.2b0e74p-1
+-0x1.760b5p-4
+-0x1.1fc02p-2
+0x1.58e5e8p-1
+0x1.8d6dap-3
+-0x1.0ed316p-1
+-0x1.4cd43ap-1
+-0x1.b0a6fp-2
+-0x1.bfa28ap-1
+-0x1.ed2668p-3
+-0x1.f2cf22p-1
+-0x1.bd51ap-5
+0x1.08111p-2
+0x1.f1573p-1
+0x1.18d938p-2
+-0x1.7d4b6p-5
+-0x1.a7014ep-1
+-0x1.141464p-1
+-0x1.e5fe88p-2
+0x1.e55034p-1
+0x1.eb7268p-1
+-0x1.45675ep-1
+0x1.1f94dp-3
+-0x1.1b09p-1
+0x1.438cap-4
+0x1.c5a448p-2
+0x1.14e6dp-3
+0x1.5748p-8
+-0x1.80711cp-2
+-0x1.600c98p-2
+-0x1.d9243p-1
+-0x1.0c05dp-2
+0x1.ba0368p-2
+0x1.79c8ep-3
+0x1.a75d28p-2
+-0x1.3cc51p-1
+0x1.050d3p-3
+-0x1.2d238cp-1
+0x1.0ef934p-1
+-0x1.88a846p-1
+0x1.2c27b8p-1
+0x1.23c37p-3
+-0x1.e3889p-3
+0x1.da721p-2
+-0x1.c9dd7cp-1
+0x1.65064cp-1
+0x1.28440cp-1
+-0x1.12124p-2
+0x1.afc6d8p-2
+-0x1.477fap-5
+-0x1.cb73d6p-1
+0x1.7062cp-5
+-0x1.577bbap-1
+0x1.d136ep-1
+-0x1.8b2c74p-1
+0x1.7cfc1p-3
+-0x1.7dd08p-7
+-0x1.40d214p-2
+-0x1.5da328p-1
+0x1.96362p-2
+-0x1.e1cd1p-4
+-0x1.5db6d8p-1
+-0x1.7f3732p-1
+0x1.d885ecp-1
+0x1.1b8acp-2
+0x1.9d6d2p-1
+-0x1.c9aa3p-2
+-0x1.86d338p-3
+-0x1.3920bp-3
+0x1.bc15acp-1
+-0x1.131868p-1
+0x1.dac8c8p-1
+0x1.cb7cb8p-2
+0x1.a93fcp-3
+0x1.bb58ap-1
+0x1.db804p-1
+-0x1.bbac3cp-2
+-0x1.fc5b9ep-1
+0x1.7c268p-6
+0x1.246c2p-1
+0x1.4bf3a8p-1
+0x1.3b9f8p-5
+-0x1.d3ad68p-1
+-0x1.e0c77ap-1
+0x1.23dbep-3
+0x1.fcddc8p-1
+-0x1.f4b13p-2
+-0x1.8e47fp-1
+-0x1.94e6a4p-2
+0x1.424968p-1
+0x1.08413p-3
+0x1.45f36p-1
+0x1.4b2f9p-2
+-0x1.cc8592p-1
+0x1.f0022p-2
+-0x1.bc36a8p-3
+0x1.4cb01cp-1
+0x1.4d5288p-2
+0x1.c22b58p-1
+0x1.75c39p-3
+-0x1.b7237ap-1
+0x1.e74798p-1
+-0x1.f46236p-1
+-0x1.d6ccfcp-1
+0x1.11bfa8p-1
+-0x1.831eb8p-1
+-0x1.3eea46p-1
+0x1.b54f68p-1
+0x1.e48ec8p-2
+0x1.9b287p-3
+-0x1.c27c1p-2
+0x1.9134cp-2
+-0x1.43e134p-1
+0x1.590ca8p-1
+0x1.6fb48p-2
+0x1.a95674p-1
+0x1.24846cp-1
+0x1.ad8b98p-2
+-0x1.05a11p-1
+0x1.4e65a8p-2
+0x1.5111e8p-1
+0x1.16760cp-1
+-0x1.149e66p-1
+-0x1.6ae08cp-1
+-0x1.c4cb8p-1
+0x1.51c04p-3
+0x1.29166p-1
+0x1.adb424p-1
+0x1.f8fe88p-1
+0x1.c3c108p-2
+-0x1.2554ap-4
+0x1.3c158p-2
+-0x1.606348p-1
+0x1.e2d58p-5
+-0x1.02092p-2
+0x1.d1321p-2
+0x1.142d94p-1
+0x1.34fb0cp-1
+0x1.1f5adp-2
+-0x1.9a18d8p-2
+-0x1.9d377p-1
+-0x1.3d229p-1
+0x1.c42e4p-4
+-0x1.d587b6p-1
+0x1.8f1d1p-3
+-0x1.2ccfp-1
+0x1.8119cp-2
+-0x1.36a96p-3
+-0x1.ea581ap-1
+-0x1.9308ecp-1
+0x1.979e1p-1
+-0x1.2f0734p-1
+0x1.6b9cap-4
+-0x1.8b771cp-2
+0x1.4915b8p-2
+0x1.43391p-1
+-0x1.894fbp-1
+-0x1.21db2p-5
+0x1.5f5eap-3
+0x1.5d31f8p-2
+-0x1.325fecp-1
+-0x1.9124dp-1
+-0x1.a5bfap-2
+-0x1.09d4f6p-1
+0x1.fc7128p-1
+0x1.d868fcp-1
+-0x1.642a7ep-1
+0x1.037934p-1
+-0x1.b603p-3
+0x1.1fd9d8p-1
+0x1.16dc1p-3
+-0x1.867414p-1
+0x1.547fa8p-1
+0x1.ba03fp-1
+0x1.f42b4p-4
+-0x1.a26108p-3
+-0x1.26b43p-2
+0x1.6e26b8p-2
+-0x1.d3434p-6
+-0x1.a7484cp-2
+-0x1.a138c6p-1
+0x1.a4b4p-5
+0x1.0a5bbcp-1
+-0x1.0b395cp-1
+-0x1.c57fep-4
+-0x1.c78e6p-5
+0x1.bf949p-1
+-0x1.aad398p-1
+0x1.d191d4p-1
+0x1.ccca48p-2
+-0x1.9e6ccp-5
+-0x1.47017cp-1
+0x1.060be8p-1
+0x1.cf0d6p-2
+0x1.0e7228p-2
+-0x1.e37f8p-6
+0x1.f09e6p-4
+-0x1.9cbbap-4
+0x1.2499p-4
+0x1.ab5c6cp-1
+-0x1.d38bp-8
+-0x1.7222p-9
+0x1.7797cp-3
+-0x1.a74d5p-1
+-0x1.7f39ep-2
+0x1.2ff1ep-1
+-0x1.4052cp-3
+-0x1.1bf79ap-1
+-0x1.fd24d8p-3
+-0x1.5cdcfcp-2
+0x1.eb50ap-2
+-0x1.61c674p-2
+-0x1.c6f3bep-1
+-0x1.19b15p-1
+-0x1.57acdp-3
+-0x1.ebb35ep-1
+-0x1.b689bep-1
+-0x1.b33158p-2
+0x1.77e5p-5
+-0x1.d935cp-4
+0x1.90887p-1
+-0x1.4caf7p-3
+0x1.248fb4p-1
+-0x1.caacbcp-1
+-0x1.6f535cp-2
+-0x1.b3aab4p-1
+-0x1.a2c3ap-5
+-0x1.df04p-1
+0x1.2608dp-1
+0x1.6961c8p-1
+-0x1.aba4e4p-1
+0x1.5b54c8p-2
+0x1.13acc4p-1
+-0x1.40ce5cp-1
+-0x1.b3cddp-2
+-0x1.7ad388p-3
+-0x1.2a5244p-1
+-0x1.5d7fd8p-1
+-0x1.8aaddp-1
+0x1.8077dcp-1
+-0x1.cde88p-7
+-0x1.4b0ebcp-1
+-0x1.88b92p-1
+0x1.9ea448p-1
+0x1.4b448p-2
+0x1.3cad0cp-1
+0x1.91dcd8p-2
+-0x1.79e2bp-4
+0x1.068038p-2
+-0x1.db7dcp-5
+0x1.fc5808p-2
+0x1.6f5dep-4
+-0x1.660788p-3
+0x1.05e6a8p-2
+0x1.138ae8p-1
+-0x1.12cdecp-1
+0x1.bed22p-2
+0x1.ced624p-1
+-0x1.e58438p-3
+-0x1.7dep-9
+-0x1.381p-11
+-0x1.f148d8p-2
+-0x1.526e2p-2
+-0x1.80b876p-1
+0x1.16343p-2
+-0x1.b2a2d4p-1
+-0x1.bfeb84p-1
+0x1.777b8p-6
+0x1.5fecp-3
+-0x1.6af4bp-1
+-0x1.9a3d48p-3
+0x1.3e6e64p-1
+0x1.2b80dp-2
+0x1.cdcaa4p-1
+0x1.479ap-4
+-0x1.d7c1bcp-2
+0x1.1e0e3p-1
+0x1.d74a98p-1
+0x1.e83b48p-2
+0x1.30b0fp-2
+-0x1.f79ab4p-1
+0x1.15eeb8p-2
+0x1.7aa394p-1
+0x1.613678p-1
+-0x1.c09598p-1
+-0x1.93fbp-8
+0x1.f2ffb8p-2
+0x1.bf4554p-1
+-0x1.c928cp-6
+-0x1.c02974p-2
+0x1.038134p-1
+0x1.0f126p-1
+-0x1.d3c57cp-1
+0x1.ed10dp-3
+0x1.39e148p-1
+-0x1.11b248p-2
+-0x1.ad5ffp-4
+-0x1.b883d8p-3
+-0x1.3d3ab8p-1
+0x1.2e708p-3
+0x1.ed1f4p-1
+-0x1.a47f5ep-1
+-0x1.780464p-1
+-0x1.458fcp-5
+0x1.ea9174p-1
+0x1.e85158p-2
+0x1.e567ap-1
+-0x1.a7bbbp-4
+0x1.a00924p-1
+-0x1.9ea2f8p-1
+0x1.23e75cp-1
+-0x1.82332cp-1
+-0x1.bfc43p-2
+0x1.2779ep-1
+0x1.34989p-1
+-0x1.9e18f4p-1
+-0x1.79e85p-1
+0x1.80e92p-2
+-0x1.7e2018p-1
+-0x1.4f3314p-1
+0x1.41ad98p-2
+0x1.12a988p-1
+0x1.1ebcacp-1
+-0x1.2ef59cp-1
+0x1.3c69ccp-1
+-0x1.d0818p-4
+-0x1.dd8b7cp-1
+0x1.1ff97cp-1
+0x1.f10dcp-5
+0x1.5b808p-4
+-0x1.2f85ecp-1
+-0x1.a0f4p-7
+0x1.38cfep-1
+0x1.8c633p-3
+-0x1.2d02p-2
+-0x1.cf80dcp-1
+-0x1.896db4p-2
+-0x1.e32d8p-1
+0x1.90e82p-2
+-0x1.a4b0f8p-3
+-0x1.f5e0ep-5
+-0x1.7ae2bp-4
+-0x1.a9f8cep-1
+-0x1.cdb088p-2
+-0x1.95b4d4p-1
+0x1.0b0944p-1
+-0x1.cb71a4p-1
+-0x1.eeeffep-1
+0x1.87af48p-1
+-0x1.ca91bcp-2
+-0x1.70778ep-1
+0x1.ab3828p-1
+-0x1.183fcp-4
+-0x1.a3c766p-1
+-0x1.e284f4p-2
+0x1.da54b8p-2
+-0x1.2c1e14p-1
+0x1.31a1f8p-2
+-0x1.f6054p-2
+-0x1.0bbbd8p-1
+-0x1.f0003p-3
+0x1.a8cda8p-1
+-0x1.d2d56p-5
+-0x1.99cep-7
+-0x1.fd154p-6
+-0x1.d0f6e2p-1
+-0x1.863cbp-4
+0x1.7479cp-1
+0x1.7fb72p-1
+-0x1.01134p-4
+-0x1.e6e12p-1
+0x1.7b183cp-1
+0x1.0989a8p-2
+0x1.c5124p-1
+-0x1.94e13cp-1
+-0x1.b4e33p-2
+0x1.b54d2p-4
+0x1.901418p-1
+0x1.102d24p-1
+-0x1.2f68f4p-1
+0x1.7278ap-2
+-0x1.408954p-2
+0x1.4eef9p-3
+-0x1.cb1a7ep-1
+0x1.b6c928p-1
+0x1.ca137p-3
+0x1.59527p-1
+-0x1.3730b8p-3
+0x1.5f73bp-3
+0x1.fa926p-2
+0x1.59274cp-1
+0x1.07f7c8p-1
+0x1.08cf5p-2
+-0x1.6aaea8p-3
+0x1.9309p-5
+0x1.5f8888p-1
+-0x1.e63e94p-2
+-0x1.7b6cf8p-1
+0x1.ce2a2cp-1
+-0x1.5ce9bep-1
+-0x1.ad9fa4p-1
+0x1.fc44ep-3
+-0x1.9235cp-1
+-0x1.d42da4p-2
+-0x1.2b818ap-1
+-0x1.8cfee8p-2
+0x1.71ccdp-3
+-0x1.465d74p-1
+-0x1.c95e4cp-1
+0x1.6e6becp-1
+-0x1.79b85p-4
+0x1.405948p-2
+-0x1.9a2f3p-2
+-0x1.a0667cp-2
+-0x1.ab9304p-1
+0x1.95fdfcp-1
+-0x1.4ed3acp-1
+-0x1.a94f3cp-2
+0x1.11354p-2
+0x1.2dedc8p-2
+-0x1.53a2p-4
+-0x1.ad9ee2p-1
+-0x1.341a68p-1
+-0x1.f0aadap-1
+0x1.624fe8p-1
+0x1.3aaecp-5
+0x1.b81c5cp-1
+-0x1.0cfp-7
+0x1.88a91p-2
+-0x1.b58bp-4
+-0x1.55782p-1
+-0x1.9d30aap-1
+0x1.b47eecp-1
+0x1.8a04bp-1
+0x1.aca2cp-5
+0x1.c5df88p-1
+0x1.b7b72p-1
+-0x1.063aacp-1
+-0x1.3fb248p-2
+0x1.77d008p-1
+-0x1.d9a698p-3
+-0x1.e9f7e8p-1
+-0x1.fe984p-5
+-0x1.ab69d6p-1
+0x1.a6006p-2
+-0x1.2c69ecp-2
+0x1.0d27ecp-1
+0x1.7e55c8p-2
+-0x1.5cbfc8p-3
+-0x1.fa0c5p-3
+0x1.8b6e4p-2
+0x1.53dcp-9
+-0x1.5d75bp-1
+-0x1.24b78cp-2
+-0x1.9b3a7p-4
+-0x1.b92358p-1
+0x1.b6673p-1
+0x1.a06c8p-2
+-0x1.13614p-2
+-0x1.f67588p-1
+0x1.101bbp-1
+-0x1.829cap-4
+0x1.725f34p-1
+0x1.80d618p-2
+0x1.82d0d8p-2
+-0x1.6ca6c2p-1
+0x1.21df1cp-1
+0x1.e0793cp-1
+-0x1.c1d7p-5
+-0x1.f0c35p-1
+-0x1.d48e88p-3
+-0x1.c49826p-1
+0x1.3a4eep-1
+-0x1.0475f8p-1
+0x1.75411p-2
+0x1.4f91e8p-2
+-0x1.28d3cp-5
+-0x1.0d51eep-1
+-0x1.8e8cf4p-2
+-0x1.ab19dcp-1
+-0x1.63935p-1
+-0x1.4f0c6p-1
+-0x1.d6d0dp-2
+0x1.6bf648p-1
+0x1.f69b28p-1
+-0x1.11061p-1
+-0x1.fb29bp-3
+-0x1.150b98p-1
+-0x1.250f7p-1
+-0x1.81ca44p-2
+-0x1.7af0dp-4
+0x1.71442p-3
+-0x1.271c94p-1
+0x1.814a58p-1
+0x1.3e2eb8p-1
+0x1.419698p-2
+-0x1.d320e4p-2
+-0x1.a6d9cp-5
+-0x1.40486cp-1
+-0x1.2a51ap-4
+0x1.a2bedcp-1
+0x1.2f6aep-4
+-0x1.92fcp-1
+0x1.faf2p-1
+-0x1.36e3e4p-2
+0x1.8f437cp-1
+0x1.21bb18p-1
+-0x1.3fe018p-2
+-0x1.8e46ccp-1
+-0x1.686498p-3
+-0x1.89a96ap-1
+0x1.a863ep-2
+-0x1.ae10e8p-1
+-0x1.96a374p-2
+-0x1.0b521ap-1
+0x1.777a4p-5
+0x1.9977p-1
+0x1.beecp-3
+-0x1.328cd4p-2
+0x1.04454p-3
+0x1.7885p-5
+0x1.d87f7p-2
+-0x1.a5c168p-3
+0x1.6c9ccp-4
+0x1.3409p-3
+0x1.ade8fp-2
+-0x1.91eccp-6
+-0x1.977fap-5
+-0x1.6540bp-2
+-0x1.b2c84cp-1
+-0x1.e2734p-3
+-0x1.85f734p-2
+0x1.6b1798p-1
+0x1.bb5dap-3
+0x1.19258p-6
+0x1.84d0fcp-1
+0x1.757b5p-3
+0x1.5a2b8p-3
+-0x1.facea8p-2
+-0x1.0cfbep-1
+-0x1.8301dp-3
+0x1.69fc1p-3
+-0x1.e210d6p-1
+0x1.9e7d48p-1
+0x1.e534e4p-1
+-0x1.f1321ap-1
+-0x1.81875p-1
+0x1.40cdccp-1
+-0x1.a78ccp-1
+0x1.5dc34p-1
+-0x1.fa02b8p-3
+0x1.9777ap-3
+0x1.fe912cp-1
+-0x1.d00e7p-2
+0x1.a0d544p-1
+0x1.4f1dp-4
+-0x1.9b8dd6p-1
+-0x1.cfb238p-2
+0x1.184c1p-3
+0x1.b8e1dcp-1
+0x1.a74358p-1
+0x1.79035p-2
+0x1.e4ccp-2
+-0x1.820e48p-2
+-0x1.c41082p-1
+-0x1.f519c4p-1
+0x1.c052ap-4
+-0x1.b43fdp-1
+-0x1.bf5ee8p-3
+-0x1.af01cp-3
+-0x1.b74732p-1
+-0x1.8b0b6ap-1
+0x1.e44f5cp-1
+-0x1.827d78p-3
+-0x1.e9245p-1
+0x1.3fb15p-3
+-0x1.e60c48p-3
+0x1.f65ap-7
+0x1.6e1188p-2
+0x1.cfae8p-2
+-0x1.ca94p-1
+0x1.259454p-1
+-0x1.4131ep-1
+-0x1.c6668p-2
+-0x1.6d89bp-1
+-0x1.c6aea4p-1
+0x1.8828ecp-1
+0x1.31c7b8p-1
+-0x1.35cf48p-2
+-0x1.824398p-2
+-0x1.b409cp-2
+0x1.62d508p-1
+0x1.ed7788p-1
+0x1.6f72dcp-1
+0x1.745a6p-4
+0x1.55deap-4
+-0x1.ffdbb8p-3
+0x1.cf7dfcp-1
+-0x1.7606bp-3
+-0x1.3147ep-1
+0x1.ef6ac8p-2
+0x1.a5be8p-1
+0x1.03c394p-1
+-0x1.31bb4p-3
+-0x1.3c9428p-1
+-0x1.60d1d8p-2
+-0x1.76c46p-4
+-0x1.17a81p-4
+0x1.cbdb2p-3
+0x1.7f3cbp-1
+0x1.89c68p-5
+-0x1.5d947p-3
+-0x1.ee910ap-1
+0x1.dbaf88p-1
+0x1.386334p-1
+-0x1.30fd04p-1
+0x1.27e2e8p-1
+-0x1.6617b8p-3
+0x1.87f97p-3
+0x1.f186p-6
+0x1.2d209p-1
+-0x1.806fap-5
+0x1.ae718p-5
+-0x1.d7d1acp-1
+-0x1.5ed468p-1
+-0x1.b3b6bp-3
+-0x1.3b272cp-2
+-0x1.a7c64p-3
+-0x1.2f0ep-1
+-0x1.8ab898p-2
+0x1.b325ap-4
+-0x1.1a05fp-2
+0x1.f3cbd8p-2
+-0x1.ffd45p-2
+0x1.2b0478p-2
+0x1.4d772cp-1
+0x1.a78918p-2
+-0x1.90463ep-1
+-0x1.63e54cp-1
+-0x1.578102p-1
+-0x1.41252cp-1
+0x1.3d851p-3
+0x1.1c68cp-2
+-0x1.beedf8p-3
+0x1.9950ap-4
+-0x1.03d1cap-1
+0x1.cea778p-1
+-0x1.2a2e24p-2
+-0x1.87794p-1
+-0x1.5d4aecp-1
+-0x1.a6bbf4p-2
+0x1.3ce564p-1
+0x1.778f34p-1
+0x1.3c24c8p-1
+0x1.1e7a38p-2
+-0x1.062176p-1
+-0x1.97fp-4
+0x1.6af3c4p-1
+-0x1.f18bdp-3
+0x1.c7518p-1
+0x1.2a751p-1
+0x1.60b04p-5
+-0x1.d9d606p-1
+-0x1.315cep-1
+-0x1.12362p-4
+0x1.3378cp-4
+0x1.5eb0a4p-1
+-0x1.6b6274p-1
+-0x1.062a48p-3
+0x1.592488p-1
+0x1.93e99cp-1
+0x1.64e468p-1
+0x1.3286e4p-1
+-0x1.da996cp-2
+-0x1.d69728p-2
+-0x1.1e40e8p-2
+0x1.50cb0cp-1
+0x1.44111p-1
+0x1.a7e36p-3
+-0x1.06836cp-2
+0x1.9ef788p-1
+-0x1.ceeddp-3
+-0x1.2af038p-2
+0x1.cfbd28p-1
+0x1.df3ecp-4
+0x1.6ac478p-2
+-0x1.d1fcbp-1
+0x1.d16628p-1
+-0x1.d74f2cp-1
+-0x1.708f7p-3
+0x1.f377f8p-2
+-0x1.805c28p-2
+-0x1.63d976p-1
+0x1.3e815p-3
+0x1.e16a78p-1
+-0x1.70de1p-1
+-0x1.f7dc34p-1
+-0x1.ed477cp-2
+-0x1.60f208p-3
+-0x1.1bbdfp-1
+-0x1.967fcp-3
+0x1.46a91p-1
+0x1.e0999p-1
+0x1.caec74p-1
+-0x1.5e456p-1
+0x1.66a41p-1
+-0x1.8e6514p-1
+0x1.b2a08p-4
+0x1.3cb52p-1
+-0x1.b74814p-1
+0x1.64daap-1
+-0x1.13b1b2p-1
+0x1.eedaf4p-1
+0x1.1286ccp-1
+-0x1.80f85ap-1
+-0x1.58b3f8p-3
+0x1.ed788p-4
+0x1.2f96f4p-1
+-0x1.ac144p-1
+0x1.528bfcp-1
+-0x1.eef846p-1
+-0x1.2fdb44p-2
+-0x1.7c17a4p-2
+-0x1.027b28p-1
+-0x1.df9c8cp-1
+-0x1.6aa608p-1
+-0x1.01672cp-1
+-0x1.18f904p-2
+-0x1.5a0d4ep-1
+-0x1.78edbp-1
+0x1.73512p-1
+-0x1.7737p-1
+-0x1.e2e294p-1
+-0x1.d723bap-1
+0x1.8909fp-3
+-0x1.9dbbc8p-1
+-0x1.eee24p-3
+-0x1.f269dcp-2
+0x1.72c0f8p-1
+0x1.8e5168p-1
+0x1.6c4b4p-5
+0x1.2139ep-2
+-0x1.3433f4p-2
+0x1.7a893p-1
+0x1.00a0c4p-1
+-0x1.27812p-1
+-0x1.d903p-7
+0x1.1203c8p-2
+-0x1.6078d4p-1
+0x1.dfe19cp-1
+-0x1.19325p-3
+0x1.cc03p-3
+-0x1.4c733p-1
+-0x1.3e7aap-3
+-0x1.6cf6ccp-1
+-0x1.94b048p-1
+-0x1.e5352cp-2
+0x1.918d4p-1
+0x1.a5eb38p-1
+0x1.7af024p-1
+0x1.3ebd58p-2
+-0x1.f1dec8p-1
+0x1.34cd2p-2
+0x1.5e0ee4p-1
+0x1.f681cp-3
+0x1.94405p-3
+0x1.c6ec8p-6
+0x1.dffc54p-1
+-0x1.e199bp-2
+0x1.732c8p-2
+-0x1.4ab934p-2
+-0x1.8fa31p-4
+-0x1.d658bp-3
+-0x1.b4c138p-1
+-0x1.dea8f6p-1
+-0x1.4e5e4p-2
+-0x1.b673bep-1
+-0x1.c0de98p-3
+-0x1.99024p-4
+0x1.5646bp-1
+-0x1.e31358p-3
+-0x1.cf041cp-2
+0x1.96eebp-3
+0x1.8a2b7p-3
+0x1.f25cdcp-1
+0x1.cd0bb8p-2
+0x1.83775p-3
+-0x1.30db64p-1
+0x1.823c2p-2
+0x1.d9b3b8p-2
+-0x1.c64b8p-4
+-0x1.ec484p-4
+-0x1.89acf8p-3
+0x1.66e58p-1
+0x1.fbb81p-2
+-0x1.e95a38p-1
+0x1.f5ea3p-2
+0x1.a1d398p-2
+0x1.fcce3p-2
+0x1.4e9568p-1
+-0x1.7657p-4
+0x1.1dd2f8p-2
+-0x1.0fea5cp-2
+0x1.7d5b1p-2
+0x1.a36bc4p-1
+-0x1.5b0fep-3
+0x1.731bb4p-1
+0x1.9bec7p-2
+0x1.fb5fdp-2
+-0x1.dad7d2p-1
+0x1.035ccp-1
+0x1.ffc99p-3
+-0x1.6324fp-3
+-0x1.13631p-2
+0x1.be038p-5
+-0x1.bfdf8cp-1
+-0x1.d19acp-5
+-0x1.0bf11p-1
+-0x1.314338p-2
+0x1.c10f4p-4
+0x1.4eab6cp-1
+-0x1.f6eaa8p-3
+0x1.724e9p-1
+0x1.f51498p-1
+-0x1.e968ap-1
+-0x1.6f3b7cp-1
+0x1.ee1a28p-2
+-0x1.f58f96p-1
+-0x1.9c713ap-1
+-0x1.7f558p-2
+-0x1.2bf02cp-1
+0x1.7a7ce4p-1
+0x1.e97bep-3
+0x1.a14fc4p-1
+0x1.88abc8p-2
+0x1.b16258p-2
+0x1.0116p-5
+0x1.317bd4p-1
+0x1.ebde44p-1
+-0x1.1db59p-2
+0x1.bd6948p-1
+-0x1.d485ap-5
+-0x1.444718p-2
+-0x1.398438p-2
+0x1.29633p-2
+-0x1.d3eb08p-1
+-0x1.0aff34p-1
+-0x1.e0cf0cp-1
+0x1.b4583p-3
+0x1.a2e844p-1
+-0x1.54a5b2p-1
+0x1.e4be7cp-1
+-0x1.587ccap-1
+0x1.eb303cp-1
+-0x1.997524p-1
+-0x1.da25b6p-1
+-0x1.f3b52cp-2
+-0x1.d15266p-1
+-0x1.0c75cp-1
+-0x1.59466p-1
+-0x1.a28a5p-1
+-0x1.278f2cp-2
+-0x1.ba0a3ap-1
+0x1.8da798p-2
+-0x1.1437cp-3
+0x1.40e634p-1
+-0x1.9e3504p-1
+0x1.6b4e88p-2
+0x1.e6c7fcp-1
+-0x1.90e0fp-4
+-0x1.dc840ap-1
+-0x1.ab479cp-1
+-0x1.088ba8p-2
+0x1.14660cp-1
+-0x1.17687p-2
+-0x1.d38fecp-1
+0x1.f7f4c8p-1
+0x1.9dc55cp-1
+0x1.2f54p-6
+0x1.9898a8p-2
+-0x1.0404bcp-1
+0x1.6fe22p-1
+0x1.daf9p-2
+-0x1.2b2438p-2
+0x1.d1148p-3
+-0x1.adee7ep-1
+0x1.0cf308p-1
+-0x1.7c1e3p-2
+0x1.e0d25p-1
+-0x1.12291p-2
+0x1.db7474p-1
+0x1.c94cfp-1
+0x1.b647ep-2
+-0x1.f0dd38p-3
+-0x1.b0184p-3
+0x1.ef5dp-6
+0x1.d50548p-1
+-0x1.a47ddp-3
+-0x1.acb71p-4
+0x1.3f715p-3
+-0x1.20c592p-1
+-0x1.c32552p-1
+0x1.5c658p-6
+0x1.d7a64p-1
+0x1.78e608p-2
+-0x1.8f6e68p-2
+-0x1.42b21cp-2
+0x1.38e178p-1
+-0x1.a4014cp-1
+-0x1.8bbf9cp-1
+-0x1.26191p-2
+-0x1.e80606p-1
+-0x1.3ef4p-6
+0x1.1d30f4p-1
+0x1.822eb4p-1
+0x1.19297cp-1
+0x1.07cdd8p-2
+0x1.0f94dp-3
+-0x1.1bed5p-4
+0x1.08c0bp-1
+-0x1.7db3f4p-2
+-0x1.1945a4p-1
+-0x1.b987f2p-1
+0x1.098928p-2
+0x1.3e9a7p-1
+0x1.8b523p-1
+-0x1.5938p-4
+0x1.f2e7f8p-2
+-0x1.e87646p-1
+0x1.eca63p-2
+0x1.ce20cp-4
+-0x1.510bb8p-2
+-0x1.a3d114p-1
+0x1.57e0fp-3
+0x1.f7c3b4p-1
+0x1.f033ep-4
+-0x1.0bf6cp-4
+0x1.60878p-1
+-0x1.bd7d28p-1
+-0x1.1840ecp-1
+-0x1.7734bp-1
+-0x1.d566c4p-2
+-0x1.314ec2p-1
+-0x1.d99af8p-2
+0x1.a8265p-1
+-0x1.a8e05p-3
+0x1.17abep-2
+0x1.974d7p-1
+0x1.788824p-1
+0x1.c4ebbp-1
+-0x1.c8d11ep-1
+0x1.0c95cp-1
+-0x1.b9f52p-1
+0x1.69fcdp-1
+0x1.19d844p-1
+-0x1.4b9558p-1
+0x1.59866p-3
+0x1.19f4c8p-2
+0x1.2ade4p-1
+-0x1.5c34p-10
+-0x1.35cc5p-4
+0x1.642a74p-1
+-0x1.c3dbdp-1
+-0x1.659eap-4
+-0x1.9300d8p-2
+-0x1.7e81fcp-1
+0x1.39622p-2
+-0x1.49ad5p-1
+-0x1.edf388p-1
+-0x1.41e534p-1
+0x1.e5ed8p-3
+0x1.50148p-6
+0x1.2158f8p-2
+0x1.3f144cp-1
+-0x1.4bbde8p-1
+-0x1.64d93ep-1
+0x1.318e8p-2
+-0x1.175364p-1
+0x1.725d7p-3
+-0x1.19a774p-1
+-0x1.65efb8p-2
+-0x1.6abf48p-1
+-0x1.5a870ap-1
+0x1.762f8cp-1
+0x1.5800d8p-2
+-0x1.ae9a7cp-2
+0x1.98dd6p-4
+0x1.06dd9cp-1
+0x1.598f68p-1
+0x1.671e68p-1
+0x1.4c28cp-4
+0x1.29d4e4p-1
+-0x1.4e4da8p-1
+0x1.555cb8p-1
+0x1.2fe7a8p-2
+-0x1.961bcp-4
+-0x1.cc582ap-1
+0x1.3646d4p-1
+0x1.cd4f8cp-1
+-0x1.d6c592p-1
+0x1.e7388p-4
+0x1.dcd334p-1
+0x1.592448p-2
+0x1.5a2a6p-2
+0x1.ecba48p-1
+0x1.f2ee88p-1
+-0x1.70738p-4
+-0x1.e35508p-3
+-0x1.1e5142p-1
+-0x1.a2e4dp-1
+-0x1.da8b4cp-2
+-0x1.31c1f4p-2
+0x1.4e0b48p-2
+-0x1.ea576p-3
+0x1.4c7b5cp-1
+0x1.ddbbd8p-2
+-0x1.80d65p-3
+-0x1.5105f8p-1
+-0x1.d529fep-1
+-0x1.b14a98p-3
+0x1.414a38p-2
+0x1.de3e8p-4
+0x1.33926p-1
+0x1.265434p-1
+0x1.fb2d18p-1
+-0x1.9e6cf4p-2
+0x1.60b28p-4
+-0x1.d60c9p-4
+-0x1.30a784p-1
+-0x1.59802p-2
+0x1.cb508cp-1
+0x1.022c04p-1
+-0x1.abef98p-3
+0x1.ef07p-5
+-0x1.09af3p-1
+0x1.f50c8p-2
+0x1.acc6bp-3
+-0x1.be8f24p-2
+0x1.341828p-2
+0x1.8c8c34p-1
+0x1.7bd6p-3
+0x1.e0e198p-2
+0x1.6554p-9
+-0x1.afcc6p-3
+0x1.2d854p-3
+0x1.43645cp-1
+0x1.8ee65p-1
+0x1.9d04p-1
+0x1.ec5p-4
+-0x1.fd6cfap-1
+0x1.36dfc8p-2
+-0x1.ada4fp-1
+-0x1.561dd8p-2
+0x1.a30ac4p-1
+0x1.488ca8p-2
+0x1.ba015p-3
+-0x1.3e3898p-1
+-0x1.a14caep-1
+-0x1.42627cp-2
+0x1.c1b2cp-2
+0x1.58a2c8p-2
+-0x1.ba0ee8p-2
+-0x1.208d2cp-2
+0x1.7b59fcp-1
+0x1.32fde8p-2
+-0x1.303c9cp-2
+0x1.ad0ec8p-2
+0x1.c7b368p-1
+0x1.4d9318p-2
+0x1.dd3dd4p-1
+0x1.11561p-1
+0x1.269fa4p-1
+-0x1.e29a68p-1
+0x1.9c9d08p-1
+0x1.7823d8p-1
+-0x1.cece54p-1
+-0x1.92cd1cp-1
+-0x1.d3125p-4
+0x1.ae0438p-2
+-0x1.4e2888p-3
+0x1.a418p-6
+0x1.a7316p-4
+0x1.389d34p-1
+0x1.2caccp-3
+-0x1.e3c2d8p-3
+-0x1.ba6p-10
+-0x1.2e6b74p-1
+-0x1.eb644p-1
+-0x1.e8f7a4p-2
+-0x1.4b4fccp-1
+-0x1.fee058p-1
+0x1.cf2ab8p-1
+0x1.728258p-2
+0x1.99cc5p-2
+0x1.01956p-1
+0x1.5ede48p-2
+0x1.d404bcp-1
+-0x1.6a4dfp-3
+-0x1.da737ep-1
+-0x1.f06f06p-1
+0x1.a64c88p-1
+-0x1.188ep-9
+0x1.23db1cp-1
+-0x1.2404p-2
+0x1.f6ac88p-2
+0x1.46c474p-1
+-0x1.8c861p-1
+-0x1.e5c26p-4
+0x1.19d03p-1
+-0x1.dd0248p-3
+-0x1.93e2b2p-1
+-0x1.f51d4cp-2
+-0x1.d63868p-2
+-0x1.b01762p-1
+-0x1.75c08p-5
+-0x1.924868p-3
+0x1.91a5cp-2
+-0x1.15dcdp-2
+0x1.682e1p-1
+-0x1.4ba0fp-1
+0x1.72db34p-1
+-0x1.908e2p-1
+-0x1.ca9c9p-4
+0x1.16a09p-3
+0x1.a724e8p-2
+-0x1.03c7ap-3
+0x1.4bfdp-1
+-0x1.247ep-6
+-0x1.139edcp-1
+0x1.6ea5acp-1
+0x1.6dad2p-1
+-0x1.ee88d8p-3
+-0x1.e7a12p-3
+-0x1.7fa498p-2
+0x1.0c763p-3
+0x1.180928p-1
+0x1.75858p-6
+0x1.15414cp-1
+-0x1.6af32p-4
+-0x1.cc75cp-2
+-0x1.d1b472p-1
+0x1.4f6ebp-2
+-0x1.d4f4c8p-2
+0x1.78dde4p-1
+0x1.a3029p-2
+0x1.1e3d2p-2
+-0x1.43e96p-1
+0x1.13b15p-2
+0x1.e5f74p-5
+-0x1.0a9d5p-1
+0x1.c9ca1p-3
+0x1.314238p-1
+-0x1.e5d01p-3
+-0x1.21b748p-1
+0x1.06fddp-1
+-0x1.daf2cep-1
+0x1.1c816p-1
+0x1.7e722p-2
+-0x1.fac882p-1
+-0x1.b99458p-1
+-0x1.305994p-1
+-0x1.9a25d8p-2
+0x1.a427c8p-1
+-0x1.2a8ad8p-3
+0x1.b55abp-3
+-0x1.1973e8p-1
+-0x1.1a8d6p-2
+-0x1.5371ap-1
+-0x1.60ef8cp-2
+-0x1.d9ab7ep-1
+0x1.8eadap-3
+0x1.ec931p-1
+-0x1.2e1e36p-1
+0x1.f629f4p-1
+0x1.23c15p-3
+-0x1.a85a9ap-1
+-0x1.a40f18p-3
+-0x1.d5822p-1
+-0x1.e36228p-3
+0x1.de80cp-2
+-0x1.83cb08p-3
+-0x1.1dfbcp-5
+-0x1.5bdc78p-1
+-0x1.5fdd9p-3
+0x1.ac647cp-1
+-0x1.ef70dp-3
+0x1.ce0c24p-1
+0x1.3c5294p-1
+-0x1.adc03ep-1
+-0x1.3b4498p-3
+-0x1.e54afp-1
+-0x1.5a863p-2
+-0x1.8224fp-3
+-0x1.95a354p-1
+-0x1.acfcf2p-1
+-0x1.1d8cep-5
+-0x1.380388p-3
+0x1.495ef8p-2
+-0x1.8267e6p-1
+0x1.fc8758p-1
+-0x1.ed8ad4p-2
+-0x1.b39488p-1
+0x1.eef3acp-1
+0x1.84934p-3
+0x1.b18d64p-1
+-0x1.e6c78cp-1
+-0x1.a5ad86p-1
+0x1.3ea988p-2
+-0x1.d2061ep-1
+-0x1.51223cp-1
+-0x1.8250a8p-1
+-0x1.f2a388p-1
+0x1.37ae68p-1
+-0x1.f34528p-3
+0x1.cfc8p-4
+-0x1.2597b8p-1
+-0x1.793244p-1
+-0x1.a8412ep-1
+0x1.68c7d8p-1
+-0x1.6ffa4ap-1
+-0x1.ba98e2p-1
+0x1.98f5cp-4
+-0x1.a2b44p-5
+-0x1.4039dp-2
+0x1.512e08p-1
+0x1.dab134p-1
+0x1.1f903p-2
+0x1.8a3b9p-3
+-0x1.328e8cp-2
+-0x1.3fedf8p-3
+-0x1.ca042p-5
+0x1.1b3a2p-3
+-0x1.bb4f3p-2
+0x1.1b94p-4
+-0x1.52895ep-1
+0x1.db151p-1
+-0x1.05e934p-2
+0x1.756ffp-2
+0x1.7ff4e8p-1
+0x1.99fdcp-1
+-0x1.daf08p-1
+0x1.a251d8p-1
+-0x1.d2673ap-1
+-0x1.32e06p-1
+-0x1.8d017p-4
+-0x1.6ac6d8p-3
+0x1.7f20cp-2
+-0x1.2d33b4p-1
+0x1.7fc5ap-2
+0x1.133aep-4
+0x1.43d3ap-2
+-0x1.eae5f8p-2
+-0x1.9944b4p-1
+0x1.e0c6b8p-2
+0x1.411eb4p-1
+0x1.ca1ec4p-1
+-0x1.bb957p-1
+-0x1.ebe06p-5
+-0x1.8a122p-3
+0x1.9b157p-3
+-0x1.3fc47p-4
+0x1.3c56b4p-1
+-0x1.9f4712p-1
+-0x1.a1fb14p-1
+0x1.f75ba8p-2
+0x1.86648p-1
+-0x1.7a7258p-3
+0x1.a585ep-4
+0x1.5bfc38p-1
+-0x1.7019cp-4
+-0x1.c7ab3p-3
+0x1.7fde98p-1
+0x1.1c28e8p-1
+0x1.b9020cp-1
+-0x1.cebbd4p-1
+0x1.b639p-1
+0x1.873b54p-1
+0x1.f24f68p-2
+0x1.535b1p-2
+-0x1.db371cp-2
+-0x1.ddce38p-3
+-0x1.1fb42ep-1
+-0x1.75262p-3
+0x1.52879p-1
+0x1.3b465cp-1
+0x1.d732ap-4
+0x1.520504p-1
+-0x1.2dfda4p-1
+0x1.8f8aecp-1
+0x1.659c24p-1
+-0x1.b1c768p-3
+-0x1.60f6f8p-2
+0x1.552c04p-1
+-0x1.0fb1ap-5
+-0x1.4bde5p-3
+-0x1.c381p-5
+0x1.b9766p-4
+-0x1.a42eap-1
+-0x1.8698p-11
+-0x1.1c2fe4p-1
+-0x1.b40eccp-1
+0x1.8c04fcp-1
+-0x1.c3240cp-1
+0x1.ced6ap-4
+-0x1.39bda8p-1
+0x1.829c6p-4
+0x1.090b5cp-1
+0x1.ef7878p-1
+0x1.1d293cp-1
+-0x1.e80f1cp-2
+-0x1.ad968ap-1
+-0x1.0f66fp-2
+-0x1.9988p-6
+-0x1.1a3cfcp-1
+0x1.db8b94p-1
+0x1.72ad8p-4
+-0x1.f5e10cp-2
+0x1.fbee1p-3
+0x1.3f215p-1
+0x1.eb492p-2
+-0x1.1af83ap-1
+-0x1.9b74d4p-2
+-0x1.fdf118p-2
+0x1.a3badp-2
+0x1.7e866p-2
+-0x1.0431b4p-2
+0x1.91c46p-2
+0x1.7746dp-2
+-0x1.7fffecp-1
+0x1.056b9p-2
+-0x1.083d6p-1
+0x1.fb470cp-1
+-0x1.d1ec48p-1
+0x1.3f057p-1
+-0x1.f8c528p-2
+-0x1.e4ee4cp-2
+-0x1.1ca81p-1
+-0x1.4e92eap-1
+0x1.5f6e7p-3
+0x1.d79bfcp-1
+-0x1.45aa74p-2
+0x1.872ee8p-1
+0x1.4d9014p-1
+0x1.b287ecp-1
+0x1.b465b8p-2
+-0x1.2839acp-1
+-0x1.a4cfep-1
+-0x1.2c9bcp-3
+0x1.15f02p-2
+-0x1.dd72cp-5
+-0x1.ba56ep-4
+0x1.a8904p-3
+-0x1.ef92a8p-3
+0x1.2065a8p-2
+0x1.c56488p-2
+-0x1.954bcp-3
+0x1.bc48p-7
+-0x1.f61f84p-2
+-0x1.8359dp-1
+-0x1.b32234p-2
+0x1.fc2cf4p-1
+-0x1.4bc4f8p-1
+0x1.cd7f24p-1
+-0x1.db1e4p-6
+-0x1.a28098p-2
+-0x1.2bf9p-1
+-0x1.81efc8p-2
+-0x1.aba2cp-4
+0x1.8ae1c8p-2
+-0x1.d1e6ap-1
+-0x1.dd25a8p-2
+-0x1.f93c2cp-1
+0x1.dd9324p-1
+0x1.3765e4p-1
+-0x1.0dac7p-2
+-0x1.a9608p-1
+0x1.fde318p-2
+0x1.337c8p-1
+0x1.8db614p-1
+-0x1.319172p-1
+0x1.09ef18p-2
+0x1.c571ep-2
+-0x1.1292p-4
+-0x1.9a85bp-1
+0x1.59425p-2
+0x1.906908p-1
+0x1.88be34p-1
+-0x1.503f28p-1
+-0x1.c9a188p-2
+0x1.ec2a8p-1
+-0x1.b16e4ap-1
+0x1.021388p-2
+0x1.ed662p-2
+-0x1.193f92p-1
+-0x1.038c64p-2
+0x1.3925fp-1
+0x1.32212cp-1
+0x1.38824p-4
+-0x1.42e9c6p-1
+0x1.407c54p-1
+-0x1.6804c8p-3
+-0x1.bc1f7cp-1
+0x1.94ce6cp-1
+0x1.43d42p-2
+-0x1.3d1adcp-1
+0x1.e2195p-2
+-0x1.4b28fp-3
+0x1.49b4a8p-2
+0x1.6f94fp-3
+-0x1.85f7aep-1
+-0x1.b342a8p-1
+-0x1.12b19p-3
+-0x1.a63936p-1
+-0x1.bd046p-3
+0x1.cee62p-2
+-0x1.742fp-2
+-0x1.b42878p-3
+0x1.00e93cp-1
+0x1.94abd8p-1
+0x1.0e08e8p-2
+-0x1.559e28p-2
+-0x1.5ed2e8p-1
+0x1.e7864p-3
+0x1.bd05fp-2
+0x1.67a414p-1
+-0x1.9fa0fp-3
+0x1.1f152p-4
+0x1.4f7684p-1
+-0x1.1d122cp-2
+-0x1.01c70cp-2
+0x1.d73a1cp-1
+0x1.26e5bcp-1
+0x1.55708p-4
+-0x1.6e6712p-1
+-0x1.8fef8ep-1
+0x1.33cf34p-1
+-0x1.5a427p-1
+0x1.37f93cp-1
+0x1.731a9p-1
+0x1.3c529p-3
+0x1.4926ccp-1
+0x1.b3ba1p-3
+0x1.cf465p-3
+-0x1.e5693p-3
+0x1.f13ee4p-1
+-0x1.a98edcp-1
+0x1.0231e8p-2
+0x1.40effp-2
+0x1.503f08p-2
+0x1.1035e8p-2
+0x1.aca8fp-1
+0x1.9f7168p-2
+0x1.d72274p-1
+0x1.95622p-3
+-0x1.7119ap-2
+0x1.04c088p-2
+-0x1.05b6p-8
+-0x1.28ca18p-2
+-0x1.2063cp-4
+-0x1.cd5b44p-1
+-0x1.9dbf64p-1
+-0x1.244b5cp-1
+-0x1.e1494cp-2
+0x1.43862p-2
+-0x1.71c218p-1
+-0x1.ece8d4p-1
+0x1.9c90f4p-1
+-0x1.273d48p-2
+0x1.fe3378p-2
+0x1.2105p-5
+0x1.239a28p-1
+-0x1.bb7a94p-1
+-0x1.ed092ap-1
+-0x1.b7df7cp-1
+-0x1.4b533ep-1
+0x1.22d38p-6
+-0x1.19c328p-2
+-0x1.f4392p-5
+-0x1.89f67p-2
+0x1.3a2e08p-1
+-0x1.510248p-2
+0x1.a4bp-11
+0x1.de5e2p-4
+-0x1.564c6cp-1
+-0x1.1d750ap-1
+-0x1.81ebe2p-1
+0x1.cd574p-2
+-0x1.2ad842p-1
+-0x1.191cecp-1
+0x1.7d883p-2
+-0x1.26dabp-4
+-0x1.bbff78p-2
+-0x1.8ab08p-6
+-0x1.090e38p-3
+0x1.d00558p-1
+0x1.ef2fap-2
+0x1.b2fa3p-1
+0x1.f95f84p-1
+0x1.e75b1p-3
+0x1.3e7d4p-4
+0x1.5846ap-4
+0x1.3533c4p-1
+-0x1.b17f4p-5
+0x1.fa449p-3
+0x1.2e0638p-2
+-0x1.d2990ep-1
+0x1.ec7adp-1
+-0x1.e286p-3
+-0x1.65621p-1
+0x1.58ad2p-4
+0x1.70582p-1
+0x1.c7cfbp-2
+0x1.f8f84p-3
+-0x1.7203p-3
+0x1.16f7p-4
+0x1.31748p-4
+0x1.93a8e4p-1
+0x1.f3c948p-1
+0x1.4daf8p-1
+-0x1.d2312p-2
+0x1.d8a98cp-1
+0x1.06431p-2
+0x1.f5d98p-3
+0x1.6bddep-3
+-0x1.d03b7cp-1
+0x1.67d6dcp-1
+-0x1.df383cp-2
+0x1.a0835p-2
+-0x1.37e2fp-2
+-0x1.e49a96p-1
+0x1.211398p-1
+-0x1.82e2a8p-2
+-0x1.cb4e8cp-1
+-0x1.659502p-1
+0x1.c04604p-1
+0x1.a5d1b4p-1
+0x1.46d76cp-1
+-0x1.7b19ep-5
+0x1.5c1b5cp-1
+0x1.bd3e64p-1
+-0x1.43063ap-1
+0x1.275b28p-2
+0x1.0c6f8p-5
+-0x1.de2664p-1
+-0x1.608046p-1
+-0x1.e65cfep-1
+-0x1.92ee8p-7
+0x1.6b180cp-1
+-0x1.d5e6bep-1
+0x1.2b97e8p-2
+0x1.35cap-8
+0x1.188a88p-2
+-0x1.aa7374p-2
+0x1.574b48p-1
+-0x1.07cf74p-2
+-0x1.c99feap-1
+-0x1.108eacp-1
+-0x1.f27c68p-1
+0x1.1c5c4p-3
+-0x1.03ceecp-2
+0x1.11b964p-1
+-0x1.e98392p-1
+0x1.d9be9cp-1
+-0x1.61ffe8p-3
+-0x1.a3741ep-1
+0x1.33cde4p-1
+0x1.8ac7ap-4
+-0x1.fc857p-1
+-0x1.5a7818p-2
+-0x1.5d2afep-1
+-0x1.dc4ee6p-1
+0x1.c0148p-6
+0x1.83e65cp-1
+0x1.9f5d2p-2
+0x1.d39a6p-4
+0x1.5479p-3
+-0x1.48e21ep-1
+0x1.ceb4fp-3
+-0x1.ae448p-1
+0x1.8965b4p-1
+0x1.9e8a88p-2
+-0x1.ac6cb4p-2
+0x1.1b194p-5
+0x1.251d5p-1
+-0x1.eee746p-1
+-0x1.1d536p-2
+0x1.6ab71p-1
+0x1.9ff1e8p-2
+0x1.11871cp-1
+0x1.0810b8p-1
+0x1.d3f18p-6
+-0x1.68283cp-2
+-0x1.d37c2p-5
+0x1.13e798p-1
+-0x1.47886p-5
+-0x1.3337p-3
+0x1.57c8fp-3
+0x1.2caefcp-1
+0x1.da5914p-1
+0x1.cd108cp-1
+-0x1.ecc4d8p-3
+0x1.66606p-3
+0x1.bbde3cp-1
+0x1.9c318p-5
+-0x1.75e788p-2
+-0x1.64dbbp-4
+0x1.c4593p-2
+0x1.caf2ap-2
+0x1.a87e14p-1
+-0x1.1403b4p-1
+-0x1.ac0dbp-4
+0x1.db62fp-2
+-0x1.a12fc4p-1
+0x1.cdfc28p-1
+-0x1.69926p-2
+-0x1.502bbp-2
+-0x1.574218p-1
+0x1.c011ep-1
+0x1.6d1bap-1
+0x1.c7a868p-2
+0x1.43f958p-1
+-0x1.6b374p-1
+-0x1.6d7aap-1
+-0x1.33a6fcp-2
+0x1.3a0678p-1
+0x1.d59f38p-2
+0x1.b7e31cp-1
+0x1.3713p-5
+0x1.47ac8p-5
+0x1.21dadcp-1
+-0x1.6265a8p-1
+0x1.68c37cp-1
+-0x1.ce132p-1
+0x1.0946a4p-1
+0x1.ebfe2p-3
+0x1.6b7d84p-1
+0x1.b3cf58p-2
+-0x1.bd84ep-1
+-0x1.780fe4p-2
+0x1.6db1ap-3
+0x1.97156cp-1
+0x1.09b788p-1
+0x1.b1c854p-1
+0x1.912b4p-2
+-0x1.ed01p-5
+0x1.cdcbd8p-1
+-0x1.a09302p-1
+-0x1.833a6ep-1
+-0x1.f884ap-2
+0x1.7eaf8p-5
+0x1.824c6p-1
+0x1.3886ap-2
+0x1.91df1p-1
+0x1.7be39p-1
+-0x1.529458p-3
+0x1.74d7cp-5
+-0x1.77f2p-3
+0x1.f99df8p-2
+0x1.17ffp-2
+-0x1.269d8p-6
+0x1.455b2p-2
+0x1.b9d598p-1
+-0x1.dcd704p-1
+-0x1.a48b8p-6
+-0x1.6db8ccp-2
+-0x1.d6602p-4
+0x1.1bd8p-8
+-0x1.af13bp-4
+0x1.dd3e2p-4
+-0x1.f50a9ep-1
+-0x1.d07ef4p-1
+-0x1.d2eddcp-2
+-0x1.6c5b7p-2
+0x1.70845p-1
+0x1.9da48p-1
+0x1.96b66p-1
+-0x1.22f128p-2
+-0x1.5b5ac4p-2
+-0x1.ee96bp-1
+0x1.5ef40cp-1
+0x1.54efccp-1
+-0x1.624574p-1
+0x1.3d1568p-2
+0x1.a738p-9
+0x1.5d994p-2
+-0x1.597918p-2
+0x1.b4fc48p-2
+0x1.cd0ea8p-1
+0x1.30a8dp-1
+-0x1.c999d6p-1
+-0x1.7a7ef8p-1
+0x1.f607p-5
+0x1.548a68p-2
+0x1.385b4p-1
+0x1.60d74p-5
+0x1.302ae4p-1
+-0x1.356d6cp-2
+0x1.f37fecp-1
+0x1.bf6e5p-3
+0x1.b6c884p-1
+0x1.7d7f78p-1
+0x1.b22a9p-3
+0x1.e10e3cp-1
+-0x1.863b6p-3
+-0x1.38f80cp-1
+0x1.b9c254p-1
+-0x1.acb604p-1
+-0x1.15a294p-2
+-0x1.803e4cp-1
+0x1.da6c8p-2
+0x1.8b344p-1
+0x1.85c25p-2
+-0x1.d25ac4p-2
+-0x1.b09b2p-4
+0x1.3e38p-8
+-0x1.a7114p-6
+0x1.89977cp-1
+0x1.0acb3p-3
+-0x1.42c358p-1
+-0x1.ee57ep-1
+0x1.486728p-2
+-0x1.3fdce6p-1
+0x1.48efbp-2
+-0x1.64caeep-1
+0x1.d5caep-3
+-0x1.a3cb8p-1
+-0x1.2288fp-1
+0x1.3e1588p-2
+-0x1.e9e67p-2
+-0x1.21cc48p-2
+0x1.3d2984p-1
+0x1.a0cca4p-1
+-0x1.a04fdp-2
+-0x1.25f1dap-1
+0x1.1e9bap-2
+0x1.4108a4p-1
+0x1.50ee3p-3
+-0x1.3a5a3p-3
+-0x1.d7554p-2
+0x1.b69a9p-1
+0x1.e10efp-3
+-0x1.da7298p-2
+0x1.324cdp-2
+0x1.51918p-2
+0x1.405444p-1
+0x1.dad34cp-1
+-0x1.05e5f2p-1
+0x1.d920a8p-2
+0x1.fd1134p-1
+-0x1.0e61e4p-1
+0x1.54a04p-5
+-0x1.c3e258p-2
+-0x1.55ed38p-1
+0x1.1bb08p-4
+-0x1.de7178p-2
+-0x1.e66a1p-2
+-0x1.462088p-1
+-0x1.41de78p-3
+0x1.c34c98p-2
+0x1.b86004p-1
+-0x1.eb2514p-1
+-0x1.7a9f1cp-2
+-0x1.f13ec6p-1
+0x1.80a15p-3
+-0x1.ae8dacp-1
+0x1.234c3cp-1
+-0x1.25a678p-1
+-0x1.5822ep-2
+0x1.39153p-1
+0x1.c30c3p-3
+0x1.53f44p-2
+0x1.5c63cp-1
+-0x1.30f01p-3
+-0x1.f6b4fp-4
+-0x1.f13ap-7
+-0x1.324c6p-4
+-0x1.ecf1dp-4
+-0x1.38be46p-1
+-0x1.6370a2p-1
+0x1.d22428p-1
+0x1.350138p-1
+-0x1.14a154p-1
+0x1.bcd23p-1
+-0x1.df0c68p-1
+-0x1.9f00dp-4
+0x1.edac34p-1
+0x1.32efb8p-1
+0x1.84c29p-3
+-0x1.10e1e8p-3
+-0x1.486c2cp-1
+-0x1.98f516p-1
+0x1.6378bp-1
+-0x1.c4198cp-2
+0x1.29efe8p-1
+0x1.12109cp-1
+0x1.4e888p-4
+0x1.f4aa9p-1
+-0x1.d2651cp-2
+-0x1.59cecep-1
+-0x1.ce4988p-1
+-0x1.61e9p-8
+-0x1.173cd4p-2
+-0x1.e8a5e4p-1
+-0x1.5b6bb4p-1
+0x1.67ce3p-1
+-0x1.b76722p-1
+-0x1.50775ap-1
+-0x1.2d3e9p-4
+-0x1.d8be3cp-1
+0x1.dca3bcp-1
+0x1.210fd4p-1
+0x1.7e51p-7
+-0x1.beb18p-3
+-0x1.f7cc56p-1
+0x1.3ef4ap-1
+-0x1.30eb26p-1
+0x1.85c61p-2
+-0x1.13e324p-2
+-0x1.d79e6p-4
+-0x1.c6ee48p-3
+0x1.9f61p-1
+0x1.43ae58p-1
+-0x1.ae4594p-2
+0x1.36bab8p-1
+0x1.d412dp-1
+0x1.60f088p-1
+0x1.59c4e8p-2
+-0x1.6be8ep-1
+0x1.4d22ccp-1
+-0x1.f4d1aep-1
+-0x1.748f44p-1
+-0x1.be77p-1
+0x1.f2265p-1
+0x1.94b77p-2
+-0x1.353aecp-1
+-0x1.07ff28p-1
+-0x1.e85ec2p-1
+-0x1.6361ccp-1
+0x1.7258dcp-1
+0x1.01f8cp-1
+-0x1.9a8dacp-1
+-0x1.47f62p-4
+-0x1.4b78dp-1
+-0x1.f8703ap-1
+-0x1.47dc4p-5
+0x1.793728p-2
+0x1.5c8178p-1
+-0x1.1fc9p-7
+-0x1.a68b96p-1
+-0x1.1c12dcp-1
+-0x1.5bee6p-4
+-0x1.47378p-3
+-0x1.affafp-4
+-0x1.c019e2p-1
+-0x1.ffafd4p-2
+-0x1.90707p-1
+0x1.60a368p-1
+0x1.16b2p-7
+0x1.662a2p-1
+0x1.5faa28p-1
+-0x1.e379c4p-2
+0x1.bd1d94p-1
+0x1.614fcp-2
+-0x1.8268d4p-2
+0x1.d1829p-2
+0x1.d7e21p-2
+0x1.84854p-3
+0x1.3e824p-1
+-0x1.f99f9p-3
+-0x1.07f10cp-2
+-0x1.a37b8ep-1
+-0x1.850d24p-2
+-0x1.066c5p-4
+0x1.cd6198p-1
+0x1.87e788p-1
+0x1.251e3cp-1
+0x1.7a1fcp-4
+0x1.cd8928p-2
+-0x1.77a28p-2
+-0x1.2a95ap-3
+-0x1.e7133p-1
+-0x1.80359p-3
+0x1.afa88p-2
+0x1.054af8p-1
+0x1.d30d9p-2
+-0x1.202a5cp-1
+-0x1.bde58ap-1
+-0x1.99e088p-3
+0x1.bf528p-1
+-0x1.05594p-3
+-0x1.c7036p-2
+0x1.37ea4p-3
+-0x1.8b5464p-2
+0x1.9d1b4p-3
+0x1.3878p-10
+-0x1.7c5724p-2
+-0x1.d2ac62p-1
+-0x1.abfd3p-3
+0x1.a0a84p-3
+-0x1.062dap-5
+0x1.a638bcp-1
+-0x1.29a004p-2
+-0x1.44cb6p-3
+-0x1.d8816p-1
+0x1.cec9a8p-2
+0x1.881c2p-4
+0x1.e94d34p-1
+-0x1.c48c3cp-2
+0x1.1af6d4p-1
+0x1.7056f4p-1
+-0x1.d6b91p-3
+-0x1.f798b8p-1
+0x1.f18b48p-1
+0x1.e2d62cp-1
+-0x1.18e6p-1
+0x1.28ff24p-1
+-0x1.68f1f2p-1
+-0x1.173b04p-1
+0x1.b33b48p-2
+0x1.cdbc2cp-1
+0x1.ad19fp-2
+0x1.cb2d7p-3
+0x1.9e514cp-1
+0x1.5090b8p-2
+-0x1.8cea3p-4
+-0x1.c9a9cp-3
+0x1.ed2bfp-3
+-0x1.87ce8p-2
+0x1.ad9ecp-5
+0x1.720988p-2
+0x1.5f70fp-2
+-0x1.c73a7cp-1
+-0x1.0642cp-1
+0x1.f27e84p-1
+-0x1.cc7276p-1
+-0x1.33514ep-1
+-0x1.cb6b0ap-1
+0x1.2a2314p-1
+0x1.2f58ap-1
+0x1.f619fcp-1
+0x1.eb5b18p-1
+-0x1.4f2cep-2
+0x1.5b8654p-1
+0x1.acd26cp-1
+-0x1.d729fcp-2
+0x1.b3cc6cp-1
+0x1.3ff2d8p-1
+0x1.dc1c6p-4
+-0x1.c56764p-1
+0x1.4d97ap-1
+-0x1.f02efep-1
+-0x1.e1fb78p-3
+-0x1.938934p-1
+0x1.4ad958p-2
+-0x1.e72144p-2
+-0x1.b5374p-5
+-0x1.5a63cp-5
+-0x1.366ae6p-1
+-0x1.7d8cfp-1
+-0x1.942cfep-1
+-0x1.48fda8p-3
+-0x1.60fd4cp-2
+-0x1.1477e8p-2
+-0x1.37313cp-1
+-0x1.f8bfecp-2
+-0x1.9b4e24p-2
+-0x1.ca48a8p-1
+-0x1.b6ed5cp-1
+-0x1.e3f138p-2
+0x1.b45928p-2
+-0x1.70d83cp-1
+0x1.447a48p-1
+0x1.791be4p-1
+-0x1.90ef0ep-1
+0x1.502c3p-2
+0x1.ed851cp-1
+0x1.83f84p-3
+-0x1.cc0e48p-1
+0x1.a1740cp-1
+0x1.324db8p-1
+-0x1.a238bp-1
+0x1.1cc688p-1
+0x1.4652ep-3
+0x1.af77p-5
+-0x1.0946f8p-1
+-0x1.7ebb1p-4
+0x1.c4beep-3
+-0x1.cccef8p-2
+-0x1.3c1bap-5
+-0x1.b745c8p-1
+0x1.a0b358p-1
+-0x1.181e8p-7
+0x1.cdf3c8p-1
+0x1.0cb45p-3
+0x1.815e9cp-1
+-0x1.6c799cp-2
+-0x1.235818p-1
+-0x1.0c101ep-1
+0x1.0616dp-2
+-0x1.c8f78ap-1
+0x1.4e0bccp-1
+-0x1.7906dep-1
+0x1.ace7cp-2
+-0x1.6977e8p-1
+0x1.941d08p-1
+0x1.5940fp-2
+0x1.81c364p-1
+0x1.b49e3p-1
+0x1.8e90ep-4
+0x1.78a4fp-3
+0x1.4d35b8p-1
+-0x1.600bcp-6
+0x1.5b238cp-1
+-0x1.a1fa2ep-1
+-0x1.7ae23p-3
+-0x1.225d0cp-1
+-0x1.a57224p-2
+0x1.794d74p-1
+0x1.eba638p-1
+0x1.2ac464p-1
+-0x1.605d3cp-1
+0x1.a9b49p-2
+-0x1.c00264p-2
+0x1.c4d8ecp-1
+-0x1.822c78p-2
+-0x1.3d0e38p-2
+-0x1.8809d4p-2
+-0x1.64ffa4p-1
+0x1.1723a4p-1
+0x1.0293d8p-1
+-0x1.636e4p-1
+-0x1.ad425p-2
+-0x1.dcb304p-2
+0x1.2e8e2p-3
+-0x1.675d8cp-1
+0x1.016c2p-1
+0x1.48622cp-1
+-0x1.5abb7p-3
+-0x1.ecad64p-1
+-0x1.1707fp-1
+0x1.725a2p-1
+0x1.3338bp-1
+0x1.1ff88p-2
+-0x1.a4bfdp-4
+-0x1.9d731p-4
+-0x1.d8506p-2
+0x1.ed85d8p-1
+-0x1.030984p-1
+0x1.b6b92cp-1
+-0x1.b2d42p-4
+0x1.3acafp-1
+-0x1.3a4f84p-1
+0x1.55e788p-1
+0x1.d5423p-1
+0x1.3f6e6p-4
+0x1.0f7b4p-4
+-0x1.fe592ep-1
+-0x1.089d1p-2
+-0x1.b4e64cp-2
+0x1.a6b0f8p-1
+-0x1.a87e88p-3
+0x1.580c18p-1
+-0x1.1e8dp-2
+0x1.def604p-1
+-0x1.692834p-1
+0x1.793a2p-1
+-0x1.f8084cp-2
+-0x1.f08698p-2
+0x1.4880dp-1
+0x1.6fa44p-4
+0x1.1b64b8p-1
+-0x1.13eaa6p-1
+0x1.9645fp-2
+0x1.6e23ap-4
+0x1.cc71cp-2
+-0x1.d56b3ap-1
+-0x1.8c7f3p-1
+-0x1.785834p-2
+0x1.40e5ccp-1
+-0x1.18405p-4
+0x1.3f8c0cp-1
+0x1.1cac5cp-1
+-0x1.633e8p-3
+-0x1.f5f018p-2
+-0x1.aabb6p-1
+0x1.cb1354p-1
+0x1.c15868p-2
+-0x1.a05222p-1
+-0x1.00bf7p-3
+0x1.cdddcp-2
+-0x1.72874p-4
+0x1.0bd6bp-1
+-0x1.6cb288p-3
+0x1.26c078p-2
+0x1.c48fap-2
+0x1.995388p-1
+-0x1.5279a8p-1
+0x1.bdbb5cp-1
+-0x1.835b1p-3
+0x1.bb01fp-2
+0x1.f38eacp-1
+0x1.45ab9cp-1
+0x1.5b2844p-1
+0x1.2523e8p-1
+0x1.8eeccp-4
+0x1.ee4e2cp-1
+0x1.8daa08p-2
+0x1.403b8p-5
+0x1.f55804p-1
+-0x1.088ad4p-1
+0x1.608458p-2
+-0x1.2a7838p-3
+-0x1.77232cp-2
+0x1.5fb4ep-3
+0x1.014478p-2
+0x1.055338p-1
+-0x1.1d6dacp-1
+0x1.dc946p-2
+-0x1.1c713cp-2
+-0x1.a8f89p-1
+-0x1.12736p-4
+0x1.be7888p-2
+-0x1.2955d8p-2
+0x1.8f16bcp-1
+-0x1.016774p-1
+0x1.3137ap-1
+0x1.d7a64p-2
+0x1.c6dfdcp-1
+0x1.45575p-2
+0x1.7bc54p-5
+0x1.4d5288p-1
+-0x1.ec485p-2
+-0x1.1c7a4p-4
+0x1.25236p-1
+-0x1.8519f8p-3
+0x1.f2c8ccp-1
+0x1.4ac8b4p-1
+0x1.90ac7p-3
+-0x1.30141cp-1
+0x1.96aaa8p-1
+0x1.634048p-1
+0x1.9771p-4
+0x1.5d8fecp-1
+-0x1.6bb89cp-1
+0x1.e667cp-3
+0x1.8ad2p-1
+-0x1.c06a6p-3
+0x1.28c71p-3
+0x1.d0e16p-2
+-0x1.50a21cp-1
+-0x1.d56c5cp-1
+-0x1.3501ep-2
+-0x1.04be62p-1
+-0x1.018c98p-1
+0x1.0c82f8p-1
+0x1.c6b63p-3
+0x1.be05bcp-1
+-0x1.fd3ca8p-1
+-0x1.494646p-1
+0x1.e5511p-3
+0x1.7c6ep-1
+0x1.58ff6p-1
+0x1.d8d4f4p-1
+-0x1.b28f5p-1
+-0x1.34cd8cp-2
+-0x1.b99c52p-1
+0x1.55f49cp-1
+-0x1.4a21acp-1
+-0x1.424254p-1
+0x1.a9fd8p-6
+-0x1.a4e1e2p-1
+0x1.379378p-1
+-0x1.f4e304p-1
+-0x1.bdd12p-5
+0x1.056dep-4
+-0x1.5062dcp-2
+0x1.20052p-2
+-0x1.933d8p-1
+-0x1.f3e28cp-2
+0x1.1c2c24p-1
+0x1.10cdp-6
+0x1.2671cp-4
+-0x1.53fa6ep-1
+0x1.309998p-2
+0x1.d5f35cp-1
+0x1.e8a87p-3
+-0x1.578fp-7
+0x1.ceb784p-1
+0x1.8f4b58p-2
+0x1.39fe34p-1
+0x1.481258p-2
+-0x1.10e0ap-4
+0x1.2b0bdp-2
+0x1.93ff7p-3
+-0x1.8d9198p-1
+0x1.275dbp-1
+-0x1.4018fp-1
+0x1.b37ee8p-1
+-0x1.1fbe28p-3
+0x1.8e2c5p-3
+0x1.b00ff4p-1
+0x1.da87dcp-1
+-0x1.c9ad8p-6
+0x1.018e64p-1
+0x1.291f8p-6
+0x1.7930a8p-2
+0x1.bd1b1p-3
+-0x1.3dbcp-9
+0x1.7f02bp-1
+-0x1.fbd534p-1
+0x1.fac0fp-2
+-0x1.530a68p-1
+0x1.3b7668p-1
+0x1.231ad8p-1
+0x1.b6795p-3
+0x1.5100ep-3
+-0x1.601878p-1
+-0x1.6c1e7cp-2
+0x1.1980fp-1
+0x1.5c9904p-1
+0x1.0707ccp-1
+-0x1.48b0acp-1
+0x1.ffb64p-4
+-0x1.41486p-1
+-0x1.57acf8p-1
+0x1.95019p-1
+0x1.24d72cp-1
+-0x1.15ebp-1
+0x1.ab62d8p-1
+-0x1.df885p-3
+0x1.e26c5p-1
+-0x1.b525acp-1
+0x1.a66254p-1
+-0x1.67f03p-1
+0x1.0a91b8p-2
+0x1.76668cp-1
+-0x1.67e6bcp-2
+0x1.ea7a4p-4
+-0x1.58d6dp-1
+0x1.2dad48p-1
+-0x1.dc7b08p-1
+0x1.055348p-2
+-0x1.7f47dp-1
+-0x1.26d5cp-2
+0x1.8aa2a8p-1
+-0x1.e994ap-3
+0x1.d7525p-1
+0x1.92ecb8p-2
+-0x1.00fe36p-1
+0x1.fb84p-6
+-0x1.677372p-1
+-0x1.4dae7ap-1
+0x1.9a85cp-4
+0x1.d8a564p-1
+-0x1.8fa81cp-1
+-0x1.e1382p-5
+-0x1.ce5c0ap-1
+-0x1.69e0cp-6
+-0x1.f46c3p-3
+0x1.cce094p-1
+0x1.89b46p-4
+-0x1.a67be4p-1
+-0x1.b797c4p-1
+0x1.53692cp-1
+0x1.b29114p-1
+-0x1.72517p-1
+0x1.86804cp-1
+-0x1.6072ep-3
+0x1.828524p-1
+-0x1.9a966p-5
+-0x1.b56088p-2
+0x1.2cadep-2
+-0x1.39646cp-1
+0x1.f4b478p-2
+0x1.3d640cp-1
+0x1.10a88p-5
+0x1.03c3dp-3
+-0x1.9c47cep-1
+0x1.1f61ap-1
+0x1.c688a4p-1
+-0x1.03ee2ep-1
+-0x1.b2aed4p-2
+-0x1.add6bp-1
+-0x1.072cccp-1
+-0x1.429af4p-2
+-0x1.88de78p-2
+0x1.c0ea8p-4
+-0x1.37751cp-2
+-0x1.c345ap-1
+-0x1.06523p-4
+0x1.a7ef94p-1
+0x1.003f98p-1
+0x1.13301p-3
+-0x1.20fbc6p-1
+0x1.7ef7cp-3
+0x1.621bp-7
+-0x1.f4c256p-1
+-0x1.658184p-2
+-0x1.1f9b7p-3
+0x1.5a9b4p-4
+-0x1.ec2db6p-1
+0x1.5d4cdp-2
+-0x1.bb124p-5
+0x1.3461ap-3
+0x1.97067p-2
+0x1.8435ep-1
+-0x1.d03844p-2
+-0x1.039a84p-1
+0x1.53eb7p-2
+-0x1.31febcp-2
+0x1.f9d0d8p-1
+-0x1.83408cp-1
+-0x1.dba29p-1
+0x1.72b5f4p-1
+0x1.841ep-2
+-0x1.6eed34p-2
+0x1.d6746p-1
+0x1.50d3ep-3
+0x1.76f96p-3
+-0x1.653378p-1
+-0x1.b6bf28p-3
+-0x1.1e6b44p-1
+-0x1.0d201p-2
+0x1.92fc2p-4
+-0x1.5d7328p-1
+-0x1.612ef4p-1
+-0x1.4e2dp-1
+-0x1.ab82cp-6
+-0x1.fea768p-3
+-0x1.bf2b98p-1
+-0x1.0a90f4p-2
+-0x1.401448p-2
+0x1.bf0b6cp-1
+-0x1.34f5f4p-1
+0x1.81b8ap-4
+0x1.5e542p-3
+-0x1.4bd5b6p-1
+-0x1.adc58p-3
+-0x1.961bf4p-2
diff --git a/benchtests/libmvec/asinpi-inputs b/benchtests/libmvec/asinpi-inputs
new file mode 100644
index 0000000..9d1a329
--- /dev/null
+++ b/benchtests/libmvec/asinpi-inputs
@@ -0,0 +1,2508 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.350fc6069df8ap-1
+-0x1.eee2112c4876bp-1
+-0x1.236b62ec50852p-1
+0x1.edc5c63489e51p-1
+-0x1.fd62800520adfp-1
+0x1.d475f0f7403afp-1
+0x1.e90832724b53cp-1
+0x1.f609c0391a573p-14
+-0x1.feea04702b990p-1
+0x1.e8d6535b0d1c2p-1
+-0x1.9c7115f5fa7edp-23
+0x1.08d826c7ee854p-1
+0x1.e8e045abf094fp-1
+-0x1.5278029b07e33p-3
+-0x1.ea9383079d41fp-1
+-0x1.f4e3046089560p-1
+-0x1.fb398088adb40p-1
+-0x1.3e3c739c48dc4p-1
+0x1.7817337fddb7bp-3
+0x1.7dd391d9fc392p-3
+0x1.41afe6440736cp-1
+0x1.bfb881b8085a3p-1
+-0x1.e6707556b55cdp-1
+0x1.db3e67625fe65p-1
+-0x1.1bbd53433ed31p-1
+0x1.6188f44707072p-1
+-0x1.75a356a8a9292p-5
+-0x1.ddb0166dd02a0p-1
+0x1.e50b5048cb701p-1
+-0x1.f8ad822c7b0e3p-1
+0x1.9800b2fed7f04p-1
+0x1.b1dc245081b6cp-1
+-0x1.f72481a2b0f3ap-1
+0x1.597d37e0d6f70p-21
+0x1.ef40e79b3e65ap-1
+-0x1.5ba123fb3ff91p-1
+0x1.45bfc165da8f7p-1
+0x1.ccac70b0bde88p-1
+-0x1.f41a414f7827cp-1
+0x1.9b875417727f6p-1
+-0x1.c62a454b8d40bp-1
+-0x1.e0a141c4f0b16p-1
+0x1.4264601195208p-2
+-0x1.46119179eb783p-1
+-0x1.dfc3024659454p-1
+-0x1.e14ee796afcc8p-1
+-0x1.e99e96ab82107p-1
+0x1.e234b67ec84f9p-1
+0x1.d53303c005425p-16
+0x1.ed5b0764a14a2p-1
+0x1.b5e0c3ea9c8e9p-1
+-0x1.db7d6214c24c6p-1
+0x1.85d832f631a51p-2
+-0x1.0be2d5dd39df0p-2
+-0x1.9ba4068536d4ep-1
+0x1.e3b6708ecfee8p-1
+0x1.f81a9367f49ecp-1
+-0x1.e4347223f7a7bp-1
+0x1.a8d8b60a820e6p-2
+-0x1.ec157180be1bdp-1
+-0x1.eb95b087e8c43p-1
+-0x1.6bdd166779c0bp-1
+0x1.8bb3345d66b47p-1
+-0x1.e02f643898ecap-1
+-0x1.ab494400a4aabp-1
+-0x1.01f7d442b79e4p-3
+0x1.ea5ab67fbbf14p-1
+0x1.f603237a71369p-3
+0x1.f4a57127c7a0cp-1
+0x1.69a0a717bd007p-2
+-0x1.64fb05d3406f4p-1
+-0x1.a6a73323151a3p-1
+-0x1.22fcf3cc1a298p-1
+-0x1.d166868f2b02fp-3
+0x1.350857bbe150fp-3
+0x1.ea03400cda450p-1
+0x1.934551bfdd4f7p-1
+0x1.a1bf13ff7e529p-1
+0x1.40e3e60b110dcp-1
+0x1.ebf2d1787c1b0p-1
+0x1.bf44e6858ccc2p-1
+0x1.efb2212f852c5p-1
+0x1.e4bcf61e9db8ep-1
+-0x1.f67e4278236dbp-1
+0x1.72e2e6f704395p-8
+0x1.eb18e737043a5p-1
+0x1.c11e3263f847dp-19
+0x1.6c8dc764c7ce3p-1
+0x1.3a30f3a82e677p-2
+0x1.5d3554f6157efp-3
+0x1.d7e135698a916p-16
+-0x1.9a0b900abb552p-1
+-0x1.db02f20dbc26bp-13
+0x1.dbf69357aebd4p-1
+0x1.1c15c1b6076dbp-1
+-0x1.98e8e522e4a82p-23
+-0x1.60da4694b88e1p-1
+-0x1.e82085e53dbf0p-1
+-0x1.0cce4159c974dp-1
+-0x1.edebc49f4f3bcp-1
+-0x1.d5d0b54aec8f3p-3
+-0x1.b6c7247c84ca1p-2
+0x1.566d76162c4a2p-1
+0x1.1f8126af6a5eep-1
+-0x1.4042c01dfeb13p-1
+0x1.3745936ce6406p-2
+0x1.e845447d64568p-1
+0x1.e9e5d6a4f999ep-1
+-0x1.881fb480c1717p-2
+-0x1.632ec650a0086p-1
+0x1.ea79105af3018p-1
+-0x1.e87f8637d44ffp-1
+0x1.2038f78b9bcc0p-2
+0x1.888731b818bb9p-1
+0x1.247cb5abaf830p-1
+0x1.71d2a5d08bb38p-3
+-0x1.30f5d4f0d5da3p-1
+0x1.e8eee13ebc573p-1
+0x1.35a443a6ef606p-22
+0x1.1f4110dbc1d7cp-1
+0x1.ab85b5da29994p-1
+-0x1.080f952236c35p-1
+-0x1.2b5b02e6cc1b2p-3
+0x1.ac830678d8c8ep-4
+0x1.0ba5029d5c201p-1
+-0x1.2b3e149bb0426p-2
+0x1.eaa744fd96fbap-1
+-0x1.ebf5435363845p-1
+-0x1.f47ea66f3af8ap-19
+0x1.e9c7d49d082bfp-1
+0x1.ea64823156f61p-1
+0x1.ea9222fcef492p-1
+-0x1.38ca90ff41214p-3
+0x1.98b000eb73a71p-1
+-0x1.3fb91174bf8cep-1
+0x1.6831750c7d576p-8
+-0x1.e6c711f8a07a2p-1
+-0x1.e10a8025fd5c2p-1
+0x1.df7c8777dba5ap-1
+-0x1.6c92c2bf14b20p-11
+0x1.c2b9937c51413p-10
+0x1.ed9a717edd7eap-1
+0x1.26cb23fb114cep-3
+0x1.a1dd30e8d133ap-1
+-0x1.596e3118407aap-1
+-0x1.815f557e4dd72p-1
+0x1.91d3b66fca3a2p-1
+0x1.aee2069bb58c2p-1
+0x1.410da160d3759p-6
+-0x1.efd3965c7e5acp-1
+0x1.ebcc105c3c99dp-1
+0x1.f9c7e2ecd680bp-13
+-0x1.0d0876f871020p-1
+-0x1.1cb73699e8924p-1
+-0x1.f33b17f4530b4p-1
+-0x1.cd90d53a85604p-24
+-0x1.e7b7065c2a56bp-1
+0x1.4325b7a1b9323p-2
+-0x1.3007019386da4p-5
+-0x1.2afe01c77967ap-13
+-0x1.dd2f071cce027p-1
+0x1.79dbd61da7b2fp-3
+0x1.90a0030825b71p-1
+-0x1.3b898257384cap-1
+-0x1.5c13731da33bap-2
+-0x1.df2c8655fc70dp-1
+0x1.1dbe97dccb13ap-24
+-0x1.fad96389524bfp-1
+0x1.ddccc6b661857p-2
+-0x1.fb6fb5159af3ep-1
+0x1.d94283b31661cp-1
+-0x1.a08b373392dc9p-1
+0x1.bb7ec42dcb619p-2
+-0x1.f450159e992b8p-1
+0x1.6959f4fae20f8p-24
+0x1.36f464d433610p-1
+-0x1.c2cc227b47f2bp-1
+-0x1.3eb9f3e9ab4fep-1
+0x1.655d872a08e7bp-1
+0x1.426bd7fd10932p-1
+-0x1.bd54d6b8bf754p-25
+-0x1.ca48c150acb42p-1
+0x1.fba5275cb7d91p-1
+-0x1.de01b625f1851p-3
+0x1.ed715043085c5p-1
+-0x1.e4bed6f91c84bp-1
+-0x1.0c6132d48b23ap-1
+-0x1.8740844edfccfp-1
+-0x1.f5ea24dfceaccp-1
+-0x1.4e1ea0cb718b9p-10
+-0x1.e2e3f55bb23a1p-1
+-0x1.ef8592238558ap-1
+0x1.ba09c237c2a98p-1
+-0x1.1c02e1ae8e614p-3
+-0x1.e3480667a3c1dp-1
+0x1.e098e320da0bap-1
+-0x1.020e63d1fb6b3p-10
+0x1.156314d8b8b9ep-1
+-0x1.a6d562a0b9b68p-1
+-0x1.a556923b876e4p-1
+-0x1.005624a6a1606p-2
+-0x1.4515b4c2b21dap-1
+-0x1.00882585a29eep-1
+-0x1.4e97477367b64p-1
+0x1.e56aa246ff0e4p-2
+0x1.f69774c91b3a3p-1
+-0x1.edbeb6d147be3p-1
+-0x1.d044d435326e6p-1
+0x1.9dd6d688e8b6ap-1
+0x1.8832042b08d37p-1
+-0x1.e755f3286db4ap-1
+-0x1.7741b1eae9cc5p-1
+-0x1.ec4f82e92c41cp-1
+0x1.c470754b52d70p-3
+-0x1.cdf6e43174ac0p-3
+0x1.b54d76dc019edp-1
+0x1.de1511c382622p-1
+-0x1.1b6bb0f6cd48dp-1
+0x1.f8f3a7b3d26dbp-10
+-0x1.e8a697e00810dp-1
+0x1.029cb182129c5p-1
+-0x1.82fb23737c09ap-1
+-0x1.ba3f8283bda3cp-1
+0x1.32ef66d1351e1p-1
+-0x1.ff0942c4470a9p-1
+0x1.e861824f0b0c5p-1
+0x1.0ad654e7bcdb2p-1
+0x1.94bf67e731b1dp-21
+-0x1.ce92262e12415p-3
+-0x1.b11a761584f00p-1
+-0x1.ee0375698a186p-1
+0x1.72968114620fbp-3
+0x1.38a8e30dd439dp-2
+0x1.ef7a104666151p-1
+0x1.1b8030b9ef132p-1
+0x1.e52ab2d0668d7p-1
+-0x1.00e2e49d1662bp-1
+0x1.7aa0818bb671bp-23
+-0x1.ecf921278c665p-1
+0x1.e53b304fb4d06p-3
+0x1.3748859f74cebp-1
+-0x1.e96cd6cb3a5dap-1
+-0x1.eadbe1b00f3bap-1
+0x1.34b8b20a231ebp-1
+-0x1.a133128a2cac6p-1
+0x1.f0ffe198f98f8p-3
+-0x1.a978c66c2b77ep-21
+0x1.e0afd4eddd684p-1
+-0x1.eb3b238d0737ap-1
+-0x1.e514d20443604p-1
+-0x1.9d64d47733225p-3
+-0x1.e589d06cb88d4p-1
+-0x1.360155ce19621p-1
+0x1.db3d40b252ac3p-1
+0x1.1fbe750678f55p-1
+0x1.033e6517daa6fp-5
+-0x1.ed55067dcc2e0p-2
+0x1.df2253bc59523p-23
+-0x1.879d741b2c118p-23
+0x1.b47fc608b2e66p-1
+0x1.d74ca166c7f3bp-1
+0x1.f5f1256f888b1p-1
+-0x1.e06af0ec49382p-14
+-0x1.e97461cc47dabp-1
+-0x1.e6fe5447590afp-1
+-0x1.e86c3331f93a8p-1
+-0x1.aacae317ef936p-1
+0x1.b41644690944cp-1
+-0x1.8209c34d990bap-1
+0x1.712d01d18f1acp-1
+0x1.ed0c5662218c3p-1
+0x1.90d8e69b9ce07p-1
+-0x1.a7b9e784d9434p-16
+0x1.f91c375372b6fp-1
+-0x1.bf83e21f654b3p-1
+-0x1.e38cc36ff8c63p-1
+-0x1.842b3414ac978p-1
+0x1.161e221d66041p-2
+-0x1.e9a1529dfa710p-1
+0x1.164f53c3dbd36p-1
+-0x1.e2a192784167ap-1
+0x1.d2f31136d5558p-1
+-0x1.0cad003c37274p-22
+-0x1.e402a7e83b556p-1
+0x1.d0ee108472a16p-1
+-0x1.0eb530c4ce24ap-13
+-0x1.ef29f4bd04e93p-1
+0x1.dc65a4f6e740cp-1
+-0x1.97d975a6ad4f1p-1
+-0x1.b427d0ab69502p-2
+-0x1.f84bc3e23afa0p-1
+-0x1.eada1177b2a78p-1
+0x1.f9f556f848f73p-1
+0x1.5da9b1ed0a67dp-2
+-0x1.b09c16fdb0e04p-1
+0x1.8099017d801c4p-1
+-0x1.86a880766a1c9p-1
+-0x1.303886d1999d3p-2
+-0x1.3b32d4601049dp-2
+0x1.9af5d2ec8ebd9p-1
+0x1.7b7961500158ap-3
+-0x1.850fc657a7c8dp-1
+-0x1.679055ba9585fp-2
+-0x1.a334d05fa6dd2p-1
+0x1.54edc38ae367fp-1
+-0x1.149aa666c3c46p-2
+0x1.db29728be3d13p-1
+0x1.ef2d366fb9622p-1
+0x1.85d2c6d29e956p-1
+0x1.6cc7155575699p-2
+-0x1.070fb3b78d7bap-13
+0x1.b996c3cc0af1dp-1
+-0x1.ecd953aeda13ap-1
+0x1.4b4da5a783ab2p-1
+-0x1.da0f94397e1efp-1
+-0x1.eebfe7785b810p-1
+0x1.bbbd81413465ap-2
+-0x1.db37b245824d8p-2
+0x1.b18707b322819p-6
+-0x1.63aaf1836f8f5p-4
+-0x1.73b5c0ef358ffp-1
+-0x1.f3f5449170a5dp-1
+0x1.679742e395bb2p-3
+0x1.0f5d16ce3edabp-12
+0x1.6868a3065fa6ap-1
+0x1.e09861e83936cp-1
+0x1.426c2703c1edbp-2
+-0x1.784ef6124eac0p-10
+0x1.f4da573b55ec2p-1
+-0x1.1250820739879p-1
+-0x1.926f219c2ebc7p-1
+-0x1.b03cb5319aa16p-1
+-0x1.432597af65dc0p-1
+0x1.f2ef13107c805p-1
+-0x1.debb0319481e9p-1
+-0x1.e6c9b767c2e47p-1
+-0x1.1cfef6b1b5391p-3
+0x1.a3495200a739dp-1
+0x1.bb7d031207cbcp-1
+-0x1.a1e1472875de1p-1
+-0x1.fef5368baa990p-1
+-0x1.ffa8a2b9fe667p-2
+-0x1.db17773676353p-1
+-0x1.7744f61c58e3dp-2
+0x1.94efe0d3de07ep-2
+0x1.d28cd2f0b7253p-1
+0x1.71ec10c132d7dp-1
+0x1.eec3c508f7debp-1
+-0x1.84c3358f28de2p-1
+-0x1.e88bb44ebcca7p-1
+0x1.c8dfe2e844f26p-1
+-0x1.5764f1562f46cp-1
+0x1.dd7fc52e06795p-1
+0x1.ead0e0dd735c1p-2
+-0x1.d9c472df196e8p-1
+0x1.47397541dfafap-1
+-0x1.efe2c7ae66583p-1
+0x1.f39bc1d029169p-1
+0x1.388e371209c65p-1
+-0x1.cf7594c4759eep-19
+0x1.93ba85eda890cp-2
+0x1.ef7e57c04e5e5p-21
+0x1.3a13625122b61p-1
+0x1.f03355e0191c2p-1
+-0x1.eaa0b7cbc4b05p-1
+0x1.dc64653df1bc8p-1
+-0x1.da0274b24d4e5p-1
+0x1.1ef635c892de4p-1
+0x1.7985928fa8ea5p-2
+0x1.e8af54cc7a4a1p-1
+-0x1.4ecfd3add4ca1p-1
+0x1.edae154f725f1p-1
+-0x1.f841c459354cfp-1
+0x1.640c203fbc506p-1
+0x1.e1334385061fbp-1
+-0x1.e4af910db6fb1p-1
+0x1.eef8e75eeff24p-1
+0x1.52b3468ba247fp-19
+-0x1.c3007317cdb73p-1
+0x1.793397c5de6cfp-1
+-0x1.56f0f40ef4f93p-5
+0x1.7137163d0b95cp-26
+0x1.d97632e6c0216p-1
+-0x1.58f200ed16778p-1
+-0x1.e333144686ce6p-1
+0x1.ecfff5d1ed4fcp-1
+-0x1.bbcb739c535d8p-3
+-0x1.b83b54ffc1ce3p-1
+-0x1.c5b4f73fa50c8p-25
+-0x1.f0dcf6647d4a6p-17
+-0x1.e2a0b2142f471p-1
+-0x1.6811368ab0abbp-1
+-0x1.dc98c564661f8p-2
+-0x1.51a64736cca11p-1
+0x1.a87ec3c5f01d2p-2
+-0x1.13c43714b5577p-4
+0x1.ecb79537e7c0bp-1
+0x1.8ad66704aa830p-1
+0x1.8b81a17344821p-3
+0x1.fbea24d5ecac7p-1
+-0x1.d5b456504afabp-1
+-0x1.68a3377a06206p-1
+-0x1.e52744bcbb1bfp-2
+0x1.968042aade389p-1
+0x1.e02467b79461bp-22
+-0x1.effa02c2a5b57p-1
+0x1.6148d164ff733p-3
+0x1.a257b5f59a887p-1
+-0x1.ecd6e096725c1p-1
+0x1.4dcd868b1c423p-1
+0x1.b518559ba2afep-1
+-0x1.fd36e5f6ae177p-17
+0x1.7ab1d7104d182p-18
+-0x1.a0b161ecebb24p-24
+0x1.eaef2277ad27bp-1
+0x1.5537a12ead14fp-1
+-0x1.a353d51793c9ep-1
+0x1.d974c464f7ce7p-1
+-0x1.e9d4a5abc7463p-1
+0x1.8dfc202611058p-8
+0x1.49c49777c6afcp-1
+0x1.f8be91c860c1ep-1
+-0x1.744184b2f352fp-3
+0x1.4f7741d4eac81p-1
+0x1.fbcca55ea9e6ap-1
+-0x1.e859d3e460e92p-1
+0x1.5d39a31f530ddp-3
+-0x1.99da728aaed87p-1
+-0x1.c773d52b04af3p-3
+-0x1.27fc667b6fe57p-2
+-0x1.ee4664ab8f311p-1
+-0x1.240eb5bacc34ap-15
+0x1.aab10790e80c0p-1
+-0x1.1c32437314611p-1
+-0x1.e3aae42688852p-1
+-0x1.2b97b6959b92ap-1
+-0x1.124df14d190d5p-22
+0x1.d29df3ade00f8p-21
+-0x1.e70102ffd26f4p-2
+0x1.c9846775a72c1p-3
+0x1.2ee67226d5529p-1
+-0x1.d84381008f610p-1
+0x1.fae6228180a55p-1
+-0x1.d1cb30475aba6p-1
+0x1.475825caac544p-3
+0x1.e2d180d75310fp-1
+0x1.8860226237168p-1
+-0x1.bdb8f33f2142bp-6
+-0x1.aecd11f1ad305p-1
+-0x1.50e857e4f8090p-1
+0x1.09a7b4c454c6ap-1
+0x1.33a1b5c1f5142p-2
+-0x1.d473c0c10260ap-1
+-0x1.e6bcc76ef1341p-8
+0x1.e9a025b19d4e7p-1
+-0x1.e61c564b19c20p-1
+0x1.b1c890371859cp-1
+-0x1.e9de02e7fa0f7p-1
+0x1.8eae41c2d6d3bp-1
+-0x1.a043635f96fd5p-1
+-0x1.18077176e1632p-24
+0x1.7063d30f52d4dp-1
+0x1.e82d46287af59p-1
+0x1.e77a63eb49c28p-1
+-0x1.2e923371f4df7p-1
+0x1.32f392b11aa13p-2
+0x1.cf48a104a230ap-1
+-0x1.ffb8054bd5bb2p-1
+0x1.d961a7444a368p-1
+-0x1.2908136966a6ep-1
+-0x1.e8e5f46caed20p-1
+-0x1.cca7367cafebcp-1
+0x1.8a7d3113e9871p-1
+-0x1.9c20d073da00dp-1
+0x1.685602f47ee38p-17
+0x1.dbe65032e6aafp-1
+0x1.e39cc443d68bep-1
+0x1.ef75b5fbc2038p-1
+0x1.6fd3f20dabcdep-3
+0x1.ef2e5742cbc3bp-1
+-0x1.a139a4f96363fp-1
+-0x1.f936e3257b29bp-1
+-0x1.e83e578b67404p-1
+0x1.809f14efba3abp-1
+0x1.ef0cc05585683p-1
+-0x1.e0ab6532e03e6p-1
+0x1.e825a4e96f86cp-1
+0x1.944c53b6fcba2p-24
+-0x1.eef7764fb6703p-1
+0x1.dbd546810ad04p-1
+-0x1.ed82202786af0p-1
+-0x1.e744b298a1822p-1
+-0x1.f66403b0db0f6p-1
+0x1.b823a13640780p-1
+-0x1.8fd743dba9526p-1
+-0x1.6ad6002662fadp-2
+0x1.af29d1ff6c1dap-2
+0x1.a40a30c84d9d2p-1
+-0x1.eef1466de9bbcp-1
+-0x1.ea451649dac69p-1
+-0x1.be12773f273cdp-10
+-0x1.2ea1f2cfba778p-22
+-0x1.ed2eb7554cecap-2
+0x1.5604a6ebad5aap-3
+-0x1.dcb4e5d23da48p-1
+-0x1.e0e2d4e18e11fp-1
+0x1.7cbf026e8d176p-1
+-0x1.e92df6fb8cb14p-1
+-0x1.e0f877f179d56p-1
+-0x1.0460742bc8cdbp-1
+0x1.f9c6e1a503f35p-1
+-0x1.de3ca0ef987b7p-1
+0x1.ee2a61e036810p-1
+0x1.eb29729cac7d4p-1
+-0x1.dc41f5d54e145p-1
+-0x1.ee27548fb036dp-1
+0x1.8676b01d07ce0p-1
+-0x1.9eb434f5e23dfp-10
+0x1.95688374a65cep-1
+0x1.d8b331ab26940p-1
+-0x1.ec5af0c2ccbc9p-1
+0x1.bca24367daca5p-3
+0x1.4c5f30d4e8c83p-1
+-0x1.990c52576b03bp-1
+0x1.279527d6f3123p-2
+0x1.e7d10654db7cfp-1
+0x1.afabd749d11aap-1
+-0x1.e54870e856fc8p-1
+-0x1.a9b6e450b1736p-3
+-0x1.e4b0c74cbee31p-1
+-0x1.77a9538ce58c8p-10
+0x1.aab3b79abd652p-22
+0x1.efdfd56aee773p-1
+0x1.1dfac77800264p-1
+-0x1.f5e7d3b5fa6b2p-1
+0x1.569077a89293cp-9
+-0x1.f086970443d28p-1
+-0x1.1e2b763ff1c1bp-16
+0x1.fa84d6fc1bfb4p-1
+0x1.fbf321159facbp-1
+-0x1.56f5410b90154p-15
+0x1.ec2962b60792cp-1
+0x1.82723136c1041p-1
+0x1.66ec3602d5c0ep-2
+0x1.6006c4b0268aap-1
+0x1.db8e205953140p-1
+-0x1.6f4ec45af7480p-1
+0x1.713b02f6a04eap-26
+-0x1.63b1454647238p-1
+-0x1.f2d2c4f587093p-1
+0x1.dbec93d39559cp-1
+0x1.f59e8219eeb3dp-2
+-0x1.973c3291c4d50p-1
+0x1.30a10510388bap-1
+0x1.f1f61783e79d0p-23
+-0x1.c101b1037e3f5p-1
+0x1.d257940a5137fp-3
+-0x1.f470523c426b8p-1
+0x1.0c37b2dba00aep-19
+-0x1.ebcbb7d352b98p-1
+-0x1.f45c0719f0ef0p-3
+-0x1.9fa667856a81ep-1
+-0x1.3706e59f06a0cp-1
+0x1.e87165a85bf00p-1
+0x1.d9f9e3d739f44p-1
+-0x1.e26fb2a17aaa7p-1
+0x1.0be6a11da1596p-1
+0x1.f8d1b326b2ed1p-1
+-0x1.ee19b06500228p-1
+-0x1.e40de71a02d0dp-1
+0x1.98bc15dbd69bcp-1
+-0x1.eb16f70b61cccp-1
+0x1.93a7216be0c5dp-2
+-0x1.8bdbe0b9e2d2bp-10
+0x1.ff0fa32b3accap-1
+0x1.e7b000c9475a2p-1
+0x1.e4c7b30bac6b0p-1
+0x1.e82ba33a4ce9dp-1
+0x1.db41972b5b7e1p-1
+0x1.e2fab75688c77p-1
+-0x1.d674412d314f7p-1
+-0x1.a05a64a3c376cp-16
+0x1.d57127f394c23p-1
+-0x1.8bb3428cca392p-1
+0x1.66540667f4775p-3
+0x1.df8192132032ep-1
+0x1.16be46faa5fd0p-1
+-0x1.8f5d4684f487ap-1
+-0x1.515e3214390b1p-2
+-0x1.e9c224c0132f3p-1
+-0x1.4792b4bea367fp-3
+0x1.f683c622269b9p-1
+-0x1.fd61a56639941p-1
+-0x1.edb8f5b456c1ep-1
+-0x1.1227a7cbdc567p-1
+-0x1.daf8854d3e5e7p-1
+0x1.aee25650abb06p-1
+-0x1.513f8376de706p-1
+-0x1.a96f12a5be2cdp-1
+0x1.ec7da7eb5220ep-1
+0x1.a010e6eeba432p-1
+-0x1.e73721ebf9720p-1
+0x1.d827e42f715f6p-1
+0x1.53cad6d41476cp-2
+-0x1.5921d3708a0c3p-1
+-0x1.c05b22303587cp-1
+-0x1.97f484b97f423p-1
+-0x1.2b4492bd73b64p-15
+-0x1.eb0e768cad7c1p-1
+-0x1.fe0c97242979ap-1
+-0x1.ec354776dd3bbp-1
+0x1.cf0d270e371f6p-1
+0x1.66e7a5c93cffdp-9
+0x1.fd0d826c5a1d9p-1
+0x1.afbca363725d1p-1
+-0x1.d77251ee3df8ap-1
+0x1.1692a2cdd5549p-3
+0x1.6e88143883032p-1
+-0x1.f41ec1c712c7fp-1
+-0x1.a6386135c889ap-1
+0x1.de45269a5dce2p-1
+0x1.c6a6b4f8f837ep-24
+0x1.33d06466c6b9bp-1
+-0x1.860fd51abe700p-1
+0x1.fbd696b6938a5p-3
+-0x1.e83e45de922aep-1
+0x1.ec4e74a3a5175p-1
+-0x1.7a9f95d8c3a13p-1
+0x1.3cd2b0e0024b4p-2
+0x1.c5b6f70209b78p-5
+0x1.e5b073ba13507p-1
+0x1.c5914768121eap-1
+0x1.9e87f2c6f8986p-1
+-0x1.835ef3aca7e57p-1
+-0x1.dc7de37754abap-1
+-0x1.8635367864672p-1
+0x1.d6fcd19613123p-1
+0x1.713322dda040ap-26
+0x1.b301916b3e546p-1
+-0x1.5907373541318p-1
+0x1.b67804eb47f52p-1
+-0x1.01d6c56bc4577p-1
+-0x1.268026d7131f6p-1
+-0x1.8a2f305b13ed1p-2
+-0x1.b110618fb5339p-1
+0x1.1e2ec7a7b3ffbp-1
+-0x1.eeac0378d3c2dp-1
+-0x1.a8d514f3e4860p-18
+-0x1.3c73f2a282f70p-1
+0x1.4b69664a697c8p-1
+-0x1.5ac3218682dafp-9
+0x1.d9d2a5d6d0097p-1
+0x1.ea88c7564fe3cp-1
+-0x1.01b182a357b89p-1
+0x1.ef3d33758c65cp-1
+0x1.755957a759d6bp-1
+0x1.dc5b74cf50867p-1
+-0x1.173f6772617c0p-21
+0x1.edbf80f8c492cp-1
+0x1.d53f03f943012p-1
+0x1.8a3cb07f33bafp-3
+0x1.03af809e77795p-2
+-0x1.eaeaa63245741p-1
+-0x1.f97c70509940cp-2
+0x1.da0741692c059p-1
+0x1.ade411f3da571p-1
+-0x1.b2a12164a95c7p-3
+-0x1.8fa041d702f22p-3
+-0x1.97f1b066c701bp-3
+0x1.b707763754484p-3
+0x1.e499e4e2ad8e9p-1
+0x1.311253501f3f2p-3
+0x1.259d37e26150cp-1
+-0x1.dfb6e365f91ecp-1
+-0x1.aa22065b8f2c3p-1
+-0x1.da1ff0b273cd7p-3
+0x1.be2cb0d8c5b44p-1
+-0x1.3439a53555121p-2
+-0x1.e210555e48210p-1
+-0x1.d85926848cf29p-1
+-0x1.e9a0822672116p-1
+-0x1.aa5ad517117bep-2
+-0x1.8f0b53139648dp-20
+-0x1.f86a7137c57dcp-1
+0x1.bb51b4278652ep-3
+0x1.0e4d9562788afp-1
+0x1.7ce703c2bf2a6p-1
+-0x1.059cc53835908p-10
+0x1.89b894e0e9e37p-1
+0x1.9d6604d4efeddp-2
+0x1.aa6bf1e6b5ff3p-1
+0x1.d053b71612732p-1
+0x1.c58290a57b35bp-2
+-0x1.e79c23c2f87cbp-1
+-0x1.ef28737769e8cp-1
+0x1.e1bf0284f90b9p-15
+0x1.b8c1328d43f30p-1
+0x1.ff61460c87dbbp-1
+-0x1.ea06f3c18052fp-1
+-0x1.929a25bc4e316p-1
+-0x1.462ed634d347cp-2
+-0x1.f89887250e6fcp-1
+-0x1.bc99a3c89c1e3p-22
+0x1.5c75e768472b4p-2
+0x1.8f6fa012e2770p-1
+0x1.f7af22a6b572dp-1
+-0x1.3f54f252e3acdp-2
+-0x1.ed3fa609dbee7p-1
+0x1.dfbca7880638fp-1
+0x1.3e1116e4de263p-1
+0x1.dc6a025cdf557p-1
+-0x1.8bfbe75d98041p-1
+0x1.e9e2b495fa2c1p-1
+-0x1.2642422821515p-1
+0x1.edfca7dddb0f9p-1
+-0x1.ee8ea3f68169fp-1
+0x1.ad17b2686c65fp-1
+-0x1.c4f6f0a35fd4cp-1
+-0x1.ef6f43ea3e075p-1
+0x1.4f28f1201b762p-3
+-0x1.ef68700ccd1ddp-1
+-0x1.d63ec71b1db72p-1
+0x1.eece451c9800bp-1
+-0x1.e374023473851p-1
+-0x1.dae080dc56bf7p-1
+-0x1.f41933cd4db1ep-1
+0x1.8df8a16525f39p-3
+0x1.f5c64629537c0p-3
+-0x1.74e212eb04e5ap-1
+-0x1.c78c50a1f0152p-1
+0x1.ec1a10580c98bp-1
+0x1.aadfa2e96b6e0p-3
+0x1.9c1383ae4954fp-1
+0x1.dfb2223aa208cp-1
+-0x1.cfffa4412b604p-3
+0x1.cee130d0b5a2bp-3
+-0x1.e307d799961afp-1
+0x1.fe1874b71dffap-1
+-0x1.f0dd20e110586p-1
+-0x1.e6f124bc80f9bp-3
+0x1.a84f50096564fp-1
+-0x1.eb54d7123b641p-1
+0x1.dde4d0a43d6ccp-1
+0x1.460c714b7fc02p-1
+-0x1.eb14401a251dfp-1
+-0x1.6d6c5532e2cd9p-21
+-0x1.b0c634676faacp-4
+-0x1.ab062115542b8p-2
+-0x1.12c3e674c7017p-3
+0x1.f2f2a467a4711p-1
+-0x1.b410a265bf2edp-1
+-0x1.e142463188648p-1
+-0x1.1e06e6cea4258p-2
+0x1.60e380d477367p-2
+0x1.ecabd7e786fccp-1
+-0x1.ea047532c3043p-1
+-0x1.e64087ec5398bp-1
+-0x1.8192b282dc78ap-3
+0x1.bc3be459c0118p-2
+0x1.e848464011e2bp-1
+-0x1.1635a3dbd5aaep-3
+-0x1.f027619f4ec1cp-1
+-0x1.cc5b228bab092p-2
+-0x1.54c7045181291p-1
+-0x1.d878651499cdcp-1
+-0x1.2c92931e89713p-1
+0x1.eea2d2cca4e34p-1
+0x1.5cb4743cbb81ep-13
+0x1.4e17a4a822867p-2
+-0x1.dbb357be5deebp-1
+0x1.e59516797b352p-1
+0x1.db51b6a627095p-1
+-0x1.60c746f7d0703p-1
+-0x1.ea37c48f25f9dp-1
+-0x1.7ac0566338086p-2
+-0x1.baf382671db8ap-1
+-0x1.27b5065556c47p-1
+0x1.dc8714f787413p-1
+-0x1.51c9858d1404ap-1
+-0x1.72de44d96ac46p-26
+0x1.f425e3cced4c7p-3
+-0x1.687a92d61065ap-16
+0x1.f524140aa4f9fp-1
+-0x1.e23a916eb0f6cp-13
+-0x1.d99af531c1d7dp-1
+0x1.33fc239565e36p-15
+-0x1.77fe57818f84dp-8
+0x1.e2f6076e57cc4p-1
+-0x1.e97d25cf4a4c9p-1
+-0x1.ced6825d25e04p-1
+-0x1.e6a1f419a0176p-1
+0x1.a8ad7301a9c3bp-20
+-0x1.c6256777394b3p-1
+-0x1.15deb4ca612fep-2
+-0x1.1fd1b6af697a5p-1
+-0x1.e9ad92c7a5f42p-1
+-0x1.ee43843342288p-1
+-0x1.3c312578414bdp-3
+0x1.ec27f19113a4dp-1
+-0x1.9ccbd7e827a55p-3
+0x1.efe3727b0e23ap-1
+-0x1.acfd7757af602p-1
+-0x1.841256a82781ep-1
+-0x1.dea3e5358e22ep-1
+0x1.7a5d14b31d63cp-1
+0x1.b45264dd5b6ccp-1
+0x1.a955c3158f95ap-3
+0x1.5a2a14a8001cap-1
+0x1.d80407959de45p-1
+-0x1.e63ba4f3d8c3ep-1
+0x1.83edf16dfff50p-1
+0x1.b747536ef6e0ap-2
+-0x1.db91b03d5de78p-1
+-0x1.04e9366e2d6bdp-1
+0x1.868a14adc5d9ap-2
+0x1.e004440ae8f05p-1
+0x1.b892e7a52e191p-1
+-0x1.a31672a711e3bp-3
+0x1.f1a246788caa4p-1
+0x1.2712839082804p-1
+-0x1.e15a87fb65354p-1
+0x1.c8b2f2a807b30p-1
+-0x1.4604a175e993ap-24
+0x1.ebfed39cc2c8bp-1
+0x1.46b9055c4ca9fp-1
+0x1.306ca7dee4864p-2
+-0x1.54b193e5a6106p-1
+0x1.d915353edaa25p-1
+-0x1.559071a09ac62p-1
+-0x1.dfd05503dd9c9p-1
+0x1.6372147e80a9bp-2
+0x1.1d6c4659b2302p-15
+-0x1.51678029a9639p-1
+-0x1.93c504552cc8ap-1
+0x1.500db1270ff22p-1
+-0x1.a84a143781395p-2
+-0x1.e0eef33df7060p-1
+0x1.a5b9342b2a503p-1
+-0x1.7e31e007182c1p-23
+-0x1.cbe100e36ed62p-1
+-0x1.e91f7469d5670p-1
+0x1.eb0711bcb2188p-1
+-0x1.d9e340faf4907p-1
+-0x1.d3eaf468140d5p-1
+-0x1.f046a692dfbe5p-1
+0x1.eef541125402cp-1
+0x1.164721f247577p-1
+-0x1.948565494d763p-2
+-0x1.88826288be33dp-13
+0x1.e66022a174720p-1
+-0x1.74bb306267089p-1
+0x1.0e806680dde9bp-19
+-0x1.36bf209f8d75ap-1
+-0x1.fdb1502db4889p-1
+-0x1.dc58a3a509822p-3
+-0x1.ff1285390535cp-1
+0x1.e697822f3ef41p-2
+0x1.f0b895823caf7p-1
+0x1.ee8a003f19352p-1
+0x1.86cef6dc903e7p-1
+-0x1.b06d1232385aep-1
+0x1.f7415347bb40bp-1
+-0x1.1849f3c6d3a7fp-24
+0x1.d8bb0536d10cbp-1
+-0x1.7134b61c665cap-26
+-0x1.63c4664215f4dp-1
+-0x1.4af2b05df7423p-3
+-0x1.ec83e4b62417bp-1
+-0x1.ea94d7a68205ap-1
+-0x1.758b46be117efp-23
+-0x1.e67b111d9643ap-1
+0x1.c7fba1185bbb7p-1
+0x1.3ee093dfa7bc7p-9
+0x1.761e6712c456dp-1
+-0x1.4147f16c16ab0p-1
+0x1.a19ce52b4f906p-1
+-0x1.480570f907c0ap-25
+0x1.9b1db0483a855p-20
+0x1.e1ef409647a27p-3
+0x1.4c8792308f4c7p-3
+0x1.11dc218d362eap-3
+-0x1.ee64f1975f7e6p-1
+-0x1.2693204eaf09bp-1
+0x1.834e43d519f57p-20
+-0x1.f321806888b14p-1
+-0x1.912d845baba7cp-1
+0x1.f0d7d51f16eafp-1
+-0x1.98615085cae70p-1
+-0x1.3254856940809p-1
+0x1.f5e36613814c9p-1
+0x1.f43be6f8db5a1p-2
+-0x1.d999f12e66f25p-1
+0x1.795a0759e9a8dp-1
+-0x1.731ba13d1957bp-26
+0x1.df2806ba55640p-1
+0x1.93b6b433d212dp-8
+-0x1.de2d26a9b9821p-1
+-0x1.c253e67cccb47p-23
+0x1.d896e2d45c8e1p-1
+-0x1.e9d165420d859p-1
+-0x1.7ed393dd2a80ep-3
+-0x1.72e6237bb4f8dp-1
+-0x1.77dcd46971c3fp-1
+-0x1.0f7294284d3d2p-1
+-0x1.ee0460d9eea8dp-1
+0x1.f593219765d24p-1
+0x1.ef4575e02694ep-1
+-0x1.88ed60dd3430cp-1
+0x1.e83fc488dacd6p-1
+-0x1.f6b1f794f743fp-1
+-0x1.f6fad097104e4p-1
+0x1.f578d77058051p-1
+-0x1.ead825875d99ap-1
+0x1.e47714a63f73ap-1
+-0x1.faf0f514a94b4p-1
+0x1.67c2f0fa8047bp-1
+0x1.eafad3737c504p-1
+0x1.dd79933eb4823p-1
+-0x1.d8e09754f9b03p-1
+-0x1.622a31c8a4a1dp-1
+-0x1.c3658532b752dp-17
+0x1.4653f0b895ddep-1
+0x1.4b7f774a00827p-1
+0x1.5671004a1fee4p-1
+0x1.ed1eb4107075cp-1
+-0x1.e91e34b9e7e08p-1
+-0x1.40a8260114e62p-1
+0x1.fcd51406408b5p-1
+-0x1.b41136108fbfcp-3
+-0x1.ea510117fd3ecp-1
+0x1.9875d57574880p-1
+0x1.8e6821b32b65bp-1
+0x1.7b7895c4df3f3p-3
+-0x1.0f9652222f8e9p-1
+-0x1.e20bc23074b3bp-1
+0x1.71c19505b627cp-1
+-0x1.50acd256c1190p-9
+-0x1.f88e41f893405p-1
+0x1.04c507eebef8dp-2
+-0x1.088452ad3c759p-1
+0x1.087d627cadb98p-10
+0x1.9dd3f239428bep-1
+-0x1.ac5f04341a72fp-1
+-0x1.df87628ca53cfp-1
+0x1.d963f3e2377acp-1
+-0x1.bc583247a7cb5p-3
+-0x1.19bbe7224c70bp-1
+0x1.e51196492219ap-1
+0x1.f8be8469e0f90p-1
+-0x1.9d7b07a7045cfp-1
+0x1.7f288239bc808p-6
+-0x1.f06ed4e303e99p-1
+-0x1.edb676b500699p-1
+-0x1.11c8041a56a40p-1
+-0x1.8fa0020067b9ap-1
+-0x1.e38a3096c29f9p-1
+0x1.8bd9a2320c1eap-3
+0x1.ec3a1130d87e6p-1
+-0x1.f041e6d4d3221p-1
+-0x1.ec3ed491bab06p-1
+-0x1.e82ed1f92fb3dp-1
+0x1.d97577265ac94p-1
+0x1.e0dc4301d27ffp-1
+-0x1.3c6f734ef61e6p-1
+0x1.d481020b94331p-1
+-0x1.084e305313b99p-17
+-0x1.e379862ec0fddp-1
+0x1.c59db4bbac95fp-1
+-0x1.d65bd11324f1bp-1
+-0x1.c59a52083041ep-3
+-0x1.f7db5704a4985p-1
+-0x1.e962d3ae18889p-2
+-0x1.53c9205e774e8p-1
+-0x1.e911418959876p-1
+-0x1.eede64d01dd85p-1
+-0x1.567a6656d28acp-1
+-0x1.e6aa85d031c63p-1
+-0x1.eb05376e22db1p-1
+-0x1.7f6913662676cp-1
+-0x1.495606dbbbe93p-7
+-0x1.ec3000dc4aabap-1
+0x1.ec4706c41bd83p-16
+-0x1.e6a7c54bbfa5ap-1
+-0x1.7a7641865ee08p-1
+0x1.b53be3ce487cbp-1
+0x1.40e9902e7c79ap-3
+-0x1.eb3282a56efc8p-1
+-0x1.dc476211ce07dp-1
+0x1.fbb577823c6b2p-1
+0x1.db89870b0b16dp-1
+-0x1.efa8f6daf9d6ep-1
+0x1.decb623f19c20p-1
+0x1.34c3170fae6e6p-1
+-0x1.eb66f41c573b3p-1
+-0x1.42fa605e3ab02p-18
+0x1.62f563b214a71p-1
+-0x1.ebfe83dfbd7bfp-1
+-0x1.d8320749306c8p-16
+0x1.096bd4970cd0dp-22
+-0x1.34db46c5d25f9p-1
+-0x1.e584302e3a118p-1
+0x1.279d83bbed431p-3
+0x1.e267d33665809p-1
+0x1.e7dfa379e70a6p-7
+-0x1.db6095b37c495p-1
+0x1.e8fc0548a8effp-1
+0x1.df80158c55f1bp-1
+0x1.085252cff6318p-2
+0x1.e8b2a51a22aedp-1
+-0x1.6c2551b909220p-1
+-0x1.6b160460a6dafp-1
+-0x1.ab45345443095p-1
+-0x1.6deca2af052c9p-3
+0x1.837e7496593b3p-1
+-0x1.bf1280b399b44p-3
+-0x1.846896e4714edp-1
+0x1.a87ef4867a7b7p-20
+-0x1.ebcf01f1f9c05p-1
+0x1.ee9f7221b6d23p-1
+0x1.f218003f765f8p-1
+-0x1.dee46627c2030p-1
+0x1.eff7e643f253bp-1
+-0x1.3e07f3ef0c1aep-3
+-0x1.7c2b31f076e73p-11
+-0x1.806c918e71aeep-1
+0x1.0db187d31341cp-2
+0x1.8a44534c5fa47p-1
+-0x1.dbd3606da38ebp-1
+0x1.4c41a22828d0ap-1
+-0x1.9eb9358ded573p-3
+0x1.e080f6a0dd5a1p-17
+-0x1.edc7b0c6d7c61p-1
+0x1.1672e0cfb0ae6p-1
+0x1.bcc2d238d4ddbp-25
+0x1.ef15079437d86p-1
+-0x1.e8c624ef9c950p-1
+0x1.8543e62f380d5p-3
+0x1.fef15658b7b3dp-17
+0x1.fdaef64e92ad5p-1
+-0x1.ed9495fb211ccp-1
+0x1.66b7a3a5f4bbcp-2
+-0x1.e4b4d29f62b3ep-1
+-0x1.af4687b7a9dd1p-1
+-0x1.1b8575ec2f1bcp-3
+0x1.719ad2699f7f4p-1
+-0x1.2ae4206794c97p-2
+-0x1.f697d28a52766p-1
+-0x1.4de5a4d1044b1p-1
+-0x1.e859b3f551706p-1
+-0x1.995221a7cd650p-1
+0x1.5b44a5441ff42p-1
+0x1.b40b1223b8731p-1
+0x1.f41ca43bda5ffp-1
+-0x1.d64953db536f6p-1
+0x1.f237a08dabbebp-8
+0x1.2ab9e2f378d0ap-3
+0x1.748f13fdb7757p-1
+-0x1.85fce11104791p-21
+0x1.e8fb12ed42b85p-1
+-0x1.b9be13f0400a5p-3
+0x1.5cf593bcc75fap-1
+0x1.e62c06763ca98p-1
+-0x1.ef83347913d46p-1
+0x1.8cd87241429ddp-1
+0x1.ed52a73ea36ddp-1
+0x1.eb1fb7b4361a5p-1
+0x1.659040150dccep-1
+-0x1.e84f02088580bp-1
+-0x1.31efb599b0c90p-1
+-0x1.3d71f7cc5cbb8p-14
+-0x1.a7947303093c0p-2
+0x1.d9d164d5dd4b4p-1
+-0x1.a6a84397e3686p-1
+-0x1.dbfc05a512685p-1
+-0x1.5b0384147576ap-1
+0x1.24925361ccdf7p-1
+-0x1.ff78b2a719f69p-1
+0x1.ed23979169478p-1
+-0x1.aca5d6e0cebc8p-1
+-0x1.ef3d97ca40548p-1
+0x1.b18ed204df0bep-1
+-0x1.8bb177f1b45d0p-1
+0x1.eea5d7d2221dap-1
+0x1.7f86226cc352bp-7
+-0x1.e8690599a1b6bp-1
+0x1.c62b97c2b228ap-3
+-0x1.a1283741d2ae6p-2
+-0x1.36bf72bd2813ep-1
+0x1.02ff0102590a7p-1
+0x1.81aef093e519fp-1
+-0x1.e5788391286c7p-1
+-0x1.373103fbf2dbbp-26
+0x1.34e2d1a2d3f9bp-6
+-0x1.f8d06493cf734p-1
+-0x1.c24710eb7be22p-3
+0x1.d2db6598cfaf0p-1
+-0x1.da7e74a47298fp-1
+-0x1.9af47030895e7p-12
+-0x1.891952e265231p-1
+-0x1.092645a64f8d3p-20
+0x1.4f75862316ad1p-25
+-0x1.fe90e5f9be415p-1
+0x1.fb4ee1a050156p-1
+-0x1.ec39744c1f0c8p-1
+0x1.ba15c60d9db6fp-1
+-0x1.87a6e44eaf473p-14
+-0x1.346b35da45de2p-1
+0x1.8db9c701a763cp-25
+-0x1.db34b430e32a8p-2
+-0x1.629942502fa18p-2
+-0x1.e413c088c0673p-1
+-0x1.1f6e31af5699fp-1
+-0x1.ed7495c0fc882p-1
+0x1.abee977c43f44p-1
+-0x1.66cc97e31eaf9p-1
+-0x1.e215564a14206p-1
+-0x1.2c8ac0b1cee68p-6
+0x1.d44c706157084p-1
+0x1.60e11610c7ee0p-1
+-0x1.30bba0afa8fb3p-1
+0x1.bee52516c6958p-2
+0x1.704ea3b5ecd74p-1
+0x1.9e8346c8dd9e3p-1
+-0x1.8d20a7a73971bp-1
+-0x1.fee190f2fc2b8p-2
+0x1.2412133b85638p-1
+0x1.e12c42ed2cf35p-1
+0x1.ab2c11f181602p-1
+-0x1.3792d18b82986p-2
+0x1.8201c2f453059p-1
+-0x1.a787c4bfd3b9dp-1
+-0x1.21cfc16c9dd00p-15
+-0x1.fe18e3a9ee189p-1
+-0x1.e0a0474a78619p-2
+-0x1.f2b9635cc6607p-1
+-0x1.ead0a07de749ep-1
+-0x1.51be7174fb83ep-1
+0x1.ce044606c1030p-1
+-0x1.7ea081641e5c0p-1
+-0x1.a3b065b4875e9p-1
+-0x1.dfdae0cbe44cdp-1
+-0x1.ed7ef264fedb8p-1
+-0x1.ef5091c5626a8p-1
+-0x1.dc56039dc4ef6p-1
+-0x1.495862db7188cp-18
+0x1.f702c7007d0f8p-1
+0x1.af0a752686e3dp-3
+0x1.e30a96a56e0a2p-1
+-0x1.9e27251b3702fp-13
+0x1.d09934bc80099p-1
+0x1.0e94e36bb88f6p-2
+0x1.e6ddf06e94dd2p-1
+-0x1.07c16329a6368p-1
+-0x1.ba2ae6c81ef86p-19
+-0x1.0c0a94e27bcffp-1
+0x1.dd58042e78413p-1
+-0x1.e659010e4489dp-7
+0x1.0214d6e90f72ap-1
+-0x1.cf4586cf33876p-2
+-0x1.b70207125cf48p-1
+-0x1.df4870eb61dfap-2
+-0x1.f57f5552ab569p-1
+0x1.dfcf57952b0f5p-1
+-0x1.e8c51781e0f5ap-1
+-0x1.e482f48b7b06fp-1
+0x1.ebaf12ac1ca9ep-1
+0x1.e737501a3ae33p-2
+0x1.ecd747e9c09c1p-1
+0x1.e862d221950bfp-1
+-0x1.11bc51c1a6b71p-1
+-0x1.8b32c03c1f3fep-1
+-0x1.45d6537260c70p-3
+-0x1.eab7a154b753bp-1
+0x1.dc3de7d2fc8d2p-1
+0x1.ebba47c789bf9p-1
+0x1.e9ecf3956d1f2p-1
+-0x1.b9b423bd8562fp-16
+0x1.ea80b59543ec4p-1
+-0x1.4c94d139f13e8p-1
+-0x1.6e83b5a2a8fe5p-19
+0x1.e543336eb0ac0p-1
+0x1.e1ebe4a9d8a89p-1
+0x1.ed72033a5db2ap-1
+-0x1.e266b288cfc87p-1
+0x1.027c5616cc343p-1
+-0x1.e35a95def4819p-1
+-0x1.413b8018c5b35p-1
+0x1.25c3a3e3119f1p-1
+0x1.29429685f155dp-1
+-0x1.daec27668718ap-1
+0x1.066c27f6a6cfep-1
+-0x1.ece86688b8215p-1
+0x1.e7fb31fd3c964p-1
+-0x1.7208a0ee99588p-18
+0x1.e55e406d573cap-1
+0x1.e8af41ef26febp-1
+0x1.371c35f823ee3p-1
+0x1.d17522ea5e064p-1
+-0x1.7accc66f1a867p-1
+0x1.1b88e568085eep-3
+0x1.efa964a3049c3p-1
+0x1.0ae4753a5c894p-13
+-0x1.e5dc4522b9124p-1
+-0x1.eea0521dad0ebp-4
+0x1.852e91bce0883p-1
+-0x1.dd70c04d30a3ap-1
+-0x1.10e344fda4288p-3
+0x1.f8ed93cccdd32p-1
+-0x1.9b2a127bc4877p-1
+-0x1.3ae99644caf6fp-2
+0x1.2011857db1424p-26
+-0x1.e901933e634b8p-1
+0x1.c426411a0bd0ep-1
+0x1.a5edb0220c08ep-1
+-0x1.effdf2686cde6p-1
+0x1.c32c91193429cp-13
+-0x1.51f3b17d298a4p-1
+-0x1.7f189788a9871p-1
+-0x1.6df8f3b40a7d7p-20
+-0x1.cc9fa732730b4p-1
+-0x1.e800e2c46ef54p-1
+-0x1.0036b44e98fb9p-1
+0x1.545021fa9de9cp-1
+-0x1.dbd584ff2c565p-1
+0x1.f4ea010d09590p-1
+0x1.0838d097bf35fp-2
+-0x1.a1da024b0b5d7p-8
+0x1.e8d72663b3bb6p-1
+0x1.bd21611d957b4p-1
+-0x1.e632b5939513cp-1
+0x1.ef5182ea9b9f9p-1
+0x1.1f999553c9965p-1
+-0x1.b47b81b50fe30p-2
+-0x1.ec1d2221cef9fp-1
+-0x1.ff88333427dbap-1
+-0x1.f9b0f160d4715p-1
+0x1.000f60ec89995p-2
+0x1.03ce907b337a2p-7
+-0x1.a63a42293fa26p-3
+0x1.292904fec9be4p-1
+0x1.820c4727f0297p-1
+-0x1.ee77e35aa0adep-1
+-0x1.ecc08254e2ca3p-2
+0x1.f5e2939c7c8abp-1
+0x1.fe103302da0f0p-1
+-0x1.ee18039175978p-1
+-0x1.d7c305801dc47p-6
+-0x1.f7bb55bddabc2p-1
+-0x1.f3f604ec44843p-1
+-0x1.6fbae21dcab06p-1
+-0x1.f613a094bcd5bp-1
+-0x1.9b44300f94ca8p-1
+0x1.ebb413b8af6a7p-1
+0x1.8ff5319a0c60fp-1
+0x1.21f49780f87b2p-1
+0x1.edc3445e3d359p-2
+0x1.be0ce0e44a018p-3
+-0x1.ee9ef2f6c17b3p-2
+-0x1.c27d81c83efabp-1
+0x1.ac8f6552a58dep-1
+0x1.711ce469b9c2cp-8
+0x1.fa3c9399c63afp-1
+-0x1.432c76363edb9p-2
+0x1.ea3e827115c9dp-1
+-0x1.ea73d35821c98p-1
+0x1.bf34426cf512cp-1
+-0x1.1445f5830a831p-21
+-0x1.ee29a33d89217p-1
+0x1.8ccbb1dcc318bp-1
+0x1.25b4539e355fdp-1
+0x1.d9f2a66cb195ap-1
+0x1.1d3cb7d6c6a5ap-1
+0x1.b1b470d44d8e1p-1
+0x1.a8b3a413894e6p-10
+0x1.e85bb560bc75dp-1
+0x1.5f70e6661a987p-3
+-0x1.e607b65d13651p-1
+-0x1.7133562954a55p-26
+0x1.e8d044bdd2df4p-1
+-0x1.6d61c0b3f3e7ap-1
+0x1.b036d56c1ea88p-1
+0x1.db9765d455c4cp-1
+-0x1.d67e0577a6507p-1
+0x1.1149b4f4323d5p-1
+-0x1.61dc625616ea4p-1
+0x1.e7e686da575a0p-1
+0x1.1f8845720550bp-3
+0x1.181681ffa6887p-1
+-0x1.f9a361114e127p-1
+-0x1.2daf678a502f3p-1
+0x1.e9d467bd4f063p-1
+0x1.6bdae68159ee5p-2
+0x1.31f72092e0a01p-3
+-0x1.0257216dc5462p-1
+0x1.a3eba171994e9p-1
+-0x1.76ca124cf6f47p-3
+0x1.edaef15ec1849p-23
+-0x1.55ac10a3a8641p-3
+-0x1.c41062b424a37p-1
+-0x1.d92890d75b595p-1
+0x1.dcfb53f8d12a7p-1
+-0x1.e282c640ea6f9p-1
+0x1.d213669b363a3p-1
+-0x1.e38275a589425p-1
+-0x1.8ae0d1a8a37fbp-1
+0x1.2e4ef4f93f824p-1
+-0x1.e41b13bb1ae98p-1
+0x1.086eb6e0f5f9bp-1
+-0x1.e5a480f554f3dp-16
+0x1.247007cd3459dp-9
+0x1.126fb704975d2p-2
+0x1.ead2c179b0748p-1
+0x1.e2a9b69b414cfp-1
+0x1.dd5754e2b6f70p-1
+-0x1.aa3c46accda7bp-1
+-0x1.eac543bc70794p-1
+-0x1.3e5ed5df8f9b3p-3
+0x1.c87902a9dc843p-2
+-0x1.7488404424d8fp-1
+0x1.0a0993e0464fep-1
+0x1.ec89e597c1fb8p-1
+0x1.ff68c644002e1p-1
+-0x1.57e6c01243fa0p-1
+0x1.e6e2b58850fbcp-1
+-0x1.ee92e612cb066p-1
+0x1.e3f070eec2596p-1
+0x1.a3a1677955b56p-1
+-0x1.bcc7e5fa33d67p-1
+0x1.594fe3ac79583p-1
+0x1.50ec000b8e4acp-3
+-0x1.f9295717cfd6fp-1
+0x1.ef55f3c40b195p-1
+-0x1.fb0bc0bcae0e5p-1
+0x1.ef1e83db4a781p-1
+-0x1.e24192e4c76d5p-1
+-0x1.b008d5aeca3d0p-1
+0x1.e8f7b7904e38ap-1
+-0x1.ee3126a0a120bp-1
+-0x1.261cb76f274a4p-1
+-0x1.e693d2d796ecap-3
+-0x1.ddbba60a316aap-1
+-0x1.f79761f4b586fp-10
+-0x1.ea326681d6327p-1
+-0x1.30688704ba934p-13
+-0x1.e7cb21c3e16e5p-1
+0x1.587605ae10952p-1
+-0x1.e19505b39f2c0p-1
+-0x1.e18a12334f770p-1
+-0x1.0837757b9d39dp-2
+0x1.d5a6b0de0792ap-3
+0x1.f99470c182bf6p-1
+0x1.ed070744db724p-1
+-0x1.73b2737edc5c7p-26
+0x1.b936968f91883p-3
+-0x1.ea40a3cab079fp-1
+0x1.38e266cf4e67bp-23
+0x1.eef1a663ee7c0p-1
+-0x1.b714f5eded91ep-1
+0x1.dbc6676e6b672p-1
+0x1.eb6416d4263a2p-1
+-0x1.cd5f86a8d0aa0p-1
+0x1.6f9df5f49001bp-2
+-0x1.6c0f802e7de00p-1
+-0x1.171c4382a49b5p-1
+-0x1.6b40229004e64p-1
+-0x1.9b6996025da1cp-1
+-0x1.efbc035d5241cp-1
+-0x1.8d6cd1d2f1d24p-2
+0x1.387816b7132c2p-15
+-0x1.222651699e523p-1
+0x1.3b2d21d75094ap-2
+0x1.e81bf743c0369p-1
+0x1.ee2044b7efb74p-1
+-0x1.ff5cc72dade88p-1
+-0x1.c932d35cb0882p-1
+-0x1.e12937d9b5de6p-1
+-0x1.bb5fe6c2388bcp-20
+0x1.e2f9c07852f70p-1
+0x1.389e508c2d4a1p-3
+0x1.4e0e70421f589p-3
+0x1.cc1262f95c14cp-1
+0x1.fc9c210385ec5p-1
+0x1.9984459a46260p-1
+0x1.e4e8c2f4a4892p-1
+0x1.e37f56ad5d374p-1
+-0x1.d604e43246f1ap-1
+0x1.dd2cb52e3f946p-1
+-0x1.ad5ce2c9a061dp-2
+-0x1.e304f24cdfffbp-1
+0x1.06c562663d3d5p-1
+-0x1.80d703d704546p-1
+0x1.24f756f5e8490p-22
+0x1.ef88e7a892892p-1
+-0x1.8acf064a612ebp-11
+0x1.f85ef0fd21f0bp-1
+-0x1.f2d7b573896eep-1
+-0x1.c41b9411e2424p-1
+-0x1.0eed14bd5c463p-1
+-0x1.ecf8e686be7cep-1
+-0x1.965f75ff798a9p-1
+0x1.6411e12b18fc4p-1
+-0x1.11af90316a631p-9
+-0x1.da5f66b16e89ep-1
+0x1.085d72e4cc8a6p-1
+-0x1.dd2c9123047c4p-1
+0x1.ead1c7993f167p-2
+0x1.d9b8b3488e2c9p-1
+0x1.e3ba8654faf94p-1
+0x1.b12e97910d2fbp-3
+0x1.8ca403a109b30p-3
+-0x1.e5f2937058787p-1
+0x1.1a16c20b59c20p-8
+-0x1.11098610b5ed6p-16
+0x1.892e670d4f005p-1
+-0x1.2648b2df313ccp-1
+-0x1.dfc21746825a5p-1
+-0x1.4f866516769a4p-1
+-0x1.e913c2d94e14ep-12
+0x1.50e5c3abd6b3ep-1
+0x1.ddb931972f706p-1
+0x1.66d50185eedb5p-2
+0x1.178457d5f3122p-1
+0x1.0a089692fa9d6p-1
+0x1.53e8b3a99a9ffp-21
+0x1.faccb45f4e2f8p-3
+0x1.0fba936e6a028p-2
+-0x1.b6f9a6276a135p-1
+0x1.67cbb33515663p-6
+0x1.3ac2c7ff47442p-1
+0x1.fd2901f3c9671p-1
+0x1.a95ba191e3d37p-20
+0x1.ecfdc74673b2ep-1
+0x1.e33344b0b2b7dp-1
+0x1.d6b6c30ea8c56p-2
+-0x1.3e18951be4c2ap-10
+0x1.06544747d23b7p-1
+-0x1.6530f1b557057p-1
+-0x1.e141a1fc347e7p-1
+-0x1.c209253da05dfp-1
+-0x1.5abd34f01cc55p-25
+0x1.da55f059b4805p-1
+0x1.b15ad1f0f8186p-1
+-0x1.e2f6324aebb6cp-1
+0x1.e6cf20c6b3bd3p-1
+-0x1.d9f586a99ac1dp-1
+-0x1.ea5db6c802980p-1
+-0x1.eef205ef8bf9cp-1
+-0x1.e77cb3d6aba48p-1
+-0x1.efb0238767d34p-1
+0x1.eac576f6fcc93p-1
+-0x1.9d69119b79677p-17
+0x1.95acf5bfa2f77p-3
+-0x1.551e1792426dap-1
+-0x1.dbe0e257f280cp-1
+-0x1.f69220aac2bb2p-1
+0x1.57b2160efdbf5p-2
+0x1.e58de281a1a07p-1
+0x1.084020b03e4d2p-6
+0x1.d87e91b7e07b7p-1
+-0x1.99cda400ce3b7p-2
+-0x1.e362932c8c92fp-1
+-0x1.da4995d5cee72p-1
+0x1.87b2d4dcffaf9p-1
+0x1.3ea5128eaaf2dp-1
+-0x1.5faae7d3bcf38p-1
+0x1.3aec5799bb1d9p-19
+-0x1.ec3797b899976p-1
+0x1.8aefc30a2949bp-1
+0x1.bd62a0a521e27p-2
+-0x1.ab7df36836c3fp-1
+0x1.91ab544ac879fp-2
+0x1.f80f9015de12ep-1
+0x1.aa572325d6916p-1
+0x1.efb673b18111ap-1
+-0x1.dbb4625b1b6d4p-1
+0x1.ddbbe2e244b52p-1
+-0x1.f79ea4af0ff39p-1
+-0x1.c16b5501eff50p-1
+0x1.ea4315c9c663fp-1
+0x1.ade22053744afp-1
+-0x1.e4b1a6febdb21p-1
+0x1.ec9464048b26cp-1
+0x1.e3c1e7f51cf59p-3
+-0x1.dc8fa6420fb87p-1
+-0x1.f052a40d8e48bp-1
+0x1.cb7bf6c1858f8p-17
+0x1.e4fbf10139e0ap-1
+-0x1.df2192fe7f98dp-1
+-0x1.062da16c62ccep-1
+0x1.0dca9008fbcebp-2
+-0x1.0fd4c304627a5p-11
+-0x1.f7ad343c1ffafp-1
+-0x1.3de2247c0ac76p-1
+0x1.a8f991857abcfp-3
+0x1.b42d56efb9226p-1
+0x1.410fc200873e5p-1
+0x1.b2a8837671aa6p-1
+0x1.adf61664fadc1p-1
+-0x1.858b722a5427bp-1
+-0x1.e20ac139c6d90p-1
+0x1.ec4a72202abfbp-1
+-0x1.bf067665f434dp-3
+0x1.b78865ebf7179p-1
+-0x1.0634566d8abcep-1
+-0x1.e6a6172392825p-3
+-0x1.e6fc2655bf4fep-1
+-0x1.e543e6d75248fp-1
+-0x1.e88fc53e3e4b0p-1
+-0x1.eb40e4f889a53p-1
+0x1.e79ef6eba9adbp-3
+-0x1.96df34af5a088p-21
+0x1.65efb1356114ap-3
+-0x1.8d4e57db12a07p-3
+-0x1.5d616093177aap-1
+0x1.df0754bc48a37p-1
+0x1.d025216b99be2p-5
+0x1.e739901525d14p-1
+0x1.e8d122ec89b8ap-1
+0x1.e8c93262e04f1p-1
+0x1.ffd00163380e1p-1
+0x1.95d3428efb513p-1
+0x1.ea9674065a5c0p-1
+0x1.44b2453851f94p-1
+0x1.f42ee4d7dac9dp-1
+-0x1.e976c2fccc26ap-1
+-0x1.27ba2598fa425p-1
+-0x1.817945ade05b6p-1
+-0x1.6d6582d27a94ep-3
+0x1.ea59d39e18322p-1
+0x1.2c7d24a2d4e9dp-2
+0x1.f44e04251a793p-1
+-0x1.3778036172b36p-2
+0x1.eed61776e402fp-1
+-0x1.799ba18a53c8bp-1
+-0x1.6fb4348faf5c4p-3
+0x1.ddc2869dc18a5p-1
+-0x1.e343665d40ccap-1
+-0x1.3f73605325ab0p-3
+-0x1.3ba0f05c1755fp-1
+0x1.ed92048ac9d47p-1
+-0x1.e1a5a6243d05dp-3
+0x1.e4fd73980b5e1p-1
+0x1.33b9002a95e7ep-2
+0x1.ecba4619d36bcp-1
+0x1.6a7a22a449e86p-1
+-0x1.a2bb4749faabep-3
+0x1.8248f68a7e1ffp-1
+-0x1.e21ad7da85c70p-1
+-0x1.dd8e86ce2c248p-1
+0x1.5d40255ad5479p-2
+0x1.a5fa20bad74b8p-1
+-0x1.f99406b4197a3p-1
+0x1.d2f1b785de5d5p-1
+-0x1.e2d534c706c26p-18
+0x1.aeb5736c743fbp-2
+0x1.dfc7324805273p-1
+-0x1.2d2db09cc6e86p-21
+0x1.edae94523b924p-1
+-0x1.dc31f75dbd8bap-1
+-0x1.dce536216941cp-1
+0x1.a96985facec4bp-1
+-0x1.e5ce57ae15fa4p-1
+-0x1.dbd6a23f8b933p-1
+0x1.8d6b062af3681p-2
+-0x1.2590214dd2a24p-3
+0x1.d0f7e414c0f7bp-1
+0x1.eec205a0f3bfcp-1
+-0x1.5cf1a0c8c1ccdp-2
+0x1.ca9b05da55e1dp-3
+0x1.e7078679d9affp-1
+-0x1.dee200a7c99b0p-1
+-0x1.aea74698a65c1p-3
+-0x1.eef2e7388b0b8p-1
+0x1.9475e0bee269cp-1
+0x1.e8ede2eca6ebcp-1
+-0x1.3a3f5430a9d73p-1
+-0x1.da99616adbb35p-1
+0x1.40a287e0245c7p-1
+-0x1.db6f1755478ccp-1
+0x1.4b37359e5a442p-1
+-0x1.fabca4ba5ef23p-1
+0x1.bdb701415b22ap-1
+0x1.ece78508bb8c1p-1
+0x1.4a0d37fdc5a79p-16
+0x1.d81ca025d90bcp-1
+0x1.eacf140a099a8p-1
+0x1.ec31331b47ad9p-1
+0x1.ffd881703db66p-1
+-0x1.2f5617c2cdd47p-1
+-0x1.de2e87858ebd7p-1
+-0x1.3fc366eb32e48p-1
+0x1.da5505c9b5082p-1
+-0x1.c13e200d12a13p-1
+-0x1.eb29615918644p-1
+-0x1.530e61ff0420fp-21
+-0x1.e904b6785c98cp-1
+0x1.dd8612e5b6eb4p-1
+-0x1.339060228fa99p-5
+-0x1.3b19c402e1ab5p-1
+-0x1.3af4f28b24131p-1
+0x1.fdcf071e072d3p-1
+0x1.a02143cfecad9p-1
+-0x1.a33832573766ep-8
+0x1.f013574be1027p-1
+0x1.6bbb23e29bd56p-2
+0x1.c2e0b4f123c1dp-19
+0x1.0bd860a759addp-1
+-0x1.ea778377c1e47p-1
+-0x1.e415749cde067p-1
+-0x1.f0a930040729ap-1
+0x1.f0e804039007cp-1
+-0x1.dc12b607e76dap-1
+-0x1.3a0d506141a45p-5
+-0x1.bc3fa1c91bbc5p-2
+-0x1.61f91720d48f9p-2
+-0x1.b682b0abe4889p-2
+0x1.e2ecf4b017e0dp-1
+0x1.161d419e7dff1p-3
+-0x1.daf7532488e10p-1
+-0x1.c80936da67635p-1
+-0x1.f79a56103c6bcp-1
+-0x1.ea6bc6967c364p-1
+0x1.eb55c5889afdap-1
+0x1.31373491f9fd9p-1
+0x1.80eaa23a91ec2p-1
+-0x1.fd9ed1b43f715p-1
+-0x1.02c3e70019c89p-1
+0x1.daa6242404908p-3
+0x1.e8a1b27cb8dd3p-1
+0x1.caa1a29c0a137p-3
+0x1.e925463516258p-1
+0x1.dfb4b65646ab3p-1
+-0x1.4c1900363e38bp-3
+-0x1.ea072277e9de6p-1
+0x1.eb1bf69818892p-1
+-0x1.c7891601871cfp-1
+-0x1.e9c811e32475fp-1
+0x1.09ffc56919a5dp-8
+-0x1.1afd8636d88a6p-4
+-0x1.d5faa18bb319cp-24
+-0x1.5a73f23f4d005p-3
+-0x1.f12a419b4a7e1p-1
+-0x1.f3f813fc62e9ap-1
+0x1.882457f6307dfp-3
+0x1.cc79d0b17437bp-3
+0x1.f849007c8fc5bp-1
+-0x1.582d615ec34e3p-1
+0x1.406506bfcfb11p-1
+0x1.b6a6c3eebea0cp-1
+-0x1.e88b2722a8806p-1
+0x1.31b3642d568c4p-2
+-0x1.b5ca91453fe3fp-1
+0x1.3137f5baf9af4p-1
+-0x1.ebd6465bc4b63p-1
+-0x1.a49977d4938ccp-1
+0x1.e71ef4f74efa5p-1
+-0x1.7992140ccce3ep-3
+0x1.e2d9f4354faf7p-1
+-0x1.a282a4f738fe1p-2
+-0x1.864a6783972d3p-1
+0x1.ba4587f6ddfafp-1
+-0x1.b9dc1365a48d6p-1
+0x1.9b24d0442a8bdp-1
+0x1.de51365f22198p-10
+0x1.4b5e2197433cdp-2
+0x1.be54761e95348p-1
+-0x1.fb51005dfdc02p-1
+-0x1.fa7fb41bdf4ecp-1
+-0x1.da30d147aa840p-1
+0x1.a0b8a727a25c6p-1
+0x1.f298d21034624p-17
+0x1.e9cfa7a7fd217p-1
+-0x1.f4e8b5ec98f6cp-20
+0x1.7302146a6f168p-8
+0x1.5799928b1b254p-1
+0x1.d704c60ab009dp-1
+-0x1.9681e2cf54b70p-1
+-0x1.e48e4276acf60p-1
+-0x1.edd8a455629a7p-1
+-0x1.f37d96501f78bp-3
+-0x1.b7a5b13013786p-3
+-0x1.e960c36a66790p-1
+0x1.b63de6d713d58p-1
+0x1.e47cf5ea94794p-1
+0x1.ff99528e27db8p-1
+0x1.6c20d6e995703p-20
+0x1.dd82403aa55b3p-1
+-0x1.bdf2b69afaaa0p-19
+0x1.debfb38f72c41p-1
+-0x1.caf0a20a2e374p-3
+-0x1.c786d16c31b03p-1
+-0x1.be5512ecf8b31p-2
+0x1.eb74f08f7bea6p-1
+0x1.41f8565f967afp-1
+-0x1.df40e5c3806e3p-1
+0x1.915a220e086dfp-1
+-0x1.eab325c5fbbe8p-1
+-0x1.811ee0ee26a13p-5
+-0x1.deea07f1077cdp-1
+-0x1.a4b6326d457f6p-21
+0x1.29b2708c3a747p-1
+0x1.c0d8d07a22f7fp-3
+-0x1.56bf84f095b88p-2
+0x1.d8e426b246e44p-1
+-0x1.621014d0872dcp-1
+0x1.7307e45a9bfb6p-5
+0x1.dde4a27afa00ap-7
+0x1.dbce065bbf8a3p-1
+0x1.e1207083bb09fp-1
+0x1.1daa53018212fp-1
+-0x1.496161b184764p-1
+0x1.be4077f0a12bep-23
+-0x1.ba4832d143c1ap-1
+0x1.eae16553c8c57p-1
+-0x1.dcd236d0485fbp-1
+-0x1.e2b5a72fffc26p-1
+0x1.eb42940a8517bp-1
+-0x1.e06e527c5ae19p-14
+0x1.ae15b592e3128p-1
+-0x1.ca92520c405e5p-2
+0x1.7db9b3fa53090p-1
+0x1.64105318b86d4p-1
+-0x1.ed5ce02997ae3p-1
+-0x1.30fbb21b54296p-12
+0x1.bc360678ba681p-7
+0x1.e5d335374c24cp-1
+-0x1.e0749468e2cc8p-1
+-0x1.ee3570ed32c54p-2
+-0x1.3a8df06a429efp-2
+-0x1.ce3772c129db8p-13
+0x1.15ba83dfe3904p-3
+0x1.08f5e344993d5p-1
+-0x1.ed8e061bb76b0p-3
+0x1.f8ffe57a8dde1p-1
+0x1.e66a85eaf4ee0p-1
+-0x1.fea40127cc2f2p-1
+0x1.f2aab1284b4b0p-1
+-0x1.cc03e1478de39p-4
+-0x1.e912d49635d92p-1
+-0x1.f1687635d3527p-1
+-0x1.627064608ff5ep-1
+-0x1.eb5a8287935edp-1
+-0x1.1857a62740addp-1
+0x1.5b65c47382c9ap-3
+0x1.ecb1a4e85bbefp-1
+-0x1.a7fea62a8476fp-3
+0x1.ccdc351ffc956p-19
+0x1.f8d674c4fbe5fp-3
+-0x1.fa49b4283ce9ap-1
+-0x1.ed8ea55dfb46cp-1
+0x1.c552618b4fd1ap-1
+-0x1.b9fbf215a6137p-3
+0x1.edea1355a361cp-1
+0x1.ba92542786897p-1
+-0x1.a7307747e4eedp-1
+-0x1.41cb43cc57a37p-1
+0x1.ffe9232e1641fp-1
+0x1.556ed63589177p-12
+-0x1.cd6f16bc335c9p-1
+-0x1.f2b6338523771p-2
+0x1.db2795c5314edp-1
+-0x1.de2267c10bed6p-1
+0x1.ea9e158ead810p-1
+0x1.bec560986a04ap-1
+0x1.ef3db6de27565p-1
+-0x1.3393b6059cb76p-23
+0x1.b980f402882acp-3
+-0x1.e259b369989a0p-14
+-0x1.ff6ac3ef8dac8p-1
+0x1.7e5081826dfc6p-1
+-0x1.0c6c55fecc746p-1
+0x1.ef97766ebf4d8p-1
+-0x1.ddae26391e016p-1
+0x1.fc6cf6ab5b808p-1
+0x1.dc2b369f4fb97p-1
+0x1.3e0cd4bcc78f9p-2
+-0x1.0e4bb0b067b5bp-1
+0x1.b79ba1d3be769p-1
+-0x1.ea50436bfcdb0p-1
+-0x1.fa0d71fd79cc3p-1
+0x1.3dc4e295f1f30p-1
+-0x1.703d419656c71p-1
+-0x1.fa7f5390f9fbcp-1
+-0x1.e70a30da2cfa1p-1
+-0x1.fdabb5f507142p-1
+0x1.f64dc541cc1fap-1
+0x1.eb319784bca19p-1
+-0x1.f3bc56a59b92fp-1
+-0x1.b8a0d2c98b8e0p-1
+0x1.425107976f0d2p-20
+0x1.4ad290cb36082p-3
+-0x1.b5bb322363d88p-1
+-0x1.e7ce322063c1ep-1
+-0x1.c48fc05bc06adp-1
+-0x1.e74004feba25dp-1
+0x1.19099015cd289p-1
+0x1.9df0943df0ed7p-1
+-0x1.a337f087e6047p-1
+-0x1.7d8cb3c9cb5d8p-1
+0x1.11a6b0c515920p-1
+0x1.c693d3e0c3d93p-1
+0x1.f141608e6aec1p-1
+0x1.a9bde0091b760p-1
+0x1.c93a76be71d45p-1
+0x1.d7597098112a3p-1
+0x1.edf6c4bdb283ap-1
+-0x1.205784cd6e44ap-1
+-0x1.a0d5f18128988p-2
+-0x1.e40666614e59fp-25
+0x1.121bf667b781ap-1
+-0x1.668da74298814p-7
+-0x1.616fc1a66c4d6p-1
+-0x1.ee112212f8aa0p-1
+-0x1.ed6ef73d531a4p-1
+-0x1.c15fb366cfcf9p-1
+-0x1.efffe322b6ac1p-1
+0x1.96c5c059d54afp-1
+0x1.e4e1454ecf85dp-1
+0x1.db2913c8fc219p-1
+-0x1.7f66a643bfb7ep-1
+-0x1.27f944d4ad8d6p-1
+-0x1.6426726aee6cfp-1
+0x1.d9c0506986f5ap-1
+-0x1.eeaad7939baecp-1
+0x1.bd5a077c9fc90p-1
+-0x1.38a69239f073cp-1
+-0x1.f932f26d539d5p-1
+-0x1.b260a79be9a1bp-6
+0x1.ef9f51187fe83p-1
+-0x1.dce6b232fc21ep-1
+0x1.ee14f4ba14235p-1
+0x1.eb85a30d4a2e5p-1
+0x1.b11031019577cp-2
+0x1.b58be17f9d847p-2
+-0x1.d9cbe370eb0ecp-1
+-0x1.d517b3ce2b655p-1
+-0x1.ec41e5fb51583p-1
+0x1.8df301a855975p-25
+-0x1.e889435c34b7dp-19
+-0x1.134640672cf7ap-2
+0x1.49ae67009c731p-3
+0x1.e80a234204ccep-1
+-0x1.eb9c151577abap-1
+0x1.f0b6320c75315p-1
+0x1.b8ccb51a3d918p-1
+-0x1.98e3649200763p-1
+-0x1.dbe723ecfc7f0p-1
+-0x1.db9dd79228607p-1
+-0x1.dcb17195a4c60p-1
+0x1.dce077ee88b26p-1
+0x1.c85742cc49d4ep-1
+-0x1.815743a3562efp-1
+-0x1.dc9450089dc1dp-1
+0x1.5e56a1bca2c1ep-1
+-0x1.5e48b383d64fbp-1
+-0x1.de4c64b5bc273p-1
+-0x1.f2700673bb386p-1
+-0x1.c1301186b73c3p-18
+-0x1.b17535ce5f5e3p-1
+0x1.400e032ed6125p-3
+-0x1.128c733eb080ap-1
+-0x1.9cf7f3c30c74fp-1
+0x1.dc24f6d5d88e9p-1
+0x1.f78a43cc77de0p-1
+0x1.543a72675a6aap-1
+-0x1.45dd4628eecd9p-24
+0x1.fffd225b95d9fp-1
+-0x1.363de4b85c86dp-3
+-0x1.db6440c16c293p-1
+-0x1.e09c81e7a33a5p-1
+-0x1.af90f6124102cp-1
+0x1.b4106515dc5c5p-2
+-0x1.daa2769ff6e50p-2
+0x1.002e426741e10p-2
+-0x1.ee228647b7dbap-1
+-0x1.22ec95cf2a12dp-1
+-0x1.e93e916c943dbp-1
+-0x1.14b932254ccd8p-9
+-0x1.909622a8afce0p-9
+-0x1.b5b5e40f69460p-1
+-0x1.0b42e197effbap-1
+0x1.3bdc443663478p-1
+0x1.fb7b75d00f267p-1
+-0x1.f06581e9738c7p-22
+0x1.bcb3805a8b0acp-1
+-0x1.9b6ff25e8b37bp-1
+0x1.f9cb94e42bc3dp-1
+0x1.ecd805ed64887p-1
+-0x1.a65c4560a2138p-2
+-0x1.56dff1b743c85p-1
+0x1.e5298138fd89cp-1
+-0x1.156c062335d7dp-1
+0x1.df59064910717p-1
+0x1.af0516501c6d6p-1
+0x1.d2dbb56e8dd5fp-3
+0x1.d0b523fc1ceb1p-1
+0x1.bcf543a18c01fp-1
+-0x1.709413363b142p-26
+-0x1.f8c00391024e6p-1
+0x1.5aa701b2476b0p-1
+0x1.44865784caf4ap-8
+0x1.e998073d61296p-1
+0x1.8eb830a476bb7p-1
+0x1.ff036620f55bbp-1
+-0x1.f64585ccfeb6dp-1
+0x1.ae9611b635f6ep-1
+-0x1.24d9e5b7dfc26p-12
+0x1.9a25d27526795p-1
+-0x1.ec0cf6bf16995p-1
+-0x1.5f64a17e9500dp-2
+-0x1.ef0f34f9f356fp-1
+0x1.974b13f3e4673p-5
+0x1.09de90f53b65ep-1
+-0x1.e1b0771809c44p-1
+-0x1.0b7c366b28640p-1
+-0x1.4e93f479a0cc6p-1
+0x1.cd2b95c2df3d4p-1
+0x1.dd556108d9ee4p-1
+0x1.d9c6a408e180ap-1
+-0x1.852ba5ea09204p-2
+-0x1.6a318265b0ce0p-1
+0x1.8187a65639248p-3
+0x1.bed3226c9cf5ap-2
+-0x1.bf96c5540152cp-1
+-0x1.1c9d850480123p-1
+0x1.d8a65092223e5p-1
+0x1.52c841c5f3d66p-1
+0x1.0498d6413da66p-1
+0x1.dac374698d877p-1
+-0x1.fc1bd618e87e8p-2
+0x1.ebe4c1cec3060p-1
+0x1.983b20ca0cd67p-1
+0x1.ec96e031167b4p-1
+0x1.ea4ee28054fa3p-1
+0x1.edae74719dd10p-1
+-0x1.6162424ab4689p-1
+0x1.d9e3a0d3c4a69p-1
+0x1.f8cc86f846007p-19
+-0x1.f48764fc3cc92p-1
+0x1.ec5d65428be39p-1
+0x1.ebbdc16a6c83cp-1
+0x1.f4021476db864p-1
+-0x1.e537b490c8ebbp-1
+0x1.1a8247328b1eep-3
+0x1.ded3e00b45be7p-1
+-0x1.12fce6ee5e120p-3
+0x1.e8faf051d09cbp-1
+0x1.67c444811ab4dp-3
+-0x1.20b4a1a53c3d5p-1
+0x1.71a901abd5ee1p-3
+0x1.32e467615008ep-22
+-0x1.ea1224bded243p-1
+0x1.de9582df5c7f5p-1
+-0x1.b8e1e27336860p-1
+0x1.ec8561690ba28p-1
+-0x1.daee03fa90d5cp-1
+-0x1.3a3bc41b1b0fcp-2
+0x1.e38b32f89a15fp-1
+0x1.2a7a67c6a7f5fp-1
+0x1.ad2e378f343e2p-14
+-0x1.755da68905d10p-1
+0x1.79c3b49ea70d1p-1
+-0x1.8a29b0ff7fef3p-3
+0x1.e6e791aad1f3ap-1
+0x1.67b372a69cd0bp-3
+0x1.f3d57719d5a66p-1
+0x1.c96a64375fd43p-1
+-0x1.eb6f12c7214f3p-1
+0x1.7c2a71b780eadp-1
+-0x1.ebcbf2f5b7eb8p-1
+0x1.9c2ac06be1e36p-1
+0x1.47b60350a0542p-1
+-0x1.e81352ef49d80p-1
+0x1.e2fde24e7441dp-1
+-0x1.cfc297f098209p-1
+-0x1.9f3a958bc4d8dp-9
+-0x1.ebed30f465969p-1
+0x1.851581e8ee5f8p-8
+0x1.b29d24839a5c2p-1
+-0x1.d996e18e1756fp-1
+-0x1.e945641fd4421p-1
+-0x1.7567a1368f83dp-20
+0x1.eda764a20b53bp-1
+-0x1.d90ed36b67dd1p-1
+-0x1.1721b193cb808p-1
+-0x1.1aa794570d691p-3
+-0x1.486275b31eff1p-1
+-0x1.7932031d98446p-3
+0x1.082044740fb11p-1
+-0x1.bc5005352d983p-1
+-0x1.9e34b40c77bdbp-1
+0x1.f8960738dba77p-3
+0x1.0d8d44f6a38b9p-1
+-0x1.ef2a370ffe51ep-1
+-0x1.885af3b2b9117p-1
+0x1.ab5dd30d3b0d9p-1
+0x1.658572e828c0dp-3
+0x1.00801354b719ap-21
+0x1.ead7729f447e2p-1
+0x1.73fe964bcb9b8p-26
+-0x1.eb9e2463b8a3ap-1
+0x1.dcc7f49496bbbp-1
+0x1.e322464ccedbcp-1
+-0x1.f3f1411a81959p-1
+-0x1.b806d3a207c7fp-2
+-0x1.9e3cf02520c9bp-1
+-0x1.a3903178cc914p-1
+-0x1.9157d3c02c3b2p-1
+-0x1.a828f2fd070e9p-1
+-0x1.dfe122ce59486p-1
+-0x1.e0c5f12e4aee9p-1
+-0x1.096d23efa8b4cp-1
+-0x1.eeb2b02957428p-1
+0x1.9bd135009e628p-1
+0x1.dcfa56e705532p-1
+-0x1.dcc733e36743ap-1
+-0x1.f13ac5b2f066dp-1
+-0x1.ee5a97d9a8b48p-1
+-0x1.2421b26321192p-3
+0x1.4bdfb654355fap-1
+0x1.e9ab41fff09b7p-1
+0x1.6c39f77452a13p-2
+0x1.f2d9a4e18b93ep-1
+0x1.f588f66b070a4p-1
+0x1.c0b604407eb47p-1
+0x1.907b33485084dp-1
+0x1.e58d17977d4c7p-1
+-0x1.e9c1b44e07fecp-1
+0x1.5978b562d5348p-2
+0x1.f69e2232d6a42p-1
+-0x1.ea1b37e291f39p-1
+0x1.a9c704aff0411p-1
+0x1.0f4422ec03b3ap-1
+0x1.0c01d7eb6c807p-1
+-0x1.e24961f09bb8fp-1
+-0x1.6ad805c841fcap-1
+-0x1.f30f95a858a13p-1
+-0x1.7509a50c46facp-13
+0x1.0a4725eca19ecp-1
+0x1.f041143af7d9cp-2
+0x1.c39ee2c592617p-3
+-0x1.b389464f1c401p-1
+-0x1.eeb6a2abaa396p-1
+-0x1.26b3228cfdb15p-1
+-0x1.f7553430f26b9p-1
+-0x1.fbb1f12faf4e4p-1
+0x1.97b404be9b207p-3
+-0x1.6b2935d76744bp-1
+0x1.ee2bd4e26496ap-1
+0x1.69d035f7a7ee7p-8
+-0x1.5adfd2a30ceadp-1
+0x1.81131610d528cp-2
+0x1.81f87126313b8p-1
+-0x1.7cb4d0d3ae749p-1
+0x1.00a5000f3784dp-1
+-0x1.ec020225e8d1ap-1
+-0x1.dcfbc732dc4ccp-1
+-0x1.f54ad24e2bdd7p-2
+0x1.eb4c931e3f233p-1
+0x1.ef6013aa5bd6dp-1
+-0x1.ec4fc7eb42446p-1
+-0x1.963eb08b090e2p-1
+0x1.eb5787014c22cp-1
+-0x1.c474572d53337p-1
+-0x1.7e09139513a33p-26
+-0x1.f9340275d9995p-1
+-0x1.edcf16351be04p-1
+-0x1.7d78a4e9dc91bp-1
+-0x1.1e30752523e09p-2
+0x1.dc4b32a234a23p-1
+-0x1.edbb01a598c24p-1
+0x1.6367c4f49a449p-1
+0x1.eb1db52a22a45p-1
+0x1.e8eba118b0a26p-1
+-0x1.ce8021cd33ff0p-20
+0x1.f988f6376ddcep-1
+0x1.eabac25c2fc1ep-2
+-0x1.e132c034f9071p-1
+0x1.bda2b45f18ea7p-2
+-0x1.eeab70c49e827p-1
+0x1.d85d41c05db82p-1
+0x1.e4003425db812p-16
+-0x1.753ca74c55212p-3
+0x1.98ee323f505cep-1
+0x1.e95be276dd667p-1
+0x1.2287403404baep-1
+0x1.0ed8c38a3bdcep-2
+0x1.c82792be9bbadp-1
+-0x1.38a9d3998d79ap-1
+0x1.e805f6d3a6c5dp-1
+-0x1.32ebc7c55a58ep-1
+-0x1.048b622297845p-13
+-0x1.efb5c6983ac39p-1
+-0x1.415a16a005c76p-20
+-0x1.eb8aa64a05087p-1
+0x1.a18684e94695ap-14
+0x1.de2666acb5762p-1
+0x1.0a79566e358dcp-2
+-0x1.f282f0325a811p-1
+-0x1.3f08a31b67052p-6
+0x1.3a747651ea759p-1
+0x1.8c22845eca245p-2
+0x1.c1aed42df3035p-3
+-0x1.a01057abedfe5p-1
+-0x1.eb57d2b4d4247p-1
+0x1.27a880bdbfcbfp-1
+0x1.d51cd22b5b6cap-1
+0x1.c96de70665e99p-2
+-0x1.afeb916e3177fp-21
+0x1.8e00d6126d657p-2
+0x1.799d63f173a45p-1
+-0x1.cd29463be0ee8p-1
+-0x1.4f47a58e04b54p-1
+0x1.ea2f35262d1a7p-1
+-0x1.279997c5505d9p-1
+0x1.fbe731d9f7db8p-1
+-0x1.60d116a6cc97fp-1
+0x1.e9d9730db6039p-1
+-0x1.78fc83b456074p-2
+-0x1.03c0045400546p-1
+-0x1.f29f3377fe46bp-1
+-0x1.33d676f26127ep-3
+-0x1.efdd474021500p-1
+-0x1.bab9f2ecd85b4p-6
+0x1.c628a3529714fp-3
+0x1.e36ae1b514d1bp-1
+-0x1.db1e13827a88ap-1
+0x1.dbf1b775cf9d2p-1
+0x1.57a975b3f7f83p-2
+0x1.1deb94df7dd48p-2
+-0x1.8f4e44c99669ap-1
+0x1.4ed720c5a163ap-1
+-0x1.db81e304bef8ep-2
+0x1.de5485ca4d9dfp-1
+0x1.db26f3b39fe6bp-1
+0x1.6c88456adc480p-3
+0x1.c5a8961391ccfp-1
+-0x1.b78ea5581fef3p-24
+-0x1.6547c3be6a0acp-3
+0x1.e19d1283e35b5p-1
+0x1.e80e54a58d337p-1
+-0x1.449b6754bba00p-11
+0x1.e41026d50deabp-1
+-0x1.1844f685c97cap-1
+0x1.efa0e345c59b0p-1
+0x1.3121f641ffbd3p-10
+0x1.edb070c60119ap-1
+0x1.a52c94e4dfaa9p-23
+0x1.e5fc97f64aecbp-1
+-0x1.f652e1fdb6a40p-1
+-0x1.fc21417ad3694p-1
+0x1.750fa027faf9ep-1
+-0x1.9260f684b0d63p-3
+0x1.e896c4a4401bcp-1
+-0x1.7e6e516a67284p-2
+0x1.8c32f1a45f352p-3
+0x1.366796f5b5a00p-1
+-0x1.763cb2cf0a32dp-3
+-0x1.ad50f432557fap-1
+0x1.f220a525222a6p-1
+-0x1.e2d4f63884af4p-3
+0x1.7796f74179cbap-1
+-0x1.cd55d3c51d8fep-1
+-0x1.e221669031d28p-1
+-0x1.eeffa2c5a9c49p-1
+0x1.ecf741dda7320p-1
+0x1.a2a1569ae5d32p-1
+-0x1.e680d5195362ep-1
+-0x1.f83452138ebc1p-1
+0x1.30e2369a99e1bp-3
+-0x1.1a18425ff66a7p-1
+0x1.eb7451be325a0p-1
+-0x1.cd4ba71c2a541p-1
+-0x1.dc4f109832464p-1
+-0x1.eb97e24e4691ap-21
+0x1.718a40fa573d8p-3
+0x1.df0c61f2a0f01p-1
+-0x1.ab0051b1239f5p-1
+0x1.070692620b71cp-1
+-0x1.b3cea41f5ebbfp-22
+0x1.fa09813a0f08cp-1
+-0x1.0e9b76f265fe9p-3
+-0x1.dceb234e0d00cp-1
+-0x1.8836556db32e5p-11
+0x1.47d5509f852b6p-2
+0x1.bb4174dfebc1ep-1
+0x1.83be00af14ad6p-10
+-0x1.9a44d54a49874p-1
+-0x1.903962db8447ep-1
+-0x1.ac0763a2833a8p-1
+-0x1.c09d42b039fa3p-1
+0x1.e2fec0234b979p-1
+-0x1.e3f2b40c3e54cp-2
+0x1.dd6694410bcf0p-1
+-0x1.032c51b1d2105p-1
+-0x1.d80bd4a4cf64ap-1
+0x1.f89e41aa2fad5p-1
+-0x1.daf4c6895a475p-2
+-0x1.0579e7d148859p-8
+0x1.e318d24b8b39ep-1
+-0x1.91d2b301a130ep-6
+-0x1.d8d40797b1ffap-1
+-0x1.3ee1c1db473d2p-2
+-0x1.45ebc3d70bdd6p-24
+-0x1.6a73670891036p-1
+-0x1.dd2d72e85c929p-1
+-0x1.c572d1625cc9ap-1
+-0x1.9007645684de8p-1
+-0x1.982b1646a3406p-2
+-0x1.e8dee29e55a00p-1
+-0x1.867e95cfae0a8p-1
+-0x1.57b0e23b39e09p-1
+0x1.04807172fbb6fp-1
+-0x1.70bea3753575bp-1
+-0x1.cc28a3c0fb5ffp-3
+-0x1.0663157daee85p-3
+0x1.d83d9616cffd1p-1
+0x1.d56357592f5acp-2
+0x1.e006175a5233bp-1
+0x1.ded7b522b64c3p-1
+0x1.f11a872f5d26ep-1
+-0x1.e3a22384a6de8p-1
+-0x1.e8316413e3ebdp-1
+-0x1.0da5059829177p-2
+0x1.f67aa7a0b8826p-1
+0x1.eb8604ab96d0bp-1
+-0x1.c1ccb6174f89dp-1
+-0x1.834806f8654c9p-1
+-0x1.ef7701b74636cp-1
+-0x1.e6fc661a4e39bp-1
+0x1.dd3682e648173p-1
+-0x1.7e27e712723ddp-1
+0x1.e12486db8dca7p-6
+-0x1.a7f9c47f84b4bp-11
+0x1.e5dd42f5422e1p-1
+-0x1.7f1a6320cfa79p-1
+0x1.eb14a509edab1p-1
+-0x1.b39b65fdaaaf4p-2
+0x1.edf1a44e79d77p-1
+-0x1.16c4316ff435cp-12
+-0x1.eb0e3015adc06p-1
+0x1.cf1bc071e7b1dp-13
+-0x1.dacfb650325cfp-1
+-0x1.3868c3fb4119cp-3
+-0x1.c2a3b1d7f7890p-1
+-0x1.e64092b0d86f7p-1
+-0x1.53ca0177e6f37p-1
+-0x1.4ea952cfb8453p-25
+-0x1.e84792001e697p-1
+0x1.ef23215f6de12p-1
+-0x1.2152c36f9028dp-1
+0x1.9a5905b3dd7bep-1
+0x1.db5e820db1f0dp-1
+0x1.2dd320b0909e6p-3
+-0x1.027577673d37dp-1
+0x1.e4909407d6b04p-1
+0x1.527324f607a26p-17
+-0x1.ed9414384d45ep-1
+-0x1.7c4f407d91487p-8
+-0x1.eb3f971bcf807p-1
+0x1.d0dc12f7b7649p-18
+0x1.4dcbd35bad403p-1
+0x1.15ad81b482de6p-1
+0x1.e8f0874ac9593p-1
+-0x1.cec574569cb1bp-1
+0x1.ebb2d275b5529p-1
+-0x1.035e76eeac96dp-21
+0x1.eb1e73025e051p-1
+0x1.82b481c2cab01p-1
+0x1.f4d8e628050abp-1
+-0x1.4bc9841532205p-1
+-0x1.a03cd248fa8dbp-3
+-0x1.34a3238e9e3b0p-14
+-0x1.442444137aebep-1
+-0x1.17d6571c1eb38p-9
+-0x1.ed8e345382564p-1
+-0x1.8f2122c52c06bp-1
+-0x1.2e84858cbd9e2p-1
+0x1.ed5ea12bfef39p-1
+0x1.e255d16fe29c9p-1
+-0x1.e7c0a4791e7d1p-1
+0x1.ea9ef4d1cf987p-1
+0x1.bf8761b110b5bp-1
+-0x1.d8ffa13349771p-1
+-0x1.0dd222acc160ap-1
+0x1.828184fbbeaa0p-2
+-0x1.ff5bd6a9242abp-1
+0x1.d91a30bb3e15dp-1
+0x1.c38e7517dd45fp-12
+-0x1.0caa231ede96dp-3
+0x1.bf75f1da5b9f4p-3
+0x1.07c4f43f44017p-1
+0x1.d97165152ffeep-1
+0x1.f565d33b8ac0fp-1
+-0x1.9e2736ae6b655p-13
+-0x1.12528787f6e56p-1
+0x1.1b0912987dcf2p-3
+-0x1.59f3c5b673712p-1
+-0x1.bde56690f6eccp-1
+0x1.d28502cfb2092p-5
+0x1.ddc5738e8f925p-1
+-0x1.7b2d0222d18edp-1
+0x1.495424a43a336p-1
+-0x1.bbee92a22bc1dp-1
+-0x1.e8092359ccf4ap-1
+0x1.d986b716394bap-1
+-0x1.348db24936e14p-1
+-0x1.2c3e37771fce2p-1
+0x1.813c34a44eb1ap-14
+-0x1.dfcb1799d0b1ep-1
+-0x1.148f93639ab8ap-1
+0x1.e9d8e507b6b7dp-1
+0x1.adc4400d2246cp-22
+-0x1.f9941587a0f90p-1
+-0x1.0763c2612613cp-8
+-0x1.ec59c307396f8p-1
+0x1.f8e25686998acp-1
+-0x1.d1b2d7ceae413p-1
+-0x1.15af64d6bc1c9p-17
+-0x1.4f4065a22973ap-23
+-0x1.eb6ea004c88a2p-1
+-0x1.b2daa6e18bec1p-1
+-0x1.f95c5323bece4p-2
+0x1.e1d682232cc70p-1
+0x1.ecec70e666347p-1
+-0x1.d0e1b0d47cce6p-1
+-0x1.ef7c05da00ccbp-1
+0x1.8f83f2b021978p-1
+-0x1.18204301e710fp-3
+0x1.eac881dd6e573p-1
+0x1.46f83671cca25p-1
+0x1.e30cf7c07f903p-1
+-0x1.eba9678c3f1c2p-1
+0x1.e64eb73adb2c1p-1
+0x1.bd81501f6c6dbp-1
+0x1.6c6bd2dd525cdp-1
+0x1.205b7320c006cp-4
+0x1.ff04d61b0df50p-1
+-0x1.eeff51ab9dd14p-1
+-0x1.948a52ed5c31bp-5
+-0x1.e1c5c6487033bp-1
+-0x1.e217c080561c1p-1
+-0x1.3248c214e0d26p-3
+0x1.ed0872a63647dp-1
+0x1.e851875a532ddp-1
+0x1.e7ab52befacc0p-1
+-0x1.259fe08399b90p-3
+-0x1.ededb18a270f5p-1
+0x1.70704180d156ap-1
+0x1.9f8db14d87da8p-1
+0x1.e86395d65171ap-1
+-0x1.b845d7262e0bap-3
+0x1.4183f2511d03ep-1
+0x1.61a7f6c5ef7d1p-22
+-0x1.0bf534b51583ap-2
+-0x1.ebfb153952f46p-1
+-0x1.f432a5c40b5aep-1
+0x1.de1315467998fp-1
+0x1.043b03cb8172fp-3
+0x1.ef435338a09fbp-1
+-0x1.e3682482abf80p-2
+0x1.8cb1a630bb9c2p-1
+0x1.2118379e034c2p-19
+0x1.f7d1a7b4d3511p-2
+-0x1.befed649c5772p-1
+-0x1.ea5613210aa70p-1
+-0x1.5b9f05ea1adb3p-3
+0x1.da3dc7fb7e865p-1
+-0x1.56f2e58d53fc9p-1
+-0x1.a4c0d4697fa72p-1
+-0x1.4fe86735879b5p-25
+-0x1.dbe9a120dc24dp-1
+0x1.7e1f516ae8558p-1
+-0x1.0ccec227b1aa8p-1
+0x1.5a21f14dfa7b0p-1
+-0x1.98c8e5b444e4dp-1
+-0x1.a390457106bfbp-1
+0x1.7834478f6c2ccp-1
+-0x1.d355d23d9f129p-1
+-0x1.dfbdc0246898dp-1
+0x1.0de5e5de3ee03p-23
+-0x1.48701720e6bd6p-3
+0x1.da1b02240fa23p-1
+-0x1.ff76554d1cd62p-1
+0x1.5cf30257670ddp-1
+0x1.f37672c4384dap-1
+-0x1.20811778def78p-14
+-0x1.ea363656402fcp-1
+0x1.ef8c5245acfe3p-1
+-0x1.d9bcb4e8d3e79p-1
+-0x1.1372f51c095bep-1
+-0x1.e6d7e64d3a2a2p-1
+0x1.8d887665a4aa4p-12
+-0x1.543b1625c6f47p-3
+0x1.e2cfd418793d3p-1
+0x1.e2365579a754ep-1
+-0x1.806dd0823096dp-1
+0x1.057365e07e692p-2
+0x1.e13e27d7f0352p-1
+-0x1.e170f02eef343p-1
+-0x1.8a8b96c57e126p-1
+0x1.300c178b2707bp-2
+0x1.84277430fd97ep-2
+0x1.ebace7e63c155p-1
+0x1.7e2db343d2518p-6
+-0x1.f53d46b53474cp-1
+0x1.c0e313323e560p-14
+-0x1.445786093a311p-1
+-0x1.a073961b21017p-3
+0x1.eb2c92dd8595ap-1
+-0x1.dfd9b023c2058p-1
+-0x1.9cc0608e5c256p-3
+-0x1.1e8a967a738a4p-1
+0x1.df31c544e9d67p-1
+0x1.d2fad1936930ep-1
+0x1.d8d4c3d683cd2p-1
+0x1.e8712202731adp-1
+-0x1.ea4834441eb39p-1
+0x1.eda472e60d745p-1
+0x1.e25ac2048fb9ap-1
+0x1.4a70d01fd57a4p-1
+-0x1.1c3704a91d838p-1
+-0x1.df8e14d8335ccp-1
+-0x1.e95d04451bcd5p-1
+-0x1.ea74f086de3c2p-1
+0x1.dda9e26e84162p-1
+0x1.74f4f4a9a7630p-1
+-0x1.bb4fb52218d17p-1
+0x1.4f6f80226f31ap-1
+-0x1.684814485308cp-3
+0x1.7fc4e1d16dcf5p-1
+-0x1.fe6bd006411a7p-1
+-0x1.e0f5e654664e4p-1
+0x1.4dd366975a5b3p-2
+0x1.d94e10f7f2ec8p-1
+0x1.d8c8d21926f4cp-1
+0x1.571e352fdd0f0p-2
+0x1.ea0f558903c1ap-1
+0x1.f6c9d5f09ac9ep-2
+0x1.a3c463d5b6e67p-1
+0x1.48352432fcd1ep-5
+0x1.bda1811e8c6b1p-14
+-0x1.ee04d3c3f2263p-1
+0x1.e58f617f2d384p-1
+0x1.8e41e2bcbf28ep-3
+0x1.191df1d6a15d8p-1
+0x1.b0c6938c36b0ap-1
+-0x1.d944534af1d02p-1
+0x1.31642078c9c6dp-2
+-0x1.841801a2f578cp-1
+0x1.ebbb1323e8b84p-1
+0x1.e12481b18bc72p-1
+0x1.fa64112d9b7bdp-1
+0x1.682c32ff96a0fp-1
+0x1.31dd87a025af2p-1
+0x1.df5f54d95cc0dp-1
+0x1.4b9ce3268e639p-2
+0x1.c206d0139362fp-1
+0x1.e3a8a24e59ea9p-13
+0x1.dfd890e7db3d1p-9
+-0x1.bb5997a01dc09p-1
+-0x1.9da2876b31f04p-1
+-0x1.205fe30c96672p-1
+0x1.fa4b1032a01ecp-1
+0x1.e2db71253b231p-1
+-0x1.5cd7b6880daedp-3
+-0x1.dd712109d9432p-1
+-0x1.f4c2f4098a73bp-3
+-0x1.df4df687c5149p-1
+0x1.a7184731a11b4p-1
+-0x1.b717a69cb0326p-1
+0x1.eedaa2dbb184cp-1
+-0x1.fb6f90001c47fp-1
+-0x1.4141539f32f56p-1
+-0x1.9da4077805769p-1
+-0x1.ab8c92a8ec751p-1
+-0x1.fb9d60929751ep-1
+-0x1.e1f9e6fd5632ap-1
+-0x1.ef20c3a53e72fp-1
+0x1.3a55c400f2026p-1
+0x1.bc55404efb12dp-19
+0x1.82c2a5d140048p-2
+0x1.f613e22df463bp-1
+0x1.2c6291d7f2ad7p-2
+0x1.2319304ed36b5p-1
+0x1.ef526669efbebp-1
+-0x1.b3dec74769b6fp-1
+-0x1.7fa021510350ep-1
+-0x1.c22a90b77021ap-24
+-0x1.e89606e911505p-1
+-0x1.ee05e10877512p-1
+-0x1.a748b03895981p-1
+0x1.db4745b9604cdp-1
+0x1.0eab126351bb9p-3
+0x1.2b74811bfc23dp-2
+-0x1.425187f18c762p-18
+0x1.afbbc6e1f9f84p-1
+-0x1.e8ac5756ef915p-1
+-0x1.0f9400d75348bp-16
+0x1.916dc64eee2aap-1
+0x1.c88b2415431cbp-23
+0x1.84a360ccf288dp-20
+0x1.7eff5496b7ed2p-21
+0x1.4360a7a7b5c14p-23
+0x1.71374498ed714p-26
diff --git a/benchtests/libmvec/asinpif-inputs b/benchtests/libmvec/asinpif-inputs
new file mode 100644
index 0000000..1d972db
--- /dev/null
+++ b/benchtests/libmvec/asinpif-inputs
@@ -0,0 +1,2710 @@
+## args: float
+## ret: float
+## includes: math.h
+# Random inputs in [-1,1]
+## name: workload-random
+-0x1.37689p-4
+0x1.27d46cp-1
+-0x1.90dfap-1
+-0x1.185774p-2
+-0x1.e9f48p-1
+0x1.da064p-4
+-0x1.fb2ddep-1
+-0x1.a958c8p-1
+0x1.c36d6p-2
+-0x1.a78216p-1
+-0x1.6504ep-5
+-0x1.ceed3p-3
+-0x1.b94f22p-1
+-0x1.63a9ecp-2
+0x1.3f076cp-1
+0x1.d50e2p-1
+-0x1.ae7bcp-5
+-0x1.8773dcp-1
+0x1.867f78p-2
+0x1.ecbbc8p-2
+-0x1.531578p-2
+-0x1.024a9cp-1
+0x1.049198p-1
+-0x1.f980dp-3
+0x1.921d7p-1
+-0x1.9605c4p-1
+0x1.20af3cp-1
+0x1.8f5078p-1
+0x1.82ecb8p-1
+-0x1.3430b8p-3
+0x1.33df3p-3
+0x1.ee15b8p-2
+0x1.ee848p-6
+0x1.996e18p-2
+-0x1.7de504p-2
+-0x1.c9c4c2p-1
+0x1.b3f06p-1
+0x1.ba198p-3
+-0x1.c8b838p-3
+-0x1.3544fcp-1
+0x1.8753dp-1
+0x1.f09e38p-2
+0x1.07c1dp-1
+-0x1.e22ac6p-1
+0x1.933c8cp-1
+0x1.44c56p-4
+-0x1.4ceac2p-1
+0x1.5bb08p-3
+-0x1.6d7bbp-3
+-0x1.6fad88p-1
+0x1.39163cp-1
+-0x1.666058p-3
+-0x1.317d1cp-1
+0x1.da3068p-2
+-0x1.b33778p-2
+0x1.c6244p-3
+0x1.a2424p-5
+0x1.fba728p-1
+0x1.f9776p-3
+0x1.c0a3f8p-2
+-0x1.023c58p-1
+-0x1.f929eap-1
+0x1.efacacp-1
+0x1.497edcp-1
+-0x1.95f4dp-1
+-0x1.4ebb14p-1
+0x1.b2306p-3
+-0x1.c94a84p-2
+-0x1.bb63c4p-2
+0x1.7b755cp-1
+0x1.745f7p-3
+-0x1.22d376p-1
+-0x1.6c4cccp-1
+0x1.3a16cp-2
+0x1.29153cp-1
+-0x1.d0544cp-2
+-0x1.a8b6p-7
+-0x1.76b97cp-2
+0x1.2ef4cp-2
+0x1.0acfb8p-2
+-0x1.64088cp-1
+0x1.fde8c8p-2
+-0x1.ddd064p-1
+0x1.5e0ec8p-2
+0x1.8bb33p-3
+-0x1.4ade52p-1
+-0x1.5d77b8p-3
+0x1.774cap-3
+0x1.8aa4p-2
+0x1.c813p-4
+0x1.2a9528p-1
+0x1.b29bp-4
+0x1.5cbe24p-1
+-0x1.cfd996p-1
+-0x1.21a5d8p-2
+0x1.14de28p-2
+-0x1.1f4d34p-1
+-0x1.8b8b34p-2
+-0x1.8ed214p-1
+0x1.e5db54p-1
+0x1.508498p-2
+0x1.f6981p-3
+0x1.047194p-1
+0x1.e4aep-1
+0x1.5fe5bcp-1
+-0x1.502bcp-2
+0x1.f99c88p-1
+0x1.a4abfp-2
+-0x1.8d0598p-2
+-0x1.e5353ap-1
+-0x1.6dd92p-5
+0x1.8d275p-3
+0x1.68c848p-2
+-0x1.8f65ccp-2
+-0x1.b1b604p-1
+-0x1.f0302cp-2
+-0x1.dacf26p-1
+-0x1.04c764p-1
+-0x1.bbc298p-1
+0x1.efde0cp-1
+-0x1.40cd24p-2
+0x1.77d53p-2
+0x1.92ea9p-3
+-0x1.a3f6b8p-3
+-0x1.df50dcp-1
+0x1.cb3b44p-1
+0x1.3c8cf8p-1
+0x1.1b695cp-1
+-0x1.4629a4p-1
+0x1.d628b8p-1
+0x1.89086cp-1
+0x1.abed4p-3
+-0x1.468e6p-1
+0x1.8c689p-3
+0x1.b7645p-1
+0x1.b12c2p-1
+0x1.9fc2ep-3
+-0x1.efa2dp-4
+-0x1.e5c47ep-1
+0x1.a0d6ap-1
+-0x1.7e7368p-2
+0x1.53008p-2
+0x1.90081cp-1
+-0x1.bbd902p-1
+-0x1.b20f1p-2
+0x1.038ad8p-2
+0x1.6e0dbp-1
+0x1.71d08p-4
+-0x1.25492p-4
+0x1.f7534p-4
+0x1.8286b8p-1
+-0x1.14c6bp-3
+-0x1.63c66p-2
+-0x1.032d04p-2
+-0x1.44034p-2
+0x1.cf7eb4p-1
+-0x1.96d3ep-5
+-0x1.5ce8c8p-3
+-0x1.2d0604p-1
+-0x1.acbf1p-2
+0x1.cbff78p-1
+-0x1.eaf19ep-1
+-0x1.c6739cp-2
+-0x1.938466p-1
+-0x1.b6facp-1
+-0x1.4adb8cp-1
+-0x1.38a9b8p-1
+-0x1.36a054p-2
+-0x1.cf16dcp-2
+-0x1.1a3dc4p-1
+0x1.2184ap-1
+0x1.322d2p-1
+-0x1.2a38p-7
+-0x1.f9148p-6
+0x1.8a5cep-4
+-0x1.74a2b4p-1
+0x1.b6c034p-1
+0x1.f91008p-1
+0x1.4b95ap-1
+-0x1.fe95ap-1
+-0x1.a36132p-1
+-0x1.f73ddp-1
+-0x1.4f616p-5
+-0x1.0896a4p-1
+-0x1.1bb7cp-5
+0x1.99d67p-1
+0x1.bc7facp-1
+-0x1.a7299cp-1
+-0x1.9a5de4p-2
+-0x1.f8f434p-1
+0x1.748758p-1
+-0x1.ce7572p-1
+0x1.83890cp-1
+-0x1.6e8p-8
+0x1.0c5868p-2
+0x1.c0456cp-1
+-0x1.b5d36p-4
+-0x1.35b43cp-1
+0x1.db1bdp-3
+0x1.aae6cp-3
+0x1.b1affp-3
+0x1.e23d04p-1
+0x1.34019p-2
+-0x1.f3ef94p-1
+-0x1.76e33cp-1
+-0x1.c0cf8p-2
+0x1.228688p-1
+-0x1.b6f28ap-1
+0x1.c60cp-4
+0x1.12e9bp-1
+0x1.45f2ap-2
+0x1.06da58p-1
+0x1.4ecacp-2
+-0x1.a60358p-3
+-0x1.bd1244p-2
+-0x1.c66724p-2
+0x1.910eacp-1
+-0x1.64c0f8p-1
+-0x1.1d40cp-5
+-0x1.bad40ep-1
+0x1.55f428p-2
+0x1.51d768p-2
+-0x1.b37a62p-1
+0x1.662f2p-2
+0x1.4922bcp-1
+0x1.fd7eacp-1
+-0x1.1fdf4cp-2
+-0x1.2d9e8p-6
+0x1.4a577cp-1
+0x1.22c6ep-4
+0x1.0822p-6
+0x1.dc2edp-2
+-0x1.6a7b9ap-1
+0x1.e86528p-1
+-0x1.77934ap-1
+-0x1.55d92p-5
+-0x1.d2b238p-2
+-0x1.966f34p-2
+0x1.14f048p-2
+0x1.a6a76cp-1
+-0x1.32cf4p-3
+0x1.2830ccp-1
+0x1.602b8p-5
+-0x1.d358cep-1
+0x1.b6f1a8p-2
+-0x1.b359dp-1
+0x1.2f33f4p-1
+-0x1.2cf91p-4
+0x1.82408p-2
+0x1.8eb61cp-1
+-0x1.19224cp-1
+-0x1.a2c94cp-2
+-0x1.afb02p-4
+-0x1.70c83cp-1
+0x1.151ab4p-1
+-0x1.1f297cp-1
+0x1.cb1d8cp-1
+0x1.a31fd8p-2
+0x1.40dd4p-4
+-0x1.35224cp-1
+0x1.5c7038p-2
+-0x1.1e2218p-3
+0x1.d3debcp-1
+0x1.4a6fe4p-1
+0x1.1edd54p-1
+-0x1.068b08p-3
+0x1.d833ap-3
+0x1.7b7514p-1
+0x1.c3adp-6
+0x1.a094bp-1
+0x1.2a1ap-2
+0x1.a44768p-2
+-0x1.828514p-2
+-0x1.f42664p-2
+0x1.5d142p-3
+-0x1.537a84p-1
+0x1.6babb8p-1
+0x1.a0013p-2
+-0x1.485364p-2
+0x1.fc67f8p-2
+0x1.311f4p-4
+-0x1.a20f2p-5
+-0x1.03d2c8p-1
+-0x1.0312f4p-2
+-0x1.5aadacp-1
+-0x1.6ab13p-1
+0x1.202268p-1
+-0x1.b41f58p-1
+0x1.4aa5f8p-2
+-0x1.9d6548p-1
+0x1.c4fd7p-1
+0x1.94d4dp-3
+-0x1.e5c32p-1
+-0x1.fab1ep-4
+0x1.60a6cp-5
+-0x1.714f98p-2
+-0x1.2af858p-2
+0x1.906c6p-1
+0x1.3f7a8p-1
+0x1.3d0b1p-3
+-0x1.910aacp-1
+-0x1.1cddcp-6
+-0x1.9b1a42p-1
+0x1.3e08fcp-1
+-0x1.e90a98p-1
+0x1.b68948p-2
+0x1.db56cp-1
+0x1.f652ep-1
+-0x1.b0e802p-1
+0x1.ee689p-1
+-0x1.863054p-2
+-0x1.c1c65cp-2
+0x1.796968p-1
+-0x1.78f604p-1
+0x1.d0e34p-2
+-0x1.af74bp-4
+0x1.5373bp-1
+-0x1.bcb36p-3
+-0x1.59e264p-2
+0x1.f3602p-3
+0x1.fc5384p-1
+-0x1.988d2p-2
+0x1.54d6c4p-1
+-0x1.cc9be4p-1
+0x1.5b15ep-4
+0x1.2fa1b4p-1
+0x1.e0dff8p-2
+-0x1.2dffc8p-3
+-0x1.9a02fep-1
+-0x1.0d5d8p-6
+-0x1.620428p-1
+0x1.e854ap-1
+0x1.56f0e8p-2
+0x1.49577p-3
+-0x1.9b2fdcp-2
+-0x1.6efc94p-2
+0x1.542518p-2
+0x1.fb1c8p-3
+-0x1.8ccf4p-5
+0x1.79114p-2
+-0x1.cd65c6p-1
+0x1.1debcp-5
+0x1.56d078p-1
+-0x1.cebe5cp-2
+0x1.3fca8p-1
+-0x1.bcb9c8p-2
+0x1.08df08p-1
+0x1.4272c4p-1
+-0x1.4b5038p-2
+0x1.ceccc8p-2
+-0x1.352478p-3
+-0x1.c515ep-1
+-0x1.7f6f34p-1
+0x1.c0d258p-2
+0x1.d807p-3
+0x1.c76a6p-2
+-0x1.6fc70cp-1
+0x1.bc7ep-2
+-0x1.50e3e4p-1
+0x1.644a7p-2
+-0x1.ca7db4p-1
+0x1.60ea5p-3
+-0x1.13aa8cp-2
+-0x1.2b23p-3
+-0x1.c8ac98p-1
+-0x1.c52ad8p-1
+-0x1.27eep-8
+-0x1.e1347ap-1
+-0x1.976e86p-1
+0x1.bdf25p-3
+-0x1.86408ap-1
+0x1.ae7cp-9
+-0x1.fa1c2p-2
+0x1.300ccp-1
+0x1.1acc08p-1
+-0x1.cd1fbp-3
+0x1.4d76f8p-1
+-0x1.da18ap-1
+0x1.b7f5fp-1
+0x1.e73828p-2
+-0x1.71e318p-2
+0x1.98cd78p-2
+-0x1.a5562p-4
+0x1.101ep-8
+-0x1.d5feaep-1
+-0x1.400b7p-4
+0x1.a40768p-1
+-0x1.c70018p-2
+-0x1.b1b094p-2
+0x1.c7ee8p-3
+0x1.c9b948p-1
+0x1.4a8d28p-2
+0x1.1df308p-1
+-0x1.45eb1p-3
+0x1.d68fbcp-1
+0x1.75b38p-1
+0x1.3bb7fcp-1
+0x1.d3518p-2
+0x1.dbed68p-2
+0x1.1b18c4p-1
+-0x1.9a6fc2p-1
+0x1.0b8e78p-1
+0x1.5f9d6p-1
+0x1.f624bp-2
+-0x1.485068p-1
+0x1.a6ea5p-3
+0x1.da0cfcp-1
+0x1.4769c8p-2
+-0x1.fbbb64p-1
+0x1.1284ap-4
+-0x1.c856bp-3
+-0x1.b42e98p-2
+0x1.c1adp-1
+0x1.5ccd7p-3
+0x1.4aa7p-2
+0x1.a0813p-1
+0x1.37aep-2
+0x1.349f4p-5
+-0x1.a7b4a6p-1
+0x1.48fbbcp-1
+0x1.9edfa8p-2
+-0x1.4c297cp-2
+0x1.957dfp-1
+-0x1.22354p-5
+-0x1.463cep-3
+-0x1.a6e74ep-1
+-0x1.481b8p-2
+0x1.700a74p-1
+-0x1.1224c4p-2
+0x1.70676p-2
+-0x1.0860d8p-1
+-0x1.73a32p-3
+0x1.3550d8p-1
+0x1.eb288p-1
+-0x1.47a144p-2
+0x1.55b63p-3
+-0x1.af1e4cp-2
+-0x1.8bc018p-2
+0x1.62d828p-2
+-0x1.1940fp-1
+0x1.231d7p-3
+0x1.9aa72cp-1
+-0x1.b7ebd8p-1
+-0x1.ecb338p-2
+0x1.623cp-8
+0x1.610cep-3
+0x1.174dap-1
+-0x1.5d4124p-2
+-0x1.303358p-3
+0x1.03b974p-1
+-0x1.85dc48p-3
+0x1.d754b4p-1
+-0x1.7b402cp-2
+-0x1.f40f86p-1
+0x1.f0065cp-1
+0x1.e0cccp-2
+0x1.4e4a0cp-1
+0x1.5ef76p-1
+-0x1.9f85dp-2
+0x1.58bc3cp-1
+0x1.ff0304p-1
+-0x1.bf9884p-1
+-0x1.f240d8p-1
+-0x1.2db01p-2
+0x1.da51cp-2
+-0x1.314deep-1
+-0x1.62a7bp-4
+0x1.99fdfp-2
+0x1.e0cefp-1
+-0x1.051bfp-4
+0x1.645908p-1
+-0x1.faecd8p-1
+-0x1.8f9794p-1
+-0x1.389558p-1
+0x1.3518d8p-2
+-0x1.cc007p-2
+0x1.752c6p-3
+-0x1.c19054p-2
+0x1.1e2818p-2
+-0x1.d1c66p-4
+0x1.5fa3ep-2
+-0x1.336cc4p-1
+0x1.a8c36p-4
+0x1.4b6b8p-2
+-0x1.f52718p-3
+-0x1.dc9354p-1
+0x1.77238p-2
+-0x1.b779acp-1
+-0x1.5dbd08p-3
+0x1.ec60dp-2
+0x1.73945p-2
+-0x1.0586f4p-1
+0x1.88ee74p-1
+0x1.787e3p-3
+-0x1.3e35d4p-1
+0x1.42dadcp-1
+-0x1.62259p-4
+-0x1.e949eap-1
+0x1.22535p-2
+0x1.012688p-1
+0x1.f51bcp-2
+0x1.8628p-3
+0x1.24eccp-4
+0x1.3c45acp-1
+0x1.ded8fp-2
+-0x1.4c06e4p-2
+0x1.35e6ep-1
+-0x1.d180e4p-2
+-0x1.8cc026p-1
+-0x1.269aa4p-2
+0x1.22475p-2
+-0x1.82eaa4p-2
+-0x1.7244cp-1
+-0x1.52e518p-2
+0x1.0b17a4p-1
+-0x1.505676p-1
+-0x1.c358f2p-1
+-0x1.20a528p-1
+0x1.4bd94p-3
+0x1.95be5cp-1
+0x1.ef4ca8p-1
+-0x1.3073ep-5
+-0x1.6108bp-1
+-0x1.57f004p-1
+0x1.3711dp-1
+-0x1.0502b4p-2
+0x1.a2af5p-1
+0x1.1e195p-2
+0x1.58f938p-1
+-0x1.f6fddcp-2
+-0x1.a4b574p-1
+-0x1.4cc0ap-3
+0x1.b69aap-3
+0x1.78f198p-2
+0x1.01e83p-2
+-0x1.41f7b8p-1
+0x1.d6faep-4
+-0x1.5530dp-4
+-0x1.eb38c6p-1
+-0x1.8b5af4p-2
+0x1.bccb08p-2
+0x1.14b4b4p-1
+-0x1.62612p-1
+-0x1.603bbcp-1
+-0x1.445308p-3
+-0x1.be4bbep-1
+0x1.bf2a98p-2
+-0x1.0a7428p-2
+-0x1.a82ccp-5
+-0x1.e9b1d2p-1
+0x1.25a1ap-1
+-0x1.620334p-1
+-0x1.b97ef8p-2
+-0x1.6bd228p-1
+-0x1.4e0172p-1
+0x1.bacb3cp-1
+0x1.a03bfp-3
+0x1.c22c7p-3
+-0x1.61178p-1
+0x1.93dcp-8
+0x1.cd7d34p-1
+-0x1.889da8p-3
+-0x1.3f16f8p-3
+-0x1.0ffa1p-4
+0x1.267p-5
+0x1.baf1ep-1
+0x1.10af4p-5
+0x1.b6a964p-1
+-0x1.0b3c9p-1
+0x1.d6fb4p-5
+-0x1.d14f14p-2
+-0x1.c5d44p-5
+0x1.dacb7cp-1
+-0x1.336c6p-4
+0x1.c07a68p-2
+0x1.15b108p-1
+0x1.c066d8p-1
+-0x1.237104p-2
+-0x1.c830ep-3
+-0x1.191a2p-3
+-0x1.a76de2p-1
+-0x1.437c4p-3
+-0x1.d2ddf6p-1
+-0x1.b3f36ep-1
+-0x1.336398p-1
+0x1.b2fb8p-2
+0x1.5988c4p-1
+-0x1.f504cep-1
+-0x1.17e10ap-1
+0x1.eab4f8p-1
+0x1.c5c38p-4
+-0x1.42e274p-1
+0x1.5e535p-3
+-0x1.96961cp-2
+0x1.ca97ecp-1
+0x1.3fc544p-1
+0x1.00294p-4
+0x1.ec4bdcp-1
+0x1.059a4p-3
+-0x1.19731p-1
+0x1.3e53ep-3
+0x1.811e44p-1
+0x1.729dbp-3
+-0x1.d898fcp-1
+-0x1.d04fe2p-1
+-0x1.572facp-2
+0x1.6dad1cp-1
+-0x1.e4acecp-2
+-0x1.09ffc8p-1
+0x1.92ac6p-2
+-0x1.6c9858p-3
+0x1.180234p-1
+-0x1.ba1c8ep-1
+-0x1.be4aap-1
+-0x1.745c0ap-1
+0x1.774facp-1
+-0x1.8f259p-3
+-0x1.0c729p-3
+-0x1.089d78p-2
+-0x1.3c8c2p-1
+0x1.152c4p-3
+-0x1.585ddcp-2
+-0x1.7d5294p-2
+0x1.49f5ccp-1
+0x1.67daep-1
+0x1.f52p-9
+-0x1.73f4b8p-3
+-0x1.a1a508p-3
+-0x1.9082dp-3
+0x1.ede6cp-4
+0x1.ce41ep-4
+-0x1.5ec074p-2
+0x1.c012cp-4
+0x1.3780f8p-2
+0x1.48706p-3
+-0x1.8c48p-6
+0x1.753aap-1
+-0x1.252d1p-3
+0x1.6d55cp-4
+-0x1.3ef29ap-1
+-0x1.34597p-1
+-0x1.f08e88p-3
+0x1.73f448p-1
+0x1.bc18f8p-1
+0x1.3ea924p-1
+0x1.7cc66p-2
+-0x1.2a0998p-1
+0x1.21b55cp-1
+-0x1.4b46cp-6
+0x1.856768p-2
+-0x1.d46baap-1
+-0x1.5792fp-2
+0x1.67a0bp-3
+-0x1.9d2c54p-2
+0x1.1e715p-2
+-0x1.9f488cp-2
+0x1.aec088p-1
+-0x1.f8ecap-3
+-0x1.5b76p-7
+-0x1.acfb6p-5
+-0x1.a8d3acp-1
+-0x1.a4e2e8p-3
+0x1.bf0ddcp-1
+-0x1.0e7454p-1
+-0x1.574e1cp-1
+-0x1.1a78f4p-1
+-0x1.cb6364p-1
+-0x1.389e04p-1
+-0x1.b443p-1
+0x1.762ae8p-2
+0x1.4ba698p-1
+-0x1.3ef336p-1
+-0x1.9f951p-1
+0x1.b9feap-3
+-0x1.fc913p-2
+0x1.69ffp-7
+0x1.47f8ep-4
+0x1.7e923p-3
+-0x1.964ea4p-1
+-0x1.d29d48p-2
+0x1.ed2d1p-1
+-0x1.1b50ap-2
+-0x1.a86e4p-1
+0x1.02b1e4p-1
+0x1.2a129p-1
+0x1.24e9dp-3
+0x1.6f879p-2
+0x1.712d2p-4
+-0x1.058628p-3
+0x1.0c8ca8p-2
+-0x1.87d2fcp-1
+0x1.b20ea4p-1
+0x1.8092p-4
+-0x1.44954cp-2
+-0x1.0256ep-5
+0x1.a7397p-1
+-0x1.92c16cp-1
+-0x1.d2e19ap-1
+-0x1.a893d4p-1
+-0x1.30b7p-3
+0x1.c7fp-1
+-0x1.d01fccp-1
+-0x1.16c40cp-1
+0x1.8cebcp-3
+0x1.e7f2fp-1
+0x1.79f2a8p-1
+-0x1.36082cp-2
+0x1.0596bcp-1
+0x1.70f0bp-3
+-0x1.98e10ap-1
+0x1.d2bfp-3
+-0x1.fa70d2p-1
+0x1.633fap-3
+-0x1.50ebcp-6
+0x1.6b8948p-2
+-0x1.4c6748p-1
+0x1.7bc288p-2
+-0x1.42ce8p-6
+0x1.eb4c74p-1
+0x1.6f014p-3
+-0x1.59556cp-2
+-0x1.32719cp-1
+-0x1.e00102p-1
+-0x1.866498p-3
+-0x1.e45088p-1
+-0x1.c81c7cp-2
+-0x1.ab5e74p-1
+0x1.ad51bp-2
+0x1.2203ep-1
+0x1.497458p-1
+0x1.4e2594p-1
+0x1.2d1eap-1
+0x1.06bd2p-1
+0x1.10b64p-1
+-0x1.2dc09cp-2
+-0x1.df841p-2
+0x1.4d166p-3
+-0x1.db55e8p-1
+0x1.c00bfp-2
+0x1.cee648p-2
+-0x1.57d26p-5
+0x1.28063p-3
+-0x1.2da1bp-4
+0x1.b42334p-1
+0x1.cf5b6p-2
+-0x1.cab212p-1
+-0x1.91e42p-3
+0x1.29a69cp-1
+-0x1.faec6ap-1
+-0x1.820444p-2
+0x1.6554cp-2
+0x1.3bb2f8p-2
+0x1.ec814p-2
+0x1.d67038p-1
+-0x1.4b8388p-2
+0x1.e7226cp-1
+0x1.8044p-8
+-0x1.441454p-2
+0x1.4bc5p-1
+-0x1.960eb8p-2
+-0x1.eefc8p-1
+-0x1.11a7bcp-2
+-0x1.72177cp-1
+0x1.ca3ecp-5
+0x1.2d8e1p-2
+-0x1.e9aa38p-2
+-0x1.b16c2p-1
+-0x1.8ac698p-3
+0x1.b28fa8p-2
+0x1.2923ap-4
+0x1.be74p-8
+0x1.c9e2bp-3
+0x1.6f97ccp-1
+0x1.c159ap-1
+-0x1.048b8p-1
+0x1.d7b83p-2
+0x1.cb66ap-1
+-0x1.7baa9p-4
+-0x1.9df8p-11
+0x1.fb8318p-2
+-0x1.786afp-4
+-0x1.4a4d58p-3
+-0x1.82b0d4p-2
+0x1.c7c358p-2
+0x1.c11134p-1
+-0x1.c8063cp-1
+-0x1.e122fcp-2
+0x1.0d52ep-3
+0x1.5aaf2p-3
+-0x1.525834p-1
+-0x1.647dc4p-1
+-0x1.d4ea4p-4
+0x1.8a8058p-2
+0x1.2eeb4cp-1
+0x1.de5414p-1
+-0x1.3870a8p-1
+-0x1.1634ep-3
+-0x1.132dp-6
+-0x1.8d9034p-1
+0x1.c01e44p-1
+0x1.45168cp-1
+-0x1.af79cp-4
+0x1.534778p-2
+0x1.f98dd4p-1
+-0x1.9e1f2cp-2
+0x1.ad6cf4p-1
+0x1.ffdffp-2
+0x1.68d7c8p-1
+0x1.4957cp-5
+-0x1.e8899cp-1
+-0x1.3651b4p-1
+0x1.bd3788p-2
+0x1.1537ep-3
+0x1.3c80fcp-1
+-0x1.412e88p-1
+-0x1.8f432p-1
+0x1.eab8f8p-2
+0x1.1d1e8p-1
+0x1.cd554p-3
+-0x1.68003p-2
+-0x1.d5e236p-1
+0x1.3b17e4p-1
+-0x1.eac918p-2
+-0x1.4fc978p-3
+-0x1.20d5cp-5
+-0x1.8cac6p-5
+-0x1.0317a8p-1
+-0x1.7658ap-1
+-0x1.4ba67cp-2
+0x1.d27d8p-4
+0x1.01782p-2
+0x1.63cce4p-1
+-0x1.3fc128p-1
+-0x1.ad2272p-1
+-0x1.067448p-2
+-0x1.62ee5p-3
+0x1.3a871p-1
+-0x1.1a78e8p-1
+-0x1.a09808p-2
+-0x1.fb448ep-1
+-0x1.65e28p-4
+0x1.ae434p-4
+0x1.aa658p-5
+0x1.2c988p-1
+-0x1.4858e4p-2
+0x1.1319f8p-1
+-0x1.f37434p-1
+-0x1.4c38a4p-2
+0x1.9efd9p-3
+-0x1.be40e4p-2
+0x1.cb20a4p-1
+0x1.89e764p-1
+-0x1.1c4db8p-3
+-0x1.72b304p-1
+0x1.1bc24p-1
+-0x1.093ep-8
+-0x1.3a502p-5
+0x1.4d709p-1
+-0x1.551bdp-1
+0x1.ac332cp-1
+-0x1.31275cp-2
+-0x1.bff6a4p-2
+-0x1.016a4cp-1
+-0x1.74b36cp-1
+-0x1.ffeep-1
+0x1.79994p-2
+0x1.d742a8p-1
+0x1.0b4c88p-2
+-0x1.2d9288p-1
+0x1.d095a4p-1
+-0x1.9ebf0cp-1
+-0x1.c4ee6p-1
+-0x1.a62b9p-1
+0x1.7f6394p-1
+0x1.26076p-1
+0x1.af749p-1
+0x1.ab7e9p-1
+-0x1.3f217p-4
+0x1.3b691p-2
+-0x1.22a1p-2
+-0x1.7fab48p-3
+0x1.150e18p-2
+0x1.9c7dp-7
+-0x1.f78c3p-4
+-0x1.0361ap-1
+-0x1.4e8ca8p-2
+0x1.93483p-2
+0x1.f3b268p-1
+0x1.ad2284p-1
+0x1.11d8ep-1
+0x1.0dc8p-8
+0x1.40a25cp-1
+0x1.f6f678p-1
+0x1.77ca08p-2
+-0x1.36f55p-1
+0x1.c36a24p-1
+-0x1.db461ep-1
+0x1.2090cp-1
+-0x1.c3da64p-1
+0x1.7642f4p-1
+0x1.b9acap-1
+0x1.d3505p-2
+0x1.c1034p-3
+-0x1.91bd44p-1
+0x1.58492p-3
+-0x1.6345b4p-2
+-0x1.2775bap-1
+-0x1.0be7fp-3
+-0x1.b4c94p-6
+-0x1.f26dbcp-2
+0x1.54dap-7
+0x1.5256p-1
+-0x1.a940fcp-1
+0x1.8eb8e8p-2
+0x1.1bcc1p-2
+-0x1.b39628p-1
+-0x1.c5aadp-3
+-0x1.a4918p-1
+0x1.d24ap-2
+0x1.a14f68p-2
+-0x1.0d8402p-1
+0x1.3fff0cp-1
+0x1.cfc274p-1
+-0x1.fccfc4p-1
+0x1.aad0fp-1
+-0x1.81f37ep-1
+-0x1.7cdffcp-2
+-0x1.feb0b8p-2
+-0x1.435688p-1
+-0x1.02fb48p-2
+-0x1.345618p-1
+-0x1.619328p-3
+-0x1.f1ee8cp-1
+0x1.49470cp-1
+-0x1.9e0c4cp-2
+-0x1.f2341ap-1
+0x1.8005f8p-1
+-0x1.7618cp-5
+-0x1.bc139p-1
+-0x1.43f56cp-2
+0x1.f1e9c8p-2
+-0x1.bbb0bp-2
+0x1.845ed4p-1
+-0x1.5f23bp-2
+0x1.f5c628p-1
+0x1.126468p-2
+-0x1.fa471p-1
+-0x1.2f886p-1
+0x1.4da88cp-1
+-0x1.7a538p-7
+0x1.a361p-1
+-0x1.35a95p-4
+-0x1.f4e77p-4
+0x1.fd5eep-2
+0x1.2c0a8p-3
+-0x1.e33012p-1
+-0x1.f07f2ap-1
+-0x1.f34118p-3
+-0x1.c611fcp-2
+0x1.28a6d8p-2
+0x1.520188p-1
+0x1.d2ee84p-1
+0x1.4bd7ep-1
+0x1.10e208p-2
+0x1.b9f254p-1
+0x1.5428cp-4
+0x1.77044p-2
+0x1.c989p-2
+0x1.6deap-2
+0x1.6b28cp-3
+-0x1.7b6428p-1
+-0x1.8d7848p-3
+0x1.5efb6p-3
+-0x1.97518cp-2
+-0x1.e4b51cp-2
+-0x1.99ac8p-2
+-0x1.a47c5p-1
+0x1.3ce8p-3
+0x1.ff8d88p-1
+-0x1.51789p-2
+-0x1.81329p-2
+-0x1.1de058p-3
+-0x1.67a528p-1
+-0x1.8470bp-1
+-0x1.f8272cp-1
+0x1.338d9cp-1
+-0x1.48ab68p-2
+0x1.a75758p-1
+0x1.24e9p-5
+0x1.3b132p-3
+0x1.745b5p-2
+0x1.151b8p-6
+0x1.1f031p-3
+-0x1.1497dp-2
+0x1.3238ap-3
+-0x1.cae8ccp-1
+-0x1.511e2p-5
+0x1.71abfp-1
+0x1.a9f2f8p-1
+0x1.da1a8p-5
+-0x1.0d996p-1
+-0x1.45a2acp-2
+-0x1.df640ep-1
+0x1.cfb72p-3
+0x1.8493dcp-1
+0x1.65442p-4
+-0x1.a5cda8p-1
+-0x1.6e4d84p-1
+0x1.4c076p-3
+0x1.437b6p-1
+-0x1.acc99p-3
+-0x1.e51eacp-2
+-0x1.7852ap-2
+-0x1.742b6p-1
+-0x1.a47ap-7
+0x1.acfap-6
+0x1.3a81a4p-1
+-0x1.155f7ep-1
+-0x1.dfeab8p-1
+-0x1.0ea984p-1
+-0x1.235c88p-2
+0x1.dff144p-1
+0x1.48cc5p-2
+-0x1.c7bd4p-4
+-0x1.91e628p-3
+0x1.6df56p-4
+-0x1.ab574p-4
+-0x1.77d33ap-1
+-0x1.607808p-1
+0x1.f21cap-2
+-0x1.c9719p-3
+-0x1.a98988p-1
+0x1.e1f0fcp-1
+-0x1.666668p-1
+-0x1.dac1cep-1
+-0x1.47563p-1
+-0x1.fc1a5cp-1
+-0x1.6e7788p-2
+0x1.56343p-2
+-0x1.c27798p-2
+-0x1.09065ep-1
+-0x1.7df49cp-2
+-0x1.50865p-1
+-0x1.c5c928p-3
+0x1.3b6e78p-1
+0x1.aa26p-4
+-0x1.0d579p-4
+0x1.51fbdp-2
+0x1.1a6578p-2
+-0x1.dcfc6ep-1
+0x1.47a6cp-5
+0x1.ba6f7p-1
+0x1.0f595cp-1
+-0x1.c3931p-4
+0x1.5d6e2p-2
+0x1.cc64ccp-1
+0x1.d167e4p-1
+0x1.497bacp-1
+0x1.9d2b8p-3
+-0x1.70d2bp-1
+0x1.fbd498p-2
+0x1.83964p-3
+-0x1.6d48fp-1
+-0x1.79d7fp-2
+0x1.e38fep-1
+0x1.75df14p-1
+-0x1.58114p-5
+-0x1.36081cp-1
+0x1.c155p-3
+-0x1.ebdaap-4
+0x1.b69f18p-2
+-0x1.b4f438p-1
+-0x1.e8ddf8p-1
+-0x1.b0171cp-2
+0x1.9e3b38p-2
+0x1.888e2p-3
+-0x1.75dbc8p-1
+0x1.d1e0f4p-1
+-0x1.695e5p-3
+-0x1.f3920ap-1
+-0x1.892c9ap-1
+-0x1.b9fc72p-1
+0x1.c6ce8cp-1
+-0x1.fd9c2p-3
+-0x1.b680fp-1
+-0x1.cc1d4ap-1
+-0x1.266f24p-2
+0x1.3dfe1p-1
+-0x1.e9de98p-1
+-0x1.23e6e8p-1
+0x1.595b2p-2
+0x1.1f609cp-1
+0x1.ecdfb8p-1
+0x1.820b48p-2
+0x1.3d1b1p-3
+0x1.ed1fap-2
+-0x1.270b64p-1
+0x1.9e1378p-1
+0x1.48944p-2
+0x1.74e594p-1
+0x1.21917p-2
+-0x1.b1e114p-2
+-0x1.04476p-1
+0x1.7f30ap-2
+-0x1.3af33ap-1
+0x1.cfbe64p-1
+0x1.3e78ap-4
+0x1.2a77p-4
+0x1.1c0f1p-2
+0x1.64884p-2
+-0x1.5837bp-4
+-0x1.1266dp-2
+0x1.852af8p-1
+0x1.e30bcp-5
+0x1.418358p-1
+-0x1.77207cp-2
+-0x1.1ed94p-1
+0x1.d8d21p-3
+0x1.59a96p-3
+-0x1.be71ccp-2
+-0x1.b0b504p-2
+-0x1.d0a868p-2
+-0x1.d9c2c8p-1
+0x1.93b1ap-2
+0x1.15a298p-1
+0x1.9cbe9p-1
+-0x1.c46b4p-4
+-0x1.05df4p-4
+0x1.0e0a7p-3
+-0x1.12ca38p-1
+0x1.075b5p-3
+0x1.0b03f8p-1
+0x1.70f904p-1
+0x1.da1f78p-2
+-0x1.57a82p-2
+0x1.a69ap-4
+-0x1.2d7cdcp-1
+-0x1.a0d402p-1
+0x1.e4e2ap-1
+0x1.e0e28p-4
+0x1.d7436p-4
+-0x1.80d32cp-2
+-0x1.de0bdp-4
+-0x1.4233c4p-1
+0x1.21e18cp-1
+-0x1.eb22b6p-1
+0x1.0bf4p-6
+-0x1.fe9c6cp-1
+-0x1.5559ccp-2
+-0x1.59fdcp-1
+-0x1.69526cp-2
+0x1.5b2e58p-1
+-0x1.52f7c4p-1
+0x1.40ddc8p-2
+0x1.254978p-1
+-0x1.4a3768p-1
+-0x1.14674p-2
+-0x1.a54398p-3
+0x1.ea93c8p-2
+0x1.212e48p-1
+0x1.03f6p-2
+-0x1.0cf85cp-1
+0x1.3fd9fcp-1
+0x1.953fcp-2
+-0x1.97fdf4p-1
+-0x1.8d60c8p-1
+0x1.f6e8cp-2
+-0x1.ac24cep-1
+0x1.122dbcp-1
+0x1.9b4c38p-1
+0x1.cb0a6p-1
+-0x1.544eb8p-2
+0x1.88f9c4p-1
+-0x1.bfe418p-1
+-0x1.506486p-1
+0x1.d7429p-1
+-0x1.69675cp-1
+-0x1.bbc93p-4
+0x1.c7deecp-1
+-0x1.fe917cp-2
+0x1.6e057p-1
+0x1.a73e1p-2
+-0x1.c9f578p-1
+-0x1.fedadcp-1
+0x1.e9e0f8p-1
+-0x1.e5482p-1
+0x1.c199c8p-2
+0x1.36e8p-5
+0x1.85227p-3
+0x1.dc4bccp-1
+-0x1.ffbbp-1
+-0x1.c22722p-1
+0x1.6aca6p-2
+-0x1.346b8p-5
+0x1.5751cp-5
+0x1.3a8088p-2
+0x1.31b14p-3
+0x1.05e28p-5
+-0x1.ccf6ap-3
+-0x1.892f2cp-1
+0x1.024d98p-1
+-0x1.22bca4p-2
+-0x1.c9058ap-1
+-0x1.8e2bdp-3
+0x1.058f98p-2
+-0x1.7b236cp-1
+0x1.6f512cp-1
+0x1.fe1208p-2
+-0x1.2b104p-1
+-0x1.a124fp-4
+0x1.51facp-1
+0x1.8a842p-2
+-0x1.188808p-3
+-0x1.54e264p-2
+-0x1.1fe234p-2
+-0x1.336b14p-2
+0x1.e668e8p-1
+-0x1.cf8f14p-2
+-0x1.ec1cep-2
+-0x1.05b0e2p-1
+-0x1.156c8p-1
+0x1.af8ce8p-2
+0x1.46ff68p-1
+-0x1.b5cd28p-2
+0x1.64111p-2
+-0x1.7ba108p-3
+0x1.4213p-2
+-0x1.862ddp-3
+-0x1.192708p-1
+0x1.39cb7p-3
+-0x1.1cf28ep-1
+0x1.f4e0ap-3
+0x1.319c8p-3
+0x1.92d6ep-3
+-0x1.5a946p-3
+0x1.df27dp-2
+-0x1.69fb34p-1
+0x1.828284p-1
+0x1.82ab8p-3
+-0x1.dd6178p-1
+-0x1.c566fp-3
+-0x1.c7d3a8p-2
+-0x1.a857c8p-1
+-0x1.cdaab8p-2
+-0x1.782656p-1
+0x1.7c505p-2
+0x1.06632p-3
+0x1.53ec2p-2
+0x1.015854p-1
+0x1.7f813p-2
+-0x1.61c3c8p-1
+0x1.1d0564p-1
+0x1.363ffp-2
+0x1.dbd328p-2
+-0x1.1ad728p-1
+-0x1.62b0a8p-2
+-0x1.694f52p-1
+-0x1.ef9b2cp-2
+-0x1.05708p-7
+0x1.582974p-1
+-0x1.42e5a8p-3
+0x1.afb09p-2
+0x1.771a8p-1
+-0x1.4ffa5p-3
+-0x1.137778p-1
+0x1.2e148p-1
+-0x1.409fap-4
+0x1.3a75fp-2
+0x1.6fd4dcp-1
+-0x1.bd719p-2
+0x1.1eecb8p-2
+0x1.a387p-3
+-0x1.41bde8p-1
+-0x1.1b0268p-2
+0x1.f5a05p-3
+0x1.d5c43p-3
+-0x1.76c36p-4
+-0x1.b2fd84p-1
+-0x1.023064p-1
+-0x1.813518p-1
+0x1.a3f7p-3
+-0x1.848534p-1
+0x1.21b68p-2
+-0x1.bd79f8p-3
+-0x1.ce506cp-1
+0x1.37a138p-1
+0x1.15fdd8p-1
+-0x1.1a0db6p-1
+0x1.5fd6cp-2
+-0x1.85b7bp-1
+-0x1.78c25cp-2
+0x1.1168d8p-1
+-0x1.5abd5p-3
+-0x1.980682p-1
+0x1.f64d2p-1
+-0x1.847796p-1
+-0x1.cea71cp-2
+-0x1.5eacbcp-1
+0x1.0d90a4p-1
+-0x1.84fc9ep-1
+0x1.20e23cp-1
+0x1.b8d6f8p-2
+-0x1.935568p-1
+0x1.bc1ap-6
+0x1.70c7e8p-1
+0x1.e894a8p-2
+-0x1.189308p-2
+-0x1.a8a0d4p-1
+0x1.a249p-6
+-0x1.832f3p-2
+0x1.aa1138p-2
+0x1.9a016p-2
+-0x1.d485ep-2
+0x1.b805a4p-1
+0x1.76624p-4
+0x1.42503cp-1
+-0x1.21099cp-1
+-0x1.4387p-5
+0x1.0dd73p-1
+-0x1.0d9468p-2
+0x1.219fcp-4
+0x1.2a12ap-4
+0x1.faffb8p-1
+-0x1.79bebcp-2
+0x1.d361f4p-1
+-0x1.d2a782p-1
+0x1.fbbe4p-2
+-0x1.2a118ap-1
+-0x1.ec10eep-1
+0x1.4bf98p-1
+0x1.2ef5b4p-1
+-0x1.bd2a44p-1
+-0x1.0b8e44p-2
+-0x1.ea995ep-1
+0x1.37ff88p-1
+-0x1.327a6p-5
+-0x1.454bfp-3
+0x1.ccfe5p-2
+0x1.cfcf8p-1
+0x1.10765p-3
+0x1.061d3p-1
+-0x1.d50fep-1
+-0x1.a3678p-6
+0x1.d37a8p-2
+-0x1.a656eep-1
+0x1.d06518p-2
+0x1.f9b294p-1
+0x1.610ecp-5
+0x1.3272p-1
+0x1.74342p-3
+0x1.88807p-2
+-0x1.dc7ac4p-2
+0x1.f06114p-1
+0x1.20208p-1
+0x1.b406cp-3
+0x1.ad069cp-1
+-0x1.7980cp-4
+0x1.c68154p-1
+-0x1.98752p-1
+0x1.1751bcp-1
+0x1.e3b568p-2
+0x1.9b663cp-1
+0x1.ba714p-4
+0x1.959194p-1
+-0x1.fa0e48p-1
+-0x1.1c1468p-2
+0x1.625884p-1
+-0x1.a75f98p-1
+-0x1.ec6378p-3
+-0x1.45e5ccp-2
+-0x1.870058p-1
+0x1.f799dp-3
+-0x1.33182ep-1
+0x1.a75f18p-2
+0x1.ee1498p-1
+0x1.594964p-1
+0x1.0a340cp-1
+-0x1.b4c51p-1
+0x1.547a94p-1
+0x1.ef7e8p-5
+0x1.6f10fp-1
+0x1.f82b28p-1
+-0x1.2ba6a2p-1
+0x1.103508p-1
+-0x1.c1feb8p-3
+0x1.07be68p-1
+0x1.1a98cp-4
+-0x1.f3d45cp-2
+0x1.351e64p-1
+-0x1.f5a5c8p-1
+-0x1.68eeacp-1
+0x1.4da5bp-2
+-0x1.835ed4p-1
+-0x1.82bc0ep-1
+0x1.68bb7p-1
+-0x1.5c793cp-2
+-0x1.1456cp-2
+0x1.1a2904p-1
+0x1.8c5648p-2
+0x1.cb707p-3
+0x1.e28f8p-4
+-0x1.0915fap-1
+0x1.cc6a54p-1
+-0x1.109b6ep-1
+0x1.afbe3p-2
+-0x1.f74c3cp-2
+0x1.72682p-4
+0x1.fb6ff8p-2
+-0x1.dd1d0cp-1
+0x1.27d3e8p-2
+-0x1.60633cp-1
+-0x1.f77e4cp-2
+-0x1.9531fp-3
+0x1.4b56f4p-1
+0x1.263a7p-3
+0x1.cfad5cp-1
+-0x1.240ed8p-1
+0x1.4f0e3p-2
+0x1.088dep-2
+0x1.9d319p-1
+-0x1.9bbbf4p-2
+-0x1.40c8d4p-1
+0x1.ed6dap-2
+0x1.159844p-1
+-0x1.a37d58p-3
+0x1.1c06e4p-1
+-0x1.059b7p-1
+-0x1.c49762p-1
+0x1.12d7p-1
+0x1.95922cp-1
+-0x1.dd2214p-2
+0x1.35d16p-4
+-0x1.4104p-5
+-0x1.73eaf8p-3
+0x1.7490ep-2
+-0x1.b4973p-2
+0x1.cf7cdcp-1
+-0x1.a2e048p-3
+-0x1.42a54cp-1
+-0x1.a5d36ep-1
+0x1.77a2bcp-1
+0x1.eb22bp-2
+0x1.aa779cp-1
+-0x1.8ff5cp-3
+-0x1.51015p-4
+0x1.3ff8p-9
+-0x1.3bac4p-2
+0x1.0a7f48p-2
+0x1.13b02p-3
+-0x1.044fdp-4
+-0x1.c603dcp-2
+0x1.b00bb4p-1
+-0x1.e9a404p-2
+-0x1.fc61dep-1
+-0x1.e6f57ep-1
+0x1.252adp-2
+-0x1.c7b724p-1
+0x1.499f28p-1
+0x1.4adba8p-1
+0x1.af2ddp-3
+0x1.c31f4cp-1
+0x1.f59d08p-2
+0x1.417d6cp-1
+-0x1.3365d8p-1
+-0x1.9ca0c4p-1
+-0x1.a7b2fp-1
+0x1.0ebbb8p-1
+0x1.8d2eep-3
+-0x1.1f27fp-1
+0x1.9f3018p-2
+-0x1.81c71cp-1
+0x1.3afbfp-1
+0x1.e492e8p-1
+-0x1.ec245p-2
+-0x1.bcf088p-1
+0x1.10901p-2
+-0x1.78d90ap-1
+-0x1.5c574p-1
+-0x1.57f4dap-1
+-0x1.6dd8dp-1
+-0x1.97f094p-1
+0x1.02f5c8p-1
+0x1.38dfd4p-1
+-0x1.72a626p-1
+-0x1.f29678p-1
+0x1.71d16cp-1
+0x1.5131dp-2
+-0x1.24c138p-3
+0x1.6b0f6p-1
+-0x1.bb95d2p-1
+0x1.f2e818p-2
+0x1.596554p-1
+0x1.59612p-2
+-0x1.9b55d4p-2
+-0x1.895242p-1
+0x1.99b68p-4
+-0x1.ee3638p-1
+0x1.abd6c4p-1
+0x1.955d68p-1
+-0x1.7960e8p-2
+-0x1.ef0a74p-2
+-0x1.9d455ep-1
+-0x1.5fc8p-9
+-0x1.f2748p-6
+-0x1.76a394p-1
+0x1.84fe98p-2
+0x1.3865cp-5
+-0x1.65cfep-5
+-0x1.eadd88p-2
+0x1.edb53cp-1
+-0x1.0da7bcp-2
+-0x1.b246a4p-1
+-0x1.7256fp-1
+0x1.02171p-2
+-0x1.fdf62cp-1
+-0x1.2e15p-6
+0x1.67624p-3
+-0x1.fc1a06p-1
+0x1.2c348p-4
+0x1.92687p-2
+-0x1.9b4694p-2
+0x1.1a9474p-1
+-0x1.d9b5d8p-1
+-0x1.5f6428p-2
+0x1.ca4714p-1
+-0x1.39abep-3
+0x1.75ca54p-1
+0x1.4f7dfp-3
+0x1.17d3cp-1
+0x1.da1898p-2
+-0x1.f69f1ap-1
+-0x1.03a1cp-4
+-0x1.dad91p-1
+-0x1.4e709p-2
+0x1.1ce218p-1
+0x1.7676ap-3
+0x1.32f23p-3
+-0x1.244ecp-2
+0x1.bbfdp-7
+-0x1.dab9e8p-3
+-0x1.f6da18p-1
+0x1.cc9d04p-1
+0x1.b1f834p-1
+0x1.fe033p-3
+0x1.31e2cp-4
+0x1.40e978p-1
+-0x1.ad74a4p-1
+-0x1.88c2cp-3
+0x1.1aca98p-1
+0x1.a2d1c8p-2
+-0x1.39943cp-1
+-0x1.e52b5p-1
+0x1.ec537p-2
+0x1.2f0e38p-1
+-0x1.38ac54p-2
+0x1.40d5c8p-2
+0x1.05e1bp-1
+-0x1.fd2654p-2
+0x1.20d634p-1
+0x1.d0c03p-1
+-0x1.c0d772p-1
+0x1.6d05c8p-1
+0x1.c62f6cp-1
+0x1.3f4bdp-3
+0x1.12f418p-1
+0x1.216648p-2
+0x1.3684bp-2
+-0x1.fac0e8p-1
+0x1.a30dep-2
+-0x1.45cf78p-1
+-0x1.555194p-2
+0x1.556fp-2
+0x1.981928p-2
+-0x1.0d551p-4
+0x1.f35be8p-2
+-0x1.36966p-2
+-0x1.796e28p-1
+-0x1.edbfa4p-2
+-0x1.1726bp-3
+-0x1.d80ba8p-1
+0x1.6d9c2p-1
+-0x1.127fdep-1
+0x1.259e28p-2
+-0x1.82d4fp-1
+-0x1.eff22p-4
+0x1.7c5b58p-2
+0x1.e7c968p-2
+0x1.ff204cp-1
+-0x1.961478p-1
+-0x1.fdcc18p-1
+-0x1.21444p-1
+-0x1.3bdbf4p-1
+0x1.bc5324p-1
+0x1.b63cacp-1
+0x1.552bbcp-1
+0x1.74f91cp-1
+0x1.7a0fe8p-1
+-0x1.cab152p-1
+-0x1.014758p-3
+-0x1.1a018cp-1
+0x1.32e398p-2
+-0x1.eea26p-4
+0x1.8fa0a4p-1
+-0x1.eeaad4p-2
+-0x1.eda198p-3
+-0x1.08f14ep-1
+-0x1.cce112p-1
+-0x1.bce72cp-1
+0x1.d11f1p-3
+-0x1.fcf3p-3
+-0x1.23306p-5
+0x1.d087cp-1
+0x1.8f77a4p-1
+-0x1.c2eefcp-1
+-0x1.f79a66p-1
+0x1.d863p-2
+-0x1.0e7c8p-3
+-0x1.e15444p-1
+0x1.628eap-1
+-0x1.bebe4p-5
+-0x1.872a56p-1
+0x1.52cfp-3
+0x1.7a4b28p-1
+-0x1.8640ep-1
+-0x1.23b09p-2
+-0x1.07851cp-1
+-0x1.de410ep-1
+-0x1.b8ddecp-2
+0x1.c3aa98p-1
+0x1.cf7d9p-1
+-0x1.cb8d74p-1
+0x1.0393bp-3
+0x1.6bf55p-1
+-0x1.ad7938p-1
+0x1.3b23bcp-1
+-0x1.eeebe8p-2
+0x1.b822dp-2
+-0x1.13fd36p-1
+-0x1.4ca92cp-1
+0x1.9594a8p-2
+-0x1.e12acp-2
+-0x1.e8a5ep-1
+0x1.24dd54p-1
+-0x1.038bc8p-1
+-0x1.0bb9bp-4
+-0x1.ce1576p-1
+0x1.12036cp-1
+0x1.5c6acp-2
+0x1.b9fcfp-2
+0x1.e3f1c4p-1
+0x1.f7efb8p-2
+-0x1.e92ff4p-2
+-0x1.e9adc8p-2
+-0x1.f4282ep-1
+-0x1.4775a6p-1
+0x1.6defp-6
+-0x1.87c448p-2
+0x1.c3f6f8p-1
+-0x1.990778p-2
+-0x1.59371cp-2
+0x1.e52e8p-4
+-0x1.44498p-6
+0x1.d090a4p-1
+0x1.a3d5fp-2
+-0x1.3f6428p-3
+-0x1.4b2db8p-2
+0x1.d4dfap-4
+0x1.4108dcp-1
+0x1.cab2e8p-2
+0x1.4dd598p-1
+-0x1.8876cp-6
+0x1.bf656p-2
+0x1.b66a2p-3
+0x1.a558ap-3
+-0x1.21b664p-1
+0x1.366f9p-1
+-0x1.3e53dp-2
+-0x1.f9656p-3
+0x1.3ad5ap-2
+-0x1.c0e8fp-2
+0x1.2f438p-3
+0x1.5ef524p-1
+-0x1.4baa5p-1
+-0x1.5aef8p-1
+0x1.19d8cp-5
+0x1.d63d84p-1
+0x1.7a84f8p-1
+0x1.a2c1ep-4
+0x1.215c3p-2
+-0x1.7b589cp-2
+-0x1.44b46ep-1
+-0x1.5e0906p-1
+-0x1.1254d4p-1
+-0x1.3cb0d8p-1
+0x1.a58228p-2
+0x1.0c36a4p-1
+0x1.8ff5d8p-1
+-0x1.dd768cp-2
+0x1.602be8p-2
+-0x1.c1c054p-1
+0x1.0fc6c8p-2
+0x1.e0023p-3
+0x1.cac8d8p-1
+0x1.f1f728p-1
+-0x1.8b93cp-1
+0x1.a003p-6
+0x1.8e547p-1
+-0x1.ffe102p-1
+0x1.d8478p-4
+0x1.7cfbd8p-2
+-0x1.b0171ep-1
+-0x1.e23c3p-2
+-0x1.b73e7ep-1
+-0x1.e22cf2p-1
+0x1.d235ap-2
+0x1.441b48p-1
+-0x1.60529cp-2
+-0x1.425618p-1
+0x1.e48f68p-1
+-0x1.6cb838p-2
+0x1.3e257p-2
+-0x1.de354ep-1
+0x1.049528p-1
+0x1.412ap-6
+0x1.c62818p-1
+-0x1.1548a8p-3
+0x1.590948p-2
+-0x1.f19192p-1
+-0x1.37e44ap-1
+-0x1.dc08ap-3
+0x1.02c7ap-2
+-0x1.04bcecp-1
+0x1.3c9a6cp-1
+0x1.a9788cp-1
+0x1.a989ap-2
+-0x1.a1ba3cp-1
+-0x1.4caeap-1
+0x1.bdc698p-2
+-0x1.2355e4p-2
+-0x1.70bfbcp-1
+0x1.191eap-2
+-0x1.68567cp-1
+0x1.f22fp-2
+0x1.23f73cp-1
+-0x1.29947cp-2
+-0x1.4d5058p-1
+0x1.57f52cp-1
+-0x1.585bp-3
+-0x1.f6e36ap-1
+0x1.805ff4p-1
+-0x1.f2379p-1
+0x1.fbd6acp-1
+0x1.adc85p-3
+-0x1.70002cp-2
+-0x1.a17c88p-1
+-0x1.fd0f8p-1
+-0x1.c12b7p-3
+0x1.12b238p-2
+0x1.de58dp-2
+-0x1.f4f60ap-1
+-0x1.10de02p-1
+-0x1.e2e7cap-1
+-0x1.56f158p-2
+-0x1.a3b6f4p-2
+0x1.03ba6cp-1
+-0x1.98e498p-2
+-0x1.279cb4p-1
+-0x1.1209p-5
+0x1.a41afp-3
+-0x1.53b32p-2
+-0x1.c0febap-1
+-0x1.b193a8p-3
+-0x1.c9d73cp-2
+0x1.e688f8p-2
+0x1.c41a9p-3
+-0x1.e1e2dp-2
+-0x1.0e1a44p-1
+0x1.a332fp-1
+-0x1.22ee84p-2
+-0x1.6b2fp-3
+0x1.4900ap-3
+-0x1.23c9f8p-1
+-0x1.4d433ep-1
+-0x1.08366p-2
+0x1.499c28p-2
+-0x1.b96d7p-4
+-0x1.61da6cp-2
+-0x1.98ccd4p-2
+0x1.8c6d5p-1
+0x1.077494p-1
+-0x1.1e251p-3
+-0x1.f1102p-5
+-0x1.a6209cp-2
+-0x1.848ebep-1
+-0x1.e11f0cp-1
+0x1.4bd26p-2
+-0x1.c5f66cp-2
+-0x1.26d3bp-4
+0x1.042a5p-3
+0x1.a3176p-3
+0x1.725e44p-1
+0x1.25325cp-1
+-0x1.ab43c8p-3
+-0x1.f8fd48p-2
+-0x1.35e96cp-1
+0x1.2e82e8p-1
+-0x1.478198p-3
+-0x1.6b539ep-1
+-0x1.2008f8p-3
+-0x1.51f3ap-2
+-0x1.289758p-2
+-0x1.f89576p-1
+0x1.d8d3cp-3
+0x1.51ad9cp-1
+0x1.2119ap-4
+0x1.014fcp-3
+0x1.2e760cp-1
+0x1.da02f8p-2
+-0x1.a976e6p-1
+0x1.8cb78p-2
+0x1.d922p-7
+-0x1.cd85b4p-2
+-0x1.68d4d8p-2
+-0x1.2e465cp-2
+0x1.a418b4p-1
+-0x1.4cf41ap-1
+-0x1.f087fp-1
+-0x1.ef1bp-5
+-0x1.2d83ap-5
+-0x1.19d0cp-4
+0x1.024c48p-1
+-0x1.cc403ap-1
+0x1.8af8f8p-1
+-0x1.23d8fp-3
+0x1.41154p-1
+-0x1.fffa1p-2
+0x1.beb7d8p-2
+-0x1.5b1d68p-3
+0x1.cf523p-3
+0x1.ad6808p-1
+0x1.5c5ebp-1
+0x1.6708p-7
+0x1.4c7c8p-2
+0x1.d8156cp-1
+-0x1.fccd3p-1
+0x1.1f239p-3
+0x1.b4d728p-2
+-0x1.21ce08p-3
+-0x1.97e6dap-1
+-0x1.3b9554p-1
+-0x1.11a664p-1
+-0x1.93401p-2
+-0x1.891274p-2
+0x1.17983cp-1
+0x1.8c162p-3
+0x1.a983p-6
+-0x1.616e7cp-1
+-0x1.2c608ap-1
+-0x1.138dcp-2
+-0x1.c0ee56p-1
+0x1.fbbbe8p-1
+-0x1.f9b33ap-1
+0x1.cbf48cp-1
+0x1.04343cp-1
+0x1.d2b4ap-2
+0x1.9190b8p-1
+-0x1.084d24p-2
+0x1.f91dd4p-1
+-0x1.6ee92p-3
+0x1.a06a1p-1
+0x1.663a08p-2
+-0x1.d0c0bp-3
+0x1.173608p-1
+0x1.4f7098p-2
+-0x1.266d2p-3
+-0x1.6bb4a8p-1
+-0x1.c83218p-3
+-0x1.cd05f4p-1
+-0x1.f3e54p-4
+-0x1.fa0e86p-1
+0x1.088d28p-1
+0x1.88ec3p-3
+-0x1.620878p-1
+0x1.333364p-1
+0x1.a782ecp-1
+-0x1.3e52b8p-2
+0x1.361f9cp-1
+0x1.da06b4p-1
+0x1.5abb2p-4
+0x1.61ffap-2
+-0x1.3e57cp-6
+-0x1.6aaf2p-2
+-0x1.bda578p-2
+0x1.1a1278p-1
+-0x1.e1e338p-3
+0x1.35617p-2
+-0x1.cd1098p-1
+0x1.20c7cp-1
+-0x1.91fc04p-2
+0x1.ba4ba4p-1
+0x1.f7d4ep-2
+-0x1.ac0438p-2
+-0x1.885a04p-2
+-0x1.d13bfp-3
+-0x1.1d16c8p-2
+-0x1.dae3bcp-2
+0x1.6b467cp-1
+-0x1.29ac48p-2
+-0x1.7232c8p-2
+0x1.7449p-2
+-0x1.7d8a78p-1
+0x1.2bbea8p-1
+0x1.85c7p-4
+0x1.c83e9p-2
+0x1.190cf8p-2
+0x1.d429cp-5
+0x1.2cad08p-2
+0x1.b2089cp-1
+0x1.686d8p-3
+0x1.df08p-2
+0x1.8f547p-2
+-0x1.376f68p-1
+-0x1.4e55fp-3
+-0x1.1866ap-2
+-0x1.63d58p-3
+0x1.31e1f8p-1
+0x1.101b9cp-1
+0x1.fc9798p-1
+0x1.cde598p-2
+0x1.38014cp-1
+0x1.c11c4p-5
+-0x1.19564p-3
+-0x1.898c06p-1
+-0x1.5ab6c8p-3
+0x1.60aaap-2
+0x1.e4ec2p-1
+0x1.03013p-2
+0x1.15b0a4p-1
+0x1.ee6b3p-2
+0x1.0ef9bp-3
+0x1.a7f44p-3
+0x1.3ea91p-1
+-0x1.89c1c8p-1
+0x1.0678p-5
+0x1.61730cp-1
+0x1.2c826p-3
+-0x1.a1eba6p-1
+-0x1.b4498ap-1
+0x1.2e54f8p-1
+-0x1.9a90fp-3
+0x1.5e6bp-3
+0x1.a538ap-3
+0x1.b03c84p-1
+0x1.5bf6a4p-1
+-0x1.c2e93ap-1
+-0x1.47f3d8p-1
+0x1.f4328p-5
+-0x1.812138p-3
+0x1.0b0c3p-3
+0x1.b9e48p-1
+-0x1.92dd6cp-1
+-0x1.a9e69p-3
+0x1.ae1a8cp-1
+0x1.4ad098p-2
+0x1.9db1b8p-1
+0x1.43ab68p-2
+-0x1.314dbcp-2
+0x1.3fa84p-3
+0x1.2fcdc4p-1
+-0x1.449ap-7
+0x1.f68c0cp-1
+-0x1.20a47p-2
+-0x1.5f58b6p-1
+-0x1.e32e64p-1
+-0x1.1da8aap-1
+0x1.498118p-1
+-0x1.cab484p-1
+-0x1.4760ap-1
+-0x1.a9ac42p-1
+0x1.8fcf74p-1
+0x1.6823bp-3
+0x1.d9c15p-1
+0x1.77752p-2
+0x1.6e05b8p-2
+-0x1.b5cb68p-1
+-0x1.2c6dap-5
+-0x1.dde7a4p-2
+-0x1.01d00ap-1
+0x1.f54e5p-3
+0x1.6d3444p-1
+0x1.e73318p-2
+0x1.16b27cp-1
+-0x1.72aae8p-2
+-0x1.717fap-3
+-0x1.3edff8p-1
+-0x1.38e548p-3
+0x1.bcbdap-4
+0x1.7ed36p-2
+-0x1.822c0ep-1
+0x1.1014dp-3
+-0x1.ce8f4ep-1
+-0x1.f0be7p-2
+-0x1.e0b7c8p-3
+-0x1.7215fp-1
+0x1.98a468p-2
+0x1.7960cp-4
+0x1.cc7b74p-1
+-0x1.0a7324p-1
+0x1.f694f8p-2
+0x1.58901p-3
+-0x1.f9dcep-2
+-0x1.741dbp-1
+0x1.327b38p-2
+0x1.2ce29cp-1
+-0x1.bad3d8p-1
+-0x1.34ab0cp-2
+0x1.9b7068p-2
+0x1.e51cc8p-1
+-0x1.77bdc6p-1
+-0x1.b31138p-1
+0x1.c19178p-1
+-0x1.08f594p-2
+0x1.6d06a8p-2
+-0x1.ab41c8p-1
+0x1.d61cf4p-1
+0x1.67dcecp-1
+0x1.b3c0e8p-2
+-0x1.42dfb8p-3
+0x1.634438p-2
+0x1.f44d58p-1
+-0x1.da36a4p-2
+-0x1.c3521p-3
+-0x1.609608p-1
+-0x1.bd1bacp-2
+-0x1.d167ecp-1
+0x1.2eb13p-3
+-0x1.a57fe6p-1
+-0x1.fed82cp-2
+-0x1.f73012p-1
+0x1.155618p-1
+-0x1.372b6p-5
+-0x1.7664bcp-1
+0x1.7cbcep-1
+-0x1.c52f8p-2
+0x1.c434dp-1
+0x1.a13f78p-1
+-0x1.d7a2c6p-1
+-0x1.e32c5p-4
+-0x1.ed0c0ep-1
+-0x1.d57c1cp-2
+-0x1.28c728p-2
+-0x1.92f416p-1
+-0x1.29f668p-1
+0x1.db43p-4
+-0x1.8cfbccp-1
+0x1.f57b2p-3
+0x1.a68004p-1
+0x1.1ec758p-2
+0x1.0e438p-4
+-0x1.cc3ebcp-2
+-0x1.4dea9p-2
+-0x1.038ap-6
+0x1.652ad8p-1
+0x1.26a82p-1
+-0x1.4798a4p-2
+-0x1.06067cp-1
+-0x1.03afc8p-3
+0x1.10ba6p-2
+-0x1.a50dfp-4
+-0x1.025e9p-2
+0x1.228598p-1
+-0x1.2051ep-4
+0x1.b17b84p-1
+0x1.aa4p-9
+-0x1.c7b66cp-1
+0x1.b3b1p-4
+-0x1.54c60ap-1
+0x1.6c99dcp-1
+-0x1.940aep-1
+-0x1.7e609p-3
+-0x1.8bd6e4p-2
+0x1.e044cp-1
+0x1.e44a58p-1
+0x1.ccd22p-2
+0x1.ac351p-2
+-0x1.ee814p-3
+-0x1.de5b64p-2
+-0x1.4fa336p-1
+-0x1.55fa1ap-1
+-0x1.6ddfcp-1
+0x1.d7d988p-2
+-0x1.d8fd2p-3
+-0x1.933ab8p-1
+0x1.c86d9p-2
+0x1.0ae8b8p-1
+0x1.bb2d5cp-1
+-0x1.41c928p-3
+0x1.0d986p-2
+-0x1.85f7p-1
+0x1.434b3p-1
+-0x1.1921e4p-2
+0x1.ce9f74p-1
+-0x1.e4dc9p-1
+-0x1.b02d4p-2
+0x1.d07eap-1
+-0x1.bd675ep-1
+-0x1.3945acp-1
+-0x1.825258p-1
+0x1.32e9cp-5
+0x1.5eb8ap-3
+0x1.b8963p-3
+0x1.030948p-2
+0x1.2a355cp-1
+0x1.065dcp-3
+0x1.0f00f8p-1
+-0x1.f5a252p-1
+0x1.de3acp-1
+-0x1.2d18d4p-1
+-0x1.61195cp-1
+0x1.10c4d8p-2
+0x1.16ea08p-2
+0x1.d6714p-2
+0x1.c0de9p-3
+0x1.c4d898p-2
+-0x1.7658p-6
+-0x1.8676acp-2
+0x1.57ab9cp-1
+0x1.3ca59cp-1
+-0x1.604a1cp-2
+0x1.5d6b3cp-1
+-0x1.2aeef4p-2
+0x1.320058p-2
+-0x1.d71ea4p-1
+0x1.8e76dcp-1
+0x1.76a098p-2
+-0x1.7f0a2ap-1
+0x1.3356ep-1
+-0x1.15dfap-2
+-0x1.3eb40cp-1
+0x1.a82bcp-1
+0x1.16ba8p-1
+0x1.3324f4p-1
+0x1.395adp-2
+-0x1.964b1ep-1
+-0x1.79e066p-1
+-0x1.32533cp-2
+-0x1.304bp-1
+0x1.801e8cp-1
+-0x1.80f704p-1
+-0x1.880e7cp-1
+0x1.57610cp-1
+-0x1.6bad4p-1
+0x1.2fd14p-1
+-0x1.fbb72p-3
+-0x1.bfa34p-4
+0x1.11fb8p-2
+0x1.9bbc6p-2
+-0x1.3e44fp-3
+-0x1.cf5c9p-3
+-0x1.84e68p-1
+-0x1.c5fb7p-2
+0x1.44bb64p-1
+0x1.9119e8p-1
+-0x1.132526p-1
+0x1.77d92p-1
+0x1.96b2bp-1
+0x1.76ba4p-3
+0x1.58c32cp-1
+-0x1.b53614p-2
+0x1.b7658p-6
+-0x1.dda84ep-1
+0x1.eab224p-1
+-0x1.fab9d8p-3
+-0x1.d1ad5cp-2
+-0x1.5644c2p-1
+0x1.60ba8p-3
+-0x1.f61e5p-2
+0x1.00fbb8p-1
+0x1.765f64p-1
+-0x1.1350b4p-1
+-0x1.0df1fcp-1
+0x1.b8f3cp-4
+0x1.dee75cp-1
+-0x1.78b92cp-2
+0x1.ec2fdp-3
+0x1.8b8484p-1
+-0x1.344a7ep-1
+-0x1.152464p-2
+-0x1.4ec26p-2
+0x1.ce8b5p-3
+0x1.8c775p-1
+-0x1.e18d04p-2
+-0x1.8f873p-4
+-0x1.17aa8p-4
+0x1.1ead44p-1
+-0x1.17c5dcp-2
+0x1.ee54d4p-1
+-0x1.ca55d4p-2
+0x1.2ef8b4p-1
+-0x1.131bdcp-2
+0x1.cfc3dcp-1
+-0x1.d1e83p-3
+-0x1.57fbbp-4
+-0x1.8e2b6p-1
+-0x1.51e058p-1
+-0x1.2686bp-2
+-0x1.59155ep-1
+-0x1.0aa78p-3
+0x1.2f1a18p-2
+0x1.5933cp-1
+0x1.bb1164p-1
+-0x1.ce74a4p-2
+-0x1.8d5ecp-3
+-0x1.c75e1p-1
+0x1.2bde7cp-1
+0x1.041cbp-2
+0x1.583cp-2
+0x1.7fc018p-1
+-0x1.e0c092p-1
+0x1.5d3fcp-2
+0x1.764p-2
+0x1.1e29e8p-1
+0x1.97e6e8p-2
+-0x1.1b03ep-1
+0x1.5e4a4p-3
+0x1.22c2ap-4
+0x1.77d514p-1
+-0x1.8b53f4p-1
+-0x1.87166cp-1
+0x1.52eb28p-2
+0x1.08ddcp-3
+-0x1.91efccp-1
+-0x1.5e4bfcp-2
+-0x1.6b408p-7
+-0x1.d10dacp-2
+0x1.3efe4p-4
+-0x1.bb115p-4
+0x1.f9cc78p-1
+-0x1.fb5066p-1
+0x1.0abd28p-2
+-0x1.be8d9p-4
+0x1.218ce4p-1
+0x1.2d679cp-1
+-0x1.ee009p-2
+-0x1.13509cp-1
+0x1.cea8ep-4
+-0x1.4d1738p-3
+-0x1.9311d8p-3
+-0x1.9f63e8p-1
+-0x1.0a2f08p-1
+-0x1.7b19cep-1
+-0x1.51a574p-1
+-0x1.31716cp-1
+-0x1.c5134p-4
+-0x1.cd8854p-1
+0x1.090afp-3
+-0x1.8dfaa4p-1
+-0x1.f8c798p-2
+0x1.0757ap-4
+-0x1.4eff2cp-2
+-0x1.b6ff3p-4
+0x1.8960ep-2
+-0x1.f87054p-1
+-0x1.d8246p-4
+-0x1.fb91c8p-1
+-0x1.42befp-1
+-0x1.7bb8ccp-1
+-0x1.8470acp-1
+-0x1.3fefbcp-1
+0x1.76d38p-3
+-0x1.7884cp-1
+-0x1.9c03bp-3
+0x1.a8decp-4
+-0x1.997ffp-2
+-0x1.7304p-5
+0x1.44c608p-1
+0x1.baa5b4p-1
+0x1.5b3b9cp-1
+-0x1.923fd8p-2
+-0x1.6c5d6p-3
+-0x1.576698p-2
+0x1.aa40d4p-1
+0x1.87fcdp-2
+0x1.e6381cp-1
+0x1.5ee7bp-3
+-0x1.3f98p-8
+0x1.99d77p-3
+0x1.ca5218p-2
+0x1.586f14p-1
+-0x1.7654cp-2
+0x1.3f4dap-3
+-0x1.4b5538p-1
+-0x1.a9e4p-8
+0x1.56dc38p-1
+0x1.604f64p-1
+-0x1.1bb2fp-1
+-0x1.9e5f58p-3
+-0x1.5853fcp-1
+0x1.402c5p-1
+0x1.1490bp-1
+-0x1.58b208p-2
+0x1.22fefp-1
+-0x1.7cc82ap-1
+0x1.7ba0f4p-1
+0x1.5756ap-4
+0x1.09584p-4
+0x1.54e8bp-1
+-0x1.06802p-1
+-0x1.85136cp-1
+0x1.5ede5cp-1
+-0x1.c057c4p-1
+0x1.0ca44p-1
+-0x1.3c629p-2
+0x1.5b5b4p-5
+0x1.9baf6p-2
+-0x1.0ab28p-5
+-0x1.eba66cp-2
+0x1.605fp-5
+-0x1.f991ep-2
+0x1.fab3a8p-2
+0x1.4b73ep-2
+-0x1.3980cp-6
+-0x1.18a028p-2
+0x1.89686cp-1
+0x1.37dd5cp-1
+-0x1.19c166p-1
+-0x1.eb54e4p-1
+-0x1.a4182p-5
+0x1.54e9cp-5
+0x1.98ad84p-1
+0x1.4a3628p-2
+-0x1.4a8778p-1
+-0x1.a1184p-6
+-0x1.7f0c08p-2
+0x1.f6ca2p-2
+0x1.4cb91p-3
+-0x1.8f2808p-1
+0x1.272e24p-1
+-0x1.4e037p-1
+-0x1.228948p-1
+-0x1.ff9804p-1
+-0x1.487c4cp-1
+-0x1.ba802cp-1
+-0x1.23986p-1
+-0x1.f1de58p-1
+0x1.93abd4p-1
+-0x1.a8ecb8p-1
+0x1.2d19a8p-2
+-0x1.6d33acp-2
+-0x1.383b84p-1
+0x1.3e12a8p-1
+-0x1.20dc94p-2
+-0x1.d6f298p-1
+0x1.97306p-4
+0x1.f8b2p-7
+0x1.847154p-1
+-0x1.302416p-1
+-0x1.4593f8p-2
+0x1.27c5c8p-2
+0x1.e0b9b8p-2
+-0x1.7e28p-4
+-0x1.5c118p-6
+-0x1.87ade2p-1
+-0x1.2bcd64p-2
+0x1.18b62p-4
+0x1.af8634p-1
+-0x1.91cdf8p-1
+-0x1.8ed0fp-1
+0x1.045dbp-3
+0x1.d78afp-1
+-0x1.db341cp-2
+-0x1.148014p-1
+-0x1.0abb04p-2
+-0x1.d588cp-6
+-0x1.79895cp-2
+-0x1.f660dp-2
+0x1.ebc2b8p-1
+0x1.c6a7dcp-1
+-0x1.601358p-1
+0x1.e41f38p-1
+-0x1.d89c44p-1
+0x1.92f74cp-1
+-0x1.dcdf2p-1
+0x1.a0c1ep-2
+0x1.8bb4a8p-2
+0x1.641d28p-2
+-0x1.ff7124p-1
+0x1.f3f19p-3
+-0x1.08ee9p-1
+-0x1.c0f04ap-1
+0x1.0f8c4p-4
+0x1.d9dbp-2
+0x1.00f028p-2
+-0x1.e041e8p-1
+0x1.b7e6c8p-1
+0x1.f4b948p-2
+-0x1.389918p-1
+-0x1.6f9ceap-1
+-0x1.7eb15cp-1
+0x1.ecb708p-1
+-0x1.de0088p-1
+0x1.7b99ap-1
+0x1.f8f5dp-2
+-0x1.d9cbcp-3
+-0x1.42f896p-1
+0x1.40f97p-2
+-0x1.d5c4c8p-2
+0x1.9e4afp-2
+0x1.39b05p-1
+0x1.9d6adp-2
+0x1.82b728p-2
+0x1.6c12fp-3
+-0x1.7006p-6
+-0x1.8daa48p-3
+0x1.aced2p-3
+-0x1.d24314p-2
+-0x1.7eb6b4p-2
+-0x1.b41ebp-2
+0x1.a79ap-5
+0x1.ec7c44p-1
+-0x1.ed956ep-1
+-0x1.daa7e6p-1
+-0x1.153ee8p-3
+0x1.009568p-2
+-0x1.755da2p-1
+-0x1.25c7f8p-2
+0x1.becfep-3
+-0x1.b2f498p-1
+0x1.08582p-3
+0x1.565dp-3
+0x1.3f28fp-1
+0x1.ad984p-4
+-0x1.4fe2ap-4
+0x1.82f1dp-1
+0x1.2a622p-3
+-0x1.ae2b3cp-2
+0x1.cbe1a4p-1
+-0x1.35b6dp-3
+-0x1.c8b878p-3
+0x1.c3a2ecp-1
+0x1.522f2p-3
+-0x1.be1e9p-2
+-0x1.6ef754p-2
+-0x1.f8a6a4p-1
+-0x1.d1ec74p-2
+-0x1.47941p-1
+0x1.aa6a6cp-1
+0x1.d605a8p-2
+-0x1.2c586p-1
+-0x1.06ee58p-1
+-0x1.1c0dep-3
+0x1.c7d3a4p-1
+-0x1.520b4p-1
+0x1.c8d75cp-1
+-0x1.ed989ep-1
+0x1.e8bfd8p-1
+-0x1.2ecc6p-2
+0x1.af1258p-2
+-0x1.892668p-2
+-0x1.bb9cep-1
+-0x1.52e0c2p-1
+0x1.5079dp-1
+-0x1.26826cp-1
+-0x1.007e0cp-2
+0x1.57b028p-2
+0x1.9ca544p-1
+-0x1.937f6cp-1
+0x1.45c26p-1
+0x1.f7d6dp-2
+-0x1.5923f4p-2
+-0x1.f02d3p-1
+0x1.9d0124p-1
+-0x1.0d20acp-1
+-0x1.529488p-2
+0x1.26387cp-1
+-0x1.7a2c3p-1
+-0x1.93d13p-4
+-0x1.0e1d5p-2
+0x1.605dfp-3
+0x1.6375ap-1
+-0x1.fae518p-2
+-0x1.2c96a4p-2
+0x1.bb4e18p-2
+0x1.6767fp-3
+-0x1.5060c4p-1
+-0x1.65493cp-1
+-0x1.9ea28p-1
+0x1.201e68p-2
+-0x1.7cd58p-6
+0x1.ab17c8p-2
+0x1.69055p-2
+-0x1.228c9p-2
+0x1.5e3a7p-2
+0x1.19a94p-5
+-0x1.63478p-3
+-0x1.a6ae8cp-1
+0x1.f965c4p-1
+0x1.cc78f8p-1
+-0x1.30a704p-1
+-0x1.8704bcp-2
+-0x1.a6adccp-2
+0x1.fdf238p-2
+0x1.bd596cp-1
+-0x1.3231c4p-1
+0x1.75562cp-1
+0x1.12848p-2
+0x1.e46e6p-4
+-0x1.5c7298p-2
+0x1.46576p-1
+-0x1.055be8p-1
+-0x1.71e8bcp-2
+0x1.31536p-3
+0x1.5b723cp-1
+-0x1.c401eep-1
+0x1.0b3cp-9
+-0x1.4c32ep-3
+0x1.436a8p-6
+-0x1.06df4p-1
+0x1.13dde4p-1
+0x1.276284p-1
+-0x1.1dcad8p-3
+0x1.3db86p-1
+-0x1.c2339p-4
+0x1.7866acp-1
+-0x1.3f4416p-1
+0x1.4b66d4p-1
+-0x1.c3e98p-2
+-0x1.002538p-2
+0x1.2f9f88p-2
+-0x1.6199dp-3
+0x1.ac2ecp-4
+-0x1.1e62dap-1
+0x1.b4f4fp-1
+-0x1.6380aap-1
+-0x1.6a4cdap-1
+0x1.c72fa4p-1
+-0x1.7e664p-3
+-0x1.4c9f4cp-1
+-0x1.e89ef4p-1
+-0x1.7c94cp-5
+0x1.f54384p-1
+0x1.8f3a18p-1
+0x1.a92a24p-1
+-0x1.db274p-6
+-0x1.d7e108p-2
+-0x1.ee7dccp-2
+0x1.72a5ep-3
+0x1.2cf82cp-1
+0x1.d06068p-2
+-0x1.616cbp-2
+0x1.e4b4d4p-1
+-0x1.505bcp-6
+-0x1.75b48cp-1
+-0x1.e4052cp-2
+0x1.5bbf04p-1
+-0x1.bc3c18p-2
+0x1.fa338p-2
+0x1.fe17dcp-1
+-0x1.671ce6p-1
+-0x1.e4e5ap-5
+-0x1.7cbb24p-2
+-0x1.8beec4p-2
+0x1.8d5868p-1
+0x1.609cep-4
+0x1.e328cp-2
+-0x1.bb84p-4
+0x1.0b46ep-1
+-0x1.1aff8p-5
+-0x1.6ba264p-1
+-0x1.2caf6ep-1
+-0x1.5075fap-1
+0x1.99cf1p-2
+0x1.57276p-4
+0x1.df1b2p-3
+-0x1.3efb9cp-2
+0x1.790bcp-1
+-0x1.8cf882p-1
+-0x1.93b616p-1
+0x1.339bp-5
+-0x1.9e0bf8p-2
+-0x1.eef702p-1
+-0x1.020798p-1
+0x1.cfd09p-2
+-0x1.8d0648p-3
+0x1.e36dcp-1
+-0x1.61d8dcp-2
+-0x1.428f92p-1
+0x1.ee7ep-5
+0x1.34e7p-5
+0x1.816418p-2
+-0x1.7778eap-1
+-0x1.972008p-1
+0x1.ffc7p-2
+0x1.e40fp-3
+0x1.68d888p-1
+-0x1.711cbp-1
+-0x1.db781cp-1
+-0x1.f7a38ep-1
+-0x1.44514p-5
+0x1.5ba11p-2
+-0x1.d482b6p-1
+-0x1.53858p-7
+0x1.a4fbp-7
+0x1.86ac1p-3
+-0x1.13cfcp-1
+-0x1.4e462p-1
+0x1.e911ep-2
+0x1.8a6864p-1
+0x1.2865e8p-1
+-0x1.739d78p-2
+0x1.d34ed8p-2
+0x1.44eeep-2
+0x1.b86528p-1
+0x1.649408p-1
+0x1.107274p-1
+-0x1.c72142p-1
+-0x1.541c6p-1
+-0x1.af2dd4p-2
+-0x1.943bd8p-3
+-0x1.dc38d8p-3
+-0x1.25c3a8p-3
+0x1.3885p-7
+-0x1.900cbp-2
+0x1.f99958p-2
+0x1.b8ccbp-1
+0x1.7431bcp-1
+0x1.896e6p-1
+-0x1.b23706p-1
+0x1.b5e0a4p-1
+0x1.4b3d9cp-1
+-0x1.0366c8p-2
+0x1.0a4724p-1
+0x1.64d5f8p-2
+-0x1.5dd0fap-1
+-0x1.a1821cp-1
+0x1.16f29p-1
+-0x1.155e14p-2
+-0x1.82d19p-3
+-0x1.e0b63p-4
+0x1.cedaep-2
+0x1.1d07ap-1
+0x1.814378p-2
+0x1.9db228p-1
+-0x1.597134p-2
+-0x1.e0324p-6
+-0x1.b774ap-4
+0x1.ad5fb4p-1
+0x1.b19dcp-2
+0x1.6875cp-2
+-0x1.fea164p-2
+-0x1.31225p-1
+-0x1.6020bap-1
+0x1.0b65d8p-2
+0x1.dd1298p-2
+0x1.6e154cp-1
+0x1.dd33ap-4
+0x1.b18648p-1
+-0x1.c2115cp-1
+0x1.82a0dp-1
+0x1.8d79ccp-1
+-0x1.51f75p-2
+0x1.c1e6fp-1
+-0x1.03e85p-3
+-0x1.5d6d68p-3
+0x1.8c739p-2
+0x1.93e8p-4
+0x1.e3d72p-1
+0x1.930b1p-3
+0x1.c551d8p-1
+-0x1.af488p-3
+0x1.a3d59p-3
+-0x1.ac33f8p-2
+-0x1.1dc9b8p-1
+0x1.6e2288p-1
+-0x1.2c901ep-1
+-0x1.8c6148p-1
+0x1.3f8bf8p-2
+-0x1.ce187cp-1
+-0x1.406308p-1
+-0x1.e2190ap-1
+0x1.92f278p-1
+0x1.b2be2p-3
+0x1.fcb4p-8
+0x1.6611p-1
+-0x1.b50992p-1
+-0x1.c2e2p-9
+0x1.ba9e38p-2
+-0x1.09e97p-3
+-0x1.85a26ap-1
+0x1.1f6f68p-1
+0x1.e9f48p-4
+0x1.ffc0a8p-1
+-0x1.eec03cp-1
+-0x1.71d31cp-1
+-0x1.971548p-2
+-0x1.0bd1dp-4
+-0x1.e17606p-1
+0x1.9b2fap-2
+0x1.3925f4p-1
+-0x1.3433c8p-2
+0x1.b8271p-1
+0x1.6a02c8p-2
+-0x1.6b738p-2
+-0x1.715fd2p-1
+0x1.2cda78p-2
diff --git a/benchtests/libmvec/atan2pi-inputs b/benchtests/libmvec/atan2pi-inputs
new file mode 100644
index 0000000..41f9ebd
--- /dev/null
+++ b/benchtests/libmvec/atan2pi-inputs
@@ -0,0 +1,1005 @@
+## args: double:double
+## ret: double
+## includes: math.h
+# Random inputs y*2^f, x*2^e where x,y are random in [1/2,1]
+# and e,f are random in [-1073,1024]
+0xf.e64ade01a4bcp-112, 0x1.51e7f10afb4d8p+292
+0x1.eb1594e8f1c6ap+348, 0x3.f3ad0d8215544p+112
+0x1.088f870ee691ap+280, 0x2.cfaffd3a44354p+900
+0x1.958092dd184ap-196, 0x1.2d547e5e0d0a9p+412
+0xe.dee18e7a8b8ep-848, 0x1.765fff587d5f3p-1024
+0x7.5224020da9c5p+768, 0x2.1e01c025eaf62p+212
+0x7.5da25daeca808p+400, 0x1.248a2a8873f16p+276
+0x9.b96d1dba2d8dp+628, 0x3.4262411da747cp+876
+0x3.8dcdb12e8f006p-520, 0x7.ca40e5d987398p+44
+0x1.9ee50c39f32d1p-48, 0x5.1e4326c496ad4p-204
+0x1.be04f86130756p+180, 0x2.d457c98518efp+308
+0x7.2e751bf2b8fccp+876, 0x1.12169563f86d4p+968
+0x3.26da26f2e0f7ap+596, 0x1.b5fa5c347616ap-28
+0x3.5c8cf5fa36fd8p-320, 0x1.909d3b62e5cfap-596
+0x3.8da67c7c8e46p-396, 0x1.e3c256ec4e494p-132
+0xa.8bbfd4f4ed25p-100, 0x1.7c770ae7b8856p+88
+0xf.d001af3a9085p-108, 0x2.f58c9c0b64848p+776
+0x1.9628542428016p-920, 0x1.25c4f0f55ca49p+124
+0x2.af8a460766408p-996, 0x5.f43a3724bae98p+824
+0x2.8b2e9d0564734p+952, 0x5.595a4250d1c2cp+140
+0x6.953df8526b648p+448, 0x6.cd4712d97a2c4p-772
+0x3.144607cac8e44p-396, 0x1.f7968b8c31942p+376
+0xd.d17dd2506e198p-128, 0x4.5029c933ee4cp-1040
+0x6.dc60eb08e7758p+260, 0x5.f8accf3e52e2cp+812
+0x4.849555e2ca9e8p+776, 0xd.98371e7122e5p+688
+0x2.2bee8b9b42bacp+112, 0xc.597cc8159771p-192
+0x6.26c71bdfbf598p+828, 0x3.c8e253c4556b8p+756
+0xc.43564b360047p+296, 0x1.036f7af72ab25p+372
+0x5.fab523d53372p-952, 0x7.196ba059143b8p-44
+0x4.dc658c0eaa674p-416, 0x1.02b8af8ce8482p+1016
+0x2.43bfd5633b1bcp-208, 0x3.660ae6406fb5ep+476
+0x8.65f073c6979f8p-176, 0x1.3a08958c564cdp+348
+0x1.c998958142e68p+880, 0x1.7ec64b4f45cccp+716
+0xa.f5949874c1dp+56, 0x1.a363b4e2f472ap-52
+0x3.b03271a1c01e4p-304, 0x3.0fa7e7ef6ceccp-116
+0x2.a5a5d6695d63cp+152, 0x1.b66a73c2ea728p+64
+0x5.1d4bb47746748p-504, 0xe.ec21bf413a2fp-812
+0x5.c648ea0d96674p-100, 0x1.6ddfb8431aa8cp-680
+0x7.4bc1dd3401be8p+876, 0x1.38acc8fe3787ap+12
+0x3.585e233258274p+52, 0x2.a2aeee2fc0ebp+96
+0x5.db94503dfb874p-720, 0x2.abf5b9fa1bf3cp+368
+0x5.0f3b462ee21p-788, 0x1.69ecfd91fb9d2p-456
+0x1.75710a89f8007p-164, 0x5.9c18df3380e08p-580
+0x1.f5dbb94358d72p-868, 0x1.e053f1c2f68c6p+364
+0xd.012531065743p-584, 0x6.a70dd5b92b9a8p+968
+0xd.4fe53c5e934bp-868, 0x4.7dd5de2eb4ep-640
+0x6.5cc6284cac46cp+832, 0x9.164da0139c63p+200
+0x1.51fd1c202e5fp-952, 0x1.29cf107bc7d2ap-976
+0x3.f18c72435d034p+812, 0xe.b02c11048e05p+332
+0x3.577fc1909cf74p+324, 0x2.054b57128cc2ap+984
+0x3.720e627078e0cp+280, 0x5.40dfc61849aep-1056
+0xe.b263e62d00a9p-756, 0x7.a57cbabc1ea7cp+244
+0x3.24274890bcbeep-224, 0x1.6c35ac17f3958p-856
+0xf.412008621829p-700, 0x3.874d8524e05dap+340
+0x2.fcc56e0b04048p+824, 0x6.84f3042f4438p+824
+0x5.c66cdf1e9d3cp-304, 0x8.d61ca0f7a30ap-1072
+0x7.1af1640f99754p+544, 0x4.ed53dab8f77ep+184
+0x4.6b431d7fd9c8p+408, 0xb.06f5f247f22ep-136
+0x1.e0aef53445013p-708, 0x9.8403722b764ep+944
+0x6.c2e473092a8f4p-468, 0x3.9f2f924a40fa8p-936
+0x1.7a000b5ff424cp+964, 0x7.c19e0cb3b0fa8p-188
+0x3.a29126cdc15acp-656, 0x1.7c80fc7dead3ep-912
+0x2.407aba3dff534p+236, 0x1.95f8a02c6a09p-252
+0x3.d8337d0c49ae4p+592, 0x1.c7c69edd549dp-200
+0x1.5334a822bc6ecp-628, 0x9.c4c4cdd162cb8p-352
+0x2.be0f104d85c38p-784, 0xe.f22b29fade1dp-700
+0x2.4ae91c1683368p+152, 0x6.a3ff0e0190f1p+148
+0xf.b137e644b7efp+340, 0x6.1fe4fb548eb18p+288
+0x5.d09faad0d26a8p-604, 0x5.2bfd22bf079e8p-16
+0x1.2da12571a266cp-920, 0x1.238d5bb74cd41p+36
+0x6.7901c11c2a958p+532, 0x4.6ed8643b29818p+140
+0x6.3f3764382c69p-1008, 0x6.7d1a0c7cff718p-196
+0x2.432012c11cb9cp-956, 0x3.62e1b870dfe68p+828
+0x1.5a75dd3d46b3ap-52, 0xb.20bc6cca08dd8p-52
+0x1.039c817b1e754p+900, 0x4.8af2e9bb880f4p-36
+0x3.374cfdd0d958cp+48, 0x8.cffad14f7d49p+808
+0x8.45a78fae8395p+8, 0x3.ff2a6d61de1a8p+776
+0x2.0dfcbf647488cp-48, 0x3.a4f0a7f53eb4ap-448
+0x6.5f603cd9c086p-484, 0x8.974457ae13b5p+124
+0x1.c44c73ea4d6d4p+764, 0x1.f365d6441732ap-164
+0x1.21b7c518c8cdep+548, 0x1.c527626b4003p-448
+0xd.3f70caa95124p-792, 0x2.5e617f4ee6c9cp+756
+0x3.38a11f34a53fp+984, 0x7.ac733cfc91c8p+120
+0x2.99b3647427724p-864, 0x1.7eef87419ab23p+976
+0x2.f8ba052e65924p+696, 0x7.483c41c523fp-188
+0x3.b1fca129f69cep+1000, 0x2.1e5e1cfe0324cp-720
+0x7.35c7cd0cdc05p+768, 0x1.6ca14e5eb8bccp+792
+0x2.bef21fb88019cp+280, 0x1.165bc4808772p+88
+0x4.3d52323287198p-92, 0x3.3b8e4099d5c78p-88
+0x3.af22fa9209678p-180, 0x6.62eeca19fc4fp-436
+0xd.a4eef5515ca4p-468, 0x4.c987328716c48p+468
+0x4.c9d2db543e798p-920, 0x1.25bdec8404d2ep+796
+0x1.8cc4d2e56579bp+192, 0x1.34066c6510e9p-8
+0x7.35d2d66efc668p+4, 0x2.53a9a66eff12ep-1040
+0x2.6fe1dea6f4018p+932, 0x8.b010ae35b2028p+624
+0x2.be12b601aeec8p+348, 0x1.d0fb6f0c984d1p+432
+0x7.1794afc2cbc2cp-408, 0x8.e88a0fa60941p-648
+0x2.639a4bdf9e574p-592, 0x6.39b1fdc44737p+800
+0xc.d4e937c6c08ep-648, 0xa.6eb04d5850468p-952
+0x1.a200f30f09d36p+896, 0x1.af0bb6b837ccfp-648
+0x4.678eb15984c48p+260, 0xb.59619a546942p-460
+0xe.33e689cd0b64p+568, 0x1.5adf9a4ec17a6p-4
+0x1.609d1d930e30ap-712, 0x6.637609c9a499p+428
+0x2.bf7627d27029p+388, 0xe.a57e83b2fdd5p-108
+0x6.8fdecbbe2ecfp-32, 0x5.0b980a7d45cd8p+740
+0x1.9dd0e698d2f82p-1036, 0x1.b4f7bf3e0cfbdp-232
+0x3.d8db3fe25738p+872, 0xc.16538658b3828p-456
+0x1.79fe74de9bae2p-328, 0x2.31290e2e4fdf4p-228
+0x1.2d49573a18bfep-620, 0x6.e737ee350c30cp-868
+0xb.8b16ca316ca2p-688, 0x1.fd7b162f797c2p+956
+0x4.95db373e83578p-4, 0x2.3df574c0b2bf4p+480
+0x6.1e877a5c4a614p-52, 0xe.06ff7b7b9278p+236
+0x3.63120428fc99p-476, 0x4.f533a0d338248p-524
+0x5.2ef37c2a778dp+304, 0x5.4e0c2932acc8p+852
+0x3.ae29fff71a16p-808, 0x7.989da49d834ecp+420
+0x1.ed5bc3bb667abp-344, 0xc.4c773260b9388p-184
+0xe.2682c59cd715p+824, 0x6.b53ad7e54e0f8p-580
+0x1.6140c28ad9384p-960, 0x1.e606defb78483p-436
+0xd.5f7e9a8665dp-816, 0x1.4cf53d17f6036p-956
+0x7.36ddffad116dp+260, 0x1.d760f2e156bcfp-852
+0xa.dae175b9dcd78p-784, 0x3.90571ff2f954ep-212
+0xf.c3f98a4f749p-860, 0x3.2c8f867af2dap-864
+0x5.5ff55c4d6381p+144, 0x4.5e7adaf849388p-712
+0xc.b85fe56ea69bp-1044, 0x1.360ca2a17c7e2p-284
+0x7.cd8138381e5ep-412, 0xc.c0096f131357p+484
+0x1.00724b00a26fp-916, 0x5.61fc1314cf7a8p+904
+0x7.3d5d197d0ad5p-524, 0x2.f117316899242p+784
+0xa.e54baa694256p+12, 0x9.0166c5bb0997p+596
+0x8.c8f199c549bap+428, 0xe.e6f4971a1ffe8p-116
+0xe.1911c56cd424p-268, 0xb.636d0fa48fb1p+48
+0x1.3ee4f286b9eabp+448, 0xc.9bb2d4c3107dp+848
+0x1.b9d7a664f0c9bp+524, 0x1.6fd48d906368p+708
+0x1.700a831dc5ccap+180, 0x3.570f9aaec7ddcp+320
+0xb.0e5628310cf8p+644, 0x1.ded813d67a59p+88
+0x1.9b66c7d4f997fp-324, 0xd.ac6bae2d9808p-252
+0x1.e5e0b226372bep-924, 0xc.fdc2de9d45e8p-404
+0xf.ec2648722fcdp-168, 0x3.f3512227dc024p-868
+0x4.4a1604ed62e2cp-1024, 0x1.e64565681e8ecp-400
+0x2.918b7f1b43478p-856, 0x9.cf5a57ee25b9p-964
+0x1.928f8281663b5p+732, 0x3.8c37b9f2b9c44p-68
+0x1.47d022447d0d9p-212, 0x7.3003d07b98becp+336
+0x1.7478127c022bep+108, 0xe.db203d98e5b4p+956
+0x3.e215aa8a7081cp-792, 0x6.b88e76c4439p-472
+0xf.a75abb96d5378p-1060, 0x4.3f8f0317952ecp-472
+0x1.54aa777eb8cacp-172, 0x2.f7c43f0883afap-804
+0xc.278a41202728p-372, 0x3.bb6e98051a084p-788
+0x3.81aca23dac714p+780, 0x1.a901ac7572b76p-844
+0x3.7e57612ade912p+616, 0x1.96dca3bd63e4p+476
+0x7.0104a5d4969e4p-780, 0x6.55a4b56d20f34p-1052
+0x1.978a2a42b7a1p+816, 0x2.da4f604068c8p-868
+0x7.3c8bf43147cbcp-476, 0x4.2fa5efe2658dp+788
+0x5.a2a48df0c9a9cp-964, 0xc.be9c4e4835ap-220
+0x1.e760064ea6764p+208, 0x4.5470c47ab193cp+648
+0x5.bade57403303p-560, 0x7.586deffa315d8p+612
+0x1.b092c08816f3ap+76, 0xc.eeadbebbb8aep+880
+0xd.c474e046fc9bp-776, 0x7.e9aab9320d518p-784
+0xc.d6345ea415ebp-632, 0x3.9b43f679ce1fcp-744
+0x4.e2270e454804p+668, 0x1.732bb96673a3p+552
+0x3.a2b01ec82b18cp-940, 0x9.7946d49a7efep-792
+0x8.588c53fb075p-380, 0xd.f2a013fb82768p+932
+0x7.843c28b11b0dcp+608, 0x2.c1415855cc2b4p-740
+0x5.f576ab5c5d068p-132, 0x9.3d4ad13e5adf8p-892
+0x3.5a259e389097p-768, 0x1.ce12bfcb61592p+552
+0xc.08cce6344882p-396, 0x2.b0aa1def16b84p-284
+0xf.849eed4bd969p-104, 0xc.f1ff6a1e30f3p+656
+0x3.60cf6872405dp+216, 0xe.916cb1a07e21p+488
+0x8.afa0246884d7p-4, 0x2.aa9026cb11502p-1068
+0x5.8459722493b6cp+364, 0x1.9a4a1881cff3p+828
+0x8.d1fea3e3ec8ep-1064, 0x2.a6ea369fc5a04p+896
+0x5.98b34bed20424p-224, 0xc.b4bef5e2dd3ap-660
+0x6.82e6415d201b8p+488, 0x5.0845350b3ef2cp+312
+0x4.02185391eac34p-780, 0x2.3f260ffa0a38p+12
+0xa.3a2ab72455728p-732, 0x1.ac457643819eap-868
+0x1.1e452f0447ccap-1052, 0x1.82814a5d9d79p-152
+0xb.c06d651760dcp+716, 0x6.c352ff76dacap-232
+0xe.b168b1855a5dp+196, 0x1.33ae7942d28b4p+176
+0x5.d5d69f9a0b7dp-212, 0x3.3495e0864b17cp+736
+0xc.3f0567b829c1p+376, 0x8.c590999b3ceep-296
+0x1.f6fc01e1050e2p+712, 0xc.0c2125131f4cp-476
+0x1.897bce0913784p-400, 0x1.c5ef4d3868c5ap-16
+0x1.59dab541131eap-536, 0x7.819776061a66cp-876
+0x3.f25dc36b6237ep+420, 0x2.1185326bc2f7cp+648
+0x3.e661c67fc9d14p+632, 0x1.cd220c0d8c697p-544
+0x2.9b2ea8ec0335ep+204, 0x3.96cef7c99ed6cp+736
+0x3.a5b56029ca106p+720, 0x5.0ddbd8c34bb38p+732
+0x1.bd0b04b0d5ffp+768, 0x2.acb086485c0acp+228
+0x1.253ebc6eca2f1p-328, 0x5.28a35c4d7273p+216
+0x1.c7ea9d9e6d606p+216, 0xf.9c8b53d0cabp+268
+0x2.7da9dc9e7f3f4p+380, 0x2.2c94bd9739264p+100
+0x1.42fbbef780b89p-208, 0x1.162f54ac2c616p-1052
+0x1.8c75f21ff63d4p+196, 0xa.8efb1f73da5ap-772
+0x5.3c267ea019b2p-1068, 0x3.48cfb105670fp-824
+0x2.b4145495175c8p+128, 0x5.48614324aad44p-340
+0x6.233f74ee5efc8p+624, 0x1.914e55cce282bp-636
+0x1.4acb38cb1a918p+324, 0x1.f9e9ede35d216p-680
+0x1.cfe994bda3f56p-952, 0x2.6b1c92872537cp+872
+0x2.66d4aba59fa24p-800, 0x1.8019acfcda12bp-436
+0x2.5199427fa20a4p-32, 0x1.fd96bbfc3f9fcp-468
+0x4.e655d3343f5e8p+56, 0x1.3f492e7cd0dfap-80
+0x5.d9a335474947p+548, 0x9.ac1d614150b18p-988
+0x5.b2451c618e62p-68, 0x2.9c3deca394cdcp+696
+0x3.7dac74e990246p-768, 0x1.5dfc6042b1b8cp+572
+0x1.ccb45ef84dc6p-76, 0x1.273b361c6d5b3p-220
+0x1.5e2613f706d82p+260, 0x3.9064078ea96d8p+16
+0x1.46ea9a76a8cbep+252, 0x2.84ac448cf3e7cp+1008
+0x6.a67693dbd8f78p-956, 0x8.0025c257d52p-924
+0x1.e0fe63888157p+884, 0x9.2ae8309feaeap+1016
+0x2.5b9c6a88ca5ecp-156, 0x3.3ae1d36734fbp-28
+0x9.8facae4bc3f1p+32, 0x1.9e88ee1f6597ap+240
+0xb.c53a4f6348bc8p+124, 0x7.8af8454f9f79p-996
+0x2.3c91ecfbfe8p-140, 0x1.7f7978441c1dep+676
+0xc.4c86fd4536f28p+1000, 0x1.0855cb68a6e14p+828
+0x1.b0de303b74bep+416, 0x1.569a02a128dbap-628
+0x5.8e3754c745bb4p+196, 0x1.1719ac573d318p-120
+0x4.4472680edad9p-212, 0xe.e7a8b9fd1a6cp+816
+0x3.b9c681dcb8abp-532, 0x1.88f9d054fec01p-56
+0x1.d88ba612f7fb7p+92, 0x9.719683b165228p-488
+0x3.417187152d65cp-532, 0xb.34c6a168dcb88p-1004
+0x3.db242662b06a4p+728, 0x4.4e01364fed234p-412
+0x4.0932a06158358p-1032, 0x2.21a57514c6456p-1004
+0xc.32b403b648068p+424, 0x5.0ff2decbda358p-492
+0x1.345d42d59c984p+24, 0xa.9ec32e5a2b72p-1044
+0x3.0fcc7d196782p-668, 0x5.af2fea109a398p+520
+0x3.d943088a6f7c8p-840, 0x6.6c37491c8481p+404
+0xa.ac6a25358517p-528, 0x5.67f0bfadc5ddp+204
+0x3.9dbe4836ecc2p+488, 0xd.3a40509ac8bp+660
+0x2.f8cfb00bedb04p+368, 0x3.d87d01a84c9a8p-92
+0xe.53c7e8e5b73fp-20, 0xd.b82fa0586e4fp+404
+0x2.bdcb25535d68p-724, 0x8.89c60faceb9ep+932
+0x1.97f5a2418f81fp+972, 0x2.fe67c6004c6e6p-188
+0x3.d04a4c119b1cep-932, 0x3.0aff7ccf9f8ecp+284
+0x1.182cce72bb41cp+452, 0x1.ad0bc9c68c36bp-552
+0x1.684fd90dbb208p+36, 0x4.6e1de256dd1a8p-356
+0x7.7f05b8fd7d7p-832, 0x5.fbb1fd05105p+536
+0x1.5ec928b34cafcp-72, 0x1.e5fc7acfa9e74p-648
+0x1.07d7a7615c51ep+508, 0xe.92a9c751387d8p+268
+0x1.d762e9fa5d72ap-580, 0x2.a2931f295bddcp-1072
+0x7.2512f9d7d7d34p-60, 0x2.c791974941d6ep-952
+0x1.9bd1cfc2ec966p+600, 0x6.ffe56421c30a8p-80
+0x6.9210e729dcad8p+56, 0x2.243058779b208p+260
+0xf.10f6a16c1ccdp+568, 0xb.a25e09b995c7p+196
+0x1.510e5ff05af4bp-1072, 0x1.8c4c538c69d11p-808
+0x2.faddd1e3b2768p+496, 0x6.e96782e3bacfp+840
+0xa.a4362636c1f5p-1048, 0x6.413a2dca2e034p-488
+0x2.6c8d95ffa492cp+324, 0x7.bae5c23b589p-336
+0x1.64dc38f761fap+628, 0x6.0dc8eabe0938cp+564
+0x1.7ee4b301a8002p-476, 0x3.24921ef5419f4p-572
+0x1.7bc129dd6efc2p+144, 0x1.09371dceb369ep-336
+0xc.11c0516c1738p+916, 0xc.4ffde18fb84cp-680
+0x2.66e67bbbe01ecp+660, 0x2.4937b1de7b71ap+500
+0xf.82ba09a38e418p+796, 0x2.7a7450f4bc2bcp-756
+0x4.9740dd4aa7848p-128, 0x5.f8700b2b49f4p-492
+0x1.91984fb0fea5bp-436, 0x2.68668e5643bdp+696
+0x3.c33d070cfa60cp-120, 0x1.e1f8cae8de11dp+380
+0x5.7b902827b714p-420, 0x1.7d4bb2081bb24p-560
+0x8.b72267532875p-44, 0x8.4176a0baf9p+36
+0x1.d10fabe9c9deap-776, 0x4.679a35f3387d8p-224
+0xb.ebe17a1f957a8p-988, 0x5.07b71fe55d2cp-684
+0x5.6d7aba592b68cp+280, 0xb.d72d43e798aep+392
+0x1.4659a9e7c2018p-884, 0x1.6c53ab0decda2p-924
+0x4.a6139c1c9b18cp+436, 0xc.b7e077f90cbcp+240
+0x7.549c041e9f128p-48, 0x4.989b096e8217cp-488
+0x5.e3f4f1436ce78p+928, 0x4.7e719087b4294p+720
+0x8.4c109bca8df3p-676, 0x1.db485c4c6df52p+768
+0x2.e7203c3fc44f6p+1016, 0x4.96e71e2d28afp+680
+0xf.0cfb8eaa550cp-400, 0xc.42c8d7095b438p+248
+0x4.0add4991fa678p-348, 0x1.1bf7717f8a70ap-448
+0x6.9984051334efp+656, 0x1.ccf93bfed74fcp-272
+0x6.1c4e547ea7448p-416, 0x2.f1e0e622f805p+832
+0x1.d28130e0e2ba8p+532, 0x1.f1af55b769352p+400
+0x3.4d366e6b1d0d2p-284, 0x1.93f305f8e1748p-220
+0xf.9dc83412b42ap+252, 0x1.b9cc96d24f8f6p+728
+0x7.9f25b233a349p-1060, 0x6.fe6bfac66d608p+84
+0xb.869e5dc1048dp+688, 0x4.6dbaaaaac1a38p+400
+0x9.80e6fea95636p+912, 0xd.0b2c58fe84fbp+1012
+0x3.fc4641cfd33b4p-308, 0x1.a2c939e0dc69dp+1020
+0x5.6eee6a72a9208p+704, 0x2.8fe8497484468p+648
+0x3.b56ecc4313cfcp+964, 0x2.f743973497184p-328
+0x1.72e3bafd6432ap-128, 0x7.862e2927e375p-76
+0x2.7fdbab81135c4p+804, 0x3.0380bf5de3d3p-1064
+0x2.a919cbb7d4406p-780, 0x1.57278c5a02164p-200
+0x1.a2841d9dd6c36p+864, 0x2.40b450568e868p+192
+0x1.d1ff447462ed9p+704, 0x1.287734cabaf5p+908
+0xe.50a499854669p-36, 0xe.16113a974e5d8p+500
+0x5.e36a6731dae5p-356, 0x1.ac7b7ff80a72p-720
+0x1.400eb401a5744p-932, 0x1.a3a765a5ecb0dp+944
+0x3.fecead10bd7aap-404, 0x4.bb7a8c66e5a38p+488
+0x2.5eb0d73b5472cp+320, 0x1.c0bd9a0b2aef3p+632
+0x1.4a68d446d932cp-568, 0xa.9bb59ae1f67dp-324
+0x2.41b130bf5ea2ep+924, 0x1.14ddbc8ab57c6p+976
+0x3.1f2dd0f293098p+468, 0x7.7d22a52340f18p+720
+0x8.089a6dc1d9bd8p+84, 0x2.93a3adfc03a9cp-360
+0x5.f42077a81305cp+388, 0x3.4d26ff0b0d788p+640
+0x7.760d4e3473d98p-592, 0x2.ca922fc58e644p-1016
+0x1.144c4c97f8116p-764, 0x1.cc2dc6d47a63ep-596
+0xc.9cf16b7d5bb7p+104, 0x7.15ba644ebbba4p+656
+0x3.b259f33fbfa2p-56, 0x2.3a88166b38d1cp-732
+0x1.3874fa207e618p-1044, 0x1.01bd7d6e5157p-180
+0x4.e0e18d640826p-296, 0x3.a5d4b0c2a543p+184
+0x5.d64aa5979956p+456, 0x1.de3346e7e12d6p+280
+0x4.b11b826129748p-700, 0x4.7ca8e4d541abcp-700
+0xe.747e5c8c48e5p+496, 0x3.2e3870826209p-288
+0x1.da1fc4468e206p-420, 0x1.c0b794a423c0dp+64
+0x2.93a228def5274p+384, 0x8.9e2392564d23p+1004
+0x6.885977457021p+820, 0x2.e6d472908a1e8p-608
+0x2.294a0ae86cb1ep-612, 0x7.60d840b08c648p-472
+0x7.8795ad25fe428p-840, 0x1.e5019f5f617bap-992
+0x5.ee48452d87168p-616, 0x1.1512d1303c50cp+12
+0x6.f32041a900488p+392, 0x9.318469fbbc71p-464
+0x7.991cce573e9f4p+28, 0x9.e13667e145898p+596
+0x1.12844254e372ep+12, 0x1.77c6b97f585ddp+808
+0x2.445306fdcd81cp-808, 0xc.21a9f51bd368p-1024
+0xe.d39ec7af267fp-908, 0x1.dd4d21c9f6491p+328
+0x4.57a2c47b1d4ep-632, 0xb.38d83d9bf6028p+876
+0xe.ce00e28a67fe8p-336, 0x7.22aff1e8df1fp+112
+0x4.36eb1220b4f8p+256, 0x7.3f1c13461e438p+88
+0x3.a42e006f19c4p-580, 0x3.69cacaee59b2p-240
+0x7.ead41e3b9bb9cp-936, 0xd.62561acca511p+348
+0x3.7724321a8dd28p+436, 0x5.527b6ad943138p-112
+0x1.f32d87bc72e63p-756, 0x5.1e33d73ea14acp-700
+0x4.0f12d1a0bfa7cp+968, 0x5.878d52bcdaea8p-284
+0x2.efb04b65dee26p+124, 0xf.f04d459858228p-516
+0x5.4f336dc2d3d1p+112, 0x6.6eca0075b9d8p-336
+0x8.4c397d597576p-916, 0x1.b0f1b2c7c6e78p+528
+0x1.6267710f2a244p+4, 0xd.a7204563b052p-496
+0x5.20be4b42e90dcp-1016, 0x1.bb5d82daa9e21p+452
+0x1.f86acaa184a54p+972, 0x1.9b0b586486cf5p+148
+0x1.5f76f7af414f2p+96, 0x1.7ce2a37a333e9p+548
+0x1.c45f46e92334fp+996, 0xa.e30448fba792p+496
+0x6.22e02f952fb5p+784, 0x4.e34c2787e1e1p+848
+0x2.ca8c84a7183dp-716, 0x8.d001caa07f12p-1056
+0x2.0bcdc44ce882cp+132, 0x7.71b224797dba8p-724
+0x1.69d92e9ae3d02p+344, 0xd.55018c3fc39ep+516
+0x1.af281bf6b32b2p+572, 0xb.7e341156e617p+392
+0xa.933b3d4ed762p-280, 0x2.988c7e6ffa784p+512
+0x4.aabc2b7dc1a4p+880, 0xd.10eeccabbe478p-1064
+0x3.55362662b0822p+636, 0x2.eb5407d01a76ep+640
+0x6.7d93f3110ae74p+228, 0x7.d3a224fd8534p-448
+0x4.888a0a062c6acp+668, 0x6.6f56b65b96dfp-256
+0x9.14e63ae74bf4p+324, 0x6.52d9e926f0b78p+536
+0x5.9dfe5df6b8738p+452, 0x2.941ea7ce1a19ap+960
+0xc.fba00009464b8p+776, 0xc.e320e178f47ap-772
+0x7.235873c5fa28cp-52, 0x7.249c3250f91e8p-204
+0xc.1125b4bed8418p-612, 0x1.7ef2ac2f367dfp+100
+0x1.6b2d8d0162df3p+376, 0x2.e8331afa1f6a4p+784
+0x8.e2054988b942p+724, 0xc.276a8b4db454p-824
+0x1.303924f2d614fp+532, 0x1.cdfd68ddf63bbp+8
+0x6.476ac01a34128p-748, 0x2.d1631b04acc38p+856
+0x6.254ae3c698bf8p-904, 0x3.0f4bccaa717a8p-1056
+0x2.783acb329a718p-1064, 0x1.5fde8317e355cp+596
+0xd.3150da1a78e58p+684, 0x1.8f9627f5854f7p-1000
+0x3.94e8a189ed3ecp+232, 0x1.aa98b429bde2p-644
+0x9.8ab6c4711f46p-92, 0xa.83186f99d8dep+356
+0xd.cba22764d7fdp-692, 0x1.260d8c3941abp-764
+0x7.aab8d18d67c18p-628, 0xc.65fe0867c7ee8p+476
+0x3.67f98823b7cb4p-136, 0x3.60b1123ced952p-952
+0x2.29dae0ac6a94cp-908, 0x7.960e82b2a64d8p-600
+0x1.0dfcd104cf31ap+348, 0x3.d17aee3c390eep+480
+0xf.b050d1454144p+1004, 0x3.012f752f58464p-388
+0x5.70fd809e7e73p+584, 0x3.c6c6bf6ec8604p-204
+0x3.01ad750c96b96p+556, 0xc.c60d6d811caap-496
+0xd.de9ab38c5303p+116, 0x1.507dbd680ea73p-252
+0x3.70dd7ba8b1db6p+68, 0x3.437a923cfaedp-104
+0x4.9ec194802a7c8p+420, 0x2.f68328d13e53cp-728
+0x1.9ea423b87e115p+236, 0xc.378aed07569b8p-748
+0x4.0916ff61f6bd8p+392, 0x9.f75ed97e674ep+704
+0x3.fc2a6456727eap+344, 0x3.cbd6afeffe662p+532
+0xc.4d46ebe45b678p+236, 0xc.4b5701a3a1d7p-784
+0xd.57862d1054cfp+608, 0x1.fc5ead28d616cp+580
+0x1.f9249b1ec9fdep+776, 0xd.907f7b3836848p+400
+0x2.f812202a7d214p+964, 0x1.f8c1ac3bf6e66p+656
+0xe.98ef5b3b29fcp+4, 0x3.7ef8ba287056p-312
+0x7.b564a267ffeap+360, 0x5.5528d072e5984p-236
+0x2.4fbc555a46464p-464, 0xd.441b7ec86c96p-700
+0x3.ed0da23eda51cp+236, 0x1.4b7765597a086p+224
+0xf.e98f56a7364fp-212, 0xb.ee672898f7988p-352
+0xb.a2b6b5979cd7p-280, 0x4.974214fa5fb38p-8
+0x1.ae3abd8edad9ap+732, 0x5.9e56016418eb4p+752
+0x3.2afcb9f631d2cp+484, 0x2.122e2f2bed14p-212
+0x4.042e590ea31p-820, 0x5.bf8ad4f229ad8p-852
+0x2.423d9cdf3e338p-228, 0x3.df9a729e942a4p-736
+0xa.d143ce93c6318p+68, 0x1.9e4cc7a88abep+60
+0x3.8c3df5da8dea8p-500, 0x3.047662add01ap-352
+0x5.2f936b883b7f8p+668, 0x3.5ff3f0ca10bbp+364
+0x3.8e839fdd3a63cp+932, 0x2.e5c226a64fcc8p-120
+0x3.38d5c9df34f8ap+424, 0x4.d5af3efd87498p-776
+0x1.fc3378f8fe934p+320, 0x1.459bf6c2d0e86p+736
+0xd.ea4164021784p-568, 0x9.e9554e257e748p-832
+0x1.70f62b1865e8ep-240, 0x3.6aebd9ebd4104p-144
+0x7.880178e774ccp-420, 0x3.cfd6ea5c450cp-500
+0x1.b34494c9d378cp+552, 0xe.fba1acb258b7p-268
+0x7.4a572dea73128p+76, 0xe.b9651f2ca523p-820
+0xa.bde669d6f036p-768, 0x2.dc32c0b3cc2bp+940
+0x1.a58028c6a4a84p+56, 0x2.9cfc58ae238ap+124
+0x1.49e0adaa1c834p+896, 0x1.d52120ff4bd76p+528
+0xb.4a847f5caaf3p+260, 0xa.151ca10323758p-772
+0x2.38904d3899358p+240, 0xc.4c604e47ba87p+108
+0x6.9cf8703cfdeb8p+616, 0xe.04e292f79c66p-968
+0x7.cf9245ec208a4p+376, 0x1.8e178b17c3b44p-208
+0xf.6f8e9ae21d84p-572, 0x1.848657e4f328cp+516
+0x9.f1ecb8a17a57p+952, 0x2.ddcbcf33186d8p+788
+0x3.cfb9b3eeace9p-936, 0x1.27f0fafea1e0ap-772
+0xc.9386c9bb19b4p+632, 0x1.e980fc563b614p+944
+0x3.ffdf267ced49p-904, 0x3.c12fc6be69898p-260
+0x1.893fa843411ffp-964, 0x1.e0b4945036246p-1028
+0xa.94814f8b7e4cp+780, 0x3.37952be2825e6p-184
+0xa.2b9407aca2488p+624, 0xe.1003b47dedba8p-324
+0x1.1c48ed95a8618p+440, 0x9.64e7fcdf1374p-508
+0x6.9fec47ac9329p+492, 0x3.86e2498d9976cp+660
+0xe.ca39aabbbd2ep-292, 0x3.0316c296b1fcp-704
+0x6.c9bdc0cb8f118p-880, 0x2.9acbc4f9144a2p-968
+0x7.886bdcea2735cp+996, 0x2.a43b625914c34p+876
+0x6.36425676ba89p-716, 0xd.de514256bce4p-976
+0x1.c7320eb01e55ap+620, 0x3.09e6ea4a626cp+620
+0xa.f2fbd8a35787p+1016, 0x3.1efb7da0aa278p-848
+0x2.a9f0acfb2716ep+324, 0x8.cc5a12dec07fp+196
+0x5.4f2d0a6a9699p+296, 0x2.d0fdd188fdc24p+32
+0x1.41a482c422228p-356, 0x9.b97e0b87f628p+832
+0x1.79e4ff7ab4b02p+464, 0x1.2ba38059848ccp+108
+0xd.f501aac49b378p-744, 0x3.eda919909732p-56
+0xc.a481a97d8e3ep-244, 0x1.202393135134p-892
+0x6.b4565c2ea5d6p-268, 0x2.613b4f04adb24p+1004
+0xf.94ad384c6f33p+592, 0x1.5022e1b9d1d78p-772
+0x6.ad138a3c67894p+148, 0x5.92aa0b9762cfcp-328
+0x9.13cad8e27c35p-704, 0x8.ea03cc66ff328p+112
+0x6.aa54a5e58f374p+724, 0x1.2ad5539936655p+120
+0x4.94f4f78604194p+580, 0x2.8037db175604p-1040
+0x2.ae3880da2f2d4p+916, 0x3.210a5e686ee6ap-724
+0x6.f37f70d2cdf98p-528, 0x6.580f72d4c275cp+132
+0x1.4cf3f765c94p+1008, 0x1.ccfd8431f7d6dp-404
+0x5.07f34c977ba54p-152, 0x1.580c4908303cbp+260
+0x1.b1cd829f03558p-416, 0x1.3aee6629428ap+852
+0x6.37dbc75598c44p-860, 0x2.24f1736691a84p-376
+0x3.e75f0c85f23p+76, 0x1.ba253190713bcp+508
+0x1.bb646e909df64p+916, 0x6.518e98c5b3bcp+292
+0x1.ddd0cc6dc8184p+756, 0x7.feccb6b1a4c9p+360
+0xb.bf7a30070093p-516, 0x1.fd70bf9d7d57cp-904
+0x2.19f76df72475p-824, 0x7.1b71f331fa254p+760
+0x1.e6c2ed52ef49dp-784, 0x2.ca1b9bb27c912p-640
+0x1.bc79578223e9ep-360, 0x2.5eae3b220b0a6p-84
+0x6.a2c20a9ecf0b8p+524, 0x1.8777fa657f76p+980
+0x1.677c61fc6c51ap+512, 0x2.f6c788c97a764p-124
+0x1.ed0dce824273p+716, 0xc.c39063372cd78p+356
+0x1.0d2c9d82cae2ap-20, 0x2.c186aa73491a4p-292
+0x3.66731605a0d94p+28, 0x3.00f53ecacd0d8p-548
+0x7.92f162d7a2168p+228, 0xe.dcbd47619d71p+252
+0x1.7f6ad058ad128p-384, 0x8.685fff6a08d2p-372
+0x1.7b5e066be63p-216, 0xb.1c77bc44e6ddp-520
+0x1.beddcfb66e505p+4, 0x9.a3e4ef20bd99p+432
+0x1.cff84615837e6p+164, 0x3.d86e03768e99ep+484
+0x2.a300f0a220876p-168, 0x3.d18a46be621bp+332
+0x4.cea8cf37d3e14p-540, 0x2.2958caddb5a26p-960
+0x1.a1af93dfda061p+492, 0x2.504ec42a8c632p-124
+0xd.6410044e62628p-364, 0x1.221b63030b9aep+520
+0x1.6dd360537b632p+380, 0x1.41c25d53ce21ep+960
+0xd.b4eca36b85fdp+776, 0x1.206ac295f3ffdp-916
+0x6.5fff39bd8a5f4p+832, 0xa.99cb17b0efa5p+252
+0x3.cae4280ab193p+804, 0x2.2f49deb7628e2p+848
+0x1.64f73bafb181cp-1020, 0x1.2674451e1c4fap+48
+0x3.e7233e3fa31d6p+360, 0x1.7959d82b209c2p-328
+0x5.219a3b891f3f8p-60, 0x1.20618bc5365cdp-232
+0x5.354bea852f2dp+388, 0x1.414d60faa5f58p-604
+0x9.af26751352878p-648, 0x3.38ee7be445584p+636
+0x1.5504b938b4402p+224, 0xe.a17ad9d3b6a7p-20
+0x3.9d5c2c20ce666p+816, 0x1.f267437fd89fap-180
+0x2.95936ff763526p+416, 0x5.9015efbe9ce9p+136
+0x2.299bd7e0833e6p-472, 0x7.b9843f2b061e4p+620
+0x4.7f041d77b4324p+152, 0x9.671fd6c19e8bp-4
+0x6.0382bb7a5d2p+940, 0x7.6db9fe2f80738p+272
+0x1.ea02acee90874p-500, 0x1.014d46d4e97b1p-1044
+0x2.b86a38667367cp-948, 0x3.94935f2201274p-524
+0xa.d2f1c7e3559d8p-28, 0x1.7896787392224p-228
+0x3.d3835d73a43p+496, 0x5.975ff8e13f074p+380
+0x1.cf7599398d70bp-1036, 0x1.628c9ddb3d55p+644
+0x6.fb89afca7031p-876, 0xd.94d6918988ccp-812
+0x1.6bfb5be076218p-1064, 0x8.e9d6f9b726e48p-132
+0x5.a0a08b1099dbp+160, 0x4.57a27e437a0a8p-564
+0x5.6931b7f5110ep-212, 0x7.a224d6b54d5f8p-192
+0x1.72754feea8bep-64, 0xe.bfffea109b02p+128
+0x6.61d2b160bd818p-56, 0xb.0da6fe74da36p+960
+0x5.32074a9c86e78p+476, 0x3.f9844e949b95ap-108
+0x1.4906ec04b2fc6p-808, 0x7.ce269d2636184p+872
+0xe.f4140c66ffbcp-820, 0x1.22c64a837f3edp+248
+0x7.a7f929eb50448p-228, 0x1.c99a67873cce7p-16
+0x7.297762f36b398p+872, 0x1.f6ed9c583f814p-336
+0x9.52ab590c2c38p+248, 0xb.ee3f87f6b6178p+108
+0x7.c536741353d38p-864, 0xc.44c6d0b9bbb9p-164
+0x1.07716b6aa5c96p+564, 0x1.8c8cf22b47d4ap-484
+0x1.f152d451e56dep-36, 0x3.3c0845963a8b2p-496
+0x1.cb8a3898f379ap+916, 0x5.908c0b441371p+852
+0xa.18274a2c72ff8p+32, 0x2.b5c87f54c803p+984
+0x6.8948c4377366p-292, 0x2.69c062ad7a6f6p-120
+0x5.cebc236669a0cp+168, 0x6.5caaba79aa828p+1008
+0x2.3f9ef1486826cp+312, 0x3.35a00a65a1494p+692
+0x9.a97366835e01p+156, 0x7.82617650e4a3p-452
+0x1.5eca88945266ep-804, 0x7.8b215f972bdap+180
+0x3.a99391d3573b8p+504, 0xd.ef87187325a08p-212
+0xe.324861dd76478p-416, 0x1.e1b471f00c424p-288
+0x3.365a94911637cp+992, 0x2.cb6409abe9e6ep-664
+0x7.a9c0be22c416p-668, 0xe.59a8d3e160c6p-188
+0x5.3f5c088685bb8p-532, 0x4.70cee0b0f284cp+1012
+0x5.d16c1882a332cp+640, 0xf.1460cc6d0e3ap-460
+0x1.6e3bf9968f9afp-484, 0x6.6267c4b5801fcp-520
+0xf.d5ef05945adp+892, 0x1.037407a24f012p-1072
+0x2.16a6da54723d4p+356, 0x1.b3d97ec4c0454p-992
+0xd.5321f2e34663p+80, 0x6.8447d17938f4p-720
+0x3.a71a1b142eecp-744, 0x1.e6accbf8896f2p+348
+0x1.657613a154639p+332, 0x2.7416e5dd59d24p-396
+0x3.07dcc0499153p+84, 0x4.721c4dd1045b8p-1032
+0x6.52aebfa673dc8p+668, 0x5.678f4cf978a5p+144
+0x4.c83fb95464168p+932, 0x6.f7c34fb6e219p+740
+0x2.65b1bc1226f0cp+228, 0x8.0c2a0eed9e3fp+344
+0x1.6bea77f703bb1p+800, 0xd.d0f47f24b366p-664
+0x1.5b83c5c8a9434p+248, 0x2.61c8f5c29c8d4p-884
+0xa.dd232b25f4c9p+540, 0x9.5cc98c5aad2p+144
+0xa.32fadfe3a77fp+272, 0x7.03b19901e1668p+948
+0x6.8bfce4b207c2p+356, 0x2.a4bba3dfbd808p-216
+0xf.860d537e09adp+76, 0x1.752be6cab8a8ap-192
+0x7.ed8f7155cb3p-176, 0xc.c5fdd82f7495p-132
+0x1.69ebaf0e3aa56p+528, 0xe.5c469c44375b8p-1024
+0x7.d889515eaed44p-488, 0xd.0e0708fdb1ce8p-688
+0xf.6666c05a3bf4p-696, 0x8.a0529f56d498p+408
+0x5.ddb5d0449117p-1016, 0xf.1ae6cd163636p+80
+0xb.49702498a767p-536, 0x5.f3bdd318bd2b8p+876
+0x7.af243c77859c8p+596, 0x3.9986e4dfb3a54p+60
+0x1.b10eb26c92e2ep+420, 0x2.75002fa180ce4p-372
+0xb.bac2a08b337dp-580, 0x1.6456fe2bd6bc8p+436
+0x6.cdbde83d7d9dp+440, 0x3.227fba2b18984p+716
+0x4.7d1795207ba3p-876, 0xd.fb3ae6a6d974p+716
+0x7.2db71fd9639d8p+208, 0xb.9541a1776cf7p+772
+0x4.9b7ffb1b837ap+240, 0xe.d915034122038p+972
+0x1.f6c429f506438p-312, 0x1.05262713a7116p+456
+0x2.01a33f8183e68p-756, 0x7.9c7104b3433e8p+680
+0x1.3f56db3ef28b9p+548, 0x1.0c9d8cab221aap-324
+0x1.2ca76c29edb24p+160, 0x2.6523f66254954p+248
+0x3.c8a04b8a5a3b2p-208, 0xf.6de4e8795cedp-360
+0x2.be8ccb6413c48p+116, 0x5.a311cf7df50b8p-516
+0x6.af871d1a5ec1p+580, 0x4.e66c9fac1b9ep+668
+0x1.688223cc38b04p-440, 0x7.d6185a14b5a3p+32
+0x5.ababb43ed82e8p+1000, 0x2.bca071f5399c6p-672
+0x9.bf3e2ba5c166p+716, 0x1.1595532b99bbp+560
+0x4.684440250497p+224, 0x3.0085801faa94p+460
+0xf.e01ebf790931p-156, 0x2.61e85d2ef07fp-444
+0x2.96a474a22352cp+124, 0x3.8822c884b3586p+424
+0x1.5c75dbb9d0c9cp-1020, 0x1.41d8cf85de5cep+668
+0x3.e7e636789098cp+316, 0xd.f82f221b2dcfp+924
+0x2.24284c8f0cap+732, 0x9.092020d6c372p-560
+0x1.1d8b68d0870ccp-232, 0x8.e6d5b5b35c75p+936
+0x5.83c80ce403f98p+268, 0x4.c256b72643b4cp-208
+0x1.dc2c0deeee228p+180, 0x4.1fd87b7019dbp+1008
+0x1.7e7b9cdb73b54p-440, 0x1.2ea7fd3295f6ap-180
+0x5.4939d3da9eb44p-852, 0x3.bf36f68aca44p-860
+0x1.5cd6c3b6c3c81p+724, 0xd.3f70654e05b6p-212
+0xf.640e657bb4ed8p-88, 0xe.fe6fd523da25p-968
+0x9.fe7f04343e3bp+596, 0x3.4ca1571aa4b1cp-960
+0x6.e5c1c64a37fb4p-172, 0x1.5b710e90ebc62p+800
+0x2.c31c4509a7eeap+0, 0xf.43cb971b74028p-544
+0x3.03f9ab6030348p-272, 0x5.4c8c501a8331cp-216
+0x7.df2904a3ec328p+712, 0xb.735b2667398p+636
+0x5.144222c5616f8p-912, 0x6.cb959ebd3c68p-944
+0x3.c7839b2f0054ap+600, 0x4.000ee27f5792cp-12
+0x3.f51c0dad41bb4p-892, 0x6.4ff0f934ceb4cp-824
+0x3.fe4a9902cd784p-584, 0x7.f40dc8118ef1p+996
+0xa.836f6e2a9a39p+816, 0x3.e5cbbbc53d77cp+776
+0x9.a93ed53b00c1p+104, 0x4.6ec0afe19454cp-776
+0x3.180d9f767c9dcp+200, 0x3.30f81ee2c291ep-240
+0x3.b79566ad9463ap+444, 0x1.5475796bf429fp-56
+0xd.e5f7d4616e478p+832, 0x6.ea9244c42df1p+548
+0x1.7659d9cee550ep-696, 0x2.7bf53efef7e7p+964
+0x1.94b7d4e1e8f62p-212, 0x1.74f0444fda8ap-72
+0x1.4b77939717efep-100, 0x9.415c2dd8715ap-1040
+0xa.4341bc4d97558p+96, 0x4.64d4c082e9a4p-944
+0x3.52e125440f092p+708, 0x2.c43ee9b98527ap-444
+0x1.faa9ebc9d31c4p+756, 0xb.a53f64af3ec1p+708
+0x3.f1104ca32099cp-268, 0x7.ee941912f49fp+748
+0x1.fe0d6aefbf58fp-692, 0x5.351d218023d58p+848
+0x3.a5542fd6eab44p+136, 0xf.9fa057b2ba2f8p+408
+0xa.9181c0a510d5p+96, 0x1.d3eb00331e936p-24
+0x5.97c04d9e72328p-296, 0x4.b772ed78637d8p-436
+0xf.d3bd42603fa2p+588, 0x1.d384ad40c576p+828
+0x3.0c52b06ecf4bcp+192, 0x1.1cc4f4298b7p-868
+0xd.cbbea37d3ac2p+780, 0xd.990e5904855ep-1048
+0x1.eca70f2cb91d8p+248, 0xc.cbc5b2df2e6cp-160
+0x1.94fc6a4aed928p-264, 0x1.994652e707ep+720
+0x3.b68010ed3408cp+760, 0x1.8da03e183f65ep-728
+0x3.bc37d84c3ce24p-372, 0xa.0b9f475b05dc8p+784
+0x1.7ec437ba9fc63p+932, 0x2.e351ef189dc14p+856
+0x1.ccd0595497833p-336, 0x1.d9c63920843dp-284
+0x1.6c3599371ac32p+524, 0x8.c84511bf8e02p-372
+0x7.9f1b14531d498p+732, 0xa.ffb48ee6129ep-452
+0xc.528ab41df54ep-740, 0xf.983fb8fb485p-404
+0x6.308fa477c79d4p-700, 0xc.6a4cd22016b5p-896
+0xd.c9244530c055p+656, 0x1.e1ef46278f7c9p+676
+0x7.6f46b2e70815p+208, 0x9.3cada4d9444p+428
+0x9.52be2d5b16728p+604, 0x1.fe615286f1764p-644
+0x5.f2a2ee89f52f8p+808, 0x5.63aa773924214p+580
+0x1.01f790a802abbp-88, 0x3.6e65b723d474ap+532
+0x3.81faffb4bf5dcp-916, 0x5.f5f30ccbac144p-440
+0x6.1552e7a1f9bd4p-372, 0x1.7f7e9039d34a9p-220
+0x3.36e9cfaf20f6p-852, 0x4.444b32f2b839cp+452
+0x5.e12b6dc6a3378p+756, 0xf.5439cdede5adp+372
+0x3.112067b2155c6p+624, 0x6.33f17958def1p-520
+0x5.13e66ecaea5b8p-1020, 0xe.5b7667b06dbep-588
+0x8.3347b7d74841p-168, 0x2.723a196678accp+576
+0x1.0989ed37394dp+564, 0x1.eac7dc66e46fap+40
+0x2.c730713795d12p-124, 0x2.8efbe124d2e54p-692
+0x5.f64aa96d4180cp-772, 0x5.41752ba4c094p-684
+0x2.6905451103c82p-1072, 0x1.720d8938f0226p-216
+0x7.cd74eadbb199p+768, 0x6.86c4137370e58p+448
+0x3.ccd6d3384920ep-108, 0xc.d8fae26144498p-924
+0x1.f75decd862f0cp+416, 0x1.8bae854bf219dp+308
+0x4.88ba1dd2475f8p-580, 0x1.b2f267e23e798p+100
+0xd.0c653ec89f4ep+1004, 0x2.e89d06f3eb0c8p-160
+0x1.3efb38649d778p+740, 0x1.8fc9023dc08e8p+616
+0x4.bc94c03529388p+524, 0x1.f76542b7dfa9p-800
+0x1.9bc5271e94085p-664, 0x1.8a4c393336fb8p-1064
+0x1.9a5df8c24c75p-156, 0x3.38a5d2c7ca67cp-564
+0xf.5c16f86d88be8p-812, 0x1.b05fbd39bc8aap+20
+0x5.8627177a5b9dp-768, 0x7.42ecefaa88aep-628
+0xa.b666d95986bbp-88, 0x9.53e1c469cbbb8p-496
+0x3.cd7abb848d17ep+400, 0x1.10a3e50795c1ap+660
+0x4.824cb83202b48p+460, 0xd.07f24664e626p+324
+0x1.a9ab9e4c4360cp+156, 0xf.0169c0b6b75a8p-880
+0xd.b02ada7748dep+468, 0xd.d7457266c583p+768
+0xd.acb8e4229b7ep+212, 0x7.0b44fc819f2p+76
+0x5.df4a3ceb0307p-512, 0x8.58e292164d0ep+112
+0x9.cf19ca151418p-576, 0x1.2e740c7b67c48p-556
+0x5.260400e987c98p-356, 0x3.d764164fb32e4p+92
+0xc.d55edaf18a38p-104, 0x4.d3df059f55084p+300
+0xf.ae3fb2b7f53b8p+100, 0x3.4c868512d7034p-816
+0x4.8f7529c420718p+192, 0x5.5319b0f6148d8p+432
+0xb.989c29b92462p+968, 0x5.78b29e81efc7cp+616
+0x1.d1088907e019ap+680, 0xe.84f1171c8a178p-612
+0xb.d296a54d97348p+772, 0x2.6259c354ffa2ep-540
+0x5.f7a2926a978d4p-396, 0x2.37045d86626fcp-68
+0x7.5ccbc7a4eb72p+792, 0xa.0e2a45d2ccdp+172
+0x2.e9eadc9d6b0c4p-4, 0x6.460f52dc88758p+328
+0x4.3faeb17b8fdep-1056, 0x4.e1b06d9d9a468p+640
+0x7.7bc68f7b04c8p-768, 0x5.f4ae1a1fe99bcp-900
+0x4.b11f24875b9d8p+720, 0x2.6b66facd94fd6p-924
+0x2.f796d55e9afb4p-72, 0x1.bcfe2cac6f076p+900
+0x3.97e814f0f4f68p-916, 0x2.c340bb0962148p-488
+0x1.97eb91a734dcbp+20, 0x2.dbefc93c2b0fcp+460
+0x1.4d7a256a40808p+876, 0x2.0755e04213408p+588
+0x1.daa618b8f4f6p-216, 0x1.e8d8b31bd7bf4p+56
+0x2.db5760ff1209p-928, 0xe.dc529defdb78p-424
+0x1.f6f2e93bd6fb5p-512, 0x5.45616d14c463cp+964
+0x1.1a68b30d51387p+220, 0xd.7d87133a14aep-1060
+0x1.41413b2db4581p+448, 0xf.b9e6ba7c2b098p-124
+0x1.4d016275e9f0cp-596, 0x5.19467c7975acp+888
+0x1.7fcf15c526cacp+636, 0x4.5cc00c1cbba5cp-788
+0xc.a2e589bdc3b9p+760, 0x6.4b5074238f16cp-316
+0xa.4d977da5afa3p+332, 0x1.2891b953d4d7fp+716
+0x9.5cc2575ad12p-516, 0xe.f973852160eep-164
+0x2.5d8ae9f980606p-336, 0x1.c9b4b216586c2p-376
+0xe.7fe8dc6bf949p+28, 0x6.34aefc7bb043p-688
+0x2.3e9fdb8e9d31cp+36, 0x1.d83499f79f15ep-924
+0x3.bfd55fc517aecp-556, 0x7.2d9ddf391ee7p-652
+0x5.fc9e04cfe70bp-544, 0x3.22aac28eb53ep-460
+0x3.874973bb01c7cp+484, 0x6.7f8d5067e1598p-484
+0xa.ea1d735c271ap-852, 0x3.84e430321ecdap+692
+0x2.311a1c57ec548p+800, 0x3.2a65843bc660ap-1044
+0x1.44ad8a1f6526fp+196, 0x1.a6df006ad0b7p+40
+0x2.cd3a0bd5431d4p+776, 0x8.5b843f1f772cp-1032
+0xc.a78f2c0e30afp+792, 0x1.8ee3fcbd2e0e8p-144
+0x3.55ad5fa25f9ccp+104, 0x3.9c5c6cb83586cp+280
+0x1.0fa3dbededd35p+24, 0x3.f326bfb61edbcp+864
+0x1.4741becf13d3ep-376, 0xd.2486b2d6b4c9p+632
+0x5.0cd299fceb49p+32, 0xc.ebbff073e9d78p-1016
+0x7.5723b0b887ffp-928, 0x9.bbc8a29c1022p-528
+0x3.24d46eee8b6fp+412, 0x7.b5c08e063167p+576
+0x8.693c3f943ef1p-696, 0x7.55a3a3ce02034p+772
+0x7.73e8cfb6f9dbp+596, 0x1.7cb9a17ae108cp+252
+0x7.4d34acc975e18p-352, 0x2.1d63d81e0e872p-800
+0x6.e8d8c6cf19a14p-388, 0x1.021545b0baf25p+932
+0x3.cf8ae9177c41ep-448, 0x4.e2468019e3938p-616
+0xa.1a5738fae288p+716, 0x1.fb74263564eb2p-496
+0x4.ce5c5c93471p+28, 0x1.98931db9f9cbcp-664
+0x4.0ec2b4b0fcd3p+376, 0x2.88d19d770da88p-204
+0x1.e7d233a2fbf6ap-1032, 0x2.67de107d59288p+16
+0x1.5821977b2f114p-448, 0x1.6d68f808ea7a6p-872
+0x1.c68471bd08d24p-236, 0x4.2dc56844cffc8p+928
+0x6.809da516c5d4p-936, 0x1.972fca6b83988p-748
+0x4.f33d1765fd3e8p+672, 0x3.760b53476cc5cp-388
+0x1.4cf2b0bcedccp+624, 0x7.3693d35a1be64p+704
+0xd.d7dc2e4854f9p+872, 0x3.427f3e2c69b0ep-840
+0x8.ebfd8b5e6f4ep-544, 0x1.29599d85085fp+40
+0x1.d0f604ef0f1fap-344, 0xb.3da822900994p-1064
+0x1.c98342264077p-912, 0x1.7d714c0eac215p+964
+0x2.e5776a55df064p-228, 0x2.e050be518f0c6p+760
+0xc.41358da1bfbcp-960, 0x6.72f24ce3850dp-796
+0x1.6fc7cf1179f07p-760, 0x1.82d3b0a900dcp+932
+0x2.c735540514bcp+116, 0x2.6ab56030b2f04p+160
+0xf.1407191bd79d8p-328, 0x1.e013fc0c9ccbep-820
+0x6.ff3859a993a58p+232, 0x1.df977166d1958p-760
+0xd.67cbbfa32a7fp-500, 0xb.782de178f70cp+840
+0x7.12520ed2540c4p-548, 0x5.22089db66a41p+688
+0x7.ce31d43a28cp-264, 0x2.761ef0c90bc92p-968
+0x4.bb0e33acac428p-704, 0x4.426646233ea54p+472
+0x1.e71a7b9483262p-764, 0x2.5d4fcf74d0f2ep-208
+0x9.0a6547cd6aa2p-1012, 0x3.e360d680a159ep+44
+0x3.d88eac7397f44p+840, 0x1.373179e0ec7d4p+60
+0x5.2142a3c93df8p-252, 0x1.039e03b094544p+796
+0x1.1e4ab59556d8cp-360, 0xf.40a55512548p+620
+0x7.e9d464c17e26p-740, 0x2.b99b3f7e4c0aep+364
+0xa.ab6676b77ca58p+812, 0x5.754d469551e4p+456
+0xd.9e0e5fbf24f4p-732, 0x1.f340fd8ac5e33p+768
+0x4.3264152160d94p-120, 0x1.37f61eefc612ap+932
+0x9.419975e41042p-824, 0x1.5bf1d2c95a902p-1048
+0x7.6d1983abd113p+848, 0x7.8135c2c4c0c1p-232
+0xa.c1005d5f4048p-572, 0x2.1fe8b343e4ebcp-204
+0x1.54008aa19a8f7p+120, 0x1.a9e6190cfe6e6p-1072
+0x5.66e2e4073fcc8p+228, 0x2.145a7c2f0ef3ep+812
+0x1.db36596ba5ffap+388, 0x3.11cd9eea3e36cp-496
+0x1.04168c45ecc05p+828, 0x4.6e3f71059997cp+832
+0xc.2384de1acf8dp+348, 0x8.01901ee64d2cp+788
+0x7.1c662fa02dd98p+608, 0x3.c1b6fb8a9184cp-692
+0x1.11287146a09b8p+644, 0x4.64bfc1e0e0c9p+396
+0x1.57f03c8810d69p+712, 0xc.a5984068f7b8p+48
+0x4.2dbe0ddf26ccp-340, 0x3.81a50b1409c54p+936
+0x4.d9c2d41a2dc4cp-1056, 0xd.1b5afa68a5e4p-532
+0x5.d0ab0b1cf5e8p+148, 0x9.a949b81507e8p+20
+0x1.79ae6b1efe6dcp+232, 0x6.41a9f79985fdp-96
+0x5.05eec59eb754p-624, 0x3.4cc2f9aa0af64p-464
+0x1.f02d73297d6c6p-232, 0x6.38ccafed3759cp+420
+0x7.76422f66dca28p+400, 0x3.0f188be2d4cbcp+68
+0xf.0090a7a284728p-924, 0x4.b7eb047c002b8p+328
+0x1.0b82fa80a9958p+564, 0xf.c73ba6cadab28p+520
+0x1.14a9b777040ecp-316, 0x6.5427c18eecc78p+4
+0x8.06c88342835fp+652, 0x1.a9ecb1bc7ec68p+348
+0x5.2f6c56d6d7bf8p-868, 0x7.18b3507eac248p+120
+0xe.1a4db1cdc2c38p-56, 0xa.3133554848dcp+828
+0x1.a1a22b18422acp+1004, 0x1.ce9da6a1e10dep+28
+0x5.36c7b2a139168p+188, 0x2.17bfa02d08afcp+724
+0xc.12d14dc2762cp+880, 0x1.310d308201d6dp+592
+0x2.bf79a9dd664f2p+524, 0x1.86f734d98e336p-656
+0x1.3c9f682a4ba58p+88, 0x1.8f85eb09cfc9cp-828
+0x4.a399c75def23p-960, 0x2.b4d0dce1da9bcp+664
+0x2.92d2da0fa44dcp+460, 0x2.afe026630c358p+292
+0x1.329a26a06bfc6p-836, 0x1.3dbb1169888b1p-704
+0x5.58d13cbf02864p+336, 0x4.edc53cfc2c038p-1040
+0x5.2c5976335c2b4p+304, 0x5.1924523b61d04p-76
+0x6.a0cee90336cb8p+492, 0x3.3914e22cc9d98p-264
+0x5.b4a291a0804d8p+924, 0x9.36e41234299bp-640
+0x3.20de4ac4786e8p+1004, 0x2.ccde30990bba4p-868
+0x1.ab7cec250013ap-428, 0x1.b9a9b5919516dp-344
+0x1.875f445637d72p-108, 0x4.63b5957f961a8p-728
+0xb.5d0330145432p-780, 0x5.408ed43c8e5cp+664
+0x5.2438018ea3a58p-472, 0x9.4a84f86da354p+652
+0x7.72f18ec491888p-492, 0x1.3331f25383814p+156
+0x7.7dcef653e4874p-928, 0x1.f4151e4719c26p-92
+0x1.212156368d704p-540, 0x1.5f542034797e9p+840
+0x1.3f8ca43e5b666p-244, 0x8.668b7b8012e3p+876
+0x1.d9e9a8524d717p+428, 0x9.0bc4e638d9c1p-36
+0x9.c07f91c0985bp-648, 0x3.291e01b81f474p+860
+0x2.af8605cee03d8p+88, 0x1.eaeb5c03368dcp+968
+0x8.01283a1c6c51p+620, 0x9.e3322da8f1b6p-832
+0x2.40528c7551aa2p-792, 0x1.f8c2e2f89a138p+552
+0x6.1bb4ad46dac9cp-516, 0x3.2a19917dba274p-504
+0xd.0098d3af3d23p+976, 0x1.906c30ecb5d84p+220
+0x2.36d68cdfbb2ep-176, 0xf.4f3019984a7ep+464
+0x1.fc5c7ecf4bd47p-712, 0x1.9618668d15dfdp-460
+0xa.f06d70b95351p+64, 0xe.8649783f745p-356
+0x7.59874cb1d6a98p-292, 0xe.a5ca6a1006f4p+996
+0x3.4cf49b29fe33cp+848, 0x2.d40be94e2c0d4p-276
+0x8.7665c42d24abp+196, 0x2.4dca94d4649a8p+684
+0x3.36c7ef01bb74cp-272, 0x1.137bdf47da448p+592
+0x1.fb114d861e46p+84, 0x1.eff2dedbe3a0ep+280
+0x8.ecd3b57973p-172, 0x8.0c87b303c7c48p-948
+0x2.1b3a6347dfc52p-932, 0x2.950ad07097a9cp-592
+0x1.a2c2c251b8791p-88, 0x9.9048e2ee0c48p+44
+0x5.0195e1227288p+996, 0x1.53430625a99dep-72
+0x1.bb256f33a2928p-1056, 0x1.111181fd387d6p+44
+0x3.4a8bd1614f92p+876, 0x1.711da46412e06p-952
+0x1.bfce6df0b8c3ap-200, 0x1.9ae0427ca101ap+672
+0x7.e108b54ac316cp-996, 0x7.762d2664d9308p+680
+0x1.af5ba8dc2a986p-632, 0x1.f755a142bd03cp-536
+0xe.5e1718c8f278p-996, 0x8.ed350005edc3p+444
+0x2.bf96653a1ae4p-540, 0x1.1b760ff00cf35p-728
+0xb.d99fbe5bc9a2p-904, 0xb.bc792cccc763p+388
+0x3.8791717b4b732p-552, 0x3.60bb7d8a9507cp+252
+0x4.e1181e8a3e6fp-896, 0xf.3149c8905db8p-24
+0x5.3a685435314c4p-776, 0x3.cba1e6f66d7f4p-440
+0xf.fc3f3b0f3613p+1000, 0x5.81d6d241045ep-588
+0xb.5ecb27592451p+624, 0x8.12f22be7539bp-804
+0x3.c9bada3c5d85cp-876, 0x1.4fb8562419378p-552
+0x4.8ffde17365bfp+948, 0x1.4c946f1f25d4p-100
+0x4.764e1ddcf9738p-120, 0x4.05cf0f0ae5794p-316
+0xd.abbf56bce609p+996, 0xd.cddbb5ebc80dp+412
+0x1.037c3be04f858p-900, 0x4.db9c734a6703p+228
+0xd.85003f403e2ep-652, 0x1.4b2c61e9f3b74p-1036
+0x6.f1103d861794p-272, 0xb.3c0aa3106ef7p+848
+0x1.a2ae87100cf83p+552, 0x6.a1a5eb07b0f88p-180
+0x2.f2683a37d210ap-284, 0x7.0dfe2b55d662p+844
+0x3.d60307bdf6928p-892, 0x2.fdf9526c9c592p-432
+0xb.0258f83ea6f08p-744, 0x1.dc0fc9c12c11ep-868
+0xb.3c5d152152eep-88, 0x1.1d742b6849eafp-764
+0x7.1fe2d9f87546cp-884, 0x3.e31aee915002ep-608
+0x7.fd90ef744b3fp-984, 0x1.a254b20cc44ecp-620
+0x8.b7cc4830f22a8p-916, 0xf.f2d3141573eap+368
+0x6.02a3c5d1a255cp-1060, 0x8.d2e0d38b1504p-804
+0xd.eab105cefe1bp-440, 0x1.565224b3708f3p+524
+0x6.547f9d75ee9cp-1056, 0x3.76aee96ac78fcp+908
+0x2.ee60ac28f8074p+636, 0x2.94491dcea838cp-192
+0x3.3adfc727517c8p+488, 0x8.34e253705e4ap-1064
+0x1.cdba2cd5f54bap+300, 0x2.822fc10c598c4p-688
+0x4.fb4a4547d10d8p+336, 0xc.ea8a3e77261ap+184
+0x1.635bebc53307cp-532, 0x1.aeae6ade0cd9ep+616
+0x3.a4690af97e544p-1032, 0x2.769a69438c574p-184
+0x8.ab9bb10f6ea9p+528, 0x1.25d8fded0dc8p+924
+0x4.370d3e4b080b4p+436, 0xd.8cb2725e33ab8p+708
+0x1.4895e320f2ba6p-796, 0x9.fc41d5c8264p+908
+0x1.93519b573032ep-688, 0x7.10d1859ace57p+872
+0x2.4a7f9c4b0c49p-316, 0x1.a8d4608ae427ap-256
+0xb.3648e80a18edp+864, 0x3.0a5476e2540b8p+40
+0x1.4a7ddc8bc4a5ap-512, 0x1.78ac8ee74060ap-836
+0x6.da4cf3bb04f6p-12, 0x3.56b3ec00c8be4p+128
+0x5.15fac5363c22p-324, 0x2.7c5282d1fc73ap-852
+0xb.fb4b0ff4207dp-436, 0x5.b4a041f55e6ecp-356
+0x4.160de27a7f308p+808, 0x7.c6916a8d28f7p+912
+0x5.4b808a97688ap+972, 0x3.794b29b89aeacp+156
+0x2.7b1f447480b1cp+244, 0xf.32799349a89ep-1000
+0x8.9313007aac898p+208, 0x7.06de7da0ddb48p-200
+0x1.1184c8ad9a126p-628, 0x5.d2675abc93d3p+564
+0x5.fbf4481d851bcp+920, 0xa.d98a5055796cp+448
+0xb.1b13e17851f7p+920, 0x1.5f601cadbee55p+216
+0x1.36c695c4cebdbp-672, 0x3.e3179a9c0c8b8p+440
+0x4.24f5c2e84255p-132, 0x1.992dce8c1e0dep-608
+0x7.05211b2d7ba24p+816, 0x5.2dbcb400c2388p+732
+0xc.ebb82790e2248p-944, 0x6.a6cac5abe71a8p-912
+0x7.635a189c3559p+1000, 0x3.1c79ce8a6193cp-596
+0x1.bc16a5a664943p-212, 0x3.20fd587384e74p+268
+0x1.d8f5f5909a6c1p+64, 0x1.95b5cd4f321fdp-1048
+0xa.b514a9fc49ddp+904, 0xe.ac263d7232738p-732
+0x3.361c4740c546ep-592, 0x2.af93343887774p-288
+0x3.a1d706acac868p+548, 0xe.ef9cd2dfde13p-1036
+0x1.a3b3fd7de4ff7p+836, 0x2.9bd52c1afcb82p-328
+0xd.0e90419468fe8p-296, 0x2.debd029d76ba4p+712
+0x1.e7213b32b5402p+172, 0xc.75424ccca583p+736
+0xe.7be0fb216e87p-460, 0x1.41db2e8111782p+428
+0x3.1aabdc370a068p-740, 0x1.3d8d947358a84p+892
+0x1.d635a72fb8fa4p-328, 0x2.ee43757ccee5ap-76
+0x1.97b79a8db9647p+128, 0xe.d6e29c7d3d4fp-264
+0x1.7d2e32005ea32p+792, 0x1.f6c07f3405953p-964
+0xb.c1090d1777fcp+116, 0x4.0cbc9f20f5868p+720
+0x2.f16763f5629b4p+252, 0x2.a80e582ad9988p-864
+0xc.decdbb8bab228p-256, 0xb.722a51742a158p+444
+0x1.4a3ad54b20ec7p+448, 0x2.38b64c86b64fcp+344
+0x3.4673778d461ap+444, 0x2.a91e0f1d2906cp-852
+0xd.b85beacdf9fb8p-1076, 0x1.e95f7bc0cbe98p+496
+0x3.868f7c7983b64p+248, 0x2.484503e75957cp-788
+0x3.1996b58c96adp+32, 0x7.2b7913eb78608p+304
+0x8.d92b03868e09p-332, 0x2.0cc4e23c8a95cp-740
+0x5.16192b7bc5c7p-152, 0x4.3b6301a285b44p+88
+0xf.01312df862fbp-156, 0x1.d8d9015062fbp-484
+0x6.bbf185b1a72fcp-176, 0x1.1448c90b9b50ap+212
+0x2.fb1b827ddbefp-1004, 0x6.2b91442df1d88p-252
+0x3.eea265be0ed6cp-420, 0x1.6979a53a58ed4p+132
+0x2.76f29ff09ef3cp-324, 0x2.9bb80577b9a16p-496
+0x1.8315bf29b818ep-60, 0x1.962a17b47f4f8p+984
+0x2.b5951a0514674p-1040, 0x4.54fbcbcf940bp-148
+0x7.373eb0cadbd1p+408, 0xb.9637578014a48p+560
+0x3.2855b79dece44p+700, 0x3.dd621596b99f8p+248
+0x4.6715c08b31328p-408, 0xe.79ffaa58e533p-100
+0x3.51b70220ed1c8p+968, 0x1.e64c4e91741bep-1016
+0xf.562b84bebcbe8p-8, 0x3.6bcda9a68b198p-656
+0x3.e0365420f27dp-216, 0x5.0a67f41cfb218p+392
+0x5.6fab6994774fp-288, 0x1.008fdd33f16e4p-824
+0x1.dada3414222bfp-252, 0x1.118f230a197bep+596
+0xf.235346f7623ep+132, 0x1.4731a69ab5b1cp-968
+0x3.b6aa8e01e416p-828, 0xb.41acde26ef6b8p-320
+0x1.2002025daf3ecp-1060, 0x2.e6a265193f8acp+528
+0xf.0e1568e6b60bp+124, 0x1.770d6c170e6fcp+920
+0x3.9cfe68e8dbd38p+400, 0x1.f0ea46487d9eap-76
+0x7.356ed29fbc3b8p-92, 0x7.66273cf04d1cp+16
+0x1.83b4513ed8c6p-692, 0x1.6e5c994cbd1fcp-4
+0x1.c093172db7058p-832, 0x9.0020ecd425p-724
+0xc.4b9d43cdab5p+144, 0x1.9573c014b1d7p-600
+0xa.6c962c159cadp+700, 0x2.516f8ea4dc66cp+832
+0xe.e9ef5bc90ef8p-472, 0xa.ceb95c116a96p-956
+0x4.7a82cfa181bf4p+376, 0xd.3ba2895aaf3f8p+912
+0x1.3e6919507aad8p-748, 0x7.ac24d06cae4fp-604
+0x1.a5685b67d975bp-760, 0x8.bec479de0814p-676
+0x4.c17fa429c727p+304, 0x7.a076dc1c58ea8p-436
+0xd.3a60dbe676ap-436, 0xb.d7fd3ecfd0bp+700
+0x1.6db05819a731ap-316, 0x5.cbaa3f9d708c8p-708
+0x7.a4e9fc600f39p+784, 0x2.78bd5a2fdeedp-256
+0x1.a51f975bebd49p+648, 0x4.6f1b9792ef23p-1016
+0xb.426a826bbb2ep-956, 0x2.2988e40c021bap+336
+0x7.0ad681674d404p+996, 0x3.5110f12201184p+704
+0x3.508cc1e3fe9cep+428, 0xb.e4f3b8257906p+916
+0x2.3d25bae6cc2b6p-712, 0x3.4476b6d116f18p+8
+0x7.668519e5f4c9p+488, 0x1.23b90f6c8af84p+716
+0xc.ba04649c24f5p-428, 0xf.6aedd6061b5p+300
+0x1.7acb043cd5646p+608, 0x3.0529459ad31ecp-520
+0x1.ab2a61b2e713cp-160, 0xd.d492f30ffbf7p-1072
+0x4.55c81a7d97b6p+776, 0x5.902573c115b78p-972
+0x3.3a1a658e23dbep+940, 0x2.920d0560c389p+476
+0x1.859b54f3394cp+192, 0x5.6cc1bb97f343p-908
+0xe.35e05bc94c85p+436, 0x1.67c0b3f3c1b8fp-676
+0xc.4689b97a58bcp+76, 0x1.11d2bf21c7811p-120
+0x4.a90ad7df9b808p-668, 0x1.145d33272f345p+480
+0x1.561915b868afcp-140, 0x6.7fcdf4d0b775p+312
+0x1.4d2e2df9ac4dap-652, 0x5.0a41f0e20f4bcp-148
+0x1.b5f7cddb382b6p-188, 0xd.963007bf1aebp+396
+0xc.327b046ba01ep+672, 0x1.664e6e62b266ap+548
+0x7.d1e0f4d973504p+552, 0x1.0960ca9ead237p+932
+0x2.b833874ecc5bcp+784, 0x7.7728c825e3ea8p-744
+0xc.ed74b52461008p+528, 0x2.ba337c4d266c8p-460
+0x1.8b1c17b4f0aa6p-800, 0x5.7181457aefe58p-1032
+0xf.b093234a9ae9p+444, 0x6.d51e72d5c9cd8p+96
+0xb.41312f6979af8p-640, 0x3.d4a1e6e4572a8p-1044
+0xf.d1d26136ff42p+608, 0x5.4e28377ed1438p+960
+0x1.baed27235cbf9p+396, 0x5.7f36a96247738p+716
+0x3.1908f44f9e5acp+36, 0xb.e287b22deb6c8p-200
+0x6.c85649ece8328p-888, 0x5.10954872d83f4p+344
+0xb.7289d369ebe9p+480, 0xb.364fe986b507p-1072
+0x1.b60b18e72b616p-356, 0x6.96322cdcb805cp+188
+0x1.18044a2c3524ap-732, 0x7.1cfeb6c32d9e4p+196
+0x1.dd49ee2511f12p-548, 0x6.388cb280c1acp+540
+0xf.4637e82f032dp-188, 0x1.ea525d4f26b2ep-652
+0xc.8ec2fcbc89b7p+428, 0x6.afb3dfab45148p-312
+0x5.96c4b2f3e046p+868, 0x1.4fa64194d6737p-484
+0x3.cc2935c1d7a98p+132, 0xc.b9132c3b7e03p-364
+0x4.708b4d5c3e08p+400, 0x1.7dead4481cddcp+620
+0xf.4ead78490959p-428, 0x5.881eeff3cd02p-888
+0x3.8f93c36ea7528p+588, 0x6.e489f741b446p-656
+0x1.29623281e850ap+840, 0x3.f4d2e10f895fp-960
+0x7.f6dd2ff29fbb8p-688, 0xd.fb27c57cb34p-764
+0x3.28b3c0e41db9cp+444, 0x3.15892f3a16c1p-844
+0xc.c480dfe091668p-276, 0x4.d2571cfec4c58p+100
+0x2.4811362cc7124p-240, 0x2.dff54b843ae46p-756
+0x3.0da93c4715cd4p-92, 0x7.9c15ce00c77e8p-656
+0x7.f0dcddebdcd28p-868, 0xc.599ea43e2bbfp+220
+0x1.95a25ee7268b4p-912, 0xd.5ff365717f9b8p+276
+0x1.d560268d06079p+420, 0x2.4a263345196a8p-444
+0x1.079c47420a4dbp+560, 0x1.889f112d42453p+528
+0x7.cdf64073ea828p-76, 0x1.a0731fb5ffbc7p+32
+0x1.cfbe77eaa2a21p+940, 0x1.b6b012b005f6p+348
+0x5.def2a0248482p+816, 0x8.4f2da16827fdp-964
+0x1.90d5cc6c42498p-836, 0x3.7a22e7d59ea44p+816
+0x7.7570d2255b48cp+880, 0x6.ac05601176dbp-52
+0x8.95762dfa20adp-668, 0x3.aadf1a1ec4d18p+620
+0x2.fe1bc76a8c23ap+804, 0x2.88575bc0e4228p+64
+0x6.a0747031aa078p+872, 0x3.c1d01466fbf04p-952
+0x5.d87619363c04p-552, 0x4.70bfee674c9f4p-56
+0x1.b7ad68c381dd6p+928, 0x6.6e6a652b37158p+676
+0x1.f359ac732fc26p+288, 0x1.3c34074a8b2f8p-576
+0x2.7eec8890eb218p+144, 0x3.0a6e6d2517c8cp+280
+0x1.7c560c66a0a33p+276, 0x5.e14a1a2c23d14p-928
+0x2.29faf3f3ce9fcp-424, 0xa.953da4f876c3p+644
+0x1.e0823670155ecp-976, 0x5.e7be0f4d7e528p+176
+0x4.180d0f133e86p-956, 0xd.a2e35bc12ca8p-1040
+0x5.684c626aac24cp-204, 0x7.c5a5208f02d88p-732
+0x6.2fe3b9265349p+420, 0x3.5173ac781fe2ep-456
+0x2.aaba7a32c624cp-1060, 0xf.0a4837afa4dep-1076
+0x1.3c709863adb35p-364, 0x3.afd3e4f32ce52p-488
+0x5.7d5d9b5bddbb8p-1024, 0x3.a8a95f0b8b908p+280
+0x2.ba9daa70bd824p+708, 0x1.b74b9a90b6648p-656
+0x3.7a020765d7c44p-948, 0x2.d653a91e7547cp-760
+0x3.cce03bc79c0bcp+568, 0x3.874dd663697c8p-796
+0x2.93a71bf03bb68p+508, 0x9.3d2d628dc54e8p-88
+0x7.3e572337c45d4p+756, 0x3.3562fedc22274p-836
+0x1.ad49a2d117ba2p-888, 0x4.d076d3f4d9f34p+908
+0x1.a502a91351ff4p+348, 0x1.ee7be9cf93b3fp-124
+0x3.140093828b04cp-456, 0x9.d96849890b3ap+152
+0x2.2b809e1cdae6cp+976, 0x1.96430f46ddf6fp-896
+0x6.0b6b1e6f695b4p+880, 0x3.2710f27541992p+520
+0x6.3e9355fdb6dp-1020, 0xb.6795e26664be8p-844
+0x3.bd080a5791b2p+164, 0x1.d50ef4fe9ebb5p-468
+0xd.603b36a4c0f1p+652, 0x4.5bd4964d0f5c8p+940
+0x3.efce09ef1b4cp+1004, 0x5.58274e481b0cp+776
+0x9.bdb3926c2739p+592, 0xd.693f7ebb888ep+60
+0x1.45fda30c0c696p+964, 0x7.7ef981c0fac2p-312
+0x5.3903dc26ea74cp-936, 0x1.6ce6a22a9cc4p-884
+0x6.efe370ccbcc4p+772, 0x3.2a68e91d4d908p-840
+0x2.e8b91189c5a9cp-352, 0xa.affd373c131cp+72
+0x1.92e29687b8ba7p+852, 0xa.70b2724980788p+232
+0xa.c7e8553edfadp+916, 0xa.5da5437b9d42p-272
+0x9.807fc42aac07p-600, 0x8.866c80721372p-724
+0x3.98e91636f5084p-436, 0x3.f5f1a1922718ap-220
+0x2.7442ad2df0302p-832, 0x5.1bc80305b26acp-248
+0x1.8e66eb2b69bbcp+44, 0x2.c1fdc734c50e8p-940
+0x5.0de13a7bcaac8p+808, 0x5.493bbe67104ccp-344
+0x9.cc1fcf2dde7f8p+840, 0x2.aa6a8273978cp-208
+0x1.c2895ee333becp+460, 0x1.ceaf6635b0b8p+668
+0x3.fb6fb365e2ce8p+868, 0x1.a03d232d45996p+344
+0xf.0ae3f7ac9bedp-172, 0x9.98a156749b26p+384
+0x3.204fdf620703p+412, 0x1.629b90983dc36p-1012
+0x2.e30666494ac98p-216, 0xa.89da8ae9e5528p+212
+0x7.a17a32efd3c34p+660, 0x8.0cc4f4756028p-428
+0x1.31ee8aa18dae4p+728, 0xa.99a88028a213p+484
+0x1.a45b87b0bb4cbp-844, 0x3.fa28793e4185ap-260
+0x1.7b04390e5b62p+684, 0x1.66153c838d268p-752
+0x9.f73b5d2f6777p-1064, 0x7.dedccbf89985cp-356
+0x2.926816c87d8c4p+836, 0xc.bba0f8c0d84bp+168
+0x4.1334094679d34p-212, 0x5.19ad2f924736cp+280
+0x6.aebd3868bdfd8p+464, 0x3.ea24e1cd3f29p+264
+0x1.1f0fb4a6d9b96p-544, 0x7.1f1404514303p-24
+0x4.6ee2397edec14p+48, 0x1.97401a620ba56p+732
diff --git a/benchtests/libmvec/atan2pif-inputs b/benchtests/libmvec/atan2pif-inputs
new file mode 100644
index 0000000..0e66925
--- /dev/null
+++ b/benchtests/libmvec/atan2pif-inputs
@@ -0,0 +1,2005 @@
+## args: float:float
+## ret: float
+## includes: math.h
+# Random x,y inputs in the range [-10,10]
+## name: workload-random
+0x1.663bap+2, 0x1.b2403p+2
+0x1.44dcb4p+2, -0x1.9a01p+2
+0x1.644ffp+1, 0x1.eb4138p+2
+-0x1.6cca2p+2, 0x1.04627p+2
+-0x1.056a12p+3, -0x1.422b14p+1
+-0x1.9fa38p+1, -0x1.7e70ap-1
+0x1.0eeff8p+1, 0x1.19eaa4p+2
+0x1.1b50d8p+2, 0x1.d7a53p+0
+0x1.3df8c8p+3, 0x1.d0f7p-3
+0x1.efb8ap+2, -0x1.fe22ap+0
+-0x1.6bf4ep+1, 0x1.5e59ecp+2
+-0x1.6bf516p+2, 0x1.8f21c8p+2
+0x1.3a79a8p+3, 0x1.0ebf88p+1
+0x1.5d706p+1, -0x1.f1416ep+2
+-0x1.240508p+3, 0x1.88fc9p+2
+-0x1.8b2f52p+2, -0x1.0bce4p+3
+-0x1.b758a8p+2, 0x1.716664p+2
+0x1.c5c13p+0, -0x1.df3d02p+2
+-0x1.3168eep+2, -0x1.79f4fp+2
+0x1.7cc8c8p+1, 0x1.b8a148p+2
+-0x1.c5d8d8p+1, 0x1.5608fp+1
+0x1.2db0fp+3, 0x1.9c7b6p+2
+-0x1.a5ddacp+2, 0x1.26027p+2
+-0x1.9a6358p+2, -0x1.795c62p+2
+-0x1.744b04p+2, 0x1.c5dcp-1
+0x1.07c128p+2, -0x1.6baa9cp+2
+-0x1.dde3acp+1, 0x1.63eeep+2
+-0x1.7a502ep+2, 0x1.ebdap-3
+-0x1.3ca07p+1, -0x1.0514e8p+3
+0x1.080a3p+1, 0x1.000ecp+3
+-0x1.09a176p+3, 0x1.34c01p+1
+-0x1.72241cp+2, -0x1.7e1864p+1
+-0x1.15b43p+3, -0x1.d3b3acp+2
+-0x1.f35868p+2, 0x1.59dep-3
+0x1.174868p+2, 0x1.36e57p+3
+0x1.17526p+3, 0x1.2b1a7cp+3
+0x1.1d38dp+2, -0x1.1565bep+3
+-0x1.89da8p+2, 0x1.e13a2p+2
+0x1.fa4f8p+2, 0x1.b827cp-2
+0x1.082068p+3, 0x1.e2fep-2
+-0x1.07c538p+1, -0x1.fa21ep+1
+-0x1.44f4p-6, 0x1.904fap+2
+0x1.7f5fep+1, 0x1.67d9p-1
+-0x1.e7d36p+0, -0x1.0d28a2p+3
+0x1.742af8p+2, 0x1.be47p-2
+0x1.00e3b8p+2, 0x1.ac6cbp+2
+-0x1.66f8ep+1, -0x1.8827p-1
+-0x1.643a46p+2, -0x1.ee998p-2
+0x1.06d934p+3, -0x1.cd62a6p+2
+0x1.2a1008p+3, -0x1.f5864p-1
+-0x1.bc4edp+0, -0x1.22275p+3
+-0x1.c3696p+0, 0x1.7d86fp+2
+-0x1.a92be4p+2, 0x1.3657dcp+3
+-0x1.b30c44p+2, -0x1.0f629p+1
+-0x1.a3ef34p+2, -0x1.bea9ep+1
+0x1.384094p+3, -0x1.de57p-3
+-0x1.f351ecp+2, 0x1.4a03bp+1
+-0x1.becfbcp+1, -0x1.e112acp+1
+0x1.ecf5ap+0, 0x1.e45b3p+1
+0x1.1dd84p+2, 0x1.ad1898p+2
+-0x1.4fbbep+0, 0x1.3b2498p+3
+-0x1.ffac1cp+1, -0x1.21a712p+3
+0x1.4f5b8p-1, 0x1.5d045cp+2
+0x1.0842bp+2, -0x1.28c0aep+3
+-0x1.e00ac4p+1, 0x1.d411cp-1
+0x1.3ebc78p+3, -0x1.2a0cd2p+2
+0x1.ab2568p+2, 0x1.f74d8p-3
+0x1.08c83p+2, -0x1.245f9cp+3
+0x1.6401p-3, 0x1.13db2p+2
+0x1.18f038p+2, -0x1.9d585p+0
+0x1.e19238p+1, -0x1.8ba8e4p+1
+0x1.ed6008p+2, -0x1.2bac06p+2
+0x1.ae7ap+2, 0x1.4d506p+1
+0x1.063bbp+1, 0x1.12cc28p+2
+-0x1.3dc286p+3, -0x1.09de68p+1
+-0x1.3ed7fcp+2, 0x1.165028p+2
+0x1.dc83bp+1, -0x1.4e50ap-1
+0x1.0dedbp+3, 0x1.2ea93cp+2
+-0x1.69a5ep+1, 0x1.0c71dcp+3
+-0x1.fb68fp+0, -0x1.8a3c28p+2
+0x1.56a0ep+0, 0x1.ee9b8p+1
+-0x1.b50ef2p+2, -0x1.1125f4p+3
+-0x1.371cacp+1, -0x1.bd9dp-3
+-0x1.70f5p+0, -0x1.3f0b4ep+2
+0x1.55379p+0, 0x1.2fa3cp+2
+0x1.260ec4p+3, 0x1.ebaddp+1
+0x1.f7156p+1, 0x1.7fee8p-2
+-0x1.ddf896p+2, 0x1.75e70cp+2
+-0x1.003338p+3, -0x1.689fa4p+2
+0x1.1aa084p+3, 0x1.b9e198p+2
+0x1.e24c3p+1, -0x1.b8348p+0
+-0x1.e129fep+2, -0x1.a4e96p+0
+-0x1.22e506p+3, 0x1.e1b9d8p+2
+-0x1.539f6ep+2, 0x1.bfac4p+0
+0x1.4c868p-2, 0x1.af384p-2
+0x1.ad3fcp-2, 0x1.667acp+2
+-0x1.70da5p+0, -0x1.9bc5ap-1
+0x1.63cae8p+2, 0x1.abfa2p+1
+-0x1.15b62ap+3, -0x1.3d7fcp+0
+0x1.fcdf2p+1, 0x1.9e87bp+2
+0x1.1bb788p+1, 0x1.0430cp-2
+0x1.3cd15p+3, 0x1.e2463p+1
+-0x1.7dbe6cp+2, -0x1.ff0f3cp+1
+-0x1.72b5dcp+2, -0x1.a4bap-4
+-0x1.988e8p+1, 0x1.3d6c3cp+3
+0x1.14bacp+0, 0x1.002348p+3
+0x1.4b2fc4p+2, 0x1.e76bbp+2
+-0x1.6fe52p-1, -0x1.d5132p+0
+-0x1.13f81ep+2, -0x1.783fep+1
+-0x1.026fccp+3, 0x1.ba2bcp-1
+0x1.efd28p+2, 0x1.49d6p+2
+-0x1.53d8ccp+1, -0x1.eef474p+2
+-0x1.ab803p+2, -0x1.24be54p+2
+0x1.c168bp+1, -0x1.e2df78p+2
+-0x1.397828p+2, -0x1.10d254p+2
+-0x1.93cc06p+2, 0x1.76f5ep-1
+0x1.392648p+3, -0x1.224658p+1
+0x1.fb49p-2, -0x1.a43da4p+2
+0x1.2a054p+3, 0x1.9f41e8p+2
+0x1.0fc3cp+0, -0x1.39874p-2
+0x1.8f746p+2, 0x1.e24abp+2
+0x1.e5a4ap+2, -0x1.30f58p-2
+0x1.950ee8p+2, 0x1.323858p+1
+-0x1.149dc4p+2, 0x1.066578p+2
+-0x1.1870c2p+3, -0x1.1eb95p+3
+0x1.c2689p+2, -0x1.188aa2p+3
+-0x1.b31c6p+1, 0x1.2ddbf8p+3
+0x1.7c1438p+2, 0x1.910c9p+1
+0x1.01041p+2, -0x1.00e5d8p+3
+-0x1.19b8fp+0, 0x1.045a88p+3
+0x1.79145p+1, -0x1.1a608p+2
+0x1.3c53p-3, 0x1.4a2p-5
+0x1.22faap+0, 0x1.e241dp+1
+0x1.8e0fep+1, 0x1.f32c6p+2
+0x1.152f5p+2, -0x1.ccb98p-3
+0x1.e0c08p+0, -0x1.dd9734p+2
+0x1.40c374p+2, 0x1.a549dp+2
+-0x1.2d4ef4p+2, -0x1.8c738p-1
+-0x1.7719cp+0, -0x1.23787p+3
+0x1.68f668p+1, -0x1.30111p+2
+-0x1.f8463p+2, 0x1.1ba5d8p+3
+0x1.0e81p+0, -0x1.eae38p+1
+0x1.d8c198p+2, 0x1.1fdd98p+2
+0x1.798f78p+1, 0x1.906fbp+1
+-0x1.9c1948p+2, -0x1.86edap+2
+-0x1.e74d6p+0, -0x1.c0e968p+2
+-0x1.38417p+3, 0x1.8907p+0
+-0x1.17a02p+1, 0x1.4afe8p-1
+0x1.17f30cp+3, -0x1.c8b6ep-1
+-0x1.b9f6p+1, -0x1.a684cp-1
+-0x1.df3a4p-1, 0x1.c02868p+2
+-0x1.36e366p+3, -0x1.e77p-7
+-0x1.7fb43p+1, 0x1.f5b8a8p+2
+0x1.226528p+2, 0x1.1960ap-1
+-0x1.1b0eb8p+1, -0x1.df3308p+2
+-0x1.21d266p+3, 0x1.17f88p+3
+-0x1.04958ap+2, -0x1.030244p+2
+-0x1.e775p-3, 0x1.f8a84p+2
+-0x1.349f74p+3, 0x1.e2b68p-3
+0x1.c81898p+2, -0x1.99d2bcp+2
+-0x1.2f6adcp+2, -0x1.ec4cep+0
+0x1.6165cp+0, -0x1.ef1c6p-1
+-0x1.1d0b48p+2, 0x1.1af914p+3
+0x1.0ede84p+3, 0x1.0848d8p+3
+0x1.19c98p-3, -0x1.d216bp+1
+-0x1.e59944p+2, -0x1.1ccff8p+1
+0x1.bb35cp-1, 0x1.7d38f8p+2
+0x1.280398p+2, 0x1.2dcfc4p+3
+-0x1.16ca54p+1, -0x1.aef6cep+2
+0x1.2cc32p+3, 0x1.16e55cp+2
+-0x1.bf9c6p-1, -0x1.fb96a8p+1
+0x1.2499f8p+1, 0x1.2b0e4p+3
+0x1.d97d8p+0, -0x1.1c03aep+3
+-0x1.05404ap+3, 0x1.396e48p+2
+0x1.28787p+1, -0x1.1c07dp+3
+-0x1.0d161ep+3, 0x1.15f548p+3
+0x1.661a6p+1, 0x1.2c8a34p+2
+0x1.83f23p+2, -0x1.96eb2ap+2
+-0x1.3fb248p+3, -0x1.8d8dp+0
+-0x1.fb0138p+2, 0x1.b341ep+2
+0x1.40abdp+0, 0x1.5f03dcp+2
+0x1.314ca8p+3, -0x1.ff6d7cp+2
+-0x1.cb7cp-4, -0x1.aef654p+1
+0x1.eb4a8p-3, 0x1.2a7178p+3
+0x1.727938p+2, 0x1.a49738p+2
+-0x1.1613bcp+1, -0x1.765bp-3
+0x1.162c84p+3, 0x1.c176a8p+2
+0x1.12f68p+0, 0x1.2d9128p+3
+0x1.a340ap+0, 0x1.f7702p+2
+0x1.15dc3p+0, -0x1.073bb8p+2
+-0x1.094ec2p+2, -0x1.929518p+2
+-0x1.b9cc38p+1, -0x1.931e38p+2
+0x1.2dec64p+3, 0x1.cea3ep+0
+0x1.21a2p+3, -0x1.8c14d4p+2
+0x1.451824p+2, 0x1.2745b4p+2
+0x1.37ffp+3, -0x1.6fdb8p+2
+-0x1.76b106p+2, -0x1.19e596p+3
+-0x1.51acep+2, -0x1.1c8438p+3
+0x1.319244p+2, 0x1.23fb5p+3
+-0x1.0236cp-1, -0x1.695b4p+0
+-0x1.6eb3cp-2, -0x1.04148p-2
+-0x1.17f98p+1, -0x1.13e16cp+3
+-0x1.10801p+3, -0x1.1165cep+3
+0x1.4e4bcp-1, 0x1.31fd58p+2
+-0x1.00f35ep+2, 0x1.9e096p+2
+-0x1.013f0ap+2, -0x1.c0a618p+1
+0x1.f92dfp+2, -0x1.8bc27cp+2
+0x1.803d48p+2, -0x1.0b50fap+2
+-0x1.5e4c14p+1, -0x1.fa918p-2
+-0x1.ad2424p+1, -0x1.bb2f14p+1
+0x1.3110cp+3, -0x1.7a540ap+2
+-0x1.9c67ap-1, 0x1.282448p+3
+0x1.3203f8p+3, -0x1.8642b8p+2
+-0x1.cf372cp+2, -0x1.230c3p+2
+0x1.cc1638p+1, -0x1.7bb8e8p+2
+-0x1.aca2a2p+2, 0x1.334a7p+3
+0x1.e3a7cp+2, -0x1.06e64p+0
+0x1.a7286p+0, 0x1.6018p-5
+-0x1.20cd46p+2, 0x1.0b7248p+3
+0x1.6362e4p+2, 0x1.faa22p+0
+-0x1.160ceap+3, 0x1.678584p+2
+-0x1.195ab4p+3, -0x1.a4eae8p+2
+-0x1.f84f88p+2, -0x1.327dp-3
+0x1.0e216cp+2, 0x1.55bd5p+2
+0x1.2ae28cp+2, -0x1.3e1fb8p+3
+-0x1.93a9p+2, -0x1.f5807p+0
+-0x1.3bd2f2p+3, 0x1.6c9ae4p+2
+0x1.0f0118p+2, -0x1.082764p+3
+-0x1.9916f4p+2, 0x1.6c994p-2
+0x1.2e0bep+1, 0x1.43d57p+2
+-0x1.3c6f46p+3, 0x1.e2d318p+1
+-0x1.71cffap+2, 0x1.3e3d48p+2
+-0x1.994ff4p+2, 0x1.2d205p+1
+-0x1.310f82p+2, -0x1.27469p+3
+0x1.1543e8p+3, 0x1.a8c14p-2
+0x1.07506cp+3, 0x1.464a2cp+2
+0x1.6d0fcp+0, 0x1.2c2418p+2
+0x1.cceecp+0, 0x1.281fbcp+3
+-0x1.facc7cp+2, 0x1.4cf508p+2
+-0x1.34b8a6p+3, -0x1.05fecap+3
+0x1.d9cb4p+0, 0x1.2c9658p+3
+0x1.e6f358p+2, 0x1.32e538p+3
+0x1.22f94p+0, 0x1.136fp-2
+-0x1.be6914p+2, -0x1.67cbf8p+1
+0x1.fa52b8p+2, -0x1.f32a6p+2
+0x1.7c9f18p+2, 0x1.66f838p+2
+0x1.40ab98p+2, -0x1.ff4188p+2
+0x1.2e2bbp+1, 0x1.6bae88p+1
+-0x1.e31c3p+0, -0x1.f2e084p+1
+0x1.164a54p+2, -0x1.0723fcp+3
+-0x1.1032c8p+1, -0x1.088caap+3
+-0x1.1b1a2p+0, 0x1.f1bc1p+0
+0x1.758acp+1, 0x1.290b08p+2
+-0x1.186cd6p+2, 0x1.df59e8p+2
+-0x1.7e9c1p+0, -0x1.3ec708p+1
+0x1.942708p+2, -0x1.3963cp+3
+0x1.aa4da8p+2, 0x1.35497p+1
+0x1.346c9p+0, -0x1.8d386cp+2
+0x1.19a7cp+2, 0x1.bb7bep+2
+-0x1.f3c818p+1, 0x1.fb7fb8p+1
+-0x1.09be5p+2, 0x1.6a68ap+1
+0x1.35b29cp+3, 0x1.e5eaa8p+1
+0x1.adb1ap+1, -0x1.0fb59ep+3
+-0x1.b53cecp+2, -0x1.2c85dcp+3
+-0x1.00606ep+2, 0x1.9a4e5p+2
+0x1.8054bp+0, 0x1.253c78p+3
+-0x1.2ce55ap+3, -0x1.332ce2p+3
+0x1.ba50ap+2, -0x1.e825a8p+1
+-0x1.4ebd9ap+2, -0x1.fb52p+0
+-0x1.fe5d28p+1, 0x1.1ce35p+3
+-0x1.0e4398p+2, 0x1.358328p+1
+0x1.ac8p+2, -0x1.212098p+2
+0x1.324b9p+3, 0x1.268618p+3
+0x1.5eaf08p+1, -0x1.2b62d4p+3
+-0x1.85c298p+2, 0x1.34fdap+2
+-0x1.02cf98p+3, 0x1.f71218p+1
+-0x1.2f48a8p+3, 0x1.1d4bf8p+3
+0x1.c8988p+2, 0x1.7b645p+0
+0x1.78ef8p-2, -0x1.c83034p+2
+-0x1.1d324p+2, -0x1.9ce916p+2
+0x1.1ab7dcp+3, -0x1.4c9d7p+0
+0x1.bed97p+2, 0x1.7c3b8p+1
+-0x1.ce4178p+1, 0x1.caf708p+1
+0x1.ceb6p+0, -0x1.92aa6p+2
+0x1.2670a8p+3, -0x1.27578p-2
+0x1.081f04p+2, -0x1.7432ecp+2
+0x1.a10bb8p+1, -0x1.113bb8p+1
+-0x1.731588p+2, 0x1.1e0768p+1
+0x1.f1469p+2, -0x1.0e16dep+3
+0x1.c13e8p+0, -0x1.769c0ep+2
+-0x1.118db6p+3, 0x1.ead2p-4
+-0x1.578b84p+1, 0x1.817d18p+2
+0x1.1140ccp+3, -0x1.67ff3cp+2
+-0x1.549558p+2, 0x1.2709cp+2
+-0x1.aa0bep+2, -0x1.6758c2p+2
+0x1.a737ap+0, 0x1.6fe85cp+2
+0x1.2daccp+0, 0x1.0bf11p+3
+-0x1.10e868p+2, 0x1.696318p+2
+0x1.e14aa8p+1, 0x1.88e44p+0
+0x1.0805d8p+2, -0x1.29eba2p+3
+-0x1.13df8p-3, 0x1.611e7p+1
+0x1.078bap+3, -0x1.2ceee8p+2
+-0x1.5d1dc8p+1, 0x1.810e6p+2
+0x1.2fd76p+1, -0x1.2b1918p+1
+0x1.034p-3, -0x1.2e6072p+3
+-0x1.3cb6a4p+3, 0x1.61948p+0
+0x1.299c9p+3, -0x1.166bb2p+3
+0x1.9207ap+0, -0x1.71059cp+2
+0x1.393c5p+3, 0x1.13cfccp+3
+0x1.2e499p+3, 0x1.3a3a28p+3
+-0x1.2d5ebep+2, 0x1.e8f4cp+0
+-0x1.6bd268p+2, 0x1.dfae1p+2
+0x1.19ca64p+3, 0x1.321a3p+3
+-0x1.28f50ap+3, -0x1.2456dp+2
+0x1.d67a8p+1, -0x1.790b6cp+1
+-0x1.d928p+2, 0x1.3ba19cp+3
+0x1.6a637p+2, 0x1.eb4f6p+0
+0x1.a10bcp+0, -0x1.4f622p+0
+0x1.847f28p+2, -0x1.15dea4p+3
+-0x1.2d4ff4p+3, -0x1.141222p+2
+-0x1.a641f8p+2, -0x1.fc017p+1
+-0x1.c0919cp+2, 0x1.9e34ep-1
+-0x1.5addep+2, -0x1.d219e8p+1
+-0x1.28b5bp+0, -0x1.29bcap+1
+0x1.1b4b18p+3, -0x1.231c62p+2
+0x1.0c1f14p+3, -0x1.5f3de4p+1
+-0x1.20c1b2p+3, -0x1.7f3b48p+2
+-0x1.b060a8p+1, -0x1.dc4938p+2
+-0x1.151d6cp+2, -0x1.318bdp+2
+-0x1.d85fb8p+2, 0x1.854d1p+2
+-0x1.47bb0ep+2, -0x1.0bba08p+2
+0x1.ccc308p+2, 0x1.2ff24p+3
+-0x1.a6f9c8p+1, -0x1.29f1e6p+2
+0x1.300438p+3, -0x1.5a7f48p+1
+-0x1.6251aap+2, -0x1.281a88p+1
+0x1.ce22e8p+1, 0x1.2a82ap+3
+-0x1.d5c3acp+1, 0x1.1e74ep+3
+0x1.6f9504p+2, -0x1.67babp+1
+0x1.7991fcp+2, 0x1.1ead28p+3
+0x1.7bbfa8p+1, 0x1.d9c6cp+1
+-0x1.4a7854p+1, -0x1.59e158p+2
+-0x1.bf61dcp+2, -0x1.97af6p+1
+-0x1.912c3ep+2, 0x1.29fa78p+3
+-0x1.967f4cp+2, 0x1.cd0408p+2
+-0x1.c7754p-2, 0x1.1b1a3p+2
+0x1.60eba8p+1, -0x1.76ad26p+2
+-0x1.171a5p+2, -0x1.4b0fd8p+2
+-0x1.0c1376p+3, 0x1.2af06p+3
+0x1.00e188p+3, 0x1.b11a3p+2
+-0x1.0bdb9p+0, -0x1.221544p+2
+0x1.54882p+0, -0x1.0c2d4p+1
+0x1.07e8f8p+3, -0x1.132554p+3
+0x1.3b56fp+2, 0x1.0c2e68p+3
+-0x1.04dfe4p+2, 0x1.2fd0ep+1
+-0x1.e83262p+2, 0x1.5ee93p+0
+0x1.4c59d8p+1, 0x1.28e068p+2
+0x1.f8f708p+2, 0x1.189dap+2
+-0x1.30d8c8p+2, 0x1.941p-8
+-0x1.877288p+1, -0x1.0e0d1p+3
+-0x1.1c17c4p+3, -0x1.be9a8cp+1
+-0x1.abba5ap+2, 0x1.2b2478p+1
+-0x1.ed3274p+2, 0x1.c8b968p+2
+-0x1.571482p+2, -0x1.15c312p+2
+0x1.1e0fdcp+2, -0x1.3ebf28p+1
+-0x1.a3842p+0, -0x1.1ca994p+2
+-0x1.41667cp+2, 0x1.2d9f28p+3
+0x1.6ed8e8p+2, 0x1.939b5p+2
+-0x1.338ca8p+3, -0x1.2200fp+0
+-0x1.fdc134p+2, -0x1.dae4ep+0
+0x1.cd2fdp+2, 0x1.1e4514p+2
+-0x1.1b40cp+3, -0x1.39f518p+2
+0x1.01bcc8p+1, -0x1.1284e8p+1
+-0x1.141d32p+3, -0x1.59058cp+1
+-0x1.5b185p+1, 0x1.2062bp+3
+-0x1.3dbc32p+2, -0x1.8183e8p+2
+0x1.3e0a1p+0, 0x1.9434cp-1
+0x1.d8928p+2, -0x1.dd2dep+2
+0x1.2e1c8cp+3, -0x1.e074dcp+2
+0x1.e35098p+1, 0x1.9a7308p+2
+0x1.ba43f8p+2, -0x1.1b98c6p+3
+-0x1.050ad2p+3, 0x1.4bde8p+1
+-0x1.0c301ap+3, 0x1.6ba98p+2
+0x1.c1ff4p-1, -0x1.ab17c6p+2
+-0x1.14e03ap+2, 0x1.145ap+3
+0x1.2dae4p+3, 0x1.fd1908p+2
+-0x1.8a734cp+2, -0x1.3085ccp+3
+-0x1.623458p+2, -0x1.1ed68p+0
+-0x1.1e9c48p+1, 0x1.a75478p+1
+0x1.b7e67p+2, -0x1.4978e6p+2
+-0x1.bf1b5p+0, -0x1.6879cp-1
+-0x1.e2a058p+2, 0x1.2b962cp+3
+0x1.ccb91p+2, -0x1.370bb8p+1
+0x1.f9997p+0, -0x1.dd1ab8p+2
+-0x1.58743p+1, -0x1.343526p+3
+0x1.ed418p+1, -0x1.9f7204p+2
+0x1.186ebp+0, -0x1.8cbp+0
+0x1.478bbcp+2, 0x1.f25afp+1
+0x1.62ca2p+2, -0x1.cde16p-1
+0x1.10bd94p+3, -0x1.a85da4p+1
+-0x1.0c2724p+3, -0x1.5dbb1ap+2
+0x1.85df6p+1, -0x1.1d014p+3
+-0x1.6ba7bap+2, 0x1.97ce9p+1
+0x1.d518bp+2, -0x1.3ad118p+3
+-0x1.307472p+3, 0x1.a39b18p+1
+0x1.058c8p-1, -0x1.bcf16ep+2
+0x1.f539f8p+2, 0x1.1568d4p+3
+0x1.35483p+3, -0x1.0d592ep+3
+-0x1.d25f9p+1, -0x1.103dcap+2
+-0x1.10a514p+2, -0x1.22748cp+1
+0x1.87517p+0, -0x1.26da8ep+3
+0x1.33e9b4p+3, 0x1.21875cp+2
+0x1.477bb8p+2, -0x1.b3bafep+2
+0x1.fafe6p+2, -0x1.2da99cp+3
+-0x1.0b92dp+3, 0x1.9e044p+1
+-0x1.311dc6p+2, -0x1.d3334ep+2
+-0x1.0d65bep+2, 0x1.3fdp+0
+-0x1.016d02p+3, 0x1.20988cp+3
+-0x1.2c415p+3, 0x1.3bcf84p+3
+-0x1.ec01e4p+1, 0x1.ad6f48p+1
+0x1.e55bep-1, 0x1.c5e34p+1
+-0x1.f09fp+0, 0x1.97c6f8p+1
+-0x1.d09cap+0, 0x1.0be7ap+2
+0x1.41dc18p+1, 0x1.fbe48p+1
+0x1.088a6p+1, -0x1.2ea978p+1
+-0x1.8fcd4p+1, 0x1.126cf4p+2
+0x1.ff66b8p+2, 0x1.edc53p+1
+0x1.879408p+1, 0x1.0d01c4p+2
+0x1.663848p+2, 0x1.59239p+2
+-0x1.a66018p+1, 0x1.6b37ep+1
+-0x1.15c734p+3, 0x1.55113p+1
+-0x1.76c2bp+2, 0x1.104dfp+0
+0x1.08774p+2, -0x1.e168ecp+1
+0x1.3cd1p-3, 0x1.d0c7e8p+1
+-0x1.eb0c9ep+2, 0x1.4e0668p+2
+-0x1.ed731p+1, 0x1.ad085p+1
+0x1.bd0f4p+2, -0x1.7c9ef8p+2
+0x1.023ccp-2, -0x1.34a0b4p+2
+0x1.6fddecp+2, 0x1.036bb8p+2
+-0x1.8db1acp+2, 0x1.6f1988p+2
+0x1.246ac8p+3, 0x1.a7c688p+2
+0x1.4cda14p+2, -0x1.a45796p+2
+-0x1.34cfd6p+3, -0x1.10b318p+3
+-0x1.a16be4p+2, -0x1.ffab98p+1
+0x1.c2128p+2, 0x1.2403p+0
+0x1.2b1b5p+2, -0x1.a89f6ap+2
+0x1.004318p+1, 0x1.d4ce18p+1
+0x1.7a4198p+2, 0x1.6fc5d8p+2
+-0x1.20657ap+3, -0x1.62d8p-6
+0x1.d5a0fp+2, -0x1.33d74p-2
+0x1.8dfp-3, 0x1.9f502p-1
+-0x1.cee7p-2, 0x1.494354p+2
+0x1.027a2p-1, -0x1.8af9ap+1
+-0x1.642e24p+2, 0x1.3d82b8p+3
+-0x1.3c82dp+2, 0x1.9bbcp-2
+-0x1.c355d4p+2, -0x1.86c96p-1
+0x1.507cp+0, -0x1.1b67aep+3
+-0x1.ceafacp+2, 0x1.2a712p+1
+0x1.853c8p+2, -0x1.b6b698p+1
+-0x1.f581fcp+2, -0x1.7375bp+1
+-0x1.72dc58p+1, 0x1.72758p+1
+-0x1.39fd7ep+2, -0x1.91c2cp-2
+0x1.398bcp-1, -0x1.c8b454p+2
+-0x1.0aadb4p+1, -0x1.ebb5acp+1
+-0x1.63468p-2, -0x1.883d7p+2
+-0x1.3a543cp+3, -0x1.19e48p-2
+-0x1.b39374p+2, -0x1.b19b14p+2
+-0x1.01b34ap+3, -0x1.98bfecp+1
+-0x1.28894cp+2, 0x1.1d14p-6
+0x1.7066ep+2, 0x1.cee84p+0
+0x1.004258p+1, -0x1.f617b4p+2
+-0x1.2e02ep+1, -0x1.d0402ap+2
+0x1.a45328p+2, 0x1.ac4f9p+2
+-0x1.9ad28p-1, 0x1.2db214p+3
+-0x1.0c6944p+3, 0x1.9f8cbp+0
+-0x1.6110a2p+2, 0x1.3415fp+3
+0x1.74045p+2, -0x1.0054a2p+2
+-0x1.6bfcep+1, -0x1.a4df1ap+2
+-0x1.40e7p-1, 0x1.d34818p+1
+-0x1.19c9c2p+3, -0x1.3b1bc2p+3
+0x1.7784p-1, -0x1.a4055ap+2
+0x1.60776cp+2, -0x1.d5fc26p+2
+-0x1.2c0246p+2, -0x1.ce3678p+1
+0x1.08b488p+3, 0x1.4ce9b4p+2
+0x1.85101p+2, -0x1.8973dp+0
+0x1.f227p-1, -0x1.f09d8p-1
+-0x1.2130e8p+3, -0x1.a92b6p+0
+0x1.cf79p+0, -0x1.dea628p+1
+0x1.7329p-3, -0x1.bba32p-1
+-0x1.112fcp-2, -0x1.c9a5cp+0
+-0x1.c4bf78p+1, 0x1.e5a5cp-1
+-0x1.4c7cp+1, 0x1.eff06p+2
+-0x1.520b9p+0, -0x1.c5eeb4p+1
+-0x1.3e9ceep+2, -0x1.f937c4p+1
+0x1.3331bcp+3, 0x1.0b8cp-3
+-0x1.b7ce3cp+1, -0x1.f58d16p+2
+0x1.9638p-7, 0x1.77deap-1
+0x1.2cbbbcp+2, 0x1.0db5ccp+3
+0x1.100ap-5, -0x1.300e24p+3
+-0x1.ce3374p+2, 0x1.b4bcap+1
+0x1.af6618p+1, -0x1.eb3bf8p+2
+0x1.25e398p+3, 0x1.f3865p+2
+0x1.39698p+3, -0x1.c308acp+1
+-0x1.10159p+3, -0x1.fc2068p+2
+-0x1.3d71dcp+3, 0x1.48f33p+2
+-0x1.9d9a4p-1, 0x1.27a81p+1
+-0x1.8733cep+2, 0x1.a0b07p+0
+-0x1.4393ep+0, -0x1.f5f4ap-1
+0x1.407df8p+1, -0x1.89f1p+0
+0x1.2f56cp+0, -0x1.90986p+0
+0x1.2e086cp+3, 0x1.47698p-3
+-0x1.a92b04p+2, 0x1.acf108p+2
+-0x1.0892cap+3, 0x1.7f816cp+2
+-0x1.94a8fp+0, -0x1.8bf78p-2
+0x1.c8e468p+2, -0x1.a30394p+1
+-0x1.d699d4p+2, -0x1.09f54p-1
+0x1.84063p+2, 0x1.daf88p-3
+0x1.f1bb8p-3, 0x1.fd151p+2
+-0x1.377e14p+3, 0x1.c3bcb8p+1
+-0x1.9783b6p+2, 0x1.bd92d8p+2
+-0x1.240e36p+3, 0x1.e7bddp+1
+-0x1.e73ddcp+2, -0x1.55dcb8p+1
+0x1.00c4c8p+3, 0x1.44a418p+2
+0x1.46dc58p+2, -0x1.53c05ap+2
+-0x1.4aefcp-1, 0x1.413a88p+1
+0x1.1c2a98p+3, -0x1.8675e8p+1
+0x1.1f843p+2, -0x1.c2f928p+2
+-0x1.cea5ep-1, -0x1.045ac8p+1
+-0x1.9d3c74p+2, -0x1.c24084p+2
+0x1.8ae54p+0, -0x1.28e7c8p+1
+-0x1.0f6e7ap+3, -0x1.6dec9ap+2
+0x1.c7981p+1, 0x1.57612p+1
+-0x1.dbd5p-4, -0x1.ad3d14p+1
+0x1.cf80cp-1, 0x1.70012p+2
+-0x1.a1ff44p+2, 0x1.4f7bcp+2
+-0x1.d83b84p+2, -0x1.0d9c4cp+3
+0x1.a60168p+2, 0x1.16102p+0
+-0x1.3ff1a8p+2, -0x1.d0494cp+2
+-0x1.5e142ap+2, 0x1.3bf90cp+3
+0x1.290c14p+3, 0x1.60259cp+2
+-0x1.ba5a8p-2, 0x1.b39p-8
+-0x1.3b2ap-5, 0x1.96dfp-3
+-0x1.00b232p+3, 0x1.d94308p+2
+-0x1.14603cp+3, 0x1.51963p+1
+0x1.262c78p+2, -0x1.161fb2p+2
+0x1.6dddp-4, 0x1.6236p-1
+-0x1.064d24p+2, 0x1.1a27dp+3
+-0x1.32624p+0, -0x1.8858ep+2
+-0x1.a4b914p+1, -0x1.2a436ep+3
+-0x1.9fde5cp+1, -0x1.190d04p+3
+0x1.a5c28p+0, -0x1.6fa6b8p+1
+-0x1.d46484p+1, -0x1.905c8ep+2
+0x1.e862ep+0, -0x1.2b2512p+3
+0x1.2e1a68p+2, 0x1.ea2b4p+2
+0x1.a4aa78p+2, 0x1.52c4cp+1
+-0x1.8785ep+1, -0x1.7047ap+0
+0x1.a25e4p+2, 0x1.b99c78p+2
+-0x1.e3119p+0, -0x1.02d6p-5
+0x1.0a9794p+2, -0x1.2015p-3
+0x1.9f4578p+2, -0x1.c9bc6cp+2
+-0x1.320772p+3, 0x1.c42d4p-1
+0x1.350004p+3, 0x1.07849p+1
+-0x1.541fap+1, -0x1.a420ap-1
+-0x1.1decap+2, 0x1.05c624p+3
+0x1.a644p-3, 0x1.9a46p-5
+-0x1.3a266ep+3, -0x1.a1776p+0
+0x1.7a7888p+2, -0x1.85a7cap+2
+0x1.00c1bcp+3, 0x1.0f78e8p+3
+0x1.0ff698p+3, -0x1.9fb0dp+2
+-0x1.14d742p+3, 0x1.8c5888p+1
+-0x1.174614p+3, 0x1.091fp-1
+-0x1.6e1d9p+1, -0x1.63a46ep+2
+-0x1.781118p+1, 0x1.dca828p+2
+-0x1.f6d5fp+2, -0x1.619158p+2
+0x1.cd2a2p-1, -0x1.bc5dacp+1
+-0x1.9b784p+2, -0x1.0e18p-3
+0x1.6d894p-1, 0x1.9f18bp+2
+0x1.55111p+0, 0x1.e95e88p+2
+0x1.0135e8p+2, -0x1.1f6914p+3
+0x1.9f6b88p+2, 0x1.526d7p+2
+0x1.762658p+2, -0x1.a986c8p+2
+0x1.79eacp+0, 0x1.50bep-4
+0x1.0cdab8p+2, 0x1.874d4p-1
+-0x1.6edd4p-2, 0x1.6a725p+0
+0x1.141fep+3, 0x1.8aaacp-1
+-0x1.bc98d4p+2, 0x1.22bc4cp+2
+0x1.1e1abcp+2, 0x1.c45988p+1
+0x1.e08ecp+2, -0x1.78801ap+2
+-0x1.755b8ep+2, 0x1.ba1cep+2
+-0x1.6e834ap+2, -0x1.7046fcp+2
+0x1.477b9p+1, 0x1.0e102p-1
+-0x1.90fd04p+2, 0x1.23005p+0
+0x1.72b814p+2, 0x1.938e2p+0
+-0x1.dd907cp+1, -0x1.2a09ep-1
+0x1.851bd8p+2, -0x1.65a5ccp+2
+0x1.52a3dp+1, -0x1.c9685p+0
+0x1.857d4p+1, -0x1.3469ep+2
+-0x1.a525ep+1, -0x1.e246p-3
+-0x1.11aaf4p+2, 0x1.d33898p+2
+-0x1.34186ap+2, -0x1.2348ecp+3
+0x1.31b83p+2, 0x1.c1368p-2
+-0x1.fb1278p+1, 0x1.d82318p+2
+0x1.2e29bcp+3, -0x1.02006cp+3
+-0x1.02fccp+1, 0x1.3ae86p+0
+-0x1.adcd3cp+2, 0x1.d830ap+0
+-0x1.7e0dcp+0, -0x1.685b5ep+2
+-0x1.0e7002p+3, 0x1.df931p+2
+0x1.0e7ffp+1, 0x1.c2d34p+2
+-0x1.d021b8p+2, -0x1.1e3ec4p+3
+-0x1.381edp+1, -0x1.186c04p+3
+0x1.46f57p+1, -0x1.2ad21p+0
+-0x1.7209d8p+1, 0x1.d3248p-1
+0x1.06f5dp+1, 0x1.3ef4ap+0
+0x1.4c6ddp+1, 0x1.893d6p+2
+-0x1.33524ap+2, 0x1.d9efp+0
+-0x1.cf42p-1, -0x1.725d22p+2
+0x1.96472p+0, -0x1.c299fap+2
+-0x1.165308p+3, 0x1.f9415p+1
+0x1.734914p+2, 0x1.2b5668p+3
+-0x1.2c5efp+3, -0x1.52d34p+0
+0x1.2116b8p+2, 0x1.f1de6p+0
+0x1.6b262p+0, 0x1.90eb58p+2
+0x1.22beccp+2, -0x1.2b425p+1
+-0x1.b9b8b8p+1, 0x1.ecd2p+1
+-0x1.ebd868p+1, -0x1.9cdf3cp+1
+-0x1.0835f8p+2, 0x1.28df5p+0
+0x1.0c8ee4p+3, -0x1.c2782p+2
+-0x1.7bfbaap+2, -0x1.239794p+3
+0x1.67324p+0, -0x1.346bc2p+3
+0x1.ea7d08p+1, 0x1.c5e12p-1
+-0x1.848e04p+2, -0x1.e6bbe4p+1
+0x1.433338p+2, -0x1.0babbp+2
+0x1.c87b7p+2, -0x1.3f4582p+3
+0x1.e7648p+0, -0x1.b858ap-1
+0x1.0a18c4p+3, 0x1.b3b8ep+0
+0x1.23ee7p+1, -0x1.4765fp+1
+-0x1.3eda1ep+3, -0x1.002d14p+3
+0x1.129668p+2, -0x1.131decp+1
+-0x1.3bc38p+0, 0x1.906618p+2
+-0x1.c16a48p+1, -0x1.6ab208p+1
+0x1.1de8acp+3, -0x1.a1f1cp-2
+0x1.172078p+3, -0x1.47bfa8p+2
+0x1.3cadfp+3, 0x1.773c5p+2
+0x1.6ea4p-5, 0x1.cf0d6p-1
+-0x1.1440c4p+1, -0x1.067cacp+3
+-0x1.61f3ep+0, -0x1.202c98p+3
+0x1.3053ep+0, -0x1.347b2p+0
+0x1.a3ab3p+1, -0x1.1b4904p+1
+-0x1.0e348p+0, -0x1.cc720cp+1
+-0x1.41636cp+2, -0x1.2e3b38p+2
+-0x1.6ec702p+2, 0x1.15189cp+3
+-0x1.394724p+3, -0x1.5d1dd8p+2
+0x1.5bcffp+1, 0x1.0c2c84p+2
+-0x1.116c34p+3, -0x1.4ce99ep+2
+-0x1.52e718p+1, -0x1.b02568p+2
+0x1.3a8e2cp+2, -0x1.8a2d3ap+2
+0x1.148638p+3, -0x1.44c48p-1
+-0x1.dd4e82p+2, 0x1.3a9b4cp+2
+0x1.ed1a8p-3, -0x1.57731p+2
+0x1.219184p+3, -0x1.768a9cp+2
+-0x1.1cee46p+2, 0x1.c090d8p+1
+-0x1.a6a314p+2, 0x1.e5958p+2
+-0x1.26472cp+2, -0x1.42daecp+2
+-0x1.355722p+2, -0x1.295222p+3
+-0x1.82bfd4p+1, 0x1.40c938p+2
+-0x1.347a9p+0, 0x1.eea858p+2
+0x1.ca74ep+2, 0x1.ab9f2p+1
+0x1.25b5f8p+2, -0x1.f9c6fcp+2
+-0x1.3ef844p+1, 0x1.859b08p+2
+0x1.6125dp+2, -0x1.396ecp-2
+0x1.d25d4p+0, -0x1.a965p+1
+0x1.6462b8p+2, -0x1.04c7dep+3
+-0x1.3fb6c2p+3, -0x1.46adeap+2
+0x1.9dafdp+0, 0x1.074fp+2
+-0x1.1e6bap-1, -0x1.1c57a6p+3
+0x1.1790ap+3, -0x1.fbcce4p+1
+0x1.92166p+1, -0x1.c6b3f6p+2
+0x1.2ffde8p+3, 0x1.ecbe1p+2
+0x1.e5b6cp-2, -0x1.b487bp+0
+0x1.aaeaep+2, 0x1.8020fp+1
+-0x1.87e188p+2, 0x1.88b7ap+0
+0x1.56427p+0, 0x1.1a4bd8p+3
+0x1.7a4e9p+1, -0x1.6e2f54p+2
+-0x1.3e67acp+3, 0x1.cd9fp-4
+0x1.eb8a1p+0, -0x1.174beep+2
+0x1.087db8p+2, -0x1.158622p+2
+0x1.82019p+0, 0x1.1061fp+0
+0x1.eca3e8p+1, -0x1.8c064p+0
+-0x1.3b738ep+3, -0x1.02c8f8p+3
+-0x1.86b4bp+0, 0x1.27a77p+1
+-0x1.6cd9bp+0, 0x1.e78abp+1
+0x1.0ad58cp+3, 0x1.2e74ecp+3
+-0x1.152518p+3, 0x1.ccf9cp-1
+0x1.04252p+2, 0x1.327904p+3
+-0x1.4fe01ap+2, 0x1.28b01cp+2
+0x1.bd825p+2, 0x1.51794p+2
+-0x1.27d7f4p+3, 0x1.e2f2p+2
+-0x1.3f0986p+2, 0x1.32abbp+3
+-0x1.5e9064p+1, 0x1.324548p+1
+0x1.10e65p+1, 0x1.2f2bbcp+3
+-0x1.9ea2fp+1, 0x1.c7304p+0
+-0x1.0de8cp-1, -0x1.dcd64p+0
+-0x1.e5ede4p+1, 0x1.f5376p+2
+0x1.f7ca5p+1, -0x1.94c54p+2
+0x1.4f2914p+2, 0x1.680c2p+2
+0x1.45e87cp+2, 0x1.1f00b8p+3
+0x1.01c1fp+2, 0x1.85d998p+2
+-0x1.af331p+0, -0x1.c27dd4p+2
+-0x1.2b8d5ep+3, 0x1.1734f8p+2
+0x1.0f27dcp+3, -0x1.528f28p+1
+0x1.3ae57p+0, 0x1.ec1988p+1
+-0x1.0029ecp+3, -0x1.1c1348p+3
+0x1.05366p+3, 0x1.e0e8ap+2
+0x1.b07068p+2, 0x1.1fee6p+3
+-0x1.6930ap-1, -0x1.0dca3cp+2
+0x1.fb5a88p+1, 0x1.5b185p+0
+0x1.cf15bp+2, 0x1.4eb9a8p+2
+0x1.00692p-1, -0x1.4603ecp+2
+-0x1.fcac1p+0, -0x1.f2cf8p-2
+0x1.a051d8p+2, 0x1.e7253p+1
+-0x1.6aae7ep+2, -0x1.1b140ap+3
+-0x1.f66dp-1, -0x1.5647d6p+2
+0x1.5c706p+0, -0x1.1237dp+3
+0x1.68df2p-1, 0x1.50dc38p+2
+-0x1.77a2dep+2, 0x1.306f74p+3
+0x1.9785a8p+1, 0x1.154924p+3
+0x1.f3c9ap+1, -0x1.fb6558p+1
+0x1.24572cp+3, -0x1.2324p+1
+0x1.4b218p-2, 0x1.f52bc8p+2
+-0x1.37de4p-2, -0x1.69553p+0
+0x1.2a952p+3, -0x1.58644cp+1
+0x1.0d4d68p+2, 0x1.668308p+2
+-0x1.cb35a8p+2, -0x1.3d7f0cp+3
+0x1.3012f8p+2, -0x1.50b16ep+2
+0x1.12d0acp+3, 0x1.e0d5fp+1
+-0x1.57c93p+1, -0x1.dde054p+1
+-0x1.98e2p-4, -0x1.590ea8p+1
+0x1.71ce2p+0, 0x1.f890bp+2
+-0x1.355584p+3, -0x1.ad8518p+2
+0x1.42410cp+2, 0x1.380b58p+3
+-0x1.2b2bbp+3, -0x1.010924p+2
+0x1.a1f538p+1, 0x1.d9bfap+2
+-0x1.8d69f4p+1, -0x1.62adap-1
+-0x1.47b40cp+1, 0x1.18a82p+1
+-0x1.1696d2p+2, -0x1.ec86p-2
+-0x1.bd29ccp+1, 0x1.431d1p+1
+0x1.37cfe8p+3, -0x1.12e524p+3
+-0x1.320c8ep+3, 0x1.7e86bcp+2
+-0x1.95814cp+1, -0x1.09f938p+1
+0x1.342358p+2, 0x1.0f3d38p+3
+-0x1.0d29cp+1, 0x1.2bba48p+1
+0x1.e8a2ep+2, -0x1.bab6p-1
+-0x1.4c25fcp+1, 0x1.a697ap+0
+0x1.95482p+2, 0x1.91cfep-1
+0x1.84506p+2, -0x1.a2e414p+1
+0x1.73b7ep+2, -0x1.49f43ep+2
+0x1.e960a8p+1, -0x1.f288ep+2
+-0x1.74488p-1, -0x1.21b6dp+1
+0x1.08a3c4p+3, -0x1.fe4822p+2
+0x1.e10e58p+1, 0x1.17a8d4p+2
+-0x1.e65fcp+1, -0x1.9a1dap+0
+-0x1.a3a0cp+0, -0x1.a9d8eep+2
+-0x1.2e8274p+3, 0x1.ca164p+2
+0x1.fc0cap+0, -0x1.29a8a8p+1
+-0x1.816c8p+0, 0x1.03c58cp+2
+0x1.43488p-1, 0x1.b2b54p+2
+0x1.8d17dp+2, 0x1.14e508p+3
+0x1.279c3cp+3, -0x1.1901ap+1
+0x1.6093ep-1, 0x1.117914p+3
+0x1.c67a98p+2, -0x1.46fb78p+2
+0x1.2a3b1p+2, 0x1.23dc2p+0
+-0x1.ae7684p+1, -0x1.a3d76cp+2
+-0x1.5276c4p+2, 0x1.390898p+1
+-0x1.08fc2ap+2, 0x1.b2e728p+1
+-0x1.c133ep+0, 0x1.8df978p+2
+0x1.330d4p+3, 0x1.7b8b9p+2
+0x1.086748p+2, 0x1.4f5ca4p+2
+0x1.392818p+1, -0x1.21b4bp+1
+-0x1.d1b79p+2, -0x1.28a2b2p+3
+-0x1.87878p+2, -0x1.0d6d82p+3
+-0x1.eb3dep+0, 0x1.2e634cp+3
+0x1.d261p+2, 0x1.b4de28p+2
+0x1.1a4f08p+3, 0x1.298d9p+3
+0x1.0b11a8p+1, -0x1.0550bep+3
+0x1.35016p+2, 0x1.55c688p+2
+-0x1.6d0a16p+2, -0x1.f003dep+2
+-0x1.cdf968p+1, -0x1.47bea6p+2
+-0x1.3801fp+0, 0x1.eb5478p+2
+-0x1.c015p+0, -0x1.131d5cp+2
+0x1.88d83p+0, -0x1.e2dc7p+1
+0x1.0e93cp+0, -0x1.c3fc8p-2
+-0x1.187158p+1, -0x1.3b224p+1
+0x1.04ed8cp+3, -0x1.cfa8f4p+2
+0x1.19dcd8p+1, -0x1.1a549p+0
+-0x1.6f16p-4, -0x1.8c7e4p+1
+-0x1.188aaep+3, -0x1.8ada7p+0
+-0x1.3cd97ep+3, -0x1.8b1e9cp+1
+0x1.c6233p+2, -0x1.8a625p+2
+-0x1.d57036p+2, -0x1.1ed98p+0
+0x1.607bcp-1, 0x1.f355ep+2
+0x1.2dc024p+2, 0x1.dfac2p+1
+-0x1.798b98p+2, 0x1.63bd5p+0
+0x1.60e4f8p+1, -0x1.29909ep+3
+0x1.43ae34p+2, -0x1.07c38p+2
+0x1.08fbcp+3, 0x1.283b8p+0
+-0x1.0363dep+2, -0x1.216848p+2
+-0x1.5fbb68p+1, 0x1.e1ec1p+2
+0x1.120238p+2, -0x1.6e7498p+1
+-0x1.f5cc68p+1, 0x1.66512p+0
+-0x1.2fcf9cp+2, 0x1.cca1p+1
+-0x1.0d69ep+1, 0x1.86af8p-1
+-0x1.e903fp+2, 0x1.655848p+1
+-0x1.9e014p+1, -0x1.148fcp+0
+0x1.453928p+1, 0x1.62b88p-1
+0x1.aa96ep+0, 0x1.cd344p+2
+-0x1.bc9134p+2, -0x1.226cp+3
+0x1.6a4adcp+2, 0x1.f8b708p+1
+0x1.557c1p+1, -0x1.b5ba4p+1
+-0x1.78931p+0, 0x1.280f24p+3
+-0x1.ffffaap+2, 0x1.64bfap-1
+0x1.4c8afp+1, -0x1.8d19dcp+2
+-0x1.62bbd4p+2, -0x1.5ee492p+2
+0x1.0cd3ep+0, 0x1.d3ebp-1
+-0x1.1b7438p+3, -0x1.aa46f8p+2
+-0x1.a967dp+2, -0x1.fe71f4p+2
+-0x1.35501p+0, 0x1.5699c8p+1
+0x1.a7b08p-1, -0x1.954a5ep+2
+-0x1.76705p+0, 0x1.73ac28p+1
+-0x1.dc6a84p+1, 0x1.ec59c8p+2
+0x1.176a3p+1, -0x1.473eeap+2
+0x1.085bap+0, -0x1.81d0bcp+1
+-0x1.63f79ep+2, -0x1.488cc4p+2
+0x1.e468bp+1, -0x1.098904p+1
+0x1.ff0b28p+1, 0x1.954f08p+1
+0x1.80da8p+2, -0x1.40ef4p-2
+-0x1.938a38p+2, -0x1.1059a6p+3
+-0x1.09f60cp+3, 0x1.98eadp+1
+0x1.34f15cp+3, -0x1.4dde4p-2
+-0x1.2d4094p+3, 0x1.a932a8p+2
+-0x1.a94bp-3, -0x1.090c96p+3
+0x1.422c38p+2, -0x1.332cep+1
+-0x1.52e23cp+2, 0x1.88cbd8p+2
+0x1.9f49d8p+2, 0x1.23d498p+1
+0x1.2aec18p+1, -0x1.d0172p+2
+-0x1.2d722ep+3, 0x1.e27a7p+0
+-0x1.54e664p+1, 0x1.436808p+2
+0x1.f34d2p+2, 0x1.6b4a4p-2
+0x1.a9396p-1, -0x1.6de332p+2
+-0x1.d66d18p+1, 0x1.c59608p+2
+0x1.0075dp+2, -0x1.8a2088p+1
+-0x1.2fcc32p+2, -0x1.67040cp+2
+-0x1.1ed8dep+3, -0x1.01139ap+3
+-0x1.aff7d4p+1, 0x1.21ca7p+3
+-0x1.374dep+3, 0x1.1bd1p+0
+-0x1.0fc6bp+0, 0x1.e0fccp+2
+-0x1.5bd628p+1, 0x1.2e50e4p+3
+-0x1.0504a8p+3, 0x1.1bc4fp+3
+-0x1.479758p+2, 0x1.35a774p+3
+-0x1.0ab51ep+2, -0x1.4468aep+2
+-0x1.34106p+2, 0x1.7e5db4p+2
+0x1.20acp-3, -0x1.777684p+2
+0x1.2f5ap+3, 0x1.516de4p+2
+0x1.2c932cp+3, -0x1.ddc538p+1
+-0x1.52236p+1, -0x1.8ac774p+1
+-0x1.866308p+2, 0x1.35da38p+2
+0x1.2942c8p+1, 0x1.010234p+3
+-0x1.13ccp-1, -0x1.f1dd88p+1
+-0x1.02d4f8p+2, -0x1.02b2dp+3
+-0x1.d73498p+2, -0x1.3c2c0ap+3
+-0x1.b699dp+2, -0x1.c5257ep+2
+-0x1.b6109ap+2, 0x1.012f9p+2
+0x1.a1ded8p+2, 0x1.d4d84p+1
+-0x1.3a5c6cp+3, -0x1.f3ccp-5
+-0x1.5a0d66p+2, -0x1.b2e7p-3
+-0x1.1e476ep+2, 0x1.6851p-2
+-0x1.ed34dcp+2, 0x1.d1db88p+2
+-0x1.b952cp+1, 0x1.a99b3p+2
+-0x1.7507bp+0, 0x1.19edd8p+3
+-0x1.3aaeccp+3, 0x1.666da8p+2
+-0x1.4ae71p+0, -0x1.eca528p+1
+0x1.5966ep+1, 0x1.0cc61cp+3
+-0x1.87dbecp+1, 0x1.383bdcp+3
+-0x1.26244p+0, -0x1.1d124p+3
+-0x1.c75758p+2, -0x1.42f3d2p+2
+0x1.25f18p+0, 0x1.1b384cp+3
+0x1.112e18p+1, -0x1.091904p+2
+-0x1.005954p+2, -0x1.33db34p+3
+-0x1.d3a564p+2, 0x1.3026b8p+2
+0x1.08556p+3, 0x1.ebd028p+2
+0x1.507998p+2, -0x1.b12958p+1
+0x1.6080fp+2, -0x1.e366bp+2
+0x1.04dd7p+1, 0x1.ea4478p+2
+0x1.28c344p+2, -0x1.52688p+1
+0x1.50bbb8p+1, -0x1.150c14p+3
+-0x1.7c611p+1, 0x1.1d60d8p+3
+-0x1.0d2b32p+2, -0x1.3a6a5ap+3
+0x1.24274p+3, 0x1.6c6fdp+2
+0x1.11d5ccp+2, 0x1.81e5dp+1
+0x1.755428p+1, 0x1.db9218p+2
+-0x1.0e729ap+3, -0x1.d991e8p+2
+-0x1.2dd756p+3, -0x1.36d034p+2
+-0x1.b92df4p+1, 0x1.7d4aa8p+2
+0x1.ba6bfp+1, -0x1.c36cd8p+2
+0x1.722bp-2, -0x1.020ca8p+2
+0x1.d6af6p+2, 0x1.1c3e4p+1
+-0x1.7166f8p+2, -0x1.c1598p+2
+0x1.92967p+2, 0x1.e4b17p+2
+0x1.a3c4a8p+2, -0x1.4441f6p+2
+-0x1.4f2318p+2, -0x1.3d4d8ep+3
+-0x1.9a0efap+2, -0x1.090974p+1
+-0x1.7df3ccp+2, -0x1.1bdbbp+3
+0x1.159fp-2, 0x1.38023cp+3
+-0x1.a7dfcp+0, -0x1.8ff9e4p+2
+-0x1.b14f5p+2, -0x1.0ec65ep+3
+0x1.2985a4p+3, 0x1.0400ep+2
+0x1.2f7c78p+3, 0x1.2dc7fp+0
+-0x1.696488p+2, 0x1.d00588p+2
+-0x1.2539eap+3, -0x1.a090f8p+2
+-0x1.8d4c88p+1, 0x1.7a3498p+1
+0x1.c960a8p+2, -0x1.c3e1ap+0
+0x1.a1e81p+0, -0x1.010e6cp+3
+-0x1.35e4ecp+2, 0x1.49fd6p-1
+0x1.2ed838p+3, 0x1.78cedp+0
+0x1.676cf8p+2, 0x1.427718p+2
+-0x1.373bb8p+1, 0x1.5ce29cp+2
+0x1.040f58p+3, 0x1.edb058p+2
+0x1.77d71p+1, -0x1.92f0b8p+1
+-0x1.1cbc76p+2, -0x1.a8e1acp+2
+0x1.6956bcp+2, 0x1.25cb88p+1
+0x1.ade4p-2, 0x1.a28fe8p+2
+0x1.3740ep+1, -0x1.ba13a4p+2
+-0x1.a18bd2p+2, 0x1.367f48p+3
+0x1.05ebd4p+3, -0x1.e19644p+2
+0x1.44deep+1, 0x1.193a58p+3
+0x1.12322p+0, -0x1.061794p+2
+0x1.1cda8p+1, -0x1.7c1d56p+2
+0x1.f90e4p-1, 0x1.9832fp+1
+0x1.764998p+2, -0x1.17b9a8p+3
+0x1.15bc64p+3, -0x1.e8644cp+2
+0x1.23c1d4p+3, -0x1.17b93p+3
+-0x1.c34ccp+0, -0x1.50d8f8p+1
+-0x1.45f1c8p+2, -0x1.0437cp+2
+0x1.5533d8p+1, -0x1.ac895cp+2
+0x1.106f54p+3, -0x1.073218p+3
+0x1.d539p+1, 0x1.fab8cp+2
+-0x1.669dep+0, 0x1.09af4p+0
+-0x1.07c49p+3, 0x1.23d3b4p+3
+-0x1.6b13eep+2, 0x1.818e3p+0
+-0x1.61d1f2p+2, 0x1.8590fp+2
+-0x1.0a4afcp+3, -0x1.1f78dap+3
+0x1.88ae5p+2, -0x1.0371fcp+2
+-0x1.119ffap+2, 0x1.2d0fep+2
+-0x1.83525p+0, 0x1.28f2p-5
+0x1.168c3p+1, -0x1.f8bd18p+1
+0x1.df93fp+2, 0x1.32178cp+2
+-0x1.0a869p+2, -0x1.20569p+1
+-0x1.212bbcp+3, -0x1.78868p+0
+-0x1.135142p+2, 0x1.38046p+3
+0x1.6cee6p+2, -0x1.d74ep-2
+0x1.e9df2p+1, 0x1.bf094p-1
+0x1.37b6f8p+2, -0x1.2c6b2p+2
+-0x1.9d19fcp+2, -0x1.0967c2p+3
+-0x1.d9844p+0, 0x1.3b7c6cp+3
+0x1.30b43p+3, -0x1.1bf26p+2
+0x1.ef6538p+2, 0x1.52283p+1
+0x1.c5f488p+1, -0x1.9e6c2cp+1
+-0x1.b87e98p+2, 0x1.0df64p-2
+-0x1.361a5ep+3, 0x1.de627p+1
+0x1.1a066cp+3, -0x1.d2888p+1
+0x1.d68fbp+2, 0x1.30b528p+3
+-0x1.5f8e18p+1, 0x1.028p-6
+0x1.2c53dcp+3, 0x1.03abb8p+3
+-0x1.701db8p+1, -0x1.4e7f4p+2
+-0x1.d9d6dcp+2, -0x1.803a2cp+2
+0x1.6a1158p+2, -0x1.42cc6p+1
+0x1.2322c4p+2, -0x1.8e10c4p+2
+-0x1.b0564p-2, 0x1.8817dp+1
+0x1.224fp+3, -0x1.42052ap+2
+0x1.202c38p+2, 0x1.2448ep+2
+-0x1.013bbp+3, 0x1.08d4bp+3
+0x1.1fa938p+3, -0x1.cf387p+0
+-0x1.2d09e4p+3, 0x1.d382ep+1
+-0x1.fd08acp+2, 0x1.87854p+2
+0x1.45f9bp+1, 0x1.34ca08p+3
+0x1.dbabcp+0, -0x1.0d5f14p+3
+0x1.383b98p+2, -0x1.c7e81cp+1
+-0x1.e7afecp+2, -0x1.f7d87cp+2
+-0x1.8c95cp-1, -0x1.2d9afap+3
+0x1.c4e758p+2, -0x1.a7145p+0
+0x1.71f6dcp+2, -0x1.c5c2f8p+1
+0x1.588a38p+1, 0x1.39c4dp+3
+0x1.fbd02p-1, -0x1.4f2bep+0
+-0x1.93b9p-3, 0x1.3814a8p+3
+-0x1.5510eep+2, -0x1.da076p-1
+0x1.1b109p+3, -0x1.4b828p-2
+-0x1.6d6ff2p+2, -0x1.305c1p+2
+-0x1.21fbp-2, 0x1.9b6b28p+2
+0x1.f332fp+2, -0x1.1acac4p+2
+-0x1.f1dab4p+2, 0x1.56aa8p-1
+0x1.d9d158p+2, -0x1.859eeap+2
+-0x1.8cf916p+2, 0x1.63f56p+1
+0x1.9dfc68p+2, -0x1.997db2p+2
+0x1.dee2p+0, -0x1.0cd50ep+3
+-0x1.7d0f3p+0, 0x1.05922cp+2
+0x1.1db56cp+3, -0x1.4c1fb8p+1
+0x1.85ca18p+1, 0x1.f0e1d8p+2
+-0x1.7a99dcp+1, 0x1.8ca808p+2
+0x1.7cbaep+2, -0x1.2b078p+2
+-0x1.54ec8ap+2, -0x1.9b8256p+2
+-0x1.39e9f6p+2, -0x1.384694p+2
+-0x1.171514p+3, -0x1.eedbbp+0
+0x1.1a2d4p+1, 0x1.33c35p+3
+0x1.d1306p+2, -0x1.f0835ap+2
+-0x1.a0bd96p+2, -0x1.e7b5cp-2
+0x1.01abecp+2, 0x1.32edbp+2
+-0x1.6cd54p+2, -0x1.3f1408p+3
+-0x1.2a2d36p+3, 0x1.b39d6p+2
+0x1.29c538p+2, -0x1.057e6ap+3
+0x1.bae7c8p+2, 0x1.622108p+1
+0x1.a7d3dp+2, 0x1.743cdp+0
+0x1.103ec8p+3, -0x1.2e96e2p+3
+0x1.b20fcp+2, 0x1.5e97bcp+2
+-0x1.160722p+3, 0x1.916b48p+1
+0x1.2a33d4p+3, 0x1.395e6cp+2
+-0x1.93fe58p+1, -0x1.6f5e78p+1
+0x1.89001p+1, -0x1.793a08p+1
+0x1.1b0ac4p+3, -0x1.6f2cbp+0
+0x1.56a06p-1, 0x1.4ec2ep+1
+0x1.2709cp+0, -0x1.e74bep+1
+0x1.1a767cp+3, -0x1.2b500cp+3
+-0x1.133b28p+3, 0x1.a4d24p+0
+0x1.49996cp+2, 0x1.69474p+0
+-0x1.94a28p-1, 0x1.fa78d8p+1
+-0x1.2d05fp+1, 0x1.b0038p+2
+0x1.6149bp+1, -0x1.fb24d8p+1
+-0x1.ea38bp+2, -0x1.aa3b78p+2
+0x1.112578p+2, 0x1.543d9p+1
+0x1.346794p+3, 0x1.0d3d08p+3
+0x1.688cf8p+1, 0x1.4e9ap-5
+0x1.299628p+1, 0x1.32ce04p+3
+0x1.41fe8cp+2, -0x1.145acep+3
+0x1.de6578p+2, 0x1.08da38p+2
+-0x1.7bdcfp+1, -0x1.187b5cp+3
+0x1.028924p+3, 0x1.725f2cp+2
+0x1.33351p+3, -0x1.867fd2p+2
+-0x1.1b2b3p+1, 0x1.f3cc78p+1
+0x1.3e42ep+3, -0x1.abf4p-3
+-0x1.74ebb6p+2, 0x1.ada96p+2
+-0x1.0235p-2, -0x1.0b4e16p+3
+-0x1.8f7336p+2, 0x1.2aa38p+3
+0x1.1f9c2p+0, 0x1.b4b04p-2
+0x1.13f944p+3, -0x1.ac9584p+2
+-0x1.2bef64p+2, -0x1.f097dcp+2
+-0x1.079d96p+3, -0x1.bbed58p+1
+-0x1.30fb34p+3, -0x1.0e4682p+2
+-0x1.3ab484p+2, 0x1.1a2e08p+3
+0x1.2b2df8p+3, -0x1.bcf498p+2
+0x1.8ae4ap+2, 0x1.7242cp+2
+0x1.b9fc38p+2, 0x1.5d4e6p-1
+-0x1.4886e6p+2, -0x1.528c5p+0
+-0x1.70a74p-2, 0x1.41a3ep+0
+-0x1.174a36p+3, 0x1.28852p+1
+-0x1.c6376cp+2, 0x1.02d418p+3
+-0x1.2168f8p+3, -0x1.718f84p+2
+-0x1.95a748p+2, 0x1.007868p+1
+0x1.80a55p+2, 0x1.5b9f3p+0
+0x1.9c21p-1, -0x1.5536b8p+1
+0x1.6bb138p+2, -0x1.479aa2p+2
+-0x1.eeea44p+1, 0x1.555758p+2
+0x1.9976ap+2, -0x1.334ac8p+2
+-0x1.7bde1cp+1, -0x1.7b4p+2
+-0x1.967c8p+2, 0x1.eb102p+1
+-0x1.fa1c34p+1, 0x1.58205p+2
+-0x1.3e8b82p+3, -0x1.d8949p+0
+-0x1.27c0b6p+3, -0x1.36fe38p+3
+-0x1.140dap+0, 0x1.c08c88p+2
+-0x1.af74bp+0, -0x1.e06c36p+2
+0x1.d63738p+2, -0x1.8a3e0ap+2
+0x1.c6d398p+1, -0x1.2bf618p+2
+-0x1.2f1422p+3, 0x1.37ae9cp+2
+-0x1.2cd4ccp+3, 0x1.ac54fp+2
+-0x1.762e5cp+2, -0x1.f3fd58p+2
+0x1.387ecp+2, -0x1.8f61d6p+2
+0x1.6d09cp+2, -0x1.3cfd08p+3
+0x1.3db5c8p+3, -0x1.1f91bcp+1
+-0x1.520db6p+2, -0x1.69047p+1
+0x1.95563p+2, -0x1.9d2734p+1
+-0x1.97353p+0, 0x1.0e57fp+3
+0x1.058b4p+0, -0x1.b915a4p+1
+0x1.c7a9a8p+2, -0x1.2184acp+3
+0x1.2f43e8p+3, -0x1.1301fp+0
+-0x1.2b10eap+3, -0x1.2faa02p+3
+0x1.22665p+3, -0x1.52f1dp+2
+0x1.d1c878p+1, 0x1.63ed18p+2
+0x1.875adp+2, 0x1.bbbfe8p+2
+-0x1.c2c618p+1, -0x1.4ca5cp+0
+-0x1.22f318p+3, -0x1.f384ap-1
+-0x1.34ff48p+1, 0x1.0bbf68p+2
+0x1.1c18b8p+2, -0x1.2e19p+0
+-0x1.3867dp+1, 0x1.30dd2cp+3
+0x1.d434p-2, 0x1.907a6p+0
+0x1.bb1c18p+2, 0x1.6a8a14p+2
+0x1.32cee8p+2, -0x1.756df2p+2
+0x1.9054cp+1, -0x1.0246bcp+3
+0x1.1b6478p+1, 0x1.0b795p+2
+0x1.3902cp+2, -0x1.092efcp+3
+0x1.ffdbb8p+2, -0x1.47cae4p+2
+-0x1.2a7dd2p+3, 0x1.a8abep+1
+-0x1.9eabf4p+1, -0x1.119ab8p+3
+0x1.8a5038p+1, 0x1.09fb14p+3
+-0x1.9042f2p+2, 0x1.1c0eecp+3
+0x1.20d4ep+0, -0x1.aa9f88p+2
+-0x1.1d4dbcp+1, 0x1.1bdd38p+2
+0x1.f5929p+0, 0x1.3a829p+2
+0x1.198188p+3, -0x1.e884f8p+1
+-0x1.f29f66p+2, -0x1.218e8p+3
+0x1.d07908p+1, 0x1.f12e7p+2
+0x1.f45fp-1, -0x1.3279dcp+3
+0x1.d0ddap+1, -0x1.3ea4ccp+1
+-0x1.39507ep+3, 0x1.be888p-1
+-0x1.ab70cp+2, -0x1.045366p+2
+-0x1.a3834ap+2, -0x1.327f6ap+3
+0x1.8995p+2, -0x1.bb38ap+1
+0x1.812fcp+0, -0x1.329508p+1
+0x1.9b9558p+1, -0x1.a24d3p+1
+0x1.eb7978p+2, -0x1.22518p-1
+0x1.8565e8p+2, 0x1.4e50d8p+1
+0x1.5d848p-1, 0x1.3d3cd4p+3
+0x1.67c728p+1, 0x1.2e4f68p+3
+0x1.842eap+1, -0x1.83588p-1
+-0x1.5a57ap-1, 0x1.9b2d98p+1
+0x1.9a1538p+2, -0x1.0277eap+3
+-0x1.d24a14p+1, 0x1.1674c4p+2
+-0x1.c24ba2p+2, 0x1.39491p+2
+-0x1.050d8p-3, -0x1.413ecp+2
+0x1.6c0f5p+1, 0x1.b45928p+1
+-0x1.e0b858p+1, 0x1.d215b8p+2
+0x1.0b33d4p+3, 0x1.405368p+1
+-0x1.ac3162p+2, 0x1.179fd8p+3
+-0x1.1188cap+3, 0x1.1e8fap+0
+-0x1.a1847p+0, 0x1.09eebp+1
+-0x1.2f7e3cp+2, 0x1.3c6f68p+2
+0x1.e6848p+2, 0x1.c6414p+2
+0x1.c910cp+0, -0x1.2a29b6p+3
+0x1.2f6ebp+1, 0x1.49e5ep+0
+-0x1.414f62p+2, -0x1.570e1p+2
+-0x1.1e49e6p+3, -0x1.e7a4b4p+1
+0x1.8069ep+1, -0x1.9d412p+2
+0x1.9636cp+2, 0x1.38cd34p+3
+-0x1.95c142p+2, 0x1.36e9bcp+3
+0x1.3db75p+1, 0x1.3abc88p+2
+0x1.1d8c1p+1, 0x1.d349p+0
+-0x1.3c534p+2, 0x1.0d643p+2
+-0x1.1d34a4p+3, -0x1.1e67eep+3
+0x1.084388p+1, -0x1.20879p+1
+0x1.d5f2bp+2, -0x1.4ba5f6p+2
+0x1.5ac04p+0, 0x1.9c0d9p+0
+0x1.18ec4p-1, 0x1.2a4b98p+3
+0x1.7e08p-1, -0x1.8d9p-6
+-0x1.14ddd2p+2, -0x1.e88bbp+2
+0x1.f831fp+2, -0x1.9bfa8cp+2
+-0x1.189ecp+3, 0x1.92f9bp+1
+0x1.d24fep+1, -0x1.eef5a4p+2
+0x1.af6448p+2, -0x1.94e74cp+1
+-0x1.b6128p-3, 0x1.e6c56p+2
+-0x1.4fbfe8p+2, 0x1.a0308p+0
+0x1.a710ap+2, 0x1.57fbap+1
+-0x1.3d6daep+2, -0x1.920d98p+2
+0x1.081e18p+1, -0x1.c63acp-1
+-0x1.d68d1cp+1, 0x1.14bf48p+3
+-0x1.02be64p+3, -0x1.14d28ap+3
+0x1.d2569p+1, -0x1.2653a8p+1
+0x1.1adb2p+3, -0x1.b2ca8ep+2
+0x1.808b78p+2, 0x1.c48598p+2
+-0x1.3916dap+3, 0x1.8319b8p+2
+0x1.e1d108p+1, 0x1.9e67dp+0
+-0x1.91fe98p+1, 0x1.9d8748p+1
+-0x1.5dce5p+0, -0x1.30bdeep+3
+0x1.5375dp+0, -0x1.e1a3cp-1
+0x1.4267dp+2, -0x1.9057fp+2
+0x1.3136b8p+2, 0x1.c26cdp+2
+-0x1.d864b8p+2, 0x1.00821cp+3
+0x1.7e63fp+2, -0x1.4789p-2
+0x1.8fc9f8p+2, -0x1.3f159p+3
+0x1.63a9ap+0, -0x1.4c56a8p+1
+-0x1.195ap-4, 0x1.08e1d4p+2
+-0x1.29216cp+2, -0x1.9780e6p+2
+-0x1.1eb2d4p+3, -0x1.b1695cp+2
+0x1.0866f8p+3, 0x1.1dfdd8p+2
+-0x1.37822ap+3, 0x1.b427ep+2
+-0x1.165008p+2, 0x1.8b2fep+0
+0x1.bc7b3p+1, 0x1.499668p+2
+-0x1.0ddeb8p+2, 0x1.fcb27p+1
+-0x1.226434p+3, 0x1.cf5b5p+2
+0x1.3a9c7p+2, -0x1.aaa0c8p+1
+0x1.7282p-4, -0x1.a4841p+2
+-0x1.81876p+0, 0x1.03a29p+0
+0x1.d1f8f8p+2, -0x1.44329cp+2
+-0x1.2e31f2p+2, 0x1.3c822p+3
+0x1.1b2b1p+1, 0x1.ccfdbp+0
+0x1.894f3p+1, -0x1.08d31cp+3
+0x1.391be8p+3, -0x1.1f77e4p+1
+-0x1.1b3072p+3, -0x1.09466ep+3
+0x1.bb904p-2, 0x1.07eefp+3
+0x1.8bp-2, 0x1.0d96e4p+3
+-0x1.41d778p+1, 0x1.166bdp+2
+-0x1.0a11bep+2, -0x1.80648p+2
+0x1.8fb89p+2, -0x1.32dc9p+3
+0x1.e5072p+2, 0x1.0909d4p+2
+-0x1.444d02p+2, 0x1.35eeacp+2
+0x1.772148p+1, -0x1.089c58p+2
+-0x1.800a18p+2, 0x1.b6a41p+1
+0x1.53dcbp+1, 0x1.15964p+3
+-0x1.76bccp+0, 0x1.0df0dp+3
+-0x1.129586p+3, -0x1.813aep+2
+-0x1.cd9812p+2, -0x1.2ff38p+0
+-0x1.3dc8dap+3, 0x1.63666p+1
+0x1.41026p+2, 0x1.ad652p-1
+-0x1.13cf8p-2, 0x1.e41ee8p+2
+-0x1.fb0bbp+1, -0x1.82c254p+2
+0x1.314e44p+2, 0x1.77c6d8p+2
+-0x1.c86898p+2, 0x1.f764ap+2
+0x1.29d35p+3, -0x1.9892ep+0
+0x1.0d70bp+2, 0x1.2ebe3cp+3
+0x1.611764p+2, -0x1.a841b8p+2
+-0x1.9b6c7p+2, -0x1.450ffap+2
+-0x1.08a71p+1, 0x1.7e384p-1
+-0x1.cb45e8p+2, -0x1.76a89p+2
+0x1.219cp-1, -0x1.2f774p+0
+-0x1.54923ap+2, 0x1.0e6efcp+3
+-0x1.efadb4p+2, 0x1.e76e7p+1
+-0x1.d26454p+2, 0x1.011d5p+3
+-0x1.23481p+3, 0x1.51d2p+1
+0x1.0574ep+0, -0x1.5efd78p+1
+-0x1.aa9b4p-1, 0x1.b4d478p+2
+0x1.685728p+2, -0x1.2c3e6ep+3
+-0x1.9c9c8p+2, -0x1.02e04ep+2
+-0x1.1f1d7ap+2, 0x1.c1b4p+1
+-0x1.0217bap+3, 0x1.33acf8p+2
+0x1.14b2fcp+3, -0x1.f9d94p-2
+-0x1.215d4ap+3, 0x1.1b754p-2
+-0x1.37ca98p+3, 0x1.02cee4p+3
+0x1.031268p+3, -0x1.32025p+1
+0x1.e1238p+2, -0x1.5901cp-2
+-0x1.6b27d8p+2, 0x1.f6395p+0
+-0x1.13fdc2p+3, 0x1.0040f8p+1
+-0x1.354546p+3, 0x1.ee6ap+2
+-0x1.0aa784p+1, -0x1.e31fd4p+2
+0x1.b22c8p-1, -0x1.27974p+1
+0x1.d005p+2, 0x1.593198p+2
+0x1.17c88p-1, 0x1.391bcp+0
+-0x1.e8ac9p+0, 0x1.20ebc4p+2
+-0x1.6a5fep+0, -0x1.7a223cp+2
+0x1.1ea514p+2, 0x1.fcb54p+0
+0x1.d051a8p+2, 0x1.1a065p+2
+-0x1.c82e4p-2, -0x1.eb9d68p+2
+0x1.f8f46p+1, -0x1.8f14c4p+2
+-0x1.32673cp+3, 0x1.4951a8p+1
+0x1.04ec9cp+3, -0x1.ad5424p+2
+0x1.1e4b68p+3, 0x1.976f48p+1
+0x1.3419p-1, -0x1.22398ap+3
+-0x1.d144ap+0, -0x1.01423p+2
+0x1.5d716cp+2, -0x1.bd45cep+2
+-0x1.b1842p+2, -0x1.50d554p+2
+0x1.c3fbfp+2, 0x1.3c591cp+3
+0x1.19348cp+3, 0x1.48dabcp+2
+0x1.2cfdc4p+3, 0x1.5d808p+2
+-0x1.dca6p-5, 0x1.683478p+2
+-0x1.0a3718p+3, -0x1.218d4cp+3
+0x1.74617p+0, 0x1.1e0f9p+2
+-0x1.9705ep-1, 0x1.5a9828p+2
+0x1.ef42d8p+2, -0x1.d4dc6p-1
+-0x1.7e155p+2, 0x1.a0481p+0
+-0x1.d231p+0, -0x1.330128p+3
+-0x1.143244p+3, -0x1.84adccp+1
+-0x1.ffa558p+1, 0x1.8ece1p+1
+0x1.4b03d8p+2, -0x1.8d731cp+2
+-0x1.adf3cp+0, 0x1.eca2ap+2
+-0x1.00e9ep+3, 0x1.9dd82p+2
+0x1.2af7dcp+2, -0x1.b4fe16p+2
+0x1.c3813p+2, 0x1.a3a5bp+1
+-0x1.b1e42p-1, -0x1.9f1bccp+1
+-0x1.be8c4p+1, 0x1.8374p-3
+-0x1.fac804p+1, -0x1.8d4ccp+0
+0x1.069a3cp+3, -0x1.2c7f78p+2
+0x1.640e4cp+2, -0x1.5b7adp+0
+0x1.ec208p+1, -0x1.0ec4a4p+1
+-0x1.f71ce8p+2, -0x1.2c588ap+3
+-0x1.f14f4p+1, 0x1.180918p+3
+0x1.47aap+0, -0x1.bc11p+1
+-0x1.9ff244p+2, -0x1.2b011p+1
+0x1.c12bap+0, 0x1.2a59p+0
+-0x1.b5713p+0, 0x1.0346p-1
+0x1.31cc68p+2, 0x1.b4535p+1
+0x1.470a5cp+2, 0x1.b0a448p+2
+0x1.7404a4p+2, -0x1.017ea6p+3
+0x1.29779p+2, -0x1.17d28cp+3
+-0x1.63aeccp+2, -0x1.1477ap+0
+-0x1.5821f4p+2, -0x1.d362cp-2
+0x1.baf568p+2, -0x1.0f70fp+3
+0x1.d7e9ep+1, 0x1.3c57ccp+3
+-0x1.fb8e1ep+2, -0x1.1600a2p+3
+0x1.01e62p+1, 0x1.231dep+3
+-0x1.01e24ap+3, 0x1.b2b2a8p+2
+-0x1.10503ap+3, 0x1.fdf6a8p+2
+0x1.272a2p+1, 0x1.6442p+0
+0x1.b1522p+2, 0x1.0cdf8p+0
+0x1.1fdac4p+2, 0x1.ffac3p+1
+-0x1.58a778p+1, -0x1.d3236p+0
+0x1.2bb5ap+1, 0x1.64db9cp+2
+0x1.71c2d8p+2, -0x1.2b2f3p+3
+-0x1.11c322p+2, -0x1.844e6ap+2
+0x1.3e640cp+3, -0x1.b750ecp+2
+-0x1.cb26eep+2, -0x1.bb34f8p+2
+-0x1.707e4p+0, 0x1.6a3e14p+2
+-0x1.3640aap+3, -0x1.41017p+0
+0x1.6e94a8p+2, 0x1.2904ap+2
+0x1.f75e4p-2, 0x1.c57a9p+2
+-0x1.3d6a3ap+3, -0x1.1c1192p+2
+0x1.2ded6p+1, 0x1.842318p+2
+-0x1.c5377p+1, 0x1.29cfb4p+3
+0x1.54d16p-1, -0x1.b69f3p+0
+0x1.35746p+1, 0x1.15c968p+1
+-0x1.3db01ap+3, -0x1.290686p+3
+0x1.2570f4p+3, -0x1.81ccfcp+1
+-0x1.eea0cap+2, 0x1.dd097p+2
+0x1.0e0b8p+3, -0x1.e19844p+2
+0x1.fca4ap+1, -0x1.fa597cp+1
+-0x1.5cc86ep+2, 0x1.4a35e4p+2
+-0x1.a1304p-1, -0x1.7e13bap+2
+-0x1.22161ap+3, 0x1.5dcfp+0
+0x1.2baabp+1, -0x1.9a36p+0
+-0x1.cd7becp+2, 0x1.5ab2p-3
+-0x1.5d7f08p+1, 0x1.86168p-1
+0x1.20ad18p+2, 0x1.d0aeep+1
+-0x1.6ea99p+0, 0x1.e991dp+1
+0x1.9788c8p+2, -0x1.b8f708p+2
+0x1.0c3cb8p+3, -0x1.04b712p+3
+-0x1.05a732p+3, -0x1.cc4e7cp+2
+-0x1.2cf7f2p+3, 0x1.fcbfdp+1
+0x1.3f8d6p+3, 0x1.6615cp-1
+-0x1.fa801p+2, -0x1.29425cp+2
+-0x1.366764p+3, -0x1.150ad2p+3
+0x1.19f108p+2, -0x1.e5a3fp+2
+-0x1.05c6a8p+3, 0x1.d2be88p+1
+-0x1.761cf4p+2, 0x1.43cdc8p+2
+0x1.21773p+3, -0x1.534ad6p+2
+-0x1.28fd5p+1, 0x1.0e4e18p+3
+0x1.d14bep+2, 0x1.2a50d8p+3
+0x1.a1a8cp+1, 0x1.7e69fcp+2
+0x1.38919cp+3, -0x1.06b3p+3
+0x1.b4ca9p+2, -0x1.dedc48p+2
+0x1.b062e8p+2, -0x1.20a7f2p+3
+0x1.e6892p+1, -0x1.21b5ecp+1
+-0x1.c5e534p+1, -0x1.1c99bp+3
+0x1.391b24p+3, -0x1.c226d8p+2
+-0x1.fbcbcp+1, 0x1.f0505p+2
+-0x1.0a6d9ep+2, 0x1.b5ceep+1
+0x1.0c5e38p+2, -0x1.e09d28p+1
+-0x1.2433b8p+3, -0x1.c3599ap+2
+-0x1.503a8p-1, 0x1.2eb0ep+3
+0x1.e1e9c8p+2, 0x1.4e9338p+2
+-0x1.09487ep+3, -0x1.9b14ap+0
+0x1.cb2e4p+1, 0x1.54c34p-2
+0x1.3828ep+3, -0x1.8195a2p+2
+0x1.8f3ee8p+2, 0x1.cdfbfp+2
+0x1.0741d4p+3, -0x1.8ae286p+2
+0x1.850f68p+1, 0x1.f283p-2
+-0x1.45c2ep+2, 0x1.5f35p-2
+-0x1.fd9a6cp+1, 0x1.1382f8p+3
+0x1.3b382p+1, 0x1.8ff5dp+2
+0x1.3b9b28p+3, 0x1.c9a3p+0
+0x1.c9694p-1, -0x1.498aa8p+2
+0x1.9038ap+1, -0x1.219bap+0
+-0x1.983a4p-1, -0x1.960174p+2
+0x1.eec79p+2, 0x1.c0b5a8p+1
+0x1.a11f58p+2, -0x1.533a8p-1
+-0x1.22a994p+2, 0x1.a9cdap+1
+0x1.187c2p+1, 0x1.327518p+3
+-0x1.3c91c8p+2, 0x1.1cc6p+0
+-0x1.8ae398p+2, -0x1.e9cfe6p+2
+0x1.9c8bfp+2, 0x1.2ed39cp+2
+-0x1.250f08p+1, 0x1.a69e5p+2
+-0x1.962f18p+2, -0x1.ed5abep+2
+-0x1.d58e7p+2, -0x1.0b188cp+3
+0x1.ddd45p+1, 0x1.a60c1p+2
+-0x1.6143c4p+1, -0x1.25ca5cp+3
+-0x1.302b1ap+2, 0x1.15e8p-1
+0x1.366c4p+1, -0x1.ff309cp+1
+-0x1.968p-2, -0x1.09d454p+2
+0x1.31ebap+0, 0x1.318cap+0
+0x1.26eabp+3, -0x1.e65918p+1
+0x1.c1c06p-1, -0x1.10ac8p-1
+-0x1.23d1fap+2, 0x1.fe002p+2
+0x1.650464p+2, 0x1.8ef76p+0
+-0x1.f6c77p+2, 0x1.f3688p+2
+-0x1.d92b24p+2, 0x1.ae644p+2
+0x1.42ef4p-1, 0x1.3d602p+1
+0x1.ef288p+2, 0x1.05ff3cp+3
+0x1.52b4p-3, 0x1.172e84p+3
+0x1.45e1cp+1, -0x1.7280fp+1
+0x1.e8715p+2, -0x1.9f7696p+2
+0x1.e9c55p+1, 0x1.e6d64p+2
+-0x1.c934cp-1, -0x1.8a5eep+0
+0x1.e0e2ep-1, -0x1.8e3dep+2
+-0x1.ab23a8p+2, -0x1.986eacp+2
+0x1.0b9cap+1, -0x1.273bp-3
+-0x1.ad0ffcp+2, 0x1.0dc0fp+1
+-0x1.2cac24p+2, -0x1.71cp-5
+-0x1.fafbcp+0, 0x1.613594p+2
+-0x1.628494p+1, 0x1.c3b91p+2
+0x1.5a1338p+2, 0x1.d12d8p+2
+-0x1.a62db8p+2, 0x1.11bc7cp+2
+0x1.7fed4cp+2, -0x1.db05a4p+1
+0x1.914528p+1, 0x1.c9b4e8p+2
+-0x1.e52d3cp+1, 0x1.81d8fp+1
+-0x1.9f1ad8p+2, -0x1.714d2ap+2
+-0x1.374b7cp+2, -0x1.e854f6p+2
+0x1.9131p+0, -0x1.421fap+1
+0x1.70f45cp+2, -0x1.3355cp+3
+0x1.72615cp+2, -0x1.3717fp+1
+-0x1.1f81c4p+3, 0x1.90d7bp+2
+-0x1.b958p-2, 0x1.5970fp+1
+-0x1.f3ab8p-3, 0x1.ac528p-2
+-0x1.fac2e4p+2, -0x1.0a035p+3
+0x1.d24fbp+2, -0x1.8ade3cp+2
+-0x1.51dd6p-1, 0x1.35d8cp+2
+-0x1.a5e5a8p+2, 0x1.33223cp+2
+-0x1.e52ep-3, -0x1.1c631p+0
+-0x1.93cd58p+2, -0x1.29p-3
+-0x1.637f4p-1, 0x1.a9e96p+0
+0x1.d3b45p+2, -0x1.c5b1a8p+2
+0x1.317acp+3, -0x1.2387ccp+1
+-0x1.739218p+2, 0x1.c20c7p+2
+-0x1.25dc7ap+3, -0x1.be92cp-2
+-0x1.4c17cep+2, -0x1.957076p+2
+0x1.36f8ecp+2, 0x1.599dbp+1
+0x1.d99e8p-2, 0x1.08af48p+3
+0x1.02e95p+0, 0x1.36214p-1
+0x1.b1a2cp+2, 0x1.10858cp+2
+-0x1.127d7p+0, -0x1.1ed2fp+2
+-0x1.a0db4cp+1, 0x1.0b69ccp+3
+-0x1.78947cp+2, -0x1.26dfe6p+2
+-0x1.8a8be8p+1, -0x1.743978p+1
+0x1.fc2c8p+2, -0x1.0710f4p+2
+-0x1.792bcep+2, 0x1.31034cp+3
+0x1.070ep-1, 0x1.e748b8p+2
+0x1.1a5748p+3, 0x1.69dbcp+0
+-0x1.6012ecp+2, 0x1.53bb18p+1
+0x1.17a5f4p+3, 0x1.2f8cbp+3
+-0x1.74bff2p+2, -0x1.61844ep+2
+-0x1.ed9cdcp+1, -0x1.63d814p+2
+-0x1.b6f434p+2, 0x1.3a64fcp+3
+-0x1.67a45ep+2, -0x1.dd8264p+2
+0x1.63c88p-1, 0x1.6d7588p+1
+0x1.07344p+2, -0x1.276e5cp+2
+0x1.37698p-2, -0x1.0f3274p+3
+0x1.541fe8p+1, -0x1.00f294p+3
+0x1.92bce8p+2, -0x1.834f6p-1
+0x1.b7d06p-1, -0x1.84d144p+2
+-0x1.477124p+1, -0x1.d4813cp+2
+0x1.279afcp+3, -0x1.5a66ep-1
+-0x1.7fddp-4, -0x1.3d54fp+0
+0x1.0e3438p+3, -0x1.ba1cfp+2
+-0x1.12f13ap+3, -0x1.3de9ccp+2
+-0x1.285848p+2, 0x1.24bep-1
+-0x1.0e7a64p+2, 0x1.1d6c18p+2
+0x1.fe8a08p+2, 0x1.695a9p+1
+-0x1.4fc5p+0, -0x1.e8eaep+0
+0x1.cddf8p+1, 0x1.127afp+1
+0x1.6ddfep+2, -0x1.d527bap+2
+0x1.0a5ec4p+3, 0x1.9462cp+2
+0x1.ff85dp+2, -0x1.1b5a6cp+3
+-0x1.23012cp+2, -0x1.c34ea8p+1
+-0x1.878aa4p+2, -0x1.456dfcp+2
+-0x1.df257ep+2, 0x1.400b68p+2
+-0x1.f64f1cp+1, 0x1.935568p+1
+0x1.1132p-5, 0x1.29e9c8p+2
+0x1.b42d2p-1, 0x1.ec2dep+2
+-0x1.836c5p+1, -0x1.b18f04p+1
+0x1.8135cp+2, 0x1.8b7aap+2
+0x1.10584p+0, -0x1.aca6dp+0
+-0x1.281e64p+3, 0x1.22d968p+3
+0x1.4a54dp+2, 0x1.03cef8p+2
+-0x1.f7b54p-1, 0x1.2a7284p+2
+-0x1.dd2018p+2, -0x1.5edff8p+1
+-0x1.c0d9cp-1, 0x1.fec04p+2
+0x1.086524p+2, -0x1.6eb80ep+2
+-0x1.2752cap+3, 0x1.63bbf4p+2
+0x1.62892p+0, -0x1.62e37p+0
+0x1.adea58p+2, 0x1.896c88p+2
+-0x1.bc97p-1, 0x1.37f17p+2
+-0x1.c0f3cp-1, 0x1.d3bac8p+1
+-0x1.133f02p+2, 0x1.f1d42p+2
+-0x1.4633c8p+1, -0x1.af2bdp+1
+0x1.ab528p+1, -0x1.188a02p+2
+-0x1.f9c15cp+2, -0x1.c1609ep+2
+-0x1.a6082p-1, 0x1.41d6p+0
+-0x1.6a4024p+2, 0x1.3e858p+2
+0x1.faf64p+1, 0x1.2cee88p+2
+-0x1.a97ae4p+2, 0x1.dc2e28p+1
+0x1.2dfc5p+1, -0x1.7ffddp+0
+-0x1.549bf2p+2, -0x1.07ea38p+3
+-0x1.cd0848p+1, 0x1.0bf194p+2
+0x1.72a49p+2, -0x1.451bcp-2
+0x1.bd241p+1, 0x1.4e41p-4
+0x1.0e3ee4p+2, -0x1.f01178p+2
+0x1.1cf7e4p+3, -0x1.76014p+2
+-0x1.2c9416p+3, 0x1.a552e8p+1
+0x1.37ffccp+3, -0x1.0df312p+3
+0x1.e7cacp-2, 0x1.133e98p+3
+0x1.0258dcp+2, -0x1.29ee2p+1
+0x1.bf248p+0, 0x1.6457dp+0
+0x1.09be88p+3, -0x1.70b94p-1
+-0x1.4526p-2, -0x1.39e01p+0
+0x1.68fb9p+0, -0x1.04cb16p+2
+-0x1.848978p+1, -0x1.2a0908p+3
+-0x1.6b4f2p+2, -0x1.75927p+2
+-0x1.7dfcep+2, 0x1.05b76p+2
+0x1.7078a8p+2, 0x1.a3b818p+2
+0x1.0116b4p+2, 0x1.78cecp+2
+-0x1.be766ap+2, -0x1.8c8934p+1
+-0x1.a0a35ap+2, 0x1.38fd9cp+3
+-0x1.3aba16p+2, 0x1.2cp+2
+0x1.7306e8p+2, -0x1.612196p+2
+0x1.0d4fp+0, -0x1.06bc72p+3
+0x1.c595f8p+1, -0x1.ae84p-5
+0x1.66796p-1, 0x1.0f99ep+3
+-0x1.161a64p+2, 0x1.168ccp+2
+0x1.ddc29p+1, 0x1.aec0e8p+2
+-0x1.cbd0f8p+2, 0x1.4ac94p-2
+-0x1.45e82p+0, 0x1.41165cp+2
+0x1.b08af8p+2, -0x1.a5ecfp+2
+0x1.22c35p+2, 0x1.518888p+2
+-0x1.497d4p-1, 0x1.55d85p+2
+-0x1.daff48p+1, -0x1.16fep+3
+-0x1.3a1dcp+3, -0x1.18813cp+1
+0x1.0cdbccp+3, 0x1.3b1d3p+3
+0x1.a9fbp-4, 0x1.4d32e8p+1
+-0x1.2c0e86p+3, -0x1.c195f4p+2
+0x1.075b24p+3, 0x1.89b51p+2
+-0x1.66a6ap+0, 0x1.114dp-3
+-0x1.9ea71ap+2, 0x1.220eb8p+1
+0x1.4ccf1p+1, 0x1.d1a67p+2
+0x1.bbd3p-4, -0x1.05f0f4p+1
+0x1.05a87p+3, -0x1.0fef6p+2
+0x1.4cc458p+2, 0x1.6e79d4p+2
+0x1.a5956p+1, 0x1.3ccce8p+1
+-0x1.3de3eap+2, 0x1.2785a8p+3
+0x1.d1e338p+2, -0x1.02a6b8p+3
+-0x1.1936ap-1, -0x1.51488p-3
+0x1.c44428p+2, -0x1.0e9348p+2
+0x1.23a68cp+3, -0x1.51678cp+1
+0x1.e046ap-1, 0x1.8354d8p+2
+-0x1.26184p+2, -0x1.3389ep+3
+0x1.f4ff98p+2, -0x1.c2ec78p+1
+0x1.1afe3p+2, 0x1.7758dp+1
+-0x1.9d514p-1, -0x1.333b0cp+3
+0x1.be256p+2, -0x1.5aacp-1
+-0x1.6c0bf2p+2, -0x1.01561cp+2
+-0x1.6d8p-5, 0x1.16bb7p+2
+-0x1.007658p+1, 0x1.09a338p+2
+-0x1.764f58p+2, -0x1.ea5ec4p+2
+0x1.1c9238p+3, 0x1.bc884p+1
+0x1.f8e7ap+0, -0x1.4e7b88p+1
+0x1.fd5a1p+1, -0x1.3dececp+2
+-0x1.1a4eb6p+2, 0x1.d1ba98p+2
+0x1.d38p+0, -0x1.42de8cp+2
+0x1.62365p+2, -0x1.2e50d8p+1
+0x1.88603p+1, -0x1.78178p-3
+0x1.f4b53p+2, 0x1.381d4p-2
+-0x1.b49cp+0, 0x1.3b1188p+1
+-0x1.a43f66p+2, -0x1.63b65ap+2
+0x1.21bb98p+2, -0x1.91d61p+0
+0x1.bfbp+0, 0x1.906b7p+2
+0x1.0cbf34p+3, -0x1.0bb68p-2
+-0x1.53a03p+0, 0x1.6af48p-2
+0x1.d14748p+2, 0x1.9b965p+2
+0x1.382a18p+2, -0x1.04dffap+3
+0x1.b73ap-3, -0x1.066bacp+1
+-0x1.446836p+2, -0x1.7e7ep-1
+0x1.e62a68p+2, -0x1.32c592p+3
+-0x1.37e224p+2, -0x1.7e2f14p+2
+0x1.cb2d5p+0, -0x1.cf7724p+2
+-0x1.55f6fcp+1, -0x1.b6cdecp+1
+0x1.cca698p+2, 0x1.2ce68p+0
+-0x1.55cc04p+2, 0x1.9175p+0
+0x1.835d7p+2, -0x1.ee1638p+2
+0x1.717d1p+1, 0x1.46286p+0
+0x1.756238p+1, -0x1.c0686cp+1
+-0x1.352864p+3, -0x1.d9d004p+1
+0x1.3126ap+3, 0x1.fc6b7p+2
+0x1.e52ad8p+1, -0x1.e79cfap+2
+-0x1.31eec8p+2, 0x1.f9925p+1
+0x1.65bfcp-2, 0x1.9ccdp-1
+-0x1.35d7a4p+2, -0x1.a49ed4p+1
+-0x1.c50d8p+0, -0x1.7fca7p+2
+-0x1.a67e9cp+2, 0x1.b92cep+2
+-0x1.08be86p+3, 0x1.6aa6acp+2
+-0x1.e7a848p+1, 0x1.d2c6ep+1
+0x1.30aaa8p+3, 0x1.5d8efp+0
+-0x1.a476e4p+1, 0x1.ae33ep+0
+0x1.20691cp+3, -0x1.5ff6b8p+1
+-0x1.9b0d7p+2, -0x1.200598p+3
+0x1.32631cp+3, 0x1.e11c58p+2
+0x1.d8231p+2, -0x1.690c2p+2
+-0x1.ba9fa4p+1, -0x1.fda978p+1
+-0x1.d912fp+2, 0x1.99189p+2
+-0x1.9bc6p+1, 0x1.4f803p+1
+-0x1.dbe15ap+2, -0x1.82459cp+1
+-0x1.ac275ap+2, -0x1.e70afcp+2
+-0x1.06499p+3, -0x1.42075p+0
+-0x1.4afe84p+1, 0x1.7a1eap+0
+0x1.63535p+1, -0x1.75ca9cp+2
+-0x1.0580dp+3, 0x1.0d9d98p+1
+0x1.ad859p+1, -0x1.e46be8p+2
+0x1.32c38cp+3, 0x1.320b64p+3
+-0x1.850844p+1, -0x1.1a4892p+3
+0x1.ca2abp+0, -0x1.695f9p+1
+-0x1.d50fecp+1, 0x1.8b1bp+2
+0x1.cffdbp+2, 0x1.397f88p+2
+-0x1.a5344p+0, -0x1.2e941p+2
+-0x1.a7a7bp+0, -0x1.044bp+0
+-0x1.6f6ac4p+2, 0x1.1600b8p+3
+-0x1.fda4p-5, 0x1.d9ed8p+2
+-0x1.ffb7cp-2, -0x1.5aedacp+1
+-0x1.3e957cp+1, -0x1.bcf848p+1
+-0x1.586d96p+2, 0x1.90afbp+1
+-0x1.16a37p+1, 0x1.e15628p+1
+0x1.e4c2f8p+2, 0x1.6e52ap+2
+0x1.9c35p-1, 0x1.c1dd5p+0
+-0x1.1655ccp+3, -0x1.143acp-1
+0x1.39a0a8p+3, -0x1.8f24e4p+2
+-0x1.54582ap+2, 0x1.07ea34p+3
+-0x1.1c648ep+3, -0x1.e41bc4p+2
+0x1.35c56p+3, -0x1.5ac23ep+2
+0x1.a02ep-2, -0x1.2c375cp+2
+0x1.af43p+2, 0x1.f4bccp+1
+-0x1.7bd5p-1, -0x1.eeca54p+2
+-0x1.0a3338p+1, -0x1.599142p+2
+-0x1.855974p+2, 0x1.9106p-1
+0x1.8e26ap+1, 0x1.d158b8p+2
+0x1.145b2cp+2, 0x1.16b2ep+0
+0x1.d2c9cp+0, -0x1.3fe22p+1
+0x1.96a66p+2, 0x1.6d62bp+1
+0x1.58447p+1, 0x1.24f3c4p+3
+-0x1.b5111cp+2, -0x1.47b0dp+2
+0x1.34023p+3, -0x1.13dbbap+2
+-0x1.42f5c4p+2, -0x1.deb538p+2
+0x1.c2e2ep+2, -0x1.724ed8p+2
+-0x1.a63b4p+2, 0x1.38ddd8p+2
+0x1.c00638p+1, -0x1.7c263p+2
+0x1.3c016p-1, -0x1.9f7bdp+0
+-0x1.c6b3ap-1, 0x1.22c2a8p+3
+-0x1.25a176p+2, -0x1.5adc2ep+2
+0x1.3c92dp+1, 0x1.ce1ea8p+2
+-0x1.790674p+1, -0x1.a1f924p+2
+-0x1.d4594p-1, -0x1.feab26p+2
+-0x1.1b2174p+2, 0x1.db513p+1
+-0x1.2df61ap+3, -0x1.c2738p-2
+-0x1.273874p+2, 0x1.4c034p-2
+0x1.00781cp+3, -0x1.23cc6cp+3
+-0x1.d19316p+2, -0x1.62936cp+2
+0x1.bcbcc8p+2, -0x1.349bep+2
+0x1.36827cp+3, 0x1.1196a4p+3
+0x1.829e98p+2, 0x1.c1c8ap+1
+0x1.c06eep+1, -0x1.789d3p+1
+0x1.12ebp-1, -0x1.91a92p-1
+-0x1.0b24d8p+1, -0x1.182124p+2
+0x1.4daef8p+2, 0x1.34dbdp+1
+-0x1.2406fp+1, 0x1.8b33bp+2
+0x1.9704ep-1, 0x1.37ff6cp+3
+-0x1.4997b4p+2, 0x1.9ff9ap+1
+0x1.cffcfp+0, -0x1.7da74p+0
+0x1.f453ep+2, -0x1.73cdcp+2
+-0x1.a1e16p-1, -0x1.f484bcp+2
+-0x1.90d21ep+2, 0x1.58e81cp+2
+-0x1.55514p-1, 0x1.3e48a4p+2
+-0x1.05a7b4p+2, 0x1.70c1e8p+2
+-0x1.9de05p+0, -0x1.51cfap-1
+-0x1.ec641p+0, 0x1.2530e4p+2
+0x1.9c49f8p+2, 0x1.6091ep+0
+-0x1.d9654ap+2, -0x1.07ffdp+1
+-0x1.16d554p+3, -0x1.38bdbap+3
+0x1.7b325p+2, 0x1.221f74p+3
+0x1.0b731cp+2, -0x1.1d5a5ap+2
+0x1.2e5e8cp+2, 0x1.ea8118p+1
+-0x1.21c0d6p+3, -0x1.839498p+1
+0x1.2a50d8p+3, 0x1.cc02bp+2
+0x1.6f967cp+2, -0x1.dd48c4p+1
+-0x1.3921dp+1, -0x1.98b26p+0
+0x1.3d46ep+1, -0x1.9ed24p-1
+0x1.292848p+3, -0x1.61d71p+0
+0x1.cc578p-1, -0x1.25f36p+2
+0x1.1f93f8p+3, -0x1.17c4c4p+2
+-0x1.218bp+0, -0x1.9934p-1
+0x1.28f94p-2, -0x1.882274p+2
+-0x1.a0d574p+2, 0x1.36d758p+3
+-0x1.212e74p+3, 0x1.7f0bb8p+2
+-0x1.3ec9bp+1, -0x1.3ea8ap+0
+-0x1.3f3f78p+3, 0x1.59733p+1
+-0x1.23f7acp+1, 0x1.bf8688p+2
+0x1.5231p-1, -0x1.a795c6p+2
+-0x1.0f617ep+3, 0x1.005638p+3
+-0x1.ed8ec6p+2, 0x1.d0d118p+2
+0x1.deb1e8p+2, -0x1.26095ep+2
+0x1.103bdcp+3, -0x1.4a1834p+2
+-0x1.e6815p+2, -0x1.83656p+1
+0x1.38abcp+0, -0x1.9fe9fcp+2
+0x1.1e29a4p+3, 0x1.2620ep-1
+0x1.7dcad8p+2, -0x1.3233dep+3
+-0x1.bb8fp-4, -0x1.960eecp+1
+-0x1.2bae58p+2, 0x1.23ebe4p+2
+-0x1.9e5f48p+1, -0x1.07c3ap-1
+0x1.43ce8p+1, -0x1.95531p+0
+-0x1.1136d8p+3, -0x1.94e72cp+2
+-0x1.1486e2p+3, 0x1.279b4cp+3
+-0x1.c99744p+2, -0x1.aad54p-1
+-0x1.79aaep+1, 0x1.61d8dcp+2
+-0x1.6856f8p+2, -0x1.9d5d64p+1
+0x1.3da6fp+1, 0x1.265434p+2
+-0x1.76ab8p-2, 0x1.f993dp+0
+0x1.6658ep+1, -0x1.8a84cp+2
+0x1.2682d8p+3, 0x1.959c68p+2
+-0x1.0697f8p+3, 0x1.aadc08p+2
+0x1.18eed4p+2, -0x1.64b474p+2
+0x1.446e9cp+2, 0x1.0a094p+0
+-0x1.df0f3p+0, -0x1.7f3a44p+2
+0x1.35595p+1, 0x1.09005p+0
+-0x1.275232p+2, 0x1.6decf8p+2
+-0x1.947ea4p+2, -0x1.ac7cc8p+1
+0x1.2db388p+3, -0x1.963d24p+2
+-0x1.6b9fa4p+2, 0x1.96806p+0
+0x1.264e4cp+3, 0x1.a291cp-1
+0x1.6b5d64p+2, -0x1.313508p+3
+0x1.320138p+3, -0x1.e8144p+1
+0x1.b5cfcp+1, 0x1.9e3b7p+2
+-0x1.2125a6p+3, 0x1.1ba63p+1
+-0x1.fe22fcp+1, -0x1.944dbp+0
+0x1.45e75p+0, -0x1.e288dap+2
+0x1.db3e2p+1, -0x1.a878f8p+1
+0x1.982058p+1, 0x1.1e64dp+1
+0x1.e711ep+2, 0x1.fab4ap+1
+-0x1.2d284ap+3, 0x1.42686p+0
+-0x1.73becep+2, -0x1.2ef6cp+2
+0x1.b7396p+0, 0x1.3bc38p+0
+0x1.404cp+2, -0x1.6d6082p+2
+-0x1.5126b8p+1, 0x1.066e98p+3
+-0x1.eeb9ap+0, 0x1.123178p+3
+0x1.0f572p+3, -0x1.c85b5cp+2
+-0x1.5e3b3p+1, -0x1.af7894p+2
+0x1.e05bcp+2, -0x1.b5f7d4p+2
+-0x1.a63fbcp+2, -0x1.1717f4p+1
+-0x1.b40a4ap+2, 0x1.dfe98p-2
+-0x1.933b34p+1, -0x1.0d1292p+2
+-0x1.c689b6p+2, -0x1.342f14p+1
+-0x1.c063b8p+1, -0x1.135becp+3
+-0x1.6e1398p+1, 0x1.7c68ep-1
+-0x1.b73416p+2, 0x1.3409ap+3
+0x1.6c9d8p-2, -0x1.24f546p+3
+0x1.1c1dcp+2, -0x1.b8e5a4p+2
+-0x1.5fef6p+0, 0x1.11a19p+3
+-0x1.b6f324p+2, 0x1.2efb88p+2
+0x1.8474p-1, -0x1.162eap+3
+0x1.1b1be4p+3, 0x1.a9bfp+2
+0x1.22c7cp-1, 0x1.8bc18p-1
+-0x1.ea7ddp+0, 0x1.af72cp+0
+-0x1.4e104p-1, 0x1.a76d8p+0
+-0x1.af0928p+2, -0x1.1585b2p+2
+0x1.32d3ap+0, 0x1.9696e8p+2
+0x1.ded2c8p+2, 0x1.11e6d4p+2
+-0x1.0b5308p+1, 0x1.0eb304p+3
+-0x1.5e2ap+0, 0x1.0208bp+2
+-0x1.0e1f66p+2, 0x1.11199cp+3
+0x1.16deb4p+3, -0x1.dda0a8p+1
+0x1.38784cp+3, -0x1.2abc84p+2
+-0x1.567c7cp+2, -0x1.0fc80ep+2
+0x1.1596b8p+2, -0x1.98c6ap+2
+0x1.e1078p-2, 0x1.138fdp+3
+-0x1.c30fa2p+2, 0x1.b74ae8p+2
+0x1.009228p+1, 0x1.d574ap+2
+-0x1.7076p-4, -0x1.174004p+3
+0x1.86354p-1, -0x1.11745p+1
+0x1.6f0d58p+1, 0x1.1e75f4p+3
+-0x1.90d7f8p+2, 0x1.6e1a44p+2
+0x1.8b17ep+2, -0x1.08d3f8p+3
+0x1.7e29ap+2, 0x1.503cbp+2
+-0x1.1203e2p+3, 0x1.07993cp+3
+-0x1.436c58p+2, 0x1.21d26p+1
+-0x1.42b73p+1, 0x1.37c354p+3
+0x1.069b28p+1, 0x1.45de7p+1
+-0x1.9b1d78p+1, 0x1.747f78p+2
+-0x1.cf9848p+1, -0x1.82a82p+0
+0x1.ffa79p+1, 0x1.22d2a4p+3
+-0x1.27768p+3, 0x1.d0c88p-3
+-0x1.f8008p-3, -0x1.b81d8p+1
+-0x1.2f274ap+3, 0x1.001e1cp+2
+-0x1.c7c3cp+0, 0x1.12a9ep+0
+0x1.1f695p+2, 0x1.253a88p+2
+0x1.f73d2p+2, -0x1.378c24p+2
+0x1.27342p+3, -0x1.2a36bp+2
+-0x1.028522p+3, 0x1.4529bp+2
+0x1.a64b3p+1, -0x1.19b22cp+3
+0x1.d715ap+2, -0x1.38fee8p+3
+0x1.d4a21p+0, 0x1.20478p+3
+-0x1.49bf14p+1, 0x1.25109p+1
+-0x1.a51e8cp+2, 0x1.fddb8p-1
+-0x1.0b68c4p+3, -0x1.e92dc2p+2
+0x1.416f94p+2, -0x1.dd96ap+2
+0x1.d5249p+1, 0x1.3a19e8p+2
+0x1.e0f3ap+2, 0x1.f99ba8p+2
+0x1.12b18p+1, 0x1.cbc3p-4
+-0x1.610bd4p+2, -0x1.e33ebp+0
+-0x1.7ad7e8p+2, -0x1.346edp+0
+0x1.8c52ep+0, 0x1.307c18p+2
+-0x1.75ed3ap+2, 0x1.136c04p+3
+0x1.020448p+2, 0x1.68f94cp+2
+-0x1.af65d4p+2, 0x1.d6bap-4
+0x1.39cb1p+3, 0x1.a8e55p+2
+-0x1.62688p-3, 0x1.8de58p+0
+0x1.3755d8p+1, 0x1.de60cp+2
+-0x1.2e0042p+3, 0x1.306074p+3
+0x1.9d6a88p+1, -0x1.6eaecp-1
+-0x1.ba1e7cp+2, -0x1.9a86d4p+2
+-0x1.29945cp+3, 0x1.7022c8p+1
+0x1.63c0dp+1, -0x1.24b36cp+3
+0x1.1ce278p+2, -0x1.6153b4p+2
+-0x1.030c1p+0, 0x1.8a1bb8p+1
+0x1.2ec78p+2, 0x1.f754fp+1
+0x1.993da8p+2, 0x1.efeap+2
+-0x1.7ac2p-5, -0x1.d271ecp+1
+-0x1.b77bc8p+1, -0x1.49943p+2
+-0x1.78a854p+2, 0x1.c3ad6p+0
+-0x1.c3ce06p+2, -0x1.7ab84p-2
+-0x1.eefa74p+1, 0x1.3d09bp+3
+0x1.cf1aap+2, -0x1.24aae4p+3
+-0x1.9369a8p+1, 0x1.3bb8b4p+2
+-0x1.116614p+1, -0x1.b9686cp+2
+-0x1.f09e5cp+1, 0x1.18f188p+1
+0x1.1d2d2cp+3, -0x1.b9dfecp+1
+0x1.0e96f8p+3, -0x1.fa324cp+2
+-0x1.2107b8p+3, 0x1.5672b4p+2
+-0x1.450b48p+1, 0x1.03ec64p+2
+-0x1.51236p+1, 0x1.63bbp-2
+0x1.473cfp+2, 0x1.7fd628p+2
+-0x1.41be66p+2, -0x1.b455b4p+1
+0x1.147298p+3, -0x1.b6dcc2p+2
+0x1.adfc9p+0, 0x1.e5c588p+1
+-0x1.906cep+1, -0x1.bc50b8p+2
+0x1.80a06p+0, 0x1.197f18p+3
+-0x1.e9bfb4p+1, -0x1.3626p+3
+0x1.08548p-2, 0x1.a7912p+0
+-0x1.85c73p+1, -0x1.de0ac6p+2
+0x1.24e8bp+2, -0x1.78cfdp+0
+0x1.34c46p+3, -0x1.2056ep+2
+-0x1.abd73p+0, -0x1.aa7148p+1
+-0x1.a14eb4p+2, 0x1.a70adp+2
+-0x1.47a7b8p+2, -0x1.045bbap+3
+0x1.d3df2p+2, 0x1.a2632p+0
+-0x1.0bc4fcp+1, 0x1.5e783p+1
+-0x1.d300f8p+2, -0x1.1ba47p+3
+-0x1.341388p+3, -0x1.3d4364p+2
+-0x1.8b121p+0, -0x1.380d02p+3
+0x1.2c1198p+3, 0x1.942d2p+2
+-0x1.601068p+2, -0x1.cfae4ep+2
+0x1.3bcbfcp+2, 0x1.247b74p+2
+-0x1.f2954p-2, 0x1.57dep-1
+0x1.9f8968p+2, -0x1.529dc8p+1
+0x1.069acp+1, -0x1.2fa396p+3
+-0x1.06123ap+3, -0x1.80ef64p+2
+-0x1.e36b24p+2, 0x1.e53618p+2
+-0x1.84ce2ep+2, 0x1.fdc83p+1
+0x1.98702p+1, -0x1.0d365p+0
+-0x1.a4486ep+2, 0x1.0bc68p-3
+-0x1.4dc97p+0, -0x1.63668ap+2
+-0x1.7d2522p+2, 0x1.273094p+2
+0x1.2583b4p+3, 0x1.44152p+2
+0x1.e87558p+1, -0x1.8b41cp-1
+-0x1.17c3d4p+1, 0x1.20f1e8p+3
+-0x1.3cde5p+1, -0x1.efbc5p+0
+0x1.b2ae48p+1, -0x1.28fc22p+2
+-0x1.bea74p-1, 0x1.ece36p-1
+0x1.af706p+2, -0x1.26192cp+2
+0x1.cf1a68p+1, -0x1.a8c564p+2
+-0x1.21aeecp+3, 0x1.5572ep+2
+0x1.70964p+1, 0x1.8b6228p+1
+-0x1.01a1a8p+2, 0x1.8f78ep+1
+0x1.f9274p-1, 0x1.882a38p+1
+-0x1.3a036cp+3, 0x1.874778p+2
+0x1.8d22bp+2, -0x1.e1603p+0
+0x1.0204ap-1, 0x1.7534fp+0
+0x1.b09938p+2, 0x1.01e1fcp+2
+-0x1.2f2a4p-2, 0x1.44d4b8p+1
+0x1.a926fp+1, -0x1.2f9964p+1
+0x1.0f312p-1, 0x1.01dd1p+3
+0x1.077ecp+0, 0x1.f13d5p+2
+-0x1.0f37p-2, 0x1.b6d81p+0
+0x1.6e022p+2, 0x1.aa3aep+2
+0x1.ae5ce8p+2, 0x1.be37p+0
+-0x1.234c9ep+3, 0x1.501968p+2
+0x1.4eca6p-1, -0x1.74d09p+0
+-0x1.07a2ep+0, 0x1.114d68p+3
+-0x1.85271p+0, 0x1.0b7984p+3
+0x1.ba69bp+2, -0x1.52577p+2
+0x1.9999p+1, 0x1.72ad3p+2
+0x1.2f91ap+3, 0x1.6a2b2cp+2
+0x1.7b921p+1, 0x1.1e32p+0
+0x1.cadf88p+2, -0x1.0e020ep+3
+0x1.02be7p+0, -0x1.37e06ep+3
+-0x1.464deap+2, 0x1.b00c6p+1
+-0x1.a3725p+0, 0x1.f47dap+1
+0x1.ce564p+2, 0x1.29284p+3
+-0x1.f6707cp+2, 0x1.21fa08p+1
+0x1.99e0ap+2, -0x1.50c1eap+2
+-0x1.4f3bb2p+2, 0x1.d168fp+0
+-0x1.60fecp-1, 0x1.6f0a6p+0
+0x1.28ae6p+2, 0x1.2159c8p+3
+0x1.0b2c1p+3, 0x1.27c644p+3
+0x1.b6a36p+0, -0x1.2efcc4p+2
+-0x1.6296cp+2, -0x1.5885ap+0
+0x1.2b40bp+2, 0x1.24a7acp+3
+-0x1.0be3p-1, -0x1.2d8a22p+3
+0x1.edc9ep+2, 0x1.052928p+1
+0x1.883228p+2, -0x1.e954fp+0
+0x1.8b198p-3, 0x1.921p+1
+-0x1.e797dp+1, 0x1.29b094p+2
+-0x1.395e2p-1, -0x1.6ec0ep-1
+0x1.f21008p+1, -0x1.f321bp+2
+0x1.43c18p+2, 0x1.31ad3cp+3
+0x1.dff0d8p+2, -0x1.f62328p+1
+-0x1.5b8eaep+2, -0x1.6c9628p+2
+0x1.c63d58p+1, 0x1.3f1f9p+3
+-0x1.bf7688p+2, -0x1.6aa628p+2
+0x1.39236cp+3, 0x1.d1634p+0
+0x1.179ff8p+2, 0x1.27f77cp+2
+-0x1.336e7p+3, 0x1.16f5p-3
+0x1.80d0fp+2, -0x1.6ec856p+2
+-0x1.2d134p+0, -0x1.3e920ep+2
+0x1.b3483p+0, 0x1.decf98p+2
+-0x1.144bfap+3, -0x1.0131aap+3
+0x1.4ff1b8p+2, -0x1.c7d892p+2
+-0x1.396dd8p+1, -0x1.35284ap+2
+-0x1.e8ba1p+1, -0x1.8e51ecp+1
+0x1.988178p+1, 0x1.a107c8p+2
+-0x1.140014p+2, -0x1.acc7e4p+2
+-0x1.eea8ap+2, -0x1.d5dccep+2
+-0x1.3709ap+1, -0x1.1244bap+3
+0x1.1ce98p+1, -0x1.86725cp+2
+-0x1.867f1p+1, 0x1.fa32p-4
+-0x1.c480cp+0, 0x1.c133p+0
+0x1.f1e4e8p+2, -0x1.f95a28p+2
+-0x1.1da168p+3, 0x1.1931e4p+3
+-0x1.973234p+1, 0x1.4d6c1cp+2
+0x1.009dbcp+3, -0x1.390448p+1
+0x1.35189p+3, -0x1.d35836p+2
+-0x1.8e85c2p+2, -0x1.11bad6p+2
+0x1.f05048p+2, -0x1.9f368p-3
+-0x1.149778p+3, 0x1.971edp+0
+0x1.69d72p+1, -0x1.30a1a4p+1
+-0x1.fc4516p+2, -0x1.1276eep+2
+0x1.481748p+1, -0x1.449a7p+2
+0x1.ac594p-2, 0x1.ea85ap+2
+-0x1.5c7574p+2, 0x1.a02058p+2
+0x1.e5b4a8p+2, 0x1.00a24p+1
+-0x1.811dap+0, 0x1.a9a78p+0
+-0x1.bf7b42p+2, 0x1.2781fp+0
+0x1.6c9c2p+0, -0x1.dc9cb8p+2
+0x1.f639dp+1, -0x1.07da6p+3
+0x1.61a0d4p+2, -0x1.2861b8p+1
+0x1.0be778p+2, -0x1.bb66f8p+2
+0x1.76e9p-3, -0x1.982baep+2
+0x1.9f1a6p+2, 0x1.03c5e4p+2
+-0x1.8caa5cp+2, -0x1.3b09fep+3
+-0x1.003d38p+3, 0x1.786e68p+1
+0x1.0d714p-1, 0x1.76abp+1
+-0x1.3afb7ap+3, 0x1.2a1e6p+3
+0x1.1a5764p+3, 0x1.a86c1p+1
+-0x1.4fa8dp+0, -0x1.9c2cbcp+1
+0x1.ff72c8p+1, 0x1.38d6fp+2
+-0x1.3d18p-4, -0x1.48145cp+1
+0x1.1a77c8p+3, -0x1.beaad8p+2
+-0x1.cff7cap+2, 0x1.192fdcp+3
+-0x1.db406p+1, -0x1.0c79e2p+3
+-0x1.1b0a38p+3, 0x1.e68a98p+2
+0x1.a12d6p+2, -0x1.77ef0ep+2
+0x1.76094p+0, 0x1.06df8cp+2
+0x1.bac3fp+2, 0x1.8174ap+1
+-0x1.c55e6p+2, -0x1.4952p-1
+0x1.20b76cp+3, -0x1.203a06p+3
+0x1.274b2p+0, -0x1.06e694p+2
+0x1.7a457p+1, 0x1.3dec28p+3
+-0x1.c0b4ep+2, -0x1.04da42p+3
+0x1.f45e6p+1, 0x1.b64b8p-1
+-0x1.0a53b8p+3, 0x1.16766p-1
+0x1.123818p+2, -0x1.304cccp+3
+-0x1.2ed6p+0, 0x1.531fecp+2
+0x1.e76a18p+1, 0x1.a9d158p+1
+0x1.1e4b8p+3, -0x1.c260ccp+1
+0x1.f5a278p+2, 0x1.92b2a8p+2
+0x1.6bd6p-3, 0x1.2bbf5cp+3
+-0x1.1e3edcp+2, -0x1.41af8p+0
diff --git a/benchtests/libmvec/atanpi-inputs b/benchtests/libmvec/atanpi-inputs
new file mode 100644
index 0000000..9fba46e
--- /dev/null
+++ b/benchtests/libmvec/atanpi-inputs
@@ -0,0 +1,806 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.642175414a222p-3
+0x1.32f96343ff094p47
+0x1.63961340f55e3p-4
+-0x1.404c80c42d2d7p3
+0x1.ff0297a7f4cf9p-4
+-0x1.3514d0a630343p2
+-0x1.9cd792d24de9cp-13
+0x1.48de0536fa639p-26
+0x1.df679233e616cp3
+-0x1.3672036e3b5dbp46
+-0x1.a6af31fe26a67p1
+-0x1.601447d82000cp-23
+0x1.6978a3d8cdd0cp34
+-0x1.bcf7074f6ad00p-20
+0x1.4560113d34322p1
+-0x1.88e3f71039a4bp-4
+0x1.016652052d70ep6
+0x1.4eeee5387c40fp-11
+0x1.1a93e2edc9a70p-1
+0x1.2a86a6b000b1bp19
+0x1.b550a52791570p19
+0x1.4f55e0fd66533p6
+0x1.179893d68a175p0
+0x1.c587a48440d49p18
+0x1.c4d736b34755ep41
+-0x1.0b00d1e309baap15
+0x1.d3ddd7a4105b8p-17
+0x1.907795ee90c71p1
+0x1.1c0ee51bf3fbbp-26
+0x1.6e21857f657b5p-3
+0x1.522870681be34p0
+-0x1.47fc357b48019p2
+-0x1.fc80d2478d003p44
+0x1.6b6af109c6d11p-2
+-0x1.557b744e3f2b2p-2
+-0x1.c0bd72f9dcc6fp-3
+-0x1.5dad543b37a02p2
+-0x1.d95b35b36eadep38
+0x1.645042fa42207p-2
+-0x1.139444200b144p1
+-0x1.28a691f56455fp-24
+0x1.d97ff36594800p-2
+-0x1.c46e817205691p-1
+0x1.189121c162006p-21
+0x1.b22526da1b4b3p-25
+0x1.89097738a1f84p23
+-0x1.3de8b3a71241ep-4
+0x1.d539d73aa3a6bp4
+0x1.9f3aa3d8be109p-8
+-0x1.28df31604ae5fp-2
+-0x1.a5ba03c7f21c6p39
+-0x1.0aa65539c9639p44
+-0x1.596756edc8d29p-1
+0x1.bf89523d6d9a8p18
+0x1.245712c9030a1p-9
+-0x1.e70de078fe520p-3
+0x1.0a6a653edc9c8p-1
+0x1.cc69116b071cdp-2
+0x1.2f24c0cf8fcb2p-16
+0x1.ed2ac30efc4e7p41
+-0x1.db4970624d850p-4
+-0x1.bb1260bff835cp-4
+0x1.d685f1157cf4ap-4
+-0x1.27241256d29b8p1
+0x1.ec5380eff6d2ap-3
+-0x1.fd7d8132290bep-1
+0x1.228426a24d54dp-17
+0x1.2ea847880a2cdp39
+-0x1.89a5c5d485ab4p3
+-0x1.fbd930c90d22cp3
+-0x1.86674787bedeap3
+0x1.ab27809f97987p1
+0x1.c17c653258848p2
+0x1.a3f615b4aa2afp-4
+-0x1.e8bff4a769203p46
+0x1.2fbb90ef75a25p-4
+0x1.d9d246c3e5da7p10
+0x1.1adf65737ce63p2
+-0x1.4bbf56383d2c4p-20
+0x1.1bc9009943672p2
+-0x1.84cd8442450bcp24
+-0x1.05cbc2307bc60p0
+0x1.b18fc1de83969p-2
+-0x1.a63bf1a32c82cp-26
+0x1.08e7e57369c93p4
+0x1.97e8f20d0a9f8p33
+0x1.1358340c23f9dp-13
+-0x1.f3a987156a953p-15
+0x1.cc4fe36fcebc5p-3
+0x1.d858d5bee5222p-2
+0x1.8911076ba1dfep-5
+0x1.5ab4754566467p1
+0x1.854547561eabbp1
+-0x1.830ce306fc8c4p-13
+0x1.b181a4ed4c25ep-19
+0x1.f77112499c880p30
+-0x1.5124040e757ddp43
+0x1.751c061e72f3dp-1
+0x1.b88d87c4c86b2p-8
+0x1.52c5b76c6ef89p-10
+0x1.e89130ee99ce5p-4
+0x1.2a2ed7a0b1956p-1
+-0x1.47b533d254eb8p3
+0x1.b4d0b69a8f4a8p-24
+0x1.8316a4af1bf68p-18
+-0x1.9e1ef1ccdd020p15
+-0x1.88bde5f29b2d9p3
+-0x1.365034bff4761p0
+0x1.7e40940c2d5adp-17
+-0x1.2c37625bfd76dp-18
+0x1.707642d37610fp0
+-0x1.afd1d0135cf31p3
+-0x1.4b0d1755bbf42p-11
+0x1.c4ed75b07c727p0
+-0x1.5e2db71616c7ap1
+0x1.050223b1cd624p3
+-0x1.3b3db4aa80820p-10
+0x1.5ccb8047d5d1ap12
+0x1.175282b52f29cp0
+0x1.aabc424c47eafp9
+-0x1.1a90445a04e18p0
+0x1.3da941dc72acdp2
+0x1.501726cf3e259p-12
+-0x1.1b3006e74e325p4
+-0x1.ad42977bf9a2bp-1
+0x1.73d0e25d9335ap-3
+0x1.0a514560b1915p-4
+0x1.9b955619c595bp-3
+0x1.c1bde2d25803bp-2
+-0x1.c9c450db85015p-24
+-0x1.b93f27a390fc9p-3
+0x1.394074cfa62d3p1
+0x1.815072f52a2e6p0
+0x1.1e52d6ee6069fp-1
+0x1.1f90737198ea5p-19
+0x1.13341218923f7p-23
+0x1.348b0774c87ffp2
+0x1.d2580731da42cp2
+0x1.87b5a06e57762p-5
+0x1.b40fd58aea62ap0
+0x1.9cd365175d628p28
+-0x1.4094703aac68bp-24
+0x1.56af03795574fp21
+-0x1.e189800006571p-26
+-0x1.9dfb51f7b789cp47
+0x1.9bc2e73963ca7p11
+0x1.b5a1c0632322cp0
+0x1.205e5539779c2p51
+-0x1.6c47a5b0217f6p2
+0x1.791cd37782384p-2
+0x1.231d31372c140p1
+0x1.91e2d31efbcaap-3
+0x1.34fa969626571p30
+-0x1.6bc04360963b5p-11
+0x1.8add0065da1d5p-4
+-0x1.d346e1877a7fdp-2
+-0x1.725697ff5c03dp1
+0x1.a8e2a686fd172p-1
+-0x1.8bd725c48f410p3
+-0x1.3b0537b22c0bbp-1
+-0x1.2c0db2781aad0p28
+0x1.4c6a110727b7fp-16
+0x1.b8d171996cbe1p0
+0x1.e6c6d70c497a0p19
+-0x1.15a9f10771286p2
+-0x1.c30f24893d7a3p-3
+-0x1.d73aa26a08a23p38
+-0x1.58b7549a93d13p-4
+0x1.169012651035fp1
+0x1.197ee4c04ae17p25
+0x1.3fba00276eae3p1
+0x1.941d03c4bf6a6p-4
+0x1.7f21c64e2abb7p-2
+0x1.7581d56332d79p0
+0x1.971980a7e2435p27
+-0x1.e44690996dde4p-8
+-0x1.3133113da7775p-20
+0x1.31d201884c815p30
+0x1.1f46672b184b2p-20
+-0x1.bbbc31b0259d6p7
+-0x1.ff6f625bf7eadp-1
+-0x1.3dd6a5e841573p-1
+-0x1.294b2242985c5p-5
+0x1.80c6d17d3b82ep41
+0x1.66a703915eafdp-4
+0x1.c16431985801dp28
+-0x1.66cc363cc169cp-13
+-0x1.445ac6d7de615p29
+-0x1.78d803eac6a4fp-17
+0x1.7d17f2f5981bdp-4
+-0x1.be3452bcdc974p28
+0x1.83dff4dfc4757p42
+0x1.451781735f844p14
+-0x1.4dab41db1c970p3
+0x1.3373037f37040p2
+0x1.20f7623057a1cp-4
+0x1.b74c37f7006cfp36
+0x1.6d17f13894ea6p-8
+-0x1.9084f58ffff58p1
+-0x1.c57ef7f9833e1p-3
+-0x1.943ce31bfd282p-26
+-0x1.75a42576fe1cdp1
+0x1.ff0257a993250p2
+-0x1.63ef308e427d4p0
+0x1.de26003f5ba7ep16
+0x1.15333549fa76fp29
+0x1.66bfb50c269e7p0
+0x1.a49604cc4d7f9p-4
+-0x1.15003315471d9p-4
+-0x1.38bed20a51ff5p-9
+0x1.7d97f5b7805ddp-19
+-0x1.7a3244a0e1b3ep-2
+0x1.ed0681d4ee226p50
+-0x1.15a691a22afc6p-4
+-0x1.d2c15149a171cp48
+-0x1.d395408686509p1
+0x1.d121d5a063487p-27
+-0x1.159dc08e6bae4p-18
+0x1.835914ed4ac69p46
+-0x1.f45bc1593e631p-2
+-0x1.abaf42742e1aep0
+0x1.f67cc57a82279p22
+-0x1.3cdc56ba8ad80p0
+-0x1.5a8f042e5c06dp-4
+0x1.306774727b9c8p-5
+-0x1.0f21118d78a86p1
+-0x1.abbcc62ae1185p-17
+-0x1.ff75940794858p3
+-0x1.6048b6174f2dap-3
+-0x1.84f4968e9a1a0p3
+-0x1.ecc9025c45c61p-9
+0x1.d9cd03dc0d910p-18
+0x1.cd846319c00c5p-3
+0x1.6366066bd94a6p3
+-0x1.8ebc74865b7b3p1
+-0x1.b87c63e47576cp-3
+0x1.c45cb0d4685f5p-3
+-0x1.e702b4a6029fcp35
+0x1.fc6300b9b675ap3
+-0x1.3f43a795e244ep0
+-0x1.f1cd009ef1604p3
+-0x1.d2fbd2cc79418p11
+0x1.907fd4f15d9d3p-10
+0x1.a371220d3cd1ep43
+0x1.df8544d34e26dp26
+0x1.acb3279e8da17p-18
+0x1.b1ea21e59afd9p-4
+-0x1.e0dff1828b454p-4
+0x1.ef38b267b4663p39
+-0x1.baba241cd2232p-13
+0x1.4fe7c7cd05a69p46
+-0x1.988073a34d2c8p29
+0x1.7599e0ac9a522p-8
+0x1.251b26c85badap52
+-0x1.a27c560a7da35p0
+-0x1.f091c7c2304a2p17
+-0x1.d0e1114b97abfp-13
+0x1.33ee35cf8c72ap1
+-0x1.e714e1fed73c4p-2
+0x1.1292e4e843885p-3
+-0x1.03fcc540c9867p22
+0x1.a53c8268c5213p-2
+-0x1.f16e3196353c0p-20
+0x1.e88a97bf39b0cp14
+0x1.4f00111aae17fp13
+-0x1.388bf2c171982p-1
+0x1.0f70b2319de14p-3
+0x1.e95a75a9609e3p-1
+-0x1.1047552b4d153p2
+0x1.091e73082965cp0
+0x1.2560a7de1090ep-26
+0x1.b7fde3097d182p-20
+0x1.c7f115eabfdedp-4
+-0x1.e99523e282a43p40
+-0x1.960706b024814p-3
+0x1.6ca4d098808a9p41
+-0x1.782a50dd85179p50
+-0x1.26e3c42a5f2d2p1
+0x1.ca282036f2b8cp-10
+0x1.87d031409e3e4p-17
+0x1.a80f97461a0f4p-3
+0x1.66ed5379b1601p45
+-0x1.081bb51f6296ep21
+-0x1.a51801c3b0ab4p-3
+-0x1.f9af91b1e0eacp-4
+0x1.f59650108c48fp1
+0x1.085c309bbe310p0
+-0x1.b9fea5e346036p1
+-0x1.453542b905ad4p24
+-0x1.e66c14b55c117p1
+-0x1.90a6830407ac7p40
+0x1.9bc93234caf93p26
+0x1.4b94104f5f41ap-3
+-0x1.c7b564e75a382p50
+-0x1.c2b250afb59e8p13
+-0x1.bfb283faeefbfp2
+-0x1.173235dbdbca5p-10
+-0x1.ac62c7b5e878bp-4
+-0x1.c2a9461c28ecdp-17
+0x1.1e1bf4bfee9b2p1
+-0x1.c6a1a78876ab6p0
+-0x1.e6fb5111565c8p3
+-0x1.8932b58866bcfp-19
+0x1.6407a070f3a3fp12
+0x1.87a1b1adaed03p-4
+0x1.e5ebf4ac465b1p-4
+-0x1.f8d5e0b5c2957p20
+0x1.42836589a8c0dp31
+-0x1.d1ad755010ed1p-4
+0x1.3d1f16896735ep-1
+0x1.fdaba0fd40c7cp31
+0x1.3311135efe06dp-3
+0x1.b5dc02c3070d2p-2
+-0x1.04d741eec5058p-23
+0x1.a80bc579c9a9bp3
+0x1.4766230792559p1
+-0x1.a5cbe4d7cc609p-3
+-0x1.ba1d23d80c32fp-11
+-0x1.daaf8434d9034p-13
+-0x1.c65d358dac3fep-11
+-0x1.3f4da10042b42p2
+0x1.262fa4579b063p-7
+0x1.914e60ffdbed8p-4
+-0x1.efac261144868p-9
+0x1.ce397251fa408p-4
+0x1.be05d28ca250ap-11
+-0x1.7479b7fa984ddp-3
+-0x1.ac20c42062d2fp2
+0x1.9a487118946dap-4
+0x1.2a124744f9fa4p47
+0x1.b1981261f9020p-1
+0x1.fbf7179ce5846p-2
+0x1.22fbd75358604p-23
+0x1.b1b2a4bcce5acp34
+0x1.84e62689c678dp-19
+-0x1.0b3bf5d136f5fp-25
+0x1.f93ce18d93227p-15
+0x1.bbd3b6a42bc58p-22
+-0x1.47b315f8194ebp27
+-0x1.827896462fb0cp-18
+0x1.2947c23116c19p-2
+0x1.3466e4652adedp1
+-0x1.23c2a01c6daddp-11
+-0x1.5831b4a29e94ep-2
+0x1.4a7fb41fb32ccp-24
+0x1.77544628d33f4p2
+0x1.40a5220c05f84p43
+-0x1.859503fac777cp-1
+0x1.629111fdc02f9p49
+0x1.f72960081155dp-24
+0x1.100cb00f41850p0
+-0x1.1280f391f830bp8
+-0x1.2e93552200855p1
+-0x1.4621063cd9ecdp-12
+0x1.1c4111533addep-25
+-0x1.569560309d6bbp-22
+-0x1.7a8124168d622p3
+0x1.17fba47954943p-4
+0x1.0672546df1e40p-4
+0x1.3157a7fbb3b2ap2
+0x1.a82f370a40ce4p2
+-0x1.a8fac6ce90f3cp1
+0x1.0f28d09b57a07p0
+0x1.da30a55a75636p2
+-0x1.4a8a0783b2ccdp-3
+-0x1.79e674173ab88p-1
+0x1.c89b61641fceep31
+-0x1.0f8107e6388fbp3
+-0x1.f720f120f5f1fp-22
+0x1.144b44598ac02p-4
+-0x1.ceb152c076922p-3
+-0x1.4b12e43d683a4p0
+0x1.c0ae8156c4455p-3
+0x1.85c10724ee68cp-3
+0x1.3c4635592b9ffp-3
+-0x1.d59892bee5390p-4
+-0x1.cd1280ceab8c4p-3
+0x1.b622b71aa922bp8
+-0x1.2795c18e21649p-15
+-0x1.639d32c619c4bp-19
+-0x1.e8f917ef054dfp-8
+0x1.c9eca4e44a7b1p1
+0x1.be86276e10fa9p3
+0x1.750cd40dd63b8p-24
+-0x1.033ab125bb64ep-18
+-0x1.9679b2912fcecp-4
+0x1.f7b3a1afd048dp-23
+-0x1.9f2863bcb1fd6p1
+0x1.c7fed1051dcb2p4
+0x1.c23ec470a9239p-7
+-0x1.1e5006f62ba49p1
+-0x1.0d9f216fea290p3
+0x1.bd8340ad169bap46
+0x1.dac8831aa29d9p3
+0x1.7c191598763c2p1
+-0x1.121aa313ac95bp33
+-0x1.b0996534e93cep-2
+-0x1.6c8353699c9c6p-1
+-0x1.5df8208f06792p3
+-0x1.4657113ffa73fp28
+0x1.48a901159abe7p0
+0x1.70e4b3448f927p50
+-0x1.e120d621edccap-4
+-0x1.4f2900d44caa5p1
+-0x1.848165627b209p-5
+-0x1.4cd082b565a11p-16
+-0x1.d9d2d7967af18p-1
+-0x1.222be1230bd8dp0
+-0x1.361e6586e20d9p16
+-0x1.3ddd364c29946p-19
+0x1.3ee601f53dafap-18
+0x1.e37ab68eb3013p45
+-0x1.0b8a978bd97b9p2
+-0x1.9589707e8a6ddp-20
+0x1.b7ca368b81375p-4
+0x1.2a7b114a80983p0
+-0x1.8c0fd1048891ep-4
+0x1.c32454b620d43p-26
+0x1.853192a0e3bbbp-14
+0x1.172b96d182f82p-2
+0x1.4156741896c30p-3
+-0x1.dd08573a1dc08p-3
+-0x1.f112f2dfd0c38p23
+0x1.f07ef18d186acp-9
+0x1.b0b643dc8187bp-2
+0x1.edf9044a400ccp-26
+-0x1.420ee09a253bbp-16
+-0x1.ce5f43fa6c0e8p0
+-0x1.b49ed6fe33c01p-2
+0x1.bc1e67b736d93p27
+0x1.18f252a5a70f2p-1
+0x1.3bd3528a6b5c3p-25
+0x1.042f039297e45p0
+0x1.890e26c77777ap2
+0x1.ec331761880b9p39
+-0x1.12aec65364402p2
+-0x1.b09600801c6c9p7
+0x1.4c14331304537p36
+-0x1.366b32ae15936p-9
+-0x1.d04011bd2f923p-27
+-0x1.bb73e632734cap51
+-0x1.22df928d0db2bp14
+-0x1.84d2c65e8a597p-4
+-0x1.248ce4d82f9e1p-3
+-0x1.a89a16ab8fc98p41
+-0x1.22061604a7bbep-1
+-0x1.9b7790ad6cfcap37
+0x1.e146126a58363p-20
+0x1.8bf9d0bee4587p-6
+-0x1.74eec1eb48a38p18
+-0x1.1eca65e42c0e2p-24
+-0x1.5f6e27219b443p5
+-0x1.95f64657f34b0p1
+-0x1.ad0923f0c8747p-14
+-0x1.71b7472c93381p2
+-0x1.e88ec0fa2b8e2p40
+0x1.0efad07b1325cp-2
+-0x1.d614b725644c2p-11
+-0x1.87f104d664989p-4
+0x1.db8bf75a3dabcp25
+0x1.18a07441e9358p-3
+0x1.c52552071ba9dp2
+0x1.4eee532e1cf42p-2
+-0x1.acd7a7d0cb2d2p49
+-0x1.efdbb63ba4cd9p3
+-0x1.c0dbd4011e3dbp14
+0x1.a8b9053cd4ae7p-26
+0x1.950f208f9f314p-3
+0x1.62bc1534e8779p1
+0x1.ec8712224e21dp5
+-0x1.dcf2f55094df3p-4
+-0x1.13a10025de14cp1
+-0x1.275ce549521b9p-1
+-0x1.2d3995ba1b17bp-5
+-0x1.a76630717c0c6p3
+-0x1.b2ec655611d3ep38
+-0x1.9bd4a62004f97p-20
+-0x1.49dcb6df53770p1
+-0x1.2b34c0811030cp-3
+0x1.99ee70ec910aap-21
+0x1.35b201aa1e70bp-3
+-0x1.92a3000ee8dd4p-2
+-0x1.d69d60b48249fp3
+0x1.eee73555cf4d5p-3
+-0x1.07de748dacd3ap12
+-0x1.a8ea7383f8f09p8
+-0x1.eca3120c1f7cep1
+-0x1.8b4b26d9f4eabp51
+0x1.167433f50737ep-23
+0x1.585657c46c25ap-20
+0x1.0e0447b473e54p2
+0x1.b28d209b03f59p-4
+0x1.9a8d34b2b2855p-25
+0x1.948ac6afc0f37p3
+-0x1.563cf374c073fp-4
+0x1.fa49e687bce32p42
+0x1.c42c2624133c2p48
+-0x1.001e573a69113p2
+-0x1.4dfb17453411bp-3
+-0x1.d9b9b553ab45fp23
+0x1.55496452db316p3
+-0x1.8420d7f1ac33ep3
+-0x1.ac7cd42b0f63ep2
+0x1.ce2970c35394cp2
+-0x1.de2ce25feb1e3p-16
+0x1.4fe2152fd9407p-2
+0x1.4d4233d0400d2p1
+0x1.f4c640fdd48b2p-10
+0x1.1512c1316465ap37
+0x1.b584b29dc1d4bp22
+-0x1.695e973f8db94p-1
+0x1.7373d677b7679p24
+0x1.f899a57b746b9p-22
+-0x1.f5ad761b38217p0
+0x1.daf950a02a029p1
+0x1.a9c47461369bcp-7
+0x1.a66902e961fe5p-2
+-0x1.f6bc5292eadcep2
+-0x1.0377673b5656cp20
+-0x1.269297562701dp-4
+0x1.13d1e1e922a15p3
+-0x1.ddf1d5cfbfb4dp-20
+0x1.6c21328fa2eacp0
+0x1.953fe3186fbacp0
+-0x1.2ed5d49aee19cp-15
+-0x1.d3e9f10d61fa8p-4
+0x1.5315517278bffp-4
+-0x1.aeeb36df95b57p26
+0x1.9f55b3bd1d398p2
+0x1.894151536709bp3
+-0x1.93a3d5c645e3fp22
+-0x1.37803538f3548p43
+-0x1.d5dde10bc588fp-23
+0x1.f145117569f10p4
+-0x1.ca23009d83541p0
+-0x1.fc4063d4a4afep23
+-0x1.ec88c7edb5ae2p-6
+-0x1.2d5973fcaa823p-21
+0x1.437a141589287p2
+-0x1.9104e694ef44ap-2
+-0x1.b70572032d576p-7
+0x1.d10452e3eae69p2
+0x1.2874b443d01bcp0
+0x1.fa66d12189a72p20
+-0x1.303e443c556d3p46
+0x1.4b5d557e8fe56p44
+0x1.602bb4e791b87p-20
+-0x1.158f81cbcb150p-3
+-0x1.36a3939175212p3
+-0x1.826092fe525c4p-19
+-0x1.a72da4879bcb1p-26
+0x1.839626b74c51ap-1
+-0x1.bd2da6527d628p5
+0x1.3257e0dc99c46p-23
+-0x1.b3ebe0c2317c6p3
+0x1.1164968b6d3d2p-4
+0x1.bd5404092a649p30
+-0x1.dd0e00246fdf1p-3
+-0x1.4167e56920aa2p6
+-0x1.b035570fa59c8p-1
+0x1.7853f4cf90bbcp15
+0x1.bc20a74a4c2dbp-18
+0x1.0e3ee3d24bf54p3
+-0x1.95aab56378e9cp45
+-0x1.4930a7aa51e8dp1
+0x1.ea77407c9a5f1p-1
+0x1.4fac93644de62p-3
+0x1.a2ed87cc0f417p43
+0x1.14d2d0a33df56p2
+-0x1.3473f6f77b6c5p11
+0x1.b647101dc4177p3
+-0x1.4e0b92acc66bfp23
+0x1.2a3797d36ee30p-4
+0x1.ce10973c013ebp-14
+0x1.b6cef57406772p2
+-0x1.326762c9ea656p-22
+0x1.56473079b28aap24
+-0x1.46f3d42d9a8dap-11
+-0x1.6d4e52e373151p-7
+0x1.622a0570fc4abp11
+-0x1.7e0bb32e21466p-6
+0x1.55a1a3d809d3ep1
+-0x1.d7492480e11f5p32
+0x1.835730d6b3ef6p-18
+0x1.2d9cf79f070e8p-9
+-0x1.6cee95c1d9445p26
+0x1.45c58441f2822p-3
+0x1.2f01d75200b30p21
+-0x1.014c5172af434p0
+0x1.9d96552d416d8p3
+0x1.f878a3fc8f55fp-3
+0x1.1206f1aa29231p1
+0x1.998bc480cbf5dp-3
+0x1.2160c0ab74e78p41
+0x1.66cce4923857ap-6
+-0x1.47bf27bfba3adp-3
+-0x1.88b9442658583p-13
+0x1.baf0076743831p2
+-0x1.d7a664adbb965p-22
+0x1.8bfbf37ef0c90p22
+-0x1.a2b137086be2cp9
+0x1.b8fa2667197acp29
+0x1.2e9ee649d720ap-2
+0x1.fd42f19ae5dfdp-15
+0x1.b4c7c70a22018p38
+0x1.6fee027ca714ap-18
+0x1.b986a428fdeebp-9
+-0x1.f63c6744cafc4p-7
+-0x1.860b9508a01c2p-4
+0x1.c9dbe26d13605p-7
+-0x1.e5af65a0da055p-4
+0x1.2f48357a95e60p-3
+0x1.afac3209945f4p-11
+0x1.e24230fc8430fp-1
+0x1.555f1605043d9p40
+-0x1.42c7b6d8c6b89p-4
+0x1.f5e416fab1768p24
+0x1.4379506da570ep10
+-0x1.c38b2527d3a6ap0
+-0x1.ecf007e1a6728p-3
+0x1.636eb2220b2c2p-18
+0x1.7609e702937b8p2
+0x1.2db5d31780fa5p3
+-0x1.221c240b15183p-3
+0x1.084b249033af8p-19
+-0x1.69c8f54230d4cp2
+-0x1.5458a621ac511p0
+0x1.c8b53281fbad0p-15
+0x1.0c8ac2d6bf8cep-22
+-0x1.28b804bea1e7fp3
+0x1.919d64a75bf39p-9
+0x1.4c0b078f754a4p-1
+-0x1.dd7405983ab97p-20
+0x1.ba2103a39b033p19
+-0x1.b21fc106586d2p0
+0x1.eacb558bbd5dap1
+-0x1.058304cdc51f1p-2
+-0x1.e530d67d5c413p15
+0x1.9efc141496268p-21
+0x1.9e43436405397p-2
+0x1.d6c5d5f5dcc9fp-22
+0x1.2f0540658e814p1
+0x1.89ea31cb96062p1
+0x1.c9d690079576dp-7
+0x1.9b1ef5b23f047p-2
+-0x1.c1e61429c45fbp43
+0x1.248b34f22e7e1p-26
+0x1.0dc2918fd3196p-15
+0x1.a17a2260c8d58p18
+-0x1.a088140ade389p19
+0x1.8b92c2168e33fp40
+0x1.69ab67a22bbbcp0
+-0x1.343232b010a37p-17
+-0x1.0c4932248f574p0
+-0x1.2bdc378a38991p-2
+0x1.2d563370110dap-12
+0x1.a27134171f37dp-4
+0x1.fa63324eb71a3p26
+0x1.6f50c55b7950ep-21
+-0x1.0486e73eca0d8p45
+-0x1.fa20f7947f447p-3
+0x1.0439c6fe1a62ep2
+0x1.4e5d366349911p2
+0x1.985933b0a27d6p-2
+0x1.bf592781e0417p-4
+0x1.bd39f070daca3p-4
+0x1.0130b7296f20dp0
+-0x1.299cc68ec2149p2
+-0x1.6d9fc7a6e0946p0
+0x1.b42110fb94ad0p31
+0x1.b59970f83df8ep1
+0x1.c4083529ddeb8p38
+0x1.ac3bb44cafe59p1
+0x1.6d66733b81b71p-11
+0x1.20beb78f7ceeep-16
+0x1.d285f704a02d5p-4
+0x1.bf37a3dc305b1p37
+-0x1.8852a20307706p1
+0x1.8129a11b33c67p31
+0x1.1b31565ac4d26p38
+0x1.efe3d79df1a25p0
+-0x1.df4fc61097087p34
+-0x1.801e6310f70c4p1
+0x1.de7fc178da718p1
+0x1.82cd96b74c33bp-3
+0x1.14ce177c73acbp2
+-0x1.b8bfa6f20bf6cp-4
+0x1.04ff06087395bp-9
+-0x1.8327b171d58abp-4
+-0x1.8cabe7b5327bap-3
+-0x1.82c492035cf5bp24
+-0x1.d85a267d87555p-24
+-0x1.efdc44b7fb121p24
+0x1.ea99c6cf2fd74p-17
+0x1.3fb6671f607b1p1
+0x1.97dce09249de2p-3
+-0x1.9dc4f0331f52cp43
+0x1.ea7d727d27334p41
+-0x1.ec9d516a85c75p-25
+-0x1.bb2176abaedd1p-3
+-0x1.71eeb273dd3adp-15
+-0x1.7be385146ccdep25
+0x1.c1f987ad8af62p-6
+0x1.2159279f1c89ap2
+-0x1.4805b43babc89p-17
+-0x1.c16834d0d845ap-20
+0x1.c52f537caeb0ep10
+0x1.14d5e5a6c66f8p52
+0x1.2f929423ad32fp0
+0x1.e9ce62b513428p-4
+-0x1.8a14f3724eb37p32
+0x1.64013151734fdp3
+-0x1.9090f39f49889p23
+0x1.be6b47a137a52p-12
+0x1.59a42749fd7c3p1
+0x1.8603f544b0976p-15
+-0x1.4d2ba3dfaeb93p-2
+-0x1.7d770619d5bc3p12
+0x1.edfb87aaee9b1p1
+-0x1.f23d94e870be7p-4
+-0x1.21500514f25d3p41
+0x1.cb8712f937eedp-15
+0x1.fb47c7a69d8a4p-24
+0x1.f1c904cd2e471p-12
+-0x1.31e6e3b7073f8p0
+-0x1.facd32a72c5a8p2
+-0x1.9823a41a9780ap-3
+0x1.3db1f5e2a9a51p51
+0x1.6344057f1cca6p-1
+-0x1.8be6128041ebfp-13
+0x1.6f07c272d7fe9p38
+-0x1.fd48060bf89bfp-5
+-0x1.82eb1727ca16ep-2
+0x1.26e0a24f2ec11p-18
+-0x1.74a1c0cb9d677p-14
+-0x1.bb0c36f1bb121p0
+-0x1.56a4873461187p1
+-0x1.d01e65e325d8dp2
+-0x1.5250308bc28a5p36
+-0x1.83c6f31f2de0fp-24
+-0x1.41ae76e29ab40p1
+-0x1.d738a56bac094p1
+0x1.1a5247926ba82p-14
+0x1.d703938b24ac4p-22
+-0x1.cc5566621df4fp-4
+-0x1.4144e3f175873p-4
+0x1.a41e208bd59c2p-4
+-0x1.8588a53e4e022p8
+0x1.cf4331e97df52p-27
+-0x1.d70843f5b2a7bp-8
+-0x1.b1a912cdf744ep-3
+0x1.ad44072bba2efp-15
+-0x1.735cf794885b0p25
+-0x1.94d98257a7443p-4
+-0x1.61dac14e8c1f2p1
+0x1.f71585bdc20e7p-20
+-0x1.3338f2e1ebed7p-2
+-0x1.044ab29dd3fd8p-1
+0x1.b230868e79405p-25
+0x1.c3539439a1ce3p15
+-0x1.2998d58d65498p-4
+0x1.7273d75dd90f5p0
+-0x1.6214d3e6a209fp32
+-0x1.3b2aa66ea6fd8p-3
+-0x1.6cc910ca7817ap-4
+-0x1.1194f4be56f5bp28
+-0x1.6dc3114d423c9p2
+-0x1.b447e098a3c6fp18
+-0x1.705865523468cp15
+-0x1.8e6752f060479p38
+-0x1.ebe665ab9b23ap3
+0x1.df6ee1073afd0p32
+-0x1.35ce11e0f4a42p5
+0x1.7c26f0a48edd9p-3
+0x1.af1996c678e0dp28
+0x1.c4ea4704b4de2p2
+0x1.697b37d6b070dp19
+0x1.49fa574ba1eccp52
+-0x1.695ee7cc1ce8ep48
+-0x1.169c757dd823dp-23
+0x1.207273ac379a1p-4
+0x1.7c2dc5c85d916p23
+0x1.fe02e67c4ccbfp-24
+0x1.accc401e13286p49
+-0x1.af3426c709c78p-18
+-0x1.ab2ca07faba33p-4
+0x1.aeaaf4f90a9c1p-4
+-0x1.84f781f4efe2cp-9
+-0x1.d885871aa2240p-9
+-0x1.a618720ac58c4p-22
+-0x1.9b995257a7ee5p-6
+-0x1.f68b46a30839ep-18
+0x1.e1443653f9257p3
+0x1.ce1a94d5c772cp-22
+0x1.b24255d0a3ce2p38
+0x1.2eaa6690d786ep2
+0x1.b5bb45a608da6p0
+-0x1.ead7509b0d69ep26
+0x1.86fa30e0b406ep3
+-0x1.acd451c3cb8b6p49
+0x1.000000c5cba87p0
+0x1.000001883003bp0
+0x1.00000dfb2b675p0
diff --git a/benchtests/libmvec/atanpif-inputs b/benchtests/libmvec/atanpif-inputs
new file mode 100644
index 0000000..2cb1a5f
--- /dev/null
+++ b/benchtests/libmvec/atanpif-inputs
@@ -0,0 +1,2005 @@
+## args: float
+## ret: float
+## includes: math.h
+# Random inputs in the range [-10,10]
+## name: workload-core-math1
+0x1.82c748p+2
+-0x1.0b2fa6p+3
+0x1.1aeap+3
+-0x1.072d74p+3
+-0x1.71f584p+2
+0x1.525788p+2
+-0x1.079028p+3
+-0x1.09235cp+3
+0x1.1eb3ccp+2
+-0x1.28878ep+3
+-0x1.6d5164p+1
+-0x1.fd523cp+2
+0x1.de65e8p+2
+-0x1.05ed4p+3
+-0x1.1b2054p+3
+-0x1.9e5a5p+1
+-0x1.9d6d8ep+2
+0x1.3e55p+3
+-0x1.8286ccp+2
+-0x1.600e2ep+2
+0x1.bd6a48p+2
+-0x1.39d934p+3
+0x1.d033cp-1
+-0x1.0118ep+1
+0x1.eef87p+0
+-0x1.020b56p+2
+-0x1.368226p+2
+-0x1.347528p+1
+-0x1.eeb58p+0
+0x1.3516dp+0
+-0x1.e51e0cp+2
+0x1.d017p+1
+-0x1.6ac17cp+1
+0x1.0ec1c8p+3
+0x1.a9b8d8p+2
+-0x1.648acp+0
+-0x1.f406ep+2
+0x1.084bacp+3
+-0x1.c0a6fap+2
+-0x1.26ffp-2
+-0x1.cb291p+0
+-0x1.3cc0ep+2
+-0x1.359f78p+1
+0x1.4372d8p+2
+0x1.4cbd2p-1
+0x1.4552fp+1
+-0x1.b98a8p+1
+0x1.cc5e88p+1
+0x1.14d414p+3
+-0x1.21600ap+2
+0x1.d7e22p+2
+0x1.f82c4p-1
+-0x1.3dfc0ep+3
+0x1.110c0cp+3
+0x1.2e3d24p+3
+0x1.7c672p+0
+-0x1.6a90a8p+2
+0x1.c103bp+2
+-0x1.274c14p+2
+-0x1.f377d4p+2
+-0x1.405114p+2
+0x1.d36fep+0
+0x1.0aca8p+3
+0x1.d519p+1
+-0x1.52ac1ep+2
+0x1.7838dp+0
+-0x1.211e8p-3
+0x1.d5c22p+2
+0x1.7665dp+1
+0x1.7f51p-3
+0x1.6ca05p+2
+-0x1.6ec632p+2
+0x1.a7ff4p+0
+-0x1.cab87cp+1
+0x1.f56038p+2
+0x1.8123bp+2
+0x1.3847ep+0
+0x1.f7ea3p+0
+0x1.9716fp+1
+-0x1.cf3c8p+2
+0x1.39acf4p+3
+0x1.095e44p+3
+-0x1.cffdb8p+1
+-0x1.0d5f6p+2
+0x1.ea41p-3
+0x1.a5cc98p+1
+0x1.0d212cp+2
+-0x1.03cf04p+2
+-0x1.0609fcp+3
+-0x1.f384eep+2
+0x1.8f09ap+0
+-0x1.1fd75p+1
+0x1.47af54p+2
+-0x1.b86d24p+2
+-0x1.5befp-4
+-0x1.ea558ap+2
+-0x1.95a682p+2
+-0x1.e6c7d4p+2
+0x1.b6bf9p+2
+-0x1.27364p-1
+0x1.2a94bp+3
+0x1.eec5p-3
+0x1.666f8p-2
+0x1.82298p+1
+0x1.398878p+2
+-0x1.a3163p+1
+-0x1.015e1ap+3
+0x1.6e3aa8p+2
+-0x1.33c3dcp+2
+-0x1.fdcfp+0
+0x1.3c3488p+3
+-0x1.8cc7p+1
+0x1.464d1p+0
+0x1.355d28p+1
+0x1.d7f08p-1
+-0x1.00f634p+3
+-0x1.1e8abp+0
+0x1.f76cdp+2
+0x1.076358p+2
+0x1.05d6c8p+3
+0x1.60e3fp+1
+-0x1.ebf0fp+1
+0x1.7483fp+2
+0x1.82a318p+2
+-0x1.5db8bep+2
+-0x1.7277p-3
+-0x1.da648p-3
+0x1.b7cb2p+2
+-0x1.8831d8p+2
+0x1.7f95b8p+2
+-0x1.c1cd3p+2
+-0x1.0b7e18p+1
+-0x1.83548cp+1
+0x1.b82ap+0
+-0x1.1857e8p+1
+0x1.3343e8p+3
+0x1.79256p+0
+0x1.0c48ap-1
+0x1.ae184p+2
+0x1.ba11d8p+2
+-0x1.0b4dc8p+3
+0x1.c06298p+2
+-0x1.3bf0a8p+3
+0x1.2d3e9p+1
+-0x1.4c763ap+2
+-0x1.e5dedcp+2
+0x1.759a44p+2
+-0x1.0e4bbp+3
+-0x1.169f24p+2
+-0x1.14f64ap+3
+-0x1.6b0182p+2
+-0x1.17f7b4p+3
+-0x1.0e3f8cp+2
+-0x1.36ca32p+3
+0x1.d6e458p+2
+0x1.4aebcp-1
+0x1.706e28p+1
+-0x1.ae5b3p+1
+-0x1.f2b63ep+2
+-0x1.9acddp+2
+-0x1.efdd4p-1
+0x1.55d2ap+1
+0x1.783948p+1
+-0x1.0a41p-4
+0x1.deff28p+2
+0x1.204ffcp+3
+0x1.c5a9e8p+2
+-0x1.d46238p+1
+-0x1.ee202p-1
+-0x1.08bbcp-2
+-0x1.46096p+2
+-0x1.155p-2
+0x1.0ea26cp+3
+0x1.256ce8p+1
+0x1.0424cp+3
+-0x1.eed1f4p+2
+-0x1.1a26ecp+2
+0x1.0eff3cp+2
+0x1.970858p+2
+-0x1.2dce9p+3
+0x1.571654p+2
+-0x1.08c85cp+1
+-0x1.ccd436p+2
+0x1.feed6p+0
+0x1.c793fp+1
+-0x1.fbf8cp-2
+0x1.4e451p+1
+-0x1.1a7ebap+3
+0x1.0a118p+3
+0x1.06bb14p+2
+-0x1.1bc264p+2
+0x1.10edap+1
+-0x1.a14c1p+1
+0x1.bbb468p+2
+0x1.07155p+0
+-0x1.fe0bf8p+2
+-0x1.8824ep+1
+0x1.34f7bp+3
+-0x1.1cf394p+2
+0x1.2256dp+3
+-0x1.0e4ep+3
+-0x1.23013p+3
+-0x1.17e55p+0
+0x1.0bccep+2
+0x1.b76e5p+2
+-0x1.569cbp+0
+0x1.ad5aa8p+2
+-0x1.e43f24p+2
+-0x1.ed9c7ep+2
+-0x1.bd1908p+2
+-0x1.b659c8p+2
+0x1.3ff46p+2
+0x1.8ad508p+1
+0x1.a922dp+1
+0x1.2bec28p+1
+0x1.3a163p+0
+0x1.0e48p-1
+-0x1.eca5bp+2
+0x1.8df9d8p+2
+-0x1.f15accp+2
+0x1.3feb6cp+3
+0x1.f1ee8p+2
+0x1.8274dp+0
+-0x1.07e69cp+3
+-0x1.69f67cp+2
+0x1.4afde4p+2
+0x1.88243p+0
+0x1.3fb09cp+2
+-0x1.9c9c2p+2
+0x1.31fac4p+2
+-0x1.ba2894p+2
+0x1.421a5p+2
+0x1.cdd14p+2
+-0x1.35716cp+1
+0x1.159d28p+3
+0x1.0010d4p+3
+-0x1.2f32dcp+3
+-0x1.67c47cp+2
+0x1.ac2f1p+0
+-0x1.177438p+3
+0x1.6281c8p+2
+-0x1.91b624p+1
+-0x1.a69abp+2
+0x1.4ac6p-3
+-0x1.5fced4p+2
+-0x1.01f294p+3
+0x1.17f52p+0
+-0x1.eff7p-4
+0x1.3b0e34p+2
+-0x1.bec88p+1
+-0x1.2eec36p+2
+0x1.35243cp+3
+0x1.bc5aa8p+2
+-0x1.0d7cfp+3
+-0x1.5627p-3
+-0x1.f90b34p+2
+-0x1.2742dep+3
+0x1.a4c38p+1
+0x1.07f708p+3
+-0x1.46ea4p-1
+0x1.13dabcp+3
+0x1.f463dp+1
+0x1.c3959p+1
+-0x1.39101ap+2
+0x1.afcc08p+2
+-0x1.82ba54p+2
+0x1.a4ae1p+0
+-0x1.62878p+0
+0x1.13ff8cp+2
+-0x1.1cfc8p-2
+0x1.3e6768p+1
+0x1.fb968p+2
+-0x1.55c9e4p+1
+0x1.8d11ep+0
+0x1.11c74p+3
+-0x1.9f272ep+2
+-0x1.8aa228p+1
+0x1.64a568p+1
+0x1.29b0ap+3
+-0x1.ea0912p+2
+-0x1.f9863p+2
+0x1.274f28p+2
+-0x1.20ddc4p+3
+0x1.03268p+1
+0x1.ea0b1p+2
+0x1.3db3cp+3
+0x1.912f68p+1
+-0x1.41a63p+1
+0x1.7d1818p+2
+-0x1.1cbd4p+0
+0x1.8c15a8p+2
+-0x1.1dc70ep+2
+-0x1.f76d1p+2
+-0x1.196146p+2
+0x1.bebb48p+2
+-0x1.066884p+2
+0x1.242d7cp+3
+-0x1.68ecap+1
+0x1.1e3bf8p+3
+-0x1.1834a8p+2
+-0x1.28f17ep+2
+-0x1.863p-4
+-0x1.0a646p+0
+-0x1.2887d6p+3
+-0x1.b6fd1p+1
+-0x1.3f40ep+0
+0x1.09ce4p-2
+0x1.579028p+1
+-0x1.119c5ap+3
+-0x1.5fb97p+2
+-0x1.87bcap+2
+0x1.8f247p+2
+-0x1.7f461p+0
+-0x1.6880ep+1
+0x1.0de098p+2
+-0x1.ec045cp+2
+-0x1.091df6p+3
+-0x1.1c42dap+2
+-0x1.345342p+3
+0x1.d0daep+0
+-0x1.2d6ap+0
+-0x1.111a2p+3
+0x1.ae3bp+0
+0x1.684558p+2
+-0x1.2ff3e2p+3
+-0x1.a3ba9p+0
+0x1.e96d8p+1
+0x1.0a534cp+2
+-0x1.d84a4p-2
+0x1.087a8p+3
+0x1.22d934p+3
+-0x1.e1ebap-1
+0x1.96a2cp-2
+-0x1.760a9cp+2
+-0x1.b265e4p+2
+0x1.80e1cp+1
+-0x1.9b259p+1
+-0x1.5f220cp+2
+0x1.2604dp+3
+0x1.0c9528p+2
+-0x1.ec2608p+2
+-0x1.6a4dep+1
+0x1.f0bd58p+2
+0x1.0f2018p+3
+0x1.1178p-3
+0x1.0f2584p+2
+0x1.677eb4p+2
+0x1.afa7c8p+2
+-0x1.9d9238p+1
+-0x1.eabcbp+1
+0x1.f578ep+1
+0x1.69d4dp+2
+0x1.2e1b8p-2
+-0x1.7fbbep+0
+0x1.be058p+2
+0x1.2dd258p+3
+0x1.33e318p+1
+0x1.c102bp+2
+-0x1.68da74p+2
+-0x1.bc25b8p+1
+0x1.5ed7fp+0
+-0x1.9369ecp+2
+-0x1.e916p-3
+0x1.92565p+2
+-0x1.3edd34p+1
+-0x1.0b065cp+3
+-0x1.9d1ae8p+2
+-0x1.510a34p+2
+-0x1.3a761ep+3
+-0x1.07118p+0
+0x1.1e7d38p+3
+0x1.2f151cp+3
+0x1.263c88p+2
+0x1.28287cp+3
+0x1.f35df8p+2
+-0x1.8553ap+0
+-0x1.c3a2p-3
+-0x1.95fe08p+2
+0x1.4edacp+1
+0x1.fcc1f8p+2
+0x1.2284ap+2
+-0x1.cf1542p+2
+-0x1.3e526ap+3
+-0x1.14b726p+3
+0x1.efeefp+1
+-0x1.9e54bp+0
+-0x1.ca69bp+0
+0x1.076428p+2
+0x1.20abecp+3
+-0x1.1233fap+2
+-0x1.09401p+3
+0x1.661fcp+2
+0x1.ae45f8p+2
+-0x1.8b56ep+2
+0x1.6f3p-3
+-0x1.aa9da6p+2
+0x1.ac139p+2
+-0x1.90ca38p+1
+-0x1.66028ap+2
+0x1.9ef86p+1
+0x1.e264b8p+2
+0x1.07a7cp+0
+0x1.332ac4p+3
+0x1.3c6ed8p+3
+-0x1.b9fa48p+1
+0x1.9071p+2
+-0x1.4af18p-2
+0x1.065264p+3
+-0x1.d29b14p+1
+-0x1.e19708p+2
+0x1.3ed544p+3
+-0x1.741b4p+1
+0x1.59268p-1
+0x1.3e8b6p+3
+0x1.61b4ecp+2
+0x1.adc538p+2
+0x1.b96f3p+0
+0x1.34f29p+0
+0x1.8f3208p+1
+-0x1.e31244p+1
+-0x1.3120bcp+3
+0x1.20184p+0
+-0x1.798a52p+2
+-0x1.68261ap+2
+0x1.8ae0ep+0
+0x1.2ca934p+2
+-0x1.ceef1cp+1
+-0x1.5a0f6ep+2
+0x1.53cffp+0
+0x1.2f0388p+3
+0x1.102fcp+3
+-0x1.421fbp+1
+0x1.d14adp+1
+-0x1.3ccfb8p+2
+0x1.2d3e3p+1
+-0x1.58f1a6p+2
+-0x1.60dbacp+2
+-0x1.ec6d64p+1
+0x1.fdf1fp+0
+-0x1.d3774p-1
+-0x1.478d1ep+2
+0x1.f9e8p+0
+-0x1.83b1dep+2
+0x1.ed8p+2
+-0x1.212bccp+1
+-0x1.30736p+3
+-0x1.9ad63p+1
+-0x1.31cbc8p+2
+-0x1.398bb8p+2
+-0x1.cd5cp-5
+-0x1.a30c5cp+2
+-0x1.80b676p+2
+-0x1.2562cap+3
+0x1.07145p+3
+-0x1.71820cp+2
+0x1.ddee7p+1
+-0x1.57704cp+2
+0x1.394c3cp+3
+0x1.3ba03p+3
+-0x1.dc6a82p+2
+0x1.15a488p+3
+0x1.91ff3p+1
+0x1.0464b8p+2
+0x1.c0dbdp+0
+0x1.13edcp+3
+0x1.779a18p+1
+-0x1.b4eb3p+0
+-0x1.2f2ebcp+2
+0x1.6b2c7p+0
+0x1.99835p+1
+-0x1.20e87ep+3
+0x1.f3ep-8
+0x1.05d39p+3
+-0x1.ed119cp+1
+-0x1.1f37p+1
+0x1.d6694p+2
+-0x1.698c7ap+2
+-0x1.857c34p+2
+-0x1.3a49dp+1
+-0x1.e1cec8p+2
+-0x1.ce87bcp+2
+-0x1.3156acp+2
+-0x1.313dbcp+2
+0x1.9d7p-1
+-0x1.0e0f18p+3
+-0x1.6ba8p-6
+0x1.bd1da8p+2
+-0x1.0ce162p+3
+-0x1.05f21p+0
+0x1.55096p+1
+-0x1.25358p-2
+0x1.e28bf8p+2
+0x1.4fbadp+0
+0x1.70d5ep+0
+-0x1.4508dp+2
+0x1.749d2p+1
+0x1.7cdf6p+2
+0x1.6d048p-1
+0x1.10fep+1
+0x1.4a9df8p+2
+0x1.92bbd8p+1
+0x1.a8c7ep-1
+0x1.f7c02p+1
+0x1.332b4cp+2
+0x1.5fa498p+2
+0x1.2e3adcp+2
+0x1.0cf24p+3
+-0x1.166fbcp+2
+-0x1.cf2p-6
+0x1.3a73e8p+2
+-0x1.c2d91p+0
+0x1.8dd8p-1
+-0x1.40328p-2
+0x1.24bf6p+2
+-0x1.be844p+0
+0x1.48c808p+2
+0x1.110bcp+0
+0x1.86f4b8p+2
+0x1.160cbp+3
+-0x1.9530d4p+1
+-0x1.b8742p+1
+0x1.98169p+2
+0x1.f103cp+2
+0x1.737bcp-1
+-0x1.68c60ep+2
+-0x1.453d7p+1
+-0x1.626e36p+2
+0x1.9ccec8p+1
+0x1.cc8a6p+1
+-0x1.1c17ap+3
+0x1.2d02cp+3
+-0x1.c1beap+1
+0x1.9aa7d8p+2
+0x1.015448p+1
+0x1.10e2d8p+3
+0x1.38d3d8p+2
+-0x1.11f952p+3
+0x1.e171d8p+1
+-0x1.0309b4p+2
+-0x1.71dc94p+2
+-0x1.241bbp+3
+-0x1.5e26p-1
+0x1.7d82e4p+2
+0x1.0e7ee8p+3
+0x1.2e869cp+3
+-0x1.f0760cp+2
+0x1.29f92p+2
+-0x1.2e9aeap+3
+0x1.86fcdp+2
+-0x1.7f6a64p+1
+-0x1.11006cp+2
+0x1.cdaebp+2
+0x1.121e3p+1
+-0x1.c2d75cp+2
+0x1.371b0cp+2
+-0x1.76f8p-1
+-0x1.18efbcp+3
+0x1.b92a98p+2
+-0x1.64ac1p+2
+-0x1.5c75ep+2
+-0x1.1f7124p+3
+-0x1.3d38bp+3
+0x1.2b526p+3
+0x1.2ceb58p+3
+0x1.0ee7dcp+3
+0x1.2fe3bp+2
+0x1.0d7d68p+2
+-0x1.2dd928p+3
+0x1.d1bf48p+1
+-0x1.4cc656p+2
+-0x1.38b5e6p+3
+-0x1.72022p+0
+0x1.02efbcp+3
+-0x1.b7bc8p+0
+-0x1.3710f8p+3
+0x1.133f18p+1
+0x1.23e6ap+0
+0x1.fc7a6p+1
+0x1.63364p+2
+0x1.fdd7fp+0
+-0x1.e5025ap+2
+-0x1.fd6eb6p+2
+-0x1.bd8abp+0
+0x1.249af8p+3
+0x1.d2247p+0
+0x1.ab71a8p+1
+0x1.5a2c74p+2
+0x1.0e2bfp+3
+-0x1.89cb6p-1
+-0x1.b07388p+2
+-0x1.70ff76p+2
+-0x1.27432cp+1
+-0x1.2ad4fcp+3
+0x1.f5ba1p+2
+-0x1.d87bcp+0
+0x1.6a46cp-2
+0x1.84a1fp+2
+-0x1.7314ap+0
+-0x1.283974p+1
+0x1.15c4ecp+2
+0x1.333edcp+2
+0x1.6411acp+2
+0x1.c4a378p+2
+0x1.c8774p+2
+-0x1.f44e4cp+2
+-0x1.401678p+2
+0x1.f46f6p+0
+-0x1.501ceep+2
+-0x1.9b7cdcp+2
+-0x1.1412cp-1
+-0x1.3764ap+1
+-0x1.d77b44p+2
+0x1.229108p+2
+0x1.603b58p+2
+-0x1.41afp-1
+0x1.706d8p-2
+0x1.c292e8p+2
+0x1.3b2bcp+2
+0x1.b5753p+2
+0x1.09c5ap-1
+0x1.119d3cp+2
+-0x1.96940cp+2
+0x1.173638p+3
+0x1.d11b78p+2
+0x1.874b4p+0
+0x1.2b5ea4p+3
+-0x1.5a771cp+2
+-0x1.4189f4p+2
+0x1.c346p-1
+-0x1.9bb1e8p+2
+0x1.434f5cp+2
+0x1.0eeeap+2
+0x1.2a466cp+3
+-0x1.666ecp-2
+-0x1.7e3c34p+1
+-0x1.28aa98p+3
+0x1.4fce7cp+2
+0x1.7ce158p+2
+0x1.5cd4bp+1
+0x1.907ddp+1
+0x1.9a016p+2
+-0x1.176a44p+3
+0x1.7c456p+2
+0x1.5c5b68p+1
+0x1.d28dcp-1
+-0x1.33d024p+2
+0x1.5a826cp+2
+-0x1.add3b4p+1
+0x1.b41ecp+0
+-0x1.ec341ep+2
+0x1.5c8f18p+1
+0x1.dae03p+2
+0x1.b54ap+2
+-0x1.e6451p+1
+-0x1.2fe0cp+3
+-0x1.317b08p+1
+0x1.1f04cp+3
+0x1.e2bb9p+2
+-0x1.3cb8d2p+3
+-0x1.09f4fp+3
+-0x1.5f6edcp+2
+-0x1.33812ep+3
+-0x1.cc55c8p+2
+-0x1.09d1bcp+3
+0x1.af3fb8p+2
+-0x1.3fcac4p+3
+-0x1.92966p-1
+0x1.259c58p+2
+0x1.3ab01p+2
+-0x1.5896p-5
+-0x1.bdb4bp+2
+-0x1.a1212cp+2
+-0x1.11da04p+1
+0x1.00177p+1
+0x1.827e5p+2
+-0x1.9aa51p+1
+0x1.ae974p-2
+0x1.d44f28p+2
+0x1.33249p+1
+0x1.290728p+3
+0x1.2a7138p+2
+-0x1.91ab7p+2
+-0x1.1d2d4p+1
+-0x1.42dbbcp+2
+-0x1.6835e2p+2
+0x1.567408p+2
+-0x1.1241f4p+3
+-0x1.4f964cp+2
+-0x1.0a3642p+3
+0x1.004e8p-1
+-0x1.9bb70ap+2
+-0x1.c04p-3
+0x1.6cde5p+0
+-0x1.61bbbcp+2
+0x1.93873p+2
+-0x1.38257ap+3
+-0x1.494c08p+2
+0x1.c2a42p+1
+-0x1.16848p+3
+-0x1.52ba24p+1
+0x1.c5c278p+1
+0x1.88d7ap-1
+-0x1.1f92aep+2
+0x1.47314p-1
+0x1.eaee8p-2
+-0x1.2568f8p+1
+-0x1.86e5d8p+2
+0x1.a4acp+2
+-0x1.e7f88cp+2
+-0x1.6edd3p+2
+-0x1.ed577p+0
+-0x1.21023cp+3
+0x1.cd16ep+2
+0x1.99beep+2
+0x1.862528p+1
+0x1.f7e06p+2
+0x1.59464p+1
+-0x1.eef01p+1
+-0x1.e92b66p+2
+-0x1.0245cp-1
+0x1.e519fp+0
+0x1.018f9p+3
+-0x1.1078acp+2
+0x1.9da54p+2
+0x1.cc39fp+2
+-0x1.f7fe8p-3
+0x1.f9812p+1
+-0x1.39d254p+2
+0x1.e0a3f8p+2
+0x1.66714p-1
+0x1.92254p+2
+0x1.cacc7p+2
+0x1.345398p+2
+0x1.2e1668p+3
+0x1.060adp+1
+0x1.d7adb8p+2
+0x1.cd7e28p+2
+-0x1.ea7ff4p+2
+-0x1.3b3e24p+3
+0x1.132f64p+3
+-0x1.e75a7ap+2
+-0x1.ca3f3p+1
+-0x1.3e96d8p+3
+-0x1.215ca8p+3
+0x1.b15bap+0
+-0x1.212686p+3
+-0x1.d0869cp+2
+-0x1.1ac86ep+3
+-0x1.725338p+1
+-0x1.5b13f8p+2
+-0x1.7c2b54p+2
+0x1.fe859p+1
+-0x1.877eb4p+2
+0x1.387d1cp+3
+0x1.3b751p+2
+0x1.05465p+1
+0x1.a58c5p+2
+0x1.3fb79p+1
+0x1.708b4p-2
+0x1.1e132p+3
+-0x1.07270cp+3
+0x1.d6fb3p+2
+0x1.05101p+2
+-0x1.3aff38p+1
+-0x1.287d4p-1
+0x1.d9416p+2
+0x1.4fb69p+0
+0x1.6891p-2
+-0x1.fc289p+0
+-0x1.ca0dbp+0
+0x1.edf028p+2
+-0x1.cd6d58p+2
+0x1.3a3c5cp+2
+0x1.4280bp+0
+-0x1.bbe378p+2
+-0x1.299ce4p+3
+0x1.04eb5p+3
+-0x1.5b9bcp-2
+-0x1.54aaf4p+2
+-0x1.4755acp+1
+-0x1.26e9cp-1
+-0x1.ba5ecp-1
+-0x1.533dbp+0
+0x1.011684p+3
+0x1.daf48p+2
+0x1.ea3dcp+2
+0x1.ee9c1p+0
+-0x1.ee6436p+2
+0x1.057cf8p+3
+-0x1.83894p+0
+-0x1.532da8p+1
+0x1.12d47p+2
+-0x1.c6a688p+2
+0x1.21294p+2
+-0x1.c8cb24p+1
+0x1.bb4f4p-1
+-0x1.f6221ep+2
+-0x1.39b9d8p+2
+-0x1.d89a26p+2
+-0x1.38134ep+3
+-0x1.f6847p+2
+-0x1.70f726p+2
+0x1.8de54p+2
+-0x1.1ce2bcp+3
+-0x1.d2b04cp+2
+0x1.97d04p+1
+0x1.f3ac6p+2
+-0x1.193e1p+0
+-0x1.0de554p+2
+0x1.69c05p+1
+-0x1.6eee8p-2
+-0x1.3c7998p+1
+0x1.56286p+2
+-0x1.8ac6aap+2
+0x1.038568p+3
+0x1.5705f8p+2
+0x1.22746p+0
+0x1.20f0c4p+3
+-0x1.846d1cp+1
+-0x1.1728b4p+1
+0x1.47516cp+2
+-0x1.9b862cp+1
+0x1.3d496p+2
+0x1.37e228p+1
+-0x1.0829dcp+3
+-0x1.d10b14p+1
+-0x1.2d9f1p+1
+-0x1.1287ccp+2
+0x1.6e7cccp+2
+0x1.871a88p+1
+-0x1.90ba76p+2
+0x1.3e6da8p+2
+0x1.22933p+1
+-0x1.89525p+2
+-0x1.3db424p+3
+-0x1.f5cdbp+1
+-0x1.248fd4p+3
+0x1.0bfdfp+0
+-0x1.6d3f46p+2
+0x1.55bdbp+1
+-0x1.f2e7d8p+2
+0x1.5a363p+1
+-0x1.8d1b8p-1
+0x1.1f48c8p+2
+0x1.c5d838p+1
+-0x1.0288eep+3
+-0x1.d71588p+2
+0x1.1caa84p+3
+-0x1.016d18p+3
+-0x1.430028p+2
+-0x1.7eff0cp+1
+-0x1.26836cp+3
+-0x1.f83914p+1
+-0x1.b5a7c4p+2
+0x1.e7374p+2
+0x1.dcbeep+2
+-0x1.11521p+1
+-0x1.087002p+3
+-0x1.e2eefep+2
+-0x1.70d818p+1
+0x1.212ef4p+3
+0x1.22c948p+2
+0x1.9911e8p+1
+-0x1.cc4d94p+2
+0x1.abdep-4
+-0x1.15b734p+2
+0x1.28a7b8p+3
+0x1.1b6848p+3
+-0x1.24d9e2p+3
+0x1.239cf4p+3
+0x1.60a6p-1
+-0x1.f2fdp+1
+0x1.00cc4p-1
+0x1.368338p+3
+0x1.c180a8p+2
+0x1.cb9b4p+1
+0x1.0f9d08p+3
+-0x1.c653d4p+1
+0x1.2b32dcp+2
+-0x1.e756ap+2
+0x1.7c138p-2
+-0x1.c9c6fp+0
+0x1.7710dcp+2
+-0x1.0ce6e6p+2
+0x1.ea6f8p+1
+-0x1.c2fefcp+1
+0x1.0dd22p+1
+0x1.17edecp+3
+0x1.0a4348p+2
+0x1.8ec228p+1
+-0x1.2717ep+0
+0x1.9badf8p+2
+-0x1.223e2cp+3
+-0x1.fd92ap-1
+-0x1.d45594p+2
+-0x1.1f2894p+3
+-0x1.062fap+0
+0x1.b76fcp+2
+0x1.527a8p-3
+-0x1.203094p+1
+-0x1.57fd4p-1
+0x1.04d248p+3
+0x1.092f18p+3
+-0x1.a4338p-2
+0x1.9b00bp+1
+0x1.a4bcfp+2
+0x1.37e65p+3
+-0x1.1d4ac2p+2
+-0x1.6a778p-2
+-0x1.265bcap+3
+-0x1.515218p+1
+0x1.06cacp+3
+0x1.a39abp+1
+-0x1.00166cp+2
+0x1.1ffec8p+3
+0x1.f0c5cp-2
+-0x1.9ba728p+2
+-0x1.f6664cp+1
+-0x1.db0fd6p+2
+0x1.138a0cp+2
+-0x1.9fdb6p-1
+0x1.206514p+3
+-0x1.345aa6p+3
+0x1.a97938p+2
+-0x1.ab077ap+2
+-0x1.df814p+0
+-0x1.3dffp-1
+0x1.69959p+0
+-0x1.28f54p+0
+0x1.00cb98p+2
+-0x1.937c1cp+1
+0x1.1c248p-1
+0x1.d4661p+2
+0x1.79843cp+2
+-0x1.3bc14p-1
+-0x1.415202p+2
+-0x1.bc694p+0
+0x1.af2868p+1
+-0x1.bccf6cp+2
+0x1.14f24p+3
+-0x1.4d6cf8p+1
+-0x1.6abe4p-2
+0x1.90848p+2
+-0x1.490cp-2
+-0x1.5ac5p-1
+-0x1.8fcc58p+1
+0x1.27821p+2
+0x1.98999p+1
+-0x1.1d4444p+3
+-0x1.d99d32p+2
+0x1.20bb04p+2
+0x1.acefbp+1
+0x1.596cep+0
+-0x1.021308p+1
+-0x1.97bfc8p+2
+0x1.40f74p+0
+-0x1.f53112p+2
+0x1.2ec6a8p+1
+-0x1.05cb22p+2
+-0x1.2d61bep+3
+0x1.1411dp+3
+-0x1.8a1874p+1
+-0x1.a620b6p+2
+0x1.5272acp+2
+-0x1.8b7bp-2
+0x1.1ddf9p+3
+0x1.813348p+2
+-0x1.62d418p+1
+0x1.2b8774p+3
+-0x1.b18f8p+0
+-0x1.1086dcp+2
+-0x1.02e336p+3
+0x1.da65f8p+2
+0x1.6edep+0
+0x1.6bb538p+2
+-0x1.b9187cp+2
+0x1.094228p+2
+-0x1.4a86p-1
+-0x1.39fc94p+3
+0x1.0a9128p+3
+0x1.7f5a44p+2
+-0x1.006ap+3
+0x1.a1b548p+2
+-0x1.7b80bcp+2
+-0x1.02f74p+0
+-0x1.b68p+0
+-0x1.11902ep+3
+-0x1.0d612p-1
+-0x1.599c6p+1
+-0x1.46eb8p-2
+-0x1.714c16p+2
+-0x1.d2b0ap-1
+0x1.73fbp-2
+0x1.559b1p+2
+0x1.1b9898p+3
+0x1.3f787cp+3
+-0x1.010818p+3
+0x1.178b9p+1
+0x1.65eed8p+2
+-0x1.ba50b8p+1
+0x1.ecc62p+0
+-0x1.076b5ep+3
+0x1.cbec6p+2
+0x1.9c678p-3
+0x1.1b311p+2
+0x1.1948bcp+3
+-0x1.140768p+2
+-0x1.f217b4p+2
+-0x1.e3a7fp+1
+-0x1.93408cp+2
+0x1.1a8a48p+1
+-0x1.26766p+0
+0x1.f725f8p+2
+-0x1.10dd88p+3
+0x1.8020a8p+2
+-0x1.1fe57ap+2
+-0x1.12ac66p+2
+0x1.05fc28p+3
+-0x1.26f4ep-1
+-0x1.26942p+1
+0x1.c7578p-2
+-0x1.9c205ep+2
+-0x1.0862c4p+3
+-0x1.7bb44p-2
+0x1.f8d378p+2
+-0x1.fc19e4p+2
+0x1.f82abp+2
+-0x1.177a3p+0
+-0x1.0b1b7p+3
+-0x1.365092p+3
+-0x1.8eb208p+1
+0x1.2d869p+3
+0x1.bab8p+2
+0x1.0d0c98p+1
+0x1.daaa9p+2
+-0x1.0654c6p+3
+-0x1.3bb8cp+0
+-0x1.f7bac4p+2
+-0x1.063822p+2
+-0x1.3d393p+0
+-0x1.9d6418p+2
+-0x1.695fcp-2
+0x1.17b948p+3
+-0x1.e99bdcp+1
+-0x1.fba42ep+2
+0x1.14255cp+3
+-0x1.7ca374p+1
+0x1.8986cp-2
+-0x1.05dd4p+0
+0x1.001f38p+3
+0x1.bc62p-5
+-0x1.09204cp+3
+-0x1.271f26p+3
+-0x1.b8372cp+1
+-0x1.2e835p+1
+-0x1.5eb78p+0
+-0x1.589a8p+2
+0x1.f248a8p+1
+0x1.c0e6bp+2
+0x1.67e32p+2
+0x1.38b488p+3
+-0x1.5f63ep+0
+-0x1.32cef4p+3
+-0x1.88daep+0
+0x1.04f03p+3
+0x1.35b348p+3
+0x1.a918cp-2
+-0x1.6db224p+1
+0x1.35bde8p+1
+-0x1.2e9324p+3
+0x1.06ee98p+1
+0x1.0ceb4cp+2
+0x1.5ce9cp-1
+-0x1.a1b12cp+2
+-0x1.3b5c0ap+3
+0x1.d0e9fp+2
+-0x1.2856a2p+3
+-0x1.3ebb78p+1
+0x1.1eb9f8p+3
+-0x1.78754cp+2
+-0x1.7350ap+0
+0x1.274468p+1
+0x1.3e95p+3
+0x1.4ec064p+2
+0x1.1c34p+3
+0x1.1975b4p+3
+0x1.fcecep+2
+0x1.12456p+3
+-0x1.efd3f4p+2
+-0x1.2231bep+3
+0x1.20e2f8p+2
+0x1.145d4cp+2
+-0x1.06503ap+2
+-0x1.7d425ep+2
+-0x1.20b518p+1
+-0x1.148b34p+3
+-0x1.7e1928p+2
+-0x1.4ba57cp+1
+-0x1.aeb99p+2
+0x1.e7902p+2
+-0x1.68b5cp+0
+-0x1.7449cp+0
+-0x1.989dcp+0
+-0x1.a6e1bp+2
+0x1.d4e2dp+2
+-0x1.88d206p+2
+0x1.ae46ep+0
+0x1.15b92cp+3
+0x1.61064p+2
+0x1.e1f02p+2
+0x1.6f1e9p+0
+0x1.1f1cbp+1
+-0x1.a63cp-1
+-0x1.51cfp-2
+-0x1.1f10fap+2
+-0x1.9370bp+2
+-0x1.cad1e8p+2
+0x1.32675cp+3
+0x1.1fdfdp+3
+-0x1.84a6fp+1
+0x1.050218p+3
+0x1.97f3ep+2
+-0x1.f569b6p+2
+0x1.10ffa4p+2
+-0x1.007776p+3
+-0x1.16891p+0
+-0x1.9f7fcp+2
+0x1.83adbp+2
+0x1.ff45bp+2
+0x1.38054p+2
+-0x1.fe51p-2
+0x1.08a6a8p+2
+-0x1.4ef38p-3
+-0x1.196cf6p+3
+0x1.3f6114p+3
+0x1.fb43b8p+1
+0x1.8e363p+2
+-0x1.7895f2p+2
+0x1.43a9a8p+2
+-0x1.91394cp+1
+-0x1.493e8cp+1
+0x1.15da9cp+3
+-0x1.78f226p+2
+-0x1.30d136p+3
+0x1.11f2b4p+2
+0x1.5305cp+0
+-0x1.2faa0cp+1
+0x1.dd5b08p+2
+-0x1.f2546p+0
+0x1.c0ed4p+1
+0x1.8b836p+2
+0x1.5d8abp+2
+-0x1.c2ede2p+2
+0x1.c1b38p+0
+0x1.f75c6p+1
+-0x1.973bc8p+2
+-0x1.aac804p+1
+0x1.9c2ecp+0
+0x1.863a2p-1
+0x1.3547d8p+3
+-0x1.5a38p-6
+0x1.364908p+2
+0x1.e7e7ep+1
+0x1.1404f8p+2
+0x1.526dfcp+2
+-0x1.4d3bfcp+2
+0x1.318bc4p+3
+-0x1.85fd6p+0
+-0x1.ddff54p+1
+-0x1.a55ddcp+1
+-0x1.da8c74p+2
+-0x1.d699ep-1
+-0x1.00c424p+3
+0x1.95923p+0
+0x1.ac3538p+2
+-0x1.12c606p+3
+0x1.e4d258p+1
+-0x1.4d1e4p-1
+0x1.408e58p+2
+0x1.07471p+0
+0x1.32c2cp+2
+-0x1.c301ap+0
+-0x1.3447b8p+3
+0x1.5f68a8p+2
+0x1.a19948p+1
+-0x1.d4a7p+2
+0x1.e02b9p+2
+-0x1.693f88p+1
+0x1.9ad5e8p+2
+0x1.287df4p+3
+0x1.95b16p+1
+0x1.2bff54p+3
+0x1.0f8afcp+2
+0x1.370558p+3
+-0x1.7fd15ap+2
+0x1.766728p+2
+0x1.b90f9p+0
+-0x1.aa21cp+1
+0x1.b90c4p+2
+0x1.a889fp+1
+0x1.fa42f8p+1
+-0x1.5e5ff2p+2
+0x1.0963cp+3
+0x1.e79ea8p+2
+-0x1.9ff76cp+2
+0x1.a5971p+1
+-0x1.9dd84p+1
+0x1.eb19p-3
+-0x1.38d282p+3
+-0x1.09358p-3
+0x1.c7398p+1
+-0x1.b86108p+2
+-0x1.ea2d5ap+2
+-0x1.476006p+2
+0x1.076a98p+3
+-0x1.1953e6p+3
+0x1.65f5dp+0
+0x1.d8db4p-1
+0x1.08ae2p+1
+-0x1.8fd614p+2
+-0x1.7e2acp-1
+-0x1.449f4cp+2
+-0x1.1b48ap+3
+-0x1.799c96p+2
+-0x1.1736b6p+2
+-0x1.08d17cp+2
+-0x1.e2abd4p+1
+0x1.80b4d8p+1
+-0x1.8f748cp+2
+-0x1.611p-1
+-0x1.364b3cp+3
+0x1.f5983p+2
+0x1.b3a2cp+1
+0x1.015f6p+0
+-0x1.73a3ecp+1
+0x1.e3818p+0
+0x1.a4cccp+1
+-0x1.bfd4b4p+2
+-0x1.2580d6p+2
+0x1.a586p+1
+0x1.fff698p+2
+0x1.9645bp+2
+-0x1.229e5ep+3
+0x1.a58f5p+0
+-0x1.ce8a54p+1
+0x1.91ee9p+2
+-0x1.1d6fb4p+3
+0x1.bcb728p+1
+-0x1.b187ccp+2
+-0x1.2528e2p+3
+0x1.c1fbdp+2
+0x1.3da93p+3
+0x1.72cfep+0
+0x1.2c40e8p+2
+0x1.2c877cp+3
+0x1.caa62p+1
+0x1.61747p+1
+-0x1.36ebf6p+3
+-0x1.e94cp+0
+-0x1.be3368p+1
+-0x1.0848ep+3
+-0x1.d07f66p+2
+-0x1.6f95fp+0
+0x1.c86ba8p+2
+0x1.393cp-2
+0x1.24c3ap+0
+0x1.4ef0ep-1
+-0x1.4b11dcp+2
+-0x1.02f04cp+1
+0x1.18efp-3
+0x1.5ebe14p+2
+0x1.08a94cp+3
+0x1.44a204p+2
+-0x1.0b5162p+3
+-0x1.7bdd8p-2
+0x1.4f43fcp+2
+0x1.f1c6cp+1
+0x1.74ab8p-2
+-0x1.aacc8cp+1
+-0x1.6cb3ap-1
+0x1.07a524p+3
+-0x1.1510b4p+3
+0x1.1c1ap-3
+-0x1.100efp+3
+0x1.3b9c28p+3
+0x1.12c6ep+2
+-0x1.0732ep+0
+0x1.82cfcp-2
+0x1.18e868p+3
+-0x1.ee0c1p+0
+0x1.29b084p+2
+-0x1.f9700cp+1
+-0x1.95f214p+2
+-0x1.47fb8p+2
+0x1.17b3b4p+3
+0x1.2dd37p+2
+0x1.2a5d48p+1
+-0x1.ac667cp+1
+0x1.20b518p+3
+-0x1.5c135cp+2
+-0x1.fb4336p+2
+0x1.032e8p+3
+0x1.c4551p+2
+0x1.ab35e8p+2
+0x1.30aa44p+3
+-0x1.0af058p+2
+-0x1.4cfeep-1
+0x1.20e6a8p+3
+-0x1.e5acd8p+1
+0x1.12626p+3
+-0x1.074382p+3
+0x1.1ed96p+3
+-0x1.73485p+0
+0x1.1bef6p+2
+0x1.0130bp+2
+0x1.19fe4p-1
+-0x1.9f5418p+1
+0x1.5aa408p+2
+-0x1.1bf9ecp+3
+-0x1.34bcfap+3
+0x1.3ad824p+2
+0x1.11c33p+0
+-0x1.b6bd4ep+2
+0x1.73a69p+1
+-0x1.07ecep-1
+-0x1.d5668cp+1
+0x1.6075dp+2
+-0x1.52dfep-1
+-0x1.fa1208p+1
+-0x1.2d757ep+3
+0x1.03361cp+3
+0x1.57afdp+1
+0x1.ecd778p+2
+0x1.351048p+2
+0x1.7f464p+1
+0x1.6ddb9cp+2
+-0x1.25b918p+1
+-0x1.cd075ap+2
+0x1.31457p+3
+-0x1.7571d2p+2
+0x1.3e3578p+3
+0x1.28cefcp+3
+0x1.2d6554p+3
+-0x1.40a6bp+0
+0x1.10303p+3
+-0x1.9f0a9p+0
+-0x1.0e2462p+3
+-0x1.d9c4d4p+1
+-0x1.02494cp+3
+0x1.9752bp+1
+0x1.b570ep+1
+-0x1.f168p+0
+0x1.0765b4p+2
+-0x1.2cef24p+3
+0x1.dfe95p+1
+-0x1.58b67ep+2
+-0x1.34c8fap+2
+-0x1.3b4f98p+3
+-0x1.cd6bccp+2
+0x1.9fce48p+2
+-0x1.607b98p+2
+-0x1.52772ep+2
+-0x1.0e817p+2
+0x1.58d93p+1
+0x1.a27e8p-3
+-0x1.6766f2p+2
+-0x1.2f5ca8p+1
+0x1.c98c1p+2
+-0x1.eb562p+1
+0x1.4e78a8p+2
+-0x1.2db36p+2
+-0x1.2da152p+3
+-0x1.ceb26p+0
+0x1.70f34p+1
+0x1.385774p+2
+0x1.ebfb58p+1
+-0x1.e707p-2
+0x1.980d98p+2
+-0x1.6fd6p+0
+-0x1.298954p+3
+0x1.093d7cp+3
+0x1.23ad94p+3
+-0x1.4e3152p+2
+-0x1.0fd7dcp+1
+0x1.6dcb94p+2
+0x1.41926p+0
+-0x1.0215f8p+3
+0x1.0fed9p+3
+0x1.a9e56p+0
+0x1.133b6p+0
+0x1.33b4b8p+3
+-0x1.c4bbaep+2
+0x1.0148cp+3
+-0x1.3041eep+3
+-0x1.c3216p+0
+0x1.1da78p+1
+0x1.efa648p+2
+0x1.19f25p+1
+0x1.ce6ecp-1
+-0x1.bcadp-4
+-0x1.27c3fcp+2
+0x1.25f49p+3
+-0x1.249cp+3
+-0x1.f6e3acp+1
+0x1.08ba4p+3
+-0x1.2bea8p-3
+-0x1.44f73p+0
+0x1.4f732cp+2
+-0x1.ed73d2p+2
+-0x1.4ece42p+2
+-0x1.8edc8p+1
+0x1.e94058p+2
+0x1.f9d65p+0
+0x1.2caccp+3
+0x1.4c48p-5
+0x1.b8a6cp+0
+0x1.39835cp+3
+0x1.7a8e6p+1
+0x1.8d6d18p+2
+0x1.f4bf6p+2
+0x1.01c74p+0
+0x1.e0c97p+1
+0x1.328b04p+3
+0x1.128cbp+1
+0x1.3472ep+3
+0x1.89c08p+1
+0x1.7c7cap+0
+-0x1.494ep-3
+-0x1.3a9788p+1
+-0x1.d904dp+2
+0x1.aaccap-1
+-0x1.39d1fp+3
+-0x1.0b69cp+2
+-0x1.4bc9dep+2
+0x1.270bdcp+3
+0x1.ef6b88p+1
+-0x1.20888ap+3
+-0x1.90a638p+1
+-0x1.c8090ap+2
+0x1.b4afcp-1
+-0x1.4fd70cp+2
+0x1.50f93cp+2
+-0x1.e56e94p+2
+0x1.049fap+0
+-0x1.2e616cp+3
+0x1.03ea48p+2
+-0x1.eb1414p+1
+-0x1.c9e3ep-1
+0x1.26f1d4p+3
+-0x1.317e8p+3
+0x1.17f524p+3
+-0x1.0606fp+0
+-0x1.5956f4p+1
+-0x1.2de798p+2
+-0x1.805a8p+1
+-0x1.da6dbp+2
+-0x1.2b8204p+3
+-0x1.c9e7b6p+2
+0x1.3a4c3p+3
+-0x1.3fe3bcp+2
+-0x1.80ccc4p+2
+0x1.fcaedp+2
+0x1.387a88p+2
+-0x1.66aap-3
+-0x1.b185bp+1
+-0x1.beeff8p+1
+-0x1.3e5bbcp+2
+-0x1.f1edp+1
+0x1.531p-7
+-0x1.856b98p+2
+-0x1.5abde8p+2
+0x1.2c113p+1
+0x1.c8d6p-3
+0x1.218348p+3
+-0x1.3ad39p+1
+0x1.d18e7p+0
+0x1.3784c8p+2
+0x1.ef02cp+2
+-0x1.61bffcp+2
+0x1.f34bfp+0
+-0x1.5d18p-7
+0x1.e1f9cp-1
+0x1.6a0aep+0
+0x1.1e6718p+3
+0x1.0553c4p+2
+0x1.beb278p+2
+0x1.b723p+2
+0x1.66899p+0
+-0x1.2e9eep+0
+-0x1.efc72cp+2
+0x1.0333p+2
+0x1.04f058p+3
+0x1.3eb23cp+3
+0x1.5028bp+2
+-0x1.838a1p+0
+-0x1.6f0714p+1
+0x1.e2cc1p+2
+0x1.c45c38p+2
+-0x1.7d275p+2
+0x1.602268p+2
+-0x1.8cc548p+2
+0x1.1415e8p+2
+0x1.5456e8p+1
+0x1.059dc4p+3
+0x1.723facp+2
+-0x1.26b4f2p+3
+-0x1.62931ap+2
+0x1.585a0cp+2
+0x1.3fc3ccp+3
+0x1.9e5ec8p+2
+-0x1.3d5ac8p+1
+0x1.3b5838p+3
+0x1.391394p+2
+-0x1.960b18p+1
+0x1.272aa8p+2
+-0x1.9dfa9cp+2
+0x1.4fc0acp+2
+-0x1.068ae8p+3
+0x1.ec9cdp+2
+0x1.2ae92p+2
+-0x1.a150ccp+1
+0x1.20ae18p+2
+-0x1.3d5e4ep+3
+-0x1.f444dp+2
+0x1.2e1d68p+2
+-0x1.ce03bp+0
+0x1.eb7c58p+2
+0x1.1875ccp+3
+0x1.76286p+1
+0x1.156458p+3
+-0x1.116daap+3
+-0x1.36ace2p+3
+0x1.dfeed8p+2
+-0x1.473a94p+2
+0x1.a8fd28p+2
+0x1.83afb8p+2
+-0x1.3d853cp+3
+-0x1.ec18fcp+2
+-0x1.2e02f8p+3
+-0x1.1282d4p+1
+-0x1.259fe8p+2
+-0x1.12ce9ap+3
+0x1.8c1328p+2
+-0x1.c2d1ecp+2
+-0x1.3226b4p+3
+0x1.d32bdp+1
+0x1.c2ff9p+0
+0x1.230b68p+3
+0x1.0a1168p+1
+-0x1.015434p+2
+0x1.82a37p+1
+0x1.dd302p+2
+-0x1.7cbbap+2
+-0x1.01e822p+2
+-0x1.1786aep+3
+0x1.e9b85p+2
+0x1.43d6c8p+2
+0x1.92742p+1
+0x1.02ef9p+2
+-0x1.09b83p+0
+-0x1.469284p+2
+-0x1.e7bd8p-1
+0x1.2b9448p+3
+0x1.26e9bp+2
+0x1.b93928p+2
+0x1.2c26ep+3
+0x1.591398p+2
+0x1.4989p-2
+0x1.15da24p+3
+-0x1.b7e09ep+2
+0x1.0445c8p+2
+-0x1.3f1c9cp+3
+-0x1.bd37ep+1
+0x1.80fbp-1
+-0x1.496818p+1
+0x1.d78a58p+2
+-0x1.21c902p+3
+-0x1.3db6ep-1
+-0x1.2b52c8p+3
+0x1.381a58p+3
+0x1.244ee8p+1
+0x1.7248ap+0
+0x1.3fe78p+3
+-0x1.04278p-2
+-0x1.3d82aep+3
+-0x1.39256p+1
+0x1.3b81f8p+1
+0x1.e8bc88p+2
+0x1.b286fp+2
+-0x1.2408bep+3
+-0x1.cf8f2p+0
+0x1.90cdbp+2
+-0x1.4fdef6p+2
+-0x1.6e0e5p+1
+-0x1.36b888p+2
+0x1.cbf93p+0
+-0x1.ab9c1p+0
+0x1.9b435p+2
+0x1.7e9c4p+0
+-0x1.7757p-1
+-0x1.f4738p-1
+-0x1.f9d0e8p+2
+0x1.fe326p+2
+0x1.3ad718p+1
+0x1.3c8p-10
+0x1.3232p-2
+0x1.675bb8p+2
+-0x1.249b8p+3
+-0x1.74c76p+1
+-0x1.e65b9cp+2
+-0x1.1047f8p+1
+0x1.06b62cp+3
+0x1.0cd9ep+0
+-0x1.29507ap+3
+0x1.3b193cp+2
+0x1.f5553p+2
+-0x1.55a606p+2
+-0x1.c5a1p-4
+-0x1.5aa58p+0
+0x1.d6c67p+0
+0x1.e0075p+2
+0x1.78dp-6
+0x1.a37f1p+2
+0x1.d5dfd8p+1
+-0x1.a59bbcp+1
+0x1.b1dacp-1
+0x1.c7e6fp+0
+-0x1.1e6c5p+3
+0x1.4e4a38p+2
+0x1.eb733p+2
+-0x1.465e4p-1
+0x1.a50168p+2
+-0x1.4b4p-8
+-0x1.3cadfp+2
+-0x1.7ed608p+1
+-0x1.057d9ep+3
+0x1.8448p-3
+0x1.9d306p+2
+0x1.d241d8p+2
+0x1.c0343p+1
+-0x1.1782c6p+3
+-0x1.14d714p+2
+-0x1.a13aep-1
+0x1.f7c64p+1
+0x1.fcce7p+2
+-0x1.53a8a8p+1
+0x1.336aap+0
+0x1.4d03d8p+1
+0x1.9b6cfp+2
+0x1.0ba24cp+2
+0x1.98d5ep+1
+0x1.02786p+1
+-0x1.a96d8p+0
+0x1.351a9cp+3
+0x1.cae96p+2
+-0x1.5f5368p+2
+-0x1.73fbcp+0
+-0x1.95a86p+0
+0x1.e7f7a8p+2
+0x1.3320dp+2
+-0x1.513f76p+2
+-0x1.1d6394p+2
+-0x1.746eacp+2
+-0x1.0e45c8p+2
+0x1.f0913p+1
+0x1.96041p+0
+-0x1.06a134p+2
+-0x1.20b9ap+3
+-0x1.ea6e78p+1
+0x1.02fcc4p+2
+-0x1.df7416p+2
+-0x1.1f3afep+3
+0x1.2ffdap+0
+-0x1.261e88p+1
+0x1.871ecp-1
+-0x1.078a5p+0
+-0x1.0478fp+1
+-0x1.3f3e7p+0
+0x1.c4fd8p-1
+0x1.3d85f8p+3
+0x1.267d58p+3
+-0x1.10bdbp+3
+-0x1.15911cp+3
+-0x1.a6dc5p+1
+-0x1.c95f44p+1
+0x1.396aecp+2
+0x1.9a7a9p+2
+-0x1.1ad4cep+2
+0x1.771b54p+2
+0x1.a27238p+2
+0x1.f81b98p+2
+0x1.b7cfdp+1
+0x1.2ad0f8p+3
+0x1.f5606p+1
+-0x1.ba05f2p+2
+0x1.1ee5cp-1
+-0x1.20cfb4p+1
+-0x1.240c88p+1
+-0x1.d963ap+2
+0x1.c8658p+1
+0x1.bf8d8p+2
+-0x1.0ef89ap+3
+0x1.cceacp-1
+-0x1.3bdb1ep+3
+0x1.a35d78p+2
+0x1.267954p+3
+0x1.9ede38p+1
+-0x1.78dbfcp+2
+-0x1.b22f6ap+2
+-0x1.1b672p+0
+-0x1.844618p+2
+-0x1.15a278p+2
+-0x1.2f0112p+3
+-0x1.bd81ap+1
+0x1.7716p+1
+-0x1.2ea598p+3
+0x1.0ccafp+2
+0x1.df56f8p+2
+-0x1.d55bp-1
+-0x1.c8dd86p+2
+0x1.70de78p+1
+-0x1.714428p+2
+0x1.ce2d2p+2
+-0x1.065678p+3
+-0x1.2e50f8p+2
+0x1.1d01dp+3
+-0x1.1eae3cp+3
+0x1.3f334cp+3
+-0x1.3fbcap+3
+0x1.07556cp+3
+0x1.f223bp+2
+-0x1.f4abf4p+1
+-0x1.16004p-1
+-0x1.6d52acp+2
+0x1.6286fp+1
+-0x1.1dbcecp+3
+0x1.435484p+2
+0x1.31163p+3
+-0x1.62042p+1
+-0x1.fd1bf4p+1
+-0x1.0d987ap+3
+0x1.a97p+1
+0x1.ecb8cp+0
+0x1.0a868cp+3
+0x1.0e1fa4p+2
+-0x1.802e64p+1
+-0x1.3280a8p+2
+0x1.31c52cp+3
+-0x1.de6ff8p+1
+-0x1.119fep+0
+-0x1.05be58p+2
+0x1.d7e2a8p+1
+0x1.85b5cp-1
+-0x1.d3673ap+2
+-0x1.1e019ep+2
+-0x1.fc1448p+2
+-0x1.9770cp+2
+0x1.290d3p+1
+0x1.10565p+2
+-0x1.b2c45p+0
+-0x1.bbc7d4p+1
+0x1.30cd18p+3
+0x1.d2ad18p+2
+-0x1.9e7848p+2
+-0x1.d4d5dp+1
+-0x1.1124cp-2
+-0x1.900bp+1
+-0x1.e11dd4p+2
+-0x1.6d152ep+2
+0x1.76d41cp+2
+-0x1.9fbcbp+2
+0x1.c5cc1p+1
+0x1.6c2f04p+2
+-0x1.f68cp+0
+0x1.a71958p+2
+0x1.3844e8p+3
+0x1.338b5p+3
+0x1.fea48p+2
+-0x1.ed2d8p-2
+0x1.5bf70cp+2
+-0x1.1f01ep+0
+-0x1.5a9aecp+1
+0x1.23b08cp+3
+0x1.c2278p-1
+-0x1.940518p+1
+-0x1.36c55p+3
+-0x1.4f5cd8p+1
+0x1.53a71p+2
+-0x1.03b896p+2
+-0x1.4b472ep+2
+0x1.a364b8p+1
+0x1.0ac0a4p+3
+0x1.b68bf8p+1
+0x1.9ff378p+1
+-0x1.d5adccp+1
+0x1.1ed678p+3
+-0x1.db37ep+2
+0x1.9d1ee8p+1
+0x1.2c4038p+2
+0x1.1635bp+3
+0x1.defcp-1
+0x1.9b86dp+1
+-0x1.276d88p+2
+-0x1.10526p+1
+0x1.6f891p+1
+-0x1.c00c2p-1
+-0x1.eb9b2p+2
+-0x1.5387p-2
+0x1.d33e68p+2
+0x1.4ce548p+1
+-0x1.27ca7ep+3
+0x1.417138p+2
+-0x1.8f533cp+2
+-0x1.a18724p+2
+-0x1.af9e9ep+2
+-0x1.d69394p+2
+0x1.1aa9e8p+1
+-0x1.3b8bc6p+2
+-0x1.555e7cp+2
+-0x1.ae24f4p+2
+0x1.bda4p-5
+-0x1.6d6902p+2
+-0x1.178p-3
+0x1.916e3p+2
+-0x1.35be2p-1
+-0x1.eb0498p+2
+-0x1.7aa32ap+2
+0x1.91aaap+2
+0x1.64746p+0
+0x1.0902d8p+1
+-0x1.65e058p+1
+0x1.252798p+3
+-0x1.351c64p+3
+0x1.252568p+3
+0x1.757f5p+2
+0x1.f37c3p+1
+0x1.2febacp+2
+-0x1.e60f8cp+2
+-0x1.06da14p+2
+-0x1.d758dap+2
+-0x1.52e58p-3
+-0x1.29f84p+0
+-0x1.359e4p+1
+0x1.6bf35p+2
+-0x1.9a2f5cp+1
+0x1.936dap-1
+0x1.80043p+1
+0x1.93e5d8p+1
+-0x1.93cba8p+2
+-0x1.f9acp-2
+0x1.7f29cp-2
+0x1.1c8bfcp+3
+0x1.2a93d8p+3
+-0x1.7d425p+0
+0x1.2e7d68p+3
+-0x1.a9fe9cp+2
+0x1.3abeb4p+3
+0x1.3d8eap+3
+0x1.bc643p+2
+0x1.55c3p+0
+-0x1.43ca5p+1
+0x1.343044p+2
+-0x1.b32a4p+2
+0x1.94aap+0
+0x1.c995c8p+2
+0x1.87bdc8p+2
+-0x1.42f51p+2
+0x1.0ca1b4p+3
+-0x1.33a664p+3
+-0x1.c410f8p+1
+0x1.95a6dp+0
+-0x1.00bb34p+3
+-0x1.281ep-4
+0x1.3d59bp+2
+-0x1.aa3fp-1
+0x1.fde138p+2
+-0x1.9961ep-1
+0x1.8cb2ep+0
+0x1.0ccb58p+2
+0x1.faa87p+2
+-0x1.b620acp+2
+0x1.c9b24p+1
+-0x1.2b85a4p+1
+-0x1.14a108p+3
+0x1.282d44p+3
+-0x1.313d7p+1
+0x1.1dadcp-1
+-0x1.223f44p+1
+0x1.262308p+3
+0x1.8b699p+2
+-0x1.05d91p+0
+0x1.22887p+3
+-0x1.a9d59cp+2
+-0x1.03a54p+3
+0x1.29c744p+3
+-0x1.3883fp+0
+0x1.507d2p+1
+0x1.47b748p+1
+-0x1.2bea24p+3
+-0x1.8fde8p-1
+-0x1.8ba632p+2
+-0x1.30fap+0
+-0x1.358f78p+1
+-0x1.aefaep+2
+0x1.3d8dep-1
+0x1.06052cp+2
+0x1.1ebf94p+3
+0x1.669fep+2
+-0x1.daa51p+0
+-0x1.8bedp+0
+0x1.a2c55p+2
+-0x1.b87c0cp+2
+0x1.27fd48p+2
+0x1.32f67cp+3
+0x1.53f2cp+1
+-0x1.990c2p+1
+-0x1.3ae906p+3
+0x1.9ec128p+1
+-0x1.971eap-1
+-0x1.0b6bf6p+2
+-0x1.dcef8cp+2
+-0x1.f33404p+2
+0x1.23da6p+2
+0x1.ac8ea8p+1
+-0x1.0d71b4p+3
+0x1.70d2dp+1
+0x1.0872d4p+3
+-0x1.aa91e2p+2
+-0x1.3f4d3p+0
+-0x1.723594p+1
+0x1.392748p+3
+-0x1.7b3e82p+2
+0x1.bb1558p+2
+-0x1.124544p+1
+0x1.bf8eap+2
+-0x1.d38534p+2
+0x1.323ap+2
+-0x1.040f98p+1
+-0x1.cd7e1p+2
+0x1.f08a6p+2
+-0x1.e6c6b4p+1
+0x1.000aa8p+2
+-0x1.1083dp+0
+0x1.18180cp+3
+-0x1.2cae7cp+3
+-0x1.ccb818p+1
+0x1.5a9a8p+2
+0x1.59c16p+0
+-0x1.61cp-2
+-0x1.8830dp+2
+0x1.c37ec8p+2
+0x1.b75ee8p+2
+0x1.709d3p+1
+0x1.848a6p-1
+-0x1.6cb538p+2
+0x1.12f69p+2
+0x1.fa4f9p+2
+0x1.f3982p+0
+-0x1.e0918p-2
+-0x1.e77beap+2
+0x1.0f3b9p+1
+-0x1.786ad4p+2
+0x1.29346p+3
+-0x1.4b0e9p+1
+-0x1.2a2d74p+3
+-0x1.0e28fep+3
+0x1.b5df8p+2
+0x1.31d814p+3
+-0x1.3cfad8p+2
+-0x1.e205cp+0
+-0x1.7a0684p+2
+0x1.be3b6p+2
+0x1.2d1274p+2
+0x1.16de74p+2
+-0x1.99ee4p+2
+0x1.0b9034p+3
+0x1.27e108p+3
+0x1.3615ep+0
+-0x1.15ad78p+1
+-0x1.7c7fp-2
+-0x1.47b824p+2
+-0x1.144204p+1
+0x1.83082p+2
+-0x1.d26d9p+0
+-0x1.0aa2cp+1
+0x1.2f61e8p+3
+0x1.12ca4p+1
+0x1.38e0dp+0
+0x1.3082p+0
+-0x1.0b23bcp+3
+-0x1.ae7da6p+2
+0x1.2259f8p+3
+-0x1.f942cp+0
+0x1.0e2038p+3
+-0x1.346e94p+2
+0x1.70d4ep+1
+0x1.29b664p+3
+0x1.0bc478p+2
+-0x1.bf95bp+0
+-0x1.3ed4cap+2
diff --git a/benchtests/log2l-inputs b/benchtests/log2l-inputs
new file mode 100644
index 0000000..48ce8e3
--- /dev/null
+++ b/benchtests/log2l-inputs
@@ -0,0 +1,1004 @@
+## args: long double
+## ret: long double
+## includes: math.h
+# Random inputs in [-exp(1),exp(1)]
+0x1.500529da897abp+1l
+0x1.e6b52729fae48p-1l
+0x1.0b01d54464c17p+1l
+-0x1.0fac96ab7114ap+0l
+0x1.2bda70ab74375p+1l
+-0x1.b54ed84c976adp+0l
+-0x1.d2fc114f6341ep-1l
+-0x1.9ef90df4bb054p+0l
+-0x1.0fe4cca59e3fp-2l
+0x1.4e794361d0141p+1l
+-0x1.48587c85bee62p+1l
+-0x1.0b92f2f0b7717p+0l
+0x1.7be80e3460156p+0l
+0x1.4309689be9a4bp+1l
+0x1.4b5492ff716a2p+0l
+0x1.1bcf12941217p-3l
+-0x1.08df7dc996448p+1l
+-0x1.250eeaf9c2b1fp+1l
+0x1.1794ac66704cdp+1l
+-0x1.460bff5e728d8p-1l
+0x1.2a6998ad63b7dp+1l
+-0x1.2bbb829960c7dp+1l
+0x1.82e3556af13cap+0l
+0x1.1604a960941cp-2l
+-0x1.53603d6bb31f8p-2l
+0x1.5bbc11ae7c37ep+0l
+-0x1.933c0f19d1fdp+0l
+0x1.e7bf1bc2d92bep+0l
+0x1.03f04d937cd2bp+1l
+-0x1.7fa1d81be7144p-1l
+0x1.0046ad9bed0e1p+1l
+-0x1.c9eb2026b2063p+0l
+0x1.d69992c2b7324p-1l
+-0x1.fb4962c1924fp+0l
+0x1.4d1c4eb2f95f7p+1l
+-0x1.7a4aa1bbb868p-1l
+0x1.5883cb80d63c8p-2l
+0x1.885ff16334a1ep+0l
+0x1.181f67d2b44p-1l
+0x1.50b9b751736e9p+1l
+-0x1.39da81c5a8fbp-2l
+0x1.cb5b85e5935a2p+0l
+0x1.00b2c89563c8cp+0l
+-0x1.435a7db319fc9p+1l
+0x1.7e0ec32c48762p+0l
+0x1.d550bd125b94ep+0l
+0x1.0c5d0d5bb54d5p+1l
+-0x1.546d7fed7be52p+1l
+-0x1.3d9639a486d5bp+1l
+-0x1.f525ffa8abafp-2l
+-0x1.d7ac3bca337fp+0l
+-0x1.56618c8c47d31p+1l
+-0x1.75f7b57594dap-3l
+0x1.9b4d3bd25623cp-1l
+0x1.3cac55b28aad8p-1l
+-0x1.0fc99384dc0abp+1l
+-0x1.f61935e5c5cc7p+0l
+-0x1.eb5273f79efaep-1l
+0x1.3d1538181e7d1p+1l
+-0x1.e4edf407a133p-1l
+0x1.94d226577fb68p-2l
+0x1.51f467b1d301dp+1l
+0x1.882920e4c9f66p+0l
+0x1.a0e7958ca18dp-2l
+-0x1.d572408305bf8p-1l
+-0x1.c43cbd998771cp+0l
+-0x1.c5f9b6506e7a2p+0l
+0x1.03636903e71ap-4l
+-0x1.a5e1de6fe42p-2l
+-0x1.1cf8e277d51a9p+1l
+-0x1.6255e670ef1cbp+0l
+-0x1.4158a669aabep-4l
+-0x1.911765d5aa3cp-5l
+-0x1.10fb73bbf39edp+0l
+-0x1.54553772ac3fdp+1l
+0x1.df2fcab96644ep+0l
+0x1.89abb8a7d284p-3l
+-0x1.1219e2f46c6b9p+0l
+-0x1.567b7bd4b08ecp+1l
+-0x1.01ee6f54ec228p-1l
+0x1.344cba1775a47p+1l
+0x1.7fb8c65afdc2p-1l
+-0x1.c7394973c9081p+0l
+-0x1.19e59cb48d755p+0l
+0x1.64a25357bf46ap+0l
+-0x1.44604f3a8d42cp-1l
+-0x1.2b77b1ab1bbep-4l
+0x1.0889d1b49e43fp+1l
+-0x1.3b626633fe218p+0l
+0x1.234a3924d2065p+1l
+0x1.caeef3263d7dp-2l
+-0x1.48a21c8aa5149p+1l
+-0x1.5e034010fa97bp+0l
+0x1.31006ffa37009p+1l
+-0x1.351893020ee58p+1l
+0x1.9392dc25703ep-2l
+0x1.43f42c18f5ff3p+1l
+-0x1.87dbc7455f6b7p+0l
+-0x1.791f6a695e0e2p-1l
+0x1.bb335783a7c02p+0l
+0x1.a5720a4b275d4p-1l
+0x1.83dd0c096f67ap+0l
+-0x1.6ec876202dcep+0l
+-0x1.1438d7f41a8ap-4l
+0x1.c6185d6f1705ep+0l
+0x1.753133481597ep+0l
+-0x1.bdc6e0d2dce17p+0l
+-0x1.682b191947c9p-1l
+-0x1.01f233c955d4cp-1l
+-0x1.0ff2ab2ea1038p-2l
+0x1.c5e4107cfb92ap+0l
+0x1.2260e6cefd587p+1l
+-0x1.416b939f3a4d6p+0l
+-0x1.3eb2697c9adecp+1l
+-0x1.0bf902862927p-3l
+-0x1.86539d4aabbe9p+0l
+0x1.3b563072d68f8p+0l
+-0x1.2cc0c0dc16f77p+1l
+0x1.fd31fcf803dcp-1l
+0x1.48189258a052fp+1l
+-0x1.8a88232b2823ap-1l
+0x1.e1e5f9b71237ap+0l
+0x1.73a024893c3fap+0l
+-0x1.6f22f96da86ep-2l
+0x1.3afbcb2e215dfp+1l
+0x1.f7d55dc49c5f4p-1l
+0x1.30767e3a9b48cp-1l
+-0x1.b83fff45a9f8p-3l
+-0x1.559a808d7c553p+1l
+-0x1.2322336696b87p+0l
+-0x1.b24049fd5c4f2p+0l
+0x1.dcfb7b479942p-2l
+-0x1.5b420d5fb3e16p+1l
+0x1.0dcfe3dc609ap-4l
+0x1.10e94fc3076a8p-1l
+-0x1.4703198f7945ap+1l
+-0x1.4df1ebcaf4293p+1l
+-0x1.5b114ab6f1c15p+0l
+-0x1.134541ae2c68p-1l
+-0x1.66a17d5806a9p+0l
+-0x1.1f47ce7720127p+1l
+-0x1.b58b7ffb233a2p+0l
+-0x1.ed425d6aef464p+0l
+0x1.4e7aedaf02814p-1l
+0x1.10afc0039a441p+1l
+0x1.e9721426f8e16p+0l
+-0x1.1f94593947bp-3l
+-0x1.3f59a97fe97cap+1l
+0x1.2cdbb0d9e5d63p+1l
+0x1.df8199a085e26p+0l
+0x1.6eb2d2fc06328p-1l
+0x1.35d92f02ba646p+0l
+0x1.486c5d7b70d2fp+1l
+0x1.bb3dad8c1a3p-2l
+-0x1.0043b12147f8p-1l
+0x1.1374b7c7d3866p+0l
+0x1.f61f6df44bdep-2l
+0x1.b722a2a17952ap+0l
+-0x1.2957eb68148f6p+1l
+0x1.42e67b0756556p+0l
+-0x1.005d5470e2ee9p+0l
+0x1.ae89b29dba2p-3l
+0x1.b8efb511dee2p-2l
+0x1.720943efd35f4p-1l
+0x1.81e7a7b2b1ef6p+0l
+0x1.546cd5f1c22dbp+1l
+0x1.53de98c35f80ep+0l
+-0x1.a7c105655314p-2l
+-0x1.e988e62365788p-1l
+0x1.b07eed49b8078p-1l
+-0x1.3a39ba6c52a54p+0l
+0x1.3722442ac3573p+1l
+-0x1.e8f437ce0874ep-1l
+-0x1.55a0e463a9795p+0l
+-0x1.0c4096a91e0bcp-1l
+0x1.f3ba6cd1c127ap+0l
+-0x1.24910f0655d9cp+1l
+0x1.be32af3e5a152p+0l
+-0x1.ec9a89373437dp+0l
+0x1.ba51c02c4cae6p+0l
+0x1.303052586ebd3p+1l
+-0x1.6858c96e9f06p-2l
+-0x1.3d92ff779165dp+0l
+0x1.7f0c6c1701062p+0l
+-0x1.4a8911ac56164p+1l
+-0x1.fd6cb324f8866p+0l
+0x1.0f341917c9eddp+1l
+-0x1.2dfbdbf47a5a7p+1l
+-0x1.cced13ffc97ep-4l
+0x1.37430bd835a53p+1l
+0x1.2cc78b1495fd2p+0l
+0x1.d44f82d3e369ap+0l
+-0x1.49ce4d0c180e8p-2l
+0x1.d256863c4703cp-1l
+-0x1.d5df801ca72dp-1l
+-0x1.292cb876414e1p+1l
+-0x1.85f321e83a08ap+0l
+0x1.343e8ccc41cbap+0l
+0x1.2d3a564271f4bp+1l
+-0x1.a7ae10dd13922p-1l
+0x1.44a35c2ac73p-4l
+-0x1.14f73c4031748p-2l
+0x1.7b0b106c2f65p-3l
+0x1.54bc5e8981527p+1l
+-0x1.67fc3cfbc6f88p-1l
+-0x1.b25d5ac24e1adp+0l
+0x1.211b2e658481p-2l
+0x1.5272b3a10d987p+1l
+-0x1.f9c3b641659ap-3l
+0x1.5a27a815ec5cap+0l
+-0x1.4e92118ebe748p-1l
+-0x1.0fdd6db571854p+0l
+0x1.2ff2fe2d0fa4bp+1l
+-0x1.6cebb2ea8a7dp-3l
+0x1.059322ba9739p+0l
+0x1.2c671dc283f7p-1l
+0x1.43ba869684acbp+1l
+0x1.10273d980e9dep+0l
+0x1.5e31d058df452p+0l
+0x1.54c0d705b100dp+1l
+0x1.5ed3438749642p+0l
+-0x1.2f43bfc78cffp+1l
+0x1.c56cb88f1f08p-6l
+0x1.871302926ae2p-4l
+0x1.a8adf8ce32f68p-1l
+-0x1.f94329b501ef8p-1l
+-0x1.6b02da409eddcp-1l
+-0x1.4c92949e94d71p+1l
+0x1.58f887287e5e7p+1l
+-0x1.2ad27c8e85947p+0l
+-0x1.1b90f768c817dp+1l
+0x1.486404b49c173p+1l
+-0x1.313b1ec65ed3p-2l
+0x1.e4106d361c158p-1l
+-0x1.3e70672a7c07p-3l
+-0x1.7a28e3bd3c3d6p+0l
+-0x1.da562f1209ep-2l
+0x1.25df501d68278p-2l
+-0x1.06f3d4198f6a7p+1l
+-0x1.47d012e6427c9p+0l
+0x1.09c5a227c75ap+0l
+0x1.0b3447e6e299dp+1l
+-0x1.3cc84d9d61a5bp+1l
+0x1.c12dac4c94e34p-1l
+0x1.38c9ea69d3f9ap+0l
+-0x1.9a4e05a9781p-2l
+-0x1.c069d87e7d5cep-1l
+0x1.20fee49e82079p+1l
+0x1.1387f7b090db7p+1l
+0x1.b4dcf76f0184p-2l
+-0x1.53c1eacecafddp+0l
+0x1.6b0127b729c12p+0l
+-0x1.30b2b0b3c346dp+1l
+0x1.61513edcff9acp-1l
+0x1.fe103764a152ep+0l
+-0x1.51483ff0572d8p-2l
+0x1.af92ed1eb4bdp-2l
+-0x1.fa606ba498dap-4l
+0x1.07d1c161915d4p+0l
+0x1.3f00894a3f99bp+1l
+-0x1.01cee14645d02p+1l
+0x1.04f508cd659bp-2l
+0x1.42f2a2a7ffef7p+1l
+-0x1.89f2c0965691fp+0l
+0x1.0dc82c251d338p+0l
+-0x1.415e7742671a8p-1l
+-0x1.491a5da66ca16p+1l
+0x1.83b818547086p-2l
+0x1.a1ee8c47521f6p+0l
+0x1.e6a953f1e0fp-7l
+-0x1.5eb2b3347c61p-2l
+-0x1.825c20f143a3dp+0l
+0x1.552f94327f27cp-1l
+0x1.1ecd17398820dp+1l
+-0x1.e33da24194d72p+0l
+0x1.2ad719dfa0c0dp+1l
+-0x1.33efdd9d89e9cp-1l
+0x1.20a5b4ec23a5cp-1l
+-0x1.910cc05a8c87ep+0l
+0x1.6ada78553822p-1l
+-0x1.44044788c7c54p+1l
+0x1.afc893025eb42p+0l
+-0x1.dc9e6b6504104p+0l
+0x1.5e35b37b866bap+0l
+-0x1.a737fb8ae762cp-1l
+0x1.759ce17fc3958p-2l
+-0x1.4ef2dee6560b8p-1l
+0x1.2359ab9ee0d87p+1l
+-0x1.a817685f0eac5p+0l
+0x1.4ee3d0c5bc057p+1l
+0x1.2839a79f4bee1p+1l
+-0x1.2075d33217092p+1l
+-0x1.2bede2515d96p+1l
+-0x1.15777003fb4a8p-1l
+0x1.0946416b6eda6p+0l
+-0x1.454877ca2f73dp+1l
+0x1.170bd4a264ca7p+1l
+0x1.253cf4235f7b7p+1l
+-0x1.48b0e92c9036ep+1l
+-0x1.40265191be638p-1l
+0x1.87fa8320882p-3l
+-0x1.4d885ae2f969dp+1l
+-0x1.1e7f4fb2a254fp+1l
+0x1.00f8ca46e0761p+1l
+0x1.1b8e1aca874p-9l
+-0x1.5570975649344p-1l
+-0x1.f3015b79aa708p-1l
+-0x1.e1c80276caddp-3l
+-0x1.377439bf6a42cp+1l
+-0x1.4a1ab83b1c733p+1l
+0x1.bcf9374c027b8p-1l
+-0x1.e033ac41d4cep-1l
+0x1.351778844c76p+0l
+0x1.94d3e4ba2d0f8p-2l
+0x1.ecdab5ac1e8p-10l
+0x1.0b616eb6a0a81p+1l
+0x1.5b99d1633ebe7p+1l
+-0x1.78d562782529fp+0l
+-0x1.ef21c847ae25p+0l
+0x1.3724bc3e8d1acp-1l
+-0x1.48550f5fa238ap+0l
+0x1.43a2fa478488fp+1l
+-0x1.2292b7ce59c21p+1l
+0x1.cebf1e62bf0cap+0l
+0x1.c8df239643e42p+0l
+0x1.518f0282db592p+0l
+0x1.0b5a1d8f801f4p-1l
+-0x1.1812b0e7e21fcp-1l
+0x1.1de0afaa31173p+1l
+-0x1.290a6d97cf45p-1l
+0x1.ef45b5669ae3p-3l
+-0x1.9d3c4b94f1e2dp+0l
+-0x1.3bd1aac8a37ffp+0l
+0x1.23d3ea8e0a5bfp+1l
+-0x1.0567142c41d1p-2l
+0x1.25560479a9fc7p+1l
+-0x1.0e8c9d78e77e1p+1l
+0x1.2ff758dc2c4bap+0l
+-0x1.16ae0e5c450d8p+1l
+0x1.6b72a1f8ae468p-1l
+-0x1.daf809877981p-2l
+0x1.59f567dd781cdp+1l
+0x1.5a430cb69279ep+0l
+0x1.b1f96f841fc6p-1l
+-0x1.d39ad26c0efe2p+0l
+-0x1.9af6590201a4p-4l
+-0x1.4246889861b29p+1l
+0x1.3e6d79eca12fdp+1l
+-0x1.18bec164f029p+1l
+-0x1.eecfbc0b447bp+0l
+-0x1.c0ae6a16e775ep+0l
+0x1.1957ab78108eep+0l
+-0x1.244c27bad5823p+1l
+0x1.cac2718b783bp-1l
+-0x1.986ce013d1e78p-1l
+0x1.d79e58b6e5884p-1l
+0x1.e6a36fa8ec7p-1l
+-0x1.fbfe0ba8fd35ep+0l
+-0x1.d549476bfd15p-1l
+-0x1.131b1d0fb5f7p-1l
+-0x1.b94ed76ddcddcp+0l
+0x1.c9bdc79094a02p+0l
+0x1.f52bc4aaff00ep+0l
+-0x1.1c59b98116285p+1l
+0x1.d925d548a8acap+0l
+0x1.0699f3e588dep-4l
+0x1.5842ae8c75d4ep+0l
+0x1.5aa7e6b480006p+0l
+0x1.18b76974101f1p+1l
+-0x1.9ac1a50c2dba8p-2l
+-0x1.0b6b13f72967cp+1l
+-0x1.3afc90b6c32dfp+1l
+0x1.4cd0606e0ed96p+0l
+0x1.07535283edc08p-1l
+0x1.01f1fb3cdffe9p+1l
+-0x1.efee39f19c48p-6l
+-0x1.a07739a471504p-1l
+-0x1.493b5f64e4a91p+1l
+0x1.5a1603f746b3cp-1l
+0x1.1a33b36fbc7e5p+1l
+0x1.7245d2c5730f6p+0l
+0x1.ebc78b1ca8732p+0l
+0x1.2f8e29bfd5a2p-2l
+0x1.486c87218af91p+1l
+-0x1.d5c6fc98b6ca2p+0l
+-0x1.d0866b647d5p+0l
+-0x1.59b6d4b32bf28p-1l
+0x1.d3801889d8fb6p+0l
+-0x1.e96d82a50b9fp+0l
+0x1.f95f8f842faf2p+0l
+-0x1.85e36e2adef72p-1l
+-0x1.01a142c6c798p-5l
+0x1.87a36923c13acp-1l
+0x1.b20fcf9af20b2p+0l
+0x1.6dea46cdbd98ep+0l
+0x1.a3de436b06ab6p+0l
+-0x1.03c8cabbcb684p+1l
+0x1.283af538745abp+1l
+0x1.62e13ed1d7ddep+0l
+0x1.0a812a1087269p+1l
+-0x1.e6f3b0cf7faccp-1l
+0x1.9b174c7d620e8p-1l
+-0x1.01699bfd7d0aap+1l
+-0x1.0f98fb02ecfbdp+1l
+0x1.22ac3bf83e7a1p+1l
+-0x1.23f07c2022733p+1l
+0x1.1ced725e6444p-2l
+-0x1.dee7aa9758e04p+0l
+-0x1.41a2f418df6ddp+1l
+-0x1.3c78774987df4p-1l
+-0x1.14c12241f4263p+1l
+-0x1.428c8d0628d84p+0l
+-0x1.5127ece4d0a28p+1l
+-0x1.01725427caa5fp+0l
+-0x1.562a98c38c2bep+0l
+-0x1.29f1277bc007ap+0l
+-0x1.5b6b5fc49581bp+1l
+0x1.2030378d0380fp+1l
+-0x1.db7b20b808018p-1l
+0x1.d61ca155053dep+0l
+0x1.3574a0c93eabep+0l
+0x1.82528c22ad868p-2l
+0x1.22d52a43781bp-1l
+-0x1.8f533672b1a9p+0l
+-0x1.d0e64db48d986p+0l
+-0x1.2f435a2f0c5bcp-1l
+0x1.20f2a5e524bf6p+0l
+-0x1.a7e6d200ee6d3p+0l
+-0x1.6a9cb8e3ea61cp+0l
+-0x1.b27a329733e36p-1l
+0x1.6cf7119a961d2p+0l
+-0x1.bdc4894f593cp-3l
+0x1.4891114276b51p+1l
+0x1.62cb3ef4a7bd8p-1l
+0x1.bb13077ca5584p-1l
+0x1.d92a13c77e98p-3l
+0x1.66f5b5704a15p-3l
+0x1.35da4a20c8f62p+0l
+0x1.87f177e1aacbap+0l
+0x1.f3e78a689acb6p+0l
+0x1.7f38e37846dbep+0l
+0x1.37ab65c3f0aafp+1l
+-0x1.570bf188a850cp-1l
+-0x1.263708edc72c8p-1l
+0x1.2c5756f166321p+1l
+-0x1.e0699eaf50458p-2l
+-0x1.6bba3b9ea5865p+0l
+0x1.2f77523815638p-1l
+0x1.d83bfd42ca198p-1l
+0x1.da502179a6548p-2l
+-0x1.83ad904496b8p-4l
+0x1.4087569a74539p+1l
+-0x1.ec3264392fc62p-1l
+-0x1.462d17444369bp+0l
+-0x1.ff1639156574cp+0l
+0x1.9616907bec27ap+0l
+0x1.1d2963e83f84p-1l
+-0x1.ded0a0754810fp+0l
+-0x1.9c85851e4e28p-6l
+0x1.edd9bd4548bep-4l
+0x1.f5b799e6c26e4p-1l
+0x1.bb28401c0e55p-2l
+0x1.3bd1474a9f65dp+1l
+0x1.218bca52cc28p-5l
+-0x1.3e2faf0c1e8cbp+0l
+0x1.f6617f6235ep-2l
+-0x1.38e643e3c3a57p+1l
+0x1.2542acf31135bp+1l
+-0x1.8d3ea5a6c70d3p+0l
+0x1.7b080310c0e9ep+0l
+-0x1.f35f1980a38eap+0l
+0x1.10c689a1af7a8p+0l
+-0x1.20b831aa4bb1ep+1l
+-0x1.90c2423ae653dp+0l
+0x1.4708a0c993f8ap+0l
+-0x1.fa0498edb198p-3l
+-0x1.75ee87187746ep-1l
+0x1.87182901e6d42p+0l
+-0x1.b969f5898bbbp-3l
+0x1.196a3ce8c7e25p+1l
+-0x1.4f8f5c8d48d78p-1l
+0x1.3d7f0f41cde7ep+0l
+-0x1.933bd8bba3ef2p+0l
+-0x1.f67816e4b301p-3l
+-0x1.aa92b4cb46ee2p-1l
+-0x1.684ead13b255p-1l
+0x1.871ff329050fp-3l
+0x1.e1c48531796fap+0l
+0x1.ff86fb87c256p-2l
+-0x1.1d99db40cc876p+1l
+-0x1.57029a6675bep-3l
+0x1.4e3c31c18d837p+1l
+0x1.44b0893492affp+1l
+-0x1.1b9ea821426ffp+1l
+-0x1.0e37a7e72d7cap+1l
+-0x1.282efd74248ep-1l
+-0x1.4935d3f77cb5p-3l
+0x1.956639546cf68p-1l
+0x1.9bd34a596b4cp-2l
+-0x1.c8b962c965642p+0l
+0x1.9558e24bc3f3ap+0l
+0x1.613938a7478e6p+0l
+0x1.2f9826c92eccfp+1l
+-0x1.52d78d7b870d9p+1l
+0x1.16c2802fea25p-2l
+-0x1.6cd39d8407442p+0l
+-0x1.2cf3149469476p+1l
+0x1.06f7a6d441b75p+1l
+0x1.cc1f572ef06a8p-2l
+0x1.3aa08b0610461p+1l
+0x1.2540915b3c89fp+1l
+-0x1.5ecca1dfa4b41p+0l
+0x1.31da813b320efp+1l
+0x1.4a3fbc16f1f4dp+1l
+0x1.ed5188e628788p-1l
+0x1.1ba27ded8d8bp-2l
+-0x1.ea451c0716e9cp+0l
+-0x1.727a6a86812c2p+0l
+-0x1.5aeb77bd311f8p-2l
+-0x1.514cedf0c27ap-1l
+-0x1.38a691d8b02eep+1l
+0x1.a1080d2372f28p-2l
+0x1.059a992dc829bp+1l
+0x1.3d0cf49990f5p-3l
+-0x1.06af88e720676p+1l
+-0x1.fc2b405d138e6p-1l
+0x1.4c65f8764d1fp-1l
+-0x1.747482bb4cdf2p-1l
+-0x1.c0208d9afdb2dp+0l
+0x1.a99730dff1cd6p+0l
+0x1.4a3fb3adeddfdp+1l
+-0x1.2ddcf02ced81p-1l
+0x1.82e1d9aa26a9ep+0l
+-0x1.1103cbd115215p+1l
+-0x1.f8d4b40ec968cp-1l
+-0x1.282954556a597p+0l
+0x1.167d2911894c4p+0l
+-0x1.d451a2465021p-2l
+-0x1.13251bd5e4ef3p+0l
+-0x1.646c831106c44p+0l
+0x1.18e05e7ca086p-1l
+0x1.2805868feb9f3p+1l
+-0x1.74a81c121246p-4l
+0x1.ca48d79d1fffap+0l
+-0x1.8c8042105d4cap-1l
+-0x1.10c25754d71a7p+0l
+-0x1.e1e2c0c3d420cp-1l
+-0x1.37e7bf335088p-6l
+0x1.e49b88e61c9ep-4l
+0x1.50525c8401faap+0l
+-0x1.808c937ce411p-2l
+0x1.2eb87be4025cep+0l
+0x1.07e873fb14p-2l
+-0x1.3957eedbaf8b8p+0l
+-0x1.05f3295aa0945p+0l
+0x1.66a8e5c24252p-4l
+-0x1.be0786b5362bcp-1l
+-0x1.86ada5031cb8p-3l
+0x1.a8ab63232453ap+0l
+-0x1.4539b7894d2cp-2l
+-0x1.0bf9180426aa2p+0l
+0x1.0904f52579b38p-1l
+-0x1.586c517ea2e5p-1l
+-0x1.c50eb80da5e0ep+0l
+-0x1.3d0c4b76afcccp+1l
+-0x1.2e9052957ee25p+0l
+-0x1.69ff9c9aea3fp+0l
+-0x1.c012f37ecb256p+0l
+-0x1.cd2ba39562068p+0l
+0x1.3115d4117efcfp+1l
+0x1.486bb6173b263p+1l
+-0x1.2115d71cea9ep+1l
+-0x1.081c93badff2ep+1l
+0x1.d0584b3cc1cap-2l
+-0x1.3a014264ac712p+1l
+-0x1.94bac00df1e1p-3l
+-0x1.99d5ba209a8b8p-1l
+0x1.01fc0d0423c0bp+1l
+-0x1.c6bec408ff0f8p+0l
+-0x1.28812ace8cfabp+1l
+0x1.3e945e46ac9b3p+1l
+0x1.63285671655bep+0l
+-0x1.6e831cd1fcd8p-4l
+0x1.a1328a3248a6ep+0l
+-0x1.3fc2478fc5fp+1l
+-0x1.421112d7ccc55p+0l
+-0x1.ceba5bc652a5p-1l
+0x1.d212340344bep-1l
+0x1.39b2290808c82p+0l
+0x1.815da0c543276p+0l
+-0x1.1e19c3d86ba7ep+1l
+0x1.d968abcea1f3p-1l
+-0x1.8415e0e78e758p-2l
+0x1.1ee3815b2bf79p+1l
+0x1.1e1efb3ac4e28p-1l
+-0x1.3bc438c75304dp+1l
+0x1.a758aeb673cfp-1l
+0x1.2b2e54a7e77dcp-1l
+-0x1.da4323414132cp+0l
+0x1.a34ca70f3c6a6p+0l
+-0x1.2d7b930a5f32p-4l
+0x1.c6cbae4cfe156p+0l
+-0x1.06876b2fe1db9p+0l
+-0x1.f1d20cf20b89p+0l
+0x1.68928fc9f5e4ep+0l
+-0x1.1755b5422b9fap+1l
+-0x1.b7fddeca251p-2l
+-0x1.84d9b54a1e95cp-1l
+0x1.d71f5414adaa2p+0l
+0x1.70f9340e0bda6p+0l
+-0x1.df52b2720e9d6p+0l
+-0x1.8ddd8fb3ef948p-2l
+0x1.512af39cbce23p+1l
+0x1.115a7de06c4e7p+1l
+0x1.80415b29bc3ep-4l
+-0x1.b1f86b728ce79p+0l
+0x1.4bd04337bdddep+0l
+0x1.b9a194676c364p-1l
+0x1.24a6ce45f360dp+1l
+-0x1.632c1da7e59ecp-1l
+-0x1.d915e57524b7p-2l
+0x1.468350f33f568p-1l
+-0x1.5bab5488010a7p+0l
+-0x1.d79c385e29d18p+0l
+0x1.e14e6329a36e2p+0l
+0x1.1577e38214f63p+1l
+0x1.215f3a3a589p-7l
+0x1.cc1813375701ap+0l
+-0x1.2092aac1f27ep-1l
+0x1.5ae20a0130cf3p+1l
+-0x1.5806e89c0221p+0l
+-0x1.d0f68562978b1p+0l
+0x1.ecca46114a2b8p-1l
+0x1.4c9f8890f78e5p+1l
+-0x1.499066710a1d3p+1l
+0x1.ded1495cd34p-3l
+-0x1.0e6c49fabca85p+1l
+0x1.2ba66baca8024p-1l
+-0x1.3ccc77bebc263p+1l
+0x1.141677913528bp+1l
+-0x1.1c98074edb178p+1l
+0x1.d3ab9b6c87cfp-1l
+-0x1.0455efddcecddp+1l
+-0x1.fa4509ec4dc6ep+0l
+-0x1.48b08392fe7cfp+1l
+-0x1.b71dc915a29f8p+0l
+-0x1.7c70502a5f5e5p+0l
+0x1.42490216aa4d7p+1l
+0x1.40e8355fca11cp+0l
+-0x1.ecca88054e94p-5l
+0x1.517b94f5b014p-3l
+0x1.25d8c1f8b92f5p+1l
+0x1.0cfa7f1fb067dp+1l
+-0x1.16b7dc8e6ab1fp+1l
+0x1.42fbb3ed208c5p+1l
+-0x1.51a965c60f1f5p+1l
+0x1.2df575383d082p+0l
+-0x1.6657c50c09128p-1l
+-0x1.294c65b5ec5e3p+0l
+-0x1.139420c73f96p-4l
+0x1.fc1f4a70ae2dp-1l
+-0x1.fcc277d4d26dp-3l
+-0x1.4da7dda04d047p+1l
+0x1.00c3c84a6dc77p+1l
+-0x1.1fac2fc3029ep-1l
+-0x1.52dd946119b0ap+1l
+-0x1.1afb938a3d54fp+0l
+0x1.dcd639b2c7e42p+0l
+-0x1.1cac2828794adp+1l
+0x1.8cabc4df01e46p+0l
+-0x1.38c934ae3fadcp+1l
+0x1.4b77f57e61448p-1l
+0x1.768589560462ap+0l
+0x1.e658e6158a19p-2l
+0x1.aff0d3ddfc34p-5l
+0x1.576765116db0dp+1l
+-0x1.2f52859b74c8cp-1l
+-0x1.e6e345ec1b55ap+0l
+0x1.84c48052c19bep+0l
+-0x1.5b2f3a7659535p+1l
+0x1.10b1ae61faba4p-1l
+-0x1.6fd9346d869abp+0l
+0x1.3183b600e4e2ep+0l
+-0x1.e18a61a5ea4dp-2l
+-0x1.4e94cbf830ep-3l
+0x1.951f4f02029bp-1l
+0x1.a1a183be7e6b8p-1l
+-0x1.41c599e6b0f33p+0l
+0x1.bdbf1fc6d56eap+0l
+-0x1.0b971e5f2c881p+0l
+0x1.1cde12f71e402p+0l
+-0x1.52f5564cae63cp+0l
+-0x1.a99e99de49dfcp+0l
+-0x1.7079dcb6bcf9p+0l
+0x1.1e0e33a1c0f39p+1l
+0x1.740b2f9c55898p-2l
+0x1.24cef58faa88p+0l
+-0x1.17c9c92ec7724p+1l
+0x1.2dac8288efc81p+1l
+-0x1.5849b513dd4a7p+0l
+-0x1.4604e4bd0786bp+1l
+0x1.c38978cdc434p-5l
+-0x1.3dc6c0d57daf8p-2l
+0x1.b8fd6580c3002p+0l
+0x1.cf1e4eb1c707ep+0l
+0x1.f4196fb3e9d12p+0l
+0x1.56644b68fddefp+1l
+-0x1.90a90f64f532ep+0l
+-0x1.45e7e611664a8p-2l
+0x1.6dbcf8f29419cp-1l
+-0x1.b1b619d7e112p-3l
+-0x1.2a4a7426c89bp-3l
+0x1.fb215284cd166p+0l
+-0x1.c35cb3d1f19p-7l
+-0x1.53ac2fb6e262p-2l
+0x1.3955d9cc4b4a8p+0l
+-0x1.42bc42d7009fap+1l
+-0x1.037b389b9207bp+1l
+0x1.46d154146aa3ep+0l
+0x1.225092f427cdcp-1l
+-0x1.37d07b4e0a262p+1l
+-0x1.ed4948348e1ap+0l
+-0x1.c56d8221c82b2p+0l
+-0x1.5202e5b5fbe1ep+1l
+0x1.fe099c5ed8386p+0l
+0x1.7f8345ac7fa1p-3l
+0x1.405d7c5b77c9p-3l
+0x1.320fcf529e13p-1l
+0x1.dda1fede42f8ep+0l
+0x1.fcbd802f39278p-2l
+0x1.adccfaaa3561ap+0l
+-0x1.a6bc24a2f8463p+0l
+-0x1.31dd375899a1p-3l
+-0x1.750eb0231b7cp-1l
+-0x1.ef92f06398d8p-6l
+0x1.e5136bad8a1eap+0l
+-0x1.cff68073f7aep-3l
+-0x1.7f592ac8e9bbfp+0l
+-0x1.e717a9a64e4b6p-1l
+0x1.ad1e0cb7fa6bap+0l
+-0x1.b17c82fd78cdfp+0l
+0x1.5404568d54338p-1l
+0x1.b1b060cd41a6p-1l
+0x1.10deb6bf5627p+0l
+0x1.45b66ea96afa8p-1l
+-0x1.d7b233f3b8ccp+0l
+-0x1.317a2eb38c111p+0l
+-0x1.541369f96aa34p-1l
+-0x1.e39499ed0acp-2l
+-0x1.c2526fdbb92fap+0l
+-0x1.6c043e4ebf129p+0l
+0x1.f2a694662e904p-1l
+0x1.c643422aa7b26p+0l
+0x1.4d7efcfaa8f9cp-1l
+0x1.e47a6ac1b5e12p+0l
+0x1.4175feaf718fp-3l
+0x1.026bada891cd8p+0l
+0x1.06c9a44a6aa75p+1l
+-0x1.0db6a1698853ap+1l
+-0x1.5bde1f3bd8c3p-2l
+-0x1.d674be4fccaa8p-2l
+-0x1.bd83da521950cp-1l
+-0x1.492dd9a70b91ep+1l
+-0x1.3668302ec526p-1l
+-0x1.405d34ea23c93p+1l
+0x1.06572e09b7f46p+0l
+-0x1.af3e7cf145052p+0l
+-0x1.33d8441fdc412p+1l
+-0x1.0c41ef2a5cffp-1l
+-0x1.f9b04e3de435cp+0l
+0x1.b421794694acp-4l
+0x1.07ae4e6fc22ebp+1l
+0x1.d8712468c1afap+0l
+0x1.40ef26fba1494p+0l
+-0x1.9e4de9d9b0f22p-1l
+0x1.56aea8eb764a5p+1l
+-0x1.2d0d25aaab94p-1l
+0x1.e83100585d552p+0l
+0x1.4f54d548923eap+0l
+0x1.2002da370d06ap+0l
+-0x1.7428639d5854ap-1l
+-0x1.2ea20d8753733p+0l
+-0x1.52b98983bccb8p+1l
+0x1.b6c611d946652p+0l
+0x1.a82693bcfc72p-1l
+0x1.4e327f8ca9747p+1l
+-0x1.e29a0764cac36p+0l
+-0x1.308bed76d0e8ap+1l
+-0x1.17b725f5d4481p+0l
+-0x1.1d629c46b2f7dp+1l
+0x1.e27d597cb3b56p+0l
+-0x1.3df682d7982fp-1l
+-0x1.38d2f9a5883f5p+1l
+-0x1.0efb3713e406p-3l
+0x1.6967c5a1f713ap+0l
+0x1.9a83405ab758p-4l
+-0x1.5cb59bdc46d6cp-1l
+0x1.30904227877dap+0l
+-0x1.58257c9457be1p+1l
+0x1.5db387b47d6d4p-1l
+-0x1.24af5f88054f1p+1l
+-0x1.cb20e7cbd015bp+0l
+0x1.448c43f927a7p-3l
+-0x1.5ff72304a0648p-2l
+0x1.42ab831f085p+0l
+-0x1.7b529c921bc22p-1l
+0x1.492a8e223561bp+1l
+-0x1.3a237fa403e01p+1l
+-0x1.086e8141f6b92p+0l
+0x1.373d1eb2a136p-1l
+0x1.735c85f00cb26p+0l
+0x1.2341c54045a11p+1l
+0x1.1ef09fdefc13p-1l
+-0x1.85f4047993e78p-2l
+-0x1.9e0d44af645fp-2l
+0x1.05ec87f200e0dp+1l
+-0x1.f599eaaeb9cc8p-2l
+-0x1.4a875cc613cc7p+0l
+-0x1.81ccd3086cd8ep-1l
+0x1.d5b15f1ddab9ep+0l
+-0x1.36fd037c2b4c4p+1l
+-0x1.aff397b51adcap-1l
+-0x1.e3d0552988b34p-1l
+0x1.ec6ef343bbfbep+0l
+0x1.bbaf20d14a78p-5l
+0x1.dc1974f948fdap+0l
+0x1.7b7adbefab864p-1l
+-0x1.4cfe2b792628bp+1l
+-0x1.12cafa727ea8ap+1l
+-0x1.5b3a25f4ea308p-2l
+-0x1.4aa910adfe77p+1l
+0x1.f7b14ef59b1dp-2l
+0x1.35c3e82b4255fp+1l
+0x1.15021a1cc0993p+1l
+-0x1.92049fd0d88afp+0l
+0x1.05459692b8d5p-1l
+0x1.6c82e30187cfp-1l
+-0x1.4292873d24e9dp+1l
+0x1.4b2c332546388p-2l
+0x1.d7db702906632p+0l
+-0x1.1c333d51d4fa2p+1l
+0x1.959cff5649f7p-2l
+-0x1.b93c45cc5eaap-4l
+0x1.0af5ac2e1ee2ap+0l
+0x1.e369488d3c94p-3l
+-0x1.032ad01ed299p-1l
+0x1.0465a3014511p-2l
+0x1.7acf550e8d91cp-1l
+-0x1.299bf8898ac02p+0l
+-0x1.010e09faa3aecp+1l
+-0x1.42f85dac104c9p+1l
+-0x1.1fa51b61a83a6p+1l
+0x1.3134efd37fa82p+0l
+0x1.47cefd5289e65p+1l
+0x1.021ca5ddacaccp-1l
+0x1.47504f141f11p-3l
+-0x1.464c4c85b76e2p+1l
+0x1.936400f1f64e6p+0l
+0x1.30c5a8cf423a1p+1l
+-0x1.007cd4b835f29p+0l
+0x1.2c97379231001p+1l
+0x1.4aecef72b2173p+1l
+-0x1.c312ab91c7984p+0l
+0x1.92f5d87cb07e6p+0l
+-0x1.857ff15d364f1p+0l
+0x1.3e82ca691b06dp+1l
+0x1.223c835d5211cp+0l
+0x1.198f1e77f8c68p-1l
+-0x1.553bd9b563p-11l
+-0x1.8f964cfe518bp-1l
+-0x1.89c37df3f033ep-1l
+0x1.50e610d3c8117p+1l
+0x1.5eb8433dd1e92p+0l
+-0x1.02a57d0d94d6ep+1l
+-0x1.2bc842a1248e8p-1l
+-0x1.06f92093540cp+1l
+-0x1.33a63c7f6addep+0l
+0x1.bc4de223f7e6p-3l
+0x1.fb77bb59e2c8p-3l
+-0x1.a00c04696bcd5p+0l
+0x1.3da779fc82c2bp+1l
+-0x1.3d3bd0f1e64c3p+0l
+0x1.0289f77ef6476p+0l
+-0x1.10b7e841dff18p+1l
+-0x1.28ccb014e4f57p+1l
+-0x1.988d214d014a5p+0l
+-0x1.274f7974d787fp+1l
+0x1.2142c9a548a66p+0l
+0x1.062ee62c918b8p-2l
+0x1.12085ff077eb4p-1l
+0x1.911f85ee69d7p-3l
+0x1.068d93d1f0e18p+0l
+-0x1.c270ddd8c19f8p-2l
+0x1.81f629f3524f6p+0l
+0x1.e5ec6533a8a78p-1l
+-0x1.d0673fe1d2384p+0l
+0x1.48923d78ec0eap+0l
+0x1.fefcc5dbc36p-3l
+-0x1.2c09aa40f0cd8p-2l
+-0x1.3c89a6c5ee0dep+1l
+-0x1.4a80ccd7988ap+0l
+-0x1.02dd0c289e04ap+1l
+0x1.bb9fe51cc5ep-4l
+0x1.b4d37b7ccc31p-1l
+0x1.cc6a6a0364a46p+0l
+-0x1.a8e21757b751ap+0l
+0x1.25e6c1ca4f72ap+0l
+0x1.196d8dc61d4edp+1l
+0x1.1818e591f5916p+0l
+-0x1.484842ba73681p+0l
+-0x1.e6c5aaacc6b16p+0l
+0x1.82d03ddfb0738p-2l
+-0x1.368ed439f232p+1l
+-0x1.4dd267bd91ccp-4l
+0x1.00e30e783c51fp+1l
+0x1.279785827b206p+0l
+-0x1.3327b95371504p-1l
+0x1.9cbcd8c60081p-2l
+0x1.90b0def609a78p-2l
+0x1.24e4d650d6341p+1l
+0x1.849ae0e02e6a2p+0l
+0x1.b93bf61476088p-1l
+-0x1.2d48a5abca121p+1l
+-0x1.5a97ef3c35687p+1l
+0x1.122e529d6e47p+0l
+0x1.4728e7ac5c14bp+1l
+-0x1.ff7119b64ce6p-4l
+-0x1.fefee3e6b45c8p-1l
+-0x1.3c7ec02136c98p-1l
+-0x1.16c381a4706ecp+1l
+0x1.fbd00480e839p-1l
+-0x1.09678d60d1935p+1l
+0x1.c08f217acd346p+0l
+-0x1.cb19201d35b66p+0l
+0x1.466e887d53637p+1l
+0x1.03bbdce969225p+1l
+-0x1.d04fbb6f9cd2ep-1l
+0x1.3b8cc6d33824p-4l
+0x1.2fcce79a670ccp-1l
+-0x1.87a8dd6eee3b6p-1l
+-0x1.13eb74d7008p-8l
+0x1.328205f24c158p+0l
+0x1.46cc8a1a28f84p-1l
+-0x1.8a24a7cfc8454p-1l
+-0x1.81d893d168abdp+0l
+-0x1.fc382cad04115p+0l
+0x1.09cc8b70ae254p+0l
+0x1.de42a45ddd882p+0l
+-0x1.100d16b9377f8p+1l
+-0x1.ff5c70983b04p-4l
+-0x1.0aa7eae611f3p-2l
+0x1.3e13f67ab1878p-1l
+0x1.6d2e6dd3b223p-1l
+0x1.3f2efa438c878p-2l
+0x1.d363c0f6b2c0cp-1l
+-0x1.26a2902848776p+1l
+0x1.7fb30a081f4cp-5l
+0x1.7b4163838f572p+0l
+0x1.4303c872923a8p-2l
+-0x1.175d82908a356p+1l
+-0x1.6ee810c63c61cp-1l
+0x1.1c6170e4709d5p+1l
+0x1.18f699b66dfdbp+1l
+-0x1.52bd8456ad665p+1l
+-0x1.18d626a36b368p-2l
+-0x1.3f3e94bb030ap-4l
+-0x1.74ccaa748dcfp-2l
+-0x1.3420a906be098p+1l
+0x1.8f4242eb5443ep+0l
+-0x1.42244e2f0f07dp+1l
+-0x1.354ec09d5b09cp-1l
+0x1.1e572614c5151p+1l
+-0x1.9a670dfebbd6ep-1l
+-0x1.e8a2be34d57p+0l
+-0x1.2ad78eb5b4c08p-1l
+0x1.00a02d479c86fp+1l
+0x1.ea1f8f3a93c7p-1l
+0x1.6597b6e7faa68p-2l
+0x1.c477616eca132p+0l
+-0x1.5481d04a7500ep+1l
+-0x1.c55b44e439636p-1l
+-0x1.b1891361d4c0ep+0l
+0x1.fcacc05e93b4p-4l
+-0x1.46ded79c8b682p+1l
+-0x1.161747e5e83cp+1l
+-0x1.7a3830372a017p+0l
+-0x1.4c5030c36ea98p-1l
+-0x1.0fec59836b1bcp+0l
+0x1.d11838ddb9ff8p-2l
+0x1.2836eda8d39c4p+0l
+-0x1.91258bbddd52p-3l
+-0x1.6f13df3b1df65p+0l
+0x1.bdd776de3aa4cp-1l
+0x1.57f232aaf1cc8p-2l
+0x1.cd2a9d2e77632p+0l
+0x1.c36e7274e145ap+0l
+0x1.7aac3b337294cp-1l
+0x1.11a07b0ef0af8p-2l
+0x1.439b7e56bf83ep+0l
+0x1.b6d82107ddf8p-2l
diff --git a/benchtests/modf-inputs b/benchtests/modf-inputs
index 4fcc99b..15cf352 100644
--- a/benchtests/modf-inputs
+++ b/benchtests/modf-inputs
@@ -1,4 +1,4011 @@
-## includes: math.h
## args: double:<double *>
-42.0
--42.0
+## ret: double
+## includes: math.h
+# Random inputs in the range [0.00e+00,1.00e+00]
+## name: workload-0_1
+-0x1.6e630a17ca32fp-1
+-0x1.ce6d439263cbep-3
+0x1.7a51a97c7ab91p-4
+-0x1.950321ffedc6dp-1
+0x1.ea1a012e7eef9p-1
+-0x1.f6d6dcd2e6a53p-1
+0x1.c6f883919e709p-2
+-0x1.43ca2b1c0af4fp-1
+-0x1.cca37bb5e06fbp-3
+-0x1.2adcb44aaecc8p-1
+0x1.15c1ce852da07p-2
+-0x1.a953701ac081cp-1
+-0x1.0eb8b1953e5d3p-2
+-0x1.ac54d0eb8786cp-1
+0x1.a0c61394d20d9p-1
+0x1.19ebd011beb3ap-1
+0x1.e0ca7b94029dep-1
+0x1.a7d34362b594fp-1
+0x1.1529f99e9bcefp-2
+0x1.f48cefde20e9ap-3
+-0x1.a65aa2ecb9f98p-1
+0x1.bace0da387b5dp-2
+0x1.7425bb4ecf39ep-1
+0x1.b16d2ac67cbaap-1
+0x1.386939056a404p-2
+0x1.a14ba9b35e386p-2
+0x1.b68ee6ece64fap-1
+0x1.4a2713e4fd051p-1
+0x1.da4d8e24e0f92p-2
+-0x1.7c0beeb8fa512p-1
+-0x1.1012e895971b8p-5
+0x1.1726ebec2f5b9p-7
+0x1.bccdfc659161cp-4
+-0x1.5026bff36000dp-1
+-0x1.30d3cb4c97af5p-1
+-0x1.533c09356b322p-1
+-0x1.df22e770357c3p-2
+-0x1.e1f1a5a20314dp-3
+-0x1.9a66ba26c2fbdp-1
+-0x1.cf0a17b009c07p-2
+0x1.650c209b63deap-1
+0x1.b154c73f9ceedp-1
+0x1.a92bb81b0143ap-1
+0x1.1d6201469bcf9p-3
+0x1.c4a535f5cb88ap-2
+0x1.28ba7702c834p-1
+0x1.f489ff0d3ddf7p-1
+0x1.453a71172704cp-2
+-0x1.666264f50fc66p-7
+0x1.05df83f9c0b7bp-2
+-0x1.750ba50f1d5fbp-1
+-0x1.23cf1b45fc788p-2
+0x1.d2479e7739ec6p-1
+-0x1.a840f91324ec2p-2
+-0x1.d4583b6754c31p-1
+-0x1.6f99a43213c5dp-1
+0x1.0494b636a8a06p-2
+-0x1.8af31fc189d4fp-3
+0x1.8e63c794bc25ep-2
+0x1.aec3fd01a22eep-6
+0x1.5013b70b24b01p-2
+0x1.cc54ea43a7b44p-1
+0x1.a1f654be01ad9p-1
+0x1.7b5336c848fe5p-1
+0x1.2df27bd1931eap-3
+-0x1.46fb2e45e66fap-1
+-0x1.d13c42f46b7dbp-1
+0x1.17eb272da8b57p-2
+0x1.a175d680bc219p-1
+0x1.a1d4ebb877c26p-4
+-0x1.1d3ff44ede10ep-3
+0x1.ab95dc7d48478p-2
+-0x1.50401efa8d3e9p-1
+-0x1.df250294c719p-2
+-0x1.2a406850a3ba7p-3
+-0x1.ccfa07f928dadp-4
+-0x1.1c5499aa98f46p-2
+-0x1.ea7d1d4e5b9fbp-2
+0x1.e4917bedc1964p-1
+-0x1.c1f4567d3afcdp-2
+0x1.d0aec0d70db5p-3
+0x1.7eb29c743a71ap-5
+-0x1.55a4451c1e504p-1
+-0x1.adc8e2cb9c6e7p-3
+-0x1.52981b6ffdd4dp-1
+-0x1.bf61015ae4092p-1
+-0x1.bf0410a49bc4fp-3
+0x1.682128a5314c9p-1
+0x1.5a2b74f47e41dp-1
+-0x1.60d9811f1cb35p-1
+-0x1.89b35b3983bffp-1
+-0x1.2dd13bc4684ecp-3
+-0x1.9741f8bce93cep-2
+-0x1.7f342ab0d1864p-1
+-0x1.04ef826cdcb09p-1
+-0x1.f2bd94a3f99aap-2
+-0x1.e06f4d7c31a9p-1
+-0x1.b2a29dcdaed9cp-1
+0x1.ae72901b353c6p-1
+0x1.57196ebac3f02p-4
+0x1.4c80b456630cdp-1
+0x1.1aaea9b3b3151p-2
+0x1.4f73745779a58p-1
+-0x1.4f522a0cc10e1p-4
+0x1.88bfa64e2bb66p-2
+-0x1.a1a4a2d80b7ecp-1
+-0x1.380eb5bf6600ep-1
+0x1.62e5f5113bbc6p-2
+-0x1.c5a149ce3ec08p-2
+0x1.757cdce523439p-2
+-0x1.7b3763b41825ep-1
+-0x1.65eafe57ca80ep-2
+-0x1.732c3ad935768p-2
+-0x1.7063d0b56d53cp-5
+-0x1.93aa0072fc1cp-1
+0x1.5b227e136164cp-2
+0x1.dfd57e3e149a6p-4
+-0x1.536603e6dcabbp-2
+-0x1.c74b8ad5ad51ep-1
+-0x1.95ac347750a5ap-1
+-0x1.9eaa616831fe6p-2
+0x1.6f9ff858a230ep-2
+-0x1.e77d356b747c8p-1
+0x1.5bc58d04e5d16p-7
+0x1.a5eb4ee1ff9f9p-2
+-0x1.588fb2edbd73ep-2
+0x1.9f89dbef4fad9p-1
+-0x1.3ec7dc08ff552p-4
+0x1.6c69db4961ec3p-1
+0x1.11e46eb946c05p-2
+0x1.40b231bc8992ap-1
+-0x1.48bf18f7fa19dp-8
+0x1.e9f46d6910b27p-4
+-0x1.a563269a8d9adp-2
+-0x1.01110022eb8e8p-2
+-0x1.781a20478d0d9p-3
+0x1.ab732c860842p-4
+-0x1.8601e76ac4e91p-2
+0x1.32c3de667cb2bp-1
+-0x1.0f4c3f2a7b663p-1
+-0x1.40778dcc5bb9ep-1
+0x1.0c5592f2389e6p-2
+0x1.20e366591a4b1p-1
+0x1.71d33ecc69239p-1
+-0x1.1db2ebc5b89cap-1
+-0x1.aa7eb5361c00ep-2
+0x1.4ac6f3dafed7dp-1
+0x1.7ceede92a008fp-1
+0x1.c5f212984c14ap-6
+0x1.ac3a9197ced66p-1
+0x1.c906b6a6ea093p-1
+-0x1.f9052709edc8ap-1
+0x1.0a724085b998p-1
+-0x1.c36a23a57033cp-2
+-0x1.cea70413f393bp-2
+0x1.d8c5c8e093d4p-2
+0x1.e00c9e14fa822p-4
+-0x1.13ddd594fddc9p-4
+0x1.f717eee64af85p-1
+-0x1.491d2ab76896ep-1
+-0x1.c7f313a79ab03p-1
+-0x1.682adc7f3e97cp-1
+-0x1.b2aa052eaaee7p-2
+-0x1.cdf6ae5de8a86p-1
+-0x1.a657198bc3901p-1
+0x1.67b0cd456e1c1p-1
+0x1.ddc200acde65ep-1
+-0x1.a0054ead8366ep-1
+-0x1.d4647835fe0c2p-3
+-0x1.aeb4be7e5f4ddp-1
+-0x1.56ab9369208fbp-1
+0x1.648b50042fdf2p-1
+-0x1.8c806fada6ce1p-1
+-0x1.ca39fb11b42b2p-1
+0x1.785dbdbb9713dp-3
+-0x1.5b9c3e6f277d3p-4
+0x1.fcd3f61612aa1p-1
+0x1.d6d78688af942p-2
+0x1.382ac0ee390a5p-2
+0x1.618e5efc02c5ep-2
+0x1.35081dce7dad9p-1
+-0x1.b63bca821380fp-8
+0x1.f49b1a69bad8fp-3
+0x1.4151d10ebf41cp-2
+0x1.4c7c3ca58fe39p-1
+-0x1.decc902848531p-3
+-0x1.9790ee7f01504p-1
+-0x1.bd7587b8d9f33p-2
+-0x1.fd9bec8cc6b7dp-3
+0x1.11e723a684645p-2
+0x1.9b2c5a032c61cp-1
+-0x1.af3ee7ec20752p-6
+-0x1.a27698d497949p-2
+-0x1.544a74a6505dbp-1
+-0x1.b6a3858f9effap-3
+0x1.7a0d7a218313bp-6
+0x1.e6f5acf851739p-3
+0x1.1260610c68cb2p-2
+0x1.34a5011474174p-2
+0x1.1f50828991755p-1
+-0x1.dd53d5d0e181bp-2
+0x1.51d06a20e47dep-1
+0x1.4009e5312e569p-1
+-0x1.1e3564a65cd75p-3
+-0x1.6bf311d85cb11p-1
+0x1.a9ffc24cfe639p-2
+0x1.6a4f84877fdc4p-3
+-0x1.4a7965c1067e4p-1
+-0x1.d9a8d19bbb4dbp-2
+0x1.dc36bff9551c1p-1
+-0x1.c61f9c2eb48c8p-1
+0x1.806f5183ce851p-2
+0x1.c0e53096a41d9p-1
+-0x1.f2e85f95ecac6p-1
+-0x1.60d304fc0596p-1
+-0x1.1f2957276a67ap-1
+0x1.6fa0db47d2271p-4
+0x1.016a317358fa8p-1
+-0x1.7d8def1dd6b59p-4
+-0x1.c8806e42df38dp-2
+0x1.f7a86eb6cbf51p-2
+-0x1.4c1485c1a7d45p-1
+0x1.5733cb5ea476fp-1
+-0x1.3751983f35a92p-3
+-0x1.9a2639eeab5b9p-2
+-0x1.fa3ba4b78d33fp-1
+0x1.c832546d2e7d9p-1
+0x1.b3228ef502091p-4
+-0x1.81e2e34d0a4bcp-2
+-0x1.469f7675b820cp-1
+0x1.a7c0dfeaa35cdp-2
+0x1.8efd2a56f506ep-1
+0x1.13289981dcd2cp-1
+0x1.1551206870fdcp-2
+-0x1.0fcf3615b46e1p-4
+0x1.4830475c41164p-2
+0x1.38f1305780663p-1
+-0x1.39b72a08627dap-2
+-0x1.a3bf59f409971p-1
+0x1.cb1fbcec83b3p-2
+-0x1.dba69fc11f5b6p-6
+0x1.1237b1d408c96p-1
+0x1.47e99551d8a34p-8
+-0x1.dc787283dbeafp-1
+-0x1.c8032a0ac52c3p-1
+0x1.62d570b38d375p-6
+0x1.84f4fff2be06fp-1
+-0x1.94bc5bfc7e17p-1
+0x1.055939b675809p-3
+0x1.5db37dd8b7f2ap-2
+-0x1.fdcf3d1f03939p-2
+0x1.e4dfaa1461145p-1
+-0x1.7bb93d6413f34p-7
+0x1.219dec08773a3p-4
+0x1.efa94c38288b4p-1
+0x1.cad49c0d90af6p-2
+0x1.43983b4cbc262p-2
+0x1.9409d10684842p-1
+-0x1.aa1306e414d54p-2
+-0x1.033f436c2e568p-1
+-0x1.3d8cf3ed7b71dp-2
+0x1.3b94c6bb48ec8p-1
+0x1.d77e515ca6d2p-3
+0x1.b0396aa7facd3p-1
+-0x1.874eae90d2251p-1
+0x1.257819cf096dp-3
+0x1.1e1236fc0e601p-1
+0x1.8b925abb9d85p-3
+-0x1.2ee2553af948bp-2
+0x1.7544cb37c6abap-1
+-0x1.61f31b27dd211p-3
+0x1.d8b094c02cbbdp-1
+0x1.bcf4fc940a36dp-1
+0x1.716994e168435p-1
+-0x1.8fee7a614bc5p-2
+0x1.a693454f8c23ep-4
+0x1.56667b44b6ca4p-1
+0x1.7973841921b9cp-2
+0x1.5279c198819ccp-2
+-0x1.525bd54aa4817p-1
+0x1.9801f3d5ed8cp-2
+0x1.a4cadfe0897cap-5
+-0x1.9d9118d8b8ec6p-1
+-0x1.c8b894eb8db7dp-2
+0x1.567287055313ap-1
+-0x1.d81db473ff9d5p-3
+0x1.56974c7cb92a6p-1
+0x1.7a123ea70901cp-1
+0x1.6c996664724a8p-1
+-0x1.6f617df96743p-4
+0x1.42d7a5fae74dcp-7
+-0x1.bfee780d9f151p-1
+-0x1.ae88ab0c9d95bp-2
+-0x1.64e7e56067859p-1
+0x1.0b5a4f239586fp-5
+-0x1.77e2f69ce7b19p-1
+0x1.e66bca8e704dp-5
+0x1.d23b3d496293fp-2
+0x1.e99adbc1ea718p-1
+0x1.f53f92c01d9ffp-2
+-0x1.5fc3e31fb96f7p-3
+0x1.d1174338f44f8p-1
+0x1.4a96a23e4adafp-1
+0x1.dd370ee17b5f4p-1
+0x1.32ac205268757p-1
+0x1.c2ddc90150b6ep-3
+-0x1.0416fc67b3124p-1
+-0x1.f4236f39aa298p-1
+0x1.dce56dc7b6bffp-1
+0x1.230d8a1a7a584p-5
+-0x1.4103976afe52ep-1
+0x1.273ab1e591887p-1
+0x1.fe577dafa66cap-9
+-0x1.6b03b75b761e9p-1
+0x1.a877fb88f476ap-1
+0x1.f40ec17d20bdep-1
+0x1.f3e64eec028e8p-1
+0x1.d77288d1278adp-2
+-0x1.6304cbbd963a7p-1
+-0x1.71c7c48922188p-3
+-0x1.71de204a8a44p-3
+-0x1.adb29f384e8f1p-3
+0x1.1cd2d1199c0c4p-1
+-0x1.b269bf6f64aafp-1
+0x1.6f9d3c35e3847p-3
+0x1.8c5ca7abb7abep-6
+-0x1.a75909ef34d94p-1
+0x1.a827c69e06831p-4
+0x1.dd40f19f2436ap-5
+0x1.2d81821d0621cp-5
+-0x1.262b47fd3b9f4p-2
+0x1.73071be27b6cdp-1
+-0x1.cbe9be87387f6p-3
+-0x1.59edb1a7b5e7p-1
+-0x1.8b3922539e2b1p-1
+-0x1.9ef3d6f66ec09p-2
+-0x1.28fc5855f33abp-2
+0x1.85aa85484be51p-5
+0x1.ee0fbf7dafedep-2
+-0x1.e9449fc4d1a53p-1
+-0x1.b5a55d684f9b6p-3
+0x1.073772c8b01c5p-2
+0x1.f0759e0af2f1fp-4
+0x1.120a7046728d2p-3
+0x1.83bce9c97bdbcp-1
+0x1.ff90e74033339p-1
+-0x1.dd5593c5e0f64p-1
+0x1.7d2d46a95a4edp-2
+-0x1.0b10881f3b96dp-2
+0x1.3159b898634b7p-1
+0x1.2fb72646e1b8dp-9
+-0x1.196e2aea1f5edp-1
+-0x1.acd3f03dcd54bp-4
+0x1.d7b97cf046b91p-1
+-0x1.68ed3abea053p-4
+0x1.1d44682ca6ed8p-2
+0x1.14cc5515eb3c3p-2
+-0x1.015337c2d348fp-1
+-0x1.89e6007d25b58p-1
+0x1.114c076ebfe3ap-3
+-0x1.a67b534095497p-1
+-0x1.a2687c50ec786p-1
+0x1.831f81ef1a80bp-5
+0x1.a1c7bdae567dcp-1
+0x1.b02d3bd6899bap-2
+0x1.958b68514a21fp-2
+0x1.0fda34bd4083ep-1
+-0x1.fb81756ae503p-1
+-0x1.0c22adf4959e2p-2
+-0x1.723bcb3a70b45p-2
+0x1.008d3575eb6b3p-1
+0x1.a35a3436bed4ep-2
+0x1.85f533ffd4ab3p-1
+-0x1.b77c702c40fbdp-1
+0x1.2957d83c3ab2dp-1
+-0x1.0614a3c5f6afep-2
+-0x1.ec0f0dba1dfb8p-3
+-0x1.1c062e964e525p-2
+-0x1.aa02e5f42783fp-1
+-0x1.a8986ab529aafp-2
+0x1.0df222b73941bp-1
+0x1.006e491c09199p-1
+0x1.6edb8d9728733p-1
+-0x1.606b145e356afp-2
+-0x1.ef96dff4ef36cp-2
+0x1.c5124297140cfp-1
+0x1.5f2b897ff8018p-1
+-0x1.3e41fea33fd1dp-3
+-0x1.ea7f4a079b0e4p-3
+0x1.ea13730aee4cdp-1
+0x1.0e509276eaf3dp-5
+-0x1.bb27568efe795p-4
+-0x1.aae4f579c4971p-4
+0x1.c372566d85f9dp-2
+0x1.4692ac8723819p-1
+0x1.087c6b5ed41f6p-1
+0x1.0b3f39d0e784dp-3
+0x1.8fa035c15dab9p-1
+-0x1.ad0676077afbp-2
+-0x1.536c2c67f186ep-1
+-0x1.c633734b6a25cp-3
+-0x1.bf1ec23cd7006p-2
+-0x1.4975c83245bb9p-1
+0x1.f6ae73d5a414ep-1
+-0x1.a0aceac09602bp-2
+0x1.2d6936390476ap-1
+-0x1.5633b92893036p-2
+0x1.6ca899da1342ep-1
+-0x1.d907ac2b7335dp-2
+0x1.c2398a2095915p-1
+0x1.afeb5e0edc2e1p-1
+0x1.d313382d97ba8p-2
+-0x1.de3eb3f3792f4p-1
+-0x1.4209616b6a18fp-4
+0x1.84fa8ef5cde52p-1
+0x1.8ddf3597af826p-2
+0x1.f6ad9af023424p-1
+0x1.fbd125354a289p-1
+0x1.43aacaf35e49cp-2
+0x1.320fbb50e250ep-1
+-0x1.074c7acb46341p-1
+0x1.15a3cfd13111ep-1
+0x1.b08e0d61476a3p-1
+0x1.48dec4a5d4e3ep-1
+0x1.a858dcba36f66p-1
+0x1.154b8bed13055p-2
+-0x1.f83b9931a10e7p-1
+0x1.47eb5d0bad469p-1
+-0x1.b3b1018ab2177p-3
+0x1.09ec4cd9bce19p-3
+-0x1.32f975c6f2c0cp-1
+0x1.2da6dbee622cfp-2
+0x1.6548950892f71p-1
+0x1.46e91085f61f1p-2
+-0x1.d49e79be97dep-3
+-0x1.30f85a352314fp-3
+0x1.be199005352e6p-1
+-0x1.0162069952317p-2
+0x1.eb73e5f778633p-3
+-0x1.12b084cd864d5p-3
+0x1.710061e986d99p-4
+0x1.28f4e6f890e28p-3
+0x1.0a9c62145dc71p-2
+0x1.8bf11afa7b87cp-1
+0x1.42e6127d1529p-1
+-0x1.030069b6c4034p-1
+-0x1.689c207da449ap-5
+0x1.4e438ec0d6fa3p-1
+-0x1.9e3005333293p-1
+-0x1.c6eecdb72372p-1
+-0x1.ee8d8ba468528p-2
+-0x1.b8a653c3a4fbdp-1
+0x1.518333f285641p-1
+0x1.476e65d17be7cp-1
+-0x1.2cdc6c24ed18bp-5
+-0x1.6b9f2fa05025p-3
+-0x1.fb76e3fd89781p-1
+0x1.f61cd47ffa496p-2
+-0x1.f850e4ccf2f96p-5
+0x1.90df38e476ed9p-2
+-0x1.c2ecd3d09fc68p-3
+-0x1.c36a561e90d24p-1
+-0x1.794faa9ebafaep-7
+-0x1.1008c2948fa73p-2
+0x1.4353d7be44a22p-1
+0x1.839bbad3f1ccp-1
+-0x1.48392084ca45ep-2
+0x1.b85556d38be78p-2
+0x1.ba099ab1e169fp-2
+-0x1.91df152f7fe16p-1
+0x1.18fc246857656p-1
+0x1.81d1fd20a3a03p-5
+-0x1.5f1feb775e188p-1
+0x1.d2a22093bf791p-2
+0x1.8a3e891ce9e45p-1
+-0x1.93a19555298ebp-1
+0x1.481ffd15af3b5p-1
+-0x1.730a71201d439p-2
+0x1.c4d14f288d9f2p-2
+0x1.6bd023e9a773p-1
+-0x1.0471e83c804d7p-1
+-0x1.37c98dac89709p-2
+0x1.3c1a16c1841f9p-1
+-0x1.b53d5d0ff08fbp-3
+0x1.62dd4e521c325p-1
+-0x1.c3103d54d772ap-1
+0x1.e4fdc7c4d2b4p-2
+-0x1.4e59dde294266p-3
+0x1.8b411a25251bcp-1
+0x1.d95a2960bc104p-4
+0x1.aa89013f7bb35p-1
+0x1.1645360db0b2dp-1
+0x1.ab2a822ac48dbp-1
+-0x1.bf3ec1d981d93p-4
+-0x1.e59d7c856e974p-1
+0x1.56f04b786e014p-1
+-0x1.d5cba7c7b514ep-1
+0x1.7394b90ec5fa3p-1
+-0x1.91b6d9eb5cbf7p-1
+0x1.7ee72d7389eabp-2
+0x1.046b0fb95aeabp-2
+-0x1.388c0fc439a02p-1
+-0x1.5953475f7d1ap-4
+-0x1.c9ca63d33185dp-2
+0x1.9778df9b55075p-2
+0x1.b026966de1248p-2
+0x1.0d4b7bda178f3p-3
+-0x1.a292e97f06284p-1
+0x1.1b3a92371beafp-2
+-0x1.c29785805483dp-2
+0x1.f287dbec9115fp-3
+0x1.9fd48eda0d0bdp-1
+0x1.f58244cf7f6ap-1
+-0x1.e446ec90bc1f9p-1
+-0x1.5f43a29e86843p-1
+-0x1.10d01d951f9d7p-2
+-0x1.9a5a876344939p-1
+0x1.877f3b1d84a48p-1
+0x1.865d5f8dc7d49p-3
+-0x1.1c6c9ffe2c724p-1
+-0x1.012ca742174dfp-1
+0x1.a24f1e16e28e5p-3
+-0x1.fafd6c8757364p-1
+0x1.21eea8b727b58p-2
+0x1.41f91748a57d8p-5
+-0x1.60da637fa6f92p-1
+0x1.15f515f28f0a5p-1
+-0x1.9dec42f12af71p-2
+-0x1.5431fcc045319p-1
+0x1.ad3dadc7f51c5p-1
+-0x1.4f436f5158686p-3
+-0x1.c0e0c813057ffp-3
+-0x1.9fcc87f9540d9p-2
+0x1.afbf0a8a1b0fep-2
+0x1.4a47ab69418eap-3
+-0x1.a23a549a556c3p-2
+-0x1.a01aeb6126e4dp-1
+0x1.df36a2db133bp-2
+-0x1.fed245e887555p-1
+-0x1.e2be0f0a991e7p-2
+0x1.8891d17147c1cp-4
+-0x1.0ad6e0a1c6ffbp-1
+-0x1.dbdb3c9565526p-1
+-0x1.34717d13cc8b1p-2
+0x1.af27de4c87d82p-2
+-0x1.1c652f8d06cd2p-1
+0x1.ef0b1c97618acp-1
+0x1.5774f6861640ap-1
+0x1.5802eff773eb4p-1
+0x1.cbbc23a994a8ap-1
+-0x1.c450de8f0f7a9p-7
+-0x1.315d272e7ee26p-3
+-0x1.3c5c7ba257066p-1
+-0x1.afc609c1a9c29p-2
+-0x1.d3606a329e899p-3
+0x1.749ef145de8cep-1
+-0x1.42f1e80bd05fbp-1
+0x1.ed228d197cf11p-4
+0x1.e0514c3e2064ap-6
+0x1.24a84a2ce0e07p-1
+0x1.8167c2bdd432bp-5
+0x1.42e810db59713p-1
+-0x1.73a5d76fc5908p-1
+-0x1.81ed073b0027dp-3
+-0x1.3838c0e170db7p-2
+0x1.b8e9d1bd2e29bp-1
+-0x1.c518c80bddaa1p-2
+-0x1.51e49eb7269acp-1
+0x1.68354a2226f19p-1
+0x1.7d69a3cfe5cbap-2
+0x1.b4d914f06744fp-3
+0x1.01e5f3b2574b2p-2
+-0x1.5917f74341d13p-4
+0x1.b4fbbce861564p-2
+-0x1.53bd2f4e506b3p-4
+-0x1.13918be6cf1cep-2
+0x1.823290e69939p-2
+0x1.f2396b6a9481p-3
+-0x1.3e4d819938e88p-1
+-0x1.b9cb19011c54fp-1
+0x1.69c59a9f9b0dep-1
+-0x1.3ad3ec2c839dep-2
+-0x1.c66feef5cda84p-1
+-0x1.f45bae6f536bap-1
+0x1.6f6aaa1a873abp-2
+0x1.0e0507ad0f0fep-7
+-0x1.42134b489658p-1
+-0x1.17370d3ce5c1dp-2
+0x1.86d283388a16bp-1
+0x1.3295879a7d0e2p-4
+-0x1.6b613b6eb852cp-1
+-0x1.958db68ac005bp-1
+-0x1.3164699a33f32p-2
+0x1.cdae8289e49d2p-1
+-0x1.96ecc6bd5747ep-3
+0x1.bdd6ad5e86427p-7
+-0x1.2b825d8fafbb2p-1
+0x1.43a3a8b95230ap-2
+0x1.02a4509b04328p-1
+0x1.bfc127ce23386p-1
+-0x1.7c243692a3feep-2
+-0x1.8a87e2d3af1fap-1
+-0x1.2809e8b423419p-3
+0x1.047a2d959097ap-1
+-0x1.105d10119b7a6p-2
+0x1.0b8f221b14e32p-1
+0x1.c48648704cf9bp-1
+-0x1.5222cd785e5f3p-2
+0x1.3242755407279p-1
+0x1.78c6835fa78dbp-2
+-0x1.49cb4fc667964p-3
+-0x1.0763652c87c1ap-2
+0x1.7c5c46a502f61p-1
+0x1.1ef8eecf381c3p-1
+0x1.edd3032b5d1a4p-1
+0x1.11855d10f418bp-2
+0x1.4fca68b47ddb9p-1
+-0x1.dccc83fb0704fp-1
+-0x1.4d426bdefad79p-5
+-0x1.e7b57b3fbe762p-2
+0x1.b8d3b7b70536ep-1
+-0x1.a2b46c424a8f6p-1
+0x1.d7d875f1363b4p-1
+-0x1.608c38e3446e7p-3
+0x1.8d568a035eb23p-2
+-0x1.ece254780a7f3p-4
+0x1.8eefdb0f8493bp-2
+0x1.49660e8e34b84p-5
+-0x1.8f3f8d0742328p-3
+0x1.6c186c587677fp-1
+0x1.99573b195c17fp-6
+0x1.0738bc09f2cadp-1
+-0x1.7146c6fb2e991p-2
+-0x1.f26caa82ecf79p-2
+-0x1.dd1edcf72fb5cp-1
+-0x1.3e5d1cd6423ap-1
+0x1.8714831872984p-10
+0x1.d6de062593036p-3
+-0x1.12dcf55c95c8cp-1
+-0x1.006afda493629p-1
+-0x1.920f3286ef85ep-1
+0x1.64d23e422fee3p-1
+-0x1.50fab66c95a73p-1
+-0x1.0c93ed9b91573p-2
+0x1.be64e0281445dp-2
+-0x1.ff145b843ed4cp-1
+-0x1.4a217119c2054p-1
+-0x1.ae55c47b0db28p-1
+0x1.9e7709ed6feb3p-2
+-0x1.3b3dbd0bef746p-1
+0x1.092422a12e91bp-5
+0x1.e12125e88bfb9p-1
+0x1.b2faf622f0d58p-1
+-0x1.e97cc1f76f59p-3
+-0x1.99f8338edb81fp-1
+0x1.91a005bd02fe9p-1
+-0x1.f0131ef21d48bp-1
+-0x1.25b3e3167bb89p-1
+-0x1.e4c80f6515b1p-2
+-0x1.edda17d2dd1b7p-3
+0x1.3135e8bbac5bbp-1
+0x1.4c07cde52ab9p-1
+0x1.d9480642ce652p-2
+0x1.d6bbbb62dd87dp-2
+0x1.dc3c87217035cp-1
+0x1.3e31c17eb591ap-3
+-0x1.6a78f82ff109fp-1
+0x1.587467c41ed0ap-1
+-0x1.bce658387237dp-3
+0x1.46dce967fa2cbp-3
+0x1.4a1fd4913e4d5p-1
+-0x1.64da3e62dedf1p-3
+0x1.094083dc46016p-1
+-0x1.37ecd79765c1fp-2
+0x1.497b639155f82p-3
+-0x1.be6eba4379d8p-1
+0x1.9719f66f42645p-3
+-0x1.0d053fce2861dp-1
+-0x1.5a579f6a77999p-2
+0x1.a51615053bc0ep-1
+-0x1.468d9ff5cbe5ap-2
+-0x1.6c22f6afbde52p-1
+0x1.ae3c7c4fc8f9ap-1
+0x1.5fc4cfbc6ac0fp-2
+0x1.414ce68baeda3p-2
+0x1.5ce923e623fa3p-2
+0x1.7cd8c7871e8fep-1
+-0x1.a0a18a1db8032p-5
+-0x1.365172fe07433p-1
+0x1.ae69f8438521cp-2
+-0x1.07b886fc2e35cp-1
+0x1.77bdabbd79aa1p-4
+0x1.119ba94203681p-1
+-0x1.d3fc68e6dc168p-2
+-0x1.4a046f073235ep-1
+-0x1.c500564819e35p-1
+-0x1.8b57d1f384909p-1
+0x1.7d6bf6adbb526p-2
+0x1.5ef14d0d18b82p-3
+-0x1.576116ecdadc4p-3
+-0x1.cb0aaafcd459dp-3
+0x1.ffbe058a014bap-1
+-0x1.bf38b6a57e3a7p-3
+-0x1.a1d0bb889af59p-2
+-0x1.fc95c9673f5b2p-3
+-0x1.280f4d228997fp-1
+0x1.753ad554ffcbbp-2
+0x1.7b70e42fa41a2p-2
+-0x1.ad6467ce4386fp-1
+0x1.1f58a21c270fcp-2
+0x1.9b7775bb1a935p-1
+-0x1.70b9c3b61940bp-3
+0x1.a14a99e9f146dp-3
+0x1.4a70940a508d9p-1
+-0x1.2e476ff73653p-1
+0x1.4ffe3611166e2p-1
+0x1.90962488a0699p-2
+-0x1.adb2a75672236p-1
+0x1.8b32868e31a58p-1
+0x1.d0201b8189666p-1
+0x1.b690b2a53f2d4p-1
+0x1.743c05832cc6dp-2
+0x1.2b3ee8ec82194p-1
+-0x1.ac8181f0e4c33p-2
+-0x1.1ae90f4377e15p-1
+-0x1.0e38e6d239e6ap-1
+-0x1.ae60325b31cd2p-2
+0x1.eb0065693b84fp-1
+-0x1.96f96ad818118p-1
+0x1.1f6ab898224a1p-2
+0x1.19c7bf3987c83p-1
+-0x1.b92183e7c2135p-7
+0x1.82a733ffaaa11p-2
+-0x1.5c488632925fap-3
+0x1.7c888169448eep-2
+-0x1.952dfeb5df323p-2
+-0x1.63df95fbfa80dp-1
+0x1.8df59f107debcp-1
+0x1.85f6b58fb515p-1
+-0x1.4f6bde1b62662p-4
+0x1.54b23ae8225c4p-4
+0x1.9473afd79c001p-2
+0x1.e8a478133609bp-4
+0x1.5116c044f59c4p-1
+-0x1.4e3be3c1e7313p-3
+0x1.55ebcfa288105p-2
+-0x1.ed118630d9f04p-1
+-0x1.2818cbd91d92bp-4
+-0x1.0d4585805be71p-1
+-0x1.036ad7ac50048p-2
+0x1.27660a1941cbep-1
+-0x1.4a77b55657f6dp-1
+-0x1.a44a13e9b164cp-1
+0x1.6da6d0d68cf7dp-1
+-0x1.93845e4ae4272p-6
+0x1.8aa5e68ec1ce9p-1
+0x1.66808d70cd286p-2
+-0x1.bf6ace089028bp-1
+0x1.e63b95b61261fp-1
+0x1.c4038218c03f2p-1
+0x1.3000a4afa8577p-2
+-0x1.3fabb7af69395p-2
+-0x1.5f6d1fa0c783p-2
+0x1.2f00d33d5a6bdp-4
+-0x1.c1dc4feb76da8p-1
+0x1.a703415f6fff2p-3
+0x1.94171a68695e6p-1
+-0x1.a1283d9006993p-2
+0x1.f1a4fa50945c1p-2
+-0x1.1600d9c43ef78p-3
+0x1.28388544feb3ep-2
+-0x1.56f8d00c5719fp-1
+0x1.fa13fc4a61229p-2
+-0x1.e9d3b6ea3cebep-2
+0x1.d51e4d5df679dp-1
+-0x1.d32b50e738a88p-1
+0x1.d18bd658c5364p-1
+0x1.8ad9071016ebfp-4
+-0x1.46f3c1f2cc2b5p-10
+0x1.8094da7c4362cp-1
+-0x1.039bf9de5b7p-2
+-0x1.c0afdf0336a89p-2
+0x1.ce90e47f32031p-2
+-0x1.702c679c1f0cdp-1
+-0x1.19befa09261b6p-1
+-0x1.792fcef338916p-1
+-0x1.36f3fd5a023cap-1
+0x1.9f1ef8a6b63b9p-4
+0x1.3e8f137a5d7a3p-1
+-0x1.056909f30a436p-6
+0x1.e2e53b7679f1cp-1
+0x1.2d1dd97f8f74cp-3
+-0x1.86ee330986ef4p-4
+-0x1.4900a73009ca8p-1
+0x1.ff2693df6237bp-3
+0x1.00e74ce3c150fp-2
+0x1.a7329f0d90c93p-2
+0x1.3dc5f6a7bde97p-2
+0x1.8ef03e5ed0196p-3
+0x1.b9ce030400a75p-1
+0x1.8f21cf0f28bcbp-1
+0x1.86d2215a2c9dap-4
+-0x1.0d1d61b1ae925p-1
+0x1.6695fbce4a72dp-1
+0x1.670b841841e69p-1
+0x1.e1cf744192477p-2
+0x1.834fd2b540964p-1
+0x1.c6f2c05feffe1p-1
+-0x1.ef30f2b375e37p-1
+-0x1.d0d99fb323395p-6
+0x1.7ef85ba49bdf5p-1
+0x1.27ca7658b7b62p-1
+-0x1.26cedd2cb5f7ep-1
+-0x1.35807523415fap-3
+0x1.d30e60159bee5p-1
+-0x1.58284f2becbf5p-3
+-0x1.c7b758fb02868p-2
+-0x1.0c1d196123cf6p-1
+-0x1.7f4de30ebdc8cp-1
+0x1.32720adca6fdap-3
+0x1.a87e5e615e9b4p-4
+0x1.2650c5f11b83cp-2
+0x1.92b639c7d231dp-1
+-0x1.e01f271b8a67bp-1
+-0x1.2a5211c162641p-1
+-0x1.4f637073cdcafp-2
+0x1.e092db79f1bacp-3
+0x1.650dcfaa95c0ep-1
+0x1.b5125651785e8p-3
+0x1.f53510490946bp-1
+0x1.6cc59f9bc9c01p-1
+-0x1.527b958faf8fcp-2
+0x1.574ff8bc15514p-3
+0x1.12c720baa6cedp-1
+-0x1.ec4b086cd3187p-3
+0x1.c274807c87754p-2
+-0x1.d7a9462ccadb1p-1
+0x1.5ef9f12132209p-1
+-0x1.081f57ec00e2bp-1
+0x1.48ec81eabd3d2p-4
+-0x1.4448cab08b2dfp-1
+-0x1.c3e5a75211969p-1
+0x1.7608d3cf6bbc8p-3
+0x1.4fa409e6be9e8p-1
+0x1.eb1441218fc91p-2
+0x1.af625e1960b79p-1
+-0x1.8ed7087aa41c3p-1
+-0x1.9131f526b11c7p-1
+-0x1.01a001ba18f54p-1
+-0x1.d58e75746178p-1
+0x1.cdf6493752c7ep-2
+0x1.45e4315672db5p-6
+-0x1.a50efd14a94ffp-1
+0x1.6ac2cb6487a28p-2
+-0x1.014b422daebcdp-1
+-0x1.53a7b37c38525p-3
+-0x1.5e00dc0040bd9p-2
+-0x1.bea16bbb84db1p-5
+0x1.15bfd66d9bb3dp-1
+-0x1.e89a07962680fp-1
+0x1.fd3fe6cd1e751p-1
+0x1.d08d776ad4aa2p-2
+-0x1.4fd1a1ec02989p-2
+-0x1.c565e80ef1c3bp-1
+0x1.e63099c8e2a34p-2
+0x1.6f76107350b81p-1
+-0x1.d1ba6fd21b4c8p-2
+-0x1.c982adb67b456p-2
+0x1.7725d95375068p-4
+0x1.f34daa1f87414p-3
+-0x1.3f5a9a00a68d9p-1
+0x1.ac1c2a8b2e65ap-1
+-0x1.54cade7180093p-1
+0x1.1143564578de6p-1
+-0x1.a31ad6cc22a8ep-1
+0x1.bbb692cb28925p-1
+-0x1.16589c035e0a1p-3
+0x1.e87a5a7f82e6ap-1
+0x1.f028bb33b0fdep-1
+0x1.e8ba05374f2bbp-3
+-0x1.2f391d822c8c6p-2
+-0x1.7036e40fa7d6fp-2
+-0x1.903c8aa462474p-1
+-0x1.0d0882fe9e839p-1
+-0x1.452adbc3e3e8p-3
+-0x1.5b7a2afa1f88dp-3
+-0x1.dd6a7c86f9982p-1
+0x1.8a156fad177bp-1
+-0x1.4fb0826f26172p-1
+0x1.875d459a6b997p-1
+-0x1.c3474e377564bp-1
+0x1.450b481435436p-1
+0x1.b93d66ea1559dp-1
+-0x1.7fc2938d38b99p-1
+0x1.e41159e3a61b6p-2
+-0x1.2867f3416d45ep-7
+0x1.a0bdd4c8622cdp-2
+0x1.ca0f84930057bp-1
+0x1.7defbc8110255p-1
+-0x1.f43bc7b2550ddp-1
+0x1.4d3e33d8501f8p-3
+0x1.6cacc29241f3bp-1
+-0x1.337c51d597cd6p-1
+-0x1.1f27750c1ec0fp-1
+0x1.267c3d869a7c5p-1
+-0x1.36bfee3748389p-3
+0x1.71507667b35d2p-2
+-0x1.31871a582b47fp-1
+0x1.649e3fb6571bdp-1
+-0x1.570bc8c01c94cp-1
+-0x1.71b547f14bb2bp-3
+-0x1.148f96f6e157p-2
+0x1.74703d2db2242p-1
+-0x1.30b7731543e45p-3
+0x1.6a17514a7eb0ep-3
+-0x1.ea28d52039008p-2
+-0x1.ec19565b7c751p-1
+0x1.b908e37de9af3p-1
+0x1.881ffc9e8a8acp-1
+0x1.98bdb0619eec8p-7
+-0x1.eddc7830eb2d2p-1
+0x1.2265f2a819f52p-1
+0x1.9be0cd0cd2662p-2
+0x1.2e300625482b6p-1
+0x1.7a4fdac30b45ap-6
+-0x1.112a8fea995d1p-1
+0x1.6c06f4e56a4ddp-1
+0x1.130c91df37221p-5
+0x1.2dda08a0fa5b2p-2
+-0x1.72bef1859ae1cp-1
+0x1.a1391a7586e35p-1
+-0x1.97acd895432fep-2
+0x1.1b1745f42a4e9p-1
+-0x1.fd7d763b285f1p-4
+-0x1.966f313b317f2p-4
+-0x1.b31eaa6c6c981p-6
+-0x1.4477289885e41p-1
+0x1.488c8ba8767dfp-3
+-0x1.96a1d37699634p-8
+-0x1.37a8a71644c0dp-1
+-0x1.72836edc079b9p-1
+0x1.9a8c00637d6e5p-5
+-0x1.0b2164386670bp-2
+-0x1.7b43d69db69f6p-2
+-0x1.df6d04ef5133p-2
+-0x1.6ccc708621d7ap-1
+0x1.bdaaeb906c937p-4
+0x1.df0ca0911becap-3
+0x1.52bfd2204efbcp-1
+-0x1.b73ebc5a93e83p-1
+-0x1.fca2af7dd27e8p-2
+0x1.ee3ca21941265p-1
+0x1.8d165cd1f2828p-2
+0x1.d23ba1fc088aap-1
+-0x1.e802f8e9162c2p-1
+-0x1.8a48129934512p-7
+-0x1.36f28d8decbd9p-2
+0x1.2315f05677265p-4
+-0x1.932c1a149e859p-4
+0x1.16cf7017ca03fp-2
+-0x1.d2fde07a9aa27p-2
+0x1.60e9628dab22p-3
+0x1.babbf525ced42p-1
+0x1.58449cdb2a3edp-3
+-0x1.b6ed03a505162p-8
+0x1.1e7420cac0887p-1
+-0x1.229e021421072p-4
+0x1.be8fea15731c8p-1
+0x1.89d4fa3e5991ap-5
+0x1.ee0ea96f492e9p-3
+0x1.d665c042d7465p-1
+-0x1.7bb31405ad2e4p-2
+0x1.36f0afd52cd36p-2
+0x1.b5110550aa777p-1
+0x1.0d10c78b8895fp-2
+-0x1.a14a6ac6353e2p-7
+0x1.8113110b71c42p-1
+0x1.6c7c20322031ap-3
+0x1.fb5d6548d76afp-2
+-0x1.96d09e12f2396p-2
+-0x1.2de4356484814p-2
+0x1.b288e199b4275p-3
+0x1.e11a3085b223p-2
+0x1.03175e05ad8dap-5
+0x1.8a2febfec4015p-1
+-0x1.be9d6ab2537e3p-1
+0x1.d1c62c7f2b257p-1
+-0x1.94974b5b8f3b4p-1
+0x1.62d7fe6e3f70ap-1
+-0x1.63ddf83de64a7p-3
+-0x1.06c884006dc97p-2
+-0x1.ae12045f47e91p-1
+-0x1.d0163b4251969p-3
+-0x1.ae8c2edccfdefp-1
+0x1.22b436ff7485dp-1
+-0x1.7c039d7088227p-1
+0x1.4900d34fabbbdp-2
+0x1.edf06c1678a09p-1
+-0x1.cbe83c6c30fecp-3
+0x1.ec25231cf6bc5p-2
+# Random inputs in the range [1.00e+00,4.50e+15]
+## name: workload-1_maxint
+0x1.16970b0cca6c9p+51
+-0x1.fc48225729f6ap+51
+0x1.8bd92ae4c2593p+51
+0x1.af903e65b5f4p+51
+-0x1.0fe8bd80a4462p+50
+-0x1.380511af85dcfp+50
+0x1.88dc6f90454c2p+50
+0x1.4ad66367df1b1p+49
+0x1.294f6a9432d04p+50
+0x1.ade11d496e7f7p+51
+-0x1.e97a50cd18947p+51
+0x1.577ad81ff88a1p+47
+0x1.3f6aa86f84eb8p+51
+-0x1.588959b670376p+49
+0x1.988b77a327561p+51
+0x1.3fe3a7b06ebdap+51
+0x1.9814dffa2fc5ap+49
+0x1.96c5dbc9d252bp+50
+-0x1.53290b942dbdep+50
+-0x1.9008302dd8691p+49
+0x1.a8d0dbfc34d0ap+50
+-0x1.d11525de21f3ap+49
+-0x1.5fc1789a832d2p+50
+0x1.cb8e2ae925892p+50
+-0x1.8a96d3f9c22bfp+51
+0x1.b63e2e38c9b9ap+50
+-0x1.6cf35fc30f2e8p+51
+0x1.6b302db504332p+50
+-0x1.6eb0bab24ae1bp+51
+0x1.a1ecca7a32b8ap+51
+-0x1.0c9c54396c2f6p+50
+-0x1.848540c603204p+50
+0x1.9f1e6f23ed49ep+50
+-0x1.96bcaf5d00d55p+44
+0x1.52b90d59c0c88p+51
+-0x1.2d5491e83da06p+51
+-0x1.764b84195364ap+48
+-0x1.d9648ad1cc5e7p+50
+0x1.7fd8144c01932p+51
+0x1.3f22abea9edeap+47
+-0x1.88407cdea2894p+51
+0x1.0768bcc953afep+48
+-0x1.fece73f8e573dp+49
+0x1.820114e129214p+51
+0x1.d72c51168f748p+49
+0x1.94738a0010f67p+49
+0x1.cfdb222a9a5b9p+51
+-0x1.43d7c1ab8c33bp+50
+0x1.f299ecad180f8p+51
+-0x1.875970e4cf75fp+49
+0x1.381f820a2cda6p+49
+0x1.5c8fe57bafce1p+51
+-0x1.1130eacde98a5p+51
+-0x1.0ae316467db4ap+50
+0x1.9d638d8f04d0ap+50
+-0x1.7d082a71c3c4dp+49
+-0x1.39b7697957872p+45
+-0x1.ac2efe009f161p+49
+-0x1.a5a8e8e7f6633p+51
+0x1.81a3339007399p+51
+-0x1.9ac6e49aee59cp+50
+-0x1.ac2b869119683p+51
+0x1.004103e564a7p+51
+-0x1.bce1e32ce7404p+51
+0x1.88f90cc96c18p+51
+-0x1.7fe538c9c45a2p+49
+0x1.a322c2b8648f3p+51
+0x1.b433553a91d18p+47
+-0x1.df0dfc90d503cp+50
+0x1.5b0d239d3a58ap+51
+-0x1.21931e6ee2e68p+49
+0x1.8e7553b1662afp+51
+0x1.dc7181424981fp+48
+0x1.1f987ee9bb92p+51
+0x1.6b9b447cc4726p+50
+0x1.1156fd9d7aae8p+50
+-0x1.cbe62584e9ceep+51
+-0x1.3c1c62099c5c3p+50
+-0x1.ccd02d8ed77fep+50
+-0x1.c43f9b4da343dp+51
+-0x1.0c06aa8cdb39ap+49
+0x1.5bacae075291p+50
+-0x1.62d90ec27df59p+51
+0x1.dd7291636dcd5p+51
+0x1.6551300157c09p+49
+0x1.80760a9ede212p+48
+-0x1.261feecb7036cp+50
+0x1.56b792f21157bp+50
+-0x1.18c385c1ee64p+51
+0x1.6154fdcdd6893p+50
+0x1.934593bb8560dp+50
+-0x1.ac67202048826p+51
+-0x1.a2865ab7830ecp+50
+0x1.54deb2de19318p+45
+0x1.12fa0ab48dd9fp+50
+-0x1.acd57fdea3adbp+46
+-0x1.32ad321bd5c47p+51
+0x1.ec2109b829db3p+43
+-0x1.c9ac7a5691afdp+51
+0x1.8978f82653a66p+49
+0x1.5d0f8a6a9ba0dp+50
+0x1.05e32a3c8b7bep+51
+-0x1.cb5664a3bffb8p+51
+-0x1.487c2ad66d246p+51
+-0x1.c9abfa8d79831p+51
+-0x1.03cc57db4eb03p+51
+-0x1.9de9dc1e20bcep+51
+0x1.dd69fa3aee39fp+49
+-0x1.b42e50a13eeb2p+51
+-0x1.b28f24dfb8552p+48
+-0x1.f86084fb9b7eap+51
+-0x1.15752c108c3c9p+51
+0x1.90465bd4a79e2p+50
+0x1.05a821b545bdbp+51
+-0x1.5a2ca326a9ac3p+50
+-0x1.3653fd31ecfe9p+50
+-0x1.b861cdde2e203p+51
+0x1.ad2d633dd98dp+49
+0x1.b53248f56f423p+51
+-0x1.eaabac044a18bp+51
+0x1.b0947afdd9eb4p+51
+0x1.675b21d919715p+50
+0x1.424f29aca9c17p+51
+0x1.799a348c750a7p+50
+-0x1.03c544a6ba118p+50
+-0x1.4baf880573708p+50
+0x1.2affe1c808514p+51
+-0x1.4cdcc68587e89p+51
+-0x1.dc4d2bc5a2636p+50
+0x1.9a063dab88003p+51
+-0x1.bd1e874d482fcp+50
+0x1.cf7452f874805p+49
+-0x1.cb3748f0420c1p+51
+-0x1.88aa7b5cd0f9bp+51
+0x1.d967961ecd34p+49
+0x1.eba8551d9952cp+49
+0x1.cfc1b89ae4308p+51
+0x1.5366a9eb9e63p+50
+-0x1.aace8de06a35p+47
+0x1.7f288b1f9b175p+50
+-0x1.579320339b76p+51
+0x1.4b9d4e26d7696p+50
+-0x1.ce519e1915171p+50
+-0x1.8b21e3b72ccf3p+49
+-0x1.2e10415b30cbp+48
+0x1.47a4d5ab3c709p+51
+0x1.b323beee9ecedp+50
+-0x1.2008c5e690d16p+49
+-0x1.6c9f8c7566117p+51
+0x1.6a40079ed3649p+49
+0x1.16a1249d6e75p+51
+-0x1.37271aa942a3bp+51
+0x1.664a5c390d5b8p+51
+0x1.d9b48e27e602bp+49
+-0x1.dd4f76354ad6fp+50
+0x1.c4052b97248bcp+50
+0x1.4c29a6c5ece6ap+48
+-0x1.e8e3c4e9f31abp+50
+-0x1.e751f5d7e9492p+50
+-0x1.59676ca2b14eep+50
+0x1.ac495fdf6e074p+51
+-0x1.1aa8df913a00fp+51
+-0x1.2a3c010d9f246p+51
+-0x1.1d04be38cea19p+50
+0x1.4ed290888a5afp+50
+-0x1.427955e213c03p+51
+0x1.38ed6fbb07a2ep+51
+-0x1.72d987131c804p+51
+0x1.dbdb54d72fdb4p+51
+0x1.e7fa66838f13ap+49
+0x1.0f91ac84a8167p+51
+-0x1.d34d4465f202ap+51
+-0x1.e3ab44bfa9d2ep+51
+-0x1.64cea536f916dp+51
+0x1.50342b15c135ap+51
+-0x1.725abc76fb1cap+50
+-0x1.19a25ba95ad23p+50
+0x1.f437b24555432p+51
+-0x1.71f6809531f49p+49
+-0x1.c0823d32f863dp+49
+0x1.e50ae1ef75f75p+50
+0x1.2b4ef101cb94ep+51
+0x1.8119c822b016p+49
+0x1.18546fc2596abp+51
+0x1.19111e1f371e8p+51
+0x1.96c54a4d0ae37p+49
+0x1.4800bd3311e8cp+49
+-0x1.eb31219cbeaa8p+49
+-0x1.4de3ad5f931a1p+50
+0x1.a810aff80c28bp+50
+0x1.2c3534a207377p+51
+0x1.eea9f3af398f5p+51
+0x1.2de9606227475p+49
+0x1.dc97f918634b4p+50
+-0x1.4957443d1b58bp+51
+-0x1.e54c77b1431adp+51
+-0x1.873f47b9d6ad4p+51
+-0x1.4b342b6aa0be8p+51
+0x1.952b6b8791df3p+50
+-0x1.b6c754ec2cb77p+48
+-0x1.92d61a28eef48p+51
+-0x1.47ee9c921e749p+51
+-0x1.e330c7a4bbbecp+51
+-0x1.20acb13200b6p+51
+-0x1.da476946735a8p+49
+-0x1.23952ae722b09p+51
+-0x1.ba1589ed42217p+51
+0x1.be26e44dde99fp+47
+0x1.fea93a8254199p+51
+0x1.da965d6dca7a1p+51
+-0x1.cb80921e3f566p+49
+-0x1.4627f7f8567a1p+51
+-0x1.43f220fe24eabp+51
+-0x1.4fbd5980b542cp+51
+-0x1.660f214dd894dp+51
+-0x1.8e3ef7bed832bp+50
+-0x1.57b47226e3b38p+51
+-0x1.f8b6fa5c2dcc6p+49
+-0x1.b83b28f06d157p+50
+-0x1.b483a83e57919p+51
+0x1.d3a428801e012p+49
+0x1.483a3dd97962cp+51
+-0x1.d56441c170cffp+51
+-0x1.a9f9ced9757cap+50
+0x1.d7ddc8d1dab03p+50
+0x1.94d586f8ebff9p+51
+-0x1.dd46419f4aae6p+51
+0x1.c7564cbada4fcp+51
+-0x1.52faecc271ddbp+51
+-0x1.915fd10e57b3ep+51
+-0x1.3f88171cb8a4bp+51
+0x1.21a19dfa480e9p+51
+0x1.3a69ea2778501p+50
+0x1.2c6a720093f24p+49
+-0x1.44198669e6563p+50
+0x1.507f83a255aeep+51
+-0x1.4cb5f5cad4ccfp+51
+-0x1.5bd135a5e1076p+49
+0x1.ee65c1c112c9bp+51
+0x1.afc87160dfbf8p+51
+-0x1.545de51e69c6bp+51
+-0x1.5f3a7cf7d8977p+50
+0x1.c657018e973d9p+51
+-0x1.950bb390f0f29p+51
+-0x1.33592359aef41p+49
+0x1.b3dd5c1e26669p+46
+0x1.cc05f1fd8518bp+51
+-0x1.fa1a3d3ada53dp+49
+0x1.93600b91f13dcp+51
+-0x1.830e0f490da58p+48
+-0x1.585d529dfcf3p+51
+-0x1.a163a30f134e4p+51
+-0x1.2a3a891f4f939p+51
+0x1.1302c8edf9cc5p+49
+-0x1.4d15d2b94c09ap+51
+0x1.11f5a9f170f9bp+48
+0x1.2fa184e47ab08p+51
+0x1.e8cf4e1ad7081p+51
+0x1.b7d900d3654eep+51
+-0x1.ed77ae03f5d5dp+49
+-0x1.a3a36c4e9b9b3p+47
+-0x1.4030c3b461d9fp+50
+0x1.d675e4b91ece1p+50
+0x1.32a4cf8dce6ddp+49
+-0x1.70abe7acad24bp+51
+0x1.88d993318ef74p+49
+0x1.fc634bcb88668p+50
+0x1.86c98eee4de4bp+49
+0x1.42420b0cd4886p+50
+0x1.6256ebbb68f93p+50
+-0x1.d7956258bdc2p+50
+0x1.bfe4f2cc44f37p+51
+0x1.329c275223ab7p+51
+0x1.760bc3d915188p+47
+0x1.8628664df52c3p+51
+-0x1.7c1436d4c1495p+49
+-0x1.b1970748485f6p+51
+-0x1.600bfefca4c1fp+51
+-0x1.215763a6c5254p+49
+-0x1.cbe4e2522acf3p+50
+0x1.5d458760ce9f6p+50
+-0x1.bb7d145aac9f5p+51
+0x1.280fa28a1ee39p+50
+0x1.115612c2fef77p+50
+0x1.41b3da08379b2p+51
+-0x1.8ec9efce886b4p+50
+-0x1.0613473c2832dp+50
+-0x1.19c0cca52e577p+51
+0x1.1c68c4d08c3e6p+51
+-0x1.0d72622bbb8b9p+50
+-0x1.2ddb1f41a9bf3p+51
+-0x1.83ca55fe884d2p+49
+0x1.96c19aced7b5p+51
+0x1.bb4376e1c8b3bp+46
+0x1.0216b2c05a12bp+50
+-0x1.5e3c7fc17c259p+48
+0x1.6da0af621a802p+51
+-0x1.dfefbbce74e9fp+51
+0x1.d581d4f92c464p+51
+0x1.09d90c440329dp+49
+-0x1.f903b61d51db2p+49
+0x1.62ac68740f54dp+49
+0x1.bffdab741ddeap+49
+0x1.26112b86350b9p+49
+-0x1.1663594728f0fp+51
+-0x1.9f43a9e5a7799p+49
+0x1.fbd927698bebap+51
+-0x1.32bf82f8d04e8p+49
+0x1.bc013fd3c5c26p+48
+-0x1.7c3b891c32981p+50
+-0x1.4a11fa4a04372p+50
+-0x1.aedb8d9704783p+51
+0x1.dd5d83623ab81p+51
+0x1.bb969fdb7a9c2p+48
+-0x1.e0611602c4c94p+49
+0x1.6b23678c15386p+51
+0x1.d16ea786c22b2p+51
+-0x1.7f43f2fcb05f1p+49
+-0x1.3690b1e8a8f7fp+50
+0x1.4609f772573cap+51
+-0x1.6e73bfb8bf93ap+49
+-0x1.b54f325a27f8ap+51
+-0x1.013bd642573a7p+51
+-0x1.6f24925f8d466p+51
+0x1.9bdcccfb9fe07p+51
+0x1.b0af0f0d5516cp+51
+0x1.0f350c3d8324p+50
+0x1.c26bd5716dc74p+51
+-0x1.192c039306cc6p+50
+0x1.02378a8165fdep+51
+0x1.56c6aa8d2a93ep+51
+0x1.22b7e22f8edbcp+51
+0x1.7c755f6aad6a3p+49
+-0x1.45d3b2aff4a32p+51
+0x1.0e6a8755b10e2p+48
+0x1.c2843f66664f9p+51
+0x1.0a33a6c9fd0c8p+51
+-0x1.465fad20ef7a9p+51
+-0x1.8c1848c0b9b96p+51
+-0x1.66c0e166232a2p+51
+0x1.eae9bf9add18ap+47
+0x1.4fb7429f595e3p+50
+-0x1.9530c12f8a46bp+51
+-0x1.dc0d1fb230f7p+49
+0x1.98bc8dd89789fp+50
+-0x1.5ec2c88a85a47p+51
+-0x1.46bf405c60bdep+47
+0x1.3818f1d8c8a29p+48
+-0x1.f776ff0e1dd1ep+51
+0x1.9078680a7b90dp+51
+-0x1.7012fbcc9d28cp+51
+0x1.dfd5dc6556d33p+51
+0x1.352df7b2580bdp+51
+-0x1.fbc867c6c9e5dp+43
+0x1.940fadf98e4a9p+49
+-0x1.662ad3fe5aa65p+51
+0x1.9c6583a9d7937p+50
+-0x1.f12b433fb8e35p+50
+0x1.5f82d71c6f7c6p+48
+0x1.54c03a4660145p+51
+0x1.35bb48879999dp+50
+-0x1.b4ea3bf3664e1p+50
+-0x1.577a1ee0d6049p+50
+-0x1.c3a5ebcf828f4p+49
+0x1.dd0bd8b4f9e49p+51
+-0x1.137b16a551f1ep+46
+0x1.6b645777d8821p+48
+0x1.e24d59cee70a9p+51
+0x1.4834ca40a50cep+51
+0x1.3c42cb242ef06p+51
+-0x1.a46e9870e68bep+50
+-0x1.8f73c60fcc18ep+51
+0x1.fbdf9c751a862p+51
+0x1.0db80ede9d1bdp+49
+0x1.09c675915b1d8p+49
+-0x1.afbf0186e6a9cp+51
+0x1.ae4b65d88ca42p+47
+-0x1.ffb4729b04c95p+48
+0x1.b12e4e860fdep+45
+-0x1.b578646b3bdeep+51
+-0x1.7ca485e88ac53p+50
+-0x1.812f22f69027ep+50
+-0x1.a372edaa2aa5bp+51
+0x1.b6b9dd15f4b5bp+50
+-0x1.73b753b7f89fdp+51
+0x1.d1d563d2c0768p+50
+0x1.599763e639273p+51
+0x1.a83817aaa03e7p+50
+0x1.d6c3480727fefp+50
+-0x1.42c5b7ce323c6p+49
+-0x1.5ecce3b1f29cap+47
+0x1.2118e86e86cc5p+48
+-0x1.d8a91083c5906p+51
+0x1.423e8aaed6ad8p+51
+0x1.bba8404322bafp+49
+0x1.5313e08439d6ap+50
+0x1.6a65017478d0bp+51
+0x1.81e1cffaeedep+51
+-0x1.742f02cc05804p+51
+-0x1.611567a4df5fbp+50
+0x1.70e1ffbf13fdap+50
+0x1.aeda1f039f286p+51
+0x1.974f613911506p+51
+0x1.ff805c5cb6559p+48
+-0x1.806ef8e3f3decp+51
+0x1.bdda8c23eaf43p+48
+-0x1.3b5c8207230b5p+51
+-0x1.e1756ce1753ddp+50
+0x1.4f1d44ddf7e0bp+51
+0x1.3113923fbafd8p+50
+-0x1.ac44bbcd24181p+50
+0x1.b58e09ecc55edp+48
+0x1.e6a99d2ed7f3dp+51
+-0x1.c0a177f5372ep+48
+-0x1.5b1d3ccdea4f6p+50
+0x1.6eb8da50f2508p+49
+0x1.196f7768ef81p+50
+0x1.4f954ff11fe24p+51
+0x1.502eec3e7461bp+45
+0x1.e7726922b3684p+51
+0x1.d67e310f5559cp+50
+-0x1.ba3355d67b9bp+49
+0x1.3615b8329a28dp+49
+-0x1.48a44ac91de33p+47
+0x1.1833ad61fcc2p+51
+-0x1.ebd1895dd7c34p+51
+0x1.a2ccc135bf4ddp+50
+-0x1.183e6a82ca09ep+51
+0x1.879d9cbe2a7efp+48
+0x1.a6ad5d9d24d8dp+49
+-0x1.58f32cf4df112p+50
+-0x1.424c3ec82a6fap+51
+0x1.94396aa86f758p+48
+-0x1.5562bcafaefcp+50
+0x1.1de7ad5c7bd87p+49
+-0x1.552c1299862bdp+49
+0x1.84a7d1b8e43b9p+49
+0x1.7afd2ef29ddc9p+51
+0x1.be400b01afe37p+49
+0x1.b1109c1b2076ep+49
+0x1.e2ebaceba81d2p+49
+0x1.82f1896e32a9fp+51
+0x1.6f457fa43d926p+51
+-0x1.e8b0247901fc6p+51
+0x1.c0ab197e7f6e2p+50
+0x1.fb29b451f5659p+48
+0x1.4482e8b3b95dp+51
+0x1.465d6142579dp+51
+0x1.8604663105a8dp+51
+0x1.cf01a4dfc531dp+46
+0x1.208c4933b83c3p+51
+-0x1.59a416a48b6e6p+51
+-0x1.6d734ea3f3d37p+51
+-0x1.cd6d63c8cfccfp+50
+-0x1.614ff0f626794p+50
+0x1.42383e33648aep+51
+-0x1.005f2f0b72bf9p+51
+-0x1.b5db83209e02dp+49
+-0x1.80671ad8ed01fp+51
+-0x1.c807a9caaabc1p+50
+-0x1.ff9c6414af8a8p+50
+0x1.bcf18e375bd7ap+51
+-0x1.fdd52b172b50ap+50
+-0x1.ff3f2d26524f2p+51
+0x1.2c77ed3f1847ep+50
+0x1.24824d360599p+51
+-0x1.faa31ed050a82p+51
+0x1.f1706549e60cfp+50
+-0x1.ea9542c146094p+49
+0x1.2cfbe9d19ffe6p+50
+-0x1.6c2a07b04248cp+51
+-0x1.cec66705c8b0ap+51
+-0x1.55069250a6942p+51
+-0x1.7c56e9096b456p+49
+-0x1.55a3028b9876dp+51
+-0x1.3ddae807321dfp+49
+0x1.27bf89c458727p+51
+-0x1.66affd9743c8ap+50
+0x1.6d2743e75bbcp+48
+-0x1.397012c2b8e19p+51
+-0x1.20e85886a1b03p+50
+-0x1.9f789bf455afp+50
+-0x1.fd648d2486886p+51
+-0x1.99d8d7ee6bdb3p+51
+-0x1.6f1a82d2c26c7p+51
+-0x1.629f36e021797p+51
+0x1.233672b115e28p+51
+-0x1.dd8eb98c2f9cap+49
+0x1.b4c3567f5ae57p+51
+-0x1.b997f6715951cp+51
+0x1.c8a6b7f72156cp+51
+-0x1.da92df89a0c6ep+51
+0x1.f94f719c2b72fp+50
+-0x1.a3f964a52e825p+51
+0x1.db4d01947d792p+51
+0x1.8c25296d0034ep+49
+-0x1.c4f9ab8866f3ep+50
+-0x1.f482d6c36a81ep+51
+0x1.0800565252ecbp+49
+-0x1.46b23567cd651p+48
+0x1.2888b3762fed9p+51
+0x1.3c2115115d28bp+51
+0x1.546550b8b9a0fp+50
+0x1.61c0c33da4cfdp+51
+-0x1.3f9151ff28539p+48
+0x1.6776444aee8b4p+51
+0x1.fb925db4f1564p+50
+-0x1.5b0e39758481dp+51
+0x1.72b9be57f268p+50
+0x1.122e236c88344p+49
+-0x1.6534dd74ed8a8p+51
+-0x1.8323c2d0d29d3p+51
+0x1.9435a379feee7p+51
+0x1.c383a774d6ec7p+51
+0x1.3c9cde621cfaap+51
+0x1.59c60b6fb1722p+50
+0x1.b4e585bb1a90ap+50
+0x1.cb771fe0f3c25p+51
+-0x1.3d41449e0d4d2p+51
+-0x1.157b740b2916p+50
+0x1.62a7594710a2ep+49
+-0x1.ce7184ae56409p+51
+0x1.469045c5a5978p+49
+-0x1.11cdca425179p+51
+-0x1.c1541b9a42cbdp+50
+-0x1.26ae232aa0cd8p+51
+-0x1.6e83b2a96b09ep+50
+-0x1.fb1eea281db07p+50
+-0x1.160669e70cc4dp+51
+-0x1.3dd1c8a229c09p+48
+-0x1.5c93d39843c6bp+50
+0x1.f08627d0fc949p+50
+0x1.4aa306ebf33c8p+51
+-0x1.39430df9372cdp+50
+-0x1.049f81c367e1bp+50
+-0x1.b52130299b1c6p+51
+-0x1.257d92883d201p+51
+0x1.37bbab544008ap+51
+-0x1.9afce2becbc6fp+48
+-0x1.a13d4d07b7341p+51
+-0x1.f24c71b748ee5p+50
+-0x1.3f73d9a81d67p+51
+-0x1.02ee5e9b244fep+49
+-0x1.7a0fa9eb422aep+50
+0x1.279d853cc34cbp+51
+0x1.d05d9fd31a9ep+51
+0x1.68542dc55cf6cp+51
+0x1.228f790c180dap+51
+0x1.0d6f2977a06a3p+51
+0x1.10a57c5269aep+51
+-0x1.1dbc6c0284198p+50
+0x1.daef1e68df061p+51
+0x1.a42204759ff11p+51
+-0x1.a63f3dcbf8587p+51
+-0x1.55a67fe29811fp+50
+-0x1.13ff60185fa1dp+50
+0x1.4fcb3e7b65f06p+51
+0x1.7376826b83003p+51
+0x1.aced166ed8216p+50
+0x1.39d2faee8d22bp+51
+0x1.34ad9bbe77cd2p+51
+0x1.173eddca0b3f3p+51
+-0x1.b7bbb4eb4bcb7p+48
+0x1.2eb449e6a4ce5p+51
+-0x1.f7cab13452c37p+51
+0x1.f55bd6fc34f3fp+51
+-0x1.eb000c479cd76p+51
+-0x1.d10c53925305cp+51
+0x1.e72dbdcc221ccp+50
+-0x1.349b47c85a451p+51
+-0x1.322bbae188fa4p+49
+0x1.aa22455a4410fp+51
+-0x1.431d2992c20dap+48
+-0x1.c8e2027387492p+50
+0x1.7fddf1a6d1082p+49
+-0x1.1434d66a0adbp+50
+-0x1.c92d51b55a1b6p+51
+-0x1.563a85c404a82p+51
+-0x1.a91dc40677b6p+50
+-0x1.4339394430498p+51
+-0x1.077b30f1115d8p+51
+-0x1.b0309893af2fap+51
+-0x1.e928d62337c45p+51
+0x1.09967d2a2a939p+49
+0x1.990759b5ab83p+51
+0x1.890be2389fa58p+51
+-0x1.809b1c9063f98p+48
+-0x1.7507254284587p+51
+-0x1.7171e88a0e4b1p+51
+0x1.9b9c4699f2ab2p+50
+0x1.3a274b32d7bb5p+50
+-0x1.231ea310fa9f5p+46
+0x1.81fe45845d946p+51
+0x1.7c6ec88db65d7p+51
+-0x1.2da216c5051d5p+50
+0x1.6a75a4cf7f2e6p+50
+-0x1.576c6bd1a2bfcp+50
+0x1.7e8c3a8fe2af1p+51
+0x1.7c3f12f12c131p+51
+0x1.c15b2c57c380fp+47
+0x1.7786d4e437373p+50
+0x1.9c441b6083b2p+51
+0x1.59128db2a341fp+51
+-0x1.9690677eea4fp+50
+-0x1.afadb606c09a5p+51
+-0x1.87337ba9dc8bdp+50
+-0x1.07208f2819eb2p+50
+-0x1.c9970480a7652p+51
+0x1.90a30c6269d0cp+51
+0x1.bc71b685e540dp+51
+0x1.e4d756644f7b9p+50
+0x1.99070e5211c5p+49
+-0x1.d39c3e57234b5p+51
+0x1.31c4a1836d37fp+51
+-0x1.426f76968fd1fp+51
+-0x1.992c9fb667cbbp+49
+-0x1.69ed20c31206cp+49
+0x1.a64683b62ef78p+49
+-0x1.7209d8ce422f6p+51
+-0x1.d48ee6c5d510ep+51
+-0x1.650176774e0dfp+50
+0x1.4317f91512111p+48
+-0x1.41d4d8bc6e68fp+51
+0x1.4be421a12ae24p+51
+0x1.9aba07a7ac86p+50
+0x1.9fbd2a3a9abb9p+51
+0x1.72cf1b11876d5p+51
+-0x1.be64c4e37bd11p+50
+0x1.eff488ed96ef1p+51
+-0x1.9005da0cb9d3dp+50
+-0x1.9ad3859ecd202p+50
+-0x1.c5800eff11d91p+45
+0x1.55a2a1c1cccfdp+50
+-0x1.4acd04671daf3p+51
+0x1.754711bce7872p+49
+0x1.aac1f492b97f1p+49
+-0x1.8c049d0b5afafp+51
+0x1.74562b47b9492p+51
+0x1.bc4ad117423f1p+48
+-0x1.64ee7465a39f3p+51
+-0x1.35437901e4c56p+49
+-0x1.57969f65f552dp+51
+0x1.666e9aa755e5ep+51
+-0x1.1efa78dd820cp+50
+-0x1.403593eff9ea7p+51
+0x1.c59041a4d0d01p+49
+-0x1.99f36df41205bp+49
+-0x1.40cae6fe99a46p+51
+-0x1.a3f165fba7aabp+50
+0x1.540b9d1076166p+51
+-0x1.be0ece60ef8dep+51
+0x1.b6430df86d6b4p+47
+0x1.89f1511f0e49dp+51
+-0x1.9aca51f62b678p+50
+0x1.10ef6f790aaf6p+49
+-0x1.f5c1fa4402fc7p+51
+-0x1.0fe90a1118b8fp+49
+0x1.bd7b56499c196p+49
+-0x1.dddd4ff8701efp+51
+0x1.45e7f30d3e0a9p+51
+0x1.7f573790ee1f3p+51
+0x1.85c6a8ca064d8p+51
+0x1.8f8c416a20eddp+49
+0x1.06f013d31081bp+51
+0x1.2d8da0f575d34p+51
+-0x1.82e8381a7543ap+50
+-0x1.39711ed6b73fep+42
+-0x1.4bb6606c15f68p+48
+0x1.3062217be7733p+51
+-0x1.dd4d4aaef0c13p+47
+-0x1.b6dda7055cb31p+51
+0x1.707cb576f2c49p+51
+-0x1.f776711fbeaf6p+51
+0x1.7eb171964e6d4p+51
+-0x1.b792d337ca0b4p+51
+0x1.7d239e58de7bfp+51
+0x1.0acb8dc080fdp+51
+0x1.f886a5fd7bf23p+50
+0x1.7acb8452e939bp+51
+-0x1.421665e9334e4p+50
+-0x1.80cb6f88ab52p+51
+0x1.f5fbad6b7db32p+51
+0x1.07fc87dbe35d2p+51
+0x1.84d4ecc4660fap+48
+0x1.eb3b9b78306dbp+50
+-0x1.6736e62730396p+50
+-0x1.3961f5404da5p+49
+0x1.e2d01a42fe4fbp+51
+-0x1.1bb29fcf6d2cp+51
+0x1.2f393cac5b3cep+50
+0x1.0e0d20cfb45c1p+51
+-0x1.7da4c72c6ddecp+51
+-0x1.26c760247b228p+51
+0x1.026146913977ap+48
+0x1.d21ef03fae67ep+50
+-0x1.4621b3c108f9ep+49
+0x1.6fa7dd5f2a77ep+51
+0x1.8038a681c534fp+49
+-0x1.c5babcd3fa544p+48
+-0x1.39a44ae429dd3p+49
+0x1.cc996a6dbf999p+51
+0x1.d3fc306b719efp+48
+0x1.d8c7a8a227852p+50
+-0x1.28c90e12d9dfdp+51
+-0x1.91351d8483b8bp+51
+-0x1.ce0b815f660a1p+50
+-0x1.25cb6fcf33a66p+51
+0x1.c50d961582a16p+50
+-0x1.c4c35c7cf96ecp+51
+0x1.a72900eb8da56p+48
+-0x1.056bd710f2683p+51
+0x1.967b439a83522p+50
+0x1.75d5858f7d256p+50
+-0x1.87cd715e0e2d8p+50
+-0x1.0d3df87240d8ep+50
+-0x1.a08f999b28b2p+51
+0x1.460d3a2d0461dp+50
+0x1.9ddab3ab75c59p+50
+0x1.0907471df7adap+45
+0x1.0daa49f413c88p+46
+-0x1.ed58fdffebafbp+50
+0x1.651f276f0a1ddp+50
+-0x1.ec8ecb6d24c94p+51
+-0x1.0714e3966259fp+51
+0x1.4b55309fdf296p+49
+-0x1.9871f623e66bep+50
+0x1.e68f605db8596p+50
+-0x1.4f3dc4b0325b4p+51
+0x1.10b404c0b5efbp+51
+0x1.1d7f05e416bdbp+50
+0x1.9edf24eaef8bbp+51
+-0x1.b77ca0898ac0cp+50
+-0x1.93c54e6caf636p+51
+0x1.a2dd09106636fp+51
+-0x1.77690a295da63p+51
+0x1.096eb9092b23ap+49
+0x1.6cdc88cf09a81p+50
+-0x1.f6433bad90a56p+47
+0x1.b131bd57b53bp+51
+0x1.19a6dcee31c43p+51
+0x1.c200d9844b87bp+51
+0x1.23f777333db4dp+51
+0x1.6ba3e48481ccbp+51
+0x1.e65de3b12768fp+49
+0x1.b26f45f651206p+49
+-0x1.06453b90ca441p+51
+0x1.edf0fb196739dp+51
+-0x1.af65affa7affap+51
+-0x1.302eddffadfa4p+51
+0x1.638b95e370cbap+51
+-0x1.6dfaf44d3bb4ap+46
+-0x1.feabf8506a2cdp+51
+0x1.a35341db18472p+51
+0x1.1c24947936954p+48
+-0x1.ef1b7f6c2b852p+51
+-0x1.fbef366853a56p+50
+-0x1.94e14b55ddb64p+51
+-0x1.dce29b0e4bf21p+50
+-0x1.04b78bafd35fap+51
+-0x1.a0cdd9f3e46b3p+48
+0x1.f926dfb0e4591p+51
+-0x1.e089cc4e31bd1p+49
+0x1.926a3bfec954bp+50
+0x1.110eebdb2899bp+50
+0x1.f6f8dce03a65p+51
+0x1.a11f93ab3eecap+49
+0x1.edbf94bf9a28bp+51
+0x1.0c8c8f218c8d1p+46
+-0x1.0167818dddd57p+49
+-0x1.23561ee87358fp+51
+0x1.fa367aa658679p+51
+0x1.21816a169f838p+49
+-0x1.d596bdfd9ad2fp+51
+-0x1.cbbb40d14c892p+51
+-0x1.4cd113c803939p+51
+-0x1.285b7fa022a05p+51
+-0x1.3f7ec7d86c52cp+51
+0x1.f36933355ed8ap+51
+0x1.e42288c3ec50dp+51
+-0x1.0ec938283e23fp+49
+0x1.c0d7e4c34d3e7p+51
+0x1.e26aa193e6cecp+51
+0x1.ba2dd76449806p+51
+0x1.79dee80c7e1ddp+48
+0x1.3dd3fedfab9f1p+50
+-0x1.291b124a7ee5dp+47
+0x1.dc55d09ce75fap+51
+-0x1.e9e70e5981469p+50
+-0x1.6904afefe1cd4p+50
+0x1.5754cad93b68fp+51
+-0x1.b5596a98d430ap+51
+-0x1.de8c4c37ad1cp+50
+-0x1.2d6c66e848a7dp+49
+0x1.1a2ba7b2f86b6p+48
+0x1.6d5690a176ad6p+51
+0x1.778ae20f259afp+51
+0x1.4e5d8b3cb43cfp+45
+0x1.468102ec0ee96p+51
+-0x1.423b878358e5ap+51
+0x1.ca11b68f40833p+50
+-0x1.3831fc2fcbf4bp+46
+0x1.2119f84954d4fp+51
+-0x1.a48f39d18d9fdp+50
+-0x1.044aa55641fe4p+51
+0x1.091d0f9af7b43p+51
+0x1.f70c329322039p+51
+0x1.0782dc118d5adp+51
+-0x1.e94b6df8cab1p+51
+0x1.5453df7fee54ap+51
+0x1.4799956319995p+50
+-0x1.e659a8bc446e1p+46
+0x1.cbbcc2bef03a7p+51
+-0x1.29a4a227b5095p+51
+0x1.fa1dbed0a3af8p+51
+0x1.dfda41848a463p+49
+-0x1.1dd2343296b1dp+51
+0x1.3d7ed83bb2233p+51
+0x1.fbbdf40479d9bp+51
+-0x1.85d8e8698d318p+50
+0x1.ebf097279af9cp+50
+0x1.883f307d1962bp+51
+0x1.9856d3db13832p+49
+-0x1.532b6a6c18b07p+48
+-0x1.08a35eaa52aeap+51
+0x1.67c4706f77b7p+49
+-0x1.21515cdd0d36p+51
+-0x1.2c70a1bc72258p+49
+0x1.3461e0b1ed002p+51
+0x1.e0e7a44a0997ep+49
+0x1.af9bb066dae47p+51
+0x1.a949d63923ec9p+51
+0x1.c2dec65fa265ap+48
+-0x1.85bef3042d689p+50
+-0x1.aaa56621200ffp+51
+0x1.aa7791270fce3p+50
+-0x1.a9df2fc0fb7edp+51
+0x1.0ee32a5e0ab7cp+51
+0x1.bc796b10bbe8p+51
+0x1.1714c729a915fp+51
+0x1.cd100813bcd6p+51
+0x1.2e794a7ed754dp+51
+-0x1.9aa3aa6f22f5bp+51
+-0x1.b7d13bd6ee062p+51
+0x1.8ce25073755efp+51
+0x1.3926b276f95d8p+51
+-0x1.a89462ae224f4p+48
+-0x1.422ae3ebd8f99p+51
+0x1.a5a6c5558efa8p+51
+0x1.2488bed610d15p+51
+0x1.87eafaf1d86f3p+51
+-0x1.5a9ea37af819bp+48
+-0x1.136ee67539932p+50
+-0x1.25a6781b49a0fp+46
+-0x1.2371e80d130cbp+49
+-0x1.b67bd84e452bdp+51
+-0x1.7ac7ab4376e3ep+50
+-0x1.a1ee0d77f63b5p+51
+-0x1.6b0e7be60d00ep+51
+0x1.d37b4c85f252bp+51
+0x1.bed4fe06da7adp+50
+-0x1.7b322990101dfp+51
+0x1.4f8632d0fc008p+50
+-0x1.8fccbd2596389p+51
+-0x1.7977c0be89beap+47
+-0x1.c2c00d082cdc7p+50
+0x1.f18ff838135b7p+51
+-0x1.fa70c30a5dfa4p+49
+-0x1.0a347fffdd8a8p+49
+0x1.7fd1250d6131p+51
+0x1.f9b7055677e7dp+50
+0x1.55d7154e60df5p+51
+0x1.e793e183bb20bp+48
+0x1.a255486806e13p+50
+-0x1.262a7b0b4256bp+50
+-0x1.8a68d296df4b9p+51
+-0x1.8ae26ff150725p+46
+-0x1.40cbc20a5b52p+50
+-0x1.87dbfb08ce156p+51
+-0x1.7861b9414872p+51
+-0x1.b63985c74844bp+49
+0x1.215e05851eb9ep+51
+-0x1.20837cc44c5c6p+50
+0x1.c2cc81627d608p+51
+0x1.1003db8771cb1p+50
+-0x1.cdc5e3a354211p+51
+0x1.e8e2034179673p+51
+-0x1.4e7f8e6df23bfp+51
+0x1.0981286c8b8bcp+50
+0x1.131170a103927p+49
+-0x1.392d642c2899ap+42
+0x1.bee3978dda9fcp+51
+-0x1.6d31669a3f613p+51
+-0x1.2a745b49eed0bp+48
+-0x1.76d1337399f32p+51
+-0x1.438ab9d5565f9p+51
+0x1.6e8bca226638bp+51
+0x1.a244cb3c3f8a4p+51
+-0x1.0cee7860bea35p+49
+-0x1.b4aa82047dd8cp+46
+-0x1.37bc0d4eb1c58p+51
+0x1.2e687195dd32ap+51
+0x1.4c9e6926aa773p+51
+0x1.f002665a62491p+51
+-0x1.3024ee19c7be4p+51
+0x1.9249c6c61822ep+51
+0x1.2f5c34656fbcdp+49
+-0x1.a5cd6979a4748p+48
+0x1.666296c98bb98p+48
+-0x1.8bda2e4eb2575p+49
+-0x1.c3bc3f7defcaap+50
+-0x1.9aae7f668e275p+51
+-0x1.b14651b7f6e4bp+48
+-0x1.9b63639d29f79p+46
+0x1.0bf7b30ab5aap+49
+-0x1.8da3e9dd00088p+50
+0x1.9fa7be53d73dep+51
+0x1.8fb6154d89761p+50
+0x1.0e812ee825a4bp+49
+0x1.2dabe2cba264ap+50
+0x1.7e1b84ff51779p+51
+0x1.73656c608dd63p+51
+0x1.b5d79d525b618p+51
+-0x1.81bf3f252693bp+51
+-0x1.e161f15c47816p+50
+0x1.83d3ae4999d05p+51
+0x1.178a496b1f66cp+51
+-0x1.fcf906c4bbf5p+50
+-0x1.158876377bd4cp+48
+0x1.c0988b1e2f8bdp+51
+0x1.230dc5478320dp+51
+0x1.f85c141f3c856p+51
+0x1.3538449e49ad6p+50
+0x1.6a64814650df2p+51
+-0x1.84dd49ab44bp+51
+0x1.c0189b89e42d5p+51
+0x1.1f080d610997p+49
+0x1.4a00e2f023ddep+51
+-0x1.ca2f3f9b4d1eep+51
+0x1.217a6c126446ap+49
+-0x1.cc8b396c3ae57p+50
+-0x1.2ed6b9b553fd3p+48
+0x1.12025ee7695b7p+49
+0x1.836e4074da0bap+51
+-0x1.660e8446e06cp+51
+0x1.6cc9675afc23bp+51
+-0x1.92308040f88bep+50
+-0x1.027c004ed88cep+50
+0x1.4991e3145a693p+49
+0x1.3cc52bfec1d53p+51
+-0x1.e046f25ebad0ep+50
+0x1.e9c6d6f7e2af3p+50
+0x1.324c08f3a4f1dp+51
+-0x1.0b1c9bbd39eb2p+49
+-0x1.cc7f3e3269263p+47
+0x1.79855489f70e8p+51
+-0x1.b3ec1641f24bp+51
+0x1.50e80642aa956p+51
+0x1.9414c6ab9b846p+51
+-0x1.d4cfd9b554751p+51
+-0x1.2de661efd20cp+48
+0x1.a7b996cf3b9a2p+45
+-0x1.0238e9ea3c899p+48
+-0x1.b71074cd6b7c8p+47
+0x1.1d50961c0266fp+51
+-0x1.80da601e9741dp+51
+-0x1.37df6036a7d2dp+51
+0x1.9bcc409871f8ep+51
+-0x1.52c1527763e8ep+48
+0x1.f1c8795ecea22p+49
+-0x1.83adccabf4822p+51
+0x1.f1ab06c7b0116p+50
+-0x1.85b7b9fc90414p+51
+-0x1.9e4250b488f57p+51
+0x1.83717b759a46fp+51
+-0x1.9cb0c4a5966a3p+51
+0x1.2f7803e734378p+48
+-0x1.a2e1904ac9974p+51
+0x1.7e3f82f271844p+51
+-0x1.6c97374cf11cdp+51
+-0x1.c3dab9447a5bfp+49
+0x1.cdcb539a0a8f5p+51
+0x1.812253f635cbfp+51
+0x1.7bfe6521c124fp+51
+-0x1.547c62fb7b523p+51
+0x1.5818f5989f994p+49
+0x1.b3f1e320f5c07p+50
+0x1.6624a9e03fce3p+50
+-0x1.1473ca9031cb5p+49
+0x1.ff041a72110cep+49
+0x1.f1da828d473e1p+50
+0x1.51d57c50f68d6p+50
+0x1.d6ad157560ecap+51
+0x1.9fd7e5b2392f7p+49
+0x1.7ff54bbf85c34p+51
+0x1.8b7e8f32dcc28p+51
+-0x1.479d0cfe60b8ap+48
+0x1.2fce1ef4bcbf9p+51
+0x1.ac33c5c566ed1p+49
+-0x1.cecaf24e43227p+50
+0x1.b412939dcd6a2p+51
+# Random inputs in the range [4.50e+15,1.80e+308]
+## name: workload-maxint_maxfloat
+-0x1.2893c7c6bdebp+1023
+0x1.7a5f5e3d1dc4bp+1023
+-0x1.12051af0f230ap+1023
+0x1.5b1f70ac98952p+1023
+-0x1.530a4b774f271p+1023
+0x1.64976f5223d44p+1023
+0x1.64537d8a05c73p+1023
+0x1.94dd59e59ea88p+1023
+0x1.c0bb47e9b9088p+1022
+-0x1.929e991ab4979p+1023
+0x1.226a19468e40fp+1023
+-0x1.7e61ce917f572p+1023
+-0x1.4ed59f739a13ap+1023
+0x1.3a65949663ecbp+1022
+-0x1.2f9ccb970dd8ep+1022
+-0x1.5c6c8e3013d12p+1023
+-0x1.c2478e782d0cdp+1022
+0x1.ac5370574e766p+1023
+-0x1.43506404c18bfp+1022
+-0x1.281278ee04e48p+1023
+0x1.f309d815c3123p+1022
+-0x1.b3f234c3c7cbbp+1020
+0x1.b67d3ec40a2ep+1022
+0x1.419943b90a497p+1023
+-0x1.a1599b5bdf6d1p+1022
+0x1.1b46383e95b86p+1020
+0x1.42e366b8f8dc5p+1021
+-0x1.e8358139a83eap+1023
+0x1.dbca457d59a4p+1023
+0x1.da9b93752cf56p+1023
+-0x1.3db1c64de8a2ep+1021
+-0x1.1c93a497c399p+1021
+-0x1.3284b09698e82p+1023
+-0x1.ebf6b6dd67c5fp+1023
+0x1.e9bad91fd960bp+1023
+0x1.76ee8688a5538p+1022
+0x1.5a335a7b40a42p+1020
+0x1.bea526acd43d7p+1018
+0x1.fa6136966b8b9p+1023
+-0x1.1427851f2d488p+1022
+0x1.3c49385b781dap+1023
+-0x1.40e05d9e5dc0cp+1022
+0x1.9d23c05277d7ap+1023
+-0x1.8d4cd5d803fffp+1022
+0x1.500cd66b8ab43p+1023
+-0x1.75b967082e4ccp+1023
+-0x1.c05c31618ef51p+1023
+0x1.069a96f46ad4bp+1023
+-0x1.87658c1dc269p+1023
+0x1.870fe5c85e139p+1018
+0x1.d5d5c9f9c80b1p+1023
+-0x1.5283a96ea1c8ap+1023
+0x1.e2eb0c2807fccp+1023
+-0x1.0947fcb22f925p+1022
+-0x1.18ca05f01ceadp+1019
+-0x1.120ae3c354bp+1023
+-0x1.ba21e77f88d8ep+1022
+0x1.e4dbbceaaa875p+1021
+-0x1.e36957dd06197p+1023
+-0x1.bc50888801238p+1023
+-0x1.f8f88bc59ab95p+1023
+-0x1.ba036d0a7a623p+1022
+-0x1.18933795762b8p+1023
+0x1.5b7ae0d105d85p+1022
+-0x1.d9aa9ff561a88p+1022
+-0x1.a9a2e7d8377bp+1022
+-0x1.c29b61d89e628p+1022
+0x1.5e1846823d1a7p+1023
+-0x1.984b215934d2p+1020
+0x1.3202c74f1852ep+1023
+-0x1.5329325d7e237p+1023
+0x1.4532484082d88p+1021
+-0x1.c4a6ecf8fad76p+1023
+0x1.38488f041e897p+1023
+-0x1.edfca7de6f4f9p+1021
+-0x1.3e371814d8f69p+1023
+0x1.b531f20aff25ap+1023
+0x1.1c704d47438b3p+1023
+0x1.223c50ec07096p+1022
+0x1.0266db4a6abf6p+1023
+0x1.08c50ea522224p+1022
+-0x1.831a863f1c53p+1022
+0x1.1b18be6af1ddp+1022
+0x1.0b8108ec1588ep+1023
+0x1.f1bd3cccd6c29p+1023
+0x1.2004ac3bf2921p+1023
+0x1.9d702ffd8bbdap+1020
+-0x1.4abd11be857b2p+1022
+0x1.1b8a0df57f3a7p+1023
+0x1.11328ca9bd5e8p+1023
+-0x1.1dcfb035069e4p+1020
+0x1.6f3b4908d45cbp+1023
+-0x1.10cbb85f67aaap+1023
+-0x1.284a204cb163fp+1023
+-0x1.7188590afc945p+1023
+-0x1.60d89e4ccc965p+1023
+-0x1.943d42bec0847p+1023
+0x1.45fed483d309ap+1022
+0x1.56e28983946b6p+1018
+-0x1.69107214b6aa3p+1023
+0x1.895c5c3c5a2ecp+1023
+-0x1.fb0a3243d3c2cp+1021
+0x1.f6d738e2f2a8cp+1021
+0x1.432e766f34973p+1022
+0x1.6d03711aae1dp+1023
+0x1.86cc3b3fb7c81p+1020
+0x1.835b62572dfbfp+1020
+-0x1.137f63d81668cp+1020
+0x1.412f756069063p+1023
+-0x1.52c25176acbd7p+1023
+0x1.cf65727eece85p+1020
+0x1.34298023c445cp+1023
+0x1.cd55574015043p+1022
+0x1.a48a63d0051fep+1022
+-0x1.276578d397624p+1023
+0x1.9c436fee1d3bep+1023
+-0x1.b690487166ccep+1023
+0x1.cad2239e0ffddp+1023
+0x1.06155417715a3p+1022
+-0x1.1f7c538de446fp+1023
+-0x1.f906337b83308p+1023
+0x1.68ba8a624f39cp+1023
+0x1.f9aa879ee4291p+1023
+-0x1.a3e2fed8ee941p+1014
+-0x1.dd8e23cb5e0cfp+1021
+-0x1.08ca9d2af3593p+1022
+-0x1.52de580117cb1p+1023
+0x1.5336014eb390dp+1023
+0x1.23b9710837385p+1023
+-0x1.bb1d8e6134bb8p+1023
+0x1.1b03ba970845dp+1023
+-0x1.919715bb3297dp+1020
+-0x1.663f3a5d232c6p+1023
+0x1.d66742bc35ce6p+1023
+0x1.8bf58238d2c6cp+1023
+0x1.d835138c4162ap+1023
+-0x1.89921e08278bdp+1022
+-0x1.ffd2e3cc88a3p+1021
+0x1.d7fa0b28b7afep+1023
+-0x1.b8af7d03558d3p+1022
+-0x1.69f5d8ca693e1p+1023
+0x1.85f90b8ed2916p+1020
+0x1.9ebc8fb92e8d2p+1021
+-0x1.9662aa8e0f9f4p+1021
+-0x1.9a22999f8e15dp+1022
+-0x1.427dd2c4d857p+1020
+0x1.0c6dc4dff2665p+1023
+0x1.072054cc57acap+1022
+0x1.c674ca230cddfp+1022
+0x1.50401ee2b5059p+1023
+-0x1.6cc00b7f5c5dap+1023
+-0x1.da9d01a003911p+1021
+-0x1.325ed5d94e165p+1022
+0x1.7ab7f25fa8507p+1023
+-0x1.515173c8da8b2p+1023
+0x1.818c674ab8d68p+1023
+-0x1.90a2fe8677c44p+1022
+0x1.36bd14080d04dp+1023
+0x1.8ba7b4a87cb6ap+1023
+0x1.adccda9026fdcp+1021
+0x1.37219d83301e3p+1021
+-0x1.199705ceda1cep+1023
+0x1.a7084f168319bp+1023
+0x1.4353bd25d553cp+1022
+-0x1.f89aee124f074p+1020
+-0x1.088b0fc0d8465p+1018
+-0x1.eaa29b1560e1cp+1019
+0x1.dd5af53ae6eb8p+1021
+0x1.5899dce2f24e3p+1023
+-0x1.0ec0e0bcfe3e5p+1020
+-0x1.19cbd774bf2f5p+1023
+-0x1.76b01176e84d3p+1022
+-0x1.87b69bbc1b2f3p+1020
+-0x1.6aa7a0112e20ep+1023
+-0x1.74de4e5ca87bep+1023
+0x1.ccf2f953a0b8bp+1021
+0x1.481fd1d71f276p+1023
+-0x1.a8558f4a0a5d7p+1020
+0x1.2810aac548d66p+1022
+-0x1.e195f8bb6e287p+1023
+0x1.accb305048deep+1023
+-0x1.72acbc54834fcp+1023
+-0x1.bad779790cc3dp+1022
+-0x1.cd610db6c627fp+1023
+0x1.c3743e17c258dp+1022
+-0x1.33b360dfc90f2p+1021
+0x1.6db03aa1e17b2p+1016
+0x1.b9348831cfec7p+1023
+0x1.a7ddf3d686557p+1022
+0x1.805503ec97253p+1023
+0x1.0a908fc8ab91bp+1018
+0x1.dd202fd34f91bp+1023
+-0x1.884d25be8a5efp+1016
+-0x1.2668fec4d7edbp+1021
+0x1.044ea61accc0dp+1021
+-0x1.74a8f0b77e9a7p+1023
+-0x1.18c19e0db9775p+1023
+-0x1.981cb66f7c9adp+1022
+-0x1.d4213a21a5e8dp+1022
+0x1.a244d501ca653p+1023
+0x1.d14962a3bac67p+1023
+0x1.7cd478ff6dd43p+1023
+-0x1.43740cb56194ep+1023
+-0x1.4a48bbdb4658cp+1023
+-0x1.11953ff7258a5p+1023
+-0x1.390beb128fe6dp+1022
+0x1.9c6a15063cc98p+1022
+0x1.e09ffc8752284p+1019
+-0x1.79ee21f4ed85dp+1021
+-0x1.f3da28b0050d6p+1023
+0x1.47ef695aae944p+1023
+0x1.6b3d527187ff6p+1022
+0x1.5e65faeb93b0bp+1023
+-0x1.3d11dcd9d16c3p+1023
+0x1.c3beb750020e1p+1023
+-0x1.9e14d171718b6p+1021
+0x1.5872ee2ac721bp+1021
+-0x1.261cf615588dbp+1020
+0x1.66e0ad2bb0d82p+1022
+0x1.da80eefad8aep+1023
+-0x1.cd2a01a56bbbap+1023
+0x1.bec7bb09ec4dep+1022
+0x1.cee2a7ee1ebd9p+1021
+-0x1.fafcfc429bcf2p+1022
+0x1.35970d39c727p+1023
+-0x1.1c5b21d08a17cp+1020
+-0x1.ca7433bfa8355p+1022
+-0x1.15194ccce203bp+1021
+-0x1.fd333881cbcc1p+1023
+-0x1.9e29e2f059602p+1021
+-0x1.78134847de3bbp+1023
+-0x1.a8620432fbc5fp+1023
+-0x1.1869c0cc8de32p+1023
+0x1.a17aa9729ee43p+1023
+-0x1.cbc836928dbbep+1023
+-0x1.d31c44064af5p+1023
+-0x1.8723db2af9f71p+1022
+0x1.5338ee74add4fp+1023
+-0x1.8125c3b1a7795p+1022
+0x1.ef227f1f42a9bp+1021
+-0x1.441ad69f2b8aep+1021
+0x1.676a48919b8d8p+1019
+0x1.cadc4b8c0a2f9p+1023
+0x1.2878e288f4f0dp+1023
+0x1.128db23f62f8bp+1023
+-0x1.78baae227ebfep+1022
+-0x1.970c19a40926dp+1023
+0x1.bce04fea332c2p+1023
+0x1.e499a94cd6e47p+1023
+0x1.9e2801e958086p+1019
+0x1.aa385e22e8fa3p+1022
+0x1.85d264ccb2b4dp+1023
+0x1.4047cc578b333p+1023
+-0x1.8b428c1d1a15p+1023
+-0x1.a736f4ff93fc6p+1022
+-0x1.8ef6aec062b1ep+1021
+-0x1.800dd74593d6p+1023
+-0x1.83ab3b3c3b06ep+1022
+0x1.1a70a11058eefp+1022
+-0x1.7a0b36154686dp+1023
+0x1.ac83d765cb941p+1023
+-0x1.38e2d2e9839e2p+1023
+-0x1.c9d3f32d7698cp+1023
+-0x1.ee868b74875eep+1023
+-0x1.0af765eb6e531p+1023
+0x1.0fe3d17d4037ep+1021
+-0x1.d62a53533ec1ep+1022
+-0x1.7d0f475abcf54p+1023
+-0x1.06af1d0aba051p+1022
+-0x1.da81c793a9493p+1017
+0x1.a502c82134498p+1023
+0x1.52ccd5e3ff94ep+1020
+-0x1.c7c39eff68c5ap+1022
+0x1.c2936883311b9p+1023
+0x1.180ba439494edp+1021
+-0x1.a13610caa9acdp+1023
+-0x1.3351299fc697ep+1023
+-0x1.5f71f98ee4defp+1021
+0x1.babefd76533fap+1023
+-0x1.0e5b14fd78d18p+1023
+0x1.dfb3470533ad9p+1023
+-0x1.d1176bb930832p+1022
+-0x1.3b444f9296a44p+1023
+-0x1.b4765131e424cp+1023
+-0x1.65e144e33b781p+1023
+-0x1.eb30474a577bdp+1020
+-0x1.5b8f34e619e15p+1021
+0x1.1991a02d1cf68p+1023
+-0x1.84ddbc4805a61p+1021
+-0x1.24b37b79fe8ccp+1022
+-0x1.e94ec631cbf36p+1023
+-0x1.3227401adf71ep+1022
+0x1.5892ea1c36e88p+1021
+-0x1.58b15a9ee5c8ap+1022
+0x1.5cbbddb55a38ap+1020
+0x1.db24be33ee527p+1023
+-0x1.7541abffe4fffp+1023
+-0x1.f49a53497b42ep+1023
+0x1.52cc592aa86b6p+1021
+-0x1.9e030d83240ebp+1022
+0x1.6a1e12d9291cep+1023
+0x1.3f62c94b92333p+1023
+0x1.02414841df84p+1023
+0x1.1bd6c667a9308p+1023
+0x1.fcc522e8dcea6p+1021
+-0x1.386013c8531f2p+1023
+-0x1.795813648203fp+1023
+-0x1.a04ecaaa12ea6p+1023
+-0x1.a9630ad42bd28p+1022
+-0x1.1353ed721ad14p+1022
+0x1.004a377839b95p+1023
+-0x1.9c4cb7630b0c5p+1021
+-0x1.3300889c425d1p+1023
+0x1.4d46e05aab447p+1023
+0x1.794b7c6e48e75p+1023
+0x1.e00f3bc3c5873p+1023
+-0x1.a7834f76d4587p+1020
+-0x1.254b77d1d6e84p+1023
+-0x1.72c2ace322bd7p+1023
+-0x1.2d91f296b2b3ep+1022
+0x1.ece3e9315387p+1021
+0x1.e4479c7f16d4cp+1022
+0x1.6a9cee915e971p+1023
+-0x1.a26f2da115042p+1023
+0x1.b304ab42131bbp+1019
+0x1.6184021acd8bfp+1022
+-0x1.29087da0eabbcp+1023
+-0x1.e0e7976581483p+1023
+-0x1.c396f6b1071d1p+1022
+-0x1.e0397a554f537p+1022
+-0x1.c31624c4e95bfp+1022
+-0x1.adaca2f355f3p+1023
+-0x1.68f30e9c915b9p+1022
+-0x1.b664b8d736f46p+1022
+-0x1.e1df5a6a1def1p+1023
+-0x1.7db4058313d74p+1022
+-0x1.bc629c105b861p+1022
+0x1.3226c593f9bdfp+1019
+-0x1.8af451a4f496p+1023
+-0x1.f606003bf2ab5p+1021
+0x1.2ba08e75ce87p+1019
+0x1.a127c7364b679p+1023
+0x1.0c3e22a256206p+1023
+0x1.35b7c0a9a1465p+1018
+-0x1.c554fecb76ep+1023
+0x1.3a4f1f70b135dp+1021
+-0x1.94fde23dbac9dp+1022
+-0x1.5e43d9145dbb2p+1022
+0x1.d3fab25984d3bp+1023
+-0x1.24a8b2ec89c5fp+1021
+-0x1.8f437e5e6006p+1021
+0x1.ef2c75c224227p+1022
+0x1.27b61d3e85e0fp+1022
+-0x1.797832006abdfp+1023
+0x1.982f555e9e272p+1023
+-0x1.4389aa8633a3bp+1023
+0x1.f6bb70acf9d7bp+1023
+-0x1.a86d02c27facdp+1023
+0x1.a5ec992ccebddp+1023
+-0x1.d9512481fd3e2p+1023
+-0x1.bd58c96c5bb16p+1023
+0x1.94dcc29d26cb1p+1022
+-0x1.18ee1e48e38c3p+1022
+-0x1.ca7fd0211e3d6p+1023
+0x1.33d3bf13bf8fap+1023
+-0x1.fd0aa187808b7p+1023
+-0x1.3e4a61dbcfa7ep+1021
+0x1.f3b6874eaef01p+1023
+0x1.02e0eaf1dedb8p+1020
+-0x1.c079862452d98p+1021
+0x1.1bc83c6d28839p+1023
+0x1.4e224a78c58ebp+1023
+-0x1.689421d8342c8p+1023
+0x1.5a6b1ad0ab06ep+1023
+-0x1.da27c64f37d49p+1023
+-0x1.6217108aea1cp+1021
+-0x1.a1304c6f4c6f5p+1020
+0x1.58f36ff18382ep+1023
+-0x1.3a926befae00ap+1023
+0x1.2b177cf08cf02p+1023
+0x1.65832df38799ap+1018
+0x1.a703403d88ba6p+1022
+0x1.658657b08e79fp+1023
+0x1.42bfdd7495fd9p+1023
+0x1.25aba718dc811p+1023
+0x1.58aac1bb4645p+1022
+0x1.0b6b9b9f236dap+1023
+-0x1.88dbc92e040b7p+1023
+0x1.98ad28ba6ad37p+1022
+-0x1.0b0d5bdef315cp+1022
+0x1.00ade3d34d56p+1023
+0x1.4752ec604841p+1023
+0x1.00e1f8648ec58p+1023
+0x1.2181cc8f70efbp+1023
+0x1.f3c2fcc7bbbe8p+1022
+-0x1.0afb834873f06p+1022
+-0x1.809c22ca39feap+1019
+-0x1.e9ef21969071ep+1021
+-0x1.4c6bcce0f683bp+1023
+0x1.2b93408c44d91p+1023
+-0x1.23ed4b04d87dep+1022
+-0x1.a9fa9eacfbe17p+1022
+-0x1.4409895f629a2p+1023
+0x1.67606bbee661dp+1023
+-0x1.73337653e5566p+1021
+-0x1.0290b2cb0783fp+1023
+0x1.85a0a8c9b37c5p+1023
+0x1.cd3f65c961daap+1023
+-0x1.3987131be75c9p+1022
+0x1.859f9b3c45356p+1023
+0x1.9601f1952a44ep+1023
+-0x1.b02d6e857493fp+1023
+0x1.43aa5de497ef3p+1023
+-0x1.d41db983920e4p+1023
+-0x1.8bc9e7e1668e4p+1022
+-0x1.262e2ca70b0cfp+1021
+0x1.a33ed68b9c84ap+1023
+0x1.4ebee3629d515p+1023
+-0x1.17fe4fe89e85ep+1023
+-0x1.9ee1493fdae0dp+1023
+0x1.2e33d98e6d5e5p+1023
+-0x1.e02c0bf9191bbp+1022
+-0x1.706e13667ec9dp+1022
+0x1.05ee0de00eb26p+1022
+0x1.aa17101e268cap+1022
+0x1.ff9df12a56eep+1022
+0x1.58e6615311417p+1023
+-0x1.0652b58963efep+1023
+-0x1.40c2b41e31e0dp+1023
+-0x1.ecc55e7cd8761p+1022
+-0x1.c20672e1f8626p+1021
+0x1.6a50b4be88fcdp+1023
+0x1.40f436f551afbp+1018
+0x1.490279abb355ep+1021
+-0x1.3bac51a49ec39p+1022
+-0x1.2be5e718dfe52p+1023
+-0x1.ead7682b59719p+1021
+-0x1.3b82a9c238ad3p+1022
+0x1.03177b64720a6p+1023
+0x1.0be9366b35bd8p+1019
+-0x1.1dbcf5e236185p+1023
+0x1.50dc1351ca522p+1023
+0x1.2eead52db504fp+1021
+0x1.ebdb16c972031p+1023
+0x1.224f9ee045b85p+1020
+-0x1.0930142af8ce1p+1019
+-0x1.a2a62ae344c14p+1022
+0x1.ffce80fbae1ccp+1022
+0x1.14abb6c855eefp+1023
+-0x1.3aaea3ed5f7fbp+1022
+-0x1.f525ad4ab8078p+1023
+-0x1.f611f62801164p+1023
+0x1.8af9373bea598p+1021
+0x1.c70a6cae1f39bp+1023
+0x1.793120cb92e1ep+1021
+0x1.bee36b591d5d1p+1021
+0x1.b0f04b5cc08b2p+1020
+-0x1.6e8bc4042ffp+1022
+0x1.7da8a8764cbcbp+1023
+0x1.c9153ccd923c7p+1023
+-0x1.f349cc1c8970dp+1021
+0x1.a1d7407609568p+1023
+0x1.1f16f7347bdb6p+1023
+-0x1.ef4174e55a8ecp+1021
+0x1.d2525246b8db6p+1023
+-0x1.8c88d74ea169dp+1023
+-0x1.7f7280c6bfb5ap+1022
+-0x1.80c5284707113p+1022
+-0x1.445b1af95c441p+1023
+0x1.ed05c9ec43a9dp+1022
+0x1.ddaa3286dc2afp+1021
+-0x1.a172bdf6f39a8p+1023
+-0x1.9d8421eeafdd3p+1023
+0x1.7d5e539682413p+1021
+0x1.cc4236f593ee2p+1017
+-0x1.9b60c4e5c6da2p+1022
+-0x1.52b40a143f3dcp+1023
+0x1.f2e7202313914p+1022
+-0x1.56a5d23acfde3p+1022
+0x1.f5be534eda127p+1023
+0x1.fb25f4b187313p+1022
+0x1.7b3769d77835dp+1022
+-0x1.648ab1268037ep+1023
+0x1.4fe6b5c22c001p+1022
+-0x1.763c903bb9795p+1023
+-0x1.4a301066ef81p+1023
+-0x1.af9782958a4f6p+1022
+0x1.8574d9cbe21b6p+1019
+0x1.89c7d17a3c5bcp+1022
+-0x1.1c07153aadcd2p+1023
+-0x1.8032818975068p+1023
+-0x1.8b4b84f2c202fp+1022
+-0x1.38a5bba689d82p+1023
+0x1.59acf525b4958p+1022
+0x1.be584b59befbap+1023
+-0x1.99fa42adb3748p+1023
+-0x1.3c65d4e696012p+1023
+0x1.1e78a7ab98564p+1022
+0x1.13126c23a6306p+1021
+-0x1.24f56c9698707p+1021
+-0x1.9fa7ca06bbfb3p+1023
+0x1.cfe30a3493ap+1022
+-0x1.225b6b36d829ap+1023
+0x1.6e961141bdf52p+1023
+-0x1.6e5194a442b2bp+1021
+-0x1.4cf13497ba548p+1021
+0x1.18114826636f2p+1023
+0x1.4707581e83c44p+1023
+0x1.ed57721a53856p+1023
+-0x1.c14c39c4caceap+1023
+0x1.4c66053d0aa6fp+1023
+0x1.4f7ccf2d621d3p+1022
+0x1.413551564c8e4p+1023
+0x1.027d26e725955p+1023
+0x1.66d33b290fe66p+1022
+0x1.53b73de0b1b33p+1023
+-0x1.8e3c0e7c207f7p+1020
+0x1.d5671e0aef634p+1023
+0x1.71cb99d64aeebp+1023
+0x1.7a2464e05b56ap+1022
+-0x1.7a8c09858b6bep+1023
+-0x1.d7024ce084694p+1023
+0x1.29828e77252c6p+1023
+-0x1.0c0be221dff83p+1019
+0x1.987f71d428f3bp+1023
+-0x1.19b2cdb053861p+1023
+-0x1.a9d59fc6297f5p+1023
+0x1.509e65a17eb7dp+1022
+-0x1.f96213f1801d8p+1023
+-0x1.70b50c035ec75p+1023
+-0x1.110c1daa19b1dp+1023
+-0x1.e604c6da2e552p+1021
+0x1.56a83ff02d8c2p+1023
+-0x1.23b62ef1977a2p+1021
+-0x1.4d222af302ff2p+1020
+-0x1.cab97bd25723bp+1020
+-0x1.b026534a2702dp+1023
+-0x1.06987a9caf2c9p+1023
+-0x1.60aaae13f4bc6p+1023
+-0x1.f302c9528c545p+1023
+0x1.6dcf1f3bc81c2p+1022
+-0x1.b16f5a65d886ap+1023
+0x1.2b622f3f4eee8p+1021
+0x1.a690ded3e2f87p+1023
+0x1.2a9b10b13efe8p+1018
+-0x1.aee7bf4d79038p+1023
+-0x1.7bd7769b06499p+1023
+0x1.527607007d0c9p+1023
+-0x1.c0040bf097c9cp+1022
+-0x1.06fbf71c87ebcp+1019
+0x1.1cd91c65bfbeep+1019
+0x1.05b140b4b9874p+1023
+-0x1.454ffa21efecbp+1023
+0x1.f6501b7c84889p+1022
+0x1.fb1fb8be7412ep+1023
+0x1.c7136674760e3p+1023
+-0x1.812d4abc56f75p+1023
+0x1.2b2a03beba2dbp+1023
+0x1.f2cc1ba17096bp+1021
+-0x1.936f299c33b16p+1022
+-0x1.10e773c2a2d1p+1021
+0x1.e036765a7c06ap+1021
+0x1.a96a41157868dp+1023
+-0x1.84dd71d5ed7f4p+1023
+-0x1.ea3519694c819p+1023
+0x1.660d22944973bp+1023
+-0x1.519c4a6868fedp+1022
+-0x1.8db1479314e5fp+1023
+0x1.28bf2048f73cfp+1023
+-0x1.3b5c624e98577p+1021
+-0x1.f900f1bee7389p+1018
+-0x1.947f1429d0829p+1021
+0x1.d0f89241c720ap+1023
+0x1.b8a2265e8327ep+1019
+0x1.7a060e8b4214fp+1020
+-0x1.e287352e5f8a8p+1023
+-0x1.a16d30749bbeep+1021
+-0x1.fa9f5d0e0b17p+1023
+-0x1.2767fff8684cap+1022
+0x1.5f1e3bbfcfd9fp+1020
+-0x1.0358bee2d8784p+1020
+0x1.f9eeea3d15443p+1023
+-0x1.cfe9196446d6ap+1023
+-0x1.a2f5c9f5453edp+1023
+0x1.231d64136ed46p+1023
+0x1.171cd05486ac2p+1023
+-0x1.7524716e50a56p+1022
+0x1.78887c81058dap+1022
+-0x1.254b3af98a7d4p+1020
+0x1.f02f2db70c983p+1022
+-0x1.6647a8a683858p+1023
+0x1.4b786d49bef55p+1023
+-0x1.60e34f947f4abp+1023
+0x1.f6e50dc49f40ap+1023
+0x1.57a72cf668ea5p+1023
+0x1.02cb77e2116dp+1023
+0x1.32a457492cca2p+1023
+0x1.5a0282dc110d6p+1021
+0x1.cfd50819d4de9p+1023
+-0x1.f29f59302fb57p+1023
+-0x1.0e02419718f99p+1023
+-0x1.8cc6449c91b8p+1023
+0x1.e28bb0033ab86p+1020
+0x1.345f8b416d282p+1022
+0x1.ad546e773e931p+1023
+-0x1.2705a8e02bc64p+1023
+0x1.d29e47a39828dp+1023
+0x1.0c9e7e097d2dbp+1023
+-0x1.7de82c4cdc968p+1023
+-0x1.b88cc074b79b4p+1022
+0x1.0fe9efe480d2p+1022
+-0x1.e8d7503f98b71p+1022
+0x1.52ff87d2d1c87p+1023
+0x1.12bb8def50e2ap+1022
+-0x1.d24f4c3e1c656p+1022
+0x1.48fb82a9c869ap+1023
+0x1.17981095d0d84p+1017
+-0x1.f8b548ca59c99p+1023
+-0x1.e4b5bdd4b827dp+1022
+-0x1.4724a60e585b6p+1023
+0x1.fea9e26ebb5ffp+1020
+-0x1.e7b48e54eb092p+1023
+0x1.2cbd40f969404p+1020
+0x1.ad285c6f6a57ep+1021
+0x1.9755e63c84583p+1021
+-0x1.5c4fcfb450d7p+1018
+-0x1.d8319781ff922p+1023
+0x1.18759863be211p+1023
+0x1.9e589286bc028p+1023
+-0x1.945cd68a64ba2p+1022
+-0x1.b7f6626ea11d4p+1022
+-0x1.1a2226793d2b2p+1022
+-0x1.ef3d8c98d67d7p+1022
+-0x1.8045496148682p+1021
+-0x1.52310ec21f8e9p+1023
+-0x1.be952aef07072p+1023
+-0x1.58dd562f7cd2ap+1023
+-0x1.8b3613fd7da07p+1023
+0x1.a43fd3ceecee7p+1022
+-0x1.c8ebcc58718p+1022
+-0x1.a4c8e698ac9ep+1023
+-0x1.73bb39d8c8085p+1023
+0x1.29566f84c2d23p+1023
+-0x1.5856e4b5a54bdp+1023
+-0x1.61f907561c2ddp+1023
+-0x1.1c8e3382e4b35p+1021
+-0x1.caefa6f9f2de9p+1022
+0x1.414ee58bc94d8p+1020
+-0x1.4f9e93a1e40f6p+1017
+-0x1.5c3baae4c8188p+1020
+0x1.81ec60a27c556p+1023
+0x1.d0611cad1c86bp+1020
+-0x1.c3472e4f1ab91p+1023
+0x1.6c875cd06e265p+1018
+-0x1.529e8f49aa8dbp+1023
+-0x1.e11718c39a6bfp+1021
+-0x1.7e3822254e12p+1023
+0x1.3f5c104778299p+1023
+0x1.7f91366d862f9p+1023
+-0x1.1e23272df121ep+1021
+0x1.c413909bf403p+1022
+0x1.6000c86171df5p+1021
+-0x1.ca42614dc3222p+1021
+-0x1.7301899c67a46p+1022
+0x1.b66df709202c1p+1023
+0x1.2fd6a2a6d90b4p+1022
+-0x1.88c20286db7acp+1023
+-0x1.e35e0e9a6aa01p+1023
+0x1.d4927c4960a22p+1023
+0x1.e3065b8f0f7edp+1023
+-0x1.846c26041c2fap+1023
+-0x1.7dc5fe9cffc1dp+1023
+-0x1.a1a933b5e124dp+1022
+0x1.592fa16a71ab4p+1021
+0x1.9a8151eedaab1p+1023
+-0x1.d8b866029b178p+1022
+0x1.6a2077eacaa52p+1023
+0x1.4202e8f386c64p+1022
+0x1.86a90de9f0a5fp+1023
+0x1.6db90c816b8e4p+1022
+-0x1.eb4e1f700a34bp+1023
+-0x1.4c05e0d16d12dp+1022
+-0x1.c301fe6ffcb64p+1020
+-0x1.3cc8e0ffa41a5p+1017
+0x1.637236b0b5acdp+1023
+-0x1.d9ac99391034p+1021
+0x1.460386da6720ep+1023
+0x1.4396391094937p+1023
+-0x1.406b71ec7bb2ep+1021
+0x1.5273698378e55p+1021
+-0x1.954df12ce3b42p+1021
+-0x1.105e6b5e3e8bp+1023
+-0x1.a8acd86c4ba7cp+1023
+0x1.40b6e83164a81p+1023
+0x1.8905ee4837826p+1022
+0x1.56e38616b6049p+1022
+0x1.fb81440d821f6p+1023
+-0x1.7b1a0cc799335p+1018
+0x1.66536b7318715p+1023
+0x1.6163daec068f7p+1021
+-0x1.d6ca78f358862p+1021
+-0x1.469888e9beaa8p+1022
+-0x1.cdd8d064c9205p+1022
+0x1.8bf2399be0b8bp+1023
+-0x1.710e28a167d9p+1020
+-0x1.8fc1e11996963p+1023
+-0x1.0d47867d0e70cp+1021
+0x1.83cd81631e85cp+1023
+0x1.c37f52eee1b1bp+1022
+-0x1.70ae3567f40a3p+1023
+-0x1.5fa24ce6c81bbp+1023
+0x1.faf08ff39969p+1023
+0x1.b66a81833f794p+1021
+-0x1.99020b05eb264p+1021
+-0x1.b89b0dfa63501p+1023
+0x1.c9cc00ec70646p+1023
+-0x1.ed291eb2f7c28p+1022
+0x1.4433832bbaddp+1023
+0x1.608c90b4adc5fp+1023
+0x1.43df190403ac9p+1023
+0x1.fd5f96616e717p+1023
+-0x1.892c8820babd8p+1020
+0x1.891c3ef892952p+1022
+0x1.cfdb064f30a08p+1022
+0x1.26a2035caeb04p+1022
+-0x1.8016c7f9b2342p+1023
+-0x1.71f4cc45e073bp+1017
+0x1.d6b952b988d2ap+1022
+0x1.8a3e72c4479bep+1022
+-0x1.0830fe4c42897p+1023
+-0x1.01b7260aa67d6p+1020
+-0x1.4ec9842e411efp+1023
+-0x1.43cff7843e3edp+1023
+-0x1.648394da4a3ddp+1020
+-0x1.cf01ba3a8e479p+1023
+0x1.28839ed01b6c8p+1021
+0x1.55c641a297faap+1022
+-0x1.1fd57f3a5d164p+1022
+0x1.b779b5c95b787p+1023
+-0x1.e0943f5055fedp+1022
+-0x1.63dccab3285b1p+1020
+-0x1.561bc44008e65p+1021
+0x1.c7cfd3c436e76p+1023
+-0x1.6537e0d5526fbp+1023
+-0x1.7033b23025f44p+1022
+-0x1.49fc4b92b8527p+1021
+-0x1.8bf83858ee178p+1023
+0x1.9998d8ce6d0f6p+1023
+0x1.edde0c777ee05p+1022
+0x1.de852a18a0537p+1018
+0x1.2488dd00d9191p+1022
+-0x1.10ed5cd3dfe8bp+1023
+-0x1.948f8798f5228p+1022
+0x1.54d3e564779e8p+1023
+-0x1.cfa51e4c35714p+1022
+-0x1.8d374c89c805ep+1021
+0x1.1dc4431d390b3p+1020
+0x1.f6ddf8cc1e342p+1023
+0x1.15869acbe8941p+1021
+0x1.e9f6203c3813ap+1022
+-0x1.87be9d120cfd1p+1023
+0x1.01cc5c76e513bp+1023
+-0x1.101044071bdb7p+1021
+0x1.753cba51a0667p+1022
+-0x1.07f1863a70b67p+1022
+0x1.48afd1e084de3p+1023
+0x1.4fb9d443bc815p+1023
+0x1.f46df984439a3p+1022
+-0x1.b3f6a3401c34dp+1022
+0x1.5ce140bfb01e8p+1022
+0x1.0fb953e3972adp+1020
+0x1.7d84e373a14cdp+1023
+-0x1.b441e811121c9p+1023
+-0x1.3fcf168d74eacp+1022
+-0x1.4b5afaf08cdb3p+1023
+-0x1.29b4fa9a2c79fp+1023
+-0x1.334253fc342bcp+1022
+0x1.cc04bfd2b090dp+1023
+-0x1.1a3de738c1b23p+1023
+0x1.8bec03dcfda42p+1023
+0x1.d4814b259ec6fp+1023
+0x1.2f3ca234f2d2fp+1021
+0x1.c9b4fe3ca4c13p+1023
+0x1.fa1c1b498e33ap+1023
+-0x1.e71ee72c27d2ep+1021
+0x1.95dcba815acb3p+1023
+0x1.81d141647d036p+1021
+0x1.c2cce1c165395p+1022
+-0x1.991030f80861ep+1014
+0x1.a879f491a870bp+1021
+-0x1.7cd5a40eb38d1p+1023
+-0x1.af6d0407b5b49p+1023
+-0x1.19613c80fada2p+1023
+-0x1.354e00d0b7985p+1021
+0x1.3b4bd02a4ce8p+1019
+0x1.d53789e538895p+1023
+-0x1.01a8ab13bbf15p+1021
+0x1.5ea3d1c607d38p+1023
+0x1.e7cbadc4cb8c3p+1017
+0x1.9cf893f48b557p+1022
+-0x1.2ca1387511439p+1022
+0x1.2b1500a18d746p+1022
+0x1.6371f7847704bp+1022
+0x1.129905cbba64p+1022
+-0x1.2647f3a5fa0e2p+1023
+-0x1.e71c86ca3e13p+1021
+-0x1.7fafad7bcaeaep+1020
+-0x1.7ca8dbcd53399p+1023
+0x1.a5efe27ffb41ap+1023
+0x1.a8c1446276339p+1022
+-0x1.c6a1c89b4c6b6p+1020
+-0x1.22f7cc885c1d9p+1023
+0x1.0551f5974045cp+1017
+0x1.797546c9f05fep+1023
+-0x1.e2413229e2fdcp+1023
+-0x1.97e739dc7bdb2p+1023
+0x1.7911169948436p+1023
+0x1.c16738feb9c4bp+1023
+-0x1.46af98e34d398p+1022
+-0x1.8168d2f05e58dp+1021
+0x1.609fdfb99c708p+1019
+-0x1.4b59f0ef31a98p+1023
+-0x1.907721255abf8p+1023
+0x1.b3fff9c630f55p+1020
+-0x1.934aff6fb41f9p+1023
+0x1.cc092aadf8fbbp+1022
+0x1.71aea3fb27a78p+1022
+0x1.8df7397485a45p+1023
+-0x1.a6815511d6f0cp+1021
+0x1.5aeadd3f78c4bp+1015
+0x1.965172eaac33ep+1021
+0x1.af2a1e059db56p+1023
+-0x1.0c29f4613a27fp+1023
+-0x1.1bfcf2a9b2717p+1022
+-0x1.98011ca1a9896p+1022
+0x1.9c0f0541851f7p+1023
+-0x1.3f2190e05ac6cp+1023
+-0x1.223090fdbc32bp+1023
+-0x1.2983878fcf6c2p+1021
+-0x1.6e4bbe9389773p+1023
+0x1.835ae6881d492p+1023
+0x1.55fb640d2a65fp+1023
+-0x1.a3766c6de2bcap+1020
+-0x1.477787344951cp+1023
+-0x1.e1797e664bdp+1022
+0x1.d1bd4c4fd6878p+1023
+0x1.3fcdd2bcd5e49p+1023
+0x1.d06e1654d6b2ap+1023
+0x1.54815297b582dp+1021
+-0x1.30da3b01cf8dcp+1023
+-0x1.3237a1ab1dbe1p+1023
+-0x1.23a9e6058f9c8p+1023
+0x1.cca3a37f844c9p+1023
+-0x1.09aff774699b4p+1023
+0x1.df9f301e15eedp+1023
+-0x1.adad70a271b67p+1023
+-0x1.b85807715ef5cp+1022
+0x1.6ba078626a8ddp+1023
+-0x1.e6fadd8d92de4p+1022
+0x1.9fca286dcac9fp+1023
+0x1.cc6306f5460afp+1021
+0x1.7f9ba4e99d0adp+1019
+-0x1.cee1004924c5cp+1023
+0x1.b5a428765c5d8p+1021
+-0x1.7496ef66e6a1p+1023
+-0x1.4785b7bd12c4ep+1023
+-0x1.494eab1ac32f1p+1023
+-0x1.16dcff801087p+1023
+-0x1.e4a230e591477p+1022
+-0x1.3bb60786cea3ap+1022
+-0x1.8d8c8e80bc64ap+1023
+-0x1.ca741cb292da5p+1022
+-0x1.309c64fbe8186p+1023
+0x1.1bc4e0e13d185p+1023
+-0x1.81ce0081a559ap+1021
+-0x1.c6675321177a3p+1023
+0x1.7d8d01d5e38edp+1021
+0x1.fb2d1fee05db1p+1023
+-0x1.8096779304b82p+1022
+0x1.86584ae582346p+1023
+0x1.79356eeb82f81p+1023
+-0x1.96e7170ddaf4bp+1023
+-0x1.37375ea4a0ceep+1021
+-0x1.65530d9fd0c8ap+1020
+0x1.a71c21023cb78p+1023
+-0x1.55a6f6c7e581dp+1023
+-0x1.268750f983e1bp+1022
+-0x1.8cbb1651754e9p+1023
+-0x1.1709be52a5d4p+1022
+0x1.e076c616a83a1p+1023
+0x1.fe35e1efc6954p+1023
+0x1.b9ea7febeb645p+1023
+0x1.edf5fa4710329p+1023
+0x1.1bc64fd900f65p+1023
+0x1.5f6ed996429efp+1022
+0x1.9486fcf109e5bp+1021
+0x1.ca1362a0155dp+1022
+-0x1.bdbf02276fd89p+1023
+0x1.a658c5ca30b95p+1022
+-0x1.fcfd61f6ac1dap+1023
+-0x1.88f6c04bf74f8p+1022
+0x1.4ba43c9347f99p+1023
+0x1.1b3ce751fc649p+1021
+-0x1.7d2a29195bfe2p+1021
+0x1.27038754c57cdp+1022
+-0x1.760c458985041p+1022
+-0x1.815f7d5584413p+1023
+0x1.59480b825bc27p+1019
+-0x1.0e2054bcd4ap+1023
+-0x1.d6ebf2d68b3f1p+1021
+-0x1.3986be24c32f6p+1023
+0x1.beba32e079d6ap+1020
+0x1.be0101d485a7p+1022
+-0x1.1f775470c8853p+1023
+-0x1.b6e4d4dc00c1ap+1023
+-0x1.d19315aa8abd4p+1023
+0x1.b645630535957p+1018
+-0x1.40aa0507b2f35p+1020
+-0x1.64a9523f65e4dp+1021
+-0x1.54f1052033a6fp+1021
+0x1.4f5d1e842e854p+1023
+0x1.b80fb74bb67b8p+1017
+0x1.35389b58bccb4p+1021
+-0x1.fd7dcdd826011p+1023
+0x1.1f550da7f7c4dp+1023
+-0x1.aa515a50e01f6p+1023
+-0x1.cc1cad8c5f8c4p+1020
+-0x1.5aaa1bc272717p+1023
+0x1.47f57c16a7b3fp+1023
+0x1.2c7cb58e16ab2p+1023
+-0x1.3d05cf3f71abcp+1021
+-0x1.8c3515fc6d68ap+1020
+-0x1.96c912d9fc779p+1020
+0x1.bf2344f91a9bfp+1022
+-0x1.eb7fe732a6f9fp+1023
+-0x1.dec95c1ec22d3p+1023
+-0x1.e2252e77925f2p+1023
+-0x1.82ad41f848fa4p+1023
+-0x1.3e0ce969f6bp+1022
+-0x1.cfd1a13bab698p+1022
+-0x1.6ae5699bc5f61p+1023
+-0x1.d07f8590ba07cp+1022
+0x1.d6715ac0a4f4p+1023
+0x1.9c58251e2b027p+1023
+0x1.d26616813245dp+1023
+-0x1.7bce4012f8dd1p+1019
+-0x1.e5fb9cffe0e43p+1023
+-0x1.84a34dcdb5575p+1021
+0x1.c6bbc50cbbf8ep+1023
+-0x1.10495c40b600dp+1022
+0x1.14f45f624a4c8p+1023
+-0x1.39c4a9eb65fabp+1023
+0x1.6744c2dab3dabp+1021
+-0x1.16b5302062578p+1023
+0x1.907f18b418245p+1023
+-0x1.41788ae5aaaedp+1017
+0x1.fd4033cb2259ap+1023
+0x1.e73efaa1d287p+1019
+-0x1.30baea59bfdeap+1022
+0x1.b41961eb3b256p+1022
+-0x1.bcba1f415ba9ap+1023
+0x1.772cbf30f3ab4p+1023
+-0x1.0c9df03241819p+1023
+0x1.f8e1c64e092abp+1023
+0x1.fcd204f9f38ap+1022
+0x1.aa31e4e50c366p+1021
+0x1.2b269f97bca33p+1020
+-0x1.afa3548f45bf9p+1023
+0x1.e8dbb8575b095p+1022
+0x1.3980e3ed32b44p+1023
+-0x1.92ff41e40cb53p+1023
+-0x1.065274b3e6ep+1021
+0x1.64c7ce51b3a27p+1023
+-0x1.c5fc410013f5ap+1023
+-0x1.53ea31ea19e97p+1021
+-0x1.7d26db941a96p+1022
+0x1.def2d31244af7p+1021
+0x1.d7aaea0f13f3ap+1021
+0x1.d3dc0861296dfp+1021
+0x1.c7a8a6fc91b3p+1023
+-0x1.557d0e38d23bp+1021
+-0x1.1437674c6f2fap+1023
+-0x1.e3d2d39bf745cp+1023
+-0x1.cb2789186dfdp+1023
+-0x1.b307d44b6afdfp+1020
+-0x1.b26afc29932edp+1022
+0x1.5d9a619ea1301p+1023
+0x1.0aca98b694c6fp+1023
+-0x1.c330698e5b94bp+1023
+0x1.8d29bfd740832p+1022
+0x1.ee97b4022c214p+1023
+-0x1.789197818b5efp+1023
+0x1.31675adb74495p+1019
+0x1.7681dd6e0a2fbp+1022
+-0x1.4ab247d2f0804p+1023
+-0x1.49955ecdaa852p+1023
+0x1.74493ae448314p+1023
+0x1.47380e8752df3p+1021
+0x1.0be8fbc2861a5p+1023
+-0x1.cd4f0edebe566p+1023
+# Random inputs in the range [0.000000e+00,4.503600e+15]
+## name: workload-integral
+0x1.746762c4d0dfp+48
+0x1.85e8057b3fab8p+50
+0x1.8bb7b219e327cp+51
+0x1.89c0e6ea5abp+49
+0x1.bd66d91a4b16ap+51
+0x1.c3f7bed527f16p+51
+0x1.09be664c818e6p+51
+0x1.e41760ca96b14p+50
+0x1.2461d99a8c68cp+50
+0x1.000dde7ad2f38p+49
+0x1.2e531a9d6dc1ep+51
+0x1.5ed9076c34152p+51
+0x1.65d61729a97b6p+51
+0x1.6d5a63000184p+51
+0x1.51101b1bea6fcp+50
+0x1.4b2489e9d6372p+51
+0x1.a7042475cbb04p+50
+0x1.3145ca84244fp+49
+0x1.71eb9ce6e8bp+45
+0x1.73e48de492ccep+51
+0x1.dc474657d0558p+50
+0x1.c3eda80c69cbep+51
+0x1.5281c32213ba2p+51
+0x1.95172c1b22544p+51
+0x1.f0e16d3f4fee2p+51
+0x1.9850a00a01ad2p+51
+0x1.a2df9adce1ccp+49
+0x1.abf0e38ea7ae8p+49
+0x1.994739ed922p+47
+0x1.aee655920a7e8p+50
+0x1.3c8275a852b88p+50
+0x1.e7ed8ac710958p+50
+0x1.622bda73f83ep+51
+0x1.479ca5723b3e4p+50
+0x1.ec5f201bbde34p+50
+0x1.ae86df7791c48p+49
+0x1.5480da7f0873ep+51
+0x1.c159c7d84fb2p+50
+0x1.c0ba8e8d49d86p+51
+0x1.ea3448b00098p+49
+0x1.416c9adeffb8ap+51
+0x1.a0626129435f8p+51
+0x1.9641d5ff39bbp+50
+0x1.9fd782fd6f448p+50
+0x1.bde3dbc521e3ap+51
+0x1.e98b24c292a1p+51
+0x1.9e8e333825daap+51
+0x1.2b3d5f6461ap+50
+0x1.b0c7d2a32307p+51
+0x1.9436c919c7448p+49
+0x1.12729bd6a1c0cp+51
+0x1.da6fd931f41p+45
+0x1.a880f7cdae53p+49
+0x1.60d0693a44124p+50
+0x1.3a9f71e0307ap+49
+0x1.1282ab46b48p+43
+0x1.2a1aea668bd54p+51
+0x1.d2970df0ea596p+51
+0x1.676126fa86278p+51
+0x1.0c29a52e9d34ep+51
+0x1.8e576eb0dfbbp+48
+0x1.f4894c1a051ap+50
+0x1.ddfdeba7f012p+49
+0x1.f05479635266p+49
+0x1.be0a199b88c22p+51
+0x1.07667f654902cp+51
+0x1.aa028da68e8fp+48
+0x1.8a8989181501ap+51
+0x1.c1dbf84b16c2p+51
+0x1.b38f4c1932338p+51
+0x1.14c1c6981410ap+51
+0x1.ae8a756051b72p+51
+0x1.f8531cb52de8cp+50
+0x1.b983c7ab47ad4p+50
+0x1.f04cebab78efp+48
+0x1.fc824977fd7a2p+51
+0x1.59669e4e17006p+51
+0x1.49879d5a499f4p+50
+0x1.350feb5f98e4p+51
+0x1.7ecf69092a92p+51
+0x1.41570f35d475p+51
+0x1.d2af2893a37p+51
+0x1.09302218244fap+51
+0x1.b16ef06e2c7ap+48
+0x1.76c3a77ad6b8p+45
+0x1.c2fa5fe4dbe56p+51
+0x1.35f1cfd28fbe6p+51
+0x1.ab6fda87a8c9p+50
+0x1.a3f8054eababcp+50
+0x1.2bf135b32b2ap+47
+0x1.736bc9187efc6p+51
+0x1.9e5874e22658p+47
+0x1.f760bf9ede498p+50
+0x1.84171c1122e04p+51
+0x1.a726b935490cp+47
+0x1.455684047a1p+44
+0x1.420a24b9b5d7cp+50
+0x1.1beb6b1e65e88p+51
+0x1.aa6761588a232p+51
+0x1.7a1cb3e2c306p+51
+0x1.cc6ed69a3d388p+49
+0x1.08293b2834e82p+51
+0x1.980f9f88a0a36p+51
+0x1.490aa5d1ab75p+49
+0x1.2c0df8fe02ebp+50
+0x1.95b6064f01abp+49
+0x1.197a769c9c436p+51
+0x1.4402e6c2fb5a8p+49
+0x1.11f2eaead3ap+44
+0x1.e2f2bbcc5e8ap+50
+0x1.8a4e79451074p+46
+0x1.c8af712b25334p+51
+0x1.633d933b06cfp+51
+0x1.c582a78fb552p+50
+0x1.7840fbf81fdc8p+51
+0x1.2790c77d9a51p+50
+0x1.384d29aac3788p+49
+0x1.7914916a0a95ap+51
+0x1.209ed1675b8a2p+51
+0x1.14a8af1c836dp+49
+0x1.920c7f1bb11ap+49
+0x1.303c3b1ad990ep+51
+0x1.3a1412d93210cp+51
+0x1.d48e4e991d8bp+50
+0x1.cd733aee21b1p+49
+0x1.79a500f4a2aap+51
+0x1.577fcde2ddc14p+51
+0x1.c9663e671011ap+51
+0x1.8310b1b012c28p+50
+0x1.f2c248b7c44ap+50
+0x1.d4c3ccb7eb6cep+51
+0x1.5bbcffdfaed88p+50
+0x1.172ae62902cbcp+50
+0x1.e1de008e90bfep+51
+0x1.e485e85c8858cp+50
+0x1.971a9f76b75p+49
+0x1.12aecce4134fcp+51
+0x1.a3d5ba67e995p+49
+0x1.8b8b87e673b68p+49
+0x1.5db98b0625e98p+50
+0x1.e42ebfc8470cp+46
+0x1.62979ff609fcp+49
+0x1.edb3a2ebcc9c8p+49
+0x1.a45f65a9738aep+51
+0x1.3c5d3ef3cb87ap+51
+0x1.e9d40d4847bf8p+50
+0x1.afdd5a9bcf0ep+50
+0x1.989a28a974bep+49
+0x1.9bc7315999d4cp+51
+0x1.b206e24119af8p+49
+0x1.2fe3271c916ep+51
+0x1.d456fb297b18p+45
+0x1.dac0e60b9e01cp+51
+0x1.6fb392247d85cp+50
+0x1.e5146b545452ap+51
+0x1.0163dbc0a40cp+51
+0x1.f2c6fec3a98a4p+50
+0x1.680213b4cb62ap+51
+0x1.b7616dbfb6f96p+51
+0x1.dce6dfcc5dea8p+50
+0x1.cab7d5035063p+48
+0x1.039f05d49cd3ap+51
+0x1.b06985dbc404ep+51
+0x1.8b858aa020e36p+51
+0x1.5e4516bc163cp+48
+0x1.f2daaa2994988p+50
+0x1.db88461d449a2p+51
+0x1.0aa6443b083c4p+50
+0x1.9ce984b55aef8p+49
+0x1.6ab1264078ab2p+51
+0x1.a9c0c9f18efcp+51
+0x1.ba2764ef7747p+50
+0x1.34ae3d444ea6p+47
+0x1.34cd0bff5965cp+51
+0x1.d06848c7d42c4p+50
+0x1.a7713fe2c1692p+51
+0x1.31a6d41b3c08p+49
+0x1.1a817679eb732p+51
+0x1.83b0f30fa229p+50
+0x1.1ecee9e980c4ep+51
+0x1.ae8354bdf9cbp+49
+0x1.4aa7aba9c7cecp+50
+0x1.e4f3dfbb69e2p+47
+0x1.b8b8aa4e6c1e8p+51
+0x1.3cc70a3b71e68p+51
+0x1.98dd69c02c704p+51
+0x1.304a7901ae798p+51
+0x1.706027b637c8p+46
+0x1.2f66e2a208426p+51
+0x1.f336bfb530228p+51
+0x1.4ef7a67485dcp+49
+0x1.2ed7cc05536cp+50
+0x1.e9d00b60a35d6p+51
+0x1.d2f0d9814c698p+50
+0x1.4aa638d1c1666p+51
+0x1.e9a3d88c2fb5cp+51
+0x1.c28d99db206d2p+51
+0x1.8f7554cee4f54p+51
+0x1.4e5fecf297f92p+51
+0x1.e8182fa88854ap+51
+0x1.653725c05e6c8p+49
+0x1.175e10a424ad2p+51
+0x1.f7baa1158adfp+51
+0x1.0ede40edfa5aep+51
+0x1.b6799ea19554p+50
+0x1.ba0e16bf057fap+51
+0x1.91eb7a586d356p+51
+0x1.bdecce8eb303p+51
+0x1.457b0ceeea15ep+51
+0x1.712b186271f96p+51
+0x1.d42241e89bcp+51
+0x1.664179b23c38p+47
+0x1.35e73ddcbaebap+51
+0x1.a8e60e2938508p+49
+0x1.311e00793ba4cp+51
+0x1.ea8d9900e47dep+51
+0x1.e31b6af67c708p+50
+0x1.20be5ada9211ap+51
+0x1.696563102445cp+51
+0x1.3eb534c21dc96p+51
+0x1.518b5377e92fp+48
+0x1.0169fb5b4fdcp+51
+0x1.3c1d6b047c85p+48
+0x1.b914de57fe012p+51
+0x1.f03e47c8d53fcp+50
+0x1.d44300ac1f4a2p+51
+0x1.546d39cf7e9ap+51
+0x1.bac302da8b67p+48
+0x1.7dcc8dec6616p+50
+0x1.77d2f58966b7p+50
+0x1.66ea3a5650368p+50
+0x1.23928d1829382p+51
+0x1.80cb4f9cfd528p+50
+0x1.6c1b30e51169p+50
+0x1.f1b9cd225dc1p+50
+0x1.4f679168db464p+50
+0x1.54899d3d074c2p+51
+0x1.5e0c3e4214ca4p+50
+0x1.1a96702e71a8cp+51
+0x1.d137671b448f8p+49
+0x1.f412fdcca2118p+51
+0x1.a830eb0611f64p+51
+0x1.8e2044581f46cp+51
+0x1.32bb253511c9ap+51
+0x1.1a7b8d6293758p+50
+0x1.016a64518d336p+51
+0x1.d24b4d2baca28p+50
+0x1.a524ac0c50cd8p+51
+0x1.c37ed81fb6648p+49
+0x1.4e66064011c74p+51
+0x1.471aefcca333cp+51
+0x1.6ebe8bbdf7f7cp+50
+0x1.8b6810d668dc8p+50
+0x1.92b3d907f3e5p+51
+0x1.0fd488d42e8dcp+50
+0x1.113f1a763fa66p+51
+0x1.f49f558dbe908p+50
+0x1.702e4175c52fp+49
+0x1.86f58f635feaep+51
+0x1.3b5f932029762p+51
+0x1.a91cab8ce869cp+51
+0x1.2768cfb9855c6p+51
+0x1.75fc92c97f0bap+51
+0x1.0f793a2d1e26ap+51
+0x1.8b252cf7adea4p+50
+0x1.97c7d271ed28p+45
+0x1.40842779a12p+50
+0x1.0e34374d3df4p+48
+0x1.02be41c1345c4p+50
+0x1.8ddc9cb963488p+50
+0x1.a98d3364fc45cp+50
+0x1.3055a58aa99aap+51
+0x1.cbcc86406abp+49
+0x1.8b4378c3e1d0cp+50
+0x1.af398a0ffaeb2p+51
+0x1.cc67a44f7bd5p+49
+0x1.51fbe1ba067fp+51
+0x1.5f02d865556a4p+51
+0x1.de5a7c5313f48p+49
+0x1.b9a46ee72aaap+47
+0x1.ec5aabf766da8p+49
+0x1.3bf0cedfd20a8p+49
+0x1.1e10674b5aceap+51
+0x1.4b0bfbc989cfp+50
+0x1.1ceeef0621488p+49
+0x1.f0d74b089e04ep+51
+0x1.5df02db1d669p+51
+0x1.d2b7ef38edd8p+47
+0x1.c6f336372ef5p+48
+0x1.0e0246cff372p+48
+0x1.ab0746ca8f46p+48
+0x1.5d414e9b91bb8p+49
+0x1.48380e3f6a87p+49
+0x1.4103abf4de99p+48
+0x1.c278b0d8ded2cp+50
+0x1.34205399bb08p+48
+0x1.4bdcca3155f3cp+50
+0x1.a73ba482c0c24p+50
+0x1.865c60b5f573ap+51
+0x1.c8bba8c77b6d8p+50
+0x1.ef75e17c7d806p+51
+0x1.158faee95c3f8p+49
+0x1.c8625db1d1508p+51
+0x1.0399a24c83b3ap+51
+0x1.9e07633cf9ccp+51
+0x1.9a4c5e845902p+47
+0x1.81b3e502b517p+48
+0x1.56f5f0d4a02b6p+51
+0x1.35e9937a9a86ap+51
+0x1.be01fc5c8b39ap+51
+0x1.1e1e9a9fe9aep+48
+0x1.6955e9486dd4p+51
+0x1.a99f63d8028cp+51
+0x1.149943df6a448p+51
+0x1.e5eeaa24552bcp+50
+0x1.cb77f4a065a58p+49
+0x1.82f9be704d804p+50
+0x1.fe3d7fdbf729p+51
+0x1.727f779787d18p+49
+0x1.e6832183d003cp+50
+0x1.4ae20e3cdbc5cp+50
+0x1.589444491166cp+51
+0x1.e1e6285e9f13p+50
+0x1.3310faf0da28cp+51
+0x1.d8ad3bb29cc3p+50
+0x1.a5644ebf6998p+49
+0x1.1771368782592p+51
+0x1.afb87c7b1011cp+50
+0x1.85ae985aaa578p+50
+0x1.881a43feb22f8p+51
+0x1.aa3bcdd548a44p+50
+0x1.a969acbebdbb6p+51
+0x1.a09037a9f9514p+51
+0x1.262a28d43db8p+51
+0x1.a9034d42c5c74p+50
+0x1.cbde9f61691a6p+51
+0x1.6fda08de3f0fp+50
+0x1.9e89badb07396p+51
+0x1.9063bf994b97p+49
+0x1.6c556c535d53p+48
+0x1.a5402233fe24p+50
+0x1.dc919a2494748p+50
+0x1.1c7c4587512b8p+50
+0x1.88ffc6c1b8f94p+51
+0x1.f4bc4d8de150ep+51
+0x1.6f6767dad4b2ep+51
+0x1.48e22e2abc288p+50
+0x1.d28657ee6c8d2p+51
+0x1.d98a6e048b39p+49
+0x1.634484296039p+48
+0x1.59b8c5319e868p+49
+0x1.5504e5c46ac5cp+51
+0x1.50c935c76d15cp+51
+0x1.2aa12c820474cp+51
+0x1.7ddd183f11aa8p+51
+0x1.dda2e6f1b2fbcp+50
+0x1.2182e2f0e27fp+49
+0x1.32f1ed4068f8p+50
+0x1.b421cd37959d2p+51
+0x1.fafadcc7a1cbep+51
+0x1.6737c4d90b0cap+51
+0x1.ef7eb8eedd62p+48
+0x1.ebfa9bbcc9c58p+51
+0x1.cb7d73da2901ep+51
+0x1.51890e9faa63p+50
+0x1.94704459b4388p+50
+0x1.89690f184b72p+51
+0x1.2d8debabdbc9cp+50
+0x1.6d41fc507ce5ep+51
+0x1.f40c70774cbd6p+51
+0x1.12f34fa728p+45
+0x1.1db5d07214752p+51
+0x1.29ee6758b8a72p+51
+0x1.59224b26b3c6p+48
+0x1.b2613999cbc66p+51
+0x1.489fadba1b1d8p+49
+0x1.d402fd365c21p+48
+0x1.a1a6086ec86a4p+51
+0x1.be5dd8a6e8dp+50
+0x1.05ce0d96b0214p+50
+0x1.0d6b7d36da4ecp+50
+0x1.0d354636e7fcp+49
+0x1.258bbde5dc192p+51
+0x1.908c8c2faacap+48
+0x1.8774df3a46974p+50
+0x1.4699083ed86b6p+51
+0x1.f3aa95825a748p+51
+0x1.09b06bf5f4f52p+51
+0x1.8d0af726b56ep+47
+0x1.5659f7d6be16p+49
+0x1.68e7872303aap+49
+0x1.f6ed92fb533b6p+51
+0x1.b31a60293edb4p+50
+0x1.e3d2e572b3p+46
+0x1.2a86047d49ccp+49
+0x1.0fdfc848445dp+49
+0x1.e543d041f385ap+51
+0x1.44d987fefd93ep+51
+0x1.e719229487bbp+49
+0x1.bac452377ee34p+50
+0x1.ea745fa6402ep+50
+0x1.485ed12ed4ec2p+51
+0x1.9b8a84031477p+51
+0x1.f091362f1ff54p+50
+0x1.ffe9ca2c50d1ap+51
+0x1.cd1dbb955501p+51
+0x1.1d7cb39a9524cp+51
+0x1.bfdeb0f3051d6p+51
+0x1.a1736e124f60cp+51
+0x1.e5b4c628f0c9p+49
+0x1.fc424765b7592p+51
+0x1.4d3455a5b5d7p+51
+0x1.9834e537f6eecp+51
+0x1.e1a7f40de3198p+51
+0x1.00521e9a6aaap+47
+0x1.3ac716decc398p+49
+0x1.a75450c6be99p+51
+0x1.1f0795ec9d8p+49
+0x1.a6a5a18eccfdcp+50
+0x1.db6e03979b606p+51
+0x1.9c080226c3b48p+49
+0x1.d3747cff6b198p+50
+0x1.71ad8a4c7a3a4p+51
+0x1.9166304646f1p+48
+0x1.51b5711e01fcep+51
+0x1.a7c25bc2d19ap+50
+0x1.16c56cb86438cp+51
+0x1.20e4b5310a16cp+51
+0x1.9fb27b1a20e8p+51
+0x1.015470e671d1p+51
+0x1.2b1cd1d70072p+49
+0x1.44a42ce1bb852p+51
+0x1.044591a20b04cp+51
+0x1.8c31bae3515e8p+50
+0x1.bfdfe80b740f8p+51
+0x1.15bc01479cfb4p+51
+0x1.8cd19ffbb707p+49
+0x1.c70d55cf60eb8p+50
+0x1.1fec284d704f2p+51
+0x1.50922001e1fa8p+49
+0x1.385ebedcd54e8p+50
+0x1.7276ffe035a34p+51
+0x1.a5162c2669p+45
+0x1.37e1d8de9cbacp+51
+0x1.0657c85d5b342p+51
+0x1.3df079e6319ccp+50
+0x1.5eadd2d2e4f58p+50
+0x1.70bbd797ceed8p+51
+0x1.12ffbade79f3ep+51
+0x1.aac391c5bb584p+51
+0x1.07de37a54f12ep+51
+0x1.6a8d65ce32442p+51
+0x1.bc9b96e3823p+48
+0x1.d8585ed4a0f0ep+51
+0x1.71a2c20ff369ep+51
+0x1.3b898815d8b8p+51
+0x1.dba1948a5b51p+48
+0x1.7d5d05bc37f92p+51
+0x1.515d60bfb60cp+46
+0x1.50670f22de868p+51
+0x1.dd528ccb2e418p+50
+0x1.1224a5c61f0aap+51
+0x1.06dabe54763a6p+51
+0x1.c56ffd1fa074cp+51
+0x1.9f8928d5847b2p+51
+0x1.2ba8c18313954p+51
+0x1.b57317d80af6p+48
+0x1.81e772e53888ep+51
+0x1.8d69a23ee983cp+50
+0x1.4477b9a273d98p+49
+0x1.f82167f2e40cp+49
+0x1.aa8b21783a732p+51
+0x1.801f3fd66fe08p+50
+0x1.2e09bcada47b4p+50
+0x1.5727731195064p+50
+0x1.054a640d9068p+47
+0x1.1222bf10999c4p+50
+0x1.55c0040fa8726p+51
+0x1.055534caf8b18p+49
+0x1.bdb4953e815e8p+49
+0x1.9235c7e67fe1cp+51
+0x1.1bf2a9c15087p+48
+0x1.9617f7a169708p+50
+0x1.351886602664p+50
+0x1.fa86eb65e3876p+51
+0x1.3ea5b75d29f0ep+51
+0x1.7b99f3f315b7p+51
+0x1.e03d1e4eb898cp+51
+0x1.1f67d8b0ae8e6p+51
+0x1.1173374f7e1dcp+50
+0x1.3749b29a4236p+47
+0x1.7c2d0fb943ea2p+51
+0x1.2ccf3e84b5ed6p+51
+0x1.60338aba3c14p+51
+0x1.e8331bd6ebe98p+49
+0x1.207191287ed08p+51
+0x1.ff496109a1e04p+50
+0x1.e6771ed334ab4p+50
+0x1.840cb8bf1d24cp+51
+0x1.e8679da8539a8p+50
+0x1.058deba60af54p+50
+0x1.55fb538573d4p+46
+0x1.9c66a947307b8p+49
+0x1.d07f68d0906b4p+50
+0x1.350c8369b21p+50
+0x1.8eb3b092d356p+49
+0x1.e75e06c9f991ep+51
+0x1.6e6153f2ad98p+51
+0x1.83794040f257p+48
+0x1.0c264c120f628p+50
+0x1.0556a97323e68p+50
+0x1.a82d233e26c3p+49
+0x1.38d5b8230f8a4p+50
+0x1.ec11beffb1028p+51
+0x1.7e2ba50f2098cp+51
+0x1.6595780ce548p+49
+0x1.866535d42273cp+50
+0x1.5f936e84caebp+48
+0x1.fd859e26cbb0cp+50
+0x1.a10e1d72a135cp+50
+0x1.4b7d56100b9fap+51
+0x1.7c24b1c1f74ccp+50
+0x1.bf9bf3e1bbab8p+50
+0x1.42e4e676ec49cp+51
+0x1.366a0893d6d04p+50
+0x1.463ca64aeecp+46
+0x1.07ba1310a8d4p+47
+0x1.f50220632a54p+50
+0x1.9549b0c010f8cp+50
+0x1.872047095e1fap+51
+0x1.f112d2df50b1ap+51
+0x1.92d2ebf651cfcp+50
+0x1.173f124691e1ap+51
+0x1.c37fb4514a3cep+51
+0x1.d90a10f3960bcp+50
+0x1.23df317a08c3p+50
+0x1.0b4ed8bdff086p+51
+0x1.b8bbcc2866f42p+51
+0x1.7429b0da953e8p+50
+0x1.068db8894c918p+51
+0x1.ac01116f2ed9ep+51
+0x1.8bcb446b4812ap+51
+0x1.0e0a9dfd4615p+50
+0x1.9d6f4db748656p+51
+0x1.160fc9d189c4ap+51
+0x1.f280793b82ap+50
+0x1.df5d9826e3e82p+51
+0x1.ea530e556a9bep+51
+0x1.6f63d23e216ap+49
+0x1.de21b12f40aap+51
+0x1.1bbecb2490f62p+51
+0x1.6c548336c16f6p+51
+0x1.59915369bbc18p+51
+0x1.0fe15ffc7775p+49
+0x1.aa155dd20546p+49
+0x1.80e7b32a8c044p+51
+0x1.dcec85661701p+50
+0x1.183323caf05ap+49
+0x1.7c37194ccc7b2p+51
+0x1.bde92bc371cfp+50
+0x1.f2ac1fe3c331cp+50
+0x1.ab36d0c1ba21ep+51
+0x1.141a478f82448p+50
+0x1.20c3e28c5c74ap+51
+0x1.3a7a1b376b4p+51
+0x1.0af2d673cc1cp+48
+0x1.2976ab9b89cc4p+50
+0x1.06fe4545ce7b4p+51
+0x1.3d59803022bep+49
+0x1.5615a6fcaf994p+51
+0x1.069ccdc3bfeaep+51
+0x1.74aa0a6b5d3dap+51
+0x1.93b60431074bcp+50
+0x1.3778da758a97ap+51
+0x1.966355c09dcd2p+51
+0x1.3390574a3e3f2p+51
+0x1.0e75fff5adc2p+50
+0x1.92af8f4cd42ap+48
+0x1.77892677d19dap+51
+0x1.89243dc8a3118p+49
+0x1.f519caea1817p+48
+0x1.6d064c0009ep+48
+0x1.faeadbd140a44p+50
+0x1.e2bcc05f271d2p+51
+0x1.0850ef78469cp+47
+0x1.7656885d436ccp+50
+0x1.3a90388fe44bp+49
+0x1.8a204afee2b8p+46
+0x1.7da2aa4517c78p+50
+0x1.2c8aa85b50338p+49
+0x1.2b07bd56e9d2ap+51
+0x1.64375e8316532p+51
+0x1.2aeac7d6b7d4ep+51
+0x1.a22225ad5d2fp+51
+0x1.4e20be294d664p+51
+0x1.ffd5b2f15967p+48
+0x1.5a245e7551506p+51
+0x1.6e801b1c82a98p+50
+0x1.ee6c0b640bb8cp+50
+0x1.38fdfe1c49154p+51
+0x1.35cdc5384f37p+49
+0x1.dcc47aeafdb8p+47
+0x1.5924104244678p+49
+0x1.2737de1379bc2p+51
+0x1.b3a984913c4cp+51
+0x1.f5ad8d112bb98p+51
+0x1.dfde407d6da2p+47
+0x1.ccc462666beep+47
+0x1.6b41442d72cacp+51
+0x1.d8075072a90dp+51
+0x1.532ac94828eb8p+51
+0x1.85b114b99506ep+51
+0x1.b4c449db9bb6p+48
+0x1.24d7dea6fef12p+51
+0x1.43c417f3fdb6p+51
+0x1.c33a35db4e662p+51
+0x1.1bd0247a780c4p+51
+0x1.ea678207d78bep+51
+0x1.9c0f38feb868cp+50
+0x1.00c1c5ae43f3ep+51
+0x1.af2f0a380362p+49
+0x1.b56c0c70279p+47
+0x1.2f82065daa08cp+50
+0x1.0ca1dd2023b08p+51
+0x1.4db0345c144fcp+51
+0x1.71d7f9e536084p+51
+0x1.5a65db8de6cc4p+51
+0x1.7c992021dc3c2p+51
+0x1.7331c160aceep+51
+0x1.f52bf8c92494cp+51
+0x1.0be4d25c3bd36p+51
+0x1.4a9569c5328a2p+51
+0x1.6f0c9da1d81c2p+51
+0x1.ade4350c3d536p+51
+0x1.bce74372f55p+47
+0x1.f3bc095fcb6d4p+50
+0x1.b7d03ef1188p+48
+0x1.7a82de7b5ef84p+50
+0x1.08645eaf4c2e2p+51
+0x1.6a6729c4a447ep+51
+0x1.53fb3f57456cp+50
+0x1.90a696d1bff38p+49
+0x1.4e7866001ab68p+51
+0x1.04553b359dp+49
+0x1.21f0c61adfdaep+51
+0x1.dbb8f09b82dc8p+51
+0x1.7effafdde9646p+51
+0x1.dce536143a25p+48
+0x1.802474e0d9608p+50
+0x1.1fcee2b2cf75ep+51
+0x1.eec8b9994d35p+48
+0x1.22876914a3ef8p+51
+0x1.034967ea9e558p+50
+0x1.d210677ac0af8p+51
+0x1.789716de4e2ecp+50
+0x1.fa1902358518p+51
+0x1.6e635962f3a7p+48
+0x1.fc696932e03bap+51
+0x1.bcdaa175e7fcp+51
+0x1.be7585bebbec8p+49
+0x1.2aab78b96e0eep+51
+0x1.53f6f99f2482ep+51
+0x1.0e19b4ca21278p+50
+0x1.70e274065db84p+50
+0x1.ed3ea3106cebcp+51
+0x1.96add6a58bccp+49
+0x1.59176bd7181p+49
+0x1.60d75c083bd4p+50
+0x1.2e5542529b49p+51
+0x1.3ecdfbb89b13cp+51
+0x1.93b7d3111758cp+50
+0x1.db43453f03656p+51
+0x1.46e294b2863ccp+50
+0x1.71b4af997c638p+50
+0x1.57e67fece56p+48
+0x1.a8cff81c07224p+51
+0x1.3172e05a3c28ep+51
+0x1.415b0151ab02p+51
+0x1.e6d859cc2b924p+51
+0x1.85b6c6c9d72bp+48
+0x1.7b2fb330c8038p+51
+0x1.2f9e194588a6p+50
+0x1.20248a33fe592p+51
+0x1.a6b56375fc9ccp+50
+0x1.317c416aad298p+50
+0x1.bc3eb9a99d4c8p+51
+0x1.e379d6ee03da8p+49
+0x1.25801c34043c8p+49
+0x1.dc2b7b444ed7p+51
+0x1.daa1f16713ap+50
+0x1.c675d3c8178dep+51
+0x1.64120f9a2935cp+50
+0x1.43c9b7fbc1c14p+50
+0x1.993e17b21f408p+50
+0x1.ac65d2cb0339p+48
+0x1.bee47dcb2eefp+50
+0x1.0bcd9dbeffbep+51
+0x1.083b5b0bf29ep+49
+0x1.9a3d21361e16p+49
+0x1.cf0179721afcp+46
+0x1.2b25013981012p+51
+0x1.23886c9f86416p+51
+0x1.d0202fe6c470cp+51
+0x1.3a544f691cd3cp+51
+0x1.d6241b9d262fp+51
+0x1.d261e991815d8p+50
+0x1.fc478cd1b513p+51
+0x1.863a7f94a30ccp+50
+0x1.95025651d285ap+51
+0x1.d889060a87ba8p+50
+0x1.36c6d56b7d628p+51
+0x1.bb1aaf137456p+50
+0x1.171085166de18p+51
+0x1.c7c6b76f4452ap+51
+0x1.e8ee5db839992p+51
+0x1.dfb38987987bp+50
+0x1.91c646f4d545p+48
+0x1.6accab01d6458p+50
+0x1.71c54837119a8p+50
+0x1.d999b85d5f544p+51
+0x1.05a1ba8af857cp+51
+0x1.9ff5db7f27e7cp+50
+0x1.87a3cf2037e5p+48
+0x1.fd9420cc24784p+51
+0x1.ec2f1bbe01aap+48
+0x1.b958e885febccp+51
+0x1.aeebc8e5c69e6p+51
+0x1.5c300038d1ap+48
+0x1.0b7d81f551904p+50
+0x1.b938043d1bee4p+51
+0x1.a899ca23881p+45
+0x1.c0d23a796d5f8p+49
+0x1.ce8485105d4dcp+50
+0x1.a6a9dd38c72bep+51
+0x1.b4e6499e62c4ap+51
+0x1.a7150006b851p+50
+0x1.4539f0eea589ap+51
+0x1.083db083e395cp+50
+0x1.8d540a35a235cp+51
+0x1.ab9faf6e70baep+51
+0x1.53070aa4a6b0cp+51
+0x1.31aee4491fc8p+47
+0x1.a2f40aec8dcf2p+51
+0x1.d038c2b61ceacp+50
+0x1.27baab948432p+51
+0x1.119604ccc0cd2p+51
+0x1.7ffaeffff3d1cp+50
+0x1.7860f8e9835a8p+51
+0x1.17a86a4a9934p+48
+0x1.e951eb26deedp+48
+0x1.b943ce66e3a3p+51
+0x1.5f7c967eb506p+51
+0x1.8be94d1cf8c5p+51
+0x1.540ea826997b8p+49
+0x1.f3cccf741e1b4p+51
+0x1.209bae76abc5p+49
+0x1.718477d0fd306p+51
+0x1.07ed9d6cf852p+49
+0x1.730c7fddd53a2p+51
+0x1.b2a8ff15f34c2p+51
+0x1.6d4d5fe4d11d4p+50
+0x1.3048dcc1c4324p+50
+0x1.9b11ca69283e8p+51
+0x1.f63c1bcfc3e14p+50
+0x1.44afcd58f83ccp+50
+0x1.d3da4d2909ad4p+51
+0x1.53e1f88365d18p+49
+0x1.0269674a1fb8p+48
+0x1.d0fa18e34808p+45
+0x1.56a0a096d244ep+51
+0x1.b7679d8217db8p+49
+0x1.343e289696b3ap+51
+0x1.56cd57d8e1424p+51
+0x1.c3b8b1bad649p+48
+0x1.a8db6e1e3fccp+50
+0x1.ce2e8bc044b6p+49
+0x1.bae54e473547ep+51
+0x1.a895ad752555p+51
+0x1.e7565e702d214p+51
+0x1.1250c8d1e865p+50
+0x1.2e6256b5d761p+49
+0x1.bd9a93d07116p+51
+0x1.4a20dac15fc3p+51
+0x1.6b8dd6027a8cp+51
+0x1.c5d891f309cp+43
+0x1.a21fd2e32ccfap+51
+0x1.ead98c8b52f6ap+51
+0x1.d186448193b98p+50
+0x1.02dadc425bf2ap+51
+0x1.80902032390d4p+51
+0x1.91a4d46197384p+50
+0x1.9d4462be53916p+51
+0x1.3b2e58aa29e9cp+51
+0x1.25996a2083c02p+51
+0x1.3c7b056866fcp+48
+0x1.1c1c9b2bf0d7cp+50
+0x1.1c0cbf7191cbp+51
+0x1.d3f66ed5f33p+46
+0x1.939ec8eedac5p+50
+0x1.657bdc1784f26p+51
+0x1.d5097c9d6d54ep+51
+0x1.83d5752a8c3e8p+50
+0x1.d7099a644c08cp+51
+0x1.a547d2afd4568p+51
+0x1.93fd260b4628p+45
+0x1.685b42ac677f4p+51
+0x1.4fb4e0abc2ae4p+50
+0x1.067d715c0bd2p+48
+0x1.d9721221362e8p+51
+0x1.cb4ce7772c3a8p+50
+0x1.c3fd6a5d57408p+49
+0x1.6239aa2cc103cp+50
+0x1.7351c9c50953p+50
+0x1.86d6ab20cdb6cp+50
+0x1.24daa3d97bb4p+51
+0x1.9e6e052ae8864p+50
+0x1.aa67d8c8d2fcap+51
+0x1.88859595404eap+51
+0x1.9adb2e126398ap+51
+0x1.6602916737878p+50
+0x1.6a62d69ac4f7p+49
+0x1.076e442a6343p+48
+0x1.0e85946e5b65cp+51
+0x1.d2054990edap+44
+0x1.2fb941c35f04p+48
+0x1.3610cf1ed7154p+51
+0x1.6fac88e03392p+48
+0x1.533468fadcbp+48
+0x1.3d744a6bf872p+47
+0x1.6c40a88919e0cp+50
+0x1.c5e956c345e2p+51
+0x1.4d86d5fac89bep+51
+0x1.83360d51e7b2p+48
+0x1.530a91e223754p+50
+0x1.522b12f7b71f8p+49
+0x1.56ee9a7294c68p+51
+0x1.4c96c7abbaefp+50
+0x1.7ae40724e5a2p+50
+0x1.b73158dc60198p+50
+0x1.d59e94b60869p+50
+0x1.d24da56d8b1f2p+51
+0x1.a77ec447d345ap+51
+0x1.2e595abfca112p+51
+0x1.a82d51ac28c88p+49
+0x1.47fa01a069f3p+50
+0x1.805913ea9bb58p+51
+0x1.ef306f663c75p+49
+0x1.c49998601c332p+51
+0x1.002aff3b1679cp+50
+0x1.b249951a503ccp+50
+0x1.1dff084da09acp+50
+0x1.8282a3fa0a8a4p+51
+0x1.ff35a9212a51p+51
+0x1.c0d2d572cd6bp+50
+0x1.e52d7a3ebd38p+48
+0x1.ffd49312e0d7p+51
+0x1.f0f4ba5db0ab2p+51
+0x1.275501888895ap+51
+0x1.5de02e0045p+40
+0x1.fcac857ce79bep+51
+0x1.1ffb2fdb8f49cp+51
+0x1.5eb07545e29bep+51
+0x1.331799a4e865p+49
+0x1.c96cdb680b8dp+49
+0x1.8bd26a1da9ec6p+51
+0x1.a5c79ae9ad3fp+50
+0x1.730754e6fe06cp+51
+0x1.c55f3e39277p+45
+0x1.027b52126cb06p+51
+0x1.08c1af8c8beb6p+51
+0x1.bb44db1a72b08p+50
+0x1.11a493f552508p+51
+0x1.0c3110458b168p+51
+0x1.9be9f49a2b5p+49
+0x1.e5182737a9f54p+51
+0x1.53205c31d6658p+51
+0x1.b45bb0efdd688p+51
+0x1.123627c096becp+51
+0x1.f579cd75797c8p+50
+0x1.dcbfc666ff27p+49
+0x1.d953517afcbbcp+51
+0x1.c2a5046e3b458p+50
+0x1.303aefdc8935p+49
+0x1.8d9924a700e5cp+50
+0x1.b555cccd0b7fep+51
+0x1.44f7b05b66528p+51
+0x1.b7a0cbbd5f836p+51
+0x1.42a023749ed38p+49
+0x1.cdfc44f06e5p+44
+0x1.44c27da056d6cp+50
+0x1.4b6dc0578e4p+42
+0x1.9e4de78d3f20ep+51
+0x1.1f2b0e48699dep+51
+0x1.21f9c66ca637ep+51
+0x1.7a63bef01ccep+50
+0x1.0bf1beba4f9eap+51
+0x1.29617266aa48cp+51
+0x1.7c11fd308effap+51
+0x1.842bb5f7f74eep+51
+0x1.8613d8407ca2p+51
+0x1.5d838675bd10cp+51
+0x1.d8adc4899244cp+50
+0x1.e5e471ac7fb52p+51
+0x1.9a19f2108d5acp+50
+0x1.e7038632db12cp+50
+0x1.08b98a5bfbb5cp+50
+0x1.650c6990d3694p+50
+0x1.188f556892e26p+51
+0x1.4be7a9788f33cp+50
+0x1.97f4001959196p+51
+0x1.335ce02d36a5ap+51
+0x1.dc17a86fb8952p+51
+0x1.5037308c4f7a4p+50
+0x1.256e6f49ef3a8p+50
+0x1.6e79a839e81p+45
+0x1.ee9fe07ba074cp+50
+0x1.d7e04e2f8af08p+51
+0x1.6b2327d1cac3cp+51
+0x1.fd37a13856f14p+51
+0x1.0d1695aa19818p+51
+0x1.4242c10f4b528p+49
+0x1.4d587f0dfc68ep+51
+0x1.5b5e23d953edap+51
+0x1.839bea5a51fap+51
+0x1.0f3447da0c8d8p+51
+0x1.c2707abcd1a48p+51
+0x1.8d91150298268p+51
+0x1.d0d9823350208p+49
+0x1.c2da5cafff6ep+51
+0x1.5c4af48f154fep+51
+0x1.90a114c8b51ap+50
+0x1.6cf8db95dfed4p+51
+0x1.38f03e985cf4cp+50
+0x1.55953dd3737c2p+51
+0x1.b4d609ae98828p+50
+0x1.d89831b6dfc68p+50
+0x1.98375c851a788p+51
+0x1.42e9e0a2a68b2p+51
+0x1.c4c98dd6d464p+50
+0x1.0bbb8158e7ea8p+50
+0x1.a51a1c09cd7dcp+51
+0x1.ae262ecd12f2p+51
+0x1.6da4239b26d66p+51
+0x1.5323337316aap+48
+0x1.700f30396478p+47
+0x1.3ff2cd4e1f3ecp+50
+0x1.fe7880b484f7cp+50
+0x1.73b6016b82518p+49
+0x1.c6bff697446f8p+49
+0x1.404317f20bc8p+45
+0x1.42cb47fbd7dep+50
+0x1.97cfea135b514p+51
+0x1.9846988953f88p+49
+0x1.fc586837f831p+50
+0x1.d298cd0b72468p+50
+0x1.ae9daaf7424ecp+50
+0x1.688fdfbc042dp+50
+0x1.fe6a5149f122cp+50
+0x1.663fbe54a33f4p+50
+0x1.f3f049ae255acp+51
+0x1.504519af88052p+51
+0x1.5f893e5e4edbep+51
+0x1.07a6d4c527f48p+51
+0x1.0278f195f905ep+51
+0x1.23d341abb0608p+50
+0x1.c93774c5e3448p+51
+0x1.d813beed24ba2p+51
+0x1.1b7889681101cp+50
+0x1.2d46b2ff0a0f6p+51
+0x1.8fdb6ecd526ap+49
+0x1.1544dc1f5475ep+51
+0x1.2a371ca2c752p+50
+0x1.6ebdf3c3c630ap+51
+0x1.8557afa88cdf8p+51
+0x1.318d70b09d5d4p+50
+0x1.a5e260e4976f8p+51
+0x1.d902fd4e32b5p+50
+0x1.653ae66eacf3ap+51
+0x1.e34970dfe9e0cp+51
+0x1.9b375c6646398p+51
+0x1.5b5dcaf63f6acp+50
+0x1.528dbc924dac8p+49
+0x1.c7336be3743a2p+51
+0x1.84becf63408ap+49
+0x1.09f5c296cfa22p+51
+0x1.eaad0154c40bap+51
+0x1.d6bd213db6964p+51
+0x1.8faa9bef7d46p+48
+0x1.e2314d8f31cccp+51
+0x1.c6aff80b9b5dep+51
+0x1.d662244c0f5f8p+49
+0x1.db0e4f81caa5p+50
+0x1.ca240c0d72f2p+50
+0x1.a4ed165376336p+51
+0x1.f16fbf6423a8p+49
+0x1.f4c7aacc01bdp+49
+0x1.e648bae184e3cp+51
+0x1.2c87b302ac3dcp+51
+0x1.6d5760f3c9572p+51
+0x1.cf92427427ac4p+50
diff --git a/benchtests/modff-inputs b/benchtests/modff-inputs
new file mode 100644
index 0000000..355927b
--- /dev/null
+++ b/benchtests/modff-inputs
@@ -0,0 +1,8011 @@
+## args: float:<float *>
+## ret: float
+## includes: math.h
+# Random inputs in the range [0.000000e+00,1.000000e+00]
+## name: workload-0
+-0x1.63cafcp-3
+-0x1.4f0c4cp-1
+0x1.510d26p-1
+0x1.fb6cc4p-2
+0x1.85399ep-1
+0x1.f878aap-2
+0x1.6843f4p-2
+0x1.a1eae6p-1
+-0x1.3c76cp-2
+0x1.bef7e8p-1
+0x1.418d3cp-2
+0x1.627e3ep-1
+0x1.2cc418p-4
+0x1.77a77ep-1
+-0x1.65ab7p-1
+-0x1.c8333cp-1
+-0x1.a3266cp-1
+0x1.8753a2p-1
+-0x1.86ac3cp-5
+0x1.2667e4p-3
+-0x1.402572p-3
+0x1.84b234p-1
+-0x1.9d0edp-5
+0x1.bea7c2p-1
+-0x1.18528ap-1
+-0x1.dbc2e6p-1
+-0x1.a15b5cp-3
+0x1.8aa4acp-2
+0x1.76c466p-2
+-0x1.43dc24p-3
+0x1.ee0e2p-1
+0x1.0ff766p-1
+0x1.9ba76p-1
+-0x1.d6f00ep-1
+-0x1.ab920ep-3
+0x1.9e48c4p-9
+-0x1.ce1b9cp-1
+0x1.fa3022p-1
+-0x1.047fa8p-2
+0x1.e1adb6p-1
+0x1.7b4ddp-2
+-0x1.d31832p-1
+-0x1.0a8ba2p-2
+0x1.4bef2cp-2
+0x1.f3754ap-2
+0x1.75ca46p-1
+0x1.0eed7ep-2
+-0x1.2d7378p-2
+0x1.5602dcp-1
+-0x1.28fb6cp-5
+0x1.81f858p-1
+0x1.ee76c8p-1
+0x1.fe798ep-1
+0x1.6526a6p-2
+0x1.82a8p-1
+-0x1.a00b14p-2
+-0x1.dcb7ap-1
+-0x1.87764p-1
+0x1.34a474p-2
+0x1.d6abd2p-1
+0x1.cbb4acp-2
+-0x1.5cd5a6p-5
+-0x1.6bc2dep-6
+0x1.0f328p-1
+-0x1.69ca42p-2
+0x1.a7b142p-5
+0x1.f3c8bep-2
+-0x1.8a711p-1
+-0x1.477458p-1
+-0x1.0df5fap-1
+-0x1.d2a8acp-7
+0x1.e3ae4ap-1
+-0x1.027ed6p-3
+0x1.79d772p-1
+0x1.18ac1cp-5
+0x1.c7adbp-1
+0x1.2de194p-4
+0x1.11c24ap-2
+-0x1.fb693p-1
+-0x1.b62c34p-1
+0x1.a90ffcp-1
+0x1.80d714p-2
+0x1.7f8a42p-4
+-0x1.fbc6f8p-1
+-0x1.0f312p-1
+-0x1.ac866p-1
+0x1.ca8c14p-1
+0x1.967782p-4
+-0x1.a0ae92p-1
+0x1.1ef54p-4
+-0x1.9b822cp-5
+-0x1.907e6cp-1
+-0x1.95750ap-3
+-0x1.45c184p-1
+0x1.d1098ap-1
+0x1.5e0b56p-2
+0x1.46dc76p-1
+0x1.68c94ap-1
+-0x1.bb3cc8p-1
+0x1.a4242cp-1
+0x1.bf8e7ep-2
+0x1.d24452p-1
+-0x1.6c4c34p-1
+-0x1.018896p-1
+-0x1.19b11cp-1
+0x1.364dacp-3
+-0x1.f876p-2
+-0x1.82c362p-2
+-0x1.06452p-6
+0x1.b56aeep-3
+-0x1.e0cbcp-1
+0x1.cced6ep-3
+0x1.274f5ap-1
+-0x1.3fbc18p-1
+-0x1.291484p-2
+-0x1.a67d06p-5
+-0x1.69d27cp-3
+-0x1.ed496cp-1
+0x1.f7c66ep-3
+-0x1.c01764p-1
+-0x1.3e07acp-1
+0x1.be0784p-1
+-0x1.8009fp-2
+0x1.95e826p-3
+-0x1.67f246p-2
+0x1.6b0338p-3
+-0x1.cced78p-1
+0x1.9e574p-1
+-0x1.6071ap-1
+-0x1.b5e49p-3
+0x1.375796p-3
+0x1.597c24p-1
+0x1.d1f65ep-2
+0x1.a0be6ap-1
+-0x1.b541fep-1
+-0x1.13b6dap-7
+-0x1.83775p-1
+0x1.1b1eaap-2
+-0x1.e14ceap-2
+0x1.0b30ecp-1
+-0x1.e32eecp-6
+0x1.56b1ccp-2
+0x1.a2862cp-1
+-0x1.184b54p-1
+0x1.9c1f2cp-1
+0x1.1cb51p-2
+0x1.c5372ap-2
+0x1.32af02p-1
+0x1.e3dc9p-2
+0x1.94bffp-2
+0x1.d7c52ap-3
+-0x1.710626p-3
+-0x1.cf958ap-1
+0x1.0f16e8p-2
+0x1.50a48ap-1
+0x1.5b8036p-4
+-0x1.d99c76p-1
+0x1.635554p-2
+0x1.f8dfd8p-4
+0x1.d8830ep-1
+0x1.c4653ep-1
+-0x1.eadcbcp-3
+-0x1.d0cce2p-1
+0x1.ba264cp-1
+0x1.6e11bp-2
+-0x1.c7f5a2p-3
+0x1.07ad32p-1
+0x1.eaa652p-1
+0x1.07b4e6p-1
+0x1.dc8d88p-1
+-0x1.bd2a26p-2
+0x1.7b8cf6p-4
+-0x1.3a5ca4p-2
+-0x1.cd0286p-3
+-0x1.5ac314p-1
+0x1.eb3db4p-6
+0x1.815fp-1
+-0x1.9efedcp-1
+0x1.3739eep-2
+-0x1.453d08p-2
+-0x1.1d528cp-2
+0x1.ddc62cp-2
+0x1.cf6f9cp-3
+0x1.08cfcap-5
+0x1.3b87aap-2
+0x1.4524dep-2
+-0x1.75851p-1
+-0x1.d2a12cp-1
+0x1.ce16bcp-1
+-0x1.742372p-3
+0x1.45335ep-1
+-0x1.e6c95ap-2
+-0x1.68b9c8p-1
+0x1.a00ff4p-1
+0x1.c662d4p-5
+0x1.3f6802p-2
+-0x1.69aa64p-2
+-0x1.f1449ep-1
+0x1.6deb82p-1
+-0x1.6e6c22p-2
+-0x1.cc48b8p-1
+-0x1.bda1a4p-1
+-0x1.d66e4ep-1
+-0x1.c6f492p-3
+-0x1.e30852p-2
+0x1.7c154ap-2
+0x1.d8532p-1
+-0x1.c04b2ep-1
+0x1.708fd6p-1
+-0x1.3d3d78p-1
+-0x1.35bea4p-3
+-0x1.f0f8e6p-1
+-0x1.733a2ap-3
+-0x1.a524c8p-2
+-0x1.07a4b4p-3
+-0x1.6363ap-1
+-0x1.7f893p-1
+0x1.3622aep-3
+0x1.a07e28p-2
+-0x1.b04f74p-2
+0x1.d74faep-1
+0x1.492e52p-2
+0x1.e3b93cp-1
+0x1.f5469p-1
+0x1.b29242p-1
+0x1.29cd8p-1
+0x1.18bae4p-2
+0x1.49496ep-1
+-0x1.2b5e2cp-1
+0x1.62096p-1
+0x1.262504p-2
+0x1.175fa6p-2
+-0x1.1b73b6p-1
+0x1.030f92p-5
+0x1.7082aap-1
+-0x1.e123ecp-3
+0x1.90d1ep-1
+0x1.c3b5dep-3
+0x1.7b9df2p-1
+0x1.4bd656p-1
+0x1.4d7388p-1
+0x1.d03b06p-3
+-0x1.886dbcp-3
+0x1.360472p-1
+-0x1.9ef738p-11
+0x1.58927ap-4
+-0x1.cb351p-3
+-0x1.a09228p-1
+-0x1.146edp-4
+0x1.d58c26p-2
+-0x1.334af8p-1
+0x1.1237bp-1
+0x1.bfa20cp-3
+0x1.cd1ebap-3
+-0x1.d6e066p-5
+-0x1.170578p-1
+-0x1.75691p-1
+0x1.9b69fcp-1
+0x1.bb67cap-1
+-0x1.38c5b8p-2
+-0x1.8d3886p-1
+0x1.1e3ac2p-2
+0x1.b639fap-2
+0x1.4686f8p-3
+-0x1.2426dp-1
+-0x1.514f82p-3
+-0x1.1ecbdap-1
+0x1.df9c64p-1
+-0x1.a180ap-1
+-0x1.613ac8p-1
+-0x1.38994p-5
+-0x1.78d984p-1
+-0x1.8e7c6ep-1
+-0x1.337384p-1
+0x1.138dd6p-1
+-0x1.a630ap-1
+0x1.ef1f56p-2
+-0x1.a368e4p-1
+-0x1.7534bcp-3
+0x1.669e6cp-4
+-0x1.9a416p-3
+-0x1.02645cp-1
+-0x1.0a08ep-1
+-0x1.9c93aep-3
+-0x1.b93916p-3
+-0x1.b69dbep-4
+0x1.87456p-4
+-0x1.f0753cp-1
+0x1.d7a19ep-2
+-0x1.413ecp-1
+0x1.177bd2p-1
+0x1.323e7p-1
+0x1.aeafep-1
+0x1.e6befcp-2
+0x1.670a78p-3
+-0x1.8c08eep-2
+-0x1.3b485cp-2
+-0x1.2cfbaap-3
+0x1.b6435ap-2
+-0x1.f0f8f8p-2
+-0x1.b4cbe6p-6
+0x1.8acb6p-2
+-0x1.375eeep-5
+-0x1.c8e38ep-9
+-0x1.5f752ap-2
+0x1.9d54cap-1
+0x1.b932f4p-2
+-0x1.59c2a6p-1
+0x1.4f4bc8p-1
+-0x1.e36e14p-2
+-0x1.94c9eap-1
+0x1.489d52p-1
+-0x1.153b04p-2
+0x1.b5600ep-1
+-0x1.11119ap-1
+0x1.28a47p-1
+-0x1.a613c2p-2
+-0x1.2873fp-1
+-0x1.895dacp-1
+-0x1.93d264p-3
+-0x1.1f99b2p-2
+0x1.c342dcp-1
+0x1.5cb23cp-1
+0x1.ed7774p-1
+-0x1.e7b26p-2
+0x1.eda54ep-2
+-0x1.a036fp-1
+0x1.0aaf3p-1
+0x1.bc3df4p-4
+0x1.069cc4p-6
+0x1.b4c1d2p-1
+-0x1.a7be04p-1
+-0x1.8e45aep-1
+-0x1.2e2bfep-3
+0x1.de932p-2
+-0x1.2dfb9cp-5
+0x1.f6c3d6p-4
+-0x1.1c06e6p-2
+-0x1.c8db72p-1
+0x1.5b7a0cp-1
+-0x1.b4117p-3
+-0x1.8299b6p-1
+0x1.96a872p-1
+-0x1.3df3dp-1
+0x1.3750acp-1
+0x1.9cf40cp-1
+0x1.38b80ep-1
+-0x1.a95c3ep-3
+-0x1.38a0b4p-3
+-0x1.2184dep-1
+0x1.54c7b4p-1
+0x1.a525f4p-2
+0x1.653428p-2
+0x1.2ea704p-3
+-0x1.5a5ac2p-6
+-0x1.85098ep-1
+-0x1.862a52p-2
+-0x1.ed3f8ep-1
+-0x1.5f1f58p-1
+-0x1.3592dap-2
+0x1.eefefap-1
+0x1.39a37p-1
+-0x1.bd2e74p-1
+0x1.4c0f6ep-1
+0x1.c3044p-1
+-0x1.e3a2aap-3
+0x1.6d94e6p-2
+0x1.9c3cf6p-4
+-0x1.fb480ap-1
+0x1.476f9ep-1
+0x1.f1e43p-1
+-0x1.8c8ffp-1
+0x1.7db566p-1
+0x1.066384p-2
+-0x1.301b3p-2
+0x1.61e4c8p-2
+0x1.60d946p-1
+0x1.3052d8p-2
+-0x1.01178ap-4
+0x1.92e9a8p-1
+0x1.59c81ep-1
+-0x1.f79862p-1
+-0x1.a77104p-3
+0x1.8b04cap-1
+0x1.6e8962p-1
+0x1.9c3802p-1
+0x1.48f0d8p-2
+-0x1.a2139ap-1
+0x1.01ccp-1
+0x1.6ef5cap-1
+-0x1.9b4a98p-4
+0x1.d5b988p-4
+-0x1.2457f2p-1
+0x1.3bdfb8p-1
+0x1.014e4ep-1
+0x1.cd60bep-8
+0x1.6c85e6p-1
+0x1.d89266p-1
+-0x1.34534cp-1
+0x1.44eabep-1
+0x1.6e2032p-3
+-0x1.4736d8p-2
+0x1.6c715ap-5
+-0x1.2a665ep-1
+0x1.fdf0bep-1
+-0x1.c5145ap-1
+0x1.de356p-1
+-0x1.a7e81ep-2
+-0x1.5da7f2p-4
+-0x1.fefbd8p-7
+0x1.8e97p-1
+0x1.d85d2p-1
+0x1.ff8354p-2
+0x1.f7170cp-3
+0x1.84eefcp-3
+-0x1.e806aep-1
+0x1.b187p-2
+0x1.959318p-1
+0x1.649564p-1
+0x1.6b12f6p-1
+0x1.db9f92p-1
+0x1.adc5f6p-2
+-0x1.5bc468p-1
+-0x1.43b87cp-5
+-0x1.b15a2ep-1
+-0x1.70ea4cp-1
+-0x1.09fc48p-2
+-0x1.1b1148p-1
+-0x1.998b46p-1
+0x1.f43656p-3
+-0x1.eb5c6p-2
+-0x1.017f38p-2
+0x1.18722cp-1
+-0x1.99cba8p-2
+0x1.0bb198p-3
+-0x1.207dd6p-1
+0x1.281bd8p-4
+-0x1.c4a0d4p-2
+0x1.69135p-5
+0x1.4dc42p-2
+-0x1.66e6dcp-1
+-0x1.518ffap-1
+-0x1.dc1354p-1
+0x1.0b669p-4
+0x1.5d4fecp-2
+-0x1.51de38p-1
+0x1.4003fap-1
+0x1.26a5a2p-1
+-0x1.7126d2p-1
+-0x1.95eed4p-3
+-0x1.1db582p-3
+0x1.a21b24p-4
+-0x1.11b92p-1
+-0x1.e62c7ap-1
+0x1.aff852p-1
+-0x1.11c836p-2
+-0x1.6294dcp-1
+-0x1.ee572cp-3
+0x1.bca65p-1
+0x1.5c1b2ep-1
+-0x1.c39e44p-1
+0x1.23df36p-3
+-0x1.5e58bap-6
+-0x1.286b7ep-2
+0x1.e55424p-1
+-0x1.2e8e4cp-1
+-0x1.d83564p-2
+0x1.e6cb64p-2
+0x1.4d96e6p-1
+0x1.99e5c6p-1
+0x1.78190ap-1
+0x1.799244p-1
+0x1.069c5p-1
+0x1.349264p-3
+0x1.2df32p-3
+-0x1.68a95ep-1
+0x1.58f0f6p-1
+-0x1.b00c84p-1
+-0x1.1d0d68p-3
+0x1.024a68p-3
+0x1.459758p-1
+-0x1.28766p-1
+-0x1.e1557p-1
+0x1.68c16cp-2
+0x1.b9829p-1
+-0x1.f01fd8p-4
+0x1.f06b6ep-1
+-0x1.2a52f2p-1
+-0x1.6b316cp-1
+0x1.70813ap-4
+-0x1.8010d6p-2
+0x1.b6639p-1
+0x1.3c1672p-2
+0x1.acc378p-1
+-0x1.7ad958p-1
+-0x1.5057d8p-5
+-0x1.9d083ep-4
+0x1.9283fep-1
+-0x1.7053eap-4
+-0x1.fdebecp-1
+0x1.c9b6eap-2
+-0x1.42d094p-1
+-0x1.648fd2p-2
+0x1.50cfbap-4
+-0x1.b6f95cp-1
+0x1.c8e1fp-1
+-0x1.3baff8p-4
+-0x1.c1300ep-1
+0x1.ba7ebap-1
+-0x1.d44aa2p-2
+0x1.cdac1p-4
+-0x1.331518p-1
+0x1.985e8p-2
+-0x1.9bf3cap-2
+-0x1.4feb68p-1
+-0x1.9fc4a4p-1
+0x1.09dcfp-3
+0x1.39aadap-1
+-0x1.212aeep-1
+-0x1.9127d2p-1
+0x1.2be826p-3
+0x1.4e029ep-1
+-0x1.70cddcp-4
+0x1.e667b6p-2
+-0x1.ccfe88p-1
+-0x1.59d76ap-2
+0x1.c2e37cp-1
+-0x1.c99bf8p-1
+0x1.dda6a4p-4
+-0x1.0018d8p-2
+-0x1.53b34cp-3
+0x1.69ceb8p-2
+0x1.7b43eep-1
+0x1.9a6522p-1
+0x1.897bfep-3
+0x1.db1cf6p-1
+-0x1.1d89cap-4
+-0x1.7b75c6p-1
+0x1.d34b68p-1
+0x1.3a9322p-1
+0x1.c982c6p-2
+0x1.5b831ap-2
+-0x1.187a96p-2
+0x1.e43d6cp-1
+-0x1.5c0954p-2
+0x1.e2825p-1
+0x1.b0b704p-1
+-0x1.3b272ep-1
+-0x1.1999e6p-3
+-0x1.ffb3c8p-2
+0x1.020abp-3
+-0x1.117f4p-3
+-0x1.21cbaap-3
+0x1.b979bp-2
+0x1.c5e4p-2
+0x1.cb9126p-1
+-0x1.443e6p-2
+0x1.f20776p-3
+-0x1.4a54fap-1
+-0x1.2788f4p-8
+-0x1.37c3e8p-3
+-0x1.b152cep-1
+0x1.f10cccp-1
+-0x1.d87266p-3
+-0x1.225772p-1
+0x1.e27854p-2
+-0x1.acec2cp-1
+0x1.26a7aep-1
+-0x1.625d8cp-3
+-0x1.21c55p-1
+-0x1.c21146p-1
+-0x1.f05f56p-1
+0x1.25358ap-1
+-0x1.ecfbb8p-2
+0x1.9893e2p-1
+0x1.558646p-1
+-0x1.4453fep-1
+-0x1.71bd78p-1
+-0x1.0c776ap-2
+-0x1.5f3fbap-3
+-0x1.393c24p-1
+-0x1.e52f7p-1
+-0x1.2951acp-6
+-0x1.6aab56p-1
+0x1.fb92ap-3
+-0x1.b44d06p-1
+0x1.773636p-2
+0x1.3ee104p-2
+0x1.f0ee14p-2
+-0x1.aebaa8p-1
+0x1.d6b9cap-1
+0x1.071dep-5
+0x1.ef4a8ap-2
+0x1.58456p-3
+-0x1.f9e5f4p-3
+-0x1.a6234cp-3
+0x1.beb19cp-2
+0x1.35c578p-2
+0x1.bcdab4p-2
+0x1.99f2e6p-1
+-0x1.86f424p-1
+-0x1.21fb1cp-1
+-0x1.04d196p-2
+-0x1.124f2ep-6
+0x1.c8510ap-2
+-0x1.7cab78p-3
+-0x1.3bb946p-1
+0x1.7f6edcp-1
+0x1.826948p-3
+0x1.ba664p-1
+-0x1.4906dap-1
+0x1.c09058p-3
+0x1.35a04ep-2
+0x1.439a92p-1
+-0x1.18a3fp-2
+-0x1.4a8e28p-1
+0x1.bdbb16p-1
+0x1.da35b8p-4
+0x1.d37f9p-2
+0x1.69d5a2p-1
+-0x1.18386ep-5
+-0x1.b195c4p-3
+0x1.8707eep-2
+-0x1.c3ba7ep-1
+0x1.b3224ap-3
+0x1.ff4afep-2
+0x1.23d998p-1
+-0x1.ec1bd8p-2
+0x1.eb3712p-3
+0x1.931daap-1
+0x1.94dd66p-1
+-0x1.8b9a54p-1
+-0x1.4a3eccp-2
+-0x1.eecb74p-2
+-0x1.a410e4p-5
+-0x1.fac61cp-1
+0x1.7b701ep-2
+-0x1.644feep-5
+-0x1.a1067ep-1
+0x1.72827ap-1
+0x1.a7fc72p-3
+-0x1.085d58p-2
+0x1.40a97ap-1
+-0x1.48d642p-3
+0x1.0a7494p-1
+-0x1.91a466p-4
+-0x1.a8ce2ep-1
+0x1.eb6b82p-1
+-0x1.dfe4fcp-2
+-0x1.a14578p-2
+-0x1.70cd5ep-1
+-0x1.7b4d98p-1
+-0x1.89a6b8p-1
+-0x1.b269d6p-1
+0x1.6dab2ep-1
+-0x1.08ac96p-1
+-0x1.a00fd4p-1
+0x1.45d93ap-4
+0x1.0f2bc4p-1
+-0x1.e63a32p-2
+0x1.f6fe8ep-1
+0x1.816bc4p-1
+-0x1.385f94p-2
+-0x1.3ba116p-1
+-0x1.11d59ap-1
+0x1.87ccaap-2
+-0x1.55953p-1
+-0x1.d6a906p-2
+0x1.96126ap-2
+-0x1.0da9c6p-4
+-0x1.b3bd74p-2
+0x1.a3da94p-1
+-0x1.fa55dp-1
+0x1.da4914p-5
+-0x1.51a224p-1
+0x1.f0b334p-4
+-0x1.0ff79cp-3
+0x1.61a77ap-1
+0x1.b83ddcp-1
+0x1.165b5p-1
+-0x1.fa03f4p-1
+-0x1.b6887ep-1
+-0x1.3523b4p-1
+0x1.d16948p-2
+0x1.2a29ep-1
+-0x1.cb7264p-5
+0x1.03b73ap-1
+0x1.5b6118p-1
+-0x1.93c95ep-2
+0x1.5cbdd8p-2
+-0x1.786a1cp-1
+-0x1.81c0b8p-2
+-0x1.51618ap-1
+0x1.37f46cp-1
+0x1.33317p-2
+0x1.bf1d04p-1
+-0x1.ea7b38p-1
+-0x1.565b88p-1
+0x1.cf0e2cp-1
+0x1.b6bb48p-1
+0x1.7a5216p-1
+0x1.3333a4p-5
+0x1.e0736ap-1
+-0x1.50b416p-1
+0x1.352a92p-3
+0x1.619df2p-1
+0x1.63e06ap-1
+-0x1.e323eep-4
+-0x1.28a158p-1
+0x1.bf8c44p-2
+0x1.cb9886p-5
+-0x1.538f38p-1
+0x1.873e4p-1
+-0x1.0322f4p-3
+0x1.e48a42p-3
+0x1.3f76b6p-1
+0x1.be1008p-1
+-0x1.e8126cp-5
+-0x1.2c7144p-2
+-0x1.1d7468p-1
+0x1.4ab6a2p-1
+-0x1.de5accp-1
+-0x1.ab73b6p-1
+-0x1.0dee3cp-1
+-0x1.ff505cp-2
+-0x1.40f626p-1
+-0x1.638278p-3
+0x1.0bc33ap-5
+-0x1.362e1ap-2
+-0x1.4a5394p-1
+-0x1.4f6bccp-1
+-0x1.ed5134p-2
+0x1.934784p-7
+0x1.d7aec2p-1
+0x1.294228p-2
+-0x1.7ea966p-1
+0x1.a9e1a6p-1
+-0x1.310818p-3
+-0x1.f942ecp-1
+-0x1.3f6b16p-2
+0x1.fb6746p-1
+0x1.341112p-3
+0x1.b631dcp-1
+0x1.28288ep-2
+-0x1.0f402p-1
+0x1.9fba7p-1
+-0x1.406a34p-3
+-0x1.80ed3cp-1
+-0x1.fda3b2p-2
+-0x1.c0eaf2p-2
+0x1.e8697ep-2
+0x1.494166p-1
+-0x1.1a27bcp-2
+0x1.c2819cp-2
+-0x1.bc1a72p-2
+-0x1.b71b6ep-2
+-0x1.e18c1ap-1
+-0x1.7ad54ap-2
+0x1.a01db6p-1
+-0x1.97892ap-1
+0x1.ae83dcp-1
+0x1.67375ap-3
+-0x1.d97446p-2
+0x1.1f4206p-1
+-0x1.f4a45p-1
+-0x1.ed6b5cp-1
+-0x1.ae6ef4p-1
+0x1.58246ap-1
+-0x1.fff244p-3
+-0x1.890cdcp-3
+0x1.334da4p-1
+0x1.986346p-5
+0x1.abadb4p-2
+0x1.c9345p-1
+0x1.adf66ep-1
+-0x1.49916cp-1
+0x1.db5d64p-2
+0x1.48546ep-3
+0x1.5fbcap-1
+0x1.0a73dp-3
+-0x1.ba398ap-3
+-0x1.802ec4p-1
+0x1.fa196ap-1
+0x1.3459b4p-1
+-0x1.41bf16p-2
+0x1.3c44c6p-1
+0x1.ff31fcp-1
+-0x1.35e388p-4
+0x1.9f84a2p-2
+0x1.2c5c46p-5
+-0x1.adf34ap-2
+-0x1.6080e6p-1
+0x1.44644p-1
+0x1.e94c78p-1
+-0x1.ca38aep-3
+0x1.c37aacp-1
+-0x1.e0b126p-2
+0x1.cf1b92p-3
+0x1.b702bp-2
+-0x1.5fdcb4p-1
+0x1.8d18aep-1
+-0x1.c7240cp-3
+-0x1.a73466p-1
+-0x1.e964acp-2
+0x1.9040a8p-1
+0x1.0fc084p-1
+0x1.f6cc92p-1
+0x1.76f8d2p-4
+-0x1.939edp-1
+-0x1.6975ep-5
+0x1.173ab6p-1
+0x1.c3fc58p-1
+0x1.4ddf26p-1
+-0x1.d66682p-1
+0x1.a1b7c6p-1
+0x1.33c1b6p-1
+-0x1.41565ep-2
+-0x1.78ed56p-2
+0x1.73c3f4p-2
+-0x1.591c16p-2
+0x1.526daep-1
+0x1.413976p-4
+-0x1.e7f5ap-3
+0x1.b1dcacp-2
+-0x1.a25134p-1
+0x1.568b84p-1
+-0x1.446f6ap-3
+-0x1.b029dep-3
+0x1.1a04acp-1
+-0x1.450e62p-1
+-0x1.34d7cap-1
+0x1.257798p-2
+0x1.9a274ep-1
+0x1.f4fa78p-6
+-0x1.9e4c44p-2
+-0x1.65ce9ap-6
+-0x1.5d1f86p-3
+-0x1.4b5f28p-4
+-0x1.6d41fep-3
+-0x1.62a6p-5
+-0x1.2c8dccp-2
+0x1.d8ee54p-2
+-0x1.164a44p-1
+-0x1.865272p-2
+-0x1.d59ca4p-1
+0x1.723a6ep-1
+-0x1.50019p-1
+0x1.0b7e68p-1
+0x1.9c9ec8p-1
+0x1.a41b54p-1
+-0x1.ed4e92p-1
+0x1.b97f24p-2
+-0x1.08606ep-1
+0x1.b5b4a4p-1
+0x1.9050fep-1
+-0x1.0179d8p-1
+0x1.36e184p-8
+-0x1.fa920ep-6
+-0x1.517e1ep-2
+0x1.a140b2p-6
+0x1.5b521p-1
+-0x1.8f7198p-3
+0x1.5817aap-2
+-0x1.216128p-1
+-0x1.8117f4p-2
+-0x1.2ab004p-1
+0x1.f554ep-1
+-0x1.7f0528p-3
+-0x1.7a2266p-2
+-0x1.4c9f6cp-4
+0x1.a09c4cp-1
+0x1.24d12ap-5
+0x1.ef0f56p-2
+0x1.93a882p-2
+-0x1.fa1acep-3
+-0x1.0a5296p-1
+-0x1.4dca9ep-2
+0x1.758e4p-1
+0x1.938c48p-1
+0x1.04d7dcp-1
+-0x1.143d5ep-3
+-0x1.679e52p-2
+-0x1.adbbaep-1
+0x1.7fac6ap-1
+-0x1.462606p-1
+0x1.645d3ep-2
+-0x1.2b09b6p-1
+-0x1.0e234cp-4
+-0x1.a7ca86p-1
+-0x1.8553c8p-1
+-0x1.0874b4p-1
+0x1.9cbeep-4
+0x1.d3e36cp-3
+-0x1.36e694p-3
+-0x1.3a88d4p-2
+0x1.9da0a4p-4
+-0x1.dd4caep-1
+0x1.21d716p-5
+0x1.a41c2cp-1
+-0x1.a49b24p-1
+0x1.211efcp-1
+-0x1.d57732p-2
+-0x1.518a64p-1
+0x1.97eb9ap-1
+-0x1.dc4bd2p-1
+0x1.bbcc7p-2
+0x1.2e0758p-10
+0x1.17b71p-2
+0x1.4542a8p-2
+-0x1.d3340ap-1
+0x1.7d7abap-1
+0x1.16777ep-1
+0x1.df41fp-1
+0x1.96e33ep-2
+-0x1.d1b2eap-2
+-0x1.292794p-1
+0x1.b3137ep-1
+0x1.683d6ap-5
+-0x1.03a2dcp-2
+-0x1.26500ep-1
+0x1.493cfap-1
+-0x1.27cfep-2
+-0x1.af4b94p-1
+-0x1.8abd44p-3
+-0x1.f97558p-6
+0x1.34e03cp-2
+-0x1.00123ep-2
+0x1.318516p-3
+0x1.7ebecep-1
+-0x1.8e5714p-1
+0x1.8d7dp-2
+0x1.e92836p-1
+-0x1.9a5c34p-1
+0x1.936bfep-2
+0x1.6925f8p-4
+-0x1.db0f02p-3
+0x1.2d79cp-1
+0x1.e335fap-7
+0x1.c5c08p-2
+-0x1.1e751cp-4
+-0x1.ce1b02p-1
+0x1.d1bf3ep-3
+0x1.f95c22p-1
+-0x1.9e1b38p-1
+0x1.f07c6ap-1
+0x1.94902p-3
+0x1.189d22p-1
+0x1.ac14fp-1
+0x1.9f8184p-5
+-0x1.8eeafp-2
+0x1.b2928ap-3
+-0x1.4a8d6ap-3
+0x1.98f7f8p-2
+-0x1.3c29aap-1
+-0x1.30e344p-2
+-0x1.f81e14p-1
+0x1.8661b8p-1
+-0x1.dacdacp-3
+-0x1.1b77aep-5
+-0x1.e1b8a4p-4
+0x1.1a5e36p-4
+-0x1.1a9a18p-1
+0x1.16752p-2
+0x1.9223a8p-3
+0x1.382e36p-1
+0x1.f8866ap-1
+0x1.454a2cp-1
+0x1.3a63d6p-1
+-0x1.fa711cp-1
+0x1.9ca2f6p-1
+0x1.7d2dcep-1
+0x1.ab8ffep-2
+0x1.0ad3c6p-1
+-0x1.65978cp-1
+0x1.c5efdp-4
+0x1.70dc3p-1
+0x1.1e78f4p-1
+0x1.599d34p-2
+-0x1.a95114p-1
+0x1.cbac56p-1
+0x1.4b27f4p-1
+-0x1.7f333ep-1
+0x1.a77fcp-1
+-0x1.266ebcp-1
+0x1.8a8086p-2
+-0x1.d89c9cp-2
+0x1.3a465p-3
+0x1.82a5cp-1
+0x1.2f5d0ep-1
+0x1.09f04p-4
+0x1.7512bap-3
+0x1.aef86p-1
+0x1.4152b2p-1
+0x1.806432p-3
+0x1.6e4fd2p-2
+0x1.20ab14p-1
+-0x1.655c88p-1
+0x1.c7f24p-2
+0x1.199268p-1
+-0x1.13efc4p-1
+-0x1.17ca02p-1
+0x1.bbd862p-1
+-0x1.699e28p-1
+0x1.9e3102p-2
+-0x1.886c26p-3
+-0x1.a87692p-1
+0x1.f4e81cp-1
+-0x1.64646cp-1
+-0x1.fd1d5ap-1
+-0x1.4435d2p-1
+0x1.0ca1d4p-5
+0x1.830bfep-2
+-0x1.439a8ep-1
+0x1.cfc594p-1
+0x1.7d10eap-1
+-0x1.de20cep-5
+-0x1.496928p-2
+-0x1.a19cd4p-1
+0x1.825adap-1
+-0x1.840a52p-2
+-0x1.ed230ap-2
+-0x1.4efca6p-1
+0x1.8913ap-1
+0x1.f540ap-4
+-0x1.035b7cp-2
+0x1.9199dcp-1
+0x1.91d598p-3
+0x1.5a45a6p-2
+-0x1.1c5cd2p-4
+-0x1.eb65f6p-2
+-0x1.f511fp-2
+0x1.6ff814p-1
+0x1.f3b146p-1
+0x1.ca1aecp-4
+-0x1.ebfbb8p-1
+0x1.996132p-3
+0x1.5b183ep-2
+-0x1.aa336p-2
+0x1.05a978p-2
+0x1.6f2fd4p-1
+-0x1.a379d8p-4
+-0x1.46859ap-2
+0x1.7152e8p-7
+0x1.4e8c2cp-1
+-0x1.e4e4ccp-1
+0x1.8b6612p-1
+0x1.6a0fc2p-4
+-0x1.e3dd64p-3
+0x1.7ff666p-3
+-0x1.8505dap-3
+-0x1.3eef6cp-1
+-0x1.19388p-1
+0x1.d6907ep-2
+0x1.75f38ap-1
+-0x1.bcb646p-1
+0x1.bd1b88p-1
+-0x1.bb9516p-1
+-0x1.6e5adep-1
+0x1.a20f7cp-1
+0x1.28ce3cp-1
+0x1.dbad9ap-1
+0x1.8ec91ep-3
+0x1.4a7fcap-2
+-0x1.61569ep-2
+0x1.c7861p-3
+-0x1.77c528p-2
+-0x1.a788bp-1
+-0x1.1510eap-1
+-0x1.77f3fap-1
+-0x1.5058d4p-6
+-0x1.67b4eap-2
+-0x1.8bfe8cp-6
+-0x1.02d2ccp-2
+-0x1.572066p-1
+0x1.7d87c6p-2
+-0x1.9e4eep-2
+0x1.2fe546p-4
+-0x1.ab011p-1
+-0x1.c31036p-5
+-0x1.e6df0cp-2
+0x1.16c0d4p-1
+0x1.6abb4ap-1
+0x1.56e09cp-1
+0x1.8f1bb8p-4
+0x1.528486p-1
+0x1.34c408p-3
+0x1.4f9b6ap-3
+-0x1.36062p-4
+0x1.72afa6p-1
+0x1.649eecp-6
+0x1.3ce256p-1
+0x1.84fe1cp-1
+0x1.d9b0b4p-5
+-0x1.bebebep-1
+0x1.16f4b2p-1
+-0x1.8cb3cep-1
+0x1.5a8ebcp-1
+0x1.f6dddcp-1
+-0x1.c17a0ep-6
+-0x1.81812cp-2
+0x1.9a0194p-3
+0x1.eb5facp-1
+0x1.a289fp-2
+-0x1.c09648p-1
+-0x1.ed2a4p-1
+0x1.d26124p-1
+-0x1.cbb30cp-2
+0x1.061622p-1
+-0x1.a981f4p-3
+-0x1.2ac856p-1
+-0x1.ef7726p-2
+-0x1.e57144p-2
+0x1.ed9c46p-3
+0x1.896e8ep-2
+-0x1.7ff6e8p-1
+-0x1.7d21eep-1
+0x1.5ca832p-1
+0x1.843c3ep-2
+-0x1.c3f2d4p-1
+-0x1.6e504cp-5
+-0x1.0f2ebep-1
+0x1.8049f8p-2
+-0x1.3217b4p-2
+-0x1.ea035cp-1
+-0x1.a90a1ap-1
+-0x1.c31c7ap-2
+0x1.42b538p-4
+0x1.a9d7acp-2
+-0x1.88949p-1
+-0x1.14fae2p-2
+-0x1.532b62p-3
+0x1.128ed8p-3
+-0x1.df5bbap-1
+-0x1.a74bccp-2
+-0x1.38e32cp-1
+-0x1.fbc698p-3
+-0x1.38d05ep-1
+-0x1.b636cep-6
+0x1.bf7bfap-1
+-0x1.24de36p-1
+0x1.41fcecp-1
+0x1.3ae2d6p-4
+-0x1.edf9d4p-1
+-0x1.cf140cp-4
+0x1.a4158cp-1
+-0x1.bcc97ap-2
+0x1.493e42p-1
+-0x1.6702fep-1
+0x1.7f7076p-1
+-0x1.20894p-2
+-0x1.9fe664p-1
+-0x1.15b06ap-1
+-0x1.6cd73ep-2
+-0x1.e75a44p-3
+-0x1.0e7dfcp-1
+0x1.2ee01ap-1
+-0x1.f04708p-2
+-0x1.a47ad8p-2
+-0x1.f36efap-2
+-0x1.be8a3p-2
+0x1.27d34cp-1
+0x1.2f8514p-1
+-0x1.8b39e2p-1
+-0x1.e89f9p-1
+0x1.a72cf2p-3
+-0x1.efe2dep-1
+-0x1.653d82p-1
+-0x1.0c2fb8p-3
+-0x1.2ee59p-1
+0x1.ea367ap-1
+-0x1.0dea4cp-5
+0x1.6c2bd6p-1
+-0x1.354b9ap-3
+-0x1.66775ap-4
+-0x1.c237aep-1
+-0x1.3b4e76p-1
+-0x1.d4e234p-1
+0x1.ee88acp-1
+-0x1.e2847ap-4
+-0x1.304f5ap-1
+-0x1.f1053ap-2
+-0x1.0b66eep-1
+-0x1.082b6p-1
+-0x1.075cb2p-1
+-0x1.5cf696p-1
+-0x1.8a39bcp-7
+-0x1.e5fa04p-5
+0x1.38df12p-2
+0x1.27c5b8p-1
+-0x1.85c11ap-2
+-0x1.eee93ap-5
+-0x1.0fff68p-1
+0x1.29e29ap-1
+0x1.f70b24p-2
+-0x1.03263cp-1
+0x1.fc736p-1
+-0x1.5006fap-5
+0x1.a11d2cp-1
+0x1.6b6c92p-2
+0x1.d005b2p-3
+-0x1.21b02p-5
+-0x1.03d5fep-1
+-0x1.47d574p-1
+-0x1.ef9952p-1
+-0x1.23fb82p-3
+-0x1.3be22p-1
+0x1.56adb4p-1
+0x1.30f1cp-1
+0x1.06af34p-2
+-0x1.a7376ep-1
+-0x1.88b994p-1
+0x1.242042p-1
+-0x1.d9ac38p-1
+-0x1.3e1f96p-1
+0x1.359086p-1
+-0x1.38c6cap-1
+-0x1.d9af1ap-3
+0x1.621692p-1
+0x1.34665cp-3
+0x1.45390cp-1
+0x1.40cf68p-1
+-0x1.e42a7ap-2
+-0x1.4e338p-1
+0x1.2a1196p-3
+-0x1.0d47ep-2
+-0x1.f69312p-2
+-0x1.3178d6p-1
+-0x1.79e4bp-1
+0x1.9ef246p-1
+-0x1.c846f8p-1
+-0x1.69851ap-2
+-0x1.3fdb56p-1
+0x1.b31dbap-2
+-0x1.388d12p-1
+0x1.9cad5p-1
+-0x1.b447d6p-1
+-0x1.f5a54cp-1
+-0x1.636104p-1
+-0x1.29ac2p-1
+-0x1.ea867ep-1
+-0x1.2859e6p-2
+0x1.7e23cp-1
+0x1.213798p-2
+-0x1.2df3bcp-1
+-0x1.ca2c9p-1
+-0x1.88beaep-1
+0x1.de6824p-2
+-0x1.7000b8p-4
+0x1.1a27cep-1
+0x1.5f257cp-2
+0x1.2d0d08p-6
+0x1.1b00f8p-2
+-0x1.b29cacp-2
+-0x1.8f6624p-2
+0x1.51c334p-4
+0x1.079a1ap-1
+0x1.fe02dep-1
+-0x1.68e44ap-1
+-0x1.daa726p-1
+-0x1.6fe984p-5
+-0x1.f9de8ap-1
+-0x1.708dc2p-2
+-0x1.f28c2p-1
+0x1.7ea5e6p-2
+-0x1.22a264p-2
+0x1.f81fb4p-2
+-0x1.5deb0ep-1
+0x1.2d697ap-2
+0x1.530dbp-2
+0x1.b53632p-1
+-0x1.e85cb8p-4
+0x1.bbe14ap-1
+0x1.ac1126p-1
+0x1.9f524cp-1
+-0x1.395ed8p-1
+-0x1.9b3232p-3
+0x1.b00308p-6
+0x1.360dbap-2
+-0x1.fad06ep-2
+0x1.953922p-1
+0x1.b6e934p-2
+0x1.dcf538p-3
+0x1.5e322ap-2
+0x1.58b98p-2
+-0x1.c1162ap-1
+0x1.044604p-1
+0x1.4a08c6p-1
+-0x1.96b95p-1
+0x1.7d622ep-1
+-0x1.44c38p-15
+0x1.f08486p-1
+-0x1.9e4494p-1
+0x1.a5c8bp-1
+0x1.7b45cp-3
+0x1.66312p-2
+0x1.91c99ep-2
+-0x1.ad5412p-1
+0x1.2a1b8cp-1
+0x1.102c3p-1
+-0x1.24f664p-2
+0x1.ee92bep-2
+-0x1.9843fp-1
+0x1.d3c1f8p-8
+0x1.34d69ep-4
+-0x1.bcf0cap-2
+-0x1.b8e50ep-1
+-0x1.aa891ep-4
+0x1.a4273ap-1
+0x1.967cbep-2
+0x1.334b08p-2
+0x1.7a1576p-1
+-0x1.77e2eep-2
+-0x1.e4fb6p-1
+-0x1.696184p-1
+0x1.7a8ca2p-2
+-0x1.b3c364p-1
+0x1.a2affcp-2
+0x1.033852p-2
+-0x1.4cd648p-2
+0x1.5e7e92p-1
+-0x1.56905ap-1
+-0x1.af1c54p-6
+-0x1.01e1bcp-1
+0x1.8504bp-1
+-0x1.6dadfap-5
+-0x1.f01a5ap-2
+-0x1.25a766p-1
+0x1.ede42ap-1
+0x1.64b1b4p-6
+-0x1.619f8cp-1
+-0x1.6309dp-1
+-0x1.8ab31cp-1
+0x1.0536ap-1
+0x1.db7dbp-1
+0x1.02217cp-1
+0x1.4f7192p-1
+0x1.61629p-5
+0x1.b1c056p-3
+-0x1.34b0c8p-1
+-0x1.c58502p-2
+-0x1.42ef4p-2
+-0x1.5f7e44p-1
+0x1.70f66ap-3
+-0x1.4f61d4p-2
+-0x1.fe6aa2p-3
+0x1.cad1dcp-2
+0x1.d2282ep-2
+0x1.402c96p-2
+0x1.a8072p-1
+-0x1.163882p-1
+-0x1.e94714p-2
+-0x1.d32ad6p-1
+0x1.2e429p-9
+0x1.b1c3bap-1
+-0x1.c0aba4p-1
+0x1.382de4p-4
+0x1.7e678ap-1
+-0x1.6f716cp-1
+0x1.6e778ap-2
+-0x1.613f66p-1
+-0x1.4c43d6p-3
+-0x1.f10394p-1
+0x1.f236p-1
+-0x1.0002aap-1
+-0x1.1e66ccp-3
+0x1.cf36e2p-2
+-0x1.76bd6cp-3
+0x1.54cae6p-1
+0x1.049dbap-2
+0x1.691cd4p-1
+0x1.52a592p-1
+0x1.23d9e6p-4
+0x1.032eacp-1
+-0x1.fd7d66p-1
+-0x1.fe88a4p-2
+-0x1.0f3284p-2
+0x1.2a5a74p-2
+-0x1.3eaefap-2
+-0x1.b0d926p-1
+-0x1.5b4a66p-1
+-0x1.80d254p-2
+-0x1.6bbbb8p-4
+0x1.114272p-1
+0x1.ac4f22p-1
+0x1.9f017ep-1
+0x1.d2f3a4p-2
+0x1.a7eaccp-1
+0x1.cbde04p-2
+-0x1.180e52p-1
+-0x1.d2cf08p-2
+-0x1.f7a6eap-2
+0x1.13886ep-4
+-0x1.ec89a4p-1
+0x1.a06cccp-1
+-0x1.de738p-1
+0x1.57a82ep-1
+-0x1.b2cf22p-2
+0x1.524cecp-1
+0x1.f1229p-1
+0x1.e5a234p-1
+0x1.62f7ccp-1
+-0x1.97ad5cp-5
+-0x1.c10578p-1
+0x1.e6b6fp-2
+0x1.0c0decp-2
+-0x1.57bffcp-3
+-0x1.4bfb28p-1
+0x1.b58b0cp-1
+0x1.8d86eep-3
+-0x1.7a3094p-1
+0x1.b549dp-2
+0x1.313f5p-5
+-0x1.c6f17ep-1
+0x1.4414a8p-1
+0x1.cf6ccep-3
+-0x1.2ee8bap-1
+-0x1.86121p-2
+-0x1.d6da44p-1
+-0x1.7323f8p-5
+-0x1.228a5cp-6
+-0x1.bcf22ep-2
+0x1.c95e7ap-1
+0x1.54744ap-3
+0x1.f45a14p-1
+0x1.fd16f2p-6
+0x1.3ea204p-1
+0x1.ba69d8p-3
+-0x1.7950c6p-1
+-0x1.0e8562p-2
+-0x1.981f7cp-1
+-0x1.382c38p-1
+-0x1.55c4b4p-2
+-0x1.1e2432p-2
+0x1.e044f8p-2
+0x1.3745fep-1
+0x1.2df906p-1
+0x1.4c3022p-2
+-0x1.ad6e4p-1
+-0x1.6c7eb6p-1
+0x1.133268p-1
+0x1.d48c3cp-1
+-0x1.bf9e52p-1
+0x1.00c732p-2
+0x1.662274p-3
+0x1.31785p-3
+-0x1.2404bp-2
+0x1.11a39ap-1
+-0x1.509e4ap-7
+-0x1.d31e82p-4
+-0x1.1a2d3cp-2
+0x1.656e1ep-1
+0x1.9c1e08p-1
+-0x1.f2ce62p-2
+-0x1.71e2bep-1
+-0x1.470772p-2
+0x1.9919d8p-3
+0x1.1db40ep-1
+0x1.31ed6ep-1
+0x1.1efd78p-2
+0x1.75e94cp-2
+-0x1.4804eep-7
+-0x1.44e95p-1
+0x1.82b0bep-3
+0x1.e3c64cp-1
+0x1.1f35eap-1
+-0x1.b9881p-1
+-0x1.443cap-1
+0x1.79c59p-1
+0x1.0921b4p-1
+-0x1.dff7fp-1
+0x1.109a1p-1
+0x1.c6b5a2p-1
+-0x1.44c9d8p-5
+-0x1.2a8548p-4
+-0x1.f992a4p-1
+-0x1.d8afeep-1
+0x1.2c56p-2
+-0x1.d70f46p-3
+-0x1.8c254cp-2
+0x1.74ac42p-2
+0x1.129058p-3
+0x1.b7b4f4p-3
+0x1.f32eb8p-1
+0x1.bef956p-2
+-0x1.2ef70ap-2
+-0x1.5c7de2p-1
+-0x1.db93c8p-2
+-0x1.9500ep-3
+0x1.8e6a62p-4
+0x1.79f0a6p-2
+-0x1.a3551ep-2
+-0x1.2fb418p-1
+0x1.c34a74p-2
+0x1.f74e14p-5
+0x1.a415aap-1
+0x1.d234e6p-3
+0x1.9ad09p-2
+0x1.45d4ccp-1
+0x1.647276p-2
+0x1.7f684ep-2
+-0x1.e358d2p-1
+0x1.c7eb0ap-2
+-0x1.061492p-2
+0x1.7fb364p-8
+-0x1.514cfp-1
+0x1.1787b2p-5
+-0x1.42e7fep-2
+-0x1.f692f8p-1
+-0x1.113514p-1
+0x1.4e98d8p-2
+0x1.0d23aep-2
+-0x1.a354bp-2
+-0x1.b3eeep-1
+0x1.6ed08ap-3
+-0x1.c74804p-1
+0x1.e92704p-3
+-0x1.aa4a24p-4
+-0x1.d443aap-1
+0x1.237a6p-4
+-0x1.6d96e2p-5
+-0x1.6ba64ep-1
+0x1.6e9b32p-2
+0x1.03b2eap-1
+0x1.353312p-3
+0x1.70c46ap-1
+0x1.b4c1bap-1
+-0x1.972798p-1
+0x1.cbf884p-3
+0x1.522e4ap-2
+0x1.7d188ep-2
+-0x1.f4e5cep-1
+-0x1.74f77cp-1
+0x1.f20304p-1
+0x1.a199e2p-1
+-0x1.f49362p-1
+-0x1.41c7fp-1
+-0x1.6f91cap-2
+-0x1.d78732p-3
+-0x1.ae443cp-2
+-0x1.eb7b2ep-1
+0x1.529262p-1
+0x1.48706ap-2
+0x1.05ad42p-1
+-0x1.9ea636p-1
+0x1.832af4p-2
+0x1.c1aaaep-1
+0x1.723e8p-2
+-0x1.eb638p-1
+-0x1.68fda8p-1
+0x1.9fc44cp-1
+0x1.5ad3cep-1
+-0x1.b8e40ap-1
+-0x1.e1338ep-2
+-0x1.e7ca46p-5
+0x1.eac5a6p-2
+-0x1.c33ab4p-3
+0x1.1eec0ap-2
+0x1.c39e3cp-3
+0x1.400644p-1
+-0x1.0a5e18p-2
+-0x1.05bba6p-2
+0x1.18335p-1
+0x1.bb8a2ep-1
+0x1.afc582p-2
+0x1.e875eep-2
+0x1.914bccp-1
+0x1.da85cap-2
+0x1.b954fep-4
+0x1.04eadcp-3
+0x1.628bd4p-3
+-0x1.e0235ep-3
+0x1.cd601ep-2
+-0x1.0815c4p-1
+0x1.42aafap-1
+0x1.de8beap-1
+-0x1.039e1cp-3
+-0x1.1debfap-1
+-0x1.e340e8p-2
+-0x1.a69718p-6
+0x1.36041ap-2
+-0x1.f76d06p-2
+0x1.34de18p-3
+-0x1.01859ap-1
+0x1.a2d4d6p-1
+0x1.11d964p-1
+-0x1.b6cdeep-2
+-0x1.02bdd2p-4
+-0x1.e9ed66p-5
+0x1.261b26p-1
+-0x1.ed7308p-1
+0x1.914228p-3
+0x1.ce73bep-1
+-0x1.e9eac6p-2
+0x1.e72454p-1
+0x1.a5d88p-2
+0x1.08866ep-1
+0x1.fe8e1ap-1
+0x1.6a1866p-1
+-0x1.459104p-2
+0x1.f740a6p-1
+-0x1.247816p-2
+0x1.fcbc5p-4
+-0x1.b46fcep-4
+-0x1.6779b6p-1
+0x1.64a6fcp-3
+0x1.3f11f4p-1
+-0x1.78af48p-2
+-0x1.230bfap-1
+-0x1.fd4dd8p-2
+-0x1.eee0e2p-2
+-0x1.1b2132p-2
+-0x1.f9882cp-1
+0x1.fb9ccap-2
+-0x1.3ffb5ep-1
+0x1.277856p-1
+-0x1.c9086cp-1
+0x1.b76cf4p-2
+0x1.ec2edep-1
+0x1.5c4a98p-2
+0x1.884cd8p-2
+0x1.c40114p-1
+0x1.e3c984p-2
+0x1.f4bdd2p-1
+-0x1.9d2a52p-1
+0x1.003aep-1
+-0x1.3c4d2p-1
+-0x1.c37bbep-4
+0x1.c04f98p-1
+-0x1.07318cp-3
+-0x1.1b9e46p-3
+-0x1.c2c112p-1
+0x1.511c84p-3
+-0x1.aeaaccp-1
+0x1.047488p-1
+-0x1.9061fp-1
+0x1.5df0dcp-1
+-0x1.5d5e08p-2
+0x1.5cbbfcp-6
+-0x1.ec2614p-1
+0x1.20a1dep-1
+0x1.69432ap-1
+-0x1.369c34p-3
+-0x1.f0aa7ep-3
+-0x1.e29bfp-2
+0x1.f4e85cp-1
+0x1.d9ac1cp-1
+0x1.71f1b6p-3
+0x1.c18202p-1
+-0x1.d499e2p-3
+0x1.af4c9ep-1
+-0x1.0edab4p-2
+0x1.3d959cp-1
+-0x1.3fb9a4p-3
+0x1.4f0dfap-3
+0x1.b06d44p-2
+0x1.824184p-2
+0x1.b431c6p-2
+0x1.7acb4p-1
+0x1.1fee8ap-1
+-0x1.2380e2p-1
+0x1.1f54e2p-1
+0x1.da5428p-3
+-0x1.3db5dp-1
+0x1.6e4e44p-4
+-0x1.fdde6ep-1
+-0x1.5c1a7cp-3
+-0x1.97d5f8p-1
+-0x1.573c96p-2
+-0x1.46b65ep-1
+0x1.31d40ep-1
+-0x1.2093e8p-4
+-0x1.6d06fep-4
+-0x1.7a887ap-5
+0x1.50e4f6p-1
+-0x1.f6ffb6p-3
+0x1.bd218ap-2
+0x1.9cd098p-2
+-0x1.816d8p-1
+-0x1.e776f2p-3
+0x1.021b74p-3
+0x1.c9b388p-1
+-0x1.1abaeep-4
+-0x1.9d737p-3
+0x1.efa72p-2
+0x1.58cdfap-1
+0x1.3ab38ep-3
+-0x1.b5f4ccp-2
+-0x1.fbe7f4p-2
+-0x1.71174p-2
+0x1.a99062p-5
+0x1.695c0cp-2
+-0x1.da80aap-1
+-0x1.4651aap-2
+0x1.34d532p-1
+-0x1.d70fcp-1
+0x1.efbd32p-2
+0x1.9299d8p-1
+0x1.bb034ep-1
+-0x1.808ed2p-1
+0x1.8ef63ep-2
+0x1.9eae1ep-1
+0x1.a00f5ap-2
+0x1.c37984p-1
+-0x1.6749c4p-1
+-0x1.e11bc8p-1
+-0x1.d7ef1p-2
+0x1.996928p-8
+-0x1.a465p-2
+0x1.19ad9p-1
+0x1.c08a68p-4
+0x1.accc74p-1
+0x1.8dafbep-3
+-0x1.5e3ff4p-1
+0x1.bed1d8p-2
+-0x1.ccc46cp-1
+0x1.3d4ddcp-4
+-0x1.109f5ep-4
+0x1.f06016p-2
+-0x1.226df4p-1
+-0x1.d8c454p-3
+0x1.3b51fp-1
+0x1.48034cp-1
+0x1.bfab58p-1
+0x1.62c1dap-2
+-0x1.94cf38p-1
+-0x1.2ba57p-2
+-0x1.8bd6d4p-3
+-0x1.c8765ep-3
+0x1.76602cp-1
+0x1.5199f2p-5
+-0x1.6c29f2p-2
+-0x1.249272p-1
+-0x1.f8fdd4p-2
+-0x1.0ea6p-2
+0x1.920a04p-2
+0x1.05214ep-1
+-0x1.586f58p-2
+0x1.949c0ep-1
+0x1.dc91d4p-1
+-0x1.2963e2p-1
+-0x1.487a7p-2
+0x1.3ac622p-1
+-0x1.36b172p-2
+0x1.4aad18p-1
+0x1.ab09c6p-3
+-0x1.3096f2p-1
+-0x1.2fd0a4p-5
+-0x1.2b1e0ap-2
+0x1.9fb1f6p-5
+-0x1.5e756cp-2
+0x1.893554p-1
+-0x1.af32fcp-1
+0x1.90cc54p-1
+0x1.e66f12p-4
+-0x1.cce3ep-2
+0x1.4aa434p-1
+-0x1.8d806p-4
+0x1.bf6c4p-5
+-0x1.1fd37cp-3
+0x1.4f1ae2p-4
+-0x1.643edap-4
+-0x1.cc291p-1
+0x1.6d9074p-3
+0x1.68c23cp-1
+-0x1.cfadf6p-2
+-0x1.8d6f88p-1
+-0x1.bb0ed8p-2
+-0x1.f591e4p-2
+-0x1.021a66p-1
+-0x1.3c23d6p-1
+0x1.2e05dap-2
+-0x1.2620a2p-1
+0x1.d07da2p-2
+0x1.aa8a72p-2
+0x1.416f4ap-3
+0x1.bc0a68p-1
+-0x1.fda962p-4
+-0x1.ec6818p-6
+-0x1.833db8p-2
+-0x1.7f61d2p-1
+0x1.024df6p-2
+-0x1.5943f8p-1
+0x1.c85926p-1
+0x1.aa2ef8p-4
+-0x1.62cb9cp-3
+-0x1.13f79ap-1
+-0x1.63d7ap-1
+0x1.ebe976p-1
+-0x1.c8e8fcp-1
+-0x1.3dc446p-2
+0x1.6025cep-1
+-0x1.f46664p-2
+0x1.aa94dcp-1
+-0x1.63dbd4p-2
+-0x1.a56f32p-1
+-0x1.7dde54p-3
+0x1.10379ap-2
+-0x1.fffc48p-1
+-0x1.1884dap-3
+0x1.1ac93ap-2
+-0x1.271b4ap-1
+-0x1.9d8cecp-3
+-0x1.b48f3ep-1
+0x1.bfcad2p-1
+0x1.24befap-4
+0x1.0c27a2p-1
+0x1.7e9f62p-1
+0x1.eb35c2p-1
+0x1.8429d6p-1
+0x1.7fb05cp-3
+0x1.be6018p-1
+0x1.58d5d8p-2
+0x1.b793e2p-2
+-0x1.1f946p-2
+0x1.f54474p-3
+-0x1.50f358p-3
+0x1.0b0454p-2
+-0x1.3f360cp-3
+0x1.502514p-4
+0x1.3505fap-3
+-0x1.e6a7ep-2
+0x1.c08228p-1
+0x1.e7b80ep-1
+0x1.63be7ap-2
+0x1.a9010cp-1
+0x1.7b04bep-1
+0x1.883e4p-2
+0x1.09b27ap-1
+-0x1.4a1452p-3
+0x1.08b332p-2
+-0x1.dfc0f8p-1
+-0x1.bf7c4ap-5
+0x1.61aaeap-4
+-0x1.30968cp-1
+0x1.a8f706p-2
+0x1.b080bap-2
+0x1.7e7c74p-2
+-0x1.6e6d14p-2
+0x1.bd55dap-5
+0x1.088a74p-1
+-0x1.03b74cp-1
+-0x1.f7a74ep-3
+-0x1.ff6ad6p-8
+0x1.2df69ap-6
+-0x1.cd8534p-3
+0x1.1632p-1
+0x1.3c698cp-1
+-0x1.fbedep-1
+0x1.0aaaccp-1
+0x1.35286p-3
+0x1.64cbacp-5
+-0x1.37c9c4p-4
+0x1.d9a7a8p-1
+-0x1.167122p-1
+-0x1.41212ep-6
+-0x1.90f75ep-3
+-0x1.9fc096p-2
+-0x1.1ee676p-1
+0x1.e7703cp-1
+-0x1.5df438p-1
+0x1.a758e6p-1
+0x1.025688p-3
+0x1.b599e4p-1
+-0x1.b48dc6p-1
+0x1.626212p-2
+-0x1.8fa66cp-1
+0x1.44f5bcp-1
+0x1.8ef52ep-1
+-0x1.43a1fep-1
+0x1.f000eep-3
+-0x1.f3038ep-2
+0x1.6d5e1ap-1
+-0x1.1c6ba4p-1
+-0x1.b0e4a4p-2
+-0x1.d4641p-1
+0x1.e5311cp-1
+0x1.3d12ecp-1
+0x1.3fcap-1
+0x1.72bcecp-2
+0x1.251582p-1
+-0x1.1aee52p-4
+-0x1.af3e32p-1
+0x1.80b886p-1
+0x1.16302ap-1
+0x1.2aaa8p-3
+0x1.b25cb8p-1
+0x1.0a96f4p-1
+0x1.4cd3c8p-2
+0x1.89cb4p-1
+-0x1.6835ap-3
+0x1.310dd8p-3
+0x1.f056dp-1
+-0x1.ec7464p-1
+-0x1.858fd8p-5
+-0x1.a71fep-1
+-0x1.db93b6p-1
+-0x1.49ae86p-1
+0x1.4bcdd6p-3
+0x1.3feb8cp-1
+-0x1.bdf40ap-2
+0x1.c145f2p-1
+-0x1.cc49f4p-2
+0x1.e58a0ep-2
+-0x1.6a4092p-1
+0x1.1abd76p-1
+0x1.78ccb8p-1
+0x1.4a1984p-2
+-0x1.04033cp-1
+-0x1.e27bfcp-2
+-0x1.e1c84p-9
+0x1.0e21bcp-1
+0x1.3264fep-1
+0x1.01752p-4
+-0x1.44e8bap-2
+0x1.4381aep-3
+-0x1.93fb04p-2
+0x1.8b7962p-8
+0x1.3badfcp-1
+0x1.364794p-5
+0x1.74cea4p-1
+0x1.b0ddap-4
+0x1.d2c372p-1
+0x1.eaac02p-1
+-0x1.accac2p-2
+-0x1.7ff272p-4
+0x1.4a89f6p-2
+0x1.ee6c88p-4
+0x1.4c684p-1
+-0x1.1a9f2ap-3
+-0x1.dc4b62p-2
+0x1.905b2p-3
+-0x1.c8e64cp-1
+-0x1.f8919ap-1
+-0x1.0c1b5p-8
+0x1.21079cp-1
+0x1.01a876p-1
+0x1.b8bbf8p-1
+-0x1.1b3b42p-1
+0x1.21387cp-2
+-0x1.1e50bp-2
+-0x1.8f2fep-2
+-0x1.ad0b14p-3
+-0x1.db3812p-2
+0x1.54958p-1
+-0x1.0f564ep-1
+-0x1.00e4f8p-2
+-0x1.14a6f8p-1
+-0x1.0ecd58p-2
+-0x1.b7f102p-3
+-0x1.20bb2ep-4
+-0x1.431b78p-3
+-0x1.8e805cp-3
+-0x1.ee4662p-5
+0x1.f6303p-1
+-0x1.8e728p-1
+0x1.35a89cp-1
+0x1.4e81bap-1
+0x1.baa108p-2
+-0x1.25e69ep-1
+-0x1.7a7936p-1
+0x1.10886ep-3
+-0x1.644314p-2
+0x1.7dfbfep-1
+-0x1.03e89p-1
+0x1.4be98ep-3
+0x1.c98a1ep-1
+-0x1.f65906p-4
+0x1.c511d2p-1
+0x1.640906p-1
+0x1.094064p-1
+-0x1.fe190ap-1
+0x1.0b88cep-1
+0x1.8caa46p-1
+-0x1.5b9b36p-1
+0x1.a430eap-3
+0x1.2ef038p-2
+-0x1.2bbf22p-3
+-0x1.f1adbp-3
+-0x1.be4916p-1
+-0x1.47c608p-1
+-0x1.674ad2p-1
+-0x1.69ba6ap-1
+0x1.4e51cap-1
+-0x1.22b2eep-1
+0x1.909d42p-1
+-0x1.130f9cp-6
+-0x1.f41da2p-3
+-0x1.44ba6cp-1
+0x1.b36c62p-2
+-0x1.104a9ep-1
+-0x1.5448f6p-2
+0x1.5227f6p-2
+0x1.9ff43p-1
+0x1.d0784p-1
+0x1.86b6e2p-1
+0x1.adc052p-2
+0x1.969c08p-1
+-0x1.ea0f2ep-1
+-0x1.293046p-2
+0x1.85f258p-1
+# Random inputs in the range [1.000000e+00,8.388608e+06]
+## name: workload-1
+0x1.a01ddap+21
+0x1.6b3482p+20
+0x1.31a874p+22
+0x1.3456acp+14
+-0x1.2df87ep+19
+0x1.4acfbp+22
+0x1.aa832ap+22
+0x1.8fdc3cp+21
+0x1.8f67bap+20
+0x1.b7ab96p+22
+-0x1.9de762p+22
+0x1.1178aep+22
+-0x1.0ff356p+21
+0x1.7dd248p+22
+-0x1.87b7f6p+20
+-0x1.ad6f72p+19
+-0x1.88054cp+22
+0x1.ef65p+21
+0x1.88e23p+20
+-0x1.866016p+22
+0x1.aea636p+22
+0x1.0f6d82p+20
+-0x1.381f5cp+22
+-0x1.becea2p+20
+-0x1.b358a6p+20
+-0x1.070b28p+22
+0x1.c71602p+22
+-0x1.d5ba82p+20
+-0x1.d52b2cp+22
+-0x1.df2cd4p+22
+0x1.99c606p+22
+-0x1.43f0dep+22
+0x1.04169ap+22
+0x1.377344p+22
+0x1.02253p+22
+-0x1.b4a2b4p+22
+-0x1.affce6p+22
+0x1.8b29d4p+22
+0x1.399aecp+21
+0x1.72eed4p+20
+-0x1.4ce24ep+22
+-0x1.26a0e4p+20
+0x1.01908cp+22
+0x1.62e086p+22
+-0x1.1019fep+22
+0x1.cee1acp+22
+-0x1.b13cecp+21
+0x1.e535ep+21
+-0x1.c68488p+21
+0x1.2475acp+20
+0x1.f46252p+16
+0x1.d4772cp+22
+0x1.599246p+18
+0x1.c8a668p+21
+0x1.cda154p+22
+0x1.8c6c48p+22
+-0x1.80c80ap+21
+-0x1.2c06cp+21
+0x1.53a9a2p+18
+0x1.549b12p+22
+-0x1.de53ep+16
+-0x1.4df2bap+18
+-0x1.66b79cp+21
+0x1.827454p+22
+0x1.41c47cp+22
+0x1.b28074p+22
+0x1.c5d272p+21
+0x1.bd3d06p+20
+-0x1.dafd06p+18
+0x1.69372ap+21
+-0x1.80d61ap+20
+-0x1.7864fep+22
+0x1.67563p+21
+0x1.f02256p+19
+-0x1.4f923p+21
+0x1.4c15fep+21
+-0x1.02f0ep+22
+-0x1.928f24p+22
+-0x1.366b58p+22
+-0x1.635bbap+21
+0x1.7d9438p+20
+0x1.31314cp+22
+0x1.762e04p+20
+0x1.4a271ep+22
+-0x1.be90e2p+21
+-0x1.98769cp+22
+-0x1.299a92p+21
+0x1.320216p+12
+-0x1.7d6a4ap+22
+-0x1.c6bcbep+20
+-0x1.7ed15ap+20
+0x1.ef1b92p+22
+-0x1.670238p+22
+-0x1.aa7e92p+22
+-0x1.b70d0cp+19
+-0x1.c61afp+20
+-0x1.63197cp+21
+-0x1.6d0e14p+22
+0x1.61b6e6p+22
+0x1.8c43p+22
+-0x1.0b3ddcp+19
+0x1.e6ec94p+22
+-0x1.9d9c2ap+22
+0x1.c551cap+22
+-0x1.7f767ap+22
+-0x1.d578b8p+22
+0x1.afbb36p+22
+0x1.42be34p+20
+-0x1.8286ccp+22
+0x1.de62cep+22
+-0x1.c6336ap+20
+-0x1.ad88b2p+21
+-0x1.6e6bb4p+22
+-0x1.447264p+22
+-0x1.e0ad98p+22
+-0x1.0424fp+22
+-0x1.a52106p+22
+-0x1.849974p+21
+0x1.7ec776p+20
+0x1.faf3cap+22
+-0x1.55a2a4p+22
+-0x1.5599eep+21
+0x1.45ff72p+17
+-0x1.26378p+20
+-0x1.efaaf8p+22
+-0x1.48cb24p+22
+0x1.3f2bbep+22
+-0x1.b51bc6p+22
+0x1.d923d6p+20
+0x1.6a6bcep+20
+0x1.935426p+22
+0x1.648ea4p+22
+-0x1.c2cceap+21
+-0x1.4c0b78p+22
+-0x1.95e3fep+21
+-0x1.b14ed6p+21
+0x1.c79dap+21
+-0x1.e04f8ep+21
+0x1.ff1502p+21
+-0x1.e43e56p+19
+-0x1.c1c2eep+22
+0x1.d36a46p+22
+-0x1.da27f2p+19
+-0x1.d3dd1cp+22
+-0x1.73a14p+20
+0x1.317fd4p+20
+0x1.1a575cp+14
+0x1.402b44p+21
+-0x1.980b5ap+19
+-0x1.eaf1fcp+22
+-0x1.cf6b8cp+20
+0x1.24191ep+21
+-0x1.23698ep+20
+0x1.def77cp+20
+-0x1.143756p+21
+0x1.646ca8p+19
+0x1.7fb9f6p+21
+-0x1.9be854p+20
+-0x1.952dacp+21
+-0x1.ef2dbcp+21
+0x1.6faa84p+22
+-0x1.02d9fep+21
+-0x1.0dc5aap+22
+-0x1.ee75ecp+22
+-0x1.63cc36p+20
+-0x1.42601ap+22
+0x1.a3bdaap+22
+0x1.fd7a5ap+20
+0x1.bc588p+22
+-0x1.d82b86p+22
+-0x1.42437ep+22
+0x1.ffde12p+22
+-0x1.213236p+22
+-0x1.105102p+21
+0x1.c438ep+22
+0x1.ca1fd2p+22
+-0x1.a980b2p+22
+0x1.dcb92cp+22
+0x1.fe7a64p+21
+-0x1.55b7f4p+21
+0x1.c93deap+22
+0x1.54b9e6p+20
+-0x1.4817d2p+22
+0x1.5e9e8p+21
+-0x1.a3a9cp+21
+-0x1.1ac39ep+21
+0x1.e861f6p+20
+-0x1.c73196p+19
+-0x1.b9c4a4p+21
+-0x1.9cc12ep+21
+0x1.03d55ep+20
+0x1.ba9d98p+22
+0x1.4fab32p+22
+-0x1.474b64p+22
+-0x1.00cd22p+21
+-0x1.66bee6p+20
+-0x1.30306ap+21
+-0x1.7d94b4p+20
+0x1.466d0cp+22
+0x1.b3160ep+22
+-0x1.ab1ca8p+18
+-0x1.bea762p+22
+-0x1.78aeeap+22
+0x1.cd33aap+21
+0x1.64b778p+21
+0x1.7b2852p+21
+-0x1.186bap+22
+-0x1.0f98fcp+21
+-0x1.299bdp+22
+0x1.e29deap+20
+0x1.84541ap+18
+-0x1.817baep+22
+-0x1.412a6p+22
+0x1.deadap+18
+0x1.6674d2p+21
+-0x1.489532p+18
+-0x1.448b8p+20
+-0x1.71ca36p+17
+0x1.7de39ep+22
+-0x1.3e1ab8p+21
+0x1.7c48cap+22
+0x1.6225ecp+22
+0x1.8665e2p+22
+0x1.d75c12p+22
+0x1.df3ef6p+22
+0x1.a8a794p+22
+-0x1.622f08p+19
+0x1.ff4c2cp+21
+0x1.64219p+22
+0x1.050f9ep+22
+0x1.6ceffep+22
+-0x1.f5fe7ap+22
+0x1.c261aep+22
+-0x1.75e02ap+22
+-0x1.d6bd52p+22
+-0x1.944cb4p+22
+0x1.ca4252p+22
+-0x1.baae68p+22
+-0x1.80fb16p+20
+0x1.b38536p+17
+0x1.2d5668p+22
+0x1.9942f2p+22
+0x1.e5e8a4p+22
+-0x1.15f5d6p+21
+0x1.984a34p+22
+0x1.35f2c4p+21
+0x1.61b4bcp+22
+0x1.5481bep+22
+0x1.cfd866p+20
+-0x1.fd3fe2p+21
+-0x1.089cacp+21
+-0x1.27ac6p+22
+0x1.8adeccp+20
+0x1.549c7ep+22
+0x1.dc1008p+20
+0x1.2bd772p+18
+-0x1.048c4ep+22
+-0x1.29777ap+22
+-0x1.a4da36p+21
+0x1.91a05p+22
+-0x1.1378bap+22
+0x1.03509ap+22
+-0x1.7a3274p+18
+-0x1.1d18eep+21
+-0x1.b678cp+21
+-0x1.e5e9a4p+21
+0x1.4dd8ccp+21
+0x1.757e34p+21
+0x1.d91a3ap+21
+0x1.86ad2ep+22
+-0x1.921beap+21
+-0x1.890e78p+21
+0x1.ed392ep+22
+-0x1.f468eap+20
+-0x1.20241ep+18
+-0x1.93509ep+22
+0x1.52d658p+22
+0x1.844284p+21
+0x1.014f14p+19
+-0x1.04d34ep+22
+0x1.48a592p+18
+0x1.2cbf74p+21
+0x1.9c55eap+22
+0x1.d06e1p+20
+0x1.0395dp+22
+-0x1.47cda2p+22
+0x1.bdddf2p+22
+-0x1.6845aap+22
+-0x1.a7e40ap+21
+0x1.d5c742p+22
+-0x1.9a0b7ep+22
+-0x1.f6661p+17
+0x1.e93668p+22
+0x1.3a975cp+21
+0x1.b75444p+21
+-0x1.87178cp+22
+0x1.8d7494p+20
+0x1.9212c8p+21
+0x1.594a52p+22
+0x1.0033p+22
+-0x1.baf8ccp+20
+-0x1.82d4ccp+21
+0x1.01d4dap+21
+0x1.7a6c02p+21
+0x1.6c0826p+21
+-0x1.22aecap+22
+-0x1.c0b7f2p+22
+0x1.91619p+21
+0x1.3fd74ap+22
+-0x1.ff2732p+22
+0x1.bea5cep+22
+-0x1.816b54p+18
+0x1.1b6ed4p+22
+-0x1.65bf36p+22
+0x1.6bf58ap+22
+-0x1.47466cp+22
+0x1.8e8508p+22
+-0x1.2c227cp+16
+-0x1.28f9cp+22
+-0x1.b02d6ap+22
+-0x1.7fc8dcp+22
+0x1.1c3c82p+22
+0x1.fe8f1ep+20
+0x1.2b050ap+21
+-0x1.e42212p+20
+-0x1.31e8f6p+21
+-0x1.3dceb8p+22
+0x1.8a4146p+20
+0x1.cb395p+21
+-0x1.262cdcp+21
+0x1.04aecap+20
+-0x1.4e8d3ep+22
+0x1.e64ff2p+22
+-0x1.5f998cp+22
+-0x1.a8abp+19
+-0x1.4a369ap+22
+-0x1.cee32ap+16
+-0x1.26eab8p+21
+0x1.d6c652p+22
+-0x1.3fcd62p+22
+0x1.1923e8p+22
+-0x1.80c142p+19
+-0x1.b9ab54p+19
+-0x1.8bbfe2p+22
+0x1.ebbdb2p+22
+-0x1.7e120ap+19
+-0x1.aac25cp+21
+-0x1.da3362p+22
+-0x1.559aa2p+21
+-0x1.accf42p+22
+0x1.056f7p+22
+-0x1.cf8736p+21
+0x1.1229d2p+22
+-0x1.cf8ddp+21
+-0x1.5edc48p+22
+-0x1.23c8b4p+21
+0x1.9e9c64p+22
+0x1.16a4e8p+22
+-0x1.429726p+21
+-0x1.ab7d6ap+22
+0x1.94367ap+21
+0x1.04a63cp+21
+0x1.891ce6p+20
+-0x1.fb4174p+21
+0x1.d2aa0cp+22
+-0x1.422cb4p+22
+-0x1.0a905ep+22
+0x1.fac9fcp+22
+0x1.261e68p+22
+0x1.195a18p+19
+-0x1.753cep+19
+0x1.2f5c18p+21
+-0x1.dcf4bp+22
+0x1.b931dcp+22
+0x1.3b7e0ap+21
+-0x1.0ab3cp+22
+-0x1.791f3ap+22
+0x1.8d1654p+22
+0x1.fea07ap+22
+0x1.f179p+22
+-0x1.2d0d1p+22
+0x1.217f7p+22
+-0x1.bb3ap+20
+0x1.c231e6p+19
+-0x1.4e899cp+22
+0x1.27a2fp+21
+0x1.deaf9p+21
+-0x1.c0aefep+21
+-0x1.fd99aep+18
+-0x1.b99d56p+21
+0x1.62232ep+16
+-0x1.f9be5ap+22
+0x1.7e5152p+22
+-0x1.4971fep+20
+0x1.81a8dp+22
+0x1.a81608p+22
+0x1.49a77cp+22
+0x1.dfd2bp+22
+-0x1.174206p+22
+-0x1.ff4456p+22
+0x1.436cfap+22
+0x1.09071ep+21
+-0x1.fe4512p+22
+0x1.61fadcp+21
+0x1.79dcb2p+19
+0x1.9bc13cp+22
+-0x1.991764p+21
+-0x1.382a62p+13
+0x1.e5c0eep+22
+-0x1.a85e4p+19
+0x1.c6ee0cp+22
+-0x1.9d37aap+22
+0x1.925516p+22
+-0x1.ed447cp+22
+0x1.e2e72ap+22
+0x1.7c3c3ep+22
+0x1.309fe4p+21
+-0x1.5b0ee2p+20
+0x1.271022p+20
+0x1.9ac67cp+22
+0x1.c04e32p+20
+-0x1.e17be6p+21
+0x1.ad8cccp+15
+0x1.2428bap+22
+-0x1.21b3bap+22
+0x1.ab2b5p+21
+0x1.bfc498p+22
+0x1.09d3c2p+22
+-0x1.fc219p+22
+-0x1.4aac04p+22
+0x1.cff22cp+21
+0x1.8577bp+22
+-0x1.0fcd4ep+22
+0x1.9907e6p+19
+0x1.4d9fe6p+21
+-0x1.9c5f3ap+18
+-0x1.9fad26p+22
+-0x1.000228p+22
+0x1.65569p+22
+-0x1.8dfbeap+18
+-0x1.a07742p+22
+-0x1.0d463ep+22
+0x1.611158p+22
+-0x1.a9b94ep+22
+-0x1.22ee96p+22
+0x1.c1712cp+22
+-0x1.60b74cp+21
+0x1.86d7aep+21
+0x1.ed9f7p+22
+0x1.b076b6p+22
+-0x1.746fa6p+20
+-0x1.a54e5p+17
+0x1.3886b8p+20
+0x1.5edaf4p+21
+-0x1.07932cp+22
+0x1.5410ccp+22
+0x1.136bacp+22
+-0x1.99fae8p+19
+-0x1.603b7p+21
+0x1.dd64fep+21
+-0x1.0c402ep+22
+0x1.c8efb6p+20
+0x1.683768p+20
+-0x1.d26e8ep+22
+-0x1.e94dc2p+20
+0x1.4f7cp+16
+0x1.5496cep+21
+0x1.3d8c38p+22
+-0x1.a4b3f6p+21
+0x1.f0c3fcp+22
+0x1.8eccd2p+22
+0x1.1d3abp+19
+0x1.4a67b4p+20
+-0x1.50a7dcp+18
+-0x1.9c618ap+19
+0x1.83e81ap+22
+0x1.2b2eecp+22
+-0x1.2acd64p+22
+0x1.f3252ap+22
+-0x1.3f2952p+22
+-0x1.50c354p+21
+0x1.0d11aep+22
+-0x1.017c22p+22
+0x1.c542d8p+22
+-0x1.ebd094p+22
+-0x1.0b3db8p+21
+0x1.387216p+22
+0x1.ac50c8p+20
+-0x1.d8f136p+22
+-0x1.a3ffcep+20
+0x1.f1cf74p+21
+0x1.31d962p+22
+0x1.4b7f8cp+20
+-0x1.271054p+22
+0x1.63fd76p+22
+0x1.8f4abcp+22
+0x1.2915bcp+20
+-0x1.ddee96p+21
+-0x1.3439ecp+21
+0x1.19f3eap+21
+-0x1.c5a358p+22
+-0x1.a9ab98p+18
+-0x1.2a6044p+22
+0x1.45771p+22
+0x1.1cdbf2p+22
+-0x1.f82ec4p+19
+0x1.72f5e6p+22
+-0x1.8c0f34p+22
+0x1.08b366p+22
+0x1.5f147ap+22
+-0x1.dadbap+22
+0x1.3ceeccp+21
+-0x1.da865ep+22
+-0x1.e0d8a4p+22
+0x1.66458ap+20
+0x1.ceee2p+21
+-0x1.697a6ap+22
+0x1.d38732p+22
+-0x1.2d43aep+21
+0x1.4b13fp+22
+0x1.418772p+20
+-0x1.9030aep+21
+0x1.1dd99ap+22
+-0x1.3fcd1p+22
+-0x1.857204p+22
+0x1.26d3a2p+19
+-0x1.6ff26ep+18
+0x1.168f28p+22
+0x1.a5657p+20
+0x1.f69724p+22
+0x1.36f678p+22
+0x1.e54402p+22
+-0x1.b68e2cp+22
+-0x1.01a59p+18
+0x1.1b54aep+22
+0x1.fba968p+21
+-0x1.e37e34p+19
+0x1.0d6764p+21
+0x1.3a7f1p+22
+0x1.0e21eap+18
+0x1.ae9604p+21
+-0x1.599a22p+22
+-0x1.af7974p+22
+-0x1.418cd2p+22
+0x1.2143aap+21
+-0x1.e470ap+21
+-0x1.f1461cp+22
+-0x1.261914p+21
+0x1.35791p+21
+-0x1.69ba86p+20
+-0x1.152044p+21
+0x1.add034p+22
+-0x1.7c4e58p+22
+0x1.838bp+22
+-0x1.a9b9c4p+20
+-0x1.2d86b8p+21
+0x1.33d608p+20
+0x1.8d7ed2p+21
+-0x1.7efbbap+20
+0x1.db38b6p+22
+0x1.bccccep+20
+-0x1.a78144p+20
+0x1.77d234p+22
+0x1.f82dap+22
+-0x1.ed39b6p+21
+-0x1.e12cd2p+19
+-0x1.4b1808p+22
+-0x1.68938p+22
+-0x1.7128b2p+20
+0x1.000a9cp+22
+-0x1.bb88f2p+20
+0x1.c9d636p+22
+0x1.8c4bbap+22
+-0x1.86bbd8p+22
+0x1.85f144p+22
+-0x1.8f518cp+20
+-0x1.07d30cp+21
+0x1.58dfc8p+22
+-0x1.c3907ep+22
+-0x1.bea2b8p+21
+-0x1.e71b82p+20
+-0x1.dd1e4cp+22
+0x1.15ca44p+22
+0x1.5d2dp+22
+-0x1.3b772p+22
+-0x1.dd695cp+20
+0x1.c7614cp+21
+-0x1.b517aep+17
+-0x1.3cc14ap+22
+-0x1.3a475ep+19
+-0x1.42e5a2p+22
+0x1.b6aeb8p+20
+-0x1.6ffebp+22
+-0x1.b8c234p+22
+-0x1.4be044p+22
+0x1.b5a0dp+22
+-0x1.d23aap+21
+-0x1.51005cp+21
+0x1.f96592p+19
+-0x1.e57b7ap+22
+0x1.65298ap+21
+0x1.eb9ba2p+20
+0x1.c4d706p+22
+-0x1.091606p+22
+-0x1.b38e2p+21
+-0x1.67624p+22
+-0x1.02d60ap+22
+0x1.9526c2p+22
+0x1.2e2c5ap+22
+0x1.e98742p+21
+-0x1.4f5428p+18
+0x1.1ad4a4p+22
+0x1.c63614p+22
+0x1.0bddb6p+17
+-0x1.bcbd42p+22
+-0x1.3be0a8p+20
+0x1.5b606cp+22
+0x1.451fe4p+22
+-0x1.31484cp+19
+-0x1.5b4ec4p+22
+0x1.9b2f32p+21
+-0x1.28ab62p+22
+0x1.d6b73p+22
+-0x1.c12df6p+19
+0x1.2f59dp+15
+0x1.8776bp+22
+-0x1.3f254p+16
+-0x1.ca0b92p+20
+-0x1.e7a01ep+22
+-0x1.25b7f8p+22
+-0x1.2f7b86p+22
+0x1.d023e8p+21
+0x1.97cfecp+22
+-0x1.b2377ap+18
+0x1.76e4a4p+20
+-0x1.4788bcp+22
+-0x1.beedbcp+22
+-0x1.2219fcp+22
+0x1.2a5606p+15
+-0x1.b6407ap+22
+-0x1.a4caa8p+20
+0x1.0507a2p+21
+0x1.b37808p+18
+0x1.cb2bb2p+20
+-0x1.16cebcp+19
+-0x1.6d55c2p+22
+0x1.bffd2ep+22
+-0x1.4e335ep+18
+0x1.997dp+19
+-0x1.26716ap+22
+-0x1.a153aep+22
+0x1.189f6p+21
+0x1.165288p+20
+0x1.101728p+22
+-0x1.acdaa2p+20
+0x1.6acdd6p+18
+0x1.79c9ccp+22
+0x1.5506fcp+18
+0x1.d3e7d6p+21
+0x1.b4a36ep+22
+-0x1.d1707p+19
+0x1.f2f0f6p+18
+-0x1.1bad7ap+22
+-0x1.46c8b6p+21
+-0x1.0b9ff6p+19
+-0x1.4e14b2p+22
+0x1.183466p+22
+0x1.308796p+22
+-0x1.ea844p+21
+0x1.61fbeep+22
+0x1.ef11ecp+22
+-0x1.db6e2cp+18
+-0x1.0247fap+22
+0x1.ad39eep+21
+-0x1.14b24cp+21
+-0x1.17b69cp+22
+-0x1.948454p+22
+-0x1.9d1628p+21
+-0x1.56981cp+22
+0x1.ef8dd8p+22
+0x1.71dbp+18
+-0x1.14bb4p+22
+0x1.59341ep+22
+-0x1.2202d6p+20
+0x1.d0fdf6p+22
+-0x1.f4c79cp+22
+0x1.c3b3bap+22
+0x1.8df704p+22
+0x1.05289cp+21
+0x1.357c82p+21
+-0x1.efa558p+22
+0x1.484c5cp+20
+-0x1.61aa5ap+22
+0x1.9aa0e4p+20
+0x1.8adb2cp+22
+-0x1.877348p+22
+0x1.42bddep+22
+-0x1.206f16p+20
+-0x1.e4ff3ap+22
+0x1.6aa32ap+22
+0x1.d9088cp+20
+-0x1.f43fccp+18
+-0x1.5a92e2p+22
+-0x1.ab530cp+22
+0x1.b12ep+22
+0x1.e86c04p+18
+-0x1.d77becp+21
+0x1.6dc178p+22
+0x1.77671p+22
+0x1.945ae2p+22
+-0x1.91ed58p+19
+-0x1.92cc1p+22
+0x1.1ba054p+20
+0x1.00e2c4p+21
+-0x1.3bbddp+20
+0x1.5cd4e2p+21
+0x1.c06a08p+22
+0x1.f56c38p+22
+0x1.3b5e4ep+20
+0x1.ff5814p+22
+0x1.c0e652p+22
+0x1.b5ebd8p+22
+-0x1.220248p+19
+-0x1.7fecfap+22
+0x1.5eff0ap+22
+0x1.aafc82p+22
+0x1.b16bf8p+22
+-0x1.032a4ap+21
+-0x1.1d28eap+22
+-0x1.5d7884p+16
+-0x1.6d682cp+21
+0x1.bd3508p+21
+0x1.a5c9acp+22
+-0x1.924746p+22
+0x1.037a0ep+22
+0x1.b9cdb8p+21
+-0x1.4c57e2p+22
+0x1.6086aep+20
+-0x1.1021ap+22
+0x1.628486p+21
+-0x1.a5350ap+22
+-0x1.fae458p+21
+-0x1.24cfccp+21
+-0x1.09406p+20
+-0x1.9973d8p+21
+-0x1.ea09c2p+22
+-0x1.54dea8p+21
+0x1.6bf22p+22
+0x1.1c05e6p+22
+-0x1.24b02cp+21
+0x1.389216p+18
+-0x1.ab5f86p+22
+-0x1.b55b84p+22
+-0x1.f97f4ep+21
+-0x1.ad9732p+22
+0x1.cfe814p+22
+0x1.2616dap+22
+-0x1.e569acp+22
+-0x1.1cc17p+22
+0x1.ea9e1ep+22
+0x1.22044ap+20
+0x1.d698d8p+21
+-0x1.f912e2p+21
+0x1.24a892p+22
+0x1.392ce4p+22
+-0x1.167412p+22
+0x1.ee1e02p+21
+-0x1.a48ecap+22
+-0x1.74b9c2p+22
+-0x1.fd1c7p+21
+-0x1.f86912p+22
+0x1.37ce34p+21
+-0x1.dcc8e8p+22
+-0x1.65110cp+22
+-0x1.22b6ep+20
+0x1.3d89eap+22
+0x1.e730fp+21
+-0x1.1caab4p+22
+0x1.2014f6p+15
+-0x1.a83d54p+22
+-0x1.3edcap+22
+-0x1.61c89ap+22
+-0x1.35f728p+22
+0x1.1b1ad4p+21
+-0x1.45a82p+22
+-0x1.62e10cp+21
+-0x1.e33368p+21
+0x1.8308ap+22
+0x1.f979a4p+22
+-0x1.3582f4p+18
+-0x1.74b3fp+21
+0x1.ea79a2p+22
+0x1.496374p+20
+-0x1.f5c1fcp+22
+0x1.99cc1ap+21
+0x1.bf9aep+22
+-0x1.bfc3f6p+21
+0x1.fa6d52p+21
+0x1.65384ep+18
+0x1.2746aap+21
+0x1.b4641p+22
+0x1.efb6fep+19
+0x1.ad642ep+21
+0x1.c949aep+22
+-0x1.61d1d2p+22
+-0x1.140438p+22
+-0x1.c88c0cp+16
+-0x1.3ed658p+19
+0x1.4f61bap+22
+0x1.b6f2dap+22
+0x1.c11412p+21
+0x1.26302ap+22
+-0x1.ac7df6p+21
+-0x1.17bb92p+21
+-0x1.fac33cp+22
+0x1.d9f048p+17
+0x1.728ddcp+22
+0x1.86340ap+22
+-0x1.d7bd1ep+22
+0x1.b4d5b8p+22
+0x1.ddf6acp+20
+-0x1.f78d8p+20
+0x1.922a74p+22
+0x1.6749c8p+22
+-0x1.9bb126p+22
+-0x1.1398e8p+19
+-0x1.fa759cp+22
+-0x1.efbe6cp+21
+0x1.c3430ap+19
+-0x1.48bd3ep+21
+-0x1.a892bap+22
+-0x1.f2a0a4p+21
+-0x1.1cf94ap+22
+-0x1.a8db04p+21
+0x1.a67544p+20
+-0x1.b56d6p+22
+-0x1.6a25d6p+22
+-0x1.cf057p+22
+-0x1.b8ddc6p+22
+-0x1.c1988ap+22
+-0x1.f52e2cp+22
+0x1.76dfb6p+22
+0x1.d0db9cp+22
+-0x1.b4d1c8p+22
+0x1.d271d2p+21
+-0x1.3fb9a8p+21
+0x1.30e9ep+22
+-0x1.ef1c1cp+20
+0x1.9cd9fep+20
+0x1.615d62p+22
+0x1.4d2d44p+22
+0x1.f79114p+22
+0x1.59c476p+22
+-0x1.93b2aep+22
+0x1.89a6a6p+21
+0x1.da3c54p+22
+-0x1.9fff4p+22
+-0x1.9a69e2p+18
+0x1.b556bp+21
+-0x1.9ea054p+22
+0x1.428fa4p+22
+-0x1.2da47ep+21
+0x1.a21aa6p+22
+-0x1.c8af86p+20
+-0x1.2dd0fp+22
+-0x1.621862p+20
+0x1.6355cap+19
+0x1.ad3246p+22
+-0x1.81c8e2p+22
+-0x1.bda18ep+21
+-0x1.e3f508p+20
+0x1.4b1b5p+19
+-0x1.06794cp+22
+-0x1.08e4dcp+15
+0x1.16a084p+19
+-0x1.6349eap+20
+0x1.b93496p+19
+-0x1.c83c42p+20
+-0x1.8785b6p+22
+0x1.7e63d8p+22
+-0x1.7e09c4p+22
+-0x1.7bcff6p+20
+0x1.cac5cp+22
+0x1.b4063cp+21
+0x1.bc01b6p+22
+0x1.4bf25cp+21
+0x1.3faa6cp+22
+0x1.6f665ap+22
+0x1.92cf38p+21
+-0x1.4075dp+19
+-0x1.c462d6p+22
+0x1.30e8f4p+22
+0x1.5b2368p+22
+-0x1.8d4cf4p+21
+0x1.7fc56p+21
+-0x1.2a160ep+22
+0x1.68c8d2p+22
+-0x1.afb074p+19
+-0x1.eafe04p+20
+-0x1.b90f0cp+21
+-0x1.860d78p+22
+0x1.67fe8ap+21
+-0x1.d7a22ap+20
+-0x1.ae4822p+19
+-0x1.11413ap+20
+-0x1.16d4a4p+20
+0x1.f311fp+20
+0x1.31248cp+21
+-0x1.cab132p+19
+0x1.fe7c52p+22
+-0x1.165e04p+22
+-0x1.a027e8p+22
+-0x1.7ec476p+19
+-0x1.bc84e2p+22
+-0x1.dc4244p+22
+0x1.368296p+22
+-0x1.6a6a36p+19
+0x1.441bccp+22
+0x1.fcee4ap+18
+0x1.54fcb4p+22
+0x1.2f65dep+21
+0x1.b98b9ep+21
+-0x1.a6ab06p+21
+-0x1.c9c37p+22
+-0x1.1ddcb2p+22
+-0x1.fac5acp+22
+0x1.ed3966p+22
+-0x1.b6877ap+22
+-0x1.779c2ep+22
+0x1.044f16p+22
+-0x1.cd7b9cp+17
+-0x1.2c212cp+19
+-0x1.f94bbp+21
+-0x1.2f583p+19
+0x1.db26c6p+22
+0x1.dd0394p+21
+0x1.f9ed9p+22
+-0x1.5f1c9p+22
+-0x1.6a8fd4p+18
+0x1.910d16p+22
+0x1.22a30cp+22
+-0x1.5d6e3ep+16
+-0x1.08d128p+21
+0x1.72f332p+22
+-0x1.20bf4ap+13
+-0x1.00ffaep+22
+-0x1.cb64aap+21
+-0x1.31e166p+22
+-0x1.2e6906p+19
+-0x1.06079cp+22
+-0x1.e029e4p+22
+0x1.49d78cp+18
+0x1.f1b1bap+21
+-0x1.0d770ep+22
+0x1.eb35ap+22
+0x1.b65b98p+22
+0x1.106c5ep+22
+0x1.e94f14p+22
+-0x1.70f8ap+19
+-0x1.392a7p+20
+0x1.852accp+17
+-0x1.1a2eaep+22
+0x1.815efep+22
+-0x1.282b92p+20
+-0x1.72dbbap+18
+0x1.069ef2p+22
+0x1.0f5142p+21
+-0x1.90113p+21
+-0x1.44c896p+20
+0x1.ceb3d8p+22
+-0x1.c854a4p+21
+0x1.e0a7d4p+22
+0x1.14e68p+19
+0x1.5e6258p+21
+0x1.d1a9eep+22
+0x1.ba1338p+22
+-0x1.50b346p+21
+-0x1.320048p+20
+-0x1.782324p+19
+-0x1.7ca3d6p+21
+0x1.2352dap+22
+0x1.e5f132p+21
+-0x1.6923p+22
+0x1.ca7ebcp+21
+-0x1.61c302p+18
+0x1.39f388p+22
+-0x1.2322d4p+19
+-0x1.9d0afcp+22
+-0x1.db4ab6p+22
+-0x1.fa3b34p+20
+0x1.8ccac4p+22
+-0x1.15a56cp+21
+-0x1.38581ep+21
+-0x1.47ab5cp+22
+0x1.befb72p+22
+-0x1.09589cp+19
+0x1.374f2p+22
+-0x1.4d0a32p+21
+0x1.a981cp+22
+0x1.0ee7c6p+19
+-0x1.32e8d4p+21
+-0x1.838c74p+22
+-0x1.327318p+22
+0x1.d68f72p+22
+0x1.386df4p+22
+-0x1.9eb5bep+19
+-0x1.20b3d2p+22
+-0x1.b83dd4p+22
+-0x1.8fdfdp+22
+0x1.69a752p+22
+-0x1.0e410cp+21
+0x1.ae355cp+22
+-0x1.d05ddp+22
+0x1.918e86p+20
+0x1.301cb6p+22
+-0x1.80b4d2p+22
+0x1.360854p+20
+-0x1.d0d91cp+22
+-0x1.8895c8p+20
+0x1.1ee546p+22
+-0x1.05186ep+22
+-0x1.30d56ap+22
+-0x1.e86f26p+21
+-0x1.589088p+22
+0x1.b921b8p+22
+0x1.8f2dd2p+20
+0x1.76d91ap+21
+-0x1.3f6b78p+21
+0x1.a189dap+22
+-0x1.d071cep+21
+0x1.4311bep+22
+-0x1.505afcp+22
+-0x1.09b0a2p+20
+-0x1.c95174p+22
+-0x1.e68e4p+22
+0x1.514616p+19
+0x1.f4739ap+18
+0x1.eca8aap+21
+-0x1.c79fcp+22
+-0x1.5e3716p+21
+0x1.278f68p+21
+-0x1.e4d9f4p+21
+0x1.67d30ep+22
+-0x1.de26a4p+22
+-0x1.691df2p+22
+0x1.1fa882p+21
+-0x1.6fb094p+22
+-0x1.4520c4p+21
+0x1.a387p+20
+0x1.3f32f2p+20
+-0x1.9c63aap+22
+0x1.72c1e2p+22
+-0x1.eff38ep+18
+-0x1.be5c42p+22
+0x1.780e22p+22
+0x1.d6365ap+21
+0x1.a67efp+20
+-0x1.993ca2p+20
+0x1.3e1edcp+22
+0x1.455f8cp+22
+0x1.53a6a6p+17
+-0x1.21349ep+22
+0x1.21bcfep+17
+0x1.84f092p+22
+0x1.10e7ep+22
+0x1.1000f8p+21
+0x1.080b36p+21
+0x1.18ec9ap+22
+0x1.4747c6p+22
+-0x1.e2404p+19
+-0x1.405786p+22
+0x1.8e1372p+21
+-0x1.2d9682p+19
+0x1.883f92p+22
+0x1.c362d6p+20
+-0x1.409c5ep+22
+0x1.54e9b4p+22
+-0x1.a66826p+22
+-0x1.386f9p+21
+0x1.37eb66p+20
+0x1.3e3dfcp+22
+-0x1.c9897ep+14
+0x1.05fcaap+19
+0x1.90be7p+22
+0x1.748c98p+22
+-0x1.190e82p+22
+0x1.3a595ap+22
+-0x1.ba18ecp+22
+-0x1.fb9a8ap+21
+0x1.f1ee62p+22
+0x1.97aa0ep+22
+0x1.9c0d28p+22
+0x1.701f8ap+19
+-0x1.fea642p+21
+-0x1.a49f98p+21
+0x1.002f2ap+22
+-0x1.3a8616p+22
+0x1.a37caep+20
+-0x1.53648ep+21
+0x1.0900f2p+19
+0x1.232c86p+20
+0x1.85acaep+22
+-0x1.0dd15ep+21
+0x1.71fb02p+21
+-0x1.a60c12p+19
+-0x1.3567d4p+21
+-0x1.c278f8p+22
+-0x1.a4857ep+22
+0x1.1d2ea6p+22
+0x1.799d92p+20
+0x1.90077ep+17
+0x1.255a26p+20
+-0x1.ab1e2p+22
+0x1.e41fa6p+18
+-0x1.187692p+21
+-0x1.ae6388p+20
+-0x1.33ec44p+22
+-0x1.11b1p+21
+0x1.7b7858p+22
+-0x1.4e7322p+22
+0x1.a38f9ap+16
+0x1.c048c6p+22
+-0x1.ea49e6p+22
+-0x1.93c9a8p+22
+0x1.a57364p+21
+0x1.4b892p+22
+0x1.7170bap+22
+0x1.792f2p+22
+0x1.d573ecp+22
+0x1.e173a4p+22
+-0x1.e93ac6p+21
+-0x1.76cab8p+20
+0x1.9c292cp+21
+0x1.76c2ap+20
+-0x1.dadd42p+22
+-0x1.142de8p+22
+0x1.ef2662p+22
+-0x1.b77b4ep+21
+-0x1.1827ap+22
+0x1.75d97cp+22
+-0x1.481c1p+22
+-0x1.a2f78ap+22
+-0x1.4cdc3ep+20
+-0x1.c55642p+21
+0x1.44e4d6p+22
+0x1.807bcp+22
+0x1.d43984p+21
+0x1.38639ep+22
+-0x1.aa01a6p+21
+0x1.6fe49p+22
+-0x1.e264c6p+21
+-0x1.3a9992p+19
+-0x1.410b74p+21
+-0x1.017458p+21
+-0x1.91e442p+22
+-0x1.ee77b6p+22
+0x1.1a673ap+22
+-0x1.0c7f3cp+22
+-0x1.4323dcp+22
+0x1.c3c2bap+20
+-0x1.d1882ep+22
+0x1.05d90cp+22
+0x1.5687acp+20
+0x1.45eb56p+21
+0x1.e197b4p+22
+-0x1.2d5288p+20
+-0x1.ccc18cp+22
+0x1.1bc7fep+22
+0x1.9e7426p+20
+-0x1.b3de3cp+21
+-0x1.5ea4c2p+22
+-0x1.59e526p+22
+-0x1.234b86p+22
+-0x1.86934cp+20
+0x1.825c98p+20
+-0x1.2ab36p+22
+-0x1.bc6c58p+22
+0x1.f5fb7ap+22
+0x1.17c516p+21
+0x1.8e575ep+22
+0x1.85f932p+19
+0x1.a32fb6p+19
+0x1.16e58ep+22
+-0x1.bc0b3cp+22
+-0x1.b686a8p+22
+-0x1.90496ep+21
+0x1.b34bb2p+22
+-0x1.8d11f2p+21
+-0x1.449c3ap+19
+0x1.b14b54p+22
+-0x1.d47474p+21
+0x1.908dc8p+19
+0x1.90b3dp+22
+0x1.d4fcdap+22
+0x1.b8857p+22
+0x1.d9268p+19
+-0x1.743bdap+21
+0x1.719a82p+21
+0x1.0a5066p+20
+0x1.c3d446p+22
+0x1.2a2914p+20
+-0x1.caba5ep+22
+0x1.e4c94ap+22
+0x1.c2e56ep+22
+0x1.21316ep+22
+-0x1.2ce28cp+19
+0x1.4918f2p+21
+-0x1.dbb0bap+22
+-0x1.1f1acep+22
+0x1.6588ecp+22
+0x1.876034p+22
+-0x1.d1dc8p+18
+-0x1.c982p+22
+0x1.943752p+21
+0x1.aece88p+22
+0x1.b86d58p+20
+-0x1.656eaap+19
+0x1.a4fce6p+22
+-0x1.c2924ep+22
+0x1.db53aap+22
+-0x1.4bf648p+22
+-0x1.8ec2e4p+22
+-0x1.3b64cap+21
+0x1.782566p+20
+0x1.5f4094p+20
+0x1.68e354p+22
+-0x1.563e14p+22
+-0x1.09b6d4p+22
+-0x1.cab858p+22
+-0x1.3a728ap+21
+-0x1.a829eap+22
+0x1.f7d842p+21
+0x1.f0ab34p+22
+-0x1.439714p+19
+0x1.9b2bdp+22
+-0x1.7811e8p+18
+-0x1.129378p+22
+0x1.f7d512p+22
+0x1.c74d54p+22
+0x1.d6b6f6p+22
+0x1.f8e3bp+21
+0x1.50487cp+21
+-0x1.daa638p+20
+-0x1.2383aap+21
+-0x1.cb6864p+20
+0x1.fd7bc2p+22
+0x1.6e5eb4p+22
+0x1.b62d6ap+22
+0x1.3b912p+21
+-0x1.c28708p+21
+-0x1.7a2bbp+22
+-0x1.b61c1ap+22
+-0x1.7ead6cp+22
+0x1.d2bbecp+20
+-0x1.fcd39p+22
+0x1.61c0fcp+15
+0x1.3b8cdp+22
+0x1.3a2c62p+21
+0x1.3ce774p+22
+-0x1.6d3c84p+22
+0x1.b96484p+22
+0x1.d06ff8p+22
+0x1.f00062p+22
+0x1.f2ae54p+22
+0x1.cfbed6p+22
+-0x1.d3f1c8p+22
+0x1.9df814p+21
+-0x1.27eb34p+22
+-0x1.3ba80ap+21
+0x1.f4a0ccp+22
+0x1.6fd548p+22
+0x1.9ff0aap+22
+-0x1.757a98p+21
+0x1.a87e5p+22
+-0x1.9a3d74p+22
+-0x1.c5c06ep+20
+0x1.42c6a2p+22
+-0x1.90c55ep+20
+0x1.487176p+18
+0x1.d9dd1p+22
+0x1.e16ac8p+20
+0x1.374c7p+21
+-0x1.821fb2p+22
+0x1.6b884cp+22
+0x1.afd59p+22
+-0x1.c2ff86p+22
+0x1.8206a2p+22
+-0x1.d97598p+22
+0x1.777a1ep+22
+0x1.5a9f86p+18
+-0x1.00fcacp+20
+-0x1.0bc666p+21
+0x1.c327dap+22
+0x1.f73d8ep+21
+0x1.2a1d9ep+22
+-0x1.39d6c2p+21
+0x1.bca1cep+22
+0x1.ce266cp+21
+-0x1.198e36p+21
+0x1.2995bep+20
+0x1.a24262p+22
+0x1.419ef8p+22
+0x1.a228bap+22
+-0x1.6d7a22p+21
+-0x1.a3e862p+22
+-0x1.9dd4e6p+21
+-0x1.fbc11ap+20
+-0x1.c658eep+21
+-0x1.e4cd18p+18
+0x1.17e01ep+22
+-0x1.5123fcp+21
+0x1.6967bcp+20
+0x1.29ea74p+22
+0x1.9fa93ep+22
+0x1.f8f57ep+20
+0x1.90e99cp+22
+-0x1.8fff26p+21
+0x1.a803cap+22
+0x1.5f424cp+20
+0x1.bd5778p+22
+-0x1.eb5ef2p+19
+-0x1.24d44ep+21
+-0x1.0e187ap+22
+0x1.8fb7c2p+21
+-0x1.3ba92ep+22
+0x1.0740b8p+22
+-0x1.dd6ebcp+21
+0x1.2e1cdcp+20
+-0x1.95559ap+22
+-0x1.c2af9cp+20
+0x1.151df4p+22
+0x1.6bf48ep+20
+0x1.082c94p+21
+-0x1.5a5f08p+22
+-0x1.534968p+18
+-0x1.114f94p+22
+-0x1.eb9222p+20
+-0x1.de6fe6p+21
+0x1.c7def6p+22
+-0x1.05822ep+19
+-0x1.ac983ep+22
+-0x1.9ca968p+22
+0x1.43a096p+22
+-0x1.fa9fd2p+22
+-0x1.5ea77ap+22
+0x1.4f5b64p+22
+-0x1.22debep+22
+0x1.79d6bcp+19
+0x1.ddc64ep+20
+0x1.cf666p+15
+-0x1.f8862ap+21
+0x1.48c1d6p+22
+-0x1.6ae84cp+21
+0x1.d4bf36p+22
+0x1.d6b676p+19
+0x1.75a2bap+22
+0x1.701954p+22
+0x1.7feeep+19
+-0x1.23f15ap+22
+0x1.c5f78ap+22
+0x1.be4bf2p+17
+0x1.27bbaep+21
+-0x1.e58fe8p+22
+0x1.01eedp+21
+0x1.e4ba48p+22
+0x1.e9c1e2p+22
+0x1.91f5eap+22
+-0x1.c75878p+21
+-0x1.bc6afcp+22
+0x1.ffb73ep+22
+-0x1.b7715cp+22
+0x1.21ac16p+22
+0x1.3eb084p+21
+-0x1.9f1b6ep+20
+-0x1.32c864p+19
+-0x1.e6634cp+22
+0x1.46ad72p+21
+-0x1.35ca46p+21
+-0x1.5e6e16p+21
+0x1.7ae866p+22
+0x1.4523fap+21
+0x1.fc5ac6p+21
+-0x1.cbca8cp+22
+-0x1.fae752p+16
+-0x1.26fc66p+18
+0x1.fb64bep+22
+0x1.b47f6ep+22
+0x1.6236dap+21
+-0x1.d36ebp+22
+-0x1.e0aa8ap+22
+0x1.445984p+21
+0x1.2d62p+22
+0x1.11760ep+21
+0x1.9e84fp+20
+0x1.8dcb9ap+17
+-0x1.41e7dcp+22
+-0x1.41b72ep+22
+0x1.d94176p+22
+0x1.9f2a62p+21
+0x1.fd8f98p+13
+0x1.af3ab4p+22
+0x1.330cfep+20
+-0x1.95fdecp+21
+0x1.bbb45ep+22
+-0x1.414e38p+20
+-0x1.a774b4p+22
+-0x1.f485dcp+20
+0x1.d909e4p+22
+0x1.e0814ep+20
+-0x1.bab314p+21
+0x1.1c99b6p+17
+-0x1.7388b8p+20
+0x1.426026p+21
+-0x1.39d7p+22
+0x1.79b8cap+19
+-0x1.ed3f44p+22
+0x1.e56ea4p+21
+-0x1.3a4936p+21
+0x1.2173fcp+22
+-0x1.423118p+22
+0x1.410108p+19
+0x1.65aeccp+21
+0x1.2c444cp+22
+-0x1.720392p+21
+-0x1.1b455cp+21
+-0x1.4fbc48p+22
+0x1.f0c6eap+14
+0x1.76837ap+22
+-0x1.49bap+22
+-0x1.24de3ap+21
+-0x1.6c3cfap+20
+-0x1.d93e4cp+17
+-0x1.d91fa8p+21
+0x1.de692ep+20
+0x1.c2b622p+16
+-0x1.936676p+22
+-0x1.e78d38p+18
+0x1.6698cep+19
+-0x1.b74ef4p+22
+-0x1.7e1e4cp+22
+-0x1.e79f78p+22
+0x1.b402eep+22
+0x1.4ada7ap+20
+-0x1.73b856p+20
+-0x1.dc731ep+22
+0x1.e8c348p+22
+-0x1.726eeap+22
+0x1.699888p+21
+-0x1.47ca8ep+22
+0x1.69b24cp+22
+-0x1.443158p+21
+0x1.acfafap+22
+0x1.20380cp+21
+0x1.a695aep+22
+0x1.7ad62cp+21
+0x1.02b016p+22
+-0x1.959efp+22
+-0x1.cd038cp+21
+0x1.e957eap+21
+0x1.af6146p+22
+0x1.d975d2p+22
+-0x1.8a97bcp+22
+-0x1.455cf6p+22
+0x1.e88d68p+22
+-0x1.7a3b7cp+22
+0x1.e9a2f4p+21
+0x1.5f9d6p+20
+-0x1.e1aeap+22
+-0x1.096c1ep+21
+0x1.3263f2p+19
+-0x1.b9224p+22
+-0x1.54f8d4p+20
+-0x1.de96bep+22
+0x1.e679fap+22
+0x1.7a13ep+21
+-0x1.d5b458p+21
+-0x1.2c3568p+19
+0x1.1d9bf6p+22
+-0x1.d0a39p+22
+-0x1.ad5632p+19
+-0x1.382422p+22
+-0x1.0e3754p+21
+0x1.b4bb36p+22
+0x1.4eca38p+22
+0x1.c22834p+19
+0x1.3c29f4p+22
+-0x1.cb4ac8p+22
+-0x1.42c75ep+20
+0x1.a4a266p+18
+0x1.13f91ep+19
+0x1.2c05ecp+22
+0x1.877164p+22
+-0x1.c7f4c4p+22
+0x1.7dfca4p+22
+-0x1.a17eccp+22
+-0x1.fe716p+20
+0x1.716304p+22
+-0x1.233c9cp+20
+0x1.90e9a2p+20
+-0x1.31fc9p+22
+-0x1.093c86p+21
+0x1.2dd1d6p+21
+-0x1.a7b4ccp+21
+0x1.9ffe38p+20
+-0x1.001d36p+19
+0x1.9bb0cap+21
+0x1.8c6282p+20
+-0x1.744364p+20
+0x1.e85cb6p+22
+0x1.1d6906p+22
+-0x1.a6f9fep+22
+-0x1.20a476p+21
+0x1.c9f19ap+22
+-0x1.b0012ap+22
+0x1.62ca26p+22
+0x1.64fad8p+22
+0x1.9e951cp+22
+-0x1.85e65ap+22
+0x1.4c5238p+21
+-0x1.b26678p+21
+-0x1.bc05b2p+21
+-0x1.4ab36ep+22
+0x1.ae9216p+21
+-0x1.106e3cp+22
+0x1.39e882p+22
+0x1.70335p+21
+-0x1.8a1592p+19
+0x1.ff4d78p+22
+-0x1.847004p+19
+0x1.9ea79ap+22
+0x1.b4718p+22
+-0x1.7191c8p+22
+0x1.1a4db4p+18
+0x1.bc6d0cp+22
+-0x1.e877c8p+22
+0x1.5f5592p+21
+0x1.737faap+22
+-0x1.d8d438p+22
+0x1.2aacaep+22
+-0x1.55a73ap+19
+0x1.b73526p+21
+0x1.874fc4p+19
+0x1.da9506p+22
+-0x1.c96cfcp+22
+-0x1.bd1cb6p+21
+-0x1.c4d01cp+22
+0x1.fb3c3ap+22
+-0x1.f05ec8p+21
+0x1.c6b4b4p+22
+0x1.41e6b4p+21
+0x1.93aacep+22
+0x1.fdc632p+22
+-0x1.9f9444p+19
+-0x1.566ebcp+20
+0x1.664172p+21
+-0x1.6ceb3ep+21
+0x1.211dfp+22
+-0x1.4b1754p+22
+0x1.f4271p+18
+0x1.f8c8fcp+22
+0x1.4b179ap+22
+0x1.cc5d68p+22
+-0x1.465c84p+21
+0x1.5f87cap+21
+-0x1.68accep+22
+-0x1.4ce0dcp+19
+0x1.994518p+19
+-0x1.79f9b6p+22
+-0x1.adc4c8p+21
+-0x1.c98f36p+22
+-0x1.2bb8e2p+21
+0x1.0c3408p+19
+-0x1.27dfc2p+22
+-0x1.f5c068p+22
+0x1.05ee34p+21
+-0x1.676a98p+20
+0x1.0fcc6ep+22
+0x1.d112b2p+21
+-0x1.9178b4p+22
+-0x1.8442dap+22
+-0x1.3251fep+22
+-0x1.9c594ep+22
+0x1.ea3d9ap+22
+0x1.842b3ep+22
+-0x1.91d67cp+12
+-0x1.33c5f6p+22
+0x1.e4c4bcp+22
+0x1.63f616p+19
+-0x1.d40e32p+22
+0x1.7f647ep+22
+0x1.762d9cp+22
+-0x1.f5047cp+19
+0x1.50e1f6p+21
+-0x1.08f65p+22
+-0x1.4ea7a8p+20
+-0x1.66984ep+22
+-0x1.e6eb1cp+21
+0x1.c9f50ap+22
+0x1.ed926ap+21
+-0x1.1bad96p+20
+-0x1.97cfb8p+21
+0x1.3f6c52p+22
+0x1.6eb838p+22
+0x1.9dbf2cp+21
+-0x1.377c2ap+19
+0x1.5eae0ep+20
+-0x1.b430f8p+21
+-0x1.0a18b2p+22
+0x1.4b8d72p+21
+-0x1.0a4c3ap+22
+-0x1.e45294p+20
+0x1.f64db8p+20
+-0x1.076ecap+19
+0x1.c25efp+22
+-0x1.fe0b08p+22
+-0x1.b63d9p+22
+-0x1.e40248p+22
+-0x1.2c24dap+21
+0x1.a7b7b2p+22
+-0x1.ce69b4p+22
+0x1.8eee8ep+22
+0x1.a6870ap+21
+-0x1.72d15ep+22
+0x1.98b5cp+20
+0x1.89edd8p+22
+-0x1.f84a88p+21
+0x1.f3be88p+20
+0x1.096f5cp+22
+0x1.c587eep+22
+-0x1.02244ap+22
+0x1.d3b01ep+22
+0x1.5a49f4p+20
+0x1.bf215cp+22
+-0x1.64a75ap+19
+-0x1.637d9ap+22
+0x1.b3087ap+21
+0x1.6def16p+20
+-0x1.e275cep+20
+-0x1.756e58p+22
+-0x1.d4697ep+22
+0x1.0b083ap+22
+0x1.9f25cp+22
+0x1.d00314p+22
+0x1.b0bf14p+22
+0x1.a671f6p+21
+-0x1.62ce38p+22
+0x1.42d71p+22
+0x1.93b95ep+20
+0x1.56b15cp+22
+-0x1.a44c74p+21
+-0x1.c0504cp+19
+-0x1.54fd6p+18
+0x1.e9e67p+21
+0x1.926834p+20
+-0x1.60e958p+21
+-0x1.5f0982p+18
+-0x1.fc3efp+15
+-0x1.e00a6cp+22
+-0x1.6cc136p+22
+0x1.3ee7c2p+22
+-0x1.0b29ecp+21
+-0x1.b91ed6p+22
+-0x1.f72aaap+22
+-0x1.f65a48p+21
+0x1.a32e5ap+22
+-0x1.6ecf22p+20
+-0x1.0a2e8ep+20
+-0x1.6d7ebap+22
+0x1.96e942p+21
+0x1.9b5776p+22
+0x1.a347eep+22
+0x1.f61a56p+22
+-0x1.63297ep+22
+0x1.2e0dap+22
+-0x1.106ac8p+22
+-0x1.5ea7f4p+22
+0x1.64cb14p+18
+-0x1.6dd3p+18
+-0x1.383b06p+22
+0x1.c5dc1p+22
+-0x1.28bfdep+22
+0x1.255624p+21
+0x1.546a6p+22
+-0x1.e36396p+22
+0x1.c8ab64p+20
+-0x1.6b17c8p+22
+0x1.467278p+21
+0x1.f2f48cp+22
+0x1.7c970ep+19
+-0x1.9873b6p+22
+0x1.c3b65ap+21
+-0x1.3d9816p+22
+0x1.01b306p+22
+0x1.68a674p+22
+-0x1.6956d4p+22
+0x1.a91b0cp+21
+0x1.d332cep+22
+-0x1.f448ap+18
+0x1.a58d7ep+21
+0x1.ebbe2cp+20
+-0x1.3ee322p+17
+-0x1.d3d64p+21
+-0x1.7f50d6p+20
+-0x1.71a9c4p+20
+0x1.adb6d2p+21
+-0x1.dafcaep+20
+0x1.cbc7eep+20
+-0x1.13e54cp+20
+0x1.73c53p+21
+-0x1.703f78p+22
+-0x1.a18f2p+19
+-0x1.e59156p+20
+0x1.5d8a5ep+22
+-0x1.553256p+22
+0x1.32466p+21
+0x1.d90b18p+22
+-0x1.fa71bp+22
+-0x1.3b3cc8p+21
+0x1.6ca11cp+22
+0x1.03b7e8p+22
+0x1.7fa14p+21
+0x1.ace9d4p+22
+-0x1.99f2c4p+21
+-0x1.5040b2p+18
+-0x1.396e56p+21
+0x1.91f4bcp+21
+0x1.6b55cep+22
+0x1.fd6c6ap+22
+-0x1.60458p+22
+0x1.179104p+21
+0x1.c92f3ap+22
+0x1.80364cp+21
+-0x1.34d0bcp+20
+0x1.813f16p+21
+-0x1.5b359p+18
+0x1.83013cp+22
+-0x1.c2a106p+21
+0x1.e8abbap+21
+0x1.a9c316p+21
+0x1.1706d2p+19
+0x1.72499p+22
+0x1.d9d73ep+22
+0x1.1e371p+22
+0x1.007e32p+22
+0x1.b73a44p+20
+0x1.178ddap+21
+-0x1.29c7dep+21
+-0x1.669a7p+22
+0x1.ca0d3p+22
+0x1.4bac36p+20
+0x1.f6207p+19
+0x1.2ee3d2p+22
+-0x1.1477cap+20
+-0x1.344f9ep+21
+-0x1.45557ep+22
+0x1.1c735cp+20
+0x1.b89a16p+22
+-0x1.3c88bep+22
+0x1.b40464p+18
+-0x1.e02f02p+22
+0x1.989cfep+22
+0x1.738cdep+21
+0x1.5aa874p+22
+-0x1.55db94p+22
+-0x1.474c84p+21
+-0x1.8fcd0cp+19
+-0x1.041ae8p+22
+-0x1.33edd4p+22
+-0x1.48176cp+22
+-0x1.66e39cp+21
+0x1.7883fcp+21
+0x1.6552a6p+22
+0x1.41a33ap+22
+0x1.a2a1bap+22
+-0x1.6fdd34p+21
+-0x1.a627f8p+22
+0x1.e83daep+22
+-0x1.235bdep+22
+0x1.4b95ep+22
+-0x1.3c3b32p+22
+-0x1.887e68p+18
+-0x1.09e528p+22
+-0x1.0477fp+22
+0x1.f16ecp+20
+-0x1.54701ap+22
+-0x1.faf462p+21
+0x1.569d32p+22
+-0x1.d2097ep+22
+-0x1.93754ep+21
+0x1.ab552p+20
+-0x1.50a624p+21
+-0x1.c93d9p+21
+-0x1.170e8cp+22
+-0x1.0bde28p+21
+0x1.1d5e1cp+19
+0x1.14f5e8p+22
+-0x1.a29fdap+21
+0x1.1f3f78p+22
+0x1.e6124cp+22
+0x1.c38826p+22
+0x1.e509bp+22
+0x1.2480a6p+20
+-0x1.bdd68ap+22
+-0x1.c6a5ecp+21
+0x1.6187fap+22
+-0x1.3951f6p+13
+-0x1.9f7f1cp+19
+0x1.3de9e2p+19
+0x1.90ab2p+21
+-0x1.6dd25cp+18
+-0x1.8d67ecp+19
+-0x1.ae061ep+21
+0x1.2eb7cp+22
+-0x1.403a98p+22
+-0x1.90198ep+22
+-0x1.4d32cep+22
+-0x1.a1bf06p+20
+-0x1.9b2e4p+21
+0x1.b6345ep+22
+0x1.e66756p+22
+-0x1.dfd8bep+22
+0x1.f4d314p+22
+-0x1.c3f846p+22
+-0x1.fc169ap+20
+0x1.2dd20ep+22
+0x1.0e1e84p+22
+0x1.1522e2p+22
+-0x1.bb0768p+22
+0x1.b02bcep+22
+0x1.dd118ap+22
+0x1.4a76fp+22
+0x1.4c21eap+16
+-0x1.611c7ap+21
+0x1.85eacp+22
+0x1.878d5ep+21
+-0x1.e15a1ap+20
+-0x1.676ad6p+22
+-0x1.ed9728p+21
+0x1.972372p+22
+-0x1.8bace2p+22
+0x1.70764cp+21
+0x1.cec904p+22
+0x1.ee131p+21
+-0x1.39c6fep+22
+-0x1.91a5eap+20
+0x1.5b05b4p+22
+-0x1.5fea6ep+22
+-0x1.4107a2p+21
+-0x1.098f22p+22
+-0x1.b8225ap+20
+0x1.1b9c94p+22
+0x1.c285d6p+22
+-0x1.f9ab46p+22
+0x1.fbbf3p+22
+-0x1.429bc4p+22
+0x1.cb6122p+22
+-0x1.c434eep+20
+0x1.a31efp+22
+0x1.fb04d6p+22
+0x1.c62c84p+21
+-0x1.34e44p+20
+0x1.069e54p+22
+0x1.284f6ep+15
+-0x1.df721cp+21
+-0x1.f101b8p+22
+0x1.643336p+22
+-0x1.4ade22p+22
+0x1.5d49c2p+21
+0x1.b24478p+22
+-0x1.5df018p+22
+-0x1.c1887ep+22
+0x1.80133p+22
+0x1.c5fbecp+22
+0x1.7f9166p+22
+-0x1.f38ba8p+22
+-0x1.dd7e04p+21
+0x1.80267p+22
+-0x1.19badp+21
+0x1.7edb64p+22
+-0x1.c95f6cp+22
+0x1.090766p+22
+-0x1.63a5b6p+20
+-0x1.f502c8p+22
+-0x1.d0863ap+18
+-0x1.4c39c2p+22
+0x1.399d9cp+20
+0x1.9f1fep+22
+-0x1.13d512p+22
+0x1.a60aap+22
+-0x1.a5a11ap+22
+-0x1.9ae8cp+22
+0x1.60a64ap+22
+-0x1.464f88p+20
+0x1.bd96c8p+21
+0x1.a37812p+22
+0x1.4f2a8cp+22
+0x1.4e4b6ep+21
+0x1.3ce41ap+22
+0x1.f2f27ap+21
+-0x1.a96064p+21
+-0x1.0bf8aep+20
+0x1.74c794p+21
+-0x1.4ece9cp+21
+0x1.fdac26p+20
+0x1.78160ap+21
+-0x1.ae4b3p+21
+0x1.dc7cbep+21
+-0x1.23b0a2p+22
+-0x1.08c9cep+20
+0x1.3aa856p+19
+0x1.0b92d2p+22
+0x1.27adbap+22
+-0x1.58abc6p+20
+0x1.b56f88p+21
+0x1.473e06p+21
+0x1.661446p+21
+0x1.d217b2p+22
+0x1.5509a2p+21
+-0x1.4a6cfap+22
+0x1.720e46p+22
+-0x1.93471ep+19
+-0x1.8e9eep+21
+-0x1.7cccdap+21
+-0x1.d0797ap+22
+0x1.469e3ep+21
+-0x1.a2aa52p+21
+-0x1.afe6a6p+18
+-0x1.33d8ecp+20
+0x1.bdee5ep+22
+-0x1.238066p+22
+-0x1.ff1638p+22
+-0x1.0bdabep+21
+-0x1.5b0022p+21
+0x1.6b0902p+22
+0x1.abc24ap+22
+-0x1.92a536p+21
+0x1.af57f6p+18
+-0x1.836376p+22
+-0x1.e4ce54p+22
+0x1.30a5b2p+22
+-0x1.abc2acp+22
+-0x1.53556p+21
+-0x1.f61d56p+22
+-0x1.631556p+22
+-0x1.76238ep+21
+-0x1.2a321ep+22
+-0x1.02bffcp+21
+-0x1.f78b92p+22
+0x1.c22c7p+22
+-0x1.7436fap+22
+-0x1.47c4aap+22
+-0x1.b9eb1p+19
+0x1.b7d94ep+18
+-0x1.6b420ep+22
+-0x1.0ccafp+21
+-0x1.5e596ap+18
+-0x1.c9f0ep+22
+0x1.9a090cp+22
+-0x1.1731a4p+22
+-0x1.3d7358p+22
+0x1.0d2b4p+22
+-0x1.80c112p+20
+-0x1.796012p+22
+-0x1.44c4e4p+22
+0x1.a0907ep+21
+-0x1.16c75ap+21
+0x1.4bb076p+18
+-0x1.943fe6p+22
+-0x1.d863f6p+22
+0x1.78b2b8p+22
+0x1.9b9ba4p+22
+-0x1.92c28ep+22
+-0x1.e719dcp+16
+0x1.a48106p+21
+0x1.20f30ap+22
+0x1.425f28p+19
+0x1.958838p+22
+0x1.785c5cp+22
+-0x1.6eca1p+20
+0x1.acdc9ap+20
+0x1.15012ap+21
+-0x1.dd3302p+22
+-0x1.717eep+20
+0x1.e727bcp+20
+-0x1.96c47ap+21
+0x1.1675dp+22
+0x1.cdcc2ep+21
+0x1.8d105p+20
+0x1.601f4cp+22
+-0x1.6df2ecp+21
+0x1.f9fcbap+22
+-0x1.24c452p+20
+-0x1.4fbbbep+22
+-0x1.0995b4p+22
+0x1.93893p+21
+0x1.7323fcp+22
+-0x1.d57f9ep+20
+0x1.18f2dp+20
+-0x1.d8713p+21
+0x1.a12114p+22
+# Random inputs in the range [8.388608e+06,3.402823e+38]
+## name: workload-2
+-0x1.eae25p+127
+0x1.6bc59cp+127
+0x1.ead822p+126
+-0x1.efe874p+127
+0x1.de01dap+125
+-0x1.2632d4p+127
+0x1.1eb86ep+127
+-0x1.ef32bep+127
+0x1.34bfa4p+124
+-0x1.806224p+127
+0x1.c22d22p+127
+-0x1.8d611cp+127
+0x1.a8d84cp+124
+-0x1.27eb26p+124
+-0x1.476bbp+127
+-0x1.ef841ep+118
+-0x1.fb08e6p+125
+0x1.bd7866p+126
+-0x1.09bc6cp+127
+0x1.b46692p+125
+0x1.411a16p+127
+0x1.d880c6p+126
+-0x1.737848p+127
+0x1.994d1p+127
+-0x1.832484p+127
+0x1.e27dcap+127
+0x1.9a64b8p+127
+-0x1.4e7cfep+127
+-0x1.6efa6cp+127
+-0x1.6e1be4p+127
+-0x1.73c6e8p+127
+0x1.1cb332p+123
+0x1.6e1bacp+126
+0x1.56a68ap+123
+0x1.8115c6p+127
+0x1.4b5ec8p+127
+-0x1.544c28p+126
+-0x1.7fdb58p+123
+-0x1.de761ep+127
+0x1.16e4dep+127
+0x1.3ede0ap+127
+0x1.6cafd2p+119
+-0x1.ac0f5cp+125
+-0x1.1dd652p+127
+0x1.8f8ea6p+126
+-0x1.d2332p+126
+0x1.e40918p+122
+0x1.7e0caap+127
+0x1.3d4b3ep+125
+-0x1.dece6ep+127
+0x1.855788p+127
+0x1.a6bbdap+127
+-0x1.b2702cp+126
+-0x1.d1451p+127
+0x1.bcb416p+123
+0x1.aea088p+126
+0x1.55fea6p+127
+0x1.8ff74p+127
+0x1.65a66ap+127
+-0x1.320e68p+127
+-0x1.7bfd18p+124
+0x1.e6cf6ep+127
+0x1.c99bc4p+127
+0x1.641192p+127
+0x1.62f154p+127
+0x1.7d9feep+127
+-0x1.1a3b72p+127
+0x1.f60ffep+127
+0x1.cc38c4p+123
+0x1.e98042p+127
+0x1.e82c46p+127
+0x1.d4af9cp+127
+0x1.c2dd8cp+127
+-0x1.9a67d6p+127
+-0x1.db7b3cp+124
+0x1.a35b8ep+125
+0x1.0929c2p+125
+0x1.45ffcep+127
+0x1.d80e78p+126
+-0x1.bab46ap+127
+0x1.d0fa44p+126
+-0x1.c46b0cp+127
+0x1.b3ca58p+127
+0x1.be363ap+127
+-0x1.a0c6e8p+126
+0x1.2c8254p+127
+-0x1.2fcca8p+125
+0x1.33e2p+127
+-0x1.b883ccp+125
+-0x1.def9bp+126
+0x1.f699acp+123
+-0x1.e72bbp+127
+-0x1.d7c4ccp+126
+-0x1.d56094p+127
+0x1.448198p+126
+-0x1.e8764ap+126
+0x1.0128d2p+127
+-0x1.cc5738p+127
+-0x1.e66f28p+127
+-0x1.40fe4cp+127
+-0x1.9f0f16p+127
+0x1.1bbc44p+126
+-0x1.b19edcp+126
+-0x1.1e47fap+127
+-0x1.1014d2p+125
+-0x1.7e6d3ap+125
+0x1.a10a6ep+126
+-0x1.020cf8p+123
+0x1.5ed278p+125
+-0x1.22070ap+120
+-0x1.f86f7cp+127
+-0x1.145de6p+126
+0x1.6a2cdep+127
+-0x1.93f914p+125
+-0x1.26656ep+127
+0x1.b2d688p+127
+0x1.5a8ca4p+126
+0x1.9d5762p+125
+0x1.307446p+124
+-0x1.a04276p+127
+0x1.3fc002p+123
+0x1.899a28p+127
+-0x1.6a2798p+127
+0x1.f2b828p+126
+0x1.62451cp+127
+-0x1.87ad72p+127
+0x1.ab119ep+126
+0x1.2676bap+127
+-0x1.17bddep+125
+0x1.665b8ep+126
+-0x1.54f60ep+126
+0x1.e6bcbap+125
+-0x1.66471cp+127
+-0x1.063ce8p+127
+-0x1.689ae8p+126
+0x1.b311ecp+123
+-0x1.7efb18p+127
+-0x1.3291cp+127
+0x1.32f982p+126
+-0x1.c90954p+127
+0x1.74f3ap+127
+0x1.6f4994p+126
+0x1.f36636p+127
+0x1.34e53p+127
+-0x1.1fc5eap+127
+-0x1.523a1ap+127
+-0x1.a82f5ap+126
+0x1.1ff034p+127
+0x1.c7100ap+124
+-0x1.75dfe6p+126
+0x1.43cb44p+124
+0x1.e11ea6p+127
+0x1.26ba0ap+127
+0x1.7a3ff6p+127
+0x1.b6771ep+123
+-0x1.d8aeb6p+125
+-0x1.4beb8ep+125
+0x1.7f21d6p+127
+0x1.c55d46p+122
+0x1.3ac636p+127
+0x1.afba6ep+126
+0x1.27584p+126
+-0x1.70bd5p+127
+0x1.f40b28p+127
+-0x1.3ddb42p+125
+-0x1.92d9ap+127
+-0x1.7857p+127
+-0x1.89aaap+127
+-0x1.e09e54p+127
+0x1.b4672p+126
+-0x1.b2365ap+124
+-0x1.1173f4p+125
+0x1.de89fcp+127
+-0x1.a15f2ap+124
+-0x1.29c986p+127
+0x1.d414e2p+127
+-0x1.3614b4p+126
+0x1.429158p+125
+0x1.a08a48p+127
+-0x1.7173a4p+127
+-0x1.78c04cp+127
+-0x1.f07f76p+124
+-0x1.92cd6p+127
+-0x1.0e8bb4p+126
+-0x1.f0f71ep+126
+-0x1.b87e88p+127
+-0x1.afebbcp+126
+0x1.dc189p+126
+-0x1.f5133cp+127
+-0x1.e30938p+127
+0x1.2600e8p+126
+0x1.824df8p+127
+-0x1.d728acp+126
+0x1.8190d2p+124
+0x1.4a5c52p+127
+0x1.508786p+124
+0x1.6f7dbp+127
+-0x1.fe077p+127
+-0x1.00093p+125
+-0x1.0c93a8p+127
+-0x1.934d88p+123
+-0x1.da4206p+127
+0x1.7f2cb4p+127
+-0x1.f0cd72p+127
+0x1.5b53b2p+127
+-0x1.16a7fep+125
+0x1.bc87d4p+126
+0x1.6897d8p+127
+0x1.489f7ap+127
+0x1.39c008p+126
+-0x1.f55e16p+127
+0x1.6ec406p+126
+0x1.597a4ap+125
+-0x1.23d03cp+127
+0x1.4f9be6p+127
+-0x1.dc7d64p+127
+0x1.dc9b96p+126
+-0x1.1b4cf8p+127
+0x1.c0a97ep+126
+-0x1.8d1dep+127
+-0x1.f16aap+123
+-0x1.7591b6p+127
+0x1.da0b26p+127
+0x1.6b965ep+125
+0x1.29bd42p+127
+0x1.b8f4ecp+127
+0x1.94a26cp+127
+-0x1.a32988p+127
+-0x1.84606ep+127
+-0x1.06a956p+127
+0x1.bbc8c2p+127
+0x1.cb41e4p+126
+-0x1.3ece78p+127
+0x1.4b6c82p+124
+0x1.d4b0bap+127
+-0x1.41cd6ep+127
+0x1.c481bep+127
+-0x1.9d746cp+127
+-0x1.ada9eep+127
+0x1.b96116p+126
+0x1.791ef4p+126
+-0x1.75bb7p+126
+-0x1.3e1ac4p+123
+0x1.298522p+126
+-0x1.67292cp+127
+0x1.664682p+127
+0x1.fc521cp+124
+0x1.33b35cp+123
+-0x1.5752ep+127
+-0x1.184282p+127
+0x1.e1fd64p+127
+0x1.5d1d62p+126
+-0x1.1bded8p+127
+0x1.09be8p+127
+-0x1.801f5p+127
+0x1.dd137ap+121
+-0x1.ee5f7cp+126
+-0x1.41ad3cp+125
+0x1.75c806p+126
+-0x1.1f744cp+127
+-0x1.a38a6ap+126
+-0x1.4fb5d6p+127
+0x1.e2701p+127
+0x1.2798fep+126
+-0x1.beb2acp+127
+0x1.f114f6p+127
+-0x1.911adp+126
+0x1.3ca53ap+127
+0x1.e0117cp+127
+0x1.a56d5ep+127
+-0x1.d18004p+125
+0x1.aa9a4p+126
+0x1.57fa6cp+126
+-0x1.aabb64p+124
+0x1.c3f1fp+127
+-0x1.a075dap+124
+-0x1.59eb78p+127
+-0x1.fcc3e6p+126
+-0x1.ee225p+125
+0x1.516426p+122
+-0x1.61113ap+127
+-0x1.97cc3p+121
+-0x1.444848p+126
+-0x1.0336fcp+126
+0x1.3af2c4p+125
+0x1.0d6432p+125
+-0x1.bf7822p+127
+0x1.8a4614p+126
+-0x1.b54f84p+122
+0x1.27343p+127
+0x1.c3d49ap+126
+0x1.7fbefep+127
+0x1.a76c84p+127
+0x1.2a63bcp+126
+-0x1.9f0ed8p+126
+-0x1.13980ep+122
+-0x1.2163d8p+126
+0x1.b2bc02p+124
+0x1.eaa15p+127
+0x1.0c19ap+127
+0x1.bef714p+127
+0x1.71b8d2p+127
+-0x1.e86ffap+125
+-0x1.51ad0cp+126
+-0x1.9260c4p+126
+0x1.442bd6p+127
+0x1.ed6e02p+127
+-0x1.61c94p+127
+-0x1.861a78p+125
+-0x1.c3d5a8p+126
+-0x1.68738ep+125
+-0x1.985b38p+122
+0x1.22c9b8p+127
+0x1.10e90cp+127
+0x1.f37c3ap+127
+0x1.b2ece8p+124
+0x1.952124p+127
+0x1.2775fp+127
+-0x1.06dbfcp+127
+0x1.a3fbep+126
+-0x1.7ad7fep+125
+0x1.4ce022p+127
+-0x1.bad2b6p+127
+0x1.90c01ap+127
+0x1.9147dp+127
+-0x1.8479c8p+125
+0x1.0b861ap+126
+-0x1.55848ap+125
+0x1.7e0a96p+127
+0x1.98050ep+126
+0x1.a76dbep+126
+-0x1.196062p+127
+-0x1.214cb8p+125
+0x1.ab20c8p+126
+-0x1.382bcp+126
+0x1.6a981cp+126
+-0x1.47b812p+124
+-0x1.5db334p+125
+-0x1.aa8876p+127
+-0x1.9871aep+127
+-0x1.ff4c28p+127
+-0x1.ef48bcp+127
+0x1.71807cp+127
+-0x1.ae5814p+127
+-0x1.c0115ep+127
+-0x1.a77b1p+127
+-0x1.ca1c2ap+126
+0x1.b62404p+127
+-0x1.c4ea92p+127
+0x1.244038p+124
+-0x1.7b367p+127
+-0x1.fa9cfp+127
+-0x1.446bdp+127
+0x1.374478p+126
+-0x1.2760fcp+125
+0x1.8d1f12p+124
+0x1.995e54p+126
+-0x1.3807p+127
+0x1.d2a2a4p+127
+0x1.ecf024p+127
+0x1.2b9da6p+127
+-0x1.efce48p+127
+-0x1.512f62p+127
+0x1.9b8864p+127
+0x1.5483d4p+124
+-0x1.58a052p+127
+0x1.ee7f0cp+126
+0x1.c97bb6p+127
+-0x1.6bc4ap+127
+-0x1.b4bec8p+127
+-0x1.804dcep+126
+0x1.e3ddaep+127
+0x1.6873d4p+127
+-0x1.6c283cp+125
+-0x1.c7963ap+126
+0x1.02a884p+127
+0x1.1877ep+127
+-0x1.58234ep+127
+0x1.87362ep+127
+-0x1.bdbfe4p+126
+0x1.976bfap+127
+-0x1.f9dadp+126
+-0x1.e780ap+126
+-0x1.e45faep+127
+-0x1.34ffeep+127
+-0x1.fe2926p+127
+-0x1.11a714p+126
+-0x1.9ec55cp+126
+0x1.045374p+124
+-0x1.72b1ccp+127
+-0x1.e43644p+126
+0x1.25360ep+125
+0x1.b4cd52p+124
+0x1.fd0546p+126
+-0x1.10e838p+127
+0x1.64aeacp+127
+0x1.5fbdd6p+125
+-0x1.f09138p+127
+-0x1.62c26ep+125
+0x1.b46d08p+127
+0x1.099e5ap+126
+0x1.358c12p+126
+0x1.c23bfp+125
+-0x1.8059b8p+123
+-0x1.2a1684p+125
+-0x1.322c1ap+127
+-0x1.a60874p+126
+0x1.346022p+125
+-0x1.9fbf84p+123
+0x1.662694p+124
+0x1.69a874p+126
+0x1.61387cp+127
+-0x1.8eeaa6p+125
+-0x1.5e6ecp+127
+0x1.11eb6ap+125
+-0x1.a53fb2p+127
+-0x1.ea995ap+127
+0x1.fb900cp+126
+0x1.080c9cp+126
+0x1.3ed2d6p+127
+-0x1.d9e226p+127
+-0x1.9219d6p+127
+-0x1.c65b1cp+125
+-0x1.f425d4p+127
+0x1.676c54p+126
+0x1.94baf8p+126
+-0x1.d3eaf2p+126
+0x1.cbc028p+126
+0x1.bf2ab2p+120
+-0x1.2edce6p+127
+0x1.026e9cp+127
+-0x1.f3d10ep+126
+-0x1.e5243cp+126
+0x1.432818p+127
+-0x1.856d9ap+127
+0x1.5da4fap+126
+0x1.95f24cp+125
+-0x1.e930d8p+127
+-0x1.bd8278p+127
+-0x1.538384p+125
+0x1.d60ce6p+127
+0x1.8bd128p+123
+-0x1.bc472ap+127
+0x1.cd7728p+127
+-0x1.3f3218p+127
+-0x1.04e8bep+125
+-0x1.ac7ba8p+127
+-0x1.ae2076p+126
+-0x1.6baec2p+124
+-0x1.3332a4p+124
+0x1.67479ap+127
+-0x1.b44228p+124
+0x1.a39fc8p+126
+-0x1.c74e36p+125
+-0x1.db6cfcp+126
+-0x1.4f3d84p+124
+-0x1.ccaccp+124
+-0x1.e18744p+127
+0x1.bd4a82p+126
+0x1.d82ad4p+127
+0x1.e10d0ep+127
+0x1.c6104ep+127
+-0x1.4f946cp+126
+0x1.281b56p+127
+-0x1.4c6ba2p+125
+-0x1.c40baap+126
+-0x1.82c2f6p+127
+-0x1.141996p+124
+0x1.74bd22p+125
+-0x1.f48172p+127
+-0x1.d649b2p+126
+-0x1.2f2deep+127
+-0x1.22efcap+125
+-0x1.304082p+127
+-0x1.42f1b8p+127
+-0x1.7d3a94p+127
+0x1.eb4568p+127
+-0x1.2ed8e4p+126
+-0x1.d3cf8cp+126
+0x1.b9b116p+127
+-0x1.f79fd6p+122
+-0x1.597768p+126
+-0x1.832792p+125
+-0x1.857f08p+123
+0x1.9f0ce6p+126
+-0x1.254f5cp+126
+0x1.f05d08p+127
+0x1.ef5cbap+127
+0x1.5cec2ap+127
+-0x1.a50b16p+124
+-0x1.3e126p+127
+-0x1.695a16p+127
+0x1.06057cp+127
+0x1.4e5ad8p+126
+0x1.77dc28p+126
+0x1.a8e79p+127
+-0x1.2a43e4p+126
+0x1.6147c8p+124
+-0x1.8c03e8p+127
+-0x1.806664p+126
+-0x1.bf009ep+121
+-0x1.123c96p+122
+0x1.92ee3cp+127
+0x1.b3b788p+127
+0x1.35a352p+126
+0x1.646d26p+126
+0x1.2481ccp+127
+0x1.2b2876p+127
+-0x1.09c4a8p+126
+-0x1.750382p+127
+0x1.ad4f54p+127
+0x1.84e314p+126
+-0x1.f9382p+127
+0x1.ff079cp+123
+0x1.03597ap+127
+-0x1.160418p+124
+-0x1.e1614p+126
+-0x1.e493f4p+126
+-0x1.05aa1cp+123
+-0x1.4ec07p+126
+-0x1.cd9098p+127
+0x1.7c8c6ep+126
+0x1.c93da6p+125
+-0x1.194218p+127
+0x1.67a526p+127
+-0x1.188fa6p+127
+-0x1.9de748p+126
+0x1.560936p+126
+0x1.1caf7ep+125
+-0x1.ef8e26p+124
+-0x1.e0d672p+127
+-0x1.307086p+126
+-0x1.198e2ap+127
+-0x1.044daap+126
+-0x1.d833bap+126
+0x1.f09cd6p+124
+-0x1.63be02p+125
+-0x1.2c9c0ap+126
+0x1.b7b628p+127
+0x1.d9d7e6p+127
+0x1.ca9e7ep+123
+0x1.3ac1bcp+127
+-0x1.e0c958p+127
+-0x1.1a1b62p+124
+0x1.6adc9cp+127
+-0x1.18aa1cp+126
+-0x1.cb7c4ap+126
+0x1.152ecep+125
+-0x1.63fa8ap+125
+0x1.62edap+127
+0x1.200296p+127
+0x1.ec2edcp+127
+-0x1.cdb2eap+126
+-0x1.d5fd6ep+126
+0x1.0331e2p+125
+0x1.b3d6bp+127
+-0x1.948cfap+125
+-0x1.9e269cp+126
+-0x1.569eeep+127
+-0x1.6854bcp+127
+-0x1.c25458p+126
+-0x1.c0a1d6p+126
+-0x1.f0f694p+124
+0x1.c66a62p+126
+0x1.0f53a4p+127
+0x1.914988p+126
+0x1.3cd4dcp+127
+0x1.9e812p+124
+0x1.ec58dep+126
+-0x1.585b7cp+125
+0x1.8478f8p+127
+-0x1.8c2476p+127
+-0x1.65018cp+127
+0x1.c6f508p+126
+-0x1.61667ap+126
+0x1.064b72p+126
+0x1.1de0e8p+125
+-0x1.53bf86p+127
+-0x1.2e3c86p+127
+0x1.5eb966p+127
+0x1.2c2532p+125
+0x1.fbdf36p+122
+-0x1.19f366p+127
+-0x1.ed63a2p+127
+0x1.834226p+127
+-0x1.fa413ap+127
+0x1.9679ap+127
+0x1.897baep+126
+-0x1.451728p+127
+-0x1.f4f596p+127
+0x1.407f9cp+126
+0x1.7019fep+127
+-0x1.d0907ap+127
+-0x1.5e6f3p+127
+0x1.a8298ap+127
+-0x1.7671fcp+126
+0x1.35d6dcp+127
+0x1.8432e8p+127
+0x1.f0a1dep+127
+0x1.606468p+127
+0x1.fd2cd2p+127
+-0x1.87b0aap+125
+-0x1.4c06d6p+127
+0x1.73b0cp+125
+-0x1.c0aep+127
+-0x1.e87b64p+126
+0x1.cfdc64p+127
+-0x1.cd587p+126
+-0x1.95a0e2p+127
+0x1.1cf196p+127
+0x1.965204p+127
+0x1.54429ep+127
+0x1.1e32f4p+127
+0x1.c33268p+127
+0x1.a19b86p+127
+0x1.581362p+127
+-0x1.a742bcp+126
+0x1.99073cp+126
+0x1.89f99cp+127
+0x1.875d22p+127
+0x1.c6c2dap+127
+0x1.b8ff4p+124
+-0x1.03ee6cp+127
+0x1.8c78ecp+126
+-0x1.7f667p+127
+-0x1.e49b1p+126
+0x1.9ad97ep+127
+-0x1.b61464p+127
+0x1.b8ca82p+125
+-0x1.5ed7dcp+126
+-0x1.f668cap+127
+0x1.2ec58p+126
+-0x1.815b3ap+127
+-0x1.d193f4p+124
+0x1.ede4c4p+126
+0x1.1c20cap+127
+-0x1.93eaep+127
+-0x1.9d3b92p+127
+0x1.13f1d8p+126
+0x1.9b1212p+126
+0x1.063fdp+127
+0x1.34451ep+127
+-0x1.4e96e4p+127
+-0x1.7e60e4p+125
+-0x1.9ba834p+126
+-0x1.5c45e6p+123
+-0x1.67f58p+127
+0x1.70b81p+127
+-0x1.8f8baep+127
+-0x1.1d15b2p+127
+-0x1.e9227cp+127
+0x1.ea3bdcp+127
+-0x1.de1f78p+127
+0x1.592e0ep+127
+-0x1.09fd12p+125
+-0x1.6b3c66p+127
+0x1.63d746p+127
+0x1.d0c346p+127
+-0x1.7515dcp+127
+-0x1.9c9acep+125
+0x1.1801d6p+127
+0x1.00b926p+122
+-0x1.e3809ep+127
+-0x1.d66668p+125
+-0x1.bd0ee6p+127
+-0x1.f6b998p+127
+0x1.d70dfp+126
+-0x1.54e698p+127
+-0x1.9444dep+123
+-0x1.5ffadap+124
+0x1.a658cp+126
+-0x1.01bdbep+127
+-0x1.2a406ep+127
+-0x1.88e942p+127
+-0x1.d04d92p+127
+-0x1.4a0022p+127
+0x1.0c4beap+127
+0x1.818df2p+127
+-0x1.638f3ep+127
+0x1.db919ap+126
+0x1.18cafep+127
+-0x1.644c0ap+127
+0x1.f5cc7cp+127
+0x1.e985ecp+126
+0x1.f57c32p+122
+-0x1.11e042p+126
+-0x1.c962a2p+127
+0x1.f5c9bp+123
+-0x1.22cf06p+125
+-0x1.5e7caep+127
+-0x1.ce72cap+127
+0x1.c1641ep+126
+0x1.b9013ep+127
+0x1.2978c6p+127
+-0x1.3837f6p+126
+-0x1.f4106cp+127
+-0x1.904ea8p+127
+-0x1.e48b66p+126
+-0x1.8cdc48p+127
+0x1.3277dcp+126
+-0x1.76492cp+124
+-0x1.7bf17p+127
+0x1.1d230ap+127
+0x1.e677a8p+127
+0x1.3f866ap+127
+-0x1.bb048ap+126
+0x1.169ee8p+123
+-0x1.8741cap+127
+0x1.d0c64p+127
+0x1.a5b86cp+127
+-0x1.b79ff2p+122
+0x1.5a73f6p+126
+-0x1.6e2b6cp+127
+0x1.3c8658p+126
+0x1.e57c6p+127
+0x1.76de1cp+127
+-0x1.5acaacp+127
+0x1.b85a64p+127
+0x1.e7227ap+126
+-0x1.671aeap+127
+0x1.add826p+126
+0x1.341fbep+126
+-0x1.bcfb9ep+127
+0x1.211276p+125
+-0x1.cc5992p+126
+-0x1.257a4ap+124
+-0x1.5c75eep+126
+-0x1.2259e2p+126
+0x1.0f712p+126
+0x1.335d18p+124
+0x1.7f2b0ep+127
+-0x1.e7787ap+124
+-0x1.643d44p+124
+-0x1.0d4fc8p+126
+-0x1.4f7632p+125
+0x1.83f308p+124
+-0x1.4e9f84p+127
+-0x1.274b96p+127
+0x1.6ba63ep+127
+0x1.509dbep+126
+0x1.840572p+124
+-0x1.bd69e8p+127
+0x1.c6db54p+127
+-0x1.fbc912p+126
+0x1.b48faap+126
+0x1.bfd1cp+126
+-0x1.f725d4p+124
+0x1.00f158p+123
+0x1.67eb1ep+127
+0x1.e891aep+127
+-0x1.88591ep+121
+0x1.ef7916p+126
+0x1.ee050ep+126
+-0x1.a73a18p+127
+-0x1.579882p+127
+0x1.c04742p+127
+-0x1.f8fa9cp+127
+0x1.270d8p+125
+-0x1.6d04e4p+127
+0x1.df1458p+126
+0x1.287272p+127
+-0x1.397cf6p+126
+0x1.f07088p+127
+0x1.0abb1cp+127
+-0x1.d1d3cp+127
+0x1.2861bp+127
+0x1.1b4ebp+127
+0x1.11bc3ep+126
+0x1.db7196p+127
+0x1.f26566p+125
+-0x1.02fa32p+119
+0x1.02842ep+127
+0x1.f2653ap+127
+-0x1.9e02b8p+127
+0x1.73600ep+125
+0x1.d66e64p+127
+-0x1.193f4ep+126
+-0x1.4cbc9ep+125
+-0x1.e84018p+127
+0x1.2cac3ap+127
+0x1.971ed2p+126
+-0x1.2e6decp+126
+0x1.7311ecp+126
+-0x1.9cb426p+127
+0x1.c2aadp+126
+-0x1.6ba7aap+125
+-0x1.6c0d32p+126
+-0x1.c8973p+126
+0x1.b4043ep+125
+-0x1.cf9a56p+127
+-0x1.c052fp+125
+-0x1.f28f86p+127
+-0x1.3ba352p+127
+0x1.20bc0cp+126
+0x1.152ccap+127
+0x1.d2fe4ap+126
+0x1.49fc4cp+127
+-0x1.ccf72ap+127
+0x1.de79d4p+127
+0x1.616fc4p+126
+0x1.e725f2p+124
+0x1.64eaf6p+125
+0x1.b333b6p+127
+-0x1.8ba6a6p+122
+-0x1.9830d4p+127
+-0x1.939456p+127
+0x1.78a5bp+127
+-0x1.b098dap+127
+-0x1.2cceb8p+127
+0x1.6de1a4p+127
+-0x1.dbf82ap+127
+-0x1.b9e954p+121
+-0x1.b9f51p+126
+-0x1.1b3412p+127
+0x1.1393d8p+127
+-0x1.57e5c2p+126
+-0x1.a405b2p+125
+-0x1.ab5e3ap+127
+0x1.792558p+126
+0x1.9efd0ep+127
+0x1.4ce224p+126
+-0x1.e2d39ep+126
+0x1.d0705ep+127
+-0x1.fe5f58p+127
+0x1.68a408p+125
+-0x1.ede37p+127
+0x1.229214p+127
+0x1.86ab18p+127
+-0x1.4dc898p+127
+-0x1.7487bap+127
+0x1.0c1b44p+122
+0x1.1a8c6ap+126
+-0x1.64823ep+125
+0x1.8cc54cp+126
+0x1.aa418cp+124
+0x1.2a62d8p+127
+0x1.932aa8p+126
+-0x1.6204cap+127
+0x1.2bde6ap+127
+-0x1.e64feap+125
+-0x1.1bcbdep+127
+-0x1.c0e0e6p+126
+0x1.151758p+124
+0x1.60a1f8p+125
+-0x1.250226p+124
+0x1.cfc86ap+127
+-0x1.e6dd7ep+124
+-0x1.e473c2p+126
+0x1.8ab1b8p+127
+0x1.00ce16p+126
+-0x1.017548p+127
+0x1.ce94ccp+125
+0x1.e4efbcp+127
+-0x1.a9a90cp+127
+-0x1.7ff918p+126
+-0x1.7d0832p+125
+-0x1.a6082p+124
+0x1.bd44d8p+127
+-0x1.9ad0e6p+127
+0x1.9591e6p+127
+0x1.b55a82p+126
+0x1.76b34cp+127
+-0x1.add4a6p+122
+-0x1.6a83a4p+127
+0x1.29e034p+126
+0x1.2db8c6p+127
+0x1.93bb28p+126
+-0x1.ea8d34p+127
+0x1.08a9fp+126
+0x1.72efcep+127
+-0x1.7b4da6p+127
+-0x1.f84a78p+127
+-0x1.05cdf6p+126
+-0x1.3a7a4ep+126
+-0x1.93697p+125
+0x1.c6dd96p+127
+0x1.5982ap+127
+-0x1.0d49e8p+126
+-0x1.cc6ccep+125
+-0x1.893fd2p+126
+0x1.6f8ffep+124
+-0x1.c56fa2p+126
+-0x1.233b7cp+127
+-0x1.148d92p+127
+0x1.196e3ap+127
+0x1.ef844cp+127
+0x1.8ebff8p+127
+-0x1.f58ceep+127
+-0x1.9684b6p+127
+0x1.482f6cp+127
+-0x1.45b98cp+127
+-0x1.4b4702p+127
+0x1.97f8bep+124
+0x1.0f5f9ap+126
+0x1.e9e23ep+127
+-0x1.df586cp+126
+0x1.e45d8ep+124
+-0x1.91deaap+125
+-0x1.ae34bcp+127
+0x1.2e2b94p+127
+-0x1.6f811p+127
+0x1.6857b2p+127
+0x1.01157ap+127
+0x1.a015bep+126
+0x1.c44cp+127
+0x1.812c2ep+122
+-0x1.52766ap+127
+-0x1.c24286p+127
+0x1.db9f4ap+127
+0x1.41e85cp+127
+-0x1.72676ap+127
+0x1.bf808ep+127
+0x1.5725c8p+124
+0x1.2c9104p+127
+-0x1.bdecd8p+127
+-0x1.bf8bfep+127
+0x1.5faffcp+127
+-0x1.d7f0acp+127
+-0x1.37a932p+124
+0x1.3d9732p+126
+0x1.55daa8p+126
+-0x1.1db4cap+127
+-0x1.06242ap+127
+0x1.2fbd72p+127
+-0x1.537146p+127
+-0x1.dcc95ap+122
+-0x1.62d696p+126
+-0x1.385246p+127
+0x1.d84f16p+127
+0x1.43ec32p+127
+-0x1.f4756p+126
+0x1.8a85f8p+127
+0x1.f778a6p+127
+-0x1.6eab0ep+127
+-0x1.16892ep+126
+0x1.be06cep+124
+0x1.e04184p+125
+-0x1.d36784p+127
+-0x1.08828p+125
+0x1.0cf09ep+127
+-0x1.c3fbb2p+126
+-0x1.d19b18p+127
+-0x1.200854p+127
+0x1.7322e8p+127
+-0x1.b73cdap+124
+0x1.905048p+127
+-0x1.ca9b12p+126
+0x1.e7c1aap+127
+-0x1.0d5f38p+125
+0x1.43cacap+127
+0x1.9fccbcp+126
+-0x1.7676b4p+126
+0x1.6c973ep+125
+-0x1.de2fap+127
+-0x1.5f79a2p+127
+-0x1.7cfcap+127
+0x1.1cc1bp+124
+-0x1.404f6cp+127
+0x1.4d9e92p+120
+0x1.70bb86p+124
+-0x1.425486p+127
+-0x1.6cb556p+126
+0x1.1e7beep+127
+-0x1.3cc9fp+125
+-0x1.591312p+127
+-0x1.ddb2dp+127
+-0x1.2452fep+126
+-0x1.ca359p+126
+0x1.5b363ap+127
+-0x1.e27ffcp+127
+-0x1.d6b77p+126
+-0x1.d22e02p+127
+0x1.65018ap+127
+-0x1.4ef9e8p+127
+-0x1.4898cap+127
+-0x1.dbabdp+127
+0x1.8b5932p+127
+0x1.a19a84p+124
+0x1.44531cp+127
+0x1.645cccp+126
+0x1.4a6cf2p+127
+0x1.8e4948p+125
+0x1.b71178p+127
+0x1.6be434p+126
+-0x1.beb0ap+126
+-0x1.4b390ap+127
+0x1.0052e6p+127
+0x1.ba1d76p+127
+0x1.486624p+127
+0x1.0e6244p+127
+0x1.9173cep+127
+0x1.8d2404p+124
+0x1.e0e0aap+127
+-0x1.b456bcp+126
+-0x1.b2dbdep+125
+-0x1.509ffap+127
+0x1.72669cp+124
+0x1.c12e78p+125
+-0x1.cdc986p+127
+-0x1.c2a726p+126
+-0x1.499ecep+127
+0x1.9a7a38p+126
+0x1.6c268ep+127
+-0x1.8c498cp+127
+-0x1.a3b83ap+127
+0x1.6f3324p+127
+-0x1.235054p+127
+-0x1.3ef37p+126
+-0x1.22ec36p+125
+0x1.71bc34p+126
+0x1.ff570ap+127
+0x1.ddaabap+126
+0x1.3c0d48p+126
+0x1.18233p+127
+-0x1.f05722p+123
+-0x1.dde01ep+127
+0x1.2f1094p+124
+-0x1.719bep+127
+0x1.6fdec8p+126
+0x1.83ba12p+127
+-0x1.88de08p+127
+-0x1.433de6p+127
+-0x1.a725ecp+126
+0x1.b487bcp+126
+-0x1.3aefbcp+125
+0x1.b42758p+126
+-0x1.e3cd1p+126
+-0x1.27f124p+127
+-0x1.ba5422p+126
+0x1.236702p+127
+0x1.884f66p+126
+0x1.1c1faep+124
+-0x1.dac84cp+126
+0x1.17a4c6p+126
+-0x1.17ec7cp+127
+0x1.1b992cp+127
+0x1.40a9bcp+126
+0x1.defaacp+126
+0x1.f4198p+127
+0x1.e8389cp+126
+0x1.f84188p+127
+-0x1.bd0546p+127
+-0x1.f54b0cp+125
+0x1.ff1e04p+127
+0x1.db2468p+126
+0x1.dca9d6p+127
+0x1.96fa66p+126
+0x1.d1a3bep+123
+0x1.220bfep+126
+0x1.3a01acp+127
+-0x1.d7a546p+126
+-0x1.0a429cp+123
+0x1.b040dp+127
+-0x1.86168ap+127
+0x1.2a5084p+126
+0x1.de5acap+126
+-0x1.28d19ap+126
+0x1.85c414p+126
+-0x1.15e642p+127
+0x1.c7f17ep+127
+0x1.ea067p+127
+0x1.6c1146p+122
+-0x1.432264p+126
+-0x1.01e682p+124
+0x1.db36a4p+127
+0x1.da8c06p+123
+0x1.dcbdbep+127
+-0x1.a66cf8p+127
+0x1.17b9b2p+127
+0x1.4f6176p+127
+-0x1.584d28p+125
+0x1.4c4972p+126
+0x1.abf094p+123
+-0x1.75fe8ap+127
+-0x1.a558a4p+126
+0x1.ec1052p+127
+-0x1.ea4818p+127
+0x1.e74e7cp+126
+0x1.c4df18p+125
+-0x1.6f7bcep+127
+0x1.b66432p+126
+-0x1.6d2014p+127
+0x1.681feep+127
+0x1.e89f82p+125
+0x1.b77b44p+126
+0x1.c7395ep+127
+-0x1.717992p+125
+-0x1.f70332p+127
+-0x1.4ca60ep+127
+0x1.9e630ep+126
+-0x1.2bd648p+127
+-0x1.846734p+123
+-0x1.f5f9e6p+125
+0x1.ad0d5p+126
+0x1.ef9268p+127
+0x1.f1c966p+127
+0x1.37f9ecp+127
+-0x1.72a6c4p+127
+-0x1.ba78dp+125
+0x1.c8546cp+127
+-0x1.7ffffep+127
+0x1.fe8ddcp+127
+-0x1.647de2p+124
+0x1.5c5c32p+122
+-0x1.f542ap+123
+-0x1.a1d9a2p+126
+-0x1.02d5d4p+127
+0x1.6ed252p+125
+-0x1.42b25ap+127
+0x1.491188p+126
+-0x1.8b529cp+127
+-0x1.990cbp+127
+0x1.c30602p+127
+-0x1.9c99dap+127
+-0x1.af4ff4p+127
+-0x1.f9b32ep+126
+0x1.32a2cp+126
+-0x1.f4fd16p+120
+-0x1.d27efp+127
+0x1.d2a0ap+126
+-0x1.ab308ap+127
+-0x1.e03ebep+126
+-0x1.24872ap+127
+0x1.e73056p+127
+-0x1.02e8ecp+126
+-0x1.e62f0ap+125
+0x1.019c6p+125
+-0x1.e916c4p+122
+0x1.71f31ep+127
+0x1.a47dfep+121
+-0x1.703dcep+125
+-0x1.f2f5cp+126
+-0x1.1ff634p+126
+-0x1.d37a32p+127
+0x1.fa321ap+125
+-0x1.ffaecap+127
+-0x1.cc6f64p+126
+0x1.7e7f08p+127
+-0x1.e4ac7ap+123
+0x1.9b6e96p+125
+-0x1.539cdcp+127
+-0x1.d5b82p+126
+0x1.bb2982p+126
+0x1.91d57p+126
+0x1.f651ccp+126
+-0x1.d9bb2p+122
+0x1.79cff4p+127
+-0x1.fba23p+125
+-0x1.f42022p+127
+0x1.9fb3c2p+127
+0x1.9ed72p+126
+-0x1.cd56acp+126
+-0x1.f7c24p+127
+-0x1.991f8p+127
+-0x1.fe7856p+125
+0x1.82703p+127
+0x1.9f57bap+126
+0x1.80eb94p+127
+0x1.edd204p+127
+0x1.de57b2p+120
+-0x1.0a71ap+126
+0x1.b5d824p+126
+0x1.f07d7cp+127
+0x1.f942fcp+127
+-0x1.d2a6e6p+127
+0x1.a2c8fp+126
+0x1.8eadecp+127
+0x1.ea949ap+127
+-0x1.5cdf2cp+126
+-0x1.4cf40ap+126
+-0x1.3ae82p+119
+0x1.f45274p+127
+0x1.19a78ep+127
+0x1.2b4a6p+127
+0x1.debd42p+120
+-0x1.628426p+126
+-0x1.7d1866p+127
+-0x1.3bf11p+127
+0x1.9b9be8p+126
+0x1.877e4cp+126
+-0x1.1a866p+127
+-0x1.3ec208p+127
+-0x1.a2a502p+127
+0x1.300464p+126
+-0x1.f615fep+126
+0x1.a18378p+127
+-0x1.91d71cp+126
+0x1.3ee83p+126
+-0x1.849cf4p+127
+0x1.b2732ap+126
+-0x1.07fb8ap+127
+0x1.0fca06p+127
+-0x1.797e7cp+125
+-0x1.faf328p+127
+0x1.e26dfcp+126
+0x1.3d8e46p+125
+0x1.804be4p+127
+-0x1.1a63p+127
+-0x1.6f9a7ap+127
+-0x1.d5cea8p+126
+-0x1.ff6afep+127
+0x1.4094e2p+127
+0x1.027f2ep+127
+0x1.c95872p+125
+0x1.5ab42ap+127
+0x1.772156p+127
+0x1.847a6cp+127
+0x1.8e0574p+122
+-0x1.a1b6e8p+127
+0x1.b452bap+127
+-0x1.26b9a8p+127
+-0x1.3b3d6cp+127
+-0x1.4ad3eep+123
+-0x1.858082p+126
+0x1.804abp+127
+-0x1.c60ac4p+126
+-0x1.912492p+127
+-0x1.a7b3aep+124
+0x1.811a9ap+125
+0x1.2d333ap+127
+0x1.f2a59ap+127
+0x1.b1e24cp+126
+-0x1.d2ecfap+127
+0x1.928e86p+124
+0x1.1fd20cp+123
+-0x1.64b136p+127
+0x1.258c3ep+124
+-0x1.34dcdp+127
+-0x1.085aa4p+127
+-0x1.3aa528p+127
+0x1.b91e32p+127
+0x1.9c9b04p+125
+0x1.9d1b6ep+127
+0x1.b6f8e6p+127
+-0x1.2ea544p+126
+-0x1.b89acap+125
+-0x1.4fd3d2p+127
+-0x1.81b142p+127
+0x1.34a48p+125
+0x1.33700cp+127
+0x1.fddf4ep+127
+0x1.a5e576p+127
+0x1.bbca62p+126
+-0x1.93a846p+127
+0x1.5852dep+126
+0x1.24cba4p+127
+0x1.ba290ep+127
+0x1.2c65b4p+127
+0x1.50f924p+125
+0x1.5ec82ap+126
+-0x1.f2d40ep+127
+-0x1.f1f81cp+127
+-0x1.ede522p+127
+-0x1.5eda3ap+126
+-0x1.ede2a6p+127
+0x1.71a632p+127
+-0x1.a0e922p+125
+-0x1.abea26p+126
+0x1.2a561ep+127
+0x1.ebafeap+127
+0x1.235df4p+127
+0x1.adfa1ep+126
+0x1.de9704p+126
+0x1.441b3ep+127
+-0x1.272264p+127
+-0x1.c933b8p+126
+-0x1.38a8aep+127
+0x1.af615ep+125
+0x1.856cc4p+127
+0x1.764702p+126
+-0x1.c90eaap+126
+-0x1.5b92aep+126
+0x1.51f76cp+125
+0x1.a97acep+125
+0x1.f3d9b8p+126
+0x1.ec55aap+127
+-0x1.620f9cp+127
+-0x1.06ed3ap+127
+-0x1.1fce04p+125
+0x1.3b793p+127
+0x1.0a6f5p+126
+0x1.0aa9fp+127
+0x1.8c4936p+127
+-0x1.1c6366p+127
+-0x1.5deff6p+126
+0x1.1ddd42p+127
+-0x1.3490b2p+121
+0x1.25cd4ep+127
+0x1.fa2b8ep+127
+0x1.77c55ep+127
+0x1.d667aep+127
+0x1.e58d1ep+125
+0x1.5a7a72p+127
+-0x1.5a62p+125
+0x1.ed0092p+126
+0x1.7f63a2p+127
+-0x1.fe858cp+127
+0x1.43dec4p+127
+0x1.970108p+123
+0x1.307e2ap+127
+-0x1.cccc74p+127
+0x1.7c06c4p+125
+0x1.d94a2ap+125
+0x1.79df3ap+126
+0x1.bc1764p+127
+-0x1.fe801p+127
+0x1.7b2dd4p+127
+-0x1.116eb8p+127
+0x1.d75992p+127
+-0x1.272e2p+126
+-0x1.601918p+127
+-0x1.126fbp+126
+-0x1.a24b72p+126
+-0x1.29dfcap+126
+-0x1.29c7f6p+126
+0x1.8abc12p+124
+0x1.865f3ep+126
+0x1.3e8658p+124
+-0x1.cf9398p+126
+0x1.726094p+126
+-0x1.065714p+127
+0x1.6c63p+126
+0x1.3f1238p+124
+-0x1.93641p+127
+0x1.8c4b6p+124
+-0x1.932e32p+127
+-0x1.35c6bap+124
+-0x1.868be4p+127
+0x1.55eecep+125
+0x1.c99f48p+124
+-0x1.b8dd52p+127
+-0x1.10b9dp+127
+0x1.153ab6p+126
+-0x1.160346p+126
+-0x1.fae694p+126
+0x1.4811bap+126
+-0x1.19246cp+127
+-0x1.a7601p+127
+-0x1.98efb8p+127
+-0x1.1eb9bp+125
+-0x1.bb1464p+127
+0x1.a7ff0cp+125
+0x1.9a7a5p+125
+0x1.95293p+127
+-0x1.51c376p+127
+0x1.e0f96ap+125
+-0x1.0fd08p+126
+-0x1.1c3198p+127
+-0x1.8fe8eap+127
+0x1.dddb8p+125
+-0x1.c3b0fep+127
+0x1.28f128p+127
+-0x1.23e6fap+125
+0x1.5d6992p+127
+0x1.535b72p+122
+0x1.0d3c2p+126
+0x1.b16408p+126
+-0x1.2555e4p+127
+0x1.1cb226p+127
+0x1.3a3e9cp+127
+-0x1.05185ep+127
+-0x1.67c268p+126
+-0x1.4e5ddap+127
+-0x1.6ca364p+127
+-0x1.ca426ap+127
+0x1.94a2e8p+127
+-0x1.76ab26p+126
+0x1.c8da18p+127
+-0x1.93faaep+125
+-0x1.e9e83ap+127
+-0x1.40a736p+127
+0x1.55576ep+126
+-0x1.45f1f2p+124
+0x1.79c504p+127
+-0x1.360362p+126
+-0x1.c27904p+127
+0x1.2301c4p+127
+0x1.07030ap+126
+-0x1.1e8c62p+126
+-0x1.689376p+127
+0x1.e64b6cp+126
+0x1.ae8848p+127
+0x1.c007d8p+126
+-0x1.6715d4p+125
+-0x1.174ee2p+126
+-0x1.39bd58p+125
+0x1.827734p+127
+-0x1.7f4458p+126
+0x1.bcf634p+127
+-0x1.9da76cp+127
+-0x1.29bdfcp+127
+-0x1.7adf3p+127
+0x1.dbfa4p+126
+-0x1.062e4p+127
+-0x1.c74514p+127
+0x1.3f3412p+127
+-0x1.afa1dap+127
+-0x1.31713ap+127
+-0x1.bb5782p+122
+0x1.ccf8d2p+125
+-0x1.6d829ep+126
+-0x1.0a5ea4p+127
+0x1.55dd26p+126
+-0x1.5b01e4p+126
+0x1.d82718p+127
+0x1.70be88p+124
+-0x1.06d144p+126
+0x1.b0e896p+127
+-0x1.4f81dep+127
+-0x1.8bfce8p+126
+0x1.50bf96p+127
+0x1.2a1504p+127
+0x1.d5e822p+126
+0x1.884e4ap+125
+0x1.59dfeap+126
+0x1.99ebaep+124
+0x1.e858cap+127
+0x1.c8fbe8p+124
+-0x1.b9825p+127
+0x1.f7c908p+126
+0x1.4ebf64p+127
+-0x1.0d8ce2p+125
+-0x1.caf528p+127
+-0x1.1b55cep+122
+-0x1.379df8p+126
+-0x1.1faa82p+126
+-0x1.a0647ap+127
+0x1.17791p+127
+0x1.49b64ap+126
+-0x1.983a82p+125
+0x1.b64672p+127
+-0x1.c7b992p+126
+0x1.5c74f8p+126
+0x1.a05ab6p+125
+0x1.37f724p+125
+0x1.8c14dp+125
+-0x1.3586bcp+127
+0x1.198c72p+124
+0x1.ded958p+123
+0x1.9315a6p+127
+-0x1.a51932p+125
+0x1.ab4108p+125
+-0x1.4081e2p+127
+-0x1.d9246p+126
+-0x1.04d3a4p+122
+-0x1.2f8018p+126
+0x1.3ef576p+124
+0x1.087dd2p+127
+-0x1.38bd8p+126
+-0x1.2eba8ap+123
+0x1.4c64f6p+125
+-0x1.a1a64ap+126
+0x1.64cae8p+127
+0x1.5edef2p+127
+0x1.1a4074p+127
+-0x1.4441d2p+126
+-0x1.f931eep+126
+0x1.d154e4p+126
+-0x1.2bf03p+127
+0x1.caa59cp+125
+0x1.560a72p+127
+-0x1.7a127ep+127
+-0x1.79603ep+127
+0x1.f72202p+127
+0x1.f9d79ep+115
+0x1.df5562p+127
+0x1.ebb714p+127
+0x1.79507ep+127
+0x1.e41968p+127
+0x1.af58e2p+126
+-0x1.15d4bp+127
+-0x1.dd6a9ap+121
+-0x1.b3d322p+126
+-0x1.eb0a6ap+127
+-0x1.2841d6p+127
+0x1.210f7p+126
+-0x1.1e943cp+127
+0x1.7ddaaap+127
+0x1.4b65aap+127
+-0x1.c2b1dcp+127
+-0x1.05edc2p+127
+0x1.bd0f82p+127
+-0x1.99a5c2p+127
+-0x1.ebc0c2p+127
+0x1.6b81f2p+126
+-0x1.52ea08p+127
+0x1.f1b01p+127
+0x1.8424bp+125
+0x1.d1337cp+126
+-0x1.340dd4p+126
+-0x1.bd8b96p+127
+0x1.05a5eep+124
+-0x1.07c678p+126
+0x1.0a2558p+127
+0x1.ebef28p+127
+-0x1.ea35b2p+124
+0x1.32ce9p+126
+0x1.0ca7c6p+125
+-0x1.80555ap+126
+0x1.0d601cp+127
+0x1.b32c6ap+127
+-0x1.e377ccp+127
+-0x1.175c04p+124
+0x1.7a9a56p+124
+-0x1.5c886p+126
+-0x1.dcc536p+127
+-0x1.18fdd2p+127
+-0x1.7fca7ap+127
+-0x1.a3825p+127
+-0x1.c2fe5p+125
+-0x1.3dc9d6p+127
+0x1.4b61bp+127
+-0x1.4da15ep+125
+0x1.c3ee72p+127
+0x1.56841ap+127
+0x1.18a616p+126
+-0x1.1aaefep+125
+-0x1.cd6a2p+127
+0x1.042e8ap+122
+-0x1.e1c8b6p+126
+-0x1.23d7f8p+123
+-0x1.e40994p+126
+-0x1.100c5ap+126
+0x1.2457e6p+127
+0x1.5d42b4p+126
+0x1.a8d12ep+127
+0x1.f0c328p+124
+-0x1.8a76d4p+127
+-0x1.d7c40cp+127
+0x1.57873p+126
+0x1.f1d096p+120
+-0x1.1d612cp+127
+0x1.079d04p+127
+0x1.c27834p+127
+0x1.fba11p+127
+-0x1.1f658ap+126
+-0x1.92c8aep+126
+-0x1.26cbbap+127
+-0x1.6e7886p+127
+0x1.f43dd2p+126
+0x1.01f2ap+124
+-0x1.214868p+126
+0x1.4c3684p+127
+0x1.002914p+127
+0x1.24d8cep+126
+0x1.85b0d8p+126
+0x1.2c8856p+127
+-0x1.21fac4p+127
+-0x1.e6616ap+126
+-0x1.3f09d6p+127
+0x1.c5e7cp+125
+-0x1.74244ep+127
+-0x1.384e1ap+127
+0x1.d3af4ep+125
+-0x1.10f90cp+127
+0x1.83e842p+125
+-0x1.55351cp+124
+0x1.2be46ap+127
+0x1.68c9e2p+127
+-0x1.aeb338p+127
+0x1.58cda8p+127
+0x1.bf9184p+126
+0x1.abeb7p+124
+0x1.a766bcp+127
+-0x1.c98866p+126
+-0x1.0fb0cep+126
+0x1.1e4cb4p+123
+0x1.ba09e8p+126
+0x1.daccb2p+126
+-0x1.a38692p+126
+-0x1.1b9cf8p+127
+0x1.55b5a8p+127
+0x1.2f8adp+126
+-0x1.5892f2p+126
+-0x1.58e0c8p+127
+0x1.202fc8p+125
+-0x1.3c22cp+119
+-0x1.dc3aacp+126
+-0x1.8b8984p+126
+-0x1.2668c4p+127
+-0x1.1ff956p+126
+-0x1.eadb6ap+127
+-0x1.b9b026p+127
+-0x1.becc72p+127
+-0x1.27fb3cp+126
+0x1.f229d2p+127
+0x1.f55334p+127
+-0x1.c9b1b8p+127
+-0x1.e8c282p+123
+0x1.c33a2ep+120
+0x1.089468p+127
+0x1.bc1452p+126
+0x1.b429dcp+126
+-0x1.ab1eb2p+127
+0x1.f0160ap+127
+0x1.2e63a6p+126
+-0x1.9a2de4p+127
+-0x1.aadfa8p+127
+0x1.894b26p+127
+0x1.1ad3a4p+127
+0x1.c82efcp+127
+-0x1.2acc9ep+126
+0x1.91ad44p+125
+0x1.6879d6p+127
+-0x1.93e902p+126
+-0x1.106516p+127
+-0x1.24cd02p+126
+-0x1.eaea76p+127
+-0x1.b08518p+125
+-0x1.ee97aap+127
+-0x1.faa35cp+126
+0x1.6d8594p+127
+0x1.c7defp+126
+-0x1.297f76p+127
+-0x1.0cd462p+127
+-0x1.22b82p+127
+-0x1.f35806p+127
+-0x1.da2c04p+126
+0x1.5c7528p+124
+-0x1.6d3494p+124
+-0x1.60c3c6p+125
+-0x1.456a5p+125
+-0x1.fd187cp+127
+0x1.a0cb12p+126
+-0x1.775562p+127
+0x1.9f40bep+127
+-0x1.6abb9cp+124
+-0x1.811d88p+123
+0x1.fd59f6p+127
+-0x1.b0a3cep+123
+-0x1.133fcep+127
+0x1.a0bc92p+124
+-0x1.a5d912p+127
+0x1.b83e98p+127
+0x1.4ac334p+126
+0x1.35afcap+127
+-0x1.e579dap+123
+0x1.f3db04p+126
+0x1.a7b39ap+127
+0x1.75c51ep+124
+-0x1.80729ap+127
+0x1.8bd07ap+126
+-0x1.d1b4bap+127
+-0x1.2e4ffap+127
+-0x1.eb47fap+127
+-0x1.c3d2e4p+125
+-0x1.687fep+125
+-0x1.4138a6p+126
+-0x1.ead8e2p+126
+0x1.c1c582p+127
+-0x1.57cd42p+125
+-0x1.d33392p+127
+-0x1.7ef3c6p+127
+0x1.db2292p+126
+0x1.5b7fe4p+127
+-0x1.4c7fc4p+127
+0x1.62166cp+127
+0x1.985a48p+126
+0x1.fa25c6p+127
+0x1.355e1ep+127
+0x1.cf77a2p+121
+-0x1.26553ep+127
+-0x1.6b3638p+125
+0x1.14afe4p+127
+0x1.66b59ap+126
+0x1.96da66p+127
+-0x1.5afc26p+127
+0x1.f6319p+125
+-0x1.b02a0ep+126
+-0x1.a6c704p+125
+0x1.d6cedp+125
+-0x1.8eef4p+127
+0x1.9b41fp+126
+0x1.f5ac44p+126
+0x1.88f47ep+127
+-0x1.51c7aep+124
+-0x1.6f1ad4p+127
+0x1.6b7d56p+127
+0x1.01c798p+127
+-0x1.737cf8p+127
+0x1.1a6c6ap+127
+-0x1.df0feap+118
+-0x1.b46438p+126
+-0x1.ecdf0ap+125
+0x1.0fbd18p+127
+-0x1.f888f4p+127
+0x1.c31396p+127
+0x1.9971b8p+124
+0x1.0dd458p+126
+-0x1.fd7c2ap+125
+0x1.967296p+127
+0x1.162de6p+126
+0x1.178e92p+126
+0x1.a655ep+127
+-0x1.65702ap+125
+0x1.983398p+127
+-0x1.da102cp+127
+-0x1.16e99cp+127
+0x1.3f375ap+127
+-0x1.92c0e8p+127
+0x1.84ade4p+125
+-0x1.e46e88p+127
+0x1.196a54p+122
+0x1.0e5c84p+127
+0x1.173cbap+127
+0x1.1bbae4p+127
+0x1.40968p+127
+0x1.e58018p+127
+0x1.c0393cp+126
+0x1.cb7754p+127
+0x1.324586p+127
+-0x1.f750fcp+126
+-0x1.2626fap+127
+0x1.d0bf74p+125
+0x1.37aad6p+127
+-0x1.492acap+127
+-0x1.7d65aep+127
+0x1.d17a18p+127
+-0x1.930284p+124
+0x1.2fbef2p+126
+-0x1.87263ep+125
+-0x1.a55e1ap+127
+-0x1.fcbf46p+127
+-0x1.6eb444p+127
+-0x1.d62a38p+126
+0x1.3e9414p+127
+-0x1.d7000ap+127
+-0x1.8c41eep+127
+-0x1.21ec58p+126
+-0x1.2b81fcp+125
+0x1.90989cp+127
+-0x1.901dc8p+127
+-0x1.3d4232p+127
+0x1.327a7p+126
+-0x1.cbb6d2p+127
+-0x1.0db8cap+127
+-0x1.3dc384p+126
+-0x1.47772ap+127
+0x1.c816d2p+127
+0x1.bb6b32p+126
+0x1.ff7f86p+125
+0x1.c6d3acp+127
+0x1.ef207ap+126
+0x1.e0aa8ep+127
+0x1.4dd89ap+125
+-0x1.377ddp+124
+0x1.dc61d8p+125
+0x1.2c072p+127
+0x1.ae9d6ep+127
+0x1.08fd06p+125
+-0x1.28415ep+126
+-0x1.16ede4p+127
+0x1.9b2776p+126
+0x1.3babf6p+127
+-0x1.e3eb1ap+126
+0x1.ccb05cp+127
+-0x1.93d14ap+126
+-0x1.0c4cb4p+124
+0x1.250a4p+124
+0x1.857258p+127
+0x1.267114p+123
+0x1.7b5184p+126
+0x1.43fac6p+125
+0x1.b16a82p+127
+0x1.bddf46p+125
+-0x1.f7e67ap+124
+-0x1.4d33aep+126
+-0x1.4e561p+127
+0x1.420606p+127
+-0x1.cc0dcep+127
+-0x1.674bdap+126
+0x1.a4c7c6p+124
+-0x1.b42372p+127
+-0x1.e57d94p+122
+-0x1.e0c884p+127
+-0x1.77b204p+126
+0x1.991306p+127
+0x1.f9010cp+127
+0x1.39b8e4p+127
+0x1.cb005ep+124
+-0x1.1d64fap+125
+0x1.f8952cp+127
+0x1.120976p+127
+0x1.4b64aap+125
+-0x1.173e78p+126
+0x1.e17882p+127
+-0x1.726a98p+127
+-0x1.f9ef9cp+126
+-0x1.8d119p+125
+-0x1.70ff56p+127
+0x1.ea0c86p+127
+0x1.7022b6p+127
+0x1.e9083p+127
+0x1.bbffe4p+124
+0x1.aa851ap+127
+-0x1.53d26ep+127
+0x1.c6ffaep+127
+-0x1.99eb22p+125
+0x1.33ef2p+123
+0x1.d77dccp+123
+-0x1.ce9b44p+127
+-0x1.254fc8p+124
+-0x1.72aa42p+126
+-0x1.d3f278p+126
+0x1.93389ap+127
+-0x1.926ac8p+127
+0x1.beb2fep+125
+0x1.62be8ep+124
+0x1.d9a79ap+125
+-0x1.6ebb06p+126
+0x1.5f3192p+124
+0x1.bc6a66p+126
+0x1.8165ap+127
+0x1.7a40ep+127
+-0x1.06c2f6p+126
+0x1.60cd96p+127
+-0x1.86e2dcp+127
+0x1.68fc4p+127
+0x1.33fccep+126
+0x1.e73a0cp+126
+0x1.7edd16p+126
+0x1.5329c4p+126
+0x1.545bep+127
+-0x1.4f173ep+125
+0x1.e57b86p+127
+0x1.2d7602p+126
+0x1.15150ep+125
+0x1.a8154ap+127
+0x1.a06656p+127
+0x1.b05742p+124
+-0x1.6c522ap+125
+0x1.dee992p+124
+-0x1.da383ep+127
+-0x1.6a872cp+127
+-0x1.a8f19ap+127
+-0x1.b1ae2ap+125
+0x1.6c7992p+127
+0x1.fedadap+127
+0x1.4262f6p+118
+0x1.529796p+127
+-0x1.33de58p+127
+0x1.8072bep+127
+-0x1.e228dp+127
+0x1.7ba86cp+127
+0x1.757fa2p+124
+-0x1.41a1d8p+127
+-0x1.079532p+125
+0x1.bf446ep+124
+-0x1.d0aa36p+127
+0x1.d44d3ep+127
+0x1.da43e6p+122
+-0x1.fd3eap+125
+-0x1.6d631p+125
+-0x1.0c04bp+127
+0x1.dca1ccp+126
+-0x1.da5b3ap+127
+-0x1.1d6222p+126
+0x1.139872p+126
+-0x1.b1e3dcp+127
+-0x1.d55a1cp+126
+0x1.31356ap+127
+0x1.023364p+125
+-0x1.c9b09p+125
+0x1.df92e4p+124
+-0x1.be599p+126
+0x1.5622d4p+127
+0x1.0b217ep+127
+-0x1.b3055cp+127
+0x1.1064f8p+126
+0x1.844bd6p+127
+-0x1.691194p+127
+0x1.07b97cp+127
+0x1.5c2c46p+127
+0x1.c58dp+125
+0x1.8ebf58p+121
+-0x1.e62b46p+127
+-0x1.0b943p+126
+-0x1.ace99ep+125
+0x1.c64992p+125
+-0x1.7ccefap+127
+0x1.e069e8p+127
+-0x1.cf1344p+127
+-0x1.f07a08p+127
+0x1.182b4cp+125
+0x1.a251a8p+127
+-0x1.34478ap+127
+0x1.1dad6ap+127
+-0x1.2471bp+127
+0x1.12481cp+127
+-0x1.de117ap+127
+-0x1.5346ccp+127
+0x1.ed1dfap+125
+-0x1.b036ep+124
+-0x1.d0e63p+126
+0x1.4dfafp+127
+0x1.77f732p+127
+0x1.d0b398p+126
+0x1.1f5464p+127
+0x1.d515e2p+126
+0x1.eed09cp+123
+0x1.b315b2p+126
+0x1.8f3ffep+126
+-0x1.95aa82p+125
+0x1.f96a54p+124
+-0x1.d64394p+126
+-0x1.0d3c0ap+126
+-0x1.d1e726p+127
+0x1.c0d9p+127
+-0x1.67f11cp+127
+-0x1.e24d04p+126
+0x1.9a0866p+126
+0x1.8e8b24p+126
+0x1.7f1798p+123
+-0x1.c9e16p+127
+0x1.8d3924p+127
+-0x1.15206ep+126
+-0x1.d6b81p+126
+0x1.bf5c9ap+127
+-0x1.2c804p+126
+0x1.d2656ep+126
+0x1.2fb762p+127
+0x1.5b0e7ap+127
+0x1.af4efcp+126
+-0x1.146104p+127
+0x1.9f0448p+127
+-0x1.2fb12ap+124
+-0x1.1493bcp+127
+0x1.004c38p+126
+-0x1.ab8dc2p+123
+0x1.ae207p+127
+-0x1.ba2dbep+127
+-0x1.6f1b0ep+126
+-0x1.d8ee84p+127
+0x1.a89058p+126
+-0x1.1a0454p+125
+0x1.b312acp+127
+0x1.b131c8p+126
+-0x1.648b5ep+126
+-0x1.a6669ap+125
+-0x1.659524p+127
+0x1.bd0b72p+125
+-0x1.3e9514p+125
+0x1.a56fc4p+127
+-0x1.e65ac6p+127
+-0x1.a61272p+127
+0x1.244482p+126
+0x1.86beap+127
+-0x1.019636p+127
+0x1.678686p+127
+-0x1.3ce1e8p+127
+0x1.74c1a6p+127
+0x1.b84792p+123
+-0x1.c6e454p+127
+0x1.ef21e4p+127
+0x1.132a2ep+127
+-0x1.7c222cp+124
+-0x1.37ceeep+127
+-0x1.c5193cp+126
+-0x1.f442c2p+127
+0x1.d10798p+127
+-0x1.2a5b66p+127
+-0x1.452f14p+125
+0x1.87c2eap+127
+0x1.9265b4p+127
+0x1.b2771cp+126
+-0x1.360226p+126
+0x1.cf463cp+127
+0x1.0ac5c4p+127
+0x1.5dd746p+124
+0x1.0565f2p+127
+-0x1.a0374p+127
+-0x1.1332cap+125
+-0x1.79b9ccp+127
+-0x1.484faep+127
+-0x1.87b832p+123
+0x1.77c0aep+127
+0x1.aedfe4p+127
+0x1.16f478p+127
+0x1.1374f2p+127
+-0x1.b355f2p+127
+0x1.cac31ap+127
+-0x1.5b32ccp+127
+-0x1.ed9a2ep+126
+-0x1.348544p+127
+-0x1.7d4ad2p+126
+-0x1.9c657p+127
+0x1.336a88p+127
+0x1.30d69ep+125
+0x1.e3e9ep+120
+0x1.2d4e32p+127
+0x1.1c86aep+127
+-0x1.445628p+127
+-0x1.5882b2p+127
+0x1.ad2052p+121
+0x1.1e16a8p+125
+-0x1.5c263cp+127
+-0x1.d461d4p+125
+0x1.46fc5ep+125
+-0x1.34acfcp+127
+-0x1.7db37cp+125
+# Random inputs in the range [0.000000e+00,8.388608e+06]
+## name: workload-integral
+0x1.abe01p+20
+0x1.2003bp+20
+0x1.2615dp+20
+0x1.2f9a6cp+22
+0x1.bc07bp+21
+0x1.d4a32p+19
+0x1.f4aeap+21
+0x1.1a96ep+21
+0x1.42a41p+21
+0x1.09ed8p+20
+0x1.297148p+22
+0x1.52b95cp+22
+0x1.77868p+22
+0x1.3f5b7p+21
+0x1.627974p+22
+0x1.a52664p+22
+0x1.763b6p+22
+0x1.a3b938p+21
+0x1.d8f684p+22
+0x1.240b6cp+22
+0x1.e7f4cp+19
+0x1.20cb14p+22
+0x1.0d0d6cp+22
+0x1.02e2c4p+22
+0x1.a6b804p+22
+0x1.fb7abcp+22
+0x1.a933bp+20
+0x1.643e34p+22
+0x1.3b39ep+19
+0x1.cdaffp+22
+0x1.53ddecp+22
+0x1.a1a06p+21
+0x1.cf3dp+22
+0x1.8802a8p+21
+0x1.4c937p+22
+0x1.1659acp+22
+0x1.40fap+17
+0x1.1fd89p+22
+0x1.8cd9cp+22
+0x1.5eaf2p+22
+0x1.f32dfp+21
+0x1.cdf8bp+21
+0x1.957ccp+21
+0x1.cdce9cp+22
+0x1.2e082cp+22
+0x1.5636ep+20
+0x1.d27c3p+21
+0x1.27e4p+21
+0x1.adf4p+19
+0x1.4b2b64p+22
+0x1.8fba5p+20
+0x1.09bfdcp+22
+0x1.dc5dp+19
+0x1.332cp+17
+0x1.66ac6p+21
+0x1.0540cp+18
+0x1.5d262p+22
+0x1.787888p+21
+0x1.5e226p+19
+0x1.d8389p+21
+0x1.c165p+16
+0x1.bcc64p+20
+0x1.b45318p+22
+0x1.3d65a8p+22
+0x1.8811ccp+22
+0x1.6a52b4p+22
+0x1.d9720cp+22
+0x1.8eead4p+22
+0x1.9c7a4p+21
+0x1.96545p+22
+0x1.ae3cp+15
+0x1.f38b98p+21
+0x1.315fbp+22
+0x1.4250ecp+22
+0x1.d88c88p+22
+0x1.1547p+19
+0x1.444eep+19
+0x1.f9ef6p+22
+0x1.4ef0ccp+22
+0x1.72b614p+22
+0x1.62a098p+21
+0x1.2c6bp+19
+0x1.8a9f78p+22
+0x1.ff667p+22
+0x1.f984c4p+22
+0x1.77c5cp+19
+0x1.cf071p+21
+0x1.025388p+22
+0x1.075c7p+21
+0x1.55c2c8p+21
+0x1.14841cp+22
+0x1.827f3p+21
+0x1.23123p+21
+0x1.8d61d8p+22
+0x1.ba593p+22
+0x1.d60c78p+21
+0x1.c8b264p+22
+0x1.1bbefp+22
+0x1.1b422p+22
+0x1.1f2e5cp+22
+0x1.19d93cp+22
+0x1.002ap+16
+0x1.c1abcp+20
+0x1.d0bdp+16
+0x1.c56a4cp+22
+0x1.53066p+20
+0x1.1faf7cp+22
+0x1.7e098p+22
+0x1.b09b18p+21
+0x1.64a63p+22
+0x1.6b7ap+22
+0x1.732c7p+20
+0x1.5ae388p+21
+0x1.90074p+20
+0x1.2b392cp+22
+0x1.fd06p+20
+0x1.4a3aa8p+22
+0x1.797a0cp+22
+0x1.72b598p+21
+0x1.8277c8p+22
+0x1.512b28p+22
+0x1.52b738p+21
+0x1.07bed8p+21
+0x1.bb59p+20
+0x1.95b898p+21
+0x1.56fap+22
+0x1.550edp+21
+0x1.28932p+20
+0x1.3d55c8p+22
+0x1.cd3dap+20
+0x1.d216cp+22
+0x1.bc02c8p+21
+0x1.1804ap+22
+0x1.f27bep+22
+0x1.1d8eccp+22
+0x1.dfa624p+22
+0x1.ba124cp+22
+0x1.763c6p+20
+0x1.0698acp+22
+0x1.dc81d4p+22
+0x1.103b1p+21
+0x1.13cc78p+21
+0x1.26a95p+22
+0x1.cf5804p+22
+0x1.9b16a8p+21
+0x1.bfd3ep+22
+0x1.e73184p+22
+0x1.8de38cp+22
+0x1.071fap+19
+0x1.f3f5d8p+21
+0x1.79e4d8p+21
+0x1.537968p+22
+0x1.fa43ep+19
+0x1.4d16cp+20
+0x1.239f88p+21
+0x1.ed586p+21
+0x1.0446e8p+22
+0x1.095bcp+18
+0x1.78395p+21
+0x1.aa7e1cp+22
+0x1.94f598p+21
+0x1.03f9cp+19
+0x1.7ccad8p+21
+0x1.21bb14p+22
+0x1.b65ec4p+22
+0x1.9e8b7p+22
+0x1.1a012p+19
+0x1.81fcp+17
+0x1.d2e73p+22
+0x1.906408p+21
+0x1.78e38p+17
+0x1.331208p+21
+0x1.932ec8p+22
+0x1.2bcc3p+21
+0x1.03651p+22
+0x1.75c0d8p+21
+0x1.2a936p+20
+0x1.6f329p+20
+0x1.e9df2cp+22
+0x1.354b58p+22
+0x1.3ed2f4p+22
+0x1.8a961p+20
+0x1.28ce3p+21
+0x1.2c859p+22
+0x1.bbfe1p+20
+0x1.8af0ap+21
+0x1.510798p+22
+0x1.66307p+22
+0x1.c805cp+18
+0x1.cd968p+22
+0x1.0bb9bcp+22
+0x1.3c9e68p+21
+0x1.a9436p+20
+0x1.fcf5b8p+22
+0x1.41abbp+22
+0x1.fdd34p+18
+0x1.d3cf0cp+22
+0x1.52f6dp+20
+0x1.03d2c8p+21
+0x1.ed98ap+19
+0x1.6d944p+21
+0x1.5048dp+20
+0x1.6a3ba8p+21
+0x1.3ffddp+22
+0x1.c36ba8p+22
+0x1.6b854cp+22
+0x1.ff8f68p+22
+0x1.62fa8p+20
+0x1.da2d1p+20
+0x1.d1af3p+20
+0x1.3ce388p+21
+0x1.30c2dp+21
+0x1.d8a46p+21
+0x1.9fb78p+18
+0x1.adec48p+21
+0x1.5b1c2cp+22
+0x1.3fe608p+22
+0x1.ee1424p+22
+0x1.e696p+20
+0x1.9ba2p+20
+0x1.5f9194p+22
+0x1.8d528cp+22
+0x1.d3808p+18
+0x1.fa6008p+22
+0x1.8d1c7p+21
+0x1.dd6ap+15
+0x1.f39f6p+22
+0x1.21d718p+21
+0x1.5be5f8p+22
+0x1.7fdaf8p+21
+0x1.918174p+22
+0x1.c4cbep+22
+0x1.8a3e68p+21
+0x1.a4129p+20
+0x1.a87254p+22
+0x1.5b7fp+16
+0x1.20e3dcp+22
+0x1.c071c4p+22
+0x1.cf284p+21
+0x1.cb1c58p+21
+0x1.cdb24p+18
+0x1.559c6p+19
+0x1.2bb43p+20
+0x1.60381p+20
+0x1.debf6p+21
+0x1.9d49a8p+22
+0x1.b635a8p+21
+0x1.1fd3p+16
+0x1.6a9d34p+22
+0x1.9b3988p+21
+0x1.ce613p+22
+0x1.5a69ep+22
+0x1.5da9a8p+21
+0x1.d7efdp+22
+0x1.e2017p+21
+0x1.463fbcp+22
+0x1.5c4444p+22
+0x1.035fap+19
+0x1.e9fa34p+22
+0x1.8be84p+22
+0x1.279ccp+20
+0x1.ea9abcp+22
+0x1.39dbb8p+22
+0x1.2b9b0cp+22
+0x1.becfcp+18
+0x1.cf229cp+22
+0x1.3439e8p+22
+0x1.acc86p+22
+0x1.68e3cp+21
+0x1.3f4e1p+21
+0x1.845524p+22
+0x1.4e3824p+22
+0x1.4dd3b4p+22
+0x1.55b6ep+21
+0x1.95ed6p+20
+0x1.b99bbp+21
+0x1.0290bp+22
+0x1.49c384p+22
+0x1.bc5598p+21
+0x1.838cfcp+22
+0x1.8825dcp+22
+0x1.1728bp+21
+0x1.111bdp+22
+0x1.a96c4p+20
+0x1.61ef38p+21
+0x1.e5245p+20
+0x1.dead3p+21
+0x1.aece68p+21
+0x1.14dc5p+21
+0x1.3dcfep+21
+0x1.d344fp+21
+0x1.cc635p+20
+0x1.c26778p+21
+0x1.6c1f48p+21
+0x1.12f8d8p+21
+0x1.d7094p+21
+0x1.3f625p+21
+0x1.21f0ep+21
+0x1.9cc79p+21
+0x1.d802c8p+21
+0x1.c2ab18p+22
+0x1.ae80ap+20
+0x1.eeeabp+21
+0x1.7778ep+21
+0x1.119c9p+21
+0x1.ccdde8p+22
+0x1.ea24c8p+22
+0x1.0e7d74p+22
+0x1.3ee91p+20
+0x1.378db8p+22
+0x1.a78278p+22
+0x1.de5edp+22
+0x1.5da0bcp+22
+0x1.5132f8p+22
+0x1.2bd78cp+22
+0x1.c4bc18p+22
+0x1.2c9448p+21
+0x1.1d7a38p+22
+0x1.f45a6p+19
+0x1.ba575p+21
+0x1.cd2a34p+22
+0x1.92c08p+19
+0x1.e26d68p+21
+0x1.8dd21cp+22
+0x1.2ceedcp+22
+0x1.c16268p+21
+0x1.eaff28p+21
+0x1.59232p+20
+0x1.c545f4p+22
+0x1.b4cf7p+20
+0x1.965388p+21
+0x1.1c851p+21
+0x1.3a72ap+19
+0x1.1f0e8p+21
+0x1.dc1478p+21
+0x1.74834p+21
+0x1.3dfc5p+21
+0x1.8eb0c8p+22
+0x1.00ccp+16
+0x1.cfddap+19
+0x1.57c3a8p+21
+0x1.a0f92cp+22
+0x1.329904p+22
+0x1.74756cp+22
+0x1.eedebp+22
+0x1.f15e2p+21
+0x1.a9c464p+22
+0x1.d3d8p+22
+0x1.1d3ae4p+22
+0x1.32ccp+14
+0x1.6e8458p+22
+0x1.d50888p+21
+0x1.4a21d4p+22
+0x1.f86fap+22
+0x1.b3283p+21
+0x1.75605p+20
+0x1.29f2fcp+22
+0x1.16a0d8p+21
+0x1.ab1fbp+21
+0x1.74cf6p+22
+0x1.6e2a8p+17
+0x1.08dd48p+22
+0x1.2aa258p+21
+0x1.9724p+18
+0x1.2b97acp+22
+0x1.46ba98p+22
+0x1.9f386p+21
+0x1.a4b428p+21
+0x1.45f1a4p+22
+0x1.1ca96cp+22
+0x1.7bea6p+22
+0x1.531e4p+21
+0x1.2c5ep+19
+0x1.68436p+20
+0x1.0ae56cp+22
+0x1.f22c64p+22
+0x1.f9b8cp+19
+0x1.ba4c6p+22
+0x1.6faed4p+22
+0x1.06d20cp+22
+0x1.d1058p+18
+0x1.e98f2p+21
+0x1.101b18p+21
+0x1.e873cp+21
+0x1.cace3p+21
+0x1.1bf04cp+22
+0x1.6fb23cp+22
+0x1.74bcd4p+22
+0x1.05f87p+22
+0x1.8105c4p+22
+0x1.59269p+21
+0x1.9df65cp+22
+0x1.0e13cp+20
+0x1.def5bp+20
+0x1.7c34a8p+22
+0x1.4e1fd4p+22
+0x1.92e0ap+21
+0x1.b0cc2p+19
+0x1.b1abfp+21
+0x1.8827cp+20
+0x1.5ec8cp+21
+0x1.3392acp+22
+0x1.e1f9p+21
+0x1.f7e618p+21
+0x1.b70b2p+20
+0x1.1c2a1p+21
+0x1.d7744p+18
+0x1.8ba43p+22
+0x1.05df58p+22
+0x1.4f674p+21
+0x1.455ep+20
+0x1.aadd74p+22
+0x1.065bcp+18
+0x1.828d98p+21
+0x1.c1ce5p+22
+0x1.fcd688p+21
+0x1.21099p+22
+0x1.ceeap+22
+0x1.8895fcp+22
+0x1.7a4a44p+22
+0x1.e0b688p+22
+0x1.43f298p+22
+0x1.a036cp+18
+0x1.1d171p+21
+0x1.d56134p+22
+0x1.2a003p+21
+0x1.5907p+18
+0x1.7dc958p+22
+0x1.bfad1p+21
+0x1.db9088p+21
+0x1.727be8p+21
+0x1.b2c158p+21
+0x1.a35f3p+20
+0x1.d21c8p+20
+0x1.bef3p+19
+0x1.9c5f6p+21
+0x1.b2acf8p+21
+0x1.d8dccp+20
+0x1.42276cp+22
+0x1.36398p+19
+0x1.d35b18p+22
+0x1.2f0b48p+22
+0x1.d53548p+22
+0x1.eff6b8p+21
+0x1.2160a8p+21
+0x1.672d8p+21
+0x1.edc03cp+22
+0x1.38a974p+22
+0x1.1c7dd4p+22
+0x1.544e0cp+22
+0x1.0e904p+18
+0x1.3d427p+21
+0x1.69b628p+22
+0x1.39347p+22
+0x1.c75bap+19
+0x1.b1c65p+22
+0x1.51b88p+18
+0x1.a4fd84p+22
+0x1.1690a4p+22
+0x1.8ae4bp+21
+0x1.c8fb7cp+22
+0x1.c6ad34p+22
+0x1.804a6p+20
+0x1.75c87cp+22
+0x1.79f8ap+19
+0x1.722d28p+21
+0x1.8bf758p+21
+0x1.ca75f8p+21
+0x1.87a0f8p+21
+0x1.7da1cp+20
+0x1.d8c2f8p+22
+0x1.7e0bf8p+22
+0x1.40a718p+21
+0x1.fed938p+22
+0x1.ae3eep+20
+0x1.016abp+21
+0x1.9b3cb8p+22
+0x1.268508p+22
+0x1.b98b1p+20
+0x1.ab13p+18
+0x1.099a68p+22
+0x1.ed23b8p+22
+0x1.27741p+20
+0x1.ae7034p+22
+0x1.c28ap+17
+0x1.64d1d8p+21
+0x1.99b4cp+18
+0x1.2a9a68p+22
+0x1.05d2fp+21
+0x1.a66bep+22
+0x1.0a216p+19
+0x1.e59b6p+20
+0x1.a3fc48p+22
+0x1.632eacp+22
+0x1.464bb8p+22
+0x1.404c98p+21
+0x1.3b0d2p+22
+0x1.daeb2p+20
+0x1.77a2p+22
+0x1.59fcp+20
+0x1.b84e8p+19
+0x1.c4c214p+22
+0x1.a1069p+22
+0x1.5414bp+22
+0x1.0086p+17
+0x1.f9c4f8p+21
+0x1.d06aep+20
+0x1.b68f1p+22
+0x1.650ccp+20
+0x1.20d3f8p+21
+0x1.23a2a8p+21
+0x1.0c44ap+19
+0x1.484b3p+20
+0x1.34e604p+22
+0x1.9b8ecp+20
+0x1.6d551p+20
+0x1.b2a028p+22
+0x1.39d11p+22
+0x1.2693ep+20
+0x1.feb414p+22
+0x1.3205p+19
+0x1.255844p+22
+0x1.0cb9bp+21
+0x1.619e8p+19
+0x1.65631cp+22
+0x1.7d15b8p+22
+0x1.3b6e5cp+22
+0x1.6da12p+21
+0x1.4d98bcp+22
+0x1.bd02p+19
+0x1.a0ec5cp+22
+0x1.a123p+20
+0x1.948acp+19
+0x1.b3d1cp+18
+0x1.e87444p+22
+0x1.3b47bp+21
+0x1.68df48p+21
+0x1.936298p+22
+0x1.b63804p+22
+0x1.6f38p+22
+0x1.a93be8p+22
+0x1.5445a4p+22
+0x1.68c158p+21
+0x1.f5564p+19
+0x1.a9cd1p+21
+0x1.fd9068p+21
+0x1.62e884p+22
+0x1.0f19e8p+22
+0x1.da59c8p+22
+0x1.64429p+21
+0x1.986334p+22
+0x1.19e4ap+21
+0x1.8586c8p+21
+0x1.68e4ep+22
+0x1.f6fa88p+22
+0x1.a689ap+20
+0x1.a63acp+22
+0x1.2e2c8p+19
+0x1.d0b198p+22
+0x1.d2a77p+20
+0x1.19dba8p+22
+0x1.975fe8p+22
+0x1.e758d8p+22
+0x1.0bc178p+21
+0x1.6f29cp+19
+0x1.db1d48p+21
+0x1.9cc4dcp+22
+0x1.74e2b8p+22
+0x1.2238ap+22
+0x1.630684p+22
+0x1.deaaap+19
+0x1.dbc98p+17
+0x1.fd7fa8p+21
+0x1.11438p+19
+0x1.681fp+20
+0x1.ee76dp+20
+0x1.cdd7ep+21
+0x1.b05cfp+22
+0x1.8bd938p+21
+0x1.dcb4fcp+22
+0x1.248cb8p+21
+0x1.35bc7p+20
+0x1.8a80ep+22
+0x1.03dd88p+21
+0x1.e60bccp+22
+0x1.1bc2f8p+21
+0x1.70c57p+21
+0x1.51ca9cp+22
+0x1.1b80bp+20
+0x1.f8f5acp+22
+0x1.78e76p+22
+0x1.9ba3ep+19
+0x1.bd229cp+22
+0x1.dd2538p+22
+0x1.00d4ap+22
+0x1.af3a6p+21
+0x1.40963p+22
+0x1.78546p+20
+0x1.969c2p+21
+0x1.64b37p+22
+0x1.7e846p+21
+0x1.b25aecp+22
+0x1.0948fp+20
+0x1.793facp+22
+0x1.7a84cp+22
+0x1.644264p+22
+0x1.53c064p+22
+0x1.4a74a8p+22
+0x1.84acbp+21
+0x1.84beep+20
+0x1.cc54e4p+22
+0x1.0d114p+22
+0x1.05dep+21
+0x1.9bf02p+20
+0x1.e6d64cp+22
+0x1.d6062p+19
+0x1.cdb408p+21
+0x1.9b3f84p+22
+0x1.0e51acp+22
+0x1.9423fcp+22
+0x1.5afcp+14
+0x1.365dc8p+22
+0x1.4df548p+22
+0x1.ab254p+18
+0x1.f20738p+21
+0x1.c624cp+19
+0x1.245f18p+22
+0x1.05441cp+22
+0x1.234p+10
+0x1.168e68p+21
+0x1.d2acc4p+22
+0x1.793f2p+22
+0x1.89f6p+21
+0x1.2e804cp+22
+0x1.f934bp+20
+0x1.176d4p+18
+0x1.692408p+22
+0x1.932938p+21
+0x1.93aed8p+21
+0x1.a09aa4p+22
+0x1.dd5a2p+19
+0x1.f8b034p+22
+0x1.c58c2p+19
+0x1.5c3738p+21
+0x1.76ed18p+22
+0x1.25518p+20
+0x1.7ebd6p+20
+0x1.b7aafp+22
+0x1.b1d9dp+20
+0x1.23398p+20
+0x1.ecebb8p+22
+0x1.1fe48cp+22
+0x1.f4eddp+21
+0x1.f800acp+22
+0x1.92e99p+20
+0x1.739ae4p+22
+0x1.02b8ecp+22
+0x1.5b13ap+22
+0x1.183ap+16
+0x1.3cacdp+22
+0x1.494de8p+22
+0x1.4c20f4p+22
+0x1.264974p+22
+0x1.cac628p+21
+0x1.6ce3b4p+22
+0x1.45df3p+21
+0x1.975ec8p+22
+0x1.5728d8p+22
+0x1.ee4998p+22
+0x1.c523a4p+22
+0x1.e0219p+22
+0x1.033534p+22
+0x1.3b5318p+22
+0x1.617fp+16
+0x1.d4ec2p+19
+0x1.8c5998p+21
+0x1.996638p+21
+0x1.eb1448p+22
+0x1.667a38p+21
+0x1.26de6p+19
+0x1.13e398p+21
+0x1.e2fcp+15
+0x1.8f38p+20
+0x1.dc80d8p+21
+0x1.1fc5d4p+22
+0x1.574308p+21
+0x1.586564p+22
+0x1.1b7404p+22
+0x1.07951cp+22
+0x1.b069ap+22
+0x1.7e068p+22
+0x1.c11p+18
+0x1.94c588p+21
+0x1.5af824p+22
+0x1.dc05dp+20
+0x1.13d748p+21
+0x1.2bc128p+22
+0x1.8d7c9p+20
+0x1.0f921p+22
+0x1.a33f2p+22
+0x1.2f6ff8p+21
+0x1.ebb8p+21
+0x1.ffd8d8p+22
+0x1.b634ap+19
+0x1.a589a8p+22
+0x1.29618p+21
+0x1.f96ad4p+22
+0x1.e77fap+20
+0x1.80ef4p+20
+0x1.a41c34p+22
+0x1.294848p+22
+0x1.6eb67p+22
+0x1.9e0b18p+22
+0x1.f81ed4p+22
+0x1.329ba8p+22
+0x1.0d17p+22
+0x1.dc5bdp+22
+0x1.3fe58p+17
+0x1.f7e068p+21
+0x1.f38a74p+22
+0x1.505a4p+19
+0x1.ceb918p+22
+0x1.e28e5cp+22
+0x1.c8f42p+21
+0x1.febf48p+21
+0x1.21177p+20
+0x1.b1b348p+21
+0x1.797c4p+18
+0x1.3195bp+20
+0x1.6e52ep+20
+0x1.34300cp+22
+0x1.96e8d8p+21
+0x1.67c048p+21
+0x1.da2c4p+20
+0x1.3c4fbp+21
+0x1.bc8b4p+20
+0x1.9ca64cp+22
+0x1.e65618p+22
+0x1.f9c96p+22
+0x1.967b2p+22
+0x1.147f7p+21
+0x1.9e51bcp+22
+0x1.9f166p+19
+0x1.4a5b4p+21
+0x1.b8816cp+22
+0x1.2dd78cp+22
+0x1.0f084p+20
+0x1.a8b1dcp+22
+0x1.fab53p+22
+0x1.e2375p+22
+0x1.5b627p+22
+0x1.cbcc48p+21
+0x1.9326a8p+21
+0x1.f80ccp+19
+0x1.22a71p+20
+0x1.c7c6cp+19
+0x1.6dbbbcp+22
+0x1.97bbap+22
+0x1.7f9ee8p+21
+0x1.dc91b4p+22
+0x1.2948f8p+22
+0x1.207d28p+22
+0x1.55079cp+22
+0x1.c21978p+21
+0x1.f79c94p+22
+0x1.c4d804p+22
+0x1.ded94cp+22
+0x1.daa9a8p+22
+0x1.502fep+21
+0x1.9e405p+22
+0x1.430fb8p+22
+0x1.cd5bd8p+21
+0x1.76e264p+22
+0x1.0b67f4p+22
+0x1.b5664p+19
+0x1.6b74c8p+22
+0x1.dd3e48p+22
+0x1.6bdeep+19
+0x1.b12ep+19
+0x1.487b1p+22
+0x1.197a98p+22
+0x1.53e1dp+21
+0x1.b08b9cp+22
+0x1.d009p+16
+0x1.02042cp+22
+0x1.a488p+13
+0x1.6fdf9cp+22
+0x1.b2de1p+22
+0x1.ec6f74p+22
+0x1.2f8dd4p+22
+0x1.701bc8p+22
+0x1.b2dff8p+21
+0x1.02461cp+22
+0x1.d617bcp+22
+0x1.53508p+21
+0x1.9fe36p+21
+0x1.6dcb08p+21
+0x1.47639p+21
+0x1.dfd79cp+22
+0x1.4b927p+22
+0x1.dba9b8p+21
+0x1.6375ap+22
+0x1.00df0cp+22
+0x1.a4cc54p+22
+0x1.e53cdp+21
+0x1.de380cp+22
+0x1.ca522p+21
+0x1.8ec0bcp+22
+0x1.21fd4cp+22
+0x1.3c2c5p+21
+0x1.558a64p+22
+0x1.4e2ebp+22
+0x1.d53cf4p+22
+0x1.298d4p+21
+0x1.38a48cp+22
+0x1.e9bf9p+20
+0x1.4a4cdcp+22
+0x1.307238p+22
+0x1.45dd5p+22
+0x1.e25c1cp+22
+0x1.1798d8p+22
+0x1.e3adep+20
+0x1.04cdap+21
+0x1.1a56a8p+21
+0x1.c46078p+21
+0x1.89308cp+22
+0x1.dfb1c8p+22
+0x1.49107p+21
+0x1.f5697p+20
+0x1.8867c8p+22
+0x1.74858cp+22
+0x1.e16d04p+22
+0x1.f20edp+20
+0x1.4073bcp+22
+0x1.f5f84p+18
+0x1.f9e34cp+22
+0x1.47f2cp+22
+0x1.4cd2d8p+21
+0x1.030558p+22
+0x1.d9dacp+18
+0x1.d13418p+21
+0x1.db364p+21
+0x1.0d45ep+21
+0x1.4a23b8p+21
+0x1.441aacp+22
+0x1.8ebd1p+22
+0x1.5c50ap+22
+0x1.769b9cp+22
+0x1.bb73a8p+22
+0x1.c809p+19
+0x1.cb5998p+21
+0x1.b0f3f4p+22
+0x1.6ba268p+22
+0x1.80e1a4p+22
+0x1.b47614p+22
+0x1.58c868p+22
+0x1.aa7fd8p+21
+0x1.f87cccp+22
+0x1.c629ecp+22
+0x1.533bf8p+21
+0x1.83136p+22
+0x1.249318p+21
+0x1.2d3d28p+21
+0x1.c769f4p+22
+0x1.8c3738p+22
+0x1.8f24f8p+21
+0x1.be4fp+20
+0x1.16f1d8p+22
+0x1.19cf6p+21
+0x1.d96c38p+22
+0x1.5c7bdp+20
+0x1.4b3a94p+22
+0x1.be14ap+19
+0x1.2f104p+18
+0x1.35bd6cp+22
+0x1.90cd3p+21
+0x1.1b76p+16
+0x1.79d0ep+19
+0x1.0fdba4p+22
+0x1.128cbcp+22
+0x1.b287f8p+21
+0x1.d90ccp+18
+0x1.a835b4p+22
+0x1.dd46b8p+22
+0x1.2a2e3p+20
+0x1.657f4p+21
+0x1.ec5c38p+21
+0x1.48000cp+22
+0x1.823704p+22
+0x1.f79974p+22
+0x1.a9cd6p+22
+0x1.b1825p+21
+0x1.9d3aa8p+22
+0x1.4aba68p+22
+0x1.2260fcp+22
+0x1.3b7p+16
+0x1.98f9ep+21
+0x1.551978p+21
+0x1.348f48p+21
+0x1.df935p+21
+0x1.28dde8p+22
+0x1.c87f8p+20
+0x1.5b9594p+22
+0x1.69144cp+22
+0x1.f8a9cp+18
+0x1.2ed4ep+19
+0x1.94c6bp+20
+0x1.022cp+20
+0x1.8a4e74p+22
+0x1.deadb4p+22
+0x1.5d21cp+19
+0x1.1463fp+20
+0x1.915c78p+21
+0x1.7ced48p+22
+0x1.14b95cp+22
+0x1.77991cp+22
+0x1.dd4a44p+22
+0x1.b62998p+22
+0x1.d3fb4p+19
+0x1.2406bp+22
+0x1.ebd1ccp+22
+0x1.984594p+22
+0x1.2241bp+20
+0x1.5ea87cp+22
+0x1.e97d5p+22
+0x1.01dc5p+21
+0x1.f1dcf8p+22
+0x1.494dd8p+21
+0x1.ba6fa8p+22
+0x1.5b464p+19
+0x1.d11dp+22
+0x1.26706p+22
+0x1.e4f58cp+22
+0x1.14fe8p+17
+0x1.4250ep+22
+0x1.6d7fe8p+22
+0x1.14976p+21
+0x1.4ad8e8p+21
+0x1.eb9b88p+21
+0x1.85c794p+22
+0x1.d9af98p+22
+0x1.6b78ap+20
+0x1.c92c9p+20
+0x1.afd08p+22
+0x1.aaae4p+21
+0x1.3b4aacp+22
+0x1.cc7e08p+21
+0x1.9d6774p+22
+0x1.a16d84p+22
+0x1.4ffcbcp+22
+0x1.bee178p+21
+0x1.e557ecp+22
+0x1.79784p+18
+0x1.66d1ep+22
+0x1.c0b2bp+21
+0x1.1eb2ep+21
+0x1.b1c51p+22
+0x1.67f73p+20
+0x1.52bf1cp+22
+0x1.0155fcp+22
+0x1.f7fecp+21
+0x1.1db8e8p+22
+0x1.68a8p+21
+0x1.e756p+16
+0x1.a3d558p+22
+0x1.59f0cp+20
+0x1.5e81a8p+21
+0x1.efd914p+22
+0x1.3a8e6cp+22
+0x1.d4f98p+19
+0x1.981a5p+22
+0x1.4aa678p+21
+0x1.62c94cp+22
+0x1.9aac3p+21
+0x1.340598p+22
+0x1.8bb14cp+22
+0x1.e2919cp+22
+0x1.db64c4p+22
+0x1.ba6f7p+22
+0x1.dcb2p+21
+0x1.21309p+20
+0x1.e275cp+21
+0x1.d7547p+20
+0x1.5b352p+22
+0x1.f47c08p+21
+0x1.f3c98p+19
+0x1.0a945p+20
+0x1.8e8bcp+22
+0x1.21364p+20
+0x1.1437ep+20
+0x1.db5f4cp+22
+0x1.9516bp+22
+0x1.bea7f8p+22
+0x1.504b8p+22
+0x1.fe37b4p+22
+0x1.76fp+17
+0x1.e372f4p+22
+0x1.3bf43p+21
+0x1.440eb8p+21
+0x1.2543ap+20
+0x1.47615p+22
+0x1.d5eeap+19
+0x1.06edp+21
+0x1.13b5acp+22
+0x1.d0f69cp+22
+0x1.a285p+18
+0x1.0695acp+22
+0x1.3935d4p+22
+0x1.3c62c8p+22
+0x1.62dcfp+21
+0x1.21829cp+22
+0x1.d8be84p+22
+0x1.8489dp+20
+0x1.bb1828p+21
+0x1.9bb2bp+22
+0x1.b98edp+20
+0x1.01ede4p+22
+0x1.309b2p+20
+0x1.53ca04p+22
+0x1.8c56ap+22
+0x1.bb2734p+22
+0x1.2a219cp+22
+0x1.4982ap+22
+0x1.8738dp+20
+0x1.424c8p+21
+0x1.28d044p+22
+0x1.a7e64cp+22
+0x1.f154e4p+22
+0x1.89c27p+20
+0x1.5c19d8p+21
+0x1.46271p+21
+0x1.ff258p+20
+0x1.7a198p+19
+0x1.b7d7ecp+22
+0x1.ce10f8p+21
+0x1.3626ep+20
+0x1.8d3a58p+21
+0x1.efa5b8p+22
+0x1.9e990cp+22
+0x1.0b1b6p+21
+0x1.6d0e28p+21
+0x1.6869f8p+22
+0x1.79p+14
+0x1.f04fccp+22
+0x1.4f4964p+22
+0x1.2a63fp+22
+0x1.7a7ep+20
+0x1.05eacp+19
+0x1.cee4cp+20
+0x1.a6f108p+22
+0x1.8d4494p+22
+0x1.93b68p+19
+0x1.bc31ap+21
+0x1.a47568p+22
+0x1.31c32p+20
+0x1.15008p+19
+0x1.02a02p+21
+0x1.ccb93p+22
+0x1.cb8c9p+21
+0x1.205bd8p+22
+0x1.c38db8p+22
+0x1.4b5de4p+22
+0x1.86ce1cp+22
+0x1.ffd57p+22
+0x1.52a238p+21
+0x1.1d04ep+21
+0x1.aac43p+22
+0x1.c659fp+22
+0x1.2fcabp+20
+0x1.c844p+14
+0x1.bb77cp+22
+0x1.1aa43p+20
+0x1.de5518p+22
+0x1.368d3p+21
+0x1.90c03p+22
+0x1.d3f3bp+21
+0x1.afbb6p+20
+0x1.788f7cp+22
+0x1.30861p+21
+0x1.1514b4p+22
+0x1.105308p+22
+0x1.f8724cp+22
+0x1.c7ea58p+22
+0x1.267928p+21
+0x1.17e22p+21
+0x1.6861b8p+21
+0x1.a8d6ap+21
+0x1.659488p+22
+0x1.7d971cp+22
+0x1.e868d8p+21
+0x1.fcc28p+20
+0x1.a7999cp+22
+0x1.13f7fp+21
+0x1.ce7p+12
+0x1.124318p+22
+0x1.140bcp+21
+0x1.d2c28p+17
+0x1.e2ae2p+22
+0x1.34d6p+22
+0x1.2fd03cp+22
+0x1.243dap+22
+0x1.765d1p+22
+0x1.0309fp+22
+0x1.9ebda8p+21
+0x1.2ccb94p+22
+0x1.4ee1bp+20
+0x1.5883e8p+22
+0x1.a59eap+19
+0x1.28aa84p+22
+0x1.b13bap+20
+0x1.2a358p+17
+0x1.6d0bacp+22
+0x1.c91a8p+18
+0x1.976c3cp+22
+0x1.c856f8p+21
+0x1.bb3cb8p+21
+0x1.e8e318p+22
+0x1.30f044p+22
+0x1.473a6p+22
+0x1.b6244cp+22
+0x1.85ea48p+22
+0x1.e77b8p+17
+0x1.ed3fbcp+22
+0x1.352698p+21
+0x1.e9fap+18
+0x1.4fdf8p+21
+0x1.635e3p+20
+0x1.6344fcp+22
+0x1.2b7ec8p+21
+0x1.091d8p+22
+0x1.ef2f8p+18
+0x1.030714p+22
+0x1.0386dp+21
+0x1.d706b4p+22
+0x1.d8a63p+21
+0x1.174bdp+22
+0x1.2466bp+21
+0x1.d4fbp+20
+0x1.03755p+21
+0x1.cb498p+21
+0x1.5afb98p+22
+0x1.4166c4p+22
+0x1.7acee8p+21
+0x1.29b95p+22
+0x1.df3fcp+22
+0x1.421ce8p+21
+0x1.45808p+20
+0x1.d0090cp+22
+0x1.f3edecp+22
+0x1.411aap+21
+0x1.f4418p+21
+0x1.3c621p+20
+0x1.22e1e4p+22
+0x1.536268p+21
+0x1.1e03c8p+21
+0x1.a7e92p+19
+0x1.e3207p+21
+0x1.671a6p+22
+0x1.24aaap+21
+0x1.03e2dp+22
+0x1.12150cp+22
+0x1.74a1e8p+22
+0x1.43127p+21
+0x1.4022ap+19
+0x1.904c8p+20
+0x1.f0c6ap+19
+0x1.b7231cp+22
+0x1.a63d88p+22
+0x1.00bcep+19
+0x1.a14dfcp+22
+0x1.db2528p+22
+0x1.00318p+20
+0x1.d29c4cp+22
+0x1.bb12acp+22
+0x1.26f758p+21
+0x1.edc2fp+22
+0x1.845a34p+22
+0x1.dbdb5cp+22
+0x1.9257ecp+22
+0x1.8925d4p+22
+0x1.fd2e9cp+22
+0x1.630c08p+21
+0x1.b944d4p+22
+0x1.a33358p+22
+0x1.408b7p+22
+0x1.795ep+16
+0x1.3afb18p+21
+0x1.69c26p+21
+0x1.c9b768p+22
+0x1.46c53p+21
+0x1.bb78p+16
+0x1.b1146p+20
+0x1.06848p+20
+0x1.dce1c4p+22
+0x1.c01ea4p+22
+0x1.4bcep+20
+0x1.6b6cdp+22
+0x1.308fcp+19
+0x1.b55dbcp+22
+0x1.a0eb24p+22
+0x1.2e3b4p+18
+0x1.a7e4ep+21
+0x1.e3298p+19
+0x1.80cb84p+22
+0x1.d839bp+20
+0x1.d10e3p+21
+0x1.eb0f8p+19
+0x1.4875bp+21
+0x1.8bbe78p+21
+0x1.fc047p+22
+0x1.d84414p+22
+0x1.e450dp+20
+0x1.c12024p+22
+0x1.004ecp+22
+0x1.561d8p+21
+0x1.dae04cp+22
+0x1.0e6e38p+21
+0x1.88b4d4p+22
+0x1.7ba28p+22
+0x1.74e3cp+18
+0x1.e3428p+17
+0x1.71014p+20
+0x1.249d34p+22
+0x1.44f46cp+22
+0x1.cbbcdp+20
+0x1.eb1d8p+20
+0x1.eaf35p+22
+0x1.b10e2p+20
+0x1.15921p+22
+0x1.74cc5p+21
+0x1.d51ba8p+22
+0x1.6df408p+22
+0x1.3f9dc4p+22
+0x1.04e3ep+21
+0x1.9229cp+22
+0x1.763404p+22
+0x1.437d8p+20
+0x1.fb0cfp+21
+0x1.65589cp+22
+0x1.92e604p+22
+0x1.ae5fp+19
+0x1.a8ef38p+21
+0x1.492f8p+18
+0x1.7f246p+19
+0x1.2ac7p+16
+0x1.caa69p+20
+0x1.ddfe6p+19
+0x1.15421p+21
+0x1.161308p+22
+0x1.522bccp+22
+0x1.e797fp+22
+0x1.241c88p+21
+0x1.ad90bcp+22
+0x1.c25168p+22
+0x1.5023cp+19
+0x1.29c03p+22
+0x1.6741bp+22
+0x1.4621bp+20
+0x1.aaf48cp+22
+0x1.e43e5p+21
+0x1.045c6cp+22
+0x1.699278p+21
+0x1.5abc6p+22
+0x1.1e716p+20
+0x1.d227b8p+22
+0x1.7303dp+22
+0x1.ee019cp+22
+0x1.e2d09p+21
+0x1.4f9308p+21
+0x1.722e1p+22
+0x1.15c4fcp+22
+0x1.6e2cdcp+22
+0x1.8a4fc4p+22
+0x1.c4c29p+22
+0x1.4d7c3p+22
+0x1.ba11fp+22
+0x1.80693p+20
+0x1.fa4498p+22
+0x1.8e7714p+22
+0x1.2e6eap+22
+0x1.197804p+22
+0x1.3fcc84p+22
+0x1.1502d4p+22
+0x1.9d54d8p+21
+0x1.926a2p+22
+0x1.a09244p+22
+0x1.37e72p+19
+0x1.81a248p+22
+0x1.96668cp+22
+0x1.17ec8cp+22
+0x1.9b61p+22
+0x1.3b4008p+22
+0x1.b4db64p+22
+0x1.35de78p+22
+0x1.79adfp+20
+0x1.f3010cp+22
+0x1.5728fp+22
+0x1.bc22ep+22
+0x1.bba8ccp+22
+0x1.b9a42p+19
+0x1.c7f5ep+19
+0x1.ab96bp+20
+0x1.3f1dfcp+22
+0x1.65bedp+22
+0x1.8e34a4p+22
+0x1.149478p+21
+0x1.fbe8dp+21
+0x1.ccb76p+22
+0x1.c30b98p+21
+0x1.3661ap+21
+0x1.119d68p+21
+0x1.785bap+20
+0x1.f1d09p+20
+0x1.d1ff4p+18
+0x1.2a49d4p+22
+0x1.be05ep+20
+0x1.acfb2p+20
+0x1.86f914p+22
+0x1.ff7p+19
+0x1.135bfcp+22
+0x1.0e92cp+22
+0x1.b6820cp+22
+0x1.2c42ecp+22
+0x1.5cd11p+20
+0x1.4af59p+20
+0x1.a88f8cp+22
+0x1.27771p+20
+0x1.3e88p+20
+0x1.4271b8p+21
+0x1.73ce5cp+22
+0x1.aeaep+20
+0x1.f681cp+19
+0x1.b74a4p+19
+0x1.f8bcap+19
+0x1.22eeap+22
+0x1.92d05cp+22
+0x1.8d71e8p+21
+0x1.b8611p+22
+0x1.9f8cb8p+21
+0x1.7ee7p+19
+0x1.31da6p+21
+0x1.f0ebcp+20
+0x1.99a59p+22
+0x1.f78becp+22
+0x1.84fa98p+21
+0x1.7e818p+19
+0x1.dcd6p+17
+0x1.e35b9p+21
+0x1.47af5p+21
+0x1.49c27p+22
+0x1.91ea08p+21
+0x1.d3c93p+20
+0x1.d3c4ep+20
+0x1.c1526p+21
+0x1.7889f4p+22
+0x1.de07f8p+21
+0x1.283fe4p+22
+0x1.963a58p+21
+0x1.90571cp+22
+0x1.885628p+22
+0x1.94fa8cp+22
+0x1.c8e088p+21
+0x1.ae3614p+22
+0x1.3ccd7p+21
+0x1.d1b6ecp+22
+0x1.bd8adp+22
+0x1.b9c0bcp+22
+0x1.264a08p+21
+0x1.5edeacp+22
+0x1.4c4de8p+21
+0x1.7933fp+20
+0x1.a13d6p+22
+0x1.73b348p+21
+0x1.2d78d8p+22
+0x1.3cbc04p+22
+0x1.380ep+22
+0x1.10662p+20
+0x1.a64fcp+19
+0x1.78a8cp+20
+0x1.62c6ep+19
+0x1.31de3p+22
+0x1.a871p+17
+0x1.be91ap+20
+0x1.253dep+19
+0x1.7fa0acp+22
+0x1.c0ea2p+20
+0x1.d7e9f4p+22
+0x1.cd87b4p+22
+0x1.886ffp+22
+0x1.13eecp+21
+0x1.b61c5cp+22
+0x1.9119p+17
+0x1.08fd1p+20
+0x1.65461p+20
+0x1.a6ca5cp+22
+0x1.4b403p+21
+0x1.d88888p+21
+0x1.ca12fp+21
+0x1.5ac3acp+22
+0x1.640e44p+22
+0x1.19d06cp+22
+0x1.b04c9p+21
+0x1.d65f98p+21
+0x1.5023bp+22
+0x1.1ae42p+20
+0x1.5577ep+21
+0x1.781c58p+22
+0x1.67bfdp+20
+0x1.2e2dp+21
+0x1.15b198p+22
+0x1.f82p+11
+0x1.a3fca4p+22
+0x1.43e368p+22
+0x1.4c3eb4p+22
+0x1.ce59bp+21
+0x1.f918cp+20
+0x1.245cap+21
+0x1.6d2988p+22
+0x1.3feap+17
+0x1.087514p+22
+0x1.3dbb18p+22
+0x1.ae948p+19
+0x1.fe474p+20
+0x1.1f148p+21
+0x1.f8db74p+22
+0x1.bb5274p+22
+0x1.a2649cp+22
+0x1.29294p+19
+0x1.6d07ep+19
+0x1.a6b93p+22
+0x1.c28aa8p+22
+0x1.ca047p+20
+0x1.09a108p+21
+0x1.e6683cp+22
+0x1.ded5fp+20
+0x1.130bf4p+22
+0x1.4673fcp+22
+0x1.7c7a8p+17
+0x1.4534fp+21
+0x1.93f228p+22
+0x1.90174p+20
+0x1.a830f8p+22
+0x1.be131p+21
+0x1.82b0ap+19
+0x1.6f1c9cp+22
+0x1.c4935cp+22
+0x1.0c7f1p+22
+0x1.21badcp+22
+0x1.c6cbcp+19
+0x1.8bf54p+21
+0x1.09453p+21
+0x1.118c58p+22
+0x1.74065p+21
+0x1.a11138p+22
+0x1.e9b408p+22
+0x1.a6604p+20
+0x1.06f31p+22
+0x1.584b7p+21
+0x1.c88ddp+22
+0x1.3e3accp+22
+0x1.4dd23p+21
+0x1.b6b66cp+22
+0x1.c29544p+22
+0x1.bac2ap+21
+0x1.e7ac3p+20
+0x1.1eab3p+22
+0x1.b4b3ecp+22
+0x1.224b38p+22
+0x1.b944d8p+21
+0x1.f45698p+21
+0x1.8b6bp+17
+0x1.4f8e4p+19
+0x1.fa7194p+22
+0x1.e91efp+21
+0x1.292acp+19
+0x1.6bdfa4p+22
+0x1.feb2a4p+22
+0x1.58e444p+22
+0x1.e4ce98p+21
+0x1.9b12dcp+22
+0x1.6f067p+21
+0x1.0af74p+22
+0x1.87cdd8p+22
+0x1.1785p+21
+0x1.58701p+20
+0x1.b21bdp+21
+0x1.72cf6p+20
+0x1.b764cp+18
+0x1.810a1p+20
+0x1.22a98p+22
+0x1.756844p+22
+0x1.31ee3p+21
+0x1.a95c8p+20
+0x1.b08504p+22
+0x1.595e8cp+22
+0x1.96bb44p+22
+0x1.480428p+21
+0x1.0ce288p+22
+0x1.2568ep+20
+0x1.912a3p+22
+0x1.52741cp+22
+0x1.bba168p+21
+0x1.4ca2p+16
+0x1.293544p+22
+0x1.b40e08p+22
+0x1.a3aaecp+22
+0x1.39eb2cp+22
+0x1.0de18p+22
+0x1.b2d2e8p+22
+0x1.0ap+14
+0x1.4e9c1cp+22
+0x1.aa7a6p+21
+0x1.cc47ap+20
+0x1.8e6df8p+22
+0x1.6d7cf8p+21
+0x1.79f82cp+22
+0x1.6dace8p+21
+0x1.3a225p+20
+0x1.882d4p+19
+0x1.7e39f8p+22
+0x1.34c568p+22
+0x1.8d4944p+22
+0x1.5ad2ap+20
+0x1.acdd94p+22
+0x1.b92fa8p+21
+0x1.2f0acp+19
+0x1.8edc7p+21
+0x1.e1137p+22
+0x1.efb8f8p+22
+0x1.c7b9c8p+21
+0x1.a8433p+20
+0x1.a02888p+22
+0x1.b232d8p+21
+0x1.eca9dp+20
+0x1.5da144p+22
+0x1.652888p+21
+0x1.5f03c8p+22
+0x1.1b632p+22
+0x1.2885cp+19
+0x1.caca28p+21
+0x1.fcac7p+21
+0x1.322e3cp+22
+0x1.ed0f4p+19
+0x1.bbb0d8p+22
+0x1.8badd8p+22
+0x1.4ad37p+21
+0x1.86adp+21
+0x1.759948p+22
+0x1.144ccp+22
+0x1.8f7b7cp+22
+0x1.39ea8p+17
+0x1.7da1c8p+22
+0x1.74c2cp+19
+0x1.dd1688p+22
+0x1.8f7f6p+22
+0x1.280358p+22
+0x1.bd4914p+22
+0x1.db074p+21
+0x1.b574dp+21
+0x1.a64c9p+20
+0x1.eae678p+22
+0x1.35fee4p+22
+0x1.ce9dp+17
+0x1.97dccp+19
+0x1.a1971p+20
+0x1.74c858p+22
+0x1.413db8p+21
+0x1.39d9ep+20
+0x1.f7df3p+20
+0x1.a80b4p+21
+0x1.6a417p+20
+0x1.cbed7p+22
+0x1.09989p+20
+0x1.7be678p+21
+0x1.2cf01p+20
+0x1.165b8p+19
+0x1.672534p+22
+0x1.b3dabp+21
+0x1.4a5dfcp+22
+0x1.8c8084p+22
+0x1.b5a2cp+19
+0x1.de6618p+22
+0x1.c7cc7p+22
+0x1.f6a028p+22
+0x1.d87374p+22
+0x1.e928f8p+21
+0x1.3cb178p+22
+0x1.54384p+22
+0x1.0018acp+22
+0x1.26babcp+22
+0x1.09641cp+22
+0x1.c0dc5p+20
+0x1.eabd98p+22
+0x1.0b9d8p+20
+0x1.f55f8p+19
+0x1.986b78p+22
+0x1.912098p+21
+0x1.c220ap+19
+0x1.497ea8p+21
+0x1.4b9024p+22
+0x1.bb9c6p+19
+0x1.b82fc8p+22
+0x1.987facp+22
+0x1.fa62ep+20
+0x1.967ecp+18
+0x1.94c9bp+21
+0x1.d040fp+22
+0x1.593acp+22
+0x1.787788p+22
+0x1.068268p+22
+0x1.2e6d88p+22
+0x1.0fb654p+22
+0x1.e9f19cp+22
+0x1.d64e94p+22
+0x1.126808p+22
+0x1.c5d6a8p+21
+0x1.09c27p+22
+0x1.061bp+22
+0x1.9f2c08p+21
+0x1.f0e298p+22
+0x1.1ff52p+19
+0x1.668138p+22
+0x1.043808p+21
+0x1.d3f97p+21
+0x1.1aaee8p+22
+0x1.e9e58p+22
+0x1.2aef4p+19
+0x1.79a87p+20
+0x1.2d851p+22
+0x1.5544cp+20
+0x1.12048p+20
+0x1.ba1f4cp+22
+0x1.e46b9cp+22
+0x1.79424p+18
+0x1.b6e8p+19
+0x1.e35a78p+22
+0x1.5906ap+19
+0x1.b38acp+20
+0x1.0d876p+22
+0x1.f99c9p+22
+0x1.58e388p+22
+0x1.0017b8p+21
+0x1.7e1818p+21
+0x1.b4b1ccp+22
+0x1.8a60f4p+22
+0x1.15ae3cp+22
+0x1.09a7a8p+21
+0x1.d6bc98p+22
+0x1.3fe6p+17
+0x1.6dab04p+22
+0x1.91d85cp+22
+0x1.69b84p+20
+0x1.2c6cdp+22
+0x1.c272p+20
+0x1.c2c55p+20
+0x1.fa5fecp+22
+0x1.495748p+21
+0x1.f527dp+20
+0x1.f16618p+22
+0x1.24e56p+20
+0x1.c4975cp+22
+0x1.509dap+19
+0x1.fa379p+20
+0x1.68f3cp+22
+0x1.c7587cp+22
+0x1.3078c4p+22
+0x1.779e4p+22
+0x1.2aa03p+21
+0x1.bc5b2cp+22
+0x1.138f9p+21
+0x1.fc14cp+18
+0x1.9d8cfp+22
+0x1.7c2888p+22
+0x1.553e8p+19
+0x1.3682bp+20
+0x1.ae5dp+20
+0x1.caa218p+22
+0x1.9754p+19
+0x1.a12bd4p+22
+0x1.b698p+15
+0x1.fc2b68p+21
+0x1.fdb588p+22
+0x1.889e24p+22
+0x1.ef9ac8p+22
+0x1.8237b8p+21
+0x1.2d144p+22
+0x1.a9f4ap+22
+0x1.62b28cp+22
+0x1.07294p+21
+0x1.dbd45p+20
+0x1.db777p+21
+0x1.5c537p+22
+0x1.5bbf8p+18
+0x1.4c02dp+21
+0x1.c0fb6p+21
+0x1.cfb58p+17
+0x1.c31f84p+22
+0x1.8baccp+18
+0x1.63c418p+21
+0x1.149b2cp+22
+0x1.46a438p+21
+0x1.9096f8p+22
+0x1.25d78cp+22
+0x1.32ea6p+21
+0x1.9b8cdp+22
+0x1.1ad694p+22
+0x1.b91a2p+21
+0x1.578924p+22
+0x1.2c38p+14
+0x1.d86e2p+19
+0x1.bdca9p+20
+0x1.286b2p+19
+0x1.0739ap+21
+0x1.4b75ep+21
+0x1.e5192p+19
+0x1.7144cp+21
+0x1.7334ap+19
+0x1.1ab01p+22
+0x1.e477ep+21
+0x1.8502ap+20
+0x1.5a221p+22
+0x1.2a771cp+22
+0x1.ee5b68p+21
+0x1.8e84b8p+22
+0x1.5f9548p+21
+0x1.815fep+19
+0x1.6d6d5p+20
+0x1.573548p+22
+0x1.ac7c38p+21
+0x1.e94c1cp+22
+0x1.e682fp+21
+0x1.5d0394p+22
+0x1.6fd5fcp+22
+0x1.bb21p+20
+0x1.6fcfacp+22
+0x1.cc2924p+22
+0x1.d7d56p+19
+0x1.1b9afp+22
+0x1.ec32cp+18
+0x1.a78cf4p+22
+0x1.1c78cp+18
+0x1.2c798cp+22
+0x1.13328cp+22
+0x1.626b8cp+22
+0x1.fa068p+18
+0x1.e5c02cp+22
+0x1.0b460cp+22
+0x1.bba5p+20
+0x1.ae574p+18
+0x1.e57c3cp+22
+0x1.21b3bp+20
+0x1.b1c8f4p+22
+0x1.deb02p+19
+0x1.4b664p+20
+0x1.e00e28p+22
+0x1.e90da8p+21
+0x1.13133p+22
+0x1.55134p+18
+0x1.b0b448p+21
+0x1.885b4p+18
+0x1.ed23p+20
+0x1.9b2258p+22
+0x1.70ff0cp+22
+0x1.ae60b8p+21
+0x1.f5453cp+22
+0x1.235138p+22
+0x1.8b5ffp+21
+0x1.ab3dp+18
+0x1.ab71f8p+21
+0x1.8b25a4p+22
+0x1.f817b8p+21
+0x1.e8adcp+20
+0x1.f60388p+22
+0x1.f0497p+22
+0x1.419b78p+21
+0x1.612b7cp+22
+0x1.cec098p+21
+0x1.572ep+16
+0x1.871cb8p+22
+0x1.42f6f8p+21
+0x1.727c88p+21
+0x1.1adb24p+22
+0x1.7ce538p+21
+0x1.a3a544p+22
+0x1.f4ab8p+19
+0x1.8474dp+20
+0x1.4cceep+22
+0x1.3e49p+21
+0x1.c98478p+21
+0x1.fb62ap+20
+0x1.4cee4p+19
+0x1.d6db64p+22
+0x1.ab222cp+22
+0x1.d57e5p+20
+0x1.dc84f8p+21
+0x1.853214p+22
+0x1.0679ccp+22
+0x1.e334d8p+22
+0x1.b4c51p+21
+0x1.55eb78p+21
+0x1.b4c31cp+22
+0x1.9f4914p+22
+0x1.2c407p+21
+0x1.21fed8p+21
+0x1.5da3dp+20
+0x1.664fdcp+22
+0x1.2c6f4p+21
+0x1.0eea78p+21
+0x1.048264p+22
+0x1.997c88p+22
+0x1.a152dcp+22
+0x1.c922bp+22
+0x1.36d34p+20
+0x1.3bb2b8p+22
+0x1.5778c8p+21
+0x1.4229d8p+22
+0x1.baa37p+22
+0x1.408b3p+20
+0x1.1dd08cp+22
+0x1.fb8fcp+19
+0x1.9591f8p+22
+0x1.7ee9p+22
+0x1.2ed81p+22
+0x1.5e48ep+19
+0x1.5f8ecp+20
+0x1.72c4f8p+22
+0x1.52d4dp+20
+0x1.1952cp+18
+0x1.776ep+15
+0x1.107144p+22
+0x1.1994e8p+22
+0x1.0c2074p+22
+0x1.972fep+20
+0x1.de7c48p+22
+0x1.c0e0cp+22
+0x1.c902p+20
+0x1.3cbadcp+22
+0x1.561228p+22
+0x1.5f518p+18
+0x1.75d1p+19
+0x1.6019a8p+21
+0x1.d25f88p+21
+0x1.6b7698p+22
+0x1.51b1fcp+22
+0x1.60bcp+21
+0x1.1197a8p+21
+0x1.6ce6cp+22
+0x1.9ccaacp+22
+0x1.19c838p+22
+0x1.aa2eccp+22
+0x1.692f38p+22
+0x1.f5d44p+21
+0x1.23bda8p+22
+0x1.f04084p+22
+0x1.a29ep+15
+0x1.2a254p+21
+0x1.db4f3p+20
+0x1.a412e4p+22
+0x1.9ed28p+19
+0x1.5ad38p+20
+0x1.b45a9p+21
+0x1.b8b228p+21
+0x1.74459cp+22
+0x1.86cdc8p+21
+0x1.100f48p+22
+0x1.a1218p+18
+0x1.d5eb48p+22
+0x1.fd1b3p+22
+0x1.d2afp+17
+0x1.30d6p+19
+0x1.5c9114p+22
+0x1.5482e8p+21
+0x1.13afap+19
+0x1.d3113p+21
+0x1.4bee7cp+22
+0x1.a2c47cp+22
+0x1.b27bacp+22
+0x1.25306p+19
+0x1.895f38p+21
+0x1.0a4b98p+21
+0x1.9ada88p+21
+0x1.c03538p+21
+0x1.11407p+20
+0x1.181a4p+19
+0x1.f80ccp+19
+0x1.4648e8p+21
+0x1.f1f7cp+20
+0x1.2703fp+20
+0x1.e2dd4p+20
+0x1.bfb464p+22
+0x1.21446cp+22
+0x1.1621ap+20
+0x1.af80b8p+21
+0x1.7b4424p+22
+0x1.9ecaf8p+22
+0x1.a0d9ecp+22
+0x1.ee609p+20
+0x1.dd5e68p+22
+0x1.d3dea8p+21
+0x1.379edp+20
+0x1.bbc82p+22
+0x1.f08b5p+22
+0x1.9adcp+17
+0x1.63585p+20
+0x1.43b3a8p+22
+0x1.6e67ep+19
+0x1.b65978p+22
+0x1.2b134p+20
+0x1.d4acc4p+22
+0x1.cced1cp+22
+0x1.752594p+22
+0x1.157b9cp+22
+0x1.9a74cp+20
+0x1.f6899p+22
+0x1.885708p+22
+0x1.90fc38p+21
+0x1.67e5d8p+21
+0x1.8c81f8p+22
+0x1.49b8cp+19
+0x1.0e1714p+22
+0x1.5b93fcp+22
+0x1.cc0424p+22
+0x1.062edp+22
+0x1.286bb8p+21
+0x1.f17d5cp+22
+0x1.ea88p+15
+0x1.be2df8p+22
+0x1.60e09cp+22
+0x1.cb7668p+22
+0x1.0379acp+22
+0x1.a825p+19
+0x1.3e3af4p+22
+0x1.cf5e98p+22
+0x1.1e402p+22
+0x1.ea648p+19
+0x1.15d3p+16
+0x1.0a553p+22
+0x1.40773p+22
+0x1.59fcf8p+21
+0x1.4f7f3p+20
+0x1.d8c9cp+20
+0x1.3a2a3cp+22
+0x1.4756d8p+21
+0x1.9fcba4p+22
+0x1.ab43cp+20
+0x1.b1199p+21
+0x1.04a3ep+19
+0x1.1e93cp+20
+0x1.60d3c8p+21
+0x1.82378p+21
+0x1.b36158p+21
+0x1.a6a7dp+22
+0x1.72bbccp+22
+0x1.192bap+20
+0x1.286a58p+22
+0x1.2b217p+20
+0x1.003044p+22
+0x1.de9878p+22
+0x1.11aa8p+21
+0x1.ae42ep+22
+0x1.2d5a5p+20
+0x1.e44p+16
+0x1.38e04p+22
+0x1.287aa4p+22
+0x1.1cc3ap+22
+0x1.6a00dp+20
+0x1.bd5408p+21
+0x1.06f26p+20
+0x1.d86058p+22
+0x1.1cc4c8p+22
+0x1.f884dp+22
+0x1.ced208p+21
+0x1.0b9f44p+22
+0x1.7fccf8p+21
+0x1.da2488p+22
+0x1.dab064p+22
+0x1.8e40c4p+22
+0x1.65d6a8p+21
+0x1.6b565cp+22
+0x1.dbd71p+22
+0x1.0df39p+20
+0x1.522df8p+21
+0x1.cdf0f8p+22
+0x1.b92fdp+21
+0x1.a5b68p+19
+0x1.1192bp+21
+0x1.5804p+18
+0x1.be90a8p+22
+0x1.d97fd4p+22
+0x1.c9aa5p+22
+0x1.9c21cp+21
+0x1.5805a8p+22
+0x1.566e3cp+22
+0x1.f3c274p+22
+0x1.89053p+21
+0x1.c5dbap+19
+0x1.75e98p+22
+0x1.98a8bp+22
+0x1.9739cp+20
+0x1.5f152p+22
diff --git a/benchtests/powl-inputs b/benchtests/powl-inputs
new file mode 100644
index 0000000..5683eae
--- /dev/null
+++ b/benchtests/powl-inputs
@@ -0,0 +1,1003 @@
+## args: long double:long double
+## ret: long double
+## includes: math.h
+0x1.396f9b1246899f8ep+0l, 0x1.c6ee6e790b0bbe14p-1l
+0x1.c5d84ecab6e84c6p-3l, 0x1.fae9ef3a730214d2p+2l
+0x1.f3b0618dee077634p+2l, 0x1.c5d394bf7e64b3acp+2l
+0x1.61fcfed474c9e908p+2l, 0x1.3138d94e6c01ca62p+3l
+0x1.f6005dbf8aa3b03cp+2l, 0x1.e8a1b46dbbd5f01p+1l
+0x1.b0dab162315f7a0ep+1l, 0x1.a9fc007ba96b828ep+2l
+0x1.141a0f38490118cp+2l, 0x1.1fa0af72f9c8aa64p+3l
+0x1.19e03fed84461f52p+3l, 0x1.791de77e81929a26p+0l
+0x1.025aa0f0d2553d56p+2l, 0x1.3facc7f344c6695cp+3l
+0x1.7db9540e6b7c9222p+1l, 0x1.33e219372d2351b6p+3l
+0x1.374bb78230f385fcp-1l, 0x1.10823445ee7f57p+0l
+0x1.4987e9854efb92ap-4l, 0x1.f6cf51a9daeb205p+2l
+0x1.dcae6d6d2332acb4p+0l, 0x1.59f3c10520e8e38p-4l
+0x1.145bc3cd4ba7613cp+1l, 0x1.267a293a40d6508cp+3l
+0x1.5e1191a733b2f996p+2l, 0x1.5ab3f754f434e16ep+2l
+0x1.b0fc60d0e073d53cp+2l, 0x1.4f7f1bb1a684462p+1l
+0x1.032d050a6c64aa08p+0l, 0x1.ca4a8a54b8019b8cp+2l
+0x1.c31ec8dcddba845p-2l, 0x1.9244b13ed9377fp+2l
+0x1.3b4fc70cbc207108p+1l, 0x1.182ecc87466340ecp+2l
+0x1.1b5424e95d3c42ccp+1l, 0x1.05a073a432b20c0ap+2l
+0x1.3e90cdb06f7e9e98p-2l, 0x1.2232638b0293ba2p+0l
+0x1.b82e862a51b23588p+2l, 0x1.9fdd5620a7b3ecf6p+2l
+0x1.5c803a490bbedc44p+1l, 0x1.b751de84a256a738p-1l
+0x1.0d638c94aec74a64p+2l, 0x1.60b4461d4edfd6ep+2l
+0x1.db8370e228d62bap+2l, 0x1.81a4c069cfbc8c48p+2l
+0x1.2e79f778b59149aap+3l, 0x1.7115247697d15df8p-1l
+0x1.4be4f230071d387cp+0l, 0x1.35830ec85e565c86p+0l
+0x1.2ebd9cb72adbdfd6p+3l, 0x1.639f408f480b0b96p+2l
+0x1.0be30fc563013832p+3l, 0x1.2aebc5ccb5e39f5ep+3l
+0x1.f741bf56307bbaa6p+2l, 0x1.d9c6a0614352fdep+1l
+0x1.43485ebd7cedb5dcp-1l, 0x1.a8f2bff3fb64dea2p+2l
+0x1.5f863b9bf87fd45cp+2l, 0x1.3dcf8568d997ea2p+1l
+0x1.3ae06818413d1002p+0l, 0x1.5ade2f56bed73304p+1l
+0x1.2a9a7077108d05d2p+0l, 0x1.7dffa561d6763bbap+1l
+0x1.da8b5c02658656c2p+2l, 0x1.4ed191c25a430f92p+1l
+0x1.5c938e2dbb6f9b96p+1l, 0x1.2725b19a10b53574p+3l
+0x1.eb7c299caa17b81p-2l, 0x1.1a214298af869cfap+3l
+0x1.b02725c619b62beap+2l, 0x1.3d3158ca620aa9e8p-2l
+0x1.17440984c757527ep+3l, 0x1.4e250f0e7824c124p+0l
+0x1.0e5683eac87bd1ecp+3l, 0x1.e08223b9381202ccp+1l
+0x1.bb13d1ca1ee9173cp+2l, 0x1.a07687725d5723dcp+2l
+0x1.5876a01e7fc68b3p+2l, 0x1.1ef7b4a4941124e6p+3l
+0x1.9eb674128d4e4678p+2l, 0x1.c214da3778d16f7p+1l
+0x1.ec9e03c45ccbe734p+2l, 0x1.037990f2b05e6766p+3l
+0x1.fc9cd7920bb27b08p+2l, 0x1.413bf688939fea3p-3l
+0x1.64c55d1cf8a5088cp+0l, 0x1.8d5081bcf0e84028p-1l
+0x1.ea29adccb9b3c628p+1l, 0x1.17d5b9dcc642a3bp+1l
+0x1.9b642a62b24d4004p+2l, 0x1.3d580f017ec24262p+1l
+0x1.1e1da2a19977069p+3l, 0x1.b7b4b54d44c5f292p+0l
+0x1.1d246e04ea14cdcep+3l, 0x1.d0a8ada8d9808f5p+2l
+0x1.066931be3fa50312p+2l, 0x1.9d552c620d2911a8p+1l
+0x1.2e4ea242881f5bbp+3l, 0x1.b1568160d141321cp+1l
+0x1.28c09757be7fdbd4p+3l, 0x1.1461ad9a2927d74cp+3l
+0x1.0caed2f8138fd3d6p+2l, 0x1.765f4297fdc3195p+1l
+0x1.0945aba316a32b54p-1l, 0x1.066caf34ceabd2c6p+3l
+0x1.04d350000531b6p+2l, 0x1.07a4c97e4c56f59p-2l
+0x1.0b1025ca81d64f24p+3l, 0x1.8fcfb588c26b3a4cp+2l
+0x1.36407c1e951e2036p+3l, 0x1.5d2f61f50de45f1ap+1l
+0x1.0789b8bd0a6000cep+1l, 0x1.f6bd4360f636fca8p+1l
+0x1.1689e695602a2ecp-3l, 0x1.9eb61f5a36cbef6p+1l
+0x1.3803a18bf266cfacp+3l, 0x1.3f6ad0ebdbf4bd9p+1l
+0x1.85ee011e98696252p+0l, 0x1.196a9ae43ea1b19cp+2l
+0x1.1cbfc795bf808668p+2l, 0x1.a5173ded0274f5bp+1l
+0x1.2529dc5d15d03364p+3l, 0x1.fb246a969d8cf426p+2l
+0x1.18bccff493b5f852p+3l, 0x1.24d059592baa3d4ep+3l
+0x1.fdecf32a3cc9651ep+2l, 0x1.c2a336379b3ea946p+2l
+0x1.404f74a029dead54p+1l, 0x1.62d70cb795e4c29p+1l
+0x1.ede9dded79245c34p+0l, 0x1.16cba97515cdf2dep+3l
+0x1.c5bacb15366affcp+0l, 0x1.11fa8b0b7052d52cp+1l
+0x1.923bebc9a479f93ep+2l, 0x1.057ab478d273d38ap+3l
+0x1.1cb9326c2a33145ap+0l, 0x1.798269ef215a2bdap+2l
+0x1.1333025c1dcd4538p+1l, 0x1.2889e7548292fb2ap+2l
+0x1.affd5ad2904894dep+0l, 0x1.6087b365009eafb8p+1l
+0x1.ba2349e13d239afp-3l, 0x1.673a4c3121e616f8p-1l
+0x1.0e2821e324abc7c8p+1l, 0x1.352028760f9e3274p+3l
+0x1.e5307cbf516be80ap+2l, 0x1.26c2eab6d6d7627p+2l
+0x1.9a7fa62bb5c87952p+0l, 0x1.85011042ea3fbb24p+2l
+0x1.2ff06178ef08be86p+3l, 0x1.7b9468c7d88c9398p+1l
+0x1.c7a7ee309822296p+1l, 0x1.2ca5125fbd9571d6p+3l
+0x1.25010758a2660f52p+0l, 0x1.ed2862477cf6275p+2l
+0x1.163fd8691e8c9dap+3l, 0x1.24c027dae2652952p+3l
+0x1.e1c77e808b3ce966p+2l, 0x1.13e81085b9666488p+3l
+0x1.bd40eb831f11bfc8p+2l, 0x1.8267bae247bfa2bp+2l
+0x1.212786be16a88688p+3l, 0x1.3f6213dc193912ecp+3l
+0x1.e9098b2500f12bcp+1l, 0x1.0e67143b70008e28p+3l
+0x1.26bcac39b7cbd358p+2l, 0x1.244155f4442a98d2p+3l
+0x1.34d4d93ab2ab4de8p+2l, 0x1.c8edda477d74235ap+2l
+0x1.6d8a3b7eaf94fe1ep+1l, 0x1.a52151cb40f198a4p+1l
+0x1.5d838005da45faa4p+2l, 0x1.8d141e31eb8bb64ep+2l
+0x1.aa37d5722882e4a8p+2l, 0x1.17534f1caa6c790ep+2l
+0x1.43a71307d27752eep+2l, 0x1.8ae04fa3bb245498p+1l
+0x1.d796c54dcccf3086p+2l, 0x1.1c5f137378140e72p+3l
+0x1.140a1a832eb3588ep+3l, 0x1.e2dc03456baa021cp+2l
+0x1.636d9305179230d6p+2l, 0x1.9e618631e9b6b334p+2l
+0x1.17f43d2b4d025b22p+3l, 0x1.a6dcfd945b058778p+2l
+0x1.8973c32990378e5ap+1l, 0x1.c9ee451d543bb776p+2l
+0x1.18665e5fb2f78054p+2l, 0x1.24fd4b04a9f80a88p+3l
+0x1.d86b539abb954b58p-2l, 0x1.76f729dca5675988p+0l
+0x1.bb65b7e44d76f27cp+1l, 0x1.93203cd04cb791cp+1l
+0x1.38b9d4d73ff92b5ep+3l, 0x1.07450262a17a64acp+3l
+0x1.af46bfffbd514e68p+2l, 0x1.96884836b8183f24p+0l
+0x1.09bd64b7c310f636p+3l, 0x1.a661d5ac0de81e06p+0l
+0x1.773d7ae25e5f53dep+2l, 0x1.d49a4a53e304a76cp+0l
+0x1.7e33e38f8a26623ap+2l, 0x1.3604125a959c9c84p+1l
+0x1.ff98e02ebadc38fap+1l, 0x1.56138894e9ff2c98p+1l
+0x1.a7a7e109ad2db7c8p+0l, 0x1.1dc433005b95bbacp+3l
+0x1.cfd4ffb2a10926ccp+2l, 0x1.9c48a83996380e28p+1l
+0x1.0f69559b6fea33aap+3l, 0x1.8caecce89039c2dp+2l
+0x1.5a987f9ef7969b7ap+2l, 0x1.e4c7e72379509a92p+1l
+0x1.4db8c8337303fb2cp+2l, 0x1.667b107ea929e8b6p+2l
+0x1.70a63b647e5f1d88p+2l, 0x1.2d80f9bbddc651e2p+3l
+0x1.383ce567f99b2f74p+3l, 0x1.31793158fd2531fap+2l
+0x1.480c810d905b6b68p+2l, 0x1.f2efad16b1d0fc5ep+2l
+0x1.22aacee718f9770ep+2l, 0x1.a41a2b639661a9aep+2l
+0x1.dc8905db3ceb17b6p+2l, 0x1.0787eb7ff0380c18p+3l
+0x1.164c7da71d0e4a72p+3l, 0x1.45f8b960e4e16aa2p+2l
+0x1.8186e3eca9c8f8d4p+2l, 0x1.1039df3974eda46cp+3l
+0x1.0c3518badc8bd476p+1l, 0x1.9cc9199791ff592p-3l
+0x1.f822aa86b6f4ad52p+2l, 0x1.1ffe99f72cc79474p+3l
+0x1.2bdaadb11e81485ap+2l, 0x1.78d422f81c98c9b6p+2l
+0x1.1e54c79256e93dap+3l, 0x1.b856fed942be160ap+1l
+0x1.3e9a5c008ad2965cp+3l, 0x1.f9f0f9bef08b06b8p+2l
+0x1.09f7c98b264ab524p+2l, 0x1.117a73d055cb428p-6l
+0x1.91131b5532738b34p+2l, 0x1.f3e4127e724b0ffap+1l
+0x1.413759aadd7a0b1p+1l, 0x1.87d3d2a6fa50a2d2p+1l
+0x1.0af0e2d02e5db2f8p+0l, 0x1.34a1511f5bf994p+3l
+0x1.1ce5cc9a0d13b9c2p+3l, 0x1.bbb6815bea7ffbecp+2l
+0x1.520345688b547ed4p+0l, 0x1.3f32f97ea2001866p+3l
+0x1.19599e6c019479ccp+2l, 0x1.994b6b998eb7e40ap+2l
+0x1.1a82fa7d95066fdap+3l, 0x1.1ee23b4b2f392a32p+3l
+0x1.5e5dd4c8021b62b2p+2l, 0x1.3e3bb5a932548936p+2l
+0x1.4025ab3ddade61e8p+2l, 0x1.87908f00cb4506f6p+2l
+0x1.9f9383b61ec6ed6cp+2l, 0x1.49e66d401bc94ce2p+2l
+0x1.312a324c344a527cp-1l, 0x1.3a3a6c772f4c7e6cp+3l
+0x1.498306970902b498p-2l, 0x1.2e1bc74bdae7f1fcp+0l
+0x1.3a1fbc688026561p-1l, 0x1.0ec34489578aa3fcp+2l
+0x1.33fdadc2d8e921f2p+3l, 0x1.8201d7ec7791eaccp+0l
+0x1.05709c0b99f79ba4p+3l, 0x1.1bb5d3ed00a93c0ep+3l
+0x1.2433e50a31143fa6p+2l, 0x1.5d0a1cad4ae21aaep+1l
+0x1.260d101b4111b818p-1l, 0x1.0acaba5b187ce744p+2l
+0x1.80f05f320b6269a4p+2l, 0x1.2aa77192ac3b3b54p+3l
+0x1.53041ae155eb6064p+1l, 0x1.403a787c7df3fbbap+2l
+0x1.81566a999c1039p+1l, 0x1.251eb834b4ce0dc4p+1l
+0x1.428e415403ed0cbep+0l, 0x1.dad1faa25bedd55cp+2l
+0x1.f60de60df0acaefp+2l, 0x1.0ee0dd12be72cdbcp-1l
+0x1.2e462648c33eaf72p+3l, 0x1.711965aabe811ccp+1l
+0x1.2a5c3ab56bec4afcp+3l, 0x1.03657a1d13769dc4p+3l
+0x1.3f04904f222fdba8p+3l, 0x1.2f7059a0fa797584p+2l
+0x1.8e0beaaaca9432ep+2l, 0x1.54aa0d4dafd25decp+1l
+0x1.2543e03152861adp+3l, 0x1.26e9a4a72205a35p+1l
+0x1.bf70b036e60a6418p+2l, 0x1.5d0d2703bb87f3b8p+2l
+0x1.9749bf126c1944dcp+0l, 0x1.0c4c2c68d1859268p+3l
+0x1.29aa57f9c1ea1236p+3l, 0x1.64d63d269fa390bep+1l
+0x1.ea3071a7599d40e8p+1l, 0x1.3b8d2ca6361c0c38p+3l
+0x1.9d7840678cddd812p+1l, 0x1.c232f8553eadebcap+2l
+0x1.3113653b702a0aeap+3l, 0x1.2361480726987d5cp+3l
+0x1.4033ac709dd1a0e4p+2l, 0x1.bb2620aad7b66e54p+2l
+0x1.aa01790d73bb3142p+2l, 0x1.819714e47d0e446ap+2l
+0x1.36a571599ca4b35ep+0l, 0x1.76bace91026396eep+0l
+0x1.50c000d1478c6be6p+2l, 0x1.d8a125fb639621d2p+2l
+0x1.1c44ec96a94b44aap+2l, 0x1.8a4a4f83cc19ecdcp+2l
+0x1.918567dd406244dp+1l, 0x1.09fdfbf7bbd7d194p-1l
+0x1.2ec5f190be84bb78p+3l, 0x1.3fe5a5cccbc7f092p+2l
+0x1.3d3f1c69418a2b5ap+3l, 0x1.1be445bb0b817bbep+0l
+0x1.bde5c3f173dfd482p+2l, 0x1.0c3bfd34117660a8p+1l
+0x1.067ed433041dbba8p+1l, 0x1.cf21583199a27b22p+1l
+0x1.3d161c3c7767a73ep+3l, 0x1.5ee5b082c04c4304p+2l
+0x1.ada3eebdb862518ap+1l, 0x1.a29e4ca8cfac4efcp+1l
+0x1.159ce685ed9b366cp+0l, 0x1.ff4f301793eec3fep+0l
+0x1.a4774a578cf04a36p+2l, 0x1.2fa20bf7bc21be1ep+3l
+0x1.2bf882313e289cf2p+3l, 0x1.c263b11352f557c4p+0l
+0x1.38188404ebfb47f8p+3l, 0x1.4491c237038e1b2p+2l
+0x1.85e5d7cf6a43c0ap-3l, 0x1.235f9f49bc1dd612p+3l
+0x1.ce25db7a59afe5cap+0l, 0x1.6a0150d854d7e008p+1l
+0x1.0eb4638f2a6b59ccp+2l, 0x1.530ce67e19b950dap+0l
+0x1.36eba6dd3e6766dp+3l, 0x1.b40b9f412c6ddd54p+2l
+0x1.1357e01d1e5bba76p+2l, 0x1.e4491c525085c02p+1l
+0x1.d89b34ad5c57f2d6p+2l, 0x1.307d6cead655633p+3l
+0x1.1200dadd4711310cp+3l, 0x1.087e4fbea2ee0a06p+3l
+0x1.182b71640154e79p+2l, 0x1.7903e649920b47aep+0l
+0x1.42ed70be3b228dfp-1l, 0x1.d8b399f44939513ap+2l
+0x1.32cbf73017fe1fcp+1l, 0x1.2ecc6b5135e1755cp+2l
+0x1.8ba04323fa21f11cp+2l, 0x1.1558f7d85da37cd4p+3l
+0x1.0589e422c97e7a74p+1l, 0x1.673aaf0b50337a18p+1l
+0x1.8b021153b251ccc8p+2l, 0x1.5dd5dc4a0e288f8ep+2l
+0x1.a4edea59cedf2e8cp+1l, 0x1.3fd20adfe4df018p+3l
+0x1.d53bc067303a392p+2l, 0x1.2ee98fe8d91a5138p-1l
+0x1.0ba5d9a0df3a796p+3l, 0x1.37364b65c34370d2p+3l
+0x1.b1312f3e99b74cc4p+1l, 0x1.8d96a8352e6aecc2p+0l
+0x1.2f1d987754e615a8p+3l, 0x1.341146848dce9d64p+3l
+0x1.cbcb195beda0984ep+1l, 0x1.30824eb532516424p+3l
+0x1.3e217a69b1df7f52p+3l, 0x1.fad46688e2a5ccf2p+2l
+0x1.06b76b513eb3c078p+1l, 0x1.f9451aae5f83a4aep+2l
+0x1.c66ea9614d27f18p-5l, 0x1.3b538bccbc3b0d52p+3l
+0x1.ab746f057ba036f6p+2l, 0x1.737062e5361d1ca4p+1l
+0x1.d39336d8f2b4e6b8p-1l, 0x1.028b35001ba00978p+3l
+0x1.e6de6d77c74f540ep+2l, 0x1.2f140aa23530e782p+3l
+0x1.9adca21db7da1dcp+2l, 0x1.207a5b08c2002258p-1l
+0x1.332efd450ff21dbcp+1l, 0x1.8f37f77c323e1b74p+0l
+0x1.fd2e5191eb197aa4p+2l, 0x1.d93e208df3703f8p+1l
+0x1.a0ecdf0ff9698e58p+2l, 0x1.c37f0edb985f901p+2l
+0x1.8aafc5aadf39563p+0l, 0x1.a3253b8abfe24438p+1l
+0x1.89fefd293dde1414p+1l, 0x1.44b2a41f960f9cf4p+2l
+0x1.24932bca7b5e3d5cp+1l, 0x1.1cc92b76a11d8922p+2l
+0x1.b6ba514e4d1d83p-7l, 0x1.2fe9208398fe1882p+3l
+0x1.7e786b10e4c92c48p+1l, 0x1.80eec5038be8c3dcp+2l
+0x1.a96a19d9cd181284p+2l, 0x1.15c06c3efc73b954p+0l
+0x1.8d79c9c2761922fap+0l, 0x1.1c5f56f3e34971fp+3l
+0x1.31eec4fa9aefa50ep+3l, 0x1.71e3529fedad9c74p+2l
+0x1.14fe589d44e36f54p-1l, 0x1.1da31007d096e858p+3l
+0x1.1277d1f3066cbdaap+2l, 0x1.532c10e24d6f7b4p-2l
+0x1.8f8ba6089031346ep+2l, 0x1.b82b1b3f4d0a4472p+2l
+0x1.c6ad887f6e33d11ep+2l, 0x1.d6c3fdb1ea42bac2p+0l
+0x1.b3b02419ca8e88dp+0l, 0x1.40b430fb0f697cc2p+2l
+0x1.2cb1bb7fda6c4fc8p+2l, 0x1.656cd0f3cb0d2ac2p+2l
+0x1.68f4aee25ce13deep+1l, 0x1.de532940b63a2584p+1l
+0x1.e9e7f8c0de87f592p+2l, 0x1.1c5ea8216c56f7cp+2l
+0x1.33c36ac17e39bc9cp+2l, 0x1.d29550f9f5323dd8p+1l
+0x1.04d575f433278ae4p+3l, 0x1.8f45020b2ff5426p-1l
+0x1.0ceec44845ba1e9ap+3l, 0x1.22f784948e819bp+2l
+0x1.49b188751733ab7cp+2l, 0x1.250fa71f21a390b2p+3l
+0x1.babddecddba3e10ap+0l, 0x1.7cbdc3bff380ca38p+2l
+0x1.a1fd581ab54fbe06p+1l, 0x1.c4e33080dd4fb278p+2l
+0x1.8db76363d1bb991cp-1l, 0x1.16a5531dad4a9ae6p+3l
+0x1.de83fa19c7547618p+1l, 0x1.d722b74a63755942p+2l
+0x1.3bf3e138927d612cp+3l, 0x1.634517be39245eb4p+2l
+0x1.32cd928e2f20d65p+3l, 0x1.3fbde594c5689928p+2l
+0x1.012c745ada36fabcp+3l, 0x1.43a697d232f591c6p+2l
+0x1.14c1063e361947aap+3l, 0x1.a863d013f3330b38p+2l
+0x1.2e4912b1db4ad93cp+3l, 0x1.92d7fa4edb95c018p+1l
+0x1.0b66a9704b53cbdcp+2l, 0x1.792e8c0a5affda9ap+1l
+0x1.2375738c33bfbcd4p-1l, 0x1.c1ad8f49c1de337p+2l
+0x1.f71d321ea46ad1ep-3l, 0x1.98d4e08b1564f038p+1l
+0x1.78346d57fc9e03a4p+2l, 0x1.b7ab96cbad72387p+2l
+0x1.1c0881fb9f6d49fcp+2l, 0x1.79964ba21da01df4p+1l
+0x1.06bbbaf862f0c534p+0l, 0x1.05d42e6456a07848p+2l
+0x1.910cdd3582bbcbe8p+2l, 0x1.e9e6d35f5a46d318p-1l
+0x1.36884eff8729caap+3l, 0x1.51d8bc1512190fp+1l
+0x1.9094095eeebc8628p+1l, 0x1.4dc0d231e76c8ff4p-1l
+0x1.28ee82c7621d127cp+2l, 0x1.b6560dc9e217474ap+2l
+0x1.6bc02671cf456aa4p+2l, 0x1.21b8f3271d301f2ap+1l
+0x1.8ccae6c894497c5cp-1l, 0x1.2d4e4d47dc6b096p+3l
+0x1.cfa6f3274a764be6p+2l, 0x1.2bdd6bd0c5410348p+3l
+0x1.931b021d689f57b4p+1l, 0x1.7468c1d13b159472p+2l
+0x1.928802f4d80060ccp-1l, 0x1.9361289986bb425p-1l
+0x1.112769710fc180dp+1l, 0x1.3b30f92cdfbd070ap+3l
+0x1.3858343bc46f4c7ep+3l, 0x1.4e52ada5844b2264p+0l
+0x1.ff81ed83e5572478p-1l, 0x1.14ff0438350b4d84p+3l
+0x1.1c85c87a40cf929p+2l, 0x1.f5f15c7f41f658b8p+2l
+0x1.d061312fed632b86p+2l, 0x1.de2f4cab1e926ddap+1l
+0x1.457126a7c059351cp+0l, 0x1.112344db7808565p+1l
+0x1.1329668f901b26dap+3l, 0x1.a5be7681f10c8018p+2l
+0x1.ad77e5d05a9f37bcp+2l, 0x1.1f206b93b40bfb96p+1l
+0x1.5e71327a3e8d9b1p+2l, 0x1.49ff15f05818659ap+2l
+0x1.ff3fd00fe8fdd64p-5l, 0x1.9ab692a25cf49548p+2l
+0x1.81bea0c6ea598f84p+1l, 0x1.9941874540efe858p+1l
+0x1.ad24a9bfe64491cap+2l, 0x1.879d7c6eae34aad8p+1l
+0x1.2cc6347a04a2a62ap+3l, 0x1.a62900382c9a39dcp+2l
+0x1.cb777ad564f2b80cp+2l, 0x1.3dac6beb4d854768p+2l
+0x1.5ec3e917957decep-3l, 0x1.e79195b1156a7f8p-4l
+0x1.5d9fe5c181e57c54p+2l, 0x1.8e501b2bbcdb3b92p+0l
+0x1.91d981003fff8db8p+0l, 0x1.031a95dee2aa1da4p+3l
+0x1.e7b14e2b21dab6d4p-1l, 0x1.92e2067f396cae96p+0l
+0x1.0a7a5220d10abb8p+1l, 0x1.a16577268c1a975p+2l
+0x1.2b3366dcad18b98p+3l, 0x1.8d4536edaa0bd1b8p+2l
+0x1.cdcbff3f634226p-5l, 0x1.ceb48ab97d3662bcp+2l
+0x1.f2f4d22f07f4d7e6p+0l, 0x1.3a068537c537f64p-4l
+0x1.2594c944983029c2p+0l, 0x1.9a555b21c5150dap+0l
+0x1.987191502787bd74p-1l, 0x1.16a5657bd1308ec4p+2l
+0x1.0cab17f9ef212d7p+0l, 0x1.018e9eeca78fc3aap+3l
+0x1.0c09d4d250bf3b5p+3l, 0x1.03a3eec351f747d8p+0l
+0x1.0ed53211201f92a8p+3l, 0x1.477ae95e066991e4p+1l
+0x1.bd653eef2dc17fe4p+2l, 0x1.f53e2b685afd4594p-1l
+0x1.0d8629aeb9f86f94p+3l, 0x1.a0901462cbb53614p+2l
+0x1.d135582089caab4cp+2l, 0x1.2012c07aba3e0c7cp+3l
+0x1.43e0ceacf882ccd4p+1l, 0x1.9f57419ade31ee96p+0l
+0x1.1dc275a45a36ed7ap+3l, 0x1.639a393eb2b6acp-7l
+0x1.2cf9ea7855f45904p+1l, 0x1.4c65c5ad358e540cp+1l
+0x1.b6bc5fb7dbddc3ccp+2l, 0x1.2a1e3307f856990cp+3l
+0x1.45dfb9152745eb3p-2l, 0x1.299d02e9e7e16246p+3l
+0x1.19102e5835cc34fcp+2l, 0x1.3536af287c7f6fp+1l
+0x1.6dc95ef9b8931644p-1l, 0x1.cdc7120238247182p+1l
+0x1.4c325698360da784p+1l, 0x1.f852e7396a9bb52cp-1l
+0x1.5c6cf7b02f213c6p-4l, 0x1.f1501e0ee9a14c54p+1l
+0x1.6591ef09b8967accp+0l, 0x1.f750b5627ece4774p+1l
+0x1.b8d928d4247442b4p+2l, 0x1.fafc229f97bbc9fp-2l
+0x1.795382836a59ca4ap+2l, 0x1.b2efa861483e3346p+2l
+0x1.d6bc780ff4633584p+1l, 0x1.f88b0a2786e86028p+1l
+0x1.d675827910bad14cp+0l, 0x1.0cce0bb4430fdf66p+3l
+0x1.1fd7a47a962941b4p+2l, 0x1.d3e0c155e38ecd3ep+0l
+0x1.e18b3466348d1e58p-1l, 0x1.ea289be37c8355dp+1l
+0x1.1935cd443a3d589cp+1l, 0x1.09c1fa838c0550ccp+3l
+0x1.fd61242bc46b3068p+0l, 0x1.096ccec95382b4a4p+3l
+0x1.24c8b891ec3cd31p+3l, 0x1.b32096dcc156814p+2l
+0x1.18fa21799ad11bc8p+3l, 0x1.36e6260bd2a9255p+3l
+0x1.6cb963a16784990cp+2l, 0x1.07824e812de606ep+3l
+0x1.f87ff473cbbe6674p+2l, 0x1.62276aad925cd142p+1l
+0x1.d8964134178beaaap+2l, 0x1.3d52400387293876p+3l
+0x1.7f88002d64eb7d1ap+1l, 0x1.79598bda14c3e326p+2l
+0x1.2beff8233b467d8cp+3l, 0x1.79dd2d266f67f3d8p+2l
+0x1.a9716ca0f3d7cd12p+2l, 0x1.17fef956c9403966p+3l
+0x1.877d4f860c0fb144p+1l, 0x1.7f99f033f36706bcp+2l
+0x1.de2cf9d8ef26da7cp+1l, 0x1.0defdb2ffb949eeap+3l
+0x1.2b2dd217b11c04b8p+3l, 0x1.31f15cb0d2c7c7dp+1l
+0x1.1c4fdc8c59f25568p+3l, 0x1.9aefcf4975072b4p-4l
+0x1.dcc64c0f1607b4ecp-1l, 0x1.9516ea8c67f9a836p+1l
+0x1.c60a9df3c8a8a7p+1l, 0x1.e2393d3ef2a7eb5ep+1l
+0x1.67b649b855878e14p+2l, 0x1.17e18d3640f897c2p+3l
+0x1.1f37ae36523caa98p+3l, 0x1.2a3b7f1ebbdd0bacp+2l
+0x1.0f88fa86fcee2928p+2l, 0x1.9aaba2169e043ee2p+0l
+0x1.2d605f2d5af97354p+2l, 0x1.94df28d1cfb6ba92p+2l
+0x1.41d6e72f5531ece8p+1l, 0x1.4cca0adde91babf4p+2l
+0x1.311a10c17cde2638p-2l, 0x1.2a14d006b75afd1ep+2l
+0x1.61a6fa318c0f7d7ap+1l, 0x1.4f190f456c82603ep+1l
+0x1.8aef534fce51f72p+2l, 0x1.12587a281f0b73b8p+0l
+0x1.2bccb645455e3d7ap+2l, 0x1.2693fbb0e55303ecp+3l
+0x1.85759f7c23db0c46p+1l, 0x1.1b554fe57f447fcap+2l
+0x1.1fc4592bb1a740e8p-2l, 0x1.f1d87b51f1e5b6f6p+0l
+0x1.0164a15efcea5e5cp+1l, 0x1.8b26903af83866eap+1l
+0x1.2ba4bd121c6707fcp+1l, 0x1.88929a78f494040cp+0l
+0x1.2ffe61c5ec28eb14p+2l, 0x1.c3bc06ce6760c5e6p+2l
+0x1.8630793aec500b78p+2l, 0x1.dcb14dc333b36428p-2l
+0x1.08f6ab36f6d011f8p+1l, 0x1.efb6f6039d6ebd8p+2l
+0x1.defc14cfcab285c8p+2l, 0x1.fe134ddad06bfd98p+1l
+0x1.ab2c15792495566cp+2l, 0x1.018f6e1f7e6645ap+3l
+0x1.988863c4cd7f6838p+2l, 0x1.a6321f799b0d5d6ep+2l
+0x1.ccd0a7e5dcd7668ep+2l, 0x1.eea557ed4109a58p-4l
+0x1.2f8c6eeb5f2eddc8p+1l, 0x1.81c284b24dbe1206p+2l
+0x1.6926a709d13010c2p+2l, 0x1.3d18bce5725654d8p+2l
+0x1.5f753c0e76a7f4p+1l, 0x1.07f582cb5eead866p+3l
+0x1.d37fd7370b3a9564p+2l, 0x1.4b24291481e7d7d8p+1l
+0x1.af037b84cd2980cp-2l, 0x1.41b04a106744717ap+2l
+0x1.197bed270b9da944p+0l, 0x1.6ec8e9f4882d85a8p+2l
+0x1.6faa0bb23c6ce606p+2l, 0x1.9747ef1ec76615f4p+2l
+0x1.c5437bcc52fd0b34p+2l, 0x1.a0f26c8b3a64bd84p+1l
+0x1.6acf846848c69d5cp+2l, 0x1.de3bdf4e2e9bbaap-2l
+0x1.c438ef28759b9676p+2l, 0x1.646effd8f3cdfdacp-1l
+0x1.417815948b34d5ap+2l, 0x1.2182b0f2f74290cp+3l
+0x1.d5b052842c6e08bcp+1l, 0x1.c488633ff824ce18p+2l
+0x1.28df6d348145a09cp+3l, 0x1.bd3c0a154531653p+2l
+0x1.52860bd231672904p-1l, 0x1.1c3624e469b6d38ep+2l
+0x1.1dc1b70410135c8p+1l, 0x1.2acb8774bdb7fad4p+3l
+0x1.eb48dbe19e85d33cp+1l, 0x1.ae105edc08251758p+2l
+0x1.27188207689b38ecp+3l, 0x1.92e427bac013277ap+2l
+0x1.348a829ff7719f9p+2l, 0x1.e6127cf99add74e4p+2l
+0x1.1ee60f5d2019cfacp+1l, 0x1.d888381c757d5a8cp+2l
+0x1.2ab633ff1e1b8a1ep+3l, 0x1.43acfee2806c1494p+1l
+0x1.4d9cfe69c54de428p+2l, 0x1.096e56f5f3faa4e4p+3l
+0x1.2d9e2fb77838b84ap+3l, 0x1.bba54ef122da479cp+1l
+0x1.eb55c7c853211b74p+2l, 0x1.2c82386431bb45fep+2l
+0x1.69602224d90a6226p+1l, 0x1.1f0cc40d542db714p+1l
+0x1.017df2152fe49a02p+3l, 0x1.27abf43601c8fc9p+2l
+0x1.e838e26eb6642fecp+1l, 0x1.fda7bf21a25ac57p+1l
+0x1.0e97da7bf38d8e84p+1l, 0x1.0d014ece1c9e9e46p+3l
+0x1.771c664d6a9de1ap+0l, 0x1.6709f9de816a761cp-1l
+0x1.0caaea124531065ep+2l, 0x1.ece2f0d959ba0f24p+2l
+0x1.46cb2eaf7cd247fap+1l, 0x1.3234ea3d40e8ef2p+2l
+0x1.828e30118824ca12p+1l, 0x1.9848c67a6ddc28b4p+2l
+0x1.58cb094ec9fa58ep+2l, 0x1.32171c9b2f2118d6p+3l
+0x1.766110b99f67fa7cp+2l, 0x1.2316f1d6bb0353d6p+0l
+0x1.fa404371d83085dp+2l, 0x1.815623d9517baee2p+2l
+0x1.0e627cb4ddbbeb0ap+1l, 0x1.2bf5eb5207309764p+2l
+0x1.63bea12af98b7bd6p+2l, 0x1.f7ac0efcb3c7b3aep+2l
+0x1.815787621c4ca6bp+2l, 0x1.020b36d0d6bad1fp-2l
+0x1.a3b2b49f861424eap+0l, 0x1.6664d9ccfbab860ap+2l
+0x1.37354f8c57bfbd84p+3l, 0x1.22a88e3dfd71388ep+3l
+0x1.2fe243ff41da658cp+1l, 0x1.56146fc63e15dbdep+2l
+0x1.a9aa7c0f51facfa8p+2l, 0x1.040fb64fe619d7f2p+2l
+0x1.2536cc53b6e3fc3cp+0l, 0x1.3f0595d7185780d8p+3l
+0x1.0162ff9213fa5794p+2l, 0x1.a5b8c96fde26cd9p+2l
+0x1.9269ab13b5079504p+2l, 0x1.76898fe6992532e2p+0l
+0x1.934066db6f188a24p+2l, 0x1.3882a2c5a724e4e8p+3l
+0x1.290b2676f788998cp+2l, 0x1.3e7d1218833ceb74p+2l
+0x1.8585eae58ea25bb4p+2l, 0x1.07e4eff07f5dd834p+3l
+0x1.d565d25c50645724p+2l, 0x1.ef397f0f15411e78p+0l
+0x1.f5ee15d13fd49fbcp+2l, 0x1.eca58713d508b31cp+2l
+0x1.7ec03a5985ec9842p+2l, 0x1.113a582b81380778p+3l
+0x1.2784949bd226ef54p+1l, 0x1.d4203af714fa7814p+0l
+0x1.1f0c5bb123252fdep+2l, 0x1.e875e12df859496p+2l
+0x1.1f825095e7e5aa44p+2l, 0x1.281b4bd288d1fc9ep+3l
+0x1.a4cff19410549d48p+2l, 0x1.ac0cda2c31e7e108p+0l
+0x1.829725ecabe0e154p+2l, 0x1.9dc370e57f50ecbcp+1l
+0x1.c2a6ecaabc630fcep+0l, 0x1.103255fb408949b2p+1l
+0x1.460bad0e27d775fp-1l, 0x1.6084f38b61e1f72ap+2l
+0x1.658e275f8e5913cp-1l, 0x1.a3eee813e9f94ec8p+2l
+0x1.b76ccbd748d080a8p+2l, 0x1.aaa459cb0506725cp+1l
+0x1.1b336e5b8b3f210cp+2l, 0x1.3bb3820d2f95237p+3l
+0x1.0d5003db3a960c84p+3l, 0x1.cf7380fb3bb89ec8p+2l
+0x1.20bc6b5b9bc2f63cp+2l, 0x1.4bfacddecdc924bep+0l
+0x1.ee0d0270f418af22p+2l, 0x1.b417b9fab6a5da36p+2l
+0x1.85d219ff5851ba9p+2l, 0x1.0f2d7971b2b2489cp+3l
+0x1.14417e0ee95e233p+3l, 0x1.1423b3ee004e7298p+2l
+0x1.2579c122a57ce51ap+3l, 0x1.b9f809d36043887ap+1l
+0x1.139c9dce9be795e8p+3l, 0x1.1963a4537d34023p+3l
+0x1.c3047638cb812c3cp-1l, 0x1.c8c36ec1c0e92036p+0l
+0x1.c51c69f6a87aea74p+2l, 0x1.f849381dde80e27p-1l
+0x1.1d1309190769975ep+2l, 0x1.adae416902247804p-1l
+0x1.0901bc324f5adfbap+3l, 0x1.2e9bfb741a3008dcp+3l
+0x1.3123dea94f186f3cp+3l, 0x1.507d5037cda4519p-3l
+0x1.69d994ba76b7e258p+2l, 0x1.90b049d2af9172f8p+1l
+0x1.2cf7d8889cec4cp+3l, 0x1.6be5cfa27daf00aep+0l
+0x1.43965e38344b10a8p+1l, 0x1.3801d3f135676634p+2l
+0x1.5b63879cc8d6b1cap+2l, 0x1.00c61462c517515p+2l
+0x1.86df319688ef148p+2l, 0x1.ab117e1a889460bcp+2l
+0x1.2c826d05fe82204ep+2l, 0x1.6adf8a364ef798ecp+1l
+0x1.3a2a1450ba664b68p+3l, 0x1.535949afdccbeffcp+1l
+0x1.11878c30598ad1b8p+3l, 0x1.253b8308eaebe536p+3l
+0x1.3a06fa3137c223p+2l, 0x1.15809a855aad1432p+3l
+0x1.2350e905b2c5629ep+0l, 0x1.e0b12056872493ecp+1l
+0x1.0eca08ad30c7c78p+3l, 0x1.4587504e61a8322p+2l
+0x1.e77ed86eb02e5e78p+2l, 0x1.a2642bd1a39443dep+0l
+0x1.e42edb92f989509ap+2l, 0x1.365334a6e2a5887cp+3l
+0x1.bb2d10738bad9604p-1l, 0x1.04d5325026fc5626p+3l
+0x1.3a6deb3906e1a7e4p+1l, 0x1.1ae48a6488270674p+3l
+0x1.4ae7d32dd99cd5cp+2l, 0x1.1a293e2c7ad288acp+3l
+0x1.492a997cd3b23ebap+1l, 0x1.fc372a05597770aap+1l
+0x1.11a533a8b520523p+1l, 0x1.252684ecea8c3f4p-4l
+0x1.5a486b370d70b1dp-1l, 0x1.894f24aa1f7c4d46p+2l
+0x1.146d631fd0db98a6p+0l, 0x1.09975a2bbef5141cp+3l
+0x1.864c29b1a30f90cp+2l, 0x1.e694b789091b3fb6p+1l
+0x1.b6517124e9d21ca6p+2l, 0x1.1fa230f6fecb043p+3l
+0x1.dcf173398d7e4b9p+2l, 0x1.d558662fd88a366p+1l
+0x1.97d95cc771cfee88p+1l, 0x1.3516c40e2416d69ap+2l
+0x1.3262c817be2f0d4p+1l, 0x1.e10d2058941a3c52p+0l
+0x1.4a4bb5f89269afa2p+2l, 0x1.9463fae7009d14f4p+0l
+0x1.9ca63c24a502f9fap+1l, 0x1.4b2373f0818e0f5cp+2l
+0x1.3391abb33dff12dp+1l, 0x1.2abc871939c57fdp-1l
+0x1.71853115fa22a898p+2l, 0x1.7035cbdb910c18f8p+2l
+0x1.4d1db57a387f7efp+1l, 0x1.192ed0f91aaf0158p+3l
+0x1.2fe6fd209e8d55dep+3l, 0x1.8f7849105566f4eep+2l
+0x1.34fe83e441aab2bp+2l, 0x1.e55e7c8d3edf039cp+2l
+0x1.739e1ed92c5609ep+2l, 0x1.a4d6ccb8a381f498p-1l
+0x1.3b0e5af929d9870ep+2l, 0x1.c4441565b4a0c65ap+1l
+0x1.759484f7a23689acp-1l, 0x1.6074e94c371011fp-2l
+0x1.1c2639c1a9fbee6p+3l, 0x1.7461dcd82d9c2eap+2l
+0x1.d219aa277801ee98p+2l, 0x1.b697c5f1c70489ccp+1l
+0x1.de14d7359ccf7506p+2l, 0x1.9d58554e21e4011cp+1l
+0x1.2c196c3591bde826p+0l, 0x1.5074e4d3e3624b1cp+2l
+0x1.d5737b2cd71cbcf8p+0l, 0x1.395046a71294777ap+3l
+0x1.9f699afd8891945ep+2l, 0x1.d4472419471409acp+2l
+0x1.6b4a6c36ea944c44p-1l, 0x1.ab38e9b78e832444p+2l
+0x1.bd9caed6508f01a2p+1l, 0x1.22838e87b520177ep+3l
+0x1.584e0425a5d6a4b8p+1l, 0x1.7321d7fa98c8e37p-1l
+0x1.d3ab2c446dffd83p+2l, 0x1.e0f12fb026847f68p-1l
+0x1.2c46cca34a3df234p+3l, 0x1.d010d8d10e453f8ep+2l
+0x1.e5bcc6b068cb30b2p+0l, 0x1.9f9e2c48c34137f6p+0l
+0x1.1a48e80f7d001bdcp+3l, 0x1.8c90f1c9e91a566p+2l
+0x1.b4a5f35d24b5838ep+2l, 0x1.ef911f1ec8430874p+2l
+0x1.6e80f3d9a9d0aff4p+2l, 0x1.940497241165146ep+2l
+0x1.2de701363f94f3bp+2l, 0x1.3c984ea392a5c73ap+3l
+0x1.2da4b6dc49cc7462p+3l, 0x1.9d1aaa9d219601p-4l
+0x1.3a7db871d579b3e4p+3l, 0x1.6b1d37cb8a10cb12p+1l
+0x1.51617cd74a0835a8p+1l, 0x1.56dbcc51309877b4p-1l
+0x1.83e38aaf6043aa8ap+2l, 0x1.103b0ee418526p-2l
+0x1.75468613beaaa3bap+1l, 0x1.23f20a9fbeeee90cp+2l
+0x1.00cfc58fcc7f7c4p+3l, 0x1.095a9d94a9d5e96p+3l
+0x1.ae758aebd0506808p-2l, 0x1.e9f7b7ece2b24aa8p+1l
+0x1.208f5922f9474e76p+2l, 0x1.cc45b914c0beb46ap+2l
+0x1.2bb4a08ec5778358p+1l, 0x1.761bd925279d212p+1l
+0x1.a0f673717867015p+1l, 0x1.07e99ded924eab6cp+3l
+0x1.2a4ff44084eb7308p+2l, 0x1.49048cf19da3be88p+1l
+0x1.a07fea908a0494aep+1l, 0x1.94944994cb2c67fep+2l
+0x1.7223fed3916a1bap+2l, 0x1.ff15edc2621709fcp-1l
+0x1.6d69487b38d8d514p-1l, 0x1.c003d54f4ba06dccp+1l
+0x1.4172b795f0291cf2p+2l, 0x1.be7290b562201708p+2l
+0x1.2ac6455991512aaap+3l, 0x1.f8aec2f830fa4624p+1l
+0x1.4b4708e34cb0f718p-1l, 0x1.2a1e94a72c694e12p+3l
+0x1.8e067d5389096382p+2l, 0x1.38a6df6b0c4fd58p-3l
+0x1.3d7d5b77ac9ad76ep+2l, 0x1.e261f229b4bb532p+1l
+0x1.4b537935b966a7a8p+2l, 0x1.e76d7cf625e459ap+2l
+0x1.33a3e204acfd313p+2l, 0x1.31196c91d2242288p+2l
+0x1.4e0c1daff7c9539ap+1l, 0x1.70cea5acd87288c6p+2l
+0x1.3f6fa1f8473b13a6p+3l, 0x1.257744c0b4f0f062p+1l
+0x1.182b9c7cf86b14dep+3l, 0x1.a112be5729a44072p+0l
+0x1.16105b452ccdece8p+3l, 0x1.08a7b36b91c979f8p+2l
+0x1.1891eca4db648ffap+2l, 0x1.937105a180eaab64p+0l
+0x1.121176df4235d234p+3l, 0x1.d09391557d113b5ap+2l
+0x1.7f46486efed66494p+2l, 0x1.766dc04538d87aacp+1l
+0x1.53c595cadbd73d62p+2l, 0x1.60d3e1d98e593fbp-1l
+0x1.18f410dac8cd4274p-1l, 0x1.289b7a8c83c2afd4p+0l
+0x1.8a6dbd04ce263954p+1l, 0x1.1f38c78b39192d14p+3l
+0x1.61cb0239998f3858p+0l, 0x1.3c700ebfe4c77f3cp+3l
+0x1.aa600363f372f1aap+2l, 0x1.c7726d7d834b69bap+2l
+0x1.851e08247439ee3cp+1l, 0x1.e746a0a83f8ed4a4p+1l
+0x1.2e0cd31d218c70d6p+2l, 0x1.0938b1905d628f4ap+0l
+0x1.122bb1cfe6fe5b04p+2l, 0x1.0e9f8cf1376a4cbep+2l
+0x1.048173f3fb289c38p+2l, 0x1.085904e1dcc24934p+2l
+0x1.3b96f7379b439b9cp+2l, 0x1.14fea23f1e14d346p+3l
+0x1.282bd0a04e1dd0a6p+3l, 0x1.d65894471a3698acp+1l
+0x1.70a9d50555ee8678p+2l, 0x1.890bfe0e027a2b48p+1l
+0x1.0687d9c4f89f7d3ep+3l, 0x1.a098b1b1ff3aa12cp+0l
+0x1.5acfa0adabf25e1p+1l, 0x1.18695bb55463c676p+3l
+0x1.7be135c05d8e9d68p+2l, 0x1.f8cc9b2d76af65b2p+2l
+0x1.23111b1ec075f494p+2l, 0x1.2f235b1f7d52b36cp+3l
+0x1.1f2dd48ff543de16p+3l, 0x1.fa7da0cd6409719ap+2l
+0x1.4c98f147ef297432p+2l, 0x1.d37679265aa05362p+2l
+0x1.c0bb008843ff448ep+2l, 0x1.66adbc9ba3596358p+2l
+0x1.51e494dc870cf438p-2l, 0x1.b98d4e045ce27p+2l
+0x1.23ebc22cee32b0dap+3l, 0x1.3240b663eb49aafp+1l
+0x1.8c23520e9dd57d04p+1l, 0x1.aec40cb13be1a862p+0l
+0x1.8a2a02bbc5f290b6p+1l, 0x1.73ad48ceb21839a4p+2l
+0x1.2f00f91f818af04ep+3l, 0x1.cf3dc88f23b9aaeep+2l
+0x1.1074dddddb061742p+3l, 0x1.3d055876a191130cp+0l
+0x1.28451cd2b4b5babep+0l, 0x1.37790c008df68e4p+2l
+0x1.b803eddd2fde543ap+2l, 0x1.962de7f3c51201b6p+2l
+0x1.e6bebc24e2bc9728p+2l, 0x1.1430dce00ab7859ep+2l
+0x1.adc8aff767571e5cp+2l, 0x1.92ef07a6b97ffd62p+2l
+0x1.825bf2da4167e182p+2l, 0x1.0a6fe75ec9bf5ebcp+1l
+0x1.817d4fe89e4a367ep+2l, 0x1.2624827eecea955p+2l
+0x1.ffdd8d90d9345fep+2l, 0x1.8f7126ebae046b9p+1l
+0x1.1df30c47904489d8p+1l, 0x1.15c898a612329c1ap+1l
+0x1.41bb74bc089016ep+2l, 0x1.21b2e259cc208428p+0l
+0x1.5c445496c54362acp+1l, 0x1.4285e536d6b2b3ep+2l
+0x1.d953dd79b5a62198p+2l, 0x1.d71f330f351d05b2p+2l
+0x1.537d2930fe2382b8p+2l, 0x1.3a8b62ccc05757eap+0l
+0x1.1168899c01ea6a8cp+2l, 0x1.1076eb3c3bbdba58p+3l
+0x1.01becc919dbd1abep+3l, 0x1.00716cf68eac9154p+1l
+0x1.d58bd78b59cf66aap+0l, 0x1.07ab50877ee5ff88p-1l
+0x1.220549147d3ce2d8p+2l, 0x1.04682ac87b2ee8dap+3l
+0x1.2bc797ff7ec1a472p+3l, 0x1.0efac2aebefb068p+3l
+0x1.40cb0da2da3f6bep-4l, 0x1.38a472bf337c1cb8p+3l
+0x1.05254f57c1b6d39p+2l, 0x1.173f94d4bf787f3ap+2l
+0x1.1053b3931d6f8e16p+0l, 0x1.2904baac1e460146p+1l
+0x1.e82ed27295aa6f2p-2l, 0x1.748166b279006034p+2l
+0x1.9683c5e7815b1648p+2l, 0x1.25749b76ade454a4p+3l
+0x1.0d35ee3ab5ff9868p+3l, 0x1.97f8ebf001e281e8p+2l
+0x1.9e69eee3a71344a2p+1l, 0x1.3bfdd7da1e215afcp+3l
+0x1.23f35e4bec5d0748p+3l, 0x1.8d86ade9c3814164p+2l
+0x1.2b7e6efacfc89728p+3l, 0x1.efafaef9ad4254e4p+2l
+0x1.0fd1f45fa20b6bf4p+2l, 0x1.3211b9eeb215b5fep+3l
+0x1.2a4e6090fcafebcp+3l, 0x1.d746f2633377095p+1l
+0x1.d1f784b360bfdc68p+2l, 0x1.fb0a201e8f7096bp+0l
+0x1.200336a47c1169d4p+3l, 0x1.f5e096cb03290fc4p+2l
+0x1.78c906d7057a3f2p-4l, 0x1.96b64ebf9c19893p+2l
+0x1.7d2fe4ff6698cf8p-3l, 0x1.2af6b5d162df7dc8p+2l
+0x1.dbf5fa70cf554b9cp-1l, 0x1.0c759a6302922f4p+2l
+0x1.8231323affa7451p+2l, 0x1.be9217f9ba156dp+1l
+0x1.c9ab66ded5b68b04p+0l, 0x1.539d36b8de339134p+1l
+0x1.0d33d084f069d3acp+3l, 0x1.4b093c8626a16414p+2l
+0x1.4035b684e3d40a78p+2l, 0x1.b9900a3854271f64p-1l
+0x1.23dc9308cdaca86ep+3l, 0x1.a120d3129794fa06p+2l
+0x1.841f0455b802c758p+2l, 0x1.0699d38ad39ea42p+1l
+0x1.ddb3cce320224098p+1l, 0x1.3280790396447594p+3l
+0x1.4d9874c263b573ap-3l, 0x1.0d751cf3fcedd0d4p+1l
+0x1.8dd9f6dd0941528p+0l, 0x1.dc3b8380964cd4dap+0l
+0x1.4bd8588476e2d5bp+1l, 0x1.fe098b189d2b6c1p+1l
+0x1.864b08a8d0f3f51cp-1l, 0x1.b9b4ecfa5dc56c0ap+2l
+0x1.8a01c8f6a0b761f4p+2l, 0x1.057be9bd8d3dae62p+3l
+0x1.b37702f072b34fe8p+0l, 0x1.d2c06a6bb52f9c0ap+0l
+0x1.3d1b494b20c6a462p+3l, 0x1.6cfad720d0789d4p-2l
+0x1.c9036ad0e58ce544p+2l, 0x1.1b94a83d6f915d34p+2l
+0x1.5af7292067e3a644p+1l, 0x1.f1b160ec9e4c91fap+0l
+0x1.8cd18922bd016636p+2l, 0x1.4c295fe0075a9c24p+1l
+0x1.34a5ff8c694e9b1cp+3l, 0x1.ad2b2c4f379eb70ep+2l
+0x1.1c2d1c567a07a558p-1l, 0x1.d178788ac77086d2p+2l
+0x1.092070ffab89a818p+2l, 0x1.cd50ef7954b01864p+1l
+0x1.0140ab35e8db7b18p+2l, 0x1.6763f7b769bc6074p+2l
+0x1.ecc67ce2b11e44p+0l, 0x1.721abf1d9986822ap+2l
+0x1.537d0853809c2b8p-6l, 0x1.2e57b495a61e7a78p+2l
+0x1.b248f145d8f133cp+1l, 0x1.9b02bdd33f3a73f6p+0l
+0x1.cdfd603935dc39c8p+2l, 0x1.ce2819c5d17caadcp+2l
+0x1.83ce77467e4635dp+1l, 0x1.7e8a0c2b83282106p+0l
+0x1.f6af1eed6c577cd8p+1l, 0x1.0022411e3e83d9ccp+1l
+0x1.2efbc8b0879b40e6p+3l, 0x1.0935ee74ee2c2996p+3l
+0x1.985d517ca3535ba8p+1l, 0x1.0188081d9deaff78p+2l
+0x1.09d159567ed8743cp+3l, 0x1.7e87659c008a7caep+2l
+0x1.b8e9a3e99c744122p+2l, 0x1.2ffbc9fa2a3883acp+1l
+0x1.fca495160b68a7p-7l, 0x1.2b52304480a4e74cp+1l
+0x1.44119849ac94e8c8p+2l, 0x1.f452d404849b6594p+2l
+0x1.fbf368aeb9b44042p+2l, 0x1.f2824b7ca53de464p+2l
+0x1.506dbf2e0cfcf022p+1l, 0x1.627cd0b537870012p+1l
+0x1.675a217a920db164p+2l, 0x1.099f740e3d313098p+2l
+0x1.f461a2101c19d466p+2l, 0x1.46dd48de0823c3f6p+1l
+0x1.12554b35928a5434p+2l, 0x1.a2b828ddf4eadd58p+1l
+0x1.8e58292fe7c32ae4p+0l, 0x1.6f7398aff514908cp+2l
+0x1.a2c3793e11e887d4p+2l, 0x1.4d85cd87a375a4d2p+1l
+0x1.07108156249d5d3cp+0l, 0x1.38d79ed9b45f15b6p+1l
+0x1.5d112b4c23182f4p+2l, 0x1.fcad4a6aaea0a90ep+2l
+0x1.0ad9939d108d480ep+0l, 0x1.3643daf8c1148a2ep+0l
+0x1.78600b39079adf2p+1l, 0x1.da06ee242dbbafa4p-1l
+0x1.3de15cbd92880964p+2l, 0x1.03024e5e8a67a2a4p+1l
+0x1.d77bcbe94d6a5f7ap+2l, 0x1.96f542c2bd69f6fep+2l
+0x1.7db4bb559d43438ap+2l, 0x1.6ee58d29d4b6d4e4p+2l
+0x1.ef4ea923a6dd2f52p+2l, 0x1.457101bfb1b9c7bcp+2l
+0x1.2eebaaa868accce6p+0l, 0x1.267b204a1cf120e4p+3l
+0x1.7d67b0b5b0c53c5p+1l, 0x1.9c3eab99150321ep+2l
+0x1.47b6603b6ecc36b8p+2l, 0x1.38cd9c410de2f6c2p+3l
+0x1.eb8d9b93f3757c08p+2l, 0x1.ee0f7484c23d93e2p+2l
+0x1.b660bc1e867fcf64p+1l, 0x1.47bb8df5c7756652p+0l
+0x1.94d481f6e2d5c578p+2l, 0x1.1da8207f3eb7eea4p+3l
+0x1.b4e048f164df27bp+2l, 0x1.0801eda8453797d4p+3l
+0x1.2f9a7543ac568aap+3l, 0x1.f7d8959fa33dcc9cp+2l
+0x1.2a4e713a443a546ep+2l, 0x1.9e3cfe0f93298f7ep+1l
+0x1.3447c21ce00d8b66p+3l, 0x1.123d5f7aeed6406ep+3l
+0x1.d86e083927454ae8p+1l, 0x1.d3ff307123ebda68p+2l
+0x1.4ea10e9cfb517434p+1l, 0x1.6f4ddc6bad972c5ep+2l
+0x1.bc0a3e4da07a9df8p+1l, 0x1.0b99589dfa20fbdp+2l
+0x1.069835f241dd397p+3l, 0x1.e6b27a314a959e9p+2l
+0x1.5529a7df65498254p+2l, 0x1.a51b9f8107ccf198p+1l
+0x1.26e093318b318ccp+3l, 0x1.eb2b5d9cda4a5c3ap+0l
+0x1.27a1d8d2ff53e268p+2l, 0x1.cca6ec76c9c31568p+1l
+0x1.196aa7e2226d5a64p+2l, 0x1.c46b1c2a627b75acp+2l
+0x1.71d7dcbda93ce158p+0l, 0x1.1160355ad15c899p+2l
+0x1.633e937be2aa8ba8p+2l, 0x1.529abcf6978b955ap+2l
+0x1.5d3cc0bb89ae687p-3l, 0x1.3ffc00651374451ap+2l
+0x1.7e16892e86e29e38p+2l, 0x1.eebdbcaea4c54a76p+2l
+0x1.1d35a3196a1bfd46p+3l, 0x1.1db1aeb290cf7e36p+2l
+0x1.6f5653d58dcd9188p+1l, 0x1.19ce1cb2c8e666ep+3l
+0x1.1db13266a28af42p+3l, 0x1.a2f0613772d842c4p+2l
+0x1.0acf0db395fd0c9p+3l, 0x1.df8e8fa51177b03p+1l
+0x1.ee83f0b04c344d94p+1l, 0x1.8973b5a92c9c7166p+2l
+0x1.f2a5ba3a1556382cp+2l, 0x1.1af5cf6ed487600cp+1l
+0x1.1dbda57994114cb8p-1l, 0x1.355513cf97866702p+1l
+0x1.2fd0aa2d0411782p+3l, 0x1.4000485aaaca4c5p-3l
+0x1.3e002b16806dc264p+2l, 0x1.dbc4fe0a2a6852e4p+1l
+0x1.8b84f3e2c70e12bcp+0l, 0x1.05ae5c85ddb31aa2p+3l
+0x1.97f3032a588503f4p+2l, 0x1.3e4811ef218c26cap+3l
+0x1.91f57b843945067p+0l, 0x1.1b0711075a12194ep+1l
+0x1.9ab47bee2fdeb284p-1l, 0x1.5f56968105255156p+2l
+0x1.a61300af2a7d6ddp+2l, 0x1.c1e8c3fb62fe0e3ep+0l
+0x1.3c8d7e6eaedccecp-4l, 0x1.7173bc9a7da2fc58p+2l
+0x1.1ef9d3affe74f31p+3l, 0x1.3463203f619a5edap+3l
+0x1.98f93ca4f5af34bcp+2l, 0x1.cac847ce0f947e88p+2l
+0x1.b499442ef4f6289p+2l, 0x1.7f043727c0e3aed4p+1l
+0x1.c7d09131d00a30a2p+1l, 0x1.ef652813b2c3254cp+1l
+0x1.fd0d67cd0e69d704p+2l, 0x1.ed3a35a451aa4028p+2l
+0x1.685734a70f962c68p+1l, 0x1.4cc5ddcf01dbaa46p+2l
+0x1.cddf679b8261e8ep-2l, 0x1.6b9ab1d7b16a6f3p+1l
+0x1.217b75b5627c8106p+3l, 0x1.2f4e9b7ab746cd52p+3l
+0x1.55a08dafe028fc9cp+2l, 0x1.150a4f8877fc5b08p+3l
+0x1.823c9b84c96753c8p-1l, 0x1.2477412e07b711b4p+2l
+0x1.3463ab4e9e5bf1cap+2l, 0x1.631b9f7050c546ecp+2l
+0x1.22758ffbf32740ecp+2l, 0x1.269372b7417a146ep+0l
+0x1.7991b009eee0317ap+1l, 0x1.3db6ff8ed5e4ae7p+3l
+0x1.727ec126e192659cp+1l, 0x1.71b17a440418d954p-1l
+0x1.441277b3a7ad49cap+1l, 0x1.3147d2ed62cdee78p+3l
+0x1.1b6b31b1156c55fcp+2l, 0x1.b9e8a2fd265f74e4p-1l
+0x1.968af98c7824cd38p+2l, 0x1.14a5b3c17c9dc8d4p+3l
+0x1.06e8a57c3e593d1ap+3l, 0x1.0e1ce9e9db12c458p+1l
+0x1.86bdc5badb3ba4bap+2l, 0x1.6a5c50a0947d6e3ap+1l
+0x1.212e23331aae64f2p+2l, 0x1.8fb5a178d17bfb06p+2l
+0x1.eba8b2ef3cf610fcp+1l, 0x1.e2c0d442e7c6b47cp+2l
+0x1.32e6f9d3736632cp+3l, 0x1.06fa5a0a0221184p+2l
+0x1.73b8cbe55be693c4p+2l, 0x1.02015956ca3482dep+1l
+0x1.830061589e95edf4p-1l, 0x1.a5bdc9e9f1dc4e52p+0l
+0x1.576eafd149fe0d6cp+2l, 0x1.b360b6cce3b4a24cp+2l
+0x1.e8f85194a9fb91b2p+2l, 0x1.d7e2b9471890e1ccp+2l
+0x1.02c8e02f76dab4f2p+2l, 0x1.4683024294ff10cp+2l
+0x1.5b9d0e7d0883c1acp+2l, 0x1.3c9b069ed674c58p-1l
+0x1.cbca400370f6aebp+1l, 0x1.0987642d87bcdb1cp+3l
+0x1.0d5171bc3f3e818ap+3l, 0x1.b61ea5387968a3e4p-1l
+0x1.3ef8535df3140774p+3l, 0x1.95f22743612d2dc8p-2l
+0x1.fb47493fa3586b2ep+2l, 0x1.18cc15ac808bab2ap+3l
+0x1.415adc341c15470cp+2l, 0x1.13020b63fb6b5abp+3l
+0x1.2949b00b855a31dcp+3l, 0x1.be24d1ff9fc6e3dap+2l
+0x1.5d1fb468b60ee138p+1l, 0x1.f8462d7906acc1b8p-1l
+0x1.a78a381bd3e4fd4ap+2l, 0x1.e62da1d661cac2dp+2l
+0x1.c0b0a112b5186b1ep+2l, 0x1.2f2f58eb9d0c498ap+2l
+0x1.dc26e8401edeaa88p+2l, 0x1.13fdafbaa199b2e4p+3l
+0x1.29ccaf8d06ecc40ep+3l, 0x1.2938ff8b47453e36p+3l
+0x1.5ad8f824afa42a84p+2l, 0x1.27f0c571c6a0327p+0l
+0x1.19139953e2191bbep+3l, 0x1.3123f8fb3e3bc00ap+2l
+0x1.8f46ebf4bdccdfa6p+0l, 0x1.7474a2b957df6908p+2l
+0x1.32361a1ac8c491c8p+3l, 0x1.aa42a05b11587b44p+2l
+0x1.5a0cdb2506899a2ep+2l, 0x1.8248275d030249b4p+2l
+0x1.09f9865b63e0e89ap+3l, 0x1.1747d82a8bec8cacp+1l
+0x1.fd973987a58b2d44p+1l, 0x1.5816e29d23095288p+2l
+0x1.1802a68dc9285248p+1l, 0x1.8fa8673046969a4cp+2l
+0x1.6a25b67af18ca9d4p+0l, 0x1.1edff3a14b189e3p+3l
+0x1.a32b8f241a742a02p+2l, 0x1.d87f28ce9a394f7cp+1l
+0x1.0fb4e5f33fbb88d2p+3l, 0x1.b1f078f6bc7c0f92p+2l
+0x1.d82067d8e06964bep+2l, 0x1.141528be642626c2p+3l
+0x1.406c929a2d4b507p+1l, 0x1.b910e88cca4190ccp+1l
+0x1.40e961a3cf627d04p+2l, 0x1.2af9e05ca93e474ap+3l
+0x1.9f673411e79a268ap+2l, 0x1.094c9a62ad84bd6cp+3l
+0x1.023d033eca550caap+2l, 0x1.58b2288245e92c88p+1l
+0x1.9eb63c0dc1bff5f8p+1l, 0x1.9a7fb2830710736cp+2l
+0x1.6c99c4fe19fa89fep+2l, 0x1.f34eabe791517956p+2l
+0x1.010e040e53b83ecp-1l, 0x1.0e53f5de2b229f4p+3l
+0x1.2b86bca16ff8b672p+3l, 0x1.f3a21b22f77dd968p+0l
+0x1.ee5d0c93fc511a64p-1l, 0x1.179ad7655565332ep+3l
+0x1.05a8c972690725e2p+3l, 0x1.5302af8e2d136618p+2l
+0x1.505638b9ed31c83p+2l, 0x1.cc82c2a6f7500212p+2l
+0x1.82ebec46c58d219cp+1l, 0x1.66c0c13d7c7dd938p+2l
+0x1.12373bad5970f58p+1l, 0x1.c599730760935e28p-2l
+0x1.27bd19724e194e2ep+3l, 0x1.9748023df9680cc6p+0l
+0x1.ccf7fbecef898e26p+0l, 0x1.b00eaea099df280ep+2l
+0x1.1ecf8ed8909ffea4p+3l, 0x1.3da568f53f0a34e4p+2l
+0x1.5c39ac57d127f83cp+2l, 0x1.a8d2832e67c1410ap+2l
+0x1.8d8b81ef767f3224p-1l, 0x1.28ab9882a1b14a4ap+1l
+0x1.169f0f8e1a3e8d6cp+2l, 0x1.e1abbb1ced33dd8ep+2l
+0x1.327b54592e48cf9p+1l, 0x1.023ad46ad365ac5ap+3l
+0x1.211edf016e9130fep+3l, 0x1.2f8ea90e318e7dfcp+2l
+0x1.20bfdeb0b726f548p-2l, 0x1.f2e36d2d3e572c92p+2l
+0x1.b44cf3aef6bae688p+2l, 0x1.0bfaa89bede6264p+2l
+0x1.40fa1b6b98efd9e4p-1l, 0x1.3a33eaa038e2784p-4l
+0x1.e449a6e26330635ap+1l, 0x1.69d24e80e1f5d3dep+1l
+0x1.67dcbc59e4bdfdfcp+2l, 0x1.5977d9d9a64f166ep+0l
+0x1.74c9d0fbc0e545a8p+2l, 0x1.9260e05fa71bc89p-1l
+0x1.0a10e26d915e41e4p+2l, 0x1.8820fe75de74d27p+2l
+0x1.10ad582ad5540332p+0l, 0x1.dba578e87f979c7ep+2l
+0x1.6d6dd7642881ce92p+2l, 0x1.c00d02ef8658a88p-1l
+0x1.32ef74139ab0689ap+3l, 0x1.42f4d490f3eb4268p+0l
+0x1.5351f1700666e04ep+2l, 0x1.07f3fdaaea09d23p+2l
+0x1.dd93d3428c44ee6cp+0l, 0x1.221f8c8c8c5a68e8p+2l
+0x1.24007d9b939aabdp+3l, 0x1.eb94376c45a23bf4p+1l
+0x1.a4086b9c7fdd218p+1l, 0x1.16accd6f19ffb55ap+2l
+0x1.13191edbf4f76682p+2l, 0x1.311e39e460d4470ep+3l
+0x1.0dbc9d192f3ccffcp+3l, 0x1.238b8d44b7c7e122p+3l
+0x1.0cdb26a96b5d85c4p+3l, 0x1.45a499003705e1e2p+2l
+0x1.354d6c456925634cp+3l, 0x1.b17e66bf2561b882p+1l
+0x1.9624f94d5a19e0dp-1l, 0x1.291a7aa222a15968p+1l
+0x1.c954d65785d23d7cp+2l, 0x1.86c37e4570ba35ep+0l
+0x1.2539edbea056cfcep+3l, 0x1.125879a34b841fcap+3l
+0x1.8120db9e39f9a014p+0l, 0x1.5df9520cfc46eaf2p+0l
+0x1.621bd49a93b29914p+0l, 0x1.e111ea28bae98b58p+2l
+0x1.1ad10ce615ccedep+2l, 0x1.08cf6956c2819272p+2l
+0x1.d882dbd98ea17b06p+0l, 0x1.d1c8ab5f7149b83p+1l
+0x1.1762320cf9a8ee0ep+3l, 0x1.14c3666edb60c0dcp+0l
+0x1.0d96949f2cbf86c6p+3l, 0x1.69e858890d152ebep+2l
+0x1.0e0e42d05b0a47bep+3l, 0x1.044574087c7cea8ap+2l
+0x1.26211570a606e1cp+3l, 0x1.0ac1f2e895bde422p+3l
+0x1.07a911e44ecca7a6p+2l, 0x1.56467866100c617ep+2l
+0x1.a8a7f7504c5a63cap+1l, 0x1.ec97181fe3e99994p+2l
+0x1.7a7ec723ab8dc148p+0l, 0x1.7575e58e5d249b12p+2l
+0x1.26d891683027d886p+3l, 0x1.6e7d222d4c0755c2p+2l
+0x1.5128a2920dbc5ebep+2l, 0x1.5eb288ce67c3b01p-3l
+0x1.c8ce9e9d7fc19c7cp+2l, 0x1.6affa483d71067f6p+2l
+0x1.c994cda58bd78908p+1l, 0x1.3cc3dba7db7d3f24p-1l
+0x1.62162e688595f09cp+2l, 0x1.a9b498c24452a9p+0l
+0x1.5356b8cf0f4258e6p+1l, 0x1.2f50342158b5ffcp+3l
+0x1.cef5a339125078fcp+2l, 0x1.0a938f27a3da5124p+2l
+0x1.c2c63833e4ceacc4p+2l, 0x1.e74c5d352b1c854cp+1l
+0x1.213b86498b02a2a8p+3l, 0x1.57391db037b7857cp+0l
+0x1.81172911a6947874p+1l, 0x1.637ae413c8aa79c8p-1l
+0x1.fddbdb5a4dd3d46ap+2l, 0x1.363912b7f7d986c2p+3l
+0x1.a36354d3d69ba2c4p-1l, 0x1.7a6fe77b4d37665cp+1l
+0x1.5d96e2268f470c4ep+2l, 0x1.854618eaf98a961ap+1l
+0x1.1fb926d006c8f438p+2l, 0x1.b911476142a9be8cp+2l
+0x1.084c822708ad3004p+2l, 0x1.df0de824681abe12p+2l
+0x1.0b5b53c97c59e33cp+2l, 0x1.b538d7a8efe6c314p+0l
+0x1.2a3b35f8b95f584cp+2l, 0x1.eb53482b7548582cp+2l
+0x1.98538de69efb711p-2l, 0x1.395b034294890562p+3l
+0x1.7df1dbec594d0058p+1l, 0x1.1c9d0c192312112cp+3l
+0x1.4ef874e3f4e67ce6p+2l, 0x1.3c3987ef241dbf2p+3l
+0x1.091a7865d64b4ccp+3l, 0x1.8ac6160112ed998p+2l
+0x1.d37b8de8a9fda30cp+2l, 0x1.2ad5a099e0641fp+2l
+0x1.04eb6d69e85952cp+3l, 0x1.810b8c78a126bfcep+2l
+0x1.12bf8b32349c028p+3l, 0x1.14a3a5bba36e46e4p+3l
+0x1.123b4e1d5077799ap+3l, 0x1.11d40c2bae88625ep+3l
+0x1.82b0b4b2cb9f6872p+1l, 0x1.2dc4594855d741b2p+3l
+0x1.3107b08be7410cbep+1l, 0x1.cdb11a2d6b7f5002p+0l
+0x1.1933f75fcee21a7p+2l, 0x1.6e69aee63104fa24p+1l
+0x1.9e36044b387ed062p+1l, 0x1.86dda73935c608d8p+2l
+0x1.0e6a7d3a394abffep+0l, 0x1.b6ffc65938eb5174p+2l
+0x1.27a083426eacd066p+3l, 0x1.7f2e1c7342d8faeep+2l
+0x1.842ae33b331adep-3l, 0x1.9e62f127adc88ee4p+0l
+0x1.78b1fa5d9e36e778p+2l, 0x1.f2a0a513882e22cp-2l
+0x1.23ead810a8ef1a08p+3l, 0x1.faa203db06b4004p-3l
+0x1.3e2b6b3eb2d1c168p+3l, 0x1.1aac28957f8a667cp+1l
+0x1.16ab943d33a209aap+0l, 0x1.8dda1a4ddf1e01b4p+2l
+0x1.9abdb3d30d8ec61cp+2l, 0x1.037aafa4cbc76724p+1l
+0x1.78345d4af1a8d99p+1l, 0x1.01234d1fbb76db9ap+2l
+0x1.07b4b717333cc1fep+2l, 0x1.0130e73029a82f98p+3l
+0x1.597ad7854931283p+2l, 0x1.64aa2d409f291f5ep+2l
+0x1.c1025a4b5147d9a4p+1l, 0x1.18981a6193bc3e94p+2l
+0x1.94e1abc33993d092p+2l, 0x1.23b7e31f57b30a5ap+3l
+0x1.751d3590bd6e92acp+2l, 0x1.cf4ab1e09f90441p-2l
+0x1.ca7133c665430ae8p-1l, 0x1.fed39461b5b661aep+2l
+0x1.7dfe97a9d4f34618p+2l, 0x1.1dc5dede8eb374d6p+2l
+0x1.964ed6a4405a2548p-2l, 0x1.ff984885ed410172p+2l
+0x1.1780f1c48a2e19ep+2l, 0x1.f3a0c7f0e08d5558p+2l
+0x1.d8d14256aac6d524p+2l, 0x1.0fd1e1dfb57bb7b6p+3l
+0x1.681391049624e072p+2l, 0x1.8a3ebc0e61948a86p+2l
+0x1.3d253b8414aa9024p-1l, 0x1.99f864a725bb5becp+2l
+0x1.52fd60c63e2a8e2cp+2l, 0x1.e1676de8d1b6e8c4p+2l
+0x1.ed364b7174b0475cp+2l, 0x1.a8e4be96c477c882p+2l
+0x1.0fd13fd0781d14a4p+3l, 0x1.ceb7d0e847c7c2d4p+1l
+0x1.002d6864dbbe24c4p+3l, 0x1.279ca38ea014f464p+1l
+0x1.edfc7eeda74f268p-4l, 0x1.8653fb10991ad99ap+2l
+0x1.d5de2467a715664p+2l, 0x1.88688d75e85821a8p-2l
+0x1.82ca76e5258f954cp+1l, 0x1.9ac049d7bb4a9e2p+1l
+0x1.f23fbf00fd4dcc68p+2l, 0x1.570ad9f1a0a615f2p+2l
+0x1.c669735d8c2d40d8p+2l, 0x1.95e211b51bb7aefep+2l
+0x1.ef85065020994264p+1l, 0x1.9566dac81ef82ab4p+0l
+0x1.1a78ba21faa0f998p+2l, 0x1.3db10c21759436b6p+0l
+0x1.fd89ded87f582676p+0l, 0x1.00875ba3bb8afcdcp+3l
+0x1.920a332830b3ecdcp+1l, 0x1.7d972151b90a6f4ep+1l
+0x1.d3e7f5aa4c73f65ap+1l, 0x1.6b20f5ea153b9f34p-1l
+0x1.78d0e835feae494cp+2l, 0x1.37f443267acc9bcep+2l
+0x1.fe1f82a7c423ce0cp+2l, 0x1.0b5687f21fc7bacp+2l
+0x1.ece174d5a7777118p+1l, 0x1.26c4cb10a0b81b4cp+1l
+0x1.2ad5e94f5650c2aep+2l, 0x1.c2e64da6837482ep+1l
+0x1.dcd7c50ccfd126f8p+2l, 0x1.8f22fc93edf5dd58p+2l
+0x1.287454842a47eb68p-1l, 0x1.36292ca6e9239808p+3l
+0x1.682776ea023dbec4p-1l, 0x1.2a647060c5c1e01cp+2l
+0x1.01a0ae0e1e1c10a6p+2l, 0x1.a616bf04439658cep+0l
+0x1.87d3f45b0dea2cecp+1l, 0x1.37b9ba164e6e5182p+2l
+0x1.55f5102c376dab1ap+2l, 0x1.549bcd602254400cp+1l
+0x1.638f8e8d28826b22p+2l, 0x1.6a4d1a0e8e7954ccp-1l
+0x1.79bafa7380d20f4p-5l, 0x1.67d3ca7b7f7d769p+1l
+0x1.649924b7bfd11794p+2l, 0x1.0b57b298eb10bap+3l
+0x1.592a5a60c35a136cp+2l, 0x1.c25dec11a3333122p+2l
+0x1.467bed0752d59bbep+2l, 0x1.fbc278f261aa384p-2l
+0x1.34530ac4b2fcdc4cp+2l, 0x1.1456bb2f28bfad88p+3l
+0x1.adb1230830e44d62p+1l, 0x1.3b16f3ee7c111f5p+0l
+0x1.b0fa67dde1590384p+1l, 0x1.1af15393406ee10ep+3l
+0x1.06af859a36f2de58p+0l, 0x1.d66081ff7c635e94p+1l
+0x1.b07eeae15a118728p+2l, 0x1.0935844ded7ef9ccp+3l
+0x1.a9f1f5fde206d484p-1l, 0x1.f2e5d5db33147d8cp+0l
+0x1.745fc8640726abd4p+0l, 0x1.3eb444effecdd812p+2l
+0x1.3e3e8ded97c7063cp+1l, 0x1.514c8df9eb45cf5cp+1l
+0x1.af066f32efc4d824p+2l, 0x1.0990b5503f7b956ep+2l
+0x1.5ebf8fd4ba51065ep+2l, 0x1.260b3adff8fcf62p+2l
+0x1.45c9fc7d5763f5f8p+2l, 0x1.f8fd1fa941b6cap+2l
+0x1.c363e66da4b9b7ep-4l, 0x1.ca1e9f7515b64996p+0l
+0x1.a70e976bccfdee68p+1l, 0x1.19889fce98e10258p+3l
+0x1.a68902a35fad1e68p+2l, 0x1.fe41877daab1b724p+1l
+0x1.7a1a10d29cc2e73p+2l, 0x1.5cfbf79ed6eda45p+2l
+0x1.33121f0206d95506p+3l, 0x1.3d981942b2d60cf2p+3l
+0x1.f5ea990ded8c7fa4p+2l, 0x1.6ca70cb3b7d4e5dep+2l
+0x1.e75b1cddfaae05fep+2l, 0x1.7981a7db0a5d6fc8p+1l
+0x1.b9298a7d46a7b414p+2l, 0x1.1136d652d81173b8p-2l
+0x1.c6a0cc3b1fde4abap+0l, 0x1.eecbb9de549cc4e6p+1l
+0x1.6b1c41ff7511631cp+2l, 0x1.00aa3a1e197c80ep-3l
+0x1.037cefe6c1ada34ap+3l, 0x1.154505dd43be0708p+3l
+0x1.df629863c9d8b234p+1l, 0x1.00094cbd626c94e8p+1l
+0x1.e9866e5b23e320c8p+2l, 0x1.4956378026d42212p+0l
+0x1.a703e9d72196d024p+2l, 0x1.5aadad66d8bd56acp+2l
+0x1.b075b431be4abe1cp+2l, 0x1.be6bfbb1aeec5398p+2l
+0x1.6652a27395662c8p-4l, 0x1.30c3e4a0cc7ee3c4p+0l
+0x1.826a3c0449c95p-6l, 0x1.27da4fd6462d72c8p+1l
+0x1.30553ddc06e63084p+2l, 0x1.2e75ab25d829dcb8p+3l
+0x1.e26ded68e41439c6p+2l, 0x1.461e7ab543b3f88p+2l
+0x1.751a464a67ef8e7p+2l, 0x1.42276472566323ap-2l
+0x1.34beccf30e20c8a4p+0l, 0x1.d627590aaa54d43p+2l
+0x1.17e1528f0f2a5e76p+2l, 0x1.2f724adbb85a28cep+3l
+0x1.ba1feaa259a5adfp+1l, 0x1.cc65d8373bc304cp+2l
+0x1.604549d8123b1a38p+2l, 0x1.b91890b4420138e4p+0l
+0x1.4adea9669f6014b8p+2l, 0x1.3ad3ae375896f392p+3l
+0x1.e5193f783e151f96p+2l, 0x1.1248a893ecbb4612p+2l
+0x1.2114d8cc8fcbfa5cp+3l, 0x1.1206876a62fc65bcp+2l
+0x1.61852187270b6118p-1l, 0x1.4dc6da313d0e0faep+2l
+0x1.2d05753743c4f718p+2l, 0x1.07b7f51be1662dap+2l
+0x1.676876d683426e48p+1l, 0x1.255353e14ecd90ap+1l
+0x1.9632d43bd778684ap+0l, 0x1.7bbe2266fd77f096p+2l
+0x1.cf67be7154f860c6p+2l, 0x1.5de242af98b87e08p+2l
+0x1.dfbc8b3fb8558c88p+1l, 0x1.0fab7d2a55edd32cp+2l
+0x1.7c32a747ffcbd8dcp+2l, 0x1.a34497a6626887cap+2l
+0x1.2e9e00bf63ef8388p+2l, 0x1.064c04d9bdb21cd4p+3l
+0x1.23ba4849626eb1c8p+3l, 0x1.d64bc2a501161b9cp-1l
+0x1.a8c81a7d24fbc51p-3l, 0x1.3c2dd4ab13fe32d4p+3l
+0x1.fbf06c8dc57e47cp+2l, 0x1.15bc28f3b215aa24p+3l
+0x1.608415df1e50a142p+2l, 0x1.0543f2e35267ec8p+1l
+0x1.772b18cb01d56672p+1l, 0x1.2d6be092ac1ce7eap+2l
+0x1.79bb52d5184de77p+2l, 0x1.3c4f23fff1962dcap+3l
+0x1.ee36451b9b3b196p+2l, 0x1.dc0666b99ebe52d4p+2l
+0x1.e376c3e0890c4b42p+2l, 0x1.c9508faabeb7f93p-1l
+0x1.df2fb7adcb2a5bbp+2l, 0x1.5d675df80e3ed5f8p+2l
+0x1.3d1a9badf00d5872p+3l, 0x1.ab7fe2737a6e17bp+1l
+0x1.bdade69e7f6b5e38p-2l, 0x1.60c6de51d0be6674p+2l
+0x1.bac52bf0ec376bf4p+1l, 0x1.dd7165964681fc44p+1l
+0x1.901a8b616ae7c9fap+2l, 0x1.1652aae13443bep+3l
+0x1.0f6fc2911032254cp+0l, 0x1.08a2eee32745892ep+2l
+0x1.27d3c126b7bf2d9ap+0l, 0x1.be9f9a840b84b3fcp+2l
+0x1.d32f678cb5d6763p+2l, 0x1.ec67495db4a666eep+2l
+0x1.70b3aa5eb366769p+1l, 0x1.c8ec707f198c70acp+0l
+0x1.e5a26c6b0a4d7b96p+2l, 0x1.1186e3e2f549c582p+0l
+0x1.1b235c3b12e07bc8p+3l, 0x1.a7f6b92cb1d4d00ap+2l
+0x1.0599c2613405f48cp+1l, 0x1.ceac5f8a784de024p+1l
+0x1.4b1b8c14058a23a4p+1l, 0x1.adfd0a6636eb09bep+2l
+0x1.c20aaf637ff9a9a6p+0l, 0x1.fd0aaf980a6aa8c4p+2l
+0x1.0c28af90ee4a1764p+3l, 0x1.b698e54f65b19004p+1l
+0x1.1b962b829c17cb3cp+2l, 0x1.6b1c89ce16b64d2ap+2l
+0x1.106272c29383c664p+2l, 0x1.76946ddcee994f1ap+2l
+0x1.005cd1922d076336p+2l, 0x1.43299ccdb8137ad8p+1l
+0x1.1413bfe2a0884ed4p+3l, 0x1.253420cb2828896ap+3l
+0x1.d68b3ad44ce5b2b2p+0l, 0x1.e1cc9e9ac3dd86d8p+2l
+0x1.a3af5e689271fccap+0l, 0x1.9d817c9f76443318p+1l
+0x1.d9a0d47dbd76719cp+1l, 0x1.894e9f9be94fcd4p+1l
+0x1.d808731c8c66c304p+2l, 0x1.122f7aa6747b8d36p+2l
+0x1.9d81643e48c3a0d4p+2l, 0x1.3669388fecfeaec2p+3l
+0x1.bd5235d3ff06558ap+1l, 0x1.34643587ccd34962p+3l
+0x1.6e7b162c1e9e7f96p+1l, 0x1.4cae06bb8f26f6e2p+2l
+0x1.dbbc539c268a0a36p+2l, 0x1.3a02d79e4e1dd426p+3l
+0x1.15baf0deadcd23fap+3l, 0x1.83c728738ecda35p+2l
+0x1.bfb8ca624a61e2e8p-1l, 0x1.da1d8a2a401d2ae8p-1l
+0x1.fd06c5226e90550ap+0l, 0x1.3b4f644541142c58p-2l
+0x1.151b8fc3791f79fap+1l, 0x1.dd062352fa60a6ecp+2l
+0x1.910c889cd79900cp-3l, 0x1.7d829d899c3a9178p+2l
+0x1.6add181aa978a184p+1l, 0x1.009500fd1da29426p+2l
+0x1.d96510b76a7fff64p+1l, 0x1.4b9831f38ed4d6f8p+1l
+0x1.15a472ff05b9a108p+2l, 0x1.6cb595eca3ecfddp+2l
+0x1.4e8350d502e9b4d6p+2l, 0x1.2fa8fa71b4e3fb64p+3l
+0x1.53ff8e28cf8abdfap+1l, 0x1.bc7418a495664efap+2l
+0x1.f1b7bfdd5dc0d9cp+1l, 0x1.4eb1697169094d88p+2l
+0x1.059d3d16c5b55424p+2l, 0x1.8f4493270ac638a8p+1l
+0x1.2f7ca618d0474d14p+3l, 0x1.313423ac745093eep+1l
+0x1.ea1449440edd8ddap+0l, 0x1.afcc3498edbca94cp+1l
+0x1.60db4af108ac87dp+1l, 0x1.dd9894f679513c5p-3l
+0x1.37b3628f810985eep+0l, 0x1.99451d1a275a75c4p+1l
+0x1.57af0a180b895b5ep+1l, 0x1.d74301925feb0e42p+2l
+0x1.c138c6eae3e8516cp+1l, 0x1.d3af026ca0c52e08p+2l
+0x1.1e135ab454ac40e4p+3l, 0x1.a9f70b3f22bbac6p-1l
+0x1.e27e0e2195129ac8p+2l, 0x1.8ef63f2cf10af964p+2l
+0x1.6fd15974877b8e8cp+2l, 0x1.90b43ce962be65bcp+0l
+0x1.16580d1d9e04455p+2l, 0x1.0176e89b3935495ep+3l
+0x1.515d1297af9c40c4p+1l, 0x1.f62f9df4fd27cef2p+1l
+0x1.4ca4c94be72d277p+2l, 0x1.06125c37e89b288ap+2l
+0x1.bc4ed6a388bb27f4p+2l, 0x1.05b4df6ff405407p-1l
+0x1.34a2ced1ca988924p+2l, 0x1.0a2a7fdbf21b22bcp+1l
+0x1.1841e91c08cd47cap+3l, 0x1.485ba828ac9f64d4p+1l
+0x1.e5e9fbac5c40d352p+2l, 0x1.8841638fdd92ad84p+2l
+0x1.057c2ed965463044p+2l, 0x1.c7379eec92223bf2p+2l
+0x1.b9d422602e1501ep-3l, 0x1.4eb5a64aef75d7f4p-1l
+0x1.36d84e7060c7f66ap+3l, 0x1.6ad2164b04dfabb2p+2l
+0x1.3db6155f005e9bf6p+0l, 0x1.587cbab01d7dd774p-1l
+0x1.378e7bbdb578a6aap+2l, 0x1.5ab7b8ec64aad77cp+2l
+0x1.c8c39129cc538664p+2l, 0x1.484b0415fc94e262p+2l
+0x1.b41f0ec88b7fa558p+2l, 0x1.1bd073da7f4d4374p+3l
+0x1.429345e28ca2e03ep+2l, 0x1.8b5a9e1296e5b294p+2l
+0x1.1b8c346ec93ff1b4p+2l, 0x1.16700deb143ce332p+3l
+0x1.11f8d63ecbae766p+2l, 0x1.66f28a9853f6b49ep+2l
+0x1.39041d85b8bc0504p+0l, 0x1.ceae9f0fd4d0761cp+1l
+0x1.d6776ad1528d858cp+2l, 0x1.4fa1098a454b16dcp+2l
+0x1.417d6836d266d36p+2l, 0x1.b09998fd7bbff7b8p+1l
+0x1.d5582be35127187ap+2l, 0x1.26a9e1c4fabef5aep+3l
+0x1.89ee5804161d11eap+1l, 0x1.82a3ed79746a7ac2p+1l
+0x1.ed59663d77b028p-9l, 0x1.be4dd26c7bdb2dp+2l
+0x1.9e1a9a92b62c8e34p+2l, 0x1.19cd6675b31dbbf4p+2l
+0x1.7b9d739f95c7916ep+2l, 0x1.a652f77c3f7eff42p+0l
+0x1.cf3e2ad8af7fa63cp+2l, 0x1.75173b337cc64262p+2l
+0x1.d0cf2c3ffa4716ep-3l, 0x1.75f4fe526078f4cp+2l
+0x1.087b2aefae7c5576p+3l, 0x1.788fd3ebdd8c5ce8p+0l
+0x1.271b2baa1b39b1fep+2l, 0x1.51020d8a29340ecep+2l
+0x1.94c5d9d28765dd1ep+1l, 0x1.08fd6ad269ed7836p+3l
+0x1.18f31aa291f7a9ecp+3l, 0x1.734ce31977bc2a9p+2l
+0x1.70aa7b19e156027p+2l, 0x1.0cae38f2b63a2edp+3l
+0x1.43a98e4cb47d4d68p+2l, 0x1.0a12d73f2adfa45ep+0l
+0x1.060e78a697f528c4p+3l, 0x1.ea566c4c51c499bp+2l
+0x1.52f4c6c571d5004cp+1l, 0x1.f331568e63647ea4p+0l
+0x1.7d17bb66e7cb07fp+1l, 0x1.c300a9c74967584p+2l
+0x1.c85caed4e494b85cp+2l, 0x1.1a56f6d9b035a00ep+3l
+0x1.25e78eb88a8a3772p+1l, 0x1.7ab616fa78cb2d0ap+1l
+0x1.82dacb3236ea7918p+1l, 0x1.2ed9fb98f6348a5cp+2l
+0x1.16bce505d755c1a4p+2l, 0x1.9831250d52a1754p+2l
+0x1.deefb689d7dd38fcp+1l, 0x1.fbda1167a7daa98cp+2l
+0x1.0a4b54a5fe1e2938p+3l, 0x1.1dfa9ca1f8fa495ap+3l
+0x1.4aeffeee3da6c912p+2l, 0x1.23912ec9fc66b1cep+3l
+0x1.e77409137d5482acp+2l, 0x1.09ee537f8b4333c8p+2l
+0x1.e6b122fd4692b4ep-2l, 0x1.48a54a3c325d22p+1l
+0x1.e5ef071349b506a2p+2l, 0x1.089298d14d52304p+2l
+0x1.134f3e4892f75564p+3l, 0x1.1bfa53fbe97dd3dcp+3l
+0x1.253584fc5897a48ap+3l, 0x1.3ea28939db022af8p-2l
+0x1.546e66b55243785ap+2l, 0x1.192d98bcbc8b2c3p-2l
+0x1.f2ecc7130bb0e4b8p+2l, 0x1.a2430d38574b37ccp+2l
+0x1.c098c435b68b0e62p+2l, 0x1.a78986aade13e1aap+2l
+0x1.070ca85e54c1ee1ep+3l, 0x1.c96746b7d516ebcp+0l
+0x1.a769bc81d4355c8p-2l, 0x1.4cb78f15628f77c4p+2l
+0x1.9468d7a699be1eccp+2l, 0x1.99d79d2ec5fedc66p+0l
+0x1.89b1536ceee017ep+1l, 0x1.39e2e15e22550c1cp+3l
+0x1.3a0f7aea961a6bcp+1l, 0x1.be30d3916014be7cp+0l
+0x1.b039f8704724739p+2l, 0x1.03a80ce7e58aa316p+3l
+0x1.d01d8135e28d14aap+2l, 0x1.a9a1448a24ec79e8p+2l
+0x1.21ab26ca8261fdfcp+2l, 0x1.9193c2506407eb98p+2l
+0x1.c15e94f5b2950f94p+1l, 0x1.8b8e0a58d3aedadep+0l
+0x1.017b0105e97069f4p+2l, 0x1.825953b45a32e5dp+1l
+0x1.0d565fd7cdc5acdap+2l, 0x1.54e65fa71bdd99f2p+1l
+0x1.0ac6cb570c6f45acp+3l, 0x1.57f9bf8713765d8ep+2l
+0x1.fed908b2cdb7ece4p+2l, 0x1.8c50971acd66912p+2l
+0x1.c6774069eccdc5p-4l, 0x1.faa8b8017394388ep+2l
+0x1.93222eff81849962p+0l, 0x1.28bb622c2b535932p+0l
+0x1.54a453bc46fc05fcp+2l, 0x1.0f875268c6f2cfap+1l
+0x1.9e1493f4e4ce4c68p+2l, 0x1.3cd09dbaa0263ca2p+2l
+0x1.0e73196044217c9ep+3l, 0x1.d90589574c248bc8p+2l
+0x1.1e54d6809281a92ep+3l, 0x1.77830c8661d42edap+0l
+0x1.23baf5e72204c6bp+3l, 0x1.381d30dfc0d9a4p+1l
+0x1.2a9d28669d3f3e24p+2l, 0x1.63f1e05c1ab35e28p+2l
+0x1.3e4e51cdd1189556p+0l, 0x1.4e579e7a63f4c6fcp+1l
+0x1.25b06d26d43bdebp+2l, 0x1.b4ab2a796a3bdff2p+0l
+0x1.0e308bee50b7ce6p+0l, 0x1.3c6b0393570e726p+3l
+0x1.951b17d12e029228p+2l, 0x1.9fbb15b6f3c00148p+2l
+0x1.f16303669c102464p+2l, 0x1.2e6bd944686261dcp+3l
+0x1.8d1061787a07f214p+1l, 0x1.c151754c68edfa56p+2l
+0x1.26ec553688fd5d9p+0l, 0x1.5035c3654346d5b8p+2l
+0x1.48520f92f340b2d8p+2l, 0x1.3c9d612c040e7f6ap+3l
+0x1.23b93213911e10bap+2l, 0x1.3bd6636bcfe1351ep+1l
+0x1.36a569d41e46bcbp+3l, 0x1.168e0d5a080063eep+3l
+0x1.1565ea27c446c77cp+2l, 0x1.0109029d8b5de18p-6l
+0x1.8636a76c69a44882p+2l, 0x1.3e116b6762af87ecp+3l
+0x1.185d967a9f60de32p+3l, 0x1.3eb165f5992f73eap+0l
+0x1.382f101a0db03a2p+2l, 0x1.c7fa64ef9f824062p+2l
+0x1.e45d601c99cdd2bap+1l, 0x1.150fdb077017f066p+2l
+0x1.e5960ca2afb7cc2p+2l, 0x1.a7284580e19965d8p+1l
+0x1.fe2882092fc76d56p+1l, 0x1.da88b20f2264fec2p+0l
+0x1.50e4df62cf448d8p+2l, 0x1.052dcf174bc8a136p+3l
+0x1.87e1781a54278d72p+0l, 0x1.35db0afd77937e5ep+3l
+0x1.02e0188219619c8cp+3l, 0x1.d129dcb35a9b8bc2p+2l
+0x1.abc58895ee356428p+0l, 0x1.dea17adc78d3e57ap+2l
+0x1.9a8b6596216cc1e2p+2l, 0x1.663e4370a3a611ccp+1l
diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h
index 529df43..25a5f48 100644
--- a/bits/libm-simd-decl-stubs.h
+++ b/bits/libm-simd-decl-stubs.h
@@ -373,4 +373,48 @@
#define __DECL_SIMD_tanpif32x
#define __DECL_SIMD_tanpif64x
#define __DECL_SIMD_tanpif128x
+
+#define __DECL_SIMD_acospi
+#define __DECL_SIMD_acospif
+#define __DECL_SIMD_acospil
+#define __DECL_SIMD_acospif16
+#define __DECL_SIMD_acospif32
+#define __DECL_SIMD_acospif64
+#define __DECL_SIMD_acospif128
+#define __DECL_SIMD_acospif32x
+#define __DECL_SIMD_acospif64x
+#define __DECL_SIMD_acospif128x
+
+#define __DECL_SIMD_asinpi
+#define __DECL_SIMD_asinpif
+#define __DECL_SIMD_asinpil
+#define __DECL_SIMD_asinpif16
+#define __DECL_SIMD_asinpif32
+#define __DECL_SIMD_asinpif64
+#define __DECL_SIMD_asinpif128
+#define __DECL_SIMD_asinpif32x
+#define __DECL_SIMD_asinpif64x
+#define __DECL_SIMD_asinpif128x
+
+#define __DECL_SIMD_atanpi
+#define __DECL_SIMD_atanpif
+#define __DECL_SIMD_atanpil
+#define __DECL_SIMD_atanpif16
+#define __DECL_SIMD_atanpif32
+#define __DECL_SIMD_atanpif64
+#define __DECL_SIMD_atanpif128
+#define __DECL_SIMD_atanpif32x
+#define __DECL_SIMD_atanpif64x
+#define __DECL_SIMD_atanpif128x
+
+#define __DECL_SIMD_atan2pi
+#define __DECL_SIMD_atan2pif
+#define __DECL_SIMD_atan2pil
+#define __DECL_SIMD_atan2pif16
+#define __DECL_SIMD_atan2pif32
+#define __DECL_SIMD_atan2pif64
+#define __DECL_SIMD_atan2pif128
+#define __DECL_SIMD_atan2pif32x
+#define __DECL_SIMD_atan2pif64x
+#define __DECL_SIMD_atan2pif128x
#endif
diff --git a/bits/termios-baud.h b/bits/termios-baud.h
new file mode 100644
index 0000000..bafde1a
--- /dev/null
+++ b/bits/termios-baud.h
@@ -0,0 +1,72 @@
+/* termios baud rate selection definitions. Universal version for sane speed_t.
+ Copyright (C) 2019-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+#endif
+
+/* POSIX required baud rates */
+#define B0 0U /* Hang up or ispeed == ospeed */
+#define B50 50U
+#define B75 75U
+#define B110 110U
+#define B134 134U /* Really 134.5 baud by POSIX spec */
+#define B150 150U
+#define B200 200U
+#define B300 300U
+#define B600 600U
+#define B1200 1200U
+#define B1800 1800U
+#define B2400 2400U
+#define B4800 4800U
+#define B9600 9600U
+#define B19200 19200U
+#define B38400 38400U
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+#endif
+
+/* Other baud rates, "nonstandard" but known to be used */
+#define B7200 7200U
+#define B14400 14400U
+#define B28800 28800U
+#define B33600 33600U
+#define B57600 57600U
+#define B76800 76800U
+#define B115200 115200U
+#define B153600 153600U
+#define B230400 230400U
+#define B307200 307200U
+#define B460800 460800U
+#define B500000 500000U
+#define B576000 576000U
+#define B614400 614400U
+#define B921600 921600U
+#define B1000000 1000000U
+#define B1152000 1152000U
+#define B1500000 1500000U
+#define B2000000 2000000U
+#define B2500000 2500000U
+#define B3000000 3000000U
+#define B3500000 3500000U
+#define B4000000 4000000U
+#define B5000000 5000000U
+#define B10000000 10000000U
+
+#define __MAX_BAUD 4294967295U
diff --git a/bits/termios.h b/bits/termios.h
index 9e3ed8e..798012c 100644
--- a/bits/termios.h
+++ b/bits/termios.h
@@ -20,6 +20,8 @@
# error "Never include <bits/termios.h> directly; use <termios.h> instead."
#endif
+#include <bits/termios-baud.h>
+
/* These macros are also defined in some <bits/ioctls.h> files (with
numerically identical values), but this serves to shut up cpp's
complaining. */
@@ -105,7 +107,7 @@ typedef unsigned int tcflag_t;
typedef unsigned char cc_t;
/* Type of baud rate specifiers. */
-typedef int speed_t;
+typedef unsigned int speed_t;
/* Terminal control structure. */
struct termios
@@ -284,46 +286,16 @@ struct termios
cc_t c_cc[NCCS];
/* Input and output baud rates. */
- speed_t __ispeed, __ospeed;
-#define B0 0 /* Hang up. */
-#define B50 50 /* 50 baud. */
-#define B75 75 /* 75 baud. */
-#define B110 110 /* 110 baud. */
-#define B134 134 /* 134.5 baud. */
-#define B150 150 /* 150 baud. */
-#define B200 200 /* 200 baud. */
-#define B300 300 /* 300 baud. */
-#define B600 600 /* 600 baud. */
-#define B1200 1200 /* 1200 baud. */
-#define B1800 1800 /* 1800 baud. */
-#define B2400 2400 /* 2400 baud. */
-#define B4800 4800 /* 4800 baud. */
-#define B9600 9600 /* 9600 baud. */
-#define B7200 7200 /* 7200 baud. */
-#define B14400 14400 /* 14400 baud. */
-#define B19200 19200 /* 19200 baud. */
-#define B28800 28800 /* 28800 baud. */
-#define B38400 38400 /* 38400 baud. */
-#ifdef __USE_MISC
-# define EXTA 19200
-# define EXTB 38400
-#endif
-#define B57600 57600
-#define B76800 76800
-#define B115200 115200
-#define B230400 230400
-#define B460800 460800
-#define B500000 500000
-#define B576000 576000
-#define B921600 921600
-#define B1000000 1000000
-#define B1152000 1152000
-#define B1500000 1500000
-#define B2000000 2000000
-#define B2500000 2500000
-#define B3000000 3000000
-#define B3500000 3500000
-#define B4000000 4000000
+ __extension__ union {
+ speed_t __ispeed;
+ speed_t c_ispeed;
+ };
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+ __extension__ union {
+ speed_t __ospeed;
+ speed_t c_ospeed;
+ };
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
#define _IOT_termios /* Hurd ioctl type field. */ \
diff --git a/config.h.in b/config.h.in
index d3575c9..29126ea 100644
--- a/config.h.in
+++ b/config.h.in
@@ -113,17 +113,6 @@
/* AArch64 big endian ABI */
#undef HAVE_AARCH64_BE
-/* AArch64 BTI support enabled. */
-#define HAVE_AARCH64_BTI 0
-
-/* AArch64 PAC-RET code generation is enabled. */
-#define HAVE_AARCH64_PAC_RET 0
-
-/* Assembler support ARMv8.2-A SVE.
- This macro becomes obsolete when glibc increased the minimum
- required version of GNU 'binutils' to 2.28 or later. */
-#define HAVE_AARCH64_SVE_ASM 0
-
/* C-SKY ABI version. */
#undef CSKYABI
diff --git a/configure b/configure
index 7cda641..53f7d1f 100755
--- a/configure
+++ b/configure
@@ -649,6 +649,8 @@ have_selinux
have_libcap
have_libaudit
LIBGD
+libc_cv_test_cc_wmissing_parameter_name
+libc_cv_test_cc_wfree_labels
libc_cv_test_cc_wimplicit_fallthrough
libc_cv_cc_loop_to_function
libc_cv_test_cc_signaling_nans
@@ -4929,6 +4931,9 @@ with_fp_cond=1
# A preconfigure script may define another name to TLS descriptor variant
mtls_descriptor=gnu2
+# A preconfigure script may define another name to traditional TLS variant
+mtls_traditional=gnu
+
if frags=`ls -d $srcdir/sysdeps/*/preconfigure 2> /dev/null`
then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysdeps preconfigure fragments" >&5
@@ -5124,7 +5129,7 @@ fi
-# Accept binutils 2.25 or newer.
+# Accept binutils 2.39 or newer.
libc_cv_with_lld=no
case $($LD --version) in
"GNU gold"*)
@@ -5330,7 +5335,7 @@ printf %s "checking version of $LD... " >&6; }
ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+ 2.[1-9][0-9][0-9]*|2.39*|2.[4-9][0-9]*|[3-9].*|[1-9][0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -7488,6 +7493,41 @@ rm -f conftest*
config_vars="$config_vars
have-test-mtls-descriptor = $libc_cv_test_mtls_descriptor"
+
+cat > conftest.c <<EOF
+$conftest_code
+EOF
+
+saved_CC="$CC"
+CC="$TEST_CC"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for traditional tls support in testing" >&5
+printf %s "checking for traditional tls support in testing... " >&6; }
+if test ${libc_cv_test_mtls_traditional+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_traditional -nostdlib -nostartfiles -shared conftest.c -o conftest 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+ then
+ libc_cv_test_mtls_traditional=$mtls_traditional
+ else
+ libc_cv_test_mtls_traditional=no
+ fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_mtls_traditional" >&5
+printf "%s\n" "$libc_cv_test_mtls_traditional" >&6; }
+
+CC="$saved_CC"
+
+rm -f conftest*
+config_vars="$config_vars
+have-test-mtls-traditional = $libc_cv_test_mtls_traditional"
+
conftest_code="
void __foo (void)
{
@@ -7968,6 +8008,126 @@ config_vars="$config_vars
cc-option-wimplicit-fallthrough = $libc_cv_cc_wimplicit_fallthrough"
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wfree-labels" >&5
+printf %s "checking for -Wfree-labels... " >&6; }
+if test ${libc_cv_cc_wfree_labels+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} -Werror -Wfree-labels -xc /dev/null -S -o /dev/null'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ libc_cv_cc_wfree_labels=-Wfree-labels
+else case e in #(
+ e) libc_cv_cc_wfree_labels= ;;
+esac
+fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_wfree_labels" >&5
+printf "%s\n" "$libc_cv_cc_wfree_labels" >&6; }
+if test "$TEST_CC" = "$CC"; then
+ libc_cv_test_cc_wfree_labels=$libc_cv_cc_wfree_labels
+else
+
+saved_CC="$CC"
+CC="$TEST_CC"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wfree-labels in testing" >&5
+printf %s "checking for -Wfree-labels in testing... " >&6; }
+if test ${libc_cv_test_cc_wfree_labels+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} -Werror -Wfree-labels -xc /dev/null -S -o /dev/null'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ libc_cv_test_cc_wfree_labels=-Wfree-labels
+else case e in #(
+ e) libc_cv_test_cc_wfree_labels= ;;
+esac
+fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cc_wfree_labels" >&5
+printf "%s\n" "$libc_cv_test_cc_wfree_labels" >&6; }
+
+CC="$saved_CC"
+
+fi
+
+config_vars="$config_vars
+cc-option-wfree-labels = $libc_cv_cc_wfree_labels"
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wmissing-parameter-name" >&5
+printf %s "checking for -Wmissing-parameter-name... " >&6; }
+if test ${libc_cv_cc_wmissing_parameter_name+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} -Werror -Wmissing-parameter-name -xc /dev/null -S -o /dev/null'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ libc_cv_cc_wmissing_parameter_name=-Wmissing-parameter-name
+else case e in #(
+ e) libc_cv_cc_wmissing_parameter_name= ;;
+esac
+fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_wmissing_parameter_name" >&5
+printf "%s\n" "$libc_cv_cc_wmissing_parameter_name" >&6; }
+if test "$TEST_CC" = "$CC"; then
+ libc_cv_test_cc_wmissing_parameter_name=$libc_cv_cc_wmissing_parameter_name
+else
+
+saved_CC="$CC"
+CC="$TEST_CC"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wmissing-parameter-name in testing" >&5
+printf %s "checking for -Wmissing-parameter-name in testing... " >&6; }
+if test ${libc_cv_test_cc_wmissing_parameter_name+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if { ac_try='${CC-cc} -Werror -Wmissing-parameter-name -xc /dev/null -S -o /dev/null'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ libc_cv_test_cc_wmissing_parameter_name=-Wmissing-parameter-name
+else case e in #(
+ e) libc_cv_test_cc_wmissing_parameter_name= ;;
+esac
+fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cc_wmissing_parameter_name" >&5
+printf "%s\n" "$libc_cv_test_cc_wmissing_parameter_name" >&6; }
+
+CC="$saved_CC"
+
+fi
+
+config_vars="$config_vars
+cc-option-wmissing-parameter-name = $libc_cv_cc_wmissing_parameter_name"
+
+
conftest_code="
void bar (void (*callback) (void));
int foo (void)
diff --git a/configure.ac b/configure.ac
index 0b0d887..09d2ab7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -483,6 +483,9 @@ with_fp_cond=1
# A preconfigure script may define another name to TLS descriptor variant
mtls_descriptor=gnu2
+# A preconfigure script may define another name to traditional TLS variant
+mtls_traditional=gnu
+
dnl Let sysdeps/*/preconfigure act here.
LIBC_PRECONFIGURE([$srcdir], [for sysdeps])
@@ -522,7 +525,7 @@ AC_PROG_LN_S
LIBC_PROG_BINUTILS
-# Accept binutils 2.25 or newer.
+# Accept binutils 2.39 or newer.
libc_cv_with_lld=no
case $($LD --version) in
"GNU gold"*)
@@ -543,7 +546,7 @@ case $($LD --version) in
*)
AC_CHECK_PROG_VER(LD, $LD, --version,
[GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
- [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+ [2.[1-9][0-9][0-9]*|2.39*|2.[4-9][0-9]*|[3-9].*|[1-9][0-9]*],
LD=: critic_missing="$critic_missing GNU ld")
;;
esac
@@ -1401,6 +1404,16 @@ LIBC_TRY_TEST_CC_COMMAND([for tls descriptor support],
LIBC_CONFIG_VAR([have-test-mtls-descriptor],
[$libc_cv_test_mtls_descriptor])
+dnl Check if TEST_CC support traditional tls.
+LIBC_TRY_TEST_CC_COMMAND([for traditional tls support],
+ [$conftest_code],
+ [-fPIC -mtls-dialect=$mtls_traditional -nostdlib -nostartfiles -shared],
+ libc_cv_test_mtls_traditional,
+ [libc_cv_test_mtls_traditional=$mtls_traditional],
+ [libc_cv_test_mtls_traditional=no])
+LIBC_CONFIG_VAR([have-test-mtls-traditional],
+ [$libc_cv_test_mtls_traditional])
+
dnl clang emits an warning for a double alias redirection, to warn the
dnl original symbol is sed even when weak definition overrides it.
dnl It is a usual pattern for weak_alias, where multiple alias point to
@@ -1575,6 +1588,29 @@ LIBC_CONFIG_VAR([cc-option-wimplicit-fallthrough],
[$libc_cv_cc_wimplicit_fallthrough])
AC_SUBST(libc_cv_test_cc_wimplicit_fallthrough)
+LIBC_TRY_CC_AND_TEST_CC_OPTION([for -Wfree-labels],
+ [-Werror -Wfree-labels],
+ libc_cv_cc_wfree_labels,
+ [libc_cv_cc_wfree_labels=-Wfree-labels],
+ [libc_cv_cc_wfree_labels=],
+ libc_cv_test_cc_wfree_labels,
+ [libc_cv_test_cc_wfree_labels=-Wfree-labels],
+ [libc_cv_test_cc_wfree_labels=])
+LIBC_CONFIG_VAR([cc-option-wfree-labels], [$libc_cv_cc_wfree_labels])
+AC_SUBST(libc_cv_test_cc_wfree_labels)
+
+LIBC_TRY_CC_AND_TEST_CC_OPTION([for -Wmissing-parameter-name],
+ [-Werror -Wmissing-parameter-name],
+ libc_cv_cc_wmissing_parameter_name,
+ [libc_cv_cc_wmissing_parameter_name=-Wmissing-parameter-name],
+ [libc_cv_cc_wmissing_parameter_name=],
+ libc_cv_test_cc_wmissing_parameter_name,
+ [libc_cv_test_cc_wmissing_parameter_name=-Wmissing-parameter-name],
+ [libc_cv_test_cc_wmissing_parameter_name=])
+LIBC_CONFIG_VAR([cc-option-wmissing-parameter-name],
+ [$libc_cv_cc_wmissing_parameter_name])
+AC_SUBST(libc_cv_test_cc_wmissing_parameter_name)
+
conftest_code="
void bar (void (*callback) (void));
int foo (void)
diff --git a/conform/linknamespace.py b/conform/linknamespace.py
index 8447f75..d099cac 100644
--- a/conform/linknamespace.py
+++ b/conform/linknamespace.py
@@ -29,7 +29,7 @@ import tempfile
import glibcconform
-# The following whitelisted symbols are also allowed for now.
+# The following ALLOWLIST symbols are also allowed for now.
#
# * Bug 17576: stdin, stdout, stderr only reserved with external
# linkage when stdio.h included (and possibly not then), not
@@ -38,7 +38,7 @@ import glibcconform
# * Bug 18442: re_syntax_options wrongly brought in by regcomp and
# used by re_comp.
#
-WHITELIST = {'stdin', 'stdout', 'stderr', 're_syntax_options'}
+ALLOWLIST = {'stdin', 'stdout', 'stderr', 're_syntax_options'}
def list_syms(filename):
@@ -94,7 +94,7 @@ def main():
with open(args.stdsyms, 'r') as stdsyms_file:
for line in stdsyms_file:
stdsyms.add(line.rstrip())
- stdsyms |= WHITELIST
+ stdsyms |= ALLOWLIST
# Load information about GLOBAL and WEAK symbols defined or used
# in the standard libraries.
diff --git a/ctype/Makefile b/ctype/Makefile
index 64848bd..783b689 100644
--- a/ctype/Makefile
+++ b/ctype/Makefile
@@ -36,6 +36,23 @@ aux := ctype-info
tests := \
test_ctype \
+ tst-ctype-tls-dlmopen \
+ tst-ctype-tls-dlopen-static \
# tests
+tests-static := \
+ tst-ctype-tls-dlopen-static \
+ # tests-static
+
+modules-names := \
+ tst-ctype-tls-mod \
+ # modules-names
+
include ../Rules
+
+$(objpfx)tst-ctype-tls-dlmopen: $(shared-thread-library)
+$(objpfx)tst-ctype-tls-dlmopen.out: $(objpfx)tst-ctype-tls-mod.so
+$(objpfx)tst-ctype-tls-dlopen-static: $(static-thread-library)
+$(objpfx)tst-ctype-tls-dlopen-static.out: $(objpfx)tst-ctype-tls-mod.so
+tst-ctype-tls-dlopen-static-ENV = \
+ LD_LIBRARY_PATH=$(ld-library-path):$(common-objpfx):$(common-objpfx)elf
diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c
index 5ee578e..b7d3422 100644
--- a/ctype/ctype-info.c
+++ b/ctype/ctype-info.c
@@ -19,20 +19,28 @@
#include <ctype.h>
#include <locale/localeinfo.h>
-__libc_tsd_define (, const uint16_t *, CTYPE_B)
-__libc_tsd_define (, const int32_t *, CTYPE_TOLOWER)
-__libc_tsd_define (, const int32_t *, CTYPE_TOUPPER)
+/* Fallback initialization using relocations. See the _nl_C_locobj
+ initializers in locale/xlocale.c. Usually, this is overwritten by
+ __ctype_init before user code runs, but this does not happen for
+ threads in secondary namespaces. With the initializers, secondary
+ namespaces at least get locale data from the C locale. */
+__thread const uint16_t * __libc_tsd_CTYPE_B
+ = (const uint16_t *) _nl_C_LC_CTYPE_class + 128;
+__thread const int32_t * __libc_tsd_CTYPE_TOLOWER
+ = (const int32_t *) _nl_C_LC_CTYPE_tolower + 128;
+__thread const int32_t * __libc_tsd_CTYPE_TOUPPER
+ = (const int32_t *) _nl_C_LC_CTYPE_toupper + 128;
void
__ctype_init (void)
{
- const uint16_t **bp = __libc_tsd_address (const uint16_t *, CTYPE_B);
- *bp = (const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128;
- const int32_t **up = __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
- *up = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128);
- const int32_t **lp = __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
- *lp = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128);
+ __libc_tsd_CTYPE_B
+ = ((const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS)) + 128;
+ __libc_tsd_CTYPE_TOUPPER
+ = ((const int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER)) + 128;
+ __libc_tsd_CTYPE_TOLOWER =
+ ((const int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER)) + 128;
}
libc_hidden_def (__ctype_init)
@@ -41,10 +49,7 @@ libc_hidden_def (__ctype_init)
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3)
/* Defined in locale/C-ctype.c. */
-extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden;
-extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
-extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_upper[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_lower[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_alpha[] attribute_hidden;
diff --git a/ctype/tst-ctype-tls-dlmopen.c b/ctype/tst-ctype-tls-dlmopen.c
new file mode 100644
index 0000000..f7eeb65
--- /dev/null
+++ b/ctype/tst-ctype-tls-dlmopen.c
@@ -0,0 +1,2 @@
+#define DO_STATIC_TEST 0
+#include "tst-ctype-tls-skeleton.c"
diff --git a/ctype/tst-ctype-tls-dlopen-static.c b/ctype/tst-ctype-tls-dlopen-static.c
new file mode 100644
index 0000000..c2c09c3
--- /dev/null
+++ b/ctype/tst-ctype-tls-dlopen-static.c
@@ -0,0 +1,2 @@
+#define DO_STATIC_TEST 1
+#include "tst-ctype-tls-skeleton.c"
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S b/ctype/tst-ctype-tls-mod.c
index 7b45fcd..52cbb9d 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S
+++ b/ctype/tst-ctype-tls-mod.c
@@ -1,5 +1,5 @@
-/* Optimized strcmp implementation for POWER10/PPC64.
- Copyright (C) 2021-2025 Free Software Foundation, Inc.
+/* Wrappers for <ctype.h> macros in a secondary namespace.
+ Copyright (C) 2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,11 +16,22 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#if defined __LITTLE_ENDIAN__ && IS_IN (libc)
-#define STRCMP __strcmp_power10
+#include <ctype.h>
-#undef libc_hidden_builtin_def
-#define libc_hidden_builtin_def(name)
+int
+my_isalpha (int ch)
+{
+ return isalpha (ch);
+}
-#include <sysdeps/powerpc/powerpc64/le/power10/strcmp.S>
-#endif /* __LITTLE_ENDIAN__ && IS_IN (libc) */
+int
+my_toupper (int ch)
+{
+ return toupper (ch);
+}
+
+int
+my_tolower (int ch)
+{
+ return tolower (ch);
+}
diff --git a/ctype/tst-ctype-tls-skeleton.c b/ctype/tst-ctype-tls-skeleton.c
new file mode 100644
index 0000000..8c53e35
--- /dev/null
+++ b/ctype/tst-ctype-tls-skeleton.c
@@ -0,0 +1,67 @@
+/* Test that <ctype.h> in a secondary namespace works.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* Before this file is included, define DO_STATIC_TEST to 0 or 1.
+ With 0, dlmopen is used for the test. With 1, dlopen is used. */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <support/check.h>
+#include <support/support.h>
+#include <support/xdlfcn.h>
+#include <support/xthread.h>
+
+static int (*my_isalpha) (int);
+static int (*my_toupper) (int);
+static int (*my_tolower) (int);
+
+static void *
+checks (void *ignore)
+{
+ TEST_VERIFY (my_isalpha ('a'));
+ TEST_VERIFY (!my_isalpha ('0'));
+ TEST_COMPARE (my_toupper ('a'), 'A');
+ TEST_COMPARE (my_toupper ('A'), 'A');
+ TEST_COMPARE (my_tolower ('a'), 'a');
+ TEST_COMPARE (my_tolower ('A'), 'a');
+ return NULL;
+}
+
+static int
+do_test (void)
+{
+ char *dso = xasprintf ("%s/ctype/tst-ctype-tls-mod.so", support_objdir_root);
+#if DO_STATIC_TEST
+ void *handle = xdlopen (dso, RTLD_LAZY);
+#else
+ void *handle = xdlmopen (LM_ID_NEWLM, dso, RTLD_LAZY);
+#endif
+ my_isalpha = xdlsym (handle, "my_isalpha");
+ my_toupper = xdlsym (handle, "my_toupper");
+ my_tolower = xdlsym (handle, "my_tolower");
+
+ checks (NULL);
+ xpthread_join (xpthread_create (NULL, checks, NULL));
+
+ xdlclose (handle);
+ free (dso);
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/elf/Makefile b/elf/Makefile
index ed1b022..8a31a29 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -268,6 +268,7 @@ tests-static-normal := \
tst-array1-static \
tst-array5-static \
tst-dl-iter-static \
+ tst-dlopen-sgid \
tst-dst-static \
tst-env-setuid-static \
tst-getauxval-static \
@@ -495,6 +496,7 @@ tests += \
tst-tls21 \
tst-tls22 \
tst-tls22-gnu2 \
+ tst-tls23 \
tst-tlsalign \
tst-tlsalign-extern \
tst-tlsgap \
@@ -923,6 +925,7 @@ modules-names += \
tst-dlopen-auditdupmod \
tst-dlopen-constructor-null-mod1 \
tst-dlopen-constructor-null-mod2 \
+ tst-dlopen-sgid-mod \
tst-dlopen-tlsreinitmod1 \
tst-dlopen-tlsreinitmod2 \
tst-dlopen-tlsreinitmod3 \
@@ -1021,6 +1024,7 @@ modules-names += \
tst-tls22-mod1-gnu2 \
tst-tls22-mod2 \
tst-tls22-mod2-gnu2 \
+ tst-tls23-mod \
tst-tlsalign-lib \
tst-tlsgap-mod0 \
tst-tlsgap-mod1 \
@@ -1375,11 +1379,11 @@ $(objpfx)$(1).generated-makefile: $(objpfx)$(1)
endef
endif
-postclean-generated += $(objpfx)/dso-sort-tests-1.generated-makefile \
- $(objpfx)/dso-sort-tests-2.generated-makefile \
- $(objpfx)/dso-sort-tests-all2.generated-makefile \
- $(objpfx)/dso-sort-tests-all3.generated-makefile \
- $(objpfx)/dso-sort-tests-all4.generated-makefile
+postclean-generated += $(objpfx)dso-sort-tests-1.generated-makefile \
+ $(objpfx)dso-sort-tests-2.generated-makefile \
+ $(objpfx)dso-sort-tests-all2.generated-makefile \
+ $(objpfx)dso-sort-tests-all3.generated-makefile \
+ $(objpfx)dso-sort-tests-all4.generated-makefile
# Generate from each testcase description file
$(eval $(call include_dsosort_tests,dso-sort-tests-1.def))
@@ -3047,7 +3051,7 @@ $(objpfx)tst-rtld-list-diagnostics.out: tst-rtld-list-diagnostics.py \
> $@; \
$(evaluate-test)
-$(objpfx)tst-rtld-run-static.out: $(objpfx)/ldconfig
+$(objpfx)tst-rtld-run-static.out: $(objpfx)ldconfig
$(objpfx)tst-dl_find_object.out: \
$(objpfx)tst-dl_find_object-mod1.so $(objpfx)tst-dl_find_object-mod2.so
@@ -3358,9 +3362,11 @@ $(objpfx)tst-dlopen-auditdup.out: \
# Reuse an audit module which provides ample debug logging.
tst-rtld-no-malloc-audit-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
+$(objpfx)tst-rtld-no-malloc-audit.out: $(objpfx)tst-auditmod1.so
# Any shared object should do.
tst-rtld-no-malloc-preload-ENV = LD_PRELOAD=$(objpfx)tst-auditmod1.so
+$(objpfx)tst-rtld-no-malloc-preload.out: $(objpfx)tst-auditmod1.so
LDFLAGS-tst-hash-collision1-mod.so = -Wl,--hash-style=both
$(objpfx)tst-hash-collision1: $(objpfx)tst-hash-collision1-mod.so
@@ -3408,6 +3414,13 @@ tst-tls22-mod1-gnu2.so-no-z-defs = yes
tst-tls22-mod2.so-no-z-defs = yes
tst-tls22-mod2-gnu2.so-no-z-defs = yes
+$(objpfx)tst-tls23: $(shared-thread-library)
+$(objpfx)tst-tls23.out: $(objpfx)tst-tls23-mod.so
+
+ifneq (no,$(have-test-mtls-traditional))
+CFLAGS-tst-tls23-mod.c += -mtls-dialect=$(have-test-mtls-traditional)
+endif
+
ifeq ($(have-test-cc-cflags-fsemantic-interposition),yes)
# Compiler may default to -fno-semantic-interposition. These modules
# must be compiled with -fsemantic-interposition.
@@ -3488,3 +3501,5 @@ $(objpfx)tst-origin.out: tst-origin.sh $(objpfx)tst-origin
liborigin-mod.so \
> $@; \
$(evaluate-test)
+
+$(objpfx)tst-dlopen-sgid.out: $(objpfx)tst-dlopen-sgid-mod.so
diff --git a/elf/dl-load.c b/elf/dl-load.c
index bf29ec7..6e26ef0 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1340,7 +1340,7 @@ cannot enable executable stack as shared object requires");
/* Adjust the address of the TLS initialization image. */
if (l->l_tls_initimage != NULL)
- l->l_tls_initimage = (char *) l->l_tls_initimage + l->l_addr;
+ l->l_tls_initimage = (void*)((uintptr_t)l->l_tls_initimage + l->l_addr);
/* Process program headers again after load segments are mapped in
case processing requires accessing those segments. Scan program
diff --git a/elf/elf.h b/elf/elf.h
index 1e1a59c..2f29a47 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -4081,6 +4081,7 @@ enum
#define R_RISCV_TLS_DTPREL64 9
#define R_RISCV_TLS_TPREL32 10
#define R_RISCV_TLS_TPREL64 11
+#define R_RISCV_TLSDESC 12
#define R_RISCV_BRANCH 16
#define R_RISCV_JAL 17
#define R_RISCV_CALL 18
@@ -4106,16 +4107,10 @@ enum
#define R_RISCV_SUB16 38
#define R_RISCV_SUB32 39
#define R_RISCV_SUB64 40
-#define R_RISCV_GNU_VTINHERIT 41
-#define R_RISCV_GNU_VTENTRY 42
+#define R_RISCV_GOT32_PCREL 41
#define R_RISCV_ALIGN 43
#define R_RISCV_RVC_BRANCH 44
#define R_RISCV_RVC_JUMP 45
-#define R_RISCV_RVC_LUI 46
-#define R_RISCV_GPREL_I 47
-#define R_RISCV_GPREL_S 48
-#define R_RISCV_TPREL_I 49
-#define R_RISCV_TPREL_S 50
#define R_RISCV_RELAX 51
#define R_RISCV_SUB6 52
#define R_RISCV_SET6 53
@@ -4127,8 +4122,12 @@ enum
#define R_RISCV_PLT32 59
#define R_RISCV_SET_ULEB128 60
#define R_RISCV_SUB_ULEB128 61
+#define R_RISCV_TLSDESC_HI20 62
+#define R_RISCV_TLSDESC_LOAD_LO12 63
+#define R_RISCV_TLSDESC_ADD_LO12 64
+#define R_RISCV_TLSDESC_CALL 65
-#define R_RISCV_NUM 62
+#define R_RISCV_NUM 66
/* RISC-V specific values for the st_other field. */
#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling
@@ -4137,7 +4136,7 @@ enum
/* RISC-V specific values for the sh_type field. */
#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3)
-/* RISC-V specific values for the p_type field. */
+/* RISC-V specific values for the p_type field (deprecated). */
#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3)
/* RISC-V specific values for the d_tag field. */
diff --git a/elf/libc_early_init.c b/elf/libc_early_init.c
index 0720231..4da170a 100644
--- a/elf/libc_early_init.c
+++ b/elf/libc_early_init.c
@@ -24,6 +24,7 @@
#include <pthread_early_init.h>
#include <sys/single_threaded.h>
#include <getrandom-internal.h>
+#include <malloc/malloc-internal.h>
#ifdef SHARED
_Bool __libc_initial;
@@ -49,4 +50,7 @@ __libc_early_init (_Bool initial)
#if ENABLE_ELISION_SUPPORT
__lll_elision_init ();
#endif
+
+ /* Initialize system malloc (needs __libc_initial to be set). */
+ call_function_static_weak (__ptmalloc_init);
}
diff --git a/elf/rtld.c b/elf/rtld.c
index 3af8ee6..9038a50 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -428,7 +428,6 @@ static ElfW(Addr) _dl_start_final (void *arg,
/* These are defined magically by the linker. */
extern const ElfW(Ehdr) __ehdr_start attribute_hidden;
-extern char _etext[] attribute_hidden;
extern char _end[] attribute_hidden;
@@ -477,8 +476,10 @@ _dl_start_final (void *arg, struct dl_start_final_info *info)
#endif
_dl_setup_hash (&_dl_rtld_map);
_dl_rtld_map.l_real = &_dl_rtld_map;
- _dl_rtld_map.l_map_start = (ElfW(Addr)) &__ehdr_start;
- _dl_rtld_map.l_map_end = (ElfW(Addr)) _end;
+ _dl_rtld_map.l_map_start
+ = (ElfW(Addr)) DL_ADDRESS_WITHOUT_RELOC (&__ehdr_start);
+ _dl_rtld_map.l_map_end
+ = (ElfW(Addr)) DL_ADDRESS_WITHOUT_RELOC (_end);
/* Copy the TLS related data if necessary. */
#ifndef DONT_USE_BOOTSTRAP_MAP
# if NO_TLS_OFFSET != 0
diff --git a/elf/tst-asm-helper.h b/elf/tst-asm-helper.h
index 6f91ac2..ae2e3aa 100644
--- a/elf/tst-asm-helper.h
+++ b/elf/tst-asm-helper.h
@@ -20,6 +20,7 @@
#include <config.h>
+#ifdef __aarch64__
/* GNU_PROPERTY_AARCH64_* macros from elf.h for use in asm code. */
#define FEATURE_1_AND 0xc0000000
#define FEATURE_1_BTI 1
@@ -42,8 +43,5 @@
/* Add GNU property note with the supported features to all asm code
where sysdep.h is included. */
-#if HAVE_AARCH64_BTI && HAVE_AARCH64_PAC_RET
GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC|FEATURE_1_GCS)
-#elif HAVE_AARCH64_BTI
-GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
#endif
diff --git a/elf/tst-dlopen-sgid-mod.c b/elf/tst-dlopen-sgid-mod.c
new file mode 100644
index 0000000..5eb79ee
--- /dev/null
+++ b/elf/tst-dlopen-sgid-mod.c
@@ -0,0 +1 @@
+/* Opening this object should not succeed. */
diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c
new file mode 100644
index 0000000..8aec52e
--- /dev/null
+++ b/elf/tst-dlopen-sgid.c
@@ -0,0 +1,106 @@
+/* Test case for ignored LD_LIBRARY_PATH in static startug (bug 32976).
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <dlfcn.h>
+#include <gnu/lib-names.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <support/capture_subprocess.h>
+#include <support/check.h>
+#include <support/support.h>
+#include <support/temp_file.h>
+#include <support/test-driver.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+/* This is the name of our test object. Use a custom module for
+ testing, so that this object does not get picked up from the system
+ path. */
+static const char dso_name[] = "tst-dlopen-sgid-mod.so";
+
+/* Used to mark the recursive invocation. */
+static const char magic_argument[] = "run-actual-test";
+
+static int
+do_test (void)
+{
+/* Pathname of the directory that receives the shared objects this
+ test attempts to load. */
+ char *libdir = support_create_temp_directory ("tst-dlopen-sgid-");
+
+ /* This is supposed to be ignored and stripped. */
+ TEST_COMPARE (setenv ("LD_LIBRARY_PATH", libdir, 1), 0);
+
+ /* Copy of libc.so.6. */
+ {
+ char *from = xasprintf ("%s/%s", support_objdir_root, LIBC_SO);
+ char *to = xasprintf ("%s/%s", libdir, LIBC_SO);
+ add_temp_file (to);
+ support_copy_file (from, to);
+ free (to);
+ free (from);
+ }
+
+ /* Copy of the test object. */
+ {
+ char *from = xasprintf ("%s/elf/%s", support_objdir_root, dso_name);
+ char *to = xasprintf ("%s/%s", libdir, dso_name);
+ add_temp_file (to);
+ support_copy_file (from, to);
+ free (to);
+ free (from);
+ }
+
+ free (libdir);
+
+ support_capture_subprogram_self_sgid (magic_argument);
+
+ return 0;
+}
+
+static void
+alternative_main (int argc, char **argv)
+{
+ if (argc == 2 && strcmp (argv[1], magic_argument) == 0)
+ {
+ if (getgid () == getegid ())
+ /* This can happen if the file system is mounted nosuid. */
+ FAIL_UNSUPPORTED ("SGID failed: GID and EGID match (%jd)\n",
+ (intmax_t) getgid ());
+
+ /* Should be removed due to SGID. */
+ TEST_COMPARE_STRING (getenv ("LD_LIBRARY_PATH"), NULL);
+
+ TEST_VERIFY (dlopen (dso_name, RTLD_NOW) == NULL);
+ {
+ const char *message = dlerror ();
+ TEST_COMPARE_STRING (message,
+ "tst-dlopen-sgid-mod.so:"
+ " cannot open shared object file:"
+ " No such file or directory");
+ }
+
+ support_record_failure_barrier ();
+ exit (EXIT_SUCCESS);
+ }
+}
+
+#define PREPARE alternative_main
+#include <support/test-driver.c>
diff --git a/elf/tst-env-setuid-tunables.c b/elf/tst-env-setuid-tunables.c
index a4233b1..bfdb30c 100644
--- a/elf/tst-env-setuid-tunables.c
+++ b/elf/tst-env-setuid-tunables.c
@@ -105,10 +105,7 @@ do_test (int argc, char **argv)
if (ret != 0)
exit (1);
-
- /* Special return code to make sure that the child executed all the way
- through. */
- exit (42);
+ return 0;
}
else
{
@@ -127,18 +124,7 @@ do_test (int argc, char **argv)
continue;
}
- int status = support_capture_subprogram_self_sgid (buf);
-
- /* Bail out early if unsupported. */
- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
- return EXIT_UNSUPPORTED;
-
- if (WEXITSTATUS (status) != 42)
- {
- printf (" [%d] child failed with status %d\n", i,
- WEXITSTATUS (status));
- support_record_failure ();
- }
+ support_capture_subprogram_self_sgid (buf);
}
return 0;
}
diff --git a/elf/tst-env-setuid.c b/elf/tst-env-setuid.c
index 2c632ed..7209acd 100644
--- a/elf/tst-env-setuid.c
+++ b/elf/tst-env-setuid.c
@@ -147,10 +147,7 @@ do_test (int argc, char **argv)
if (ret != 0)
exit (1);
-
- /* Special return code to make sure that the child executed all the way
- through. */
- exit (42);
+ return 0;
}
else
{
@@ -174,17 +171,7 @@ do_test (int argc, char **argv)
free (profilepath);
}
- int status = support_capture_subprogram_self_sgid (SETGID_CHILD);
-
- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
- exit (EXIT_UNSUPPORTED);
-
- if (WEXITSTATUS (status) != 42)
- {
- printf (" child failed with status %d\n",
- WEXITSTATUS (status));
- support_record_failure ();
- }
+ support_capture_subprogram_self_sgid (SETGID_CHILD);
return 0;
}
diff --git a/elf/tst-gnu2-tls2.c b/elf/tst-gnu2-tls2.c
index 74637ee..6a253c9 100644
--- a/elf/tst-gnu2-tls2.c
+++ b/elf/tst-gnu2-tls2.c
@@ -25,7 +25,7 @@
#include <support/xthread.h>
#include <support/check.h>
#include <support/test-driver.h>
-#include "tst-gnu2-tls2.h"
+#include <tst-gnu2-tls2.h>
#ifndef IS_SUPPORTED
# define IS_SUPPORTED() true
@@ -75,7 +75,7 @@ close_mod (int i)
static void
access_mod (int i, const char *sym)
{
- struct tls var = { -1, -1, -1, -1 };
+ struct tls var = { -4, -4, -4, -4 };
struct tls *(*f) (struct tls *) = xdlsym (mod[i], sym);
/* Check that our malloc is called. */
malloc_counter = 0;
diff --git a/elf/tst-tls23-mod.c b/elf/tst-tls23-mod.c
new file mode 100644
index 0000000..3ee4c70
--- /dev/null
+++ b/elf/tst-tls23-mod.c
@@ -0,0 +1,32 @@
+/* DSO used by tst-tls23.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <tst-tls23.h>
+
+__thread struct tls tls_var0 __attribute__ ((visibility ("hidden")));
+
+struct tls *
+apply_tls (struct tls *p)
+{
+ INIT_TLS_CALL ();
+ BEFORE_TLS_CALL ();
+ tls_var0 = *p;
+ struct tls *ret = &tls_var0;
+ AFTER_TLS_CALL ();
+ return ret;
+}
diff --git a/elf/tst-tls23.c b/elf/tst-tls23.c
new file mode 100644
index 0000000..afe594c
--- /dev/null
+++ b/elf/tst-tls23.c
@@ -0,0 +1,106 @@
+/* Test that __tls_get_addr preserves caller-saved registers.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+#include <pthread.h>
+#include <support/xdlfcn.h>
+#include <support/xthread.h>
+#include <support/check.h>
+#include <support/test-driver.h>
+#include <tst-tls23.h>
+
+#ifndef IS_SUPPORTED
+# define IS_SUPPORTED() true
+#endif
+
+/* An architecture can define it to clobber caller-saved registers in
+ malloc below to verify that __tls_get_addr won't change caller-saved
+ registers. */
+#ifndef PREPARE_MALLOC
+# define PREPARE_MALLOC()
+#endif
+
+extern void * __libc_malloc (size_t);
+
+size_t malloc_counter = 0;
+
+void *
+malloc (size_t n)
+{
+ PREPARE_MALLOC ();
+ malloc_counter++;
+ return __libc_malloc (n);
+}
+
+static void *mod;
+static const char *modname = "tst-tls23-mod.so";
+
+static void
+open_mod (void)
+{
+ mod = xdlopen (modname, RTLD_LAZY);
+ printf ("open %s\n", modname);
+}
+
+static void
+close_mod (void)
+{
+ xdlclose (mod);
+ mod = NULL;
+ printf ("close %s\n", modname);
+}
+
+static void
+access_mod (const char *sym)
+{
+ struct tls var = { -4, -4, -4, -4 };
+ struct tls *(*f) (struct tls *) = xdlsym (mod, sym);
+ /* Check that our malloc is called. */
+ malloc_counter = 0;
+ struct tls *p = f (&var);
+ TEST_VERIFY (malloc_counter != 0);
+ printf ("access %s: %s() = %p\n", modname, sym, p);
+ TEST_VERIFY_EXIT (memcmp (p, &var, sizeof (var)) == 0);
+ ++(p->a);
+}
+
+static void *
+start (void *arg)
+{
+ access_mod ("apply_tls");
+ return arg;
+}
+
+static int
+do_test (void)
+{
+ if (!IS_SUPPORTED ())
+ return EXIT_UNSUPPORTED;
+
+ open_mod ();
+ pthread_t t = xpthread_create (NULL, start, NULL);
+ xpthread_join (t);
+ close_mod ();
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/elf/tst-tls23.h b/elf/tst-tls23.h
new file mode 100644
index 0000000..d0e7345
--- /dev/null
+++ b/elf/tst-tls23.h
@@ -0,0 +1,40 @@
+/* Test that __tls_get_addr preserves caller-saved registers.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stdint.h>
+
+struct tls
+{
+ int64_t a, b, c, d;
+};
+
+extern struct tls *apply_tls (struct tls *);
+
+/* An architecture can define them to verify that caller-saved registers
+ aren't changed by __tls_get_addr. */
+#ifndef INIT_TLS_CALL
+# define INIT_TLS_CALL()
+#endif
+
+#ifndef BEFORE_TLS_CALL
+# define BEFORE_TLS_CALL()
+#endif
+
+#ifndef AFTER_TLS_CALL
+# define AFTER_TLS_CALL()
+#endif
diff --git a/htl/Makefile b/htl/Makefile
index 603af24..c478047 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -25,12 +25,7 @@ SYSDEPS := lockfile
LCLHDRS :=
libpthread-routines := \
- pt-destroy-specific \
pt-init-specific \
- pt-key-create \
- pt-key-delete \
- pt-getspecific \
- pt-setspecific \
pt-alloc \
pt-create \
pt-getattr \
@@ -161,7 +156,11 @@ routines := \
pt-condattr-init \
pt-condattr-setclock \
pt-condattr-setpshared \
+ pt-destroy-specific \
pt-getschedparam \
+ pt-getspecific \
+ pt-key-create \
+ pt-key-delete \
pt-mutex-checklocked \
pt-mutex-consistent \
pt-mutex-destroy \
@@ -205,6 +204,7 @@ routines := \
pt-setcancelstate \
pt-setcanceltype \
pt-setschedparam \
+ pt-setspecific \
pt-sigmask \
pt-sigstate \
pt-sigstate-destroy \
diff --git a/htl/Versions b/htl/Versions
index a07a3b3..0052f82 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -2,6 +2,7 @@ libc {
GLIBC_2.12 {
pthread_self;
+ __pthread_key_create;
__pthread_self;
pthread_attr_getdetachstate;
pthread_attr_getinheritsched;
@@ -12,6 +13,7 @@ libc {
pthread_attr_setschedpolicy;
pthread_equal;
pthread_getschedparam;
+ pthread_getspecific;
pthread_setschedparam;
pthread_attr_destroy;
pthread_attr_getguardsize;
@@ -45,6 +47,8 @@ libc {
pthread_condattr_getpshared;
pthread_condattr_setclock;
pthread_condattr_setpshared;
+ pthread_key_create;
+ pthread_key_delete;
pthread_mutex_destroy;
pthread_mutex_getprioceiling;
pthread_mutex_init;
@@ -79,6 +83,7 @@ libc {
pthread_rwlockattr_setpshared;
pthread_setcancelstate;
pthread_setcanceltype;
+ pthread_setspecific;
pthread_sigmask;
}
@@ -154,6 +159,9 @@ libc {
pthread_barrierattr_getpshared;
pthread_barrierattr_init;
pthread_barrierattr_setpshared;
+ pthread_getspecific;
+ pthread_key_create;
+ pthread_key_delete;
pthread_mutex_consistent; pthread_mutex_consistent_np;
pthread_mutex_getprioceiling;
pthread_mutex_setprioceiling;
@@ -174,6 +182,7 @@ libc {
pthread_rwlockattr_getpshared;
pthread_rwlockattr_init;
pthread_rwlockattr_setpshared;
+ pthread_setspecific;
}
GLIBC_PRIVATE {
@@ -203,6 +212,9 @@ libc {
__pthread_cond_wait;
__pthread_condattr_init;
__pthread_default_condattr;
+ __pthread_destroy_specific;
+ __pthread_getspecific;
+ __pthread_key_delete;
__pthread_mutex_checklocked;
__pthread_mutex_destroy;
__pthread_mutex_init;
@@ -214,6 +226,7 @@ libc {
__pthread_mutexattr_init;
__pthread_mutexattr_settype;
__pthread_once;
+ __pthread_setspecific;
__pthread_sigstate;
__pthread_sigstate_destroy;
__pthread_sigmask;
@@ -255,20 +268,16 @@ libpthread {
pthread_getattr_np;
pthread_getconcurrency; pthread_getcpuclockid;
- pthread_getspecific;
pthread_join;
- pthread_key_create; pthread_key_delete;
- __pthread_key_create;
-
pthread_kill;
__pthread_kill;
pthread_mutex_transfer_np;
pthread_setconcurrency;
- pthread_setschedprio; pthread_setspecific;
+ pthread_setschedprio;
pthread_testcancel;
pthread_yield;
@@ -315,8 +324,6 @@ libpthread {
__cthread_keycreate;
__cthread_getspecific;
__cthread_setspecific;
- __pthread_getspecific;
- __pthread_setspecific;
__pthread_getattr_np;
__pthread_enable_asynccancel;
__pthread_disable_asynccancel;
diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c
index 658ba1e..cd8b467 100644
--- a/htl/pt-initialize.c
+++ b/htl/pt-initialize.c
@@ -30,9 +30,6 @@ static const struct pthread_functions pthread_functions = {
.ptr___pthread_exit = __pthread_exit,
.ptr___pthread_get_cleanup_stack = __pthread_get_cleanup_stack,
.ptr_pthread_once = __pthread_once,
- .ptr___pthread_key_create = __pthread_key_create,
- .ptr___pthread_getspecific = __pthread_getspecific,
- .ptr___pthread_setspecific = __pthread_setspecific,
.ptr__IO_flockfile = _cthreads_flockfile,
.ptr__IO_funlockfile = _cthreads_funlockfile,
.ptr__IO_ftrylockfile = _cthreads_ftrylockfile,
diff --git a/htl/pt-internal.h b/htl/pt-internal.h
index d19579b..8b37838 100644
--- a/htl/pt-internal.h
+++ b/htl/pt-internal.h
@@ -299,6 +299,7 @@ extern error_t __pthread_init_specific (struct __pthread *thread);
/* Call the destructors on all of the thread specific data in THREAD.
THREAD must be the calling thread. */
extern void __pthread_destroy_specific (struct __pthread *thread);
+libc_hidden_proto (__pthread_destroy_specific)
/* Initialize newly create thread *THREAD's signal state data
diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c
index 1c2fe3f..f9bf5c1 100644
--- a/hurd/intr-msg.c
+++ b/hurd/intr-msg.c
@@ -183,9 +183,12 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
switch (name)
{
case MACH_MSG_TYPE_MOVE_SEND:
- mach_port_t *ports = (mach_port_t *) data;
- for (i = 0; i < number; i++)
- __mach_port_deallocate (__mach_task_self (), *ports++);
+ {
+ mach_port_t *ports = (mach_port_t *) data;
+ for (i = 0; i < number; i++)
+ __mach_port_deallocate (__mach_task_self (),
+ *ports++);
+ }
if (ty->msgtl_header.msgt_longform)
ty->msgtl_name = MACH_MSG_TYPE_COPY_SEND;
else
diff --git a/include/array_length.h b/include/array_length.h
index 2305e21..2a4f09f 100644
--- a/include/array_length.h
+++ b/include/array_length.h
@@ -33,4 +33,18 @@
VAR must evaluate to an array, not a pointer. */
#define array_end(var) (&(var)[array_length (var)])
+/* array_foreach (PTR, ARRAY) iterates over all the elements in an
+ array, assigning the locally defined pointer variable PTR to each
+ element in turn.
+
+ array_foreach_const (PTR, ARRAY) does the same, but *PTR is declared
+ const even if the array is not. */
+#define array_foreach(ptr, array) \
+ for (__typeof ((array)[0]) *ptr = (array) ; \
+ ptr < array_end (array) ; ptr++)
+
+#define array_foreach_const(ptr, array) \
+ for (const __typeof ((array)[0]) *ptr = (array) ; \
+ ptr < array_end (array) ; ptr++)
+
#endif /* _ARRAY_LENGTH_H */
diff --git a/include/ctype.h b/include/ctype.h
index 493a6f8..a15e5b6 100644
--- a/include/ctype.h
+++ b/include/ctype.h
@@ -24,33 +24,35 @@ libc_hidden_proto (toupper)
NL_CURRENT_INDIRECT. */
# include "../locale/localeinfo.h"
-# include <libc-tsd.h>
# ifndef CTYPE_EXTERN_INLINE /* Used by ctype/ctype-info.c, which see. */
# define CTYPE_EXTERN_INLINE extern inline
# endif
-__libc_tsd_define (extern, const uint16_t *, CTYPE_B)
-__libc_tsd_define (extern, const int32_t *, CTYPE_TOUPPER)
-__libc_tsd_define (extern, const int32_t *, CTYPE_TOLOWER)
+extern __thread const uint16_t * __libc_tsd_CTYPE_B
+ attribute_hidden attribute_tls_model_ie;
+extern __thread const int32_t * __libc_tsd_CTYPE_TOUPPER
+ attribute_hidden attribute_tls_model_ie;
+extern __thread const int32_t * __libc_tsd_CTYPE_TOLOWER
+ attribute_hidden attribute_tls_model_ie;
CTYPE_EXTERN_INLINE const uint16_t ** __attribute__ ((const))
__ctype_b_loc (void)
{
- return __libc_tsd_address (const uint16_t *, CTYPE_B);
+ return &__libc_tsd_CTYPE_B;
}
CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_toupper_loc (void)
{
- return __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
+ return &__libc_tsd_CTYPE_TOUPPER;
}
CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_tolower_loc (void)
{
- return __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
+ return &__libc_tsd_CTYPE_TOLOWER;
}
# ifndef __NO_CTYPE
@@ -64,6 +66,11 @@ __ctype_tolower_loc (void)
# define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; })
# endif /* Not __NO_CTYPE. */
+/* For use in initializers. */
+extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
+extern const uint32_t _nl_C_LC_CTYPE_toupper[] attribute_hidden;
+extern const uint32_t _nl_C_LC_CTYPE_tolower[] attribute_hidden;
+
# endif /* IS_IN (libc). */
#endif /* Not _ISOMAC. */
diff --git a/include/elf.h b/include/elf.h
index 14ed67f..1424982 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -15,6 +15,19 @@
# define ELF_NOTE_NEXT_OFFSET(namesz, descsz, align) \
ALIGN_UP (ELF_NOTE_DESC_OFFSET ((namesz), (align)) + (descsz), (align))
+# ifdef HIDDEN_VAR_NEEDS_DYNAMIC_RELOC
+# define DL_ADDRESS_WITHOUT_RELOC(expr) (expr)
+# else
+/* Evaluate EXPR without run-time relocation for it. EXPR should be an
+ array, an address of an object, or a string literal. */
+# define DL_ADDRESS_WITHOUT_RELOC(expr) \
+ ({ \
+ __auto_type _result = (expr); \
+ asm ("" : "+r" (_result)); \
+ _result; \
+ })
+# endif
+
/* Some information which is not meant for the public and therefore not
in <elf.h>. */
# include <dl-dtprocnum.h>
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 91f64fd..b407fa8 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -208,7 +208,7 @@
#define __make_section_unallocated(section_string) \
asm (".section " section_string "\n\t.previous");
-/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
+/* Tacking on "\n\t#" to the section name makes gcc put its bogus
section attributes on what looks like a comment to the assembler. */
#ifdef HAVE_SECTION_QUOTES
# define __sec_comment "\"\n\t#\""
diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h
index f5cee6c..ba96783 100644
--- a/include/rpc/rpc.h
+++ b/include/rpc/rpc.h
@@ -3,8 +3,6 @@
# ifndef _ISOMAC
-#include <libc-tsd.h>
-
/* Now define the internal interfaces. */
extern unsigned long _create_xid (void);
@@ -47,7 +45,8 @@ extern void __rpc_thread_key_cleanup (void) attribute_hidden;
extern void __rpc_thread_destroy (void) attribute_hidden;
-__libc_tsd_define (extern, struct rpc_thread_variables *, RPC_VARS)
+extern __thread struct rpc_thread_variables *__libc_tsd_RPC_VARS
+ attribute_hidden attribute_tls_model_ie;
#define RPC_THREAD_VARIABLE(x) (__rpc_thread_variables()->x)
diff --git a/include/stdio.h b/include/stdio.h
index e48d709..3d917db 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -173,6 +173,10 @@ libc_hidden_proto (__fortify_fail)
/* The maximum number of varargs allowed in a __libc_message format string */
#define LIBC_MESSAGE_MAX_ARGS 4
+#define IOVEC_MAX_ERR_MSG "Fatal glibc error: Internal " \
+ "__libc_message error. Too many arguments.\n"
+#define IOVEC_MAX_ERR_MSG_LEN (sizeof (IOVEC_MAX_ERR_MSG) - 1)
+
_Noreturn void __libc_message_impl (const char *__fnt, ...) attribute_hidden
__attribute__ ((__format__ (__printf__, 1, 2)));
diff --git a/include/termios.h b/include/termios.h
index e2c35eb..d466082 100644
--- a/include/termios.h
+++ b/include/termios.h
@@ -2,7 +2,18 @@
#include <termios/termios.h>
#ifndef _ISOMAC
-/* Now define the internal interfaces. */
+extern speed_t __cfgetospeed (const struct termios *__termios_p);
+extern speed_t __cfgetispeed (const struct termios *__termios_p);
+extern int __cfsetospeed (struct termios *__termios_p, speed_t __speed);
+extern int __cfsetispeed (struct termios *__termios_p, speed_t __speed);
+extern int __cfsetspeed (struct termios *__termios_p, speed_t __speed);
+
+extern baud_t __cfgetobaud (const struct termios *__termios_p);
+extern baud_t __cfgetibaud (const struct termios *__termios_p);
+extern int __cfsetobaud (struct termios *__termios_p, baud_t __baud);
+extern int __cfsetibaud (struct termios *__termios_p, baud_t __baud);
+extern int __cfsetbaud (struct termios *__termios_p, baud_t __baud);
+
extern int __tcgetattr (int __fd, struct termios *__termios_p);
extern int __tcsetattr (int __fd, int __optional_actions,
const struct termios *__termios_p);
@@ -10,9 +21,17 @@ extern int __tcsetattr (int __fd, int __optional_actions,
extern int __libc_tcdrain (int __fd);
libc_hidden_proto (__tcgetattr)
-libc_hidden_proto (tcsetattr)
-libc_hidden_proto (cfsetispeed)
-libc_hidden_proto (cfsetospeed)
+libc_hidden_proto (__tcsetattr)
+libc_hidden_proto (__cfgetispeed)
+libc_hidden_proto (__cfgetospeed)
+libc_hidden_proto (__cfsetispeed)
+libc_hidden_proto (__cfsetospeed)
+libc_hidden_proto (__cfsetspeed)
+libc_hidden_proto (__cfgetibaud)
+libc_hidden_proto (__cfgetobaud)
+libc_hidden_proto (__cfsetibaud)
+libc_hidden_proto (__cfsetobaud)
+libc_hidden_proto (__cfsetbaud)
#endif
#endif
diff --git a/include/unistd.h b/include/unistd.h
index e241603..376ab5a 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -152,6 +152,7 @@ libc_hidden_proto (__ttyname_r)
extern __pid_t _Fork (void);
libc_hidden_proto (_Fork);
extern int __isatty (int __fd) attribute_hidden;
+extern int __isatty_nostatus (int __fd) attribute_hidden;
extern int __link (const char *__from, const char *__to);
extern int __symlink (const char *__from, const char *__to);
extern int __symlinkat (const char *__from, int __fd, const char *__to);
diff --git a/inet/inet_ntoa.c b/inet/inet_ntoa.c
index a4543f6..2efd24e 100644
--- a/inet/inet_ntoa.c
+++ b/inet/inet_ntoa.c
@@ -23,15 +23,12 @@
/* The interface of this function is completely stupid, it requires a
static buffer. We relax this a bit in that we allow one buffer for
each thread. */
-static __thread char buffer[18];
+static __thread char buffer[INET_ADDRSTRLEN];
char *
inet_ntoa (struct in_addr in)
{
- unsigned char *bytes = (unsigned char *) &in;
- __snprintf (buffer, sizeof (buffer), "%d.%d.%d.%d",
- bytes[0], bytes[1], bytes[2], bytes[3]);
-
+ __inet_ntop (AF_INET, &in, buffer, sizeof buffer);
return buffer;
}
diff --git a/io/Makefile b/io/Makefile
index e06f3cb..edee38e 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -92,6 +92,7 @@ routines := \
getdirname \
getwd \
isatty \
+ isatty_nostatus \
lchmod \
lchown \
link \
diff --git a/io/fcntl.h b/io/fcntl.h
index 59dc7d4..132d83a 100644
--- a/io/fcntl.h
+++ b/io/fcntl.h
@@ -281,16 +281,17 @@ extern int creat64 (const char *__file, mode_t __mode) __nonnull ((1));
# define F_TEST 3 /* Test a region for other processes locks. */
# ifndef __USE_FILE_OFFSET64
-extern int lockf (int __fd, int __cmd, off_t __len);
+extern int lockf (int __fd, int __cmd, off_t __len) __wur;
# else
# ifdef __REDIRECT
-extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64);
+extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len),
+ lockf64) __wur;
# else
# define lockf lockf64
# endif
# endif
# ifdef __USE_LARGEFILE64
-extern int lockf64 (int __fd, int __cmd, off64_t __len);
+extern int lockf64 (int __fd, int __cmd, off64_t __len) __wur;
# endif
#endif
diff --git a/io/isatty_nostatus.c b/io/isatty_nostatus.c
new file mode 100644
index 0000000..e8ee796
--- /dev/null
+++ b/io/isatty_nostatus.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <unistd.h>
+
+/* Return 1 if FD is a terminal, 0 if not, without changing errno */
+int
+__isatty_nostatus (int fd)
+{
+ int save_errno = errno;
+ int res = __isatty (fd);
+ __set_errno (save_errno);
+ return res;
+}
diff --git a/libio/filedoalloc.c b/libio/filedoalloc.c
index 9ddd75b..f360d96 100644
--- a/libio/filedoalloc.c
+++ b/libio/filedoalloc.c
@@ -61,16 +61,6 @@
#include <stdlib.h>
#include <unistd.h>
-/* Return the result of isatty, without changing errno. */
-static int
-local_isatty (int fd)
-{
- int save_errno = errno;
- int res = __isatty (fd);
- __set_errno (save_errno);
- return res;
-}
-
/* Allocate a file buffer, or switch to unbuffered I/O. Streams for
TTY devices default to line buffered. */
int
@@ -90,7 +80,7 @@ _IO_file_doallocate (FILE *fp)
#ifdef DEV_TTY_P
DEV_TTY_P (&st) ||
#endif
- local_isatty (fp->_fileno))
+ __isatty_nostatus (fp->_fileno))
fp->_flags |= _IO_LINE_BUF;
}
#if defined _STATBUF_ST_BLKSIZE
diff --git a/locale/iso-3166.def b/locale/iso-3166.def
index 3f3c82d..de62d20 100644
--- a/locale/iso-3166.def
+++ b/locale/iso-3166.def
@@ -76,6 +76,7 @@ DEFINE_COUNTRY_CODE ("EL SALVADOR", SV, SLV, 222)
DEFINE_COUNTRY_CODE ("EQUATORIAL GUINEA", GQ, GNQ, 226)
DEFINE_COUNTRY_CODE ("ERITREA", ER, ERI, 232)
DEFINE_COUNTRY_CODE ("ESTONIA", EE, EST, 233)
+DEFINE_COUNTRY_CODE ("ESWATINI", SZ, SWZ, 748)
DEFINE_COUNTRY_CODE ("ETHIOPIA", ET, ETH, 231)
DEFINE_COUNTRY_CODE ("FALKLAND ISLANDS (MALVINAS)", FK, FLK, 238)
DEFINE_COUNTRY_CODE ("FAROE ISLANDS", FO, FRO, 234)
@@ -137,7 +138,6 @@ DEFINE_COUNTRY_CODE ("LIECHTENSTEIN", LI, LIE, 438)
DEFINE_COUNTRY_CODE ("LITHUANIA", LT, LTU, 440)
DEFINE_COUNTRY_CODE ("LUXEMBOURG", LU, LUX, 442)
DEFINE_COUNTRY_CODE ("MACAU", MO, MAC, 446)
-DEFINE_COUNTRY_CODE ("MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF", MK, MKD, 807)
DEFINE_COUNTRY_CODE ("MADAGASCAR", MG, MDG, 450)
DEFINE_COUNTRY_CODE ("MALAWI", MW, MWI, 454)
DEFINE_COUNTRY_CODE ("MALAYSIA", MY, MYS, 458)
@@ -171,6 +171,7 @@ DEFINE_COUNTRY_CODE ("NIGER", NE, NER, 562)
DEFINE_COUNTRY_CODE ("NIGERIA", NG, NGA, 566)
DEFINE_COUNTRY_CODE ("NIUE", NU, NIU, 570)
DEFINE_COUNTRY_CODE ("NORFOLK ISLAND", NF, NFK, 574)
+DEFINE_COUNTRY_CODE ("NORTH MACEDONIA", MK, MKD, 807)
DEFINE_COUNTRY_CODE ("NORTHERN MARIANA ISLANDS", MP, MNP, 580)
DEFINE_COUNTRY_CODE ("NORWAY", NO, NOR, 578)
DEFINE_COUNTRY_CODE ("OMAN", OM, OMN, 512)
@@ -220,7 +221,6 @@ DEFINE_COUNTRY_CODE ("SRI LANKA", LK, LKA, 144)
DEFINE_COUNTRY_CODE ("SUDAN", SD, SDN, 729)
DEFINE_COUNTRY_CODE ("SURINAME", SR, SUR, 740)
DEFINE_COUNTRY_CODE ("SVALBARD AND JAN MAYEN", SJ, SJM, 744)
-DEFINE_COUNTRY_CODE ("SWAZILAND", SZ, SWZ, 748)
DEFINE_COUNTRY_CODE ("SWEDEN", SE, SWE, 752)
DEFINE_COUNTRY_CODE ("SWITZERLAND", CH, CHE, 756)
DEFINE_COUNTRY_CODE ("SYRIAN ARAB REPUBLIC", SY, SYR, 760)
diff --git a/locale/iso-4217.def b/locale/iso-4217.def
index 6b24e57..4248962 100644
--- a/locale/iso-4217.def
+++ b/locale/iso-4217.def
@@ -142,7 +142,7 @@ DEFINE_INT_CURR("SSP") /* South Sudanese Pound */
DEFINE_INT_CURR("STD") /* Sao Tome and Principe Dobra */
DEFINE_INT_CURR("SVC") /* El Salvador Colon */
DEFINE_INT_CURR("SYP") /* Syrian Arab Republic Pound */
-DEFINE_INT_CURR("SZL") /* Swaziland Lilangeni */
+DEFINE_INT_CURR("SZL") /* Eswatini Lilangeni */
DEFINE_INT_CURR("THB") /* Thai Baht */
DEFINE_INT_CURR("TJS") /* Tajikistani Somoni */
DEFINE_INT_CURR("TMM") /* Turkmenistan Manet */
diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
index 867f829..47be1c9 100644
--- a/locale/lc-ctype.c
+++ b/locale/lc-ctype.c
@@ -64,12 +64,9 @@ _nl_postload_ctype (void)
in fact using the global locale. */
if (_NL_CURRENT_LOCALE == &_nl_global_locale)
{
- __libc_tsd_set (const uint16_t *, CTYPE_B,
- (void *) _nl_global_locale.__ctype_b);
- __libc_tsd_set (const int32_t *, CTYPE_TOUPPER,
- (void *) _nl_global_locale.__ctype_toupper);
- __libc_tsd_set (const int32_t *, CTYPE_TOLOWER,
- (void *) _nl_global_locale.__ctype_tolower);
+ __libc_tsd_CTYPE_B = _nl_global_locale.__ctype_b;
+ __libc_tsd_CTYPE_TOUPPER = _nl_global_locale.__ctype_toupper;
+ __libc_tsd_CTYPE_TOLOWER = _nl_global_locale.__ctype_tolower;
}
#include <shlib-compat.h>
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index ab1b5e5..f503792 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -236,10 +236,9 @@ extern struct __locale_struct _nl_global_locale attribute_hidden;
/* This fetches the thread-local locale_t pointer, either one set with
uselocale or &_nl_global_locale. */
-#define _NL_CURRENT_LOCALE (__libc_tsd_get (locale_t, LOCALE))
-#include <libc-tsd.h>
-__libc_tsd_define (extern, locale_t, LOCALE)
-
+#define _NL_CURRENT_LOCALE __libc_tsd_LOCALE
+extern __thread locale_t __libc_tsd_LOCALE
+ attribute_hidden attribute_tls_model_ie;
/* For static linking it is desireable to avoid always linking in the code
and data for every category when we can tell at link time that they are
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 2c19f4f..ad025a8 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -638,7 +638,8 @@ open_archive (struct locarhandle *ah, bool readonly)
|| st.st_dev != st2.st_dev
|| st.st_ino != st2.st_ino)
{
- (void) lockf64 (fd, F_ULOCK, sizeof (struct locarhead));
+ if (lockf64 (fd, F_ULOCK, sizeof (struct locarhead)) != 0)
+ error (EXIT_FAILURE, errno, _("cannot unlock archive header"));
close (fd);
continue;
}
@@ -650,14 +651,17 @@ open_archive (struct locarhandle *ah, bool readonly)
/* Read the header. */
if (TEMP_FAILURE_RETRY (read (fd, &head, sizeof (head))) != sizeof (head))
{
- (void) lockf64 (fd, F_ULOCK, sizeof (struct locarhead));
- error (EXIT_FAILURE, errno, _("cannot read archive header"));
+ int errval = errno;
+ if (lockf64 (fd, F_ULOCK, sizeof (struct locarhead)) != 0)
+ error (EXIT_FAILURE, errno, _("cannot unlock archive header"));
+ error (EXIT_FAILURE, errval, _("cannot read archive header"));
}
/* Check the magic value */
if (GET (head.magic) != AR_MAGIC)
{
- (void) lockf64 (fd, F_ULOCK, sizeof (struct locarhead));
+ if (lockf64 (fd, F_ULOCK, sizeof (struct locarhead)) != 0)
+ error (EXIT_FAILURE, errno, _("cannot unlock archive header"));
error (EXIT_FAILURE, 0, _("bad magic value in archive header"));
}
@@ -676,8 +680,10 @@ open_archive (struct locarhandle *ah, bool readonly)
MAP_SHARED | xflags, fd, 0);
if (ah->addr == MAP_FAILED)
{
- (void) lockf64 (fd, F_ULOCK, sizeof (struct locarhead));
- error (EXIT_FAILURE, errno, _("cannot map archive header"));
+ int errval = errno;
+ if (lockf64 (fd, F_ULOCK, sizeof (struct locarhead)) != 0)
+ error (EXIT_FAILURE, errno, _("cannot unlock archive header"));
+ error (EXIT_FAILURE, errval, _("cannot map archive header"));
}
ah->reserved = reserved;
ah->mmap_base = mmap_base;
diff --git a/locale/uselocale.c b/locale/uselocale.c
index 606d043..5df87a2 100644
--- a/locale/uselocale.c
+++ b/locale/uselocale.c
@@ -34,7 +34,7 @@ __uselocale (locale_t newloc)
{
const locale_t locobj
= newloc == LC_GLOBAL_LOCALE ? &_nl_global_locale : newloc;
- __libc_tsd_set (locale_t, LOCALE, locobj);
+ __libc_tsd_LOCALE = locobj;
#ifdef NL_CURRENT_INDIRECT
/* Now we must update all the per-category thread-local variables to
@@ -62,11 +62,9 @@ __uselocale (locale_t newloc)
#endif
/* Update the special tsd cache of some locale data. */
- __libc_tsd_set (const uint16_t *, CTYPE_B, (void *) locobj->__ctype_b);
- __libc_tsd_set (const int32_t *, CTYPE_TOLOWER,
- (void *) locobj->__ctype_tolower);
- __libc_tsd_set (const int32_t *, CTYPE_TOUPPER,
- (void *) locobj->__ctype_toupper);
+ __libc_tsd_CTYPE_B = locobj->__ctype_b;
+ __libc_tsd_CTYPE_TOLOWER = locobj->__ctype_tolower;
+ __libc_tsd_CTYPE_TOUPPER = locobj->__ctype_toupper;
}
return oldloc == &_nl_global_locale ? LC_GLOBAL_LOCALE : oldloc;
diff --git a/locale/xlocale.c b/locale/xlocale.c
index 30c094d..5e25c0e 100644
--- a/locale/xlocale.c
+++ b/locale/xlocale.c
@@ -18,18 +18,13 @@
#include <locale.h>
#include "localeinfo.h"
+#include <ctype.h>
#define DEFINE_CATEGORY(category, category_name, items, a) \
extern struct __locale_data _nl_C_##category;
#include "categories.def"
#undef DEFINE_CATEGORY
-/* Defined in locale/C-ctype.c. */
-extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
-extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
-extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
-
-
const struct __locale_struct _nl_C_locobj attribute_hidden =
{
.__locales =
diff --git a/localedata/locales/fa_IR b/localedata/locales/fa_IR
index aa0dd18..ab7f459 100644
--- a/localedata/locales/fa_IR
+++ b/localedata/locales/fa_IR
@@ -84,7 +84,7 @@ END LC_CTYPE
LC_COLLATE
copy "iso14651_t1"
-% CLDR collation rules for Ukrainian:
+% CLDR collation rules for Persian:
% (see: https://unicode.org/cldr/trac/browser/trunk/common/collation/fa.xml)
%
% <collation type="standard">
diff --git a/localedata/tst-locale.sh b/localedata/tst-locale.sh
index bdc7969..2460602 100755
--- a/localedata/tst-locale.sh
+++ b/localedata/tst-locale.sh
@@ -50,7 +50,7 @@ test_locale ()
"Outputdir: \"${out}\" failed"
exit 1
else
- echo -n "locale $out generated succesfully"
+ echo -n "locale $out generated successfully"
if [ $ret -eq 1 ]; then
echo " (with warnings)"
else
diff --git a/login/openpty.c b/login/openpty.c
index fc45add..f7fd6b7 100644
--- a/login/openpty.c
+++ b/login/openpty.c
@@ -124,7 +124,7 @@ __openpty (int *pptmx, int *pterminal, char *name,
/* XXX Should we ignore errors here? */
if (termp)
- tcsetattr (terminal, TCSAFLUSH, termp);
+ __tcsetattr (terminal, TCSAFLUSH, termp);
#ifdef TIOCSWINSZ
if (winp)
__ioctl (terminal, TIOCSWINSZ, winp);
diff --git a/mach/mach_init.c b/mach/mach_init.c
index 9b05e4e..6237e9c 100644
--- a/mach/mach_init.c
+++ b/mach/mach_init.c
@@ -35,6 +35,10 @@ __mach_init (void)
{
kern_return_t err;
+ if (__mach_host_self_)
+ /* Already initialized. */
+ return;
+
__mach_task_self_ = (__mach_task_self) ();
__mach_host_self_ = (__mach_host_self) ();
__mig_init (0);
diff --git a/malloc/Makefile b/malloc/Makefile
index e2b2c1a..83f6c87 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -63,7 +63,7 @@ tests := \
tst-realloc \
tst-reallocarray \
tst-safe-linking \
- tst-tcfree1 tst-tcfree2 tst-tcfree3 \
+ tst-tcfree1 tst-tcfree2 tst-tcfree3 tst-tcfree4 \
tst-trim1 \
tst-valloc \
# tests
@@ -147,6 +147,22 @@ tests-malloc-hugetlb1 = \
tests-malloc-hugetlb2 = \
$(filter-out $(tests-exclude-hugetlb2), $(tests))
+tests-exclude-largetcache = \
+ tst-compathooks-off \
+ tst-compathooks-on \
+ tst-interpose-nothread \
+ tst-interpose-static-nothread \
+ tst-interpose-static-thread \
+ tst-interpose-thread \
+ tst-malloc-backtrace \
+ tst-malloc-usable \
+ tst-malloc-usable-tunables \
+ tst-mallocstate \
+# tests-exclude-largetcache
+
+tests-malloc-largetcache = \
+ $(filter-out $(tests-exclude-largetcache), $(tests))
+
# -lmcheck needs __malloc_initialize_hook, which was deprecated in 2.24.
ifeq ($(have-GLIBC_2.23)$(build-shared),yesyes)
# Tests that don't play well with mcheck. They are either bugs in mcheck or
@@ -219,32 +235,61 @@ libmemusage-inhibit-o = $(filter-out .os,$(object-suffixes))
libc_malloc_debug-routines = malloc-debug $(sysdep_malloc_debug_routines)
libc_malloc_debug-inhibit-o = $(filter-out .os,$(object-suffixes))
-$(objpfx)tst-malloc-backtrace: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-exit: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-fail: $(shared-thread-library)
-$(objpfx)tst-mallocfork3: $(shared-thread-library)
-$(objpfx)tst-mallocfork3-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc-fork-deadlock: $(shared-thread-library)
-$(objpfx)tst-malloc-stats-cancellation: $(shared-thread-library)
-$(objpfx)tst-malloc-backtrace-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-exit-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-fail-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc-fork-deadlock-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc-stats-cancellation-mcheck: $(shared-thread-library)
-$(objpfx)tst-mallocfork3-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-backtrace-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-exit-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-fail-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-fork-deadlock-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-stats-cancellation-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-exit-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-fail-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-malloc-fork-deadlock-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-malloc-stats-cancellation-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-exit-malloc-hugetlb2: $(shared-thread-library)
-$(objpfx)tst-malloc-thread-fail-malloc-hugetlb2: $(shared-thread-library)
-$(objpfx)tst-malloc-fork-deadlock-malloc-hugetlb2: $(shared-thread-library)
-$(objpfx)tst-malloc-stats-cancellation-malloc-hugetlb2: $(shared-thread-library)
+tests-link-with-libpthread = \
+ tst-aligned-alloc-random-thread \
+ tst-aligned-alloc-random-thread-cross \
+ tst-aligned-alloc-random-thread-cross-malloc-check \
+ tst-aligned-alloc-random-thread-cross-malloc-hugetlb1 \
+ tst-aligned-alloc-random-thread-cross-malloc-hugetlb2 \
+ tst-aligned-alloc-random-thread-malloc-check \
+ tst-aligned-alloc-random-thread-malloc-hugetlb1 \
+ tst-aligned-alloc-random-thread-malloc-hugetlb2 \
+ tst-interpose-thread \
+ tst-interpose-thread-malloc-check \
+ tst-interpose-thread-mcheck \
+ tst-malloc-backtrace \
+ tst-malloc-backtrace-malloc-check \
+ tst-malloc-backtrace-mcheck \
+ tst-malloc-fork-deadlock \
+ tst-malloc-fork-deadlock-malloc-check \
+ tst-malloc-fork-deadlock-malloc-hugetlb1 \
+ tst-malloc-fork-deadlock-malloc-hugetlb2 \
+ tst-malloc-fork-deadlock-mcheck \
+ tst-malloc-stats-cancellation \
+ tst-malloc-stats-cancellation-malloc-check \
+ tst-malloc-stats-cancellation-malloc-hugetlb1 \
+ tst-malloc-stats-cancellation-malloc-hugetlb2 \
+ tst-malloc-stats-cancellation-mcheck \
+ tst-malloc-tcache-leak \
+ tst-malloc-thread-exit \
+ tst-malloc-thread-exit-malloc-check \
+ tst-malloc-thread-exit-malloc-hugetlb1 \
+ tst-malloc-thread-exit-malloc-hugetlb2 \
+ tst-malloc-thread-exit-mcheck \
+ tst-malloc-thread-fail \
+ tst-malloc-thread-fail-malloc-check \
+ tst-malloc-thread-fail-malloc-hugetlb1 \
+ tst-malloc-thread-fail-malloc-hugetlb2 \
+ tst-malloc-thread-fail-mcheck \
+ tst-malloc_info \
+ tst-malloc_info-malloc-check \
+ tst-malloc_info-malloc-hugetlb1 \
+ tst-malloc_info-malloc-hugetlb2 \
+ tst-malloc_info-mcheck \
+ tst-mallocfork2 \
+ tst-mallocfork2-malloc-check \
+ tst-mallocfork3 \
+ tst-mallocfork3-malloc-check \
+ tst-mallocfork3-mcheck \
+ tst-memalign-3 \
+ tst-memalign-3-malloc-hugetlb1 \
+ tst-memalign-3-malloc-hugetlb2 \
+# tests-link-with-libpthread
+
+$(addprefix $(objpfx), $(tests-link-with-libpthread)): $(shared-thread-library)
+# Not all these tests are actually built, see tests-exclude-largetcache.
+$(tests-link-with-libpthread:%=$(objpfx)%-malloc-largetcache): \
+ $(shared-thread-library)
# These should be removed by `make clean'.
extra-objs = mcheck-init.o libmcheck.a
@@ -372,12 +417,9 @@ $(objpfx)tst-interpose-nothread: $(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-nothread-mcheck: $(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-nothread-malloc-check: \
$(objpfx)tst-interpose-aux-nothread.o
-$(objpfx)tst-interpose-thread: \
- $(objpfx)tst-interpose-aux-thread.o $(shared-thread-library)
-$(objpfx)tst-interpose-thread-mcheck: \
- $(objpfx)tst-interpose-aux-thread.o $(shared-thread-library)
-$(objpfx)tst-interpose-thread-malloc-check: \
- $(objpfx)tst-interpose-aux-thread.o $(shared-thread-library)
+$(objpfx)tst-interpose-thread: $(objpfx)tst-interpose-aux-thread.o
+$(objpfx)tst-interpose-thread-mcheck: $(objpfx)tst-interpose-aux-thread.o
+$(objpfx)tst-interpose-thread-malloc-check: $(objpfx)tst-interpose-aux-thread.o
$(objpfx)tst-interpose-static-nothread: $(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-static-thread: \
$(objpfx)tst-interpose-aux-thread.o $(static-thread-library)
@@ -394,18 +436,6 @@ $(objpfx)tst-dynarray-fail-mem.out: $(objpfx)tst-dynarray-fail.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-dynarray-fail.mtrace > $@; \
$(evaluate-test)
-$(objpfx)tst-malloc-tcache-leak: $(shared-thread-library)
-$(objpfx)tst-malloc_info: $(shared-thread-library)
-$(objpfx)tst-mallocfork2: $(shared-thread-library)
-$(objpfx)tst-malloc_info-mcheck: $(shared-thread-library)
-$(objpfx)tst-malloc_info-malloc-check: $(shared-thread-library)
-$(objpfx)tst-mallocfork2-malloc-check: $(shared-thread-library)
-$(objpfx)tst-malloc_info-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-malloc_info-malloc-hugetlb2: $(shared-thread-library)
-$(objpfx)tst-memalign-3: $(shared-thread-library)
-$(objpfx)tst-memalign-3-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-memalign-3-malloc-hugetlb2: $(shared-thread-library)
-
tst-compathooks-on-ENV = LD_PRELOAD=$(objpfx)libc_malloc_debug.so
tst-compathooks-on-mcheck-ENV = LD_PRELOAD=$(objpfx)libc_malloc_debug.so
tst-compathooks-on-malloc-check-ENV = \
@@ -419,15 +449,7 @@ $(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so
$(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so
$(objpfx)tst-aligned-alloc-random.out: $(objpfx)tst-aligned_alloc-lib.so
-$(objpfx)tst-aligned-alloc-random-thread: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-malloc-check: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-malloc-hugetlb2: $(shared-thread-library)
$(objpfx)tst-aligned-alloc-random-thread.out: $(objpfx)tst-aligned_alloc-lib.so
-$(objpfx)tst-aligned-alloc-random-thread-cross: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-check: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-hugetlb1: $(shared-thread-library)
-$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-hugetlb2: $(shared-thread-library)
$(objpfx)tst-aligned-alloc-random-thread-cross.out: $(objpfx)tst-aligned_alloc-lib.so
$(objpfx)tst-malloc-random.out: $(objpfx)tst-aligned_alloc-lib.so
diff --git a/malloc/arena.c b/malloc/arena.c
index 5672c69..90c526f 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -113,9 +113,6 @@ static mstate free_list;
acquired. */
__libc_lock_define_initialized (static, list_lock);
-/* Already initialized? */
-static bool __malloc_initialized = false;
-
/**************************************************************************/
@@ -168,9 +165,6 @@ arena_for_chunk (mchunkptr ptr)
void
__malloc_fork_lock_parent (void)
{
- if (!__malloc_initialized)
- return;
-
/* We do not acquire free_list_lock here because we completely
reconstruct free_list in __malloc_fork_unlock_child. */
@@ -188,9 +182,6 @@ __malloc_fork_lock_parent (void)
void
__malloc_fork_unlock_parent (void)
{
- if (!__malloc_initialized)
- return;
-
for (mstate ar_ptr = &main_arena;; )
{
__libc_lock_unlock (ar_ptr->mutex);
@@ -204,9 +195,6 @@ __malloc_fork_unlock_parent (void)
void
__malloc_fork_unlock_child (void)
{
- if (!__malloc_initialized)
- return;
-
/* Push all arenas to the free list, except thread_arena, which is
attached to the current thread. */
__libc_lock_init (free_list_lock);
@@ -259,14 +247,9 @@ TUNABLE_CALLBACK_FNDECL (set_hugetlb, size_t)
static void tcache_key_initialize (void);
#endif
-static void
-ptmalloc_init (void)
+void
+__ptmalloc_init (void)
{
- if (__malloc_initialized)
- return;
-
- __malloc_initialized = true;
-
#if USE_TCACHE
tcache_key_initialize ();
#endif
diff --git a/malloc/malloc-check.c b/malloc/malloc-check.c
index c5265ec..f5ca5fb 100644
--- a/malloc/malloc-check.c
+++ b/malloc/malloc-check.c
@@ -111,7 +111,7 @@ mem2chunk_check (void *mem, unsigned char **magic_p)
INTERNAL_SIZE_T sz, c;
unsigned char magic;
- if (!aligned_OK (mem))
+ if (misaligned_mem (mem))
return NULL;
p = mem2chunk (mem);
@@ -389,7 +389,7 @@ initialize_malloc_check (void)
{
/* This is the copy of the malloc initializer that we pulled in along with
malloc-check. This does not affect any of the libc malloc structures. */
- ptmalloc_init ();
+ __ptmalloc_init ();
TUNABLE_GET (check, int32_t, TUNABLE_CALLBACK (set_mallopt_check));
return __is_malloc_debug_enabled (MALLOC_CHECK_HOOK);
}
diff --git a/malloc/malloc-debug.c b/malloc/malloc-debug.c
index d208aa3..8bcb565 100644
--- a/malloc/malloc-debug.c
+++ b/malloc/malloc-debug.c
@@ -169,7 +169,7 @@ static void *
__debug_malloc (size_t bytes)
{
void *(*hook) (size_t, const void *) = atomic_forced_read (__malloc_hook);
- if (__builtin_expect (hook != NULL, 0))
+ if (__glibc_unlikely (hook != NULL))
return (*hook)(bytes, RETURN_ADDRESS (0));
void *victim = NULL;
@@ -193,7 +193,7 @@ static void
__debug_free (void *mem)
{
void (*hook) (void *, const void *) = atomic_forced_read (__free_hook);
- if (__builtin_expect (hook != NULL, 0))
+ if (__glibc_unlikely (hook != NULL))
{
(*hook)(mem, RETURN_ADDRESS (0));
return;
@@ -218,7 +218,7 @@ __debug_realloc (void *oldmem, size_t bytes)
{
void *(*hook) (void *, size_t, const void *) =
atomic_forced_read (__realloc_hook);
- if (__builtin_expect (hook != NULL, 0))
+ if (__glibc_unlikely (hook != NULL))
return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
size_t orig_bytes = bytes, oldsize = 0;
@@ -272,7 +272,7 @@ _debug_mid_memalign (size_t alignment, size_t bytes, const void *address)
{
void *(*hook) (size_t, size_t, const void *) =
atomic_forced_read (__memalign_hook);
- if (__builtin_expect (hook != NULL, 0))
+ if (__glibc_unlikely (hook != NULL))
return (*hook)(alignment, bytes, address);
void *victim = NULL;
@@ -371,7 +371,7 @@ __debug_calloc (size_t nmemb, size_t size)
}
void *(*hook) (size_t, const void *) = atomic_forced_read (__malloc_hook);
- if (__builtin_expect (hook != NULL, 0))
+ if (__glibc_unlikely (hook != NULL))
{
void *mem = (*hook)(bytes, RETURN_ADDRESS (0));
diff --git a/malloc/malloc-internal.h b/malloc/malloc-internal.h
index d88ed20..0f1b3a1 100644
--- a/malloc/malloc-internal.h
+++ b/malloc/malloc-internal.h
@@ -40,4 +40,7 @@ void __malloc_arena_thread_freeres (void) attribute_hidden;
/* Activate a standard set of debugging hooks. */
void __malloc_check_init (void) attribute_hidden;
+/* Initialize malloc. */
+void __ptmalloc_init (void) attribute_hidden;
+
#endif /* _MALLOC_INTERNAL_H */
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 9d860ea..6da40ad 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -291,8 +291,10 @@
#if USE_TCACHE
/* We want 64 entries. This is an arbitrary limit, which tunables can reduce. */
-# define TCACHE_MAX_BINS 64
-# define MAX_TCACHE_SIZE tidx2usize (TCACHE_MAX_BINS-1)
+# define TCACHE_SMALL_BINS 64
+# define TCACHE_LARGE_BINS 12 /* Up to 4M chunks */
+# define TCACHE_MAX_BINS (TCACHE_SMALL_BINS + TCACHE_LARGE_BINS)
+# define MAX_TCACHE_SMALL_SIZE tidx2usize (TCACHE_MAX_BINS-1)
/* Only used to pre-fill the tunables. */
# define tidx2usize(idx) (((size_t) idx) * MALLOC_ALIGNMENT + MINSIZE - SIZE_SZ)
@@ -313,7 +315,7 @@
# define TCACHE_FILL_COUNT 7
/* Maximum chunks in tcache bins for tunables. This value must fit the range
- of tcache->counts[] entries, else they may overflow. */
+ of tcache->num_slots[] entries, else they may overflow. */
# define MAX_TCACHE_COUNT UINT16_MAX
#endif
@@ -588,9 +590,12 @@ tag_at (void *ptr)
differs across systems, but is in all cases less than the maximum
representable value of a size_t.
*/
-void* __libc_malloc(size_t);
+void *__libc_malloc (size_t);
libc_hidden_proto (__libc_malloc)
+static void *__libc_calloc2 (size_t);
+static void *__libc_malloc2 (size_t);
+
/*
free(void* p)
Releases the chunk of memory pointed to by p, that had been previously
@@ -1096,7 +1101,7 @@ static void* _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T,
INTERNAL_SIZE_T);
static void* _int_memalign(mstate, size_t, size_t);
#if IS_IN (libc)
-static void* _mid_memalign(size_t, size_t, void *);
+static void* _mid_memalign(size_t, size_t);
#endif
#if USE_TCACHE
@@ -1304,11 +1309,9 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/* Check if m has acceptable alignment */
-#define aligned_OK(m) (((unsigned long)(m) & MALLOC_ALIGN_MASK) == 0)
+#define misaligned_mem(m) ((uintptr_t)(m) & MALLOC_ALIGN_MASK)
-#define misaligned_chunk(p) \
- ((uintptr_t)(MALLOC_ALIGNMENT == CHUNK_HDR_SZ ? (p) : chunk2mem (p)) \
- & MALLOC_ALIGN_MASK)
+#define misaligned_chunk(p) (misaligned_mem( chunk2mem (p)))
/* pad request bytes into a usable size -- internal version */
/* Note: This must be a macro that evaluates to a compile time constant
@@ -1618,7 +1621,7 @@ unlink_chunk (mstate av, mchunkptr p)
mchunkptr fd = p->fd;
mchunkptr bk = p->bk;
- if (__builtin_expect (fd->bk != p || bk->fd != p, 0))
+ if (__glibc_unlikely (fd->bk != p || bk->fd != p))
malloc_printerr ("corrupted double-linked list");
fd->bk = bk;
@@ -1891,8 +1894,8 @@ struct malloc_par
char *sbrk_base;
#if USE_TCACHE
- /* Maximum number of buckets to use. */
- size_t tcache_bins;
+ /* Maximum number of small buckets to use. */
+ size_t tcache_small_bins;
size_t tcache_max_bytes;
/* Maximum number of chunks in each bucket. */
size_t tcache_count;
@@ -1928,8 +1931,8 @@ static struct malloc_par mp_ =
#if USE_TCACHE
,
.tcache_count = TCACHE_FILL_COUNT,
- .tcache_bins = TCACHE_MAX_BINS,
- .tcache_max_bytes = tidx2usize (TCACHE_MAX_BINS-1),
+ .tcache_small_bins = TCACHE_SMALL_BINS,
+ .tcache_max_bytes = MAX_TCACHE_SMALL_SIZE,
.tcache_unsorted_limit = 0 /* No limit. */
#endif
};
@@ -1937,7 +1940,7 @@ static struct malloc_par mp_ =
/*
Initialize a malloc_state struct.
- This is called from ptmalloc_init () or from _int_new_arena ()
+ This is called from __ptmalloc_init () or from _int_new_arena ()
when creating a new arena.
*/
@@ -2098,7 +2101,7 @@ do_check_chunk (mstate av, mchunkptr p)
/* chunk is page-aligned */
assert (((prev_size (p) + sz) & (GLRO (dl_pagesize) - 1)) == 0);
/* mem is aligned */
- assert (aligned_OK (chunk2mem (p)));
+ assert (!misaligned_chunk (p));
}
}
@@ -2122,7 +2125,7 @@ do_check_free_chunk (mstate av, mchunkptr p)
if ((unsigned long) (sz) >= MINSIZE)
{
assert ((sz & MALLOC_ALIGN_MASK) == 0);
- assert (aligned_OK (chunk2mem (p)));
+ assert (!misaligned_chunk (p));
/* ... matching footer field */
assert (prev_size (next_chunk (p)) == sz);
/* ... and is fully consolidated */
@@ -2201,7 +2204,7 @@ do_check_remalloced_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T s)
assert ((sz & MALLOC_ALIGN_MASK) == 0);
assert ((unsigned long) (sz) >= MINSIZE);
/* ... and alignment */
- assert (aligned_OK (chunk2mem (p)));
+ assert (!misaligned_chunk (p));
/* chunk is less than MINSIZE more than request */
assert ((long) (sz) - (long) (s) >= 0);
assert ((long) (sz) - (long) (s + MINSIZE) < 0);
@@ -3089,7 +3092,7 @@ mremap_chunk (mchunkptr p, size_t new_size)
p = (mchunkptr) (cp + offset);
- assert (aligned_OK (chunk2mem (p)));
+ assert (!misaligned_chunk (p));
assert (prev_size (p) == offset);
set_head (p, (new_size - offset) | IS_MMAPPED);
@@ -3117,12 +3120,13 @@ typedef struct tcache_entry
/* There is one of these for each thread, which contains the
per-thread cache (hence "tcache_perthread_struct"). Keeping
- overall size low is mildly important. Note that COUNTS and ENTRIES
- are redundant (we could have just counted the linked list each
- time), this is for performance reasons. */
+ overall size low is mildly important. The 'entries' field is linked list of
+ free blocks, while 'num_slots' contains the number of free blocks that can
+ be added. Each bin may allow a different maximum number of free blocks,
+ and can be disabled by initializing 'num_slots' to zero. */
typedef struct tcache_perthread_struct
{
- uint16_t counts[TCACHE_MAX_BINS];
+ uint16_t num_slots[TCACHE_MAX_BINS];
tcache_entry *entries[TCACHE_MAX_BINS];
} tcache_perthread_struct;
@@ -3156,10 +3160,19 @@ tcache_key_initialize (void)
}
}
+static __always_inline size_t
+large_csize2tidx(size_t nb)
+{
+ size_t idx = TCACHE_SMALL_BINS
+ + __builtin_clz (MAX_TCACHE_SMALL_SIZE)
+ - __builtin_clz (nb);
+ return idx;
+}
+
/* Caller must ensure that we know tc_idx is valid and there's room
for more chunks. */
static __always_inline void
-tcache_put (mchunkptr chunk, size_t tc_idx)
+tcache_put_n (mchunkptr chunk, size_t tc_idx, tcache_entry **ep, bool mangled)
{
tcache_entry *e = (tcache_entry *) chunk2mem (chunk);
@@ -3167,80 +3180,160 @@ tcache_put (mchunkptr chunk, size_t tc_idx)
detect a double free. */
e->key = tcache_key;
- e->next = PROTECT_PTR (&e->next, tcache->entries[tc_idx]);
- tcache->entries[tc_idx] = e;
- ++(tcache->counts[tc_idx]);
+ if (!mangled)
+ {
+ e->next = PROTECT_PTR (&e->next, *ep);
+ *ep = e;
+ }
+ else
+ {
+ e->next = PROTECT_PTR (&e->next, REVEAL_PTR (*ep));
+ *ep = PROTECT_PTR (ep, e);
+ }
+ --(tcache->num_slots[tc_idx]);
}
/* Caller must ensure that we know tc_idx is valid and there's
available chunks to remove. Removes chunk from the middle of the
list. */
static __always_inline void *
-tcache_get_n (size_t tc_idx, tcache_entry **ep)
+tcache_get_n (size_t tc_idx, tcache_entry **ep, bool mangled)
{
tcache_entry *e;
- if (ep == &(tcache->entries[tc_idx]))
+ if (!mangled)
e = *ep;
else
e = REVEAL_PTR (*ep);
- if (__glibc_unlikely (!aligned_OK (e)))
+ if (__glibc_unlikely (misaligned_mem (e)))
malloc_printerr ("malloc(): unaligned tcache chunk detected");
- if (ep == &(tcache->entries[tc_idx]))
- *ep = REVEAL_PTR (e->next);
+ void *ne = e == NULL ? NULL : REVEAL_PTR (e->next);
+ if (!mangled)
+ *ep = ne;
else
- *ep = PROTECT_PTR (ep, REVEAL_PTR (e->next));
+ *ep = PROTECT_PTR (ep, ne);
- --(tcache->counts[tc_idx]);
+ ++(tcache->num_slots[tc_idx]);
e->key = 0;
return (void *) e;
}
+static __always_inline void
+tcache_put (mchunkptr chunk, size_t tc_idx)
+{
+ tcache_put_n (chunk, tc_idx, &tcache->entries[tc_idx], false);
+}
+
/* Like the above, but removes from the head of the list. */
static __always_inline void *
tcache_get (size_t tc_idx)
{
- return tcache_get_n (tc_idx, & tcache->entries[tc_idx]);
+ return tcache_get_n (tc_idx, & tcache->entries[tc_idx], false);
}
-/* Iterates through the tcache linked list. */
-static __always_inline tcache_entry *
-tcache_next (tcache_entry *e)
+static __always_inline tcache_entry **
+tcache_location_large (size_t nb, size_t tc_idx, bool *mangled)
{
- return (tcache_entry *) REVEAL_PTR (e->next);
+ tcache_entry **tep = &(tcache->entries[tc_idx]);
+ tcache_entry *te = *tep;
+ while (te != NULL
+ && __glibc_unlikely (chunksize (mem2chunk (te)) < nb))
+ {
+ tep = & (te->next);
+ te = REVEAL_PTR (te->next);
+ *mangled = true;
+ }
+
+ return tep;
}
-/* Check if tcache is available for alloc by corresponding tc_idx. */
-static __always_inline bool
-tcache_available (size_t tc_idx)
+static __always_inline void
+tcache_put_large (mchunkptr chunk, size_t tc_idx)
{
- if (tc_idx < mp_.tcache_bins
- && tcache != NULL
- && tcache->counts[tc_idx] > 0)
- return true;
- else
- return false;
+ tcache_entry **entry;
+ bool mangled = false;
+ entry = tcache_location_large (chunksize (chunk), tc_idx, &mangled);
+
+ return tcache_put_n (chunk, tc_idx, entry, mangled);
+}
+
+static __always_inline void *
+tcache_get_large (size_t tc_idx, size_t nb)
+{
+ tcache_entry **entry;
+ bool mangled = false;
+ entry = tcache_location_large (nb, tc_idx, &mangled);
+
+ if ((mangled && REVEAL_PTR (*entry) == NULL)
+ || (!mangled && *entry == NULL))
+ return NULL;
+
+ return tcache_get_n (tc_idx, entry, mangled);
+}
+
+static void tcache_init (void);
+
+static __always_inline void *
+tcache_get_align (size_t nb, size_t alignment)
+{
+ if (nb < mp_.tcache_max_bytes)
+ {
+ if (__glibc_unlikely (tcache == NULL))
+ {
+ tcache_init ();
+ return NULL;
+ }
+
+ size_t tc_idx = csize2tidx (nb);
+ if (__glibc_unlikely (tc_idx >= TCACHE_SMALL_BINS))
+ tc_idx = large_csize2tidx (nb);
+
+ /* The tcache itself isn't encoded, but the chain is. */
+ tcache_entry **tep = & tcache->entries[tc_idx];
+ tcache_entry *te = *tep;
+ bool mangled = false;
+ size_t csize;
+
+ while (te != NULL
+ && ((csize = chunksize (mem2chunk (te))) < nb
+ || (csize == nb
+ && !PTR_IS_ALIGNED (te, alignment))))
+ {
+ tep = & (te->next);
+ te = REVEAL_PTR (te->next);
+ mangled = true;
+ }
+
+ if (te != NULL
+ && csize == nb
+ && PTR_IS_ALIGNED (te, alignment))
+ return tag_new_usable (tcache_get_n (tc_idx, tep, mangled));
+ }
+ return NULL;
}
/* Verify if the suspicious tcache_entry is double free.
It's not expected to execute very often, mark it as noinline. */
static __attribute__ ((noinline)) void
-tcache_double_free_verify (tcache_entry *e, size_t tc_idx)
+tcache_double_free_verify (tcache_entry *e)
{
tcache_entry *tmp;
- size_t cnt = 0;
- LIBC_PROBE (memory_tcache_double_free, 2, e, tc_idx);
- for (tmp = tcache->entries[tc_idx];
- tmp;
- tmp = REVEAL_PTR (tmp->next), ++cnt)
+ for (size_t tc_idx = 0; tc_idx < TCACHE_MAX_BINS; ++tc_idx)
{
- if (cnt >= mp_.tcache_count)
- malloc_printerr ("free(): too many chunks detected in tcache");
- if (__glibc_unlikely (!aligned_OK (tmp)))
- malloc_printerr ("free(): unaligned chunk detected in tcache 2");
- if (tmp == e)
- malloc_printerr ("free(): double free detected in tcache 2");
+ size_t cnt = 0;
+ LIBC_PROBE (memory_tcache_double_free, 2, e, tc_idx);
+ for (tmp = tcache->entries[tc_idx];
+ tmp;
+ tmp = REVEAL_PTR (tmp->next), ++cnt)
+ {
+ if (cnt >= mp_.tcache_count)
+ malloc_printerr ("free(): too many chunks detected in tcache");
+ if (__glibc_unlikely (misaligned_mem (tmp)))
+ malloc_printerr ("free(): unaligned chunk detected in tcache 2");
+ if (tmp == e)
+ malloc_printerr ("free(): double free detected in tcache 2");
+ }
}
/* No double free detected - it might be in a tcache of another thread,
or user data that happens to match the key. Since we are not sure,
@@ -3270,7 +3363,7 @@ tcache_thread_shutdown (void)
while (tcache_tmp->entries[i])
{
tcache_entry *e = tcache_tmp->entries[i];
- if (__glibc_unlikely (!aligned_OK (e)))
+ if (__glibc_unlikely (misaligned_mem (e)))
malloc_printerr ("tcache_thread_shutdown(): "
"unaligned tcache chunk detected");
tcache_tmp->entries[i] = REVEAL_PTR (e->next);
@@ -3281,52 +3374,45 @@ tcache_thread_shutdown (void)
__libc_free (tcache_tmp);
}
+/* Initialize tcache. In the rare case there isn't any memory available,
+ later calls will retry initialization. */
static void
-tcache_init(void)
+tcache_init (void)
{
- mstate ar_ptr;
- void *victim = NULL;
- const size_t bytes = sizeof (tcache_perthread_struct);
-
if (tcache_shutting_down)
return;
/* Check minimum mmap chunk is larger than max tcache size. This means
mmap chunks with their different layout are never added to tcache. */
- if (MAX_TCACHE_SIZE >= GLRO (dl_pagesize) / 2)
+ if (MAX_TCACHE_SMALL_SIZE >= GLRO (dl_pagesize) / 2)
malloc_printerr ("max tcache size too large");
- arena_get (ar_ptr, bytes);
- victim = _int_malloc (ar_ptr, bytes);
- if (!victim && ar_ptr != NULL)
- {
- ar_ptr = arena_get_retry (ar_ptr, bytes);
- victim = _int_malloc (ar_ptr, bytes);
- }
-
-
- if (ar_ptr != NULL)
- __libc_lock_unlock (ar_ptr->mutex);
+ size_t bytes = sizeof (tcache_perthread_struct);
+ tcache = (tcache_perthread_struct *) __libc_malloc2 (bytes);
- /* In a low memory situation, we may not be able to allocate memory
- - in which case, we just keep trying later. However, we
- typically do this very early, so either there is sufficient
- memory, or there isn't enough memory to do non-trivial
- allocations anyway. */
- if (victim)
+ if (tcache != NULL)
{
- tcache = (tcache_perthread_struct *) victim;
- memset (tcache, 0, sizeof (tcache_perthread_struct));
+ memset (tcache, 0, bytes);
+ for (int i = 0; i < TCACHE_MAX_BINS; i++)
+ tcache->num_slots[i] = mp_.tcache_count;
}
+}
+static void * __attribute_noinline__
+tcache_calloc_init (size_t bytes)
+{
+ tcache_init ();
+ return __libc_calloc2 (bytes);
}
-# define MAYBE_INIT_TCACHE() \
- if (__glibc_unlikely (tcache == NULL)) \
- tcache_init();
+static void * __attribute_noinline__
+tcache_malloc_init (size_t bytes)
+{
+ tcache_init ();
+ return __libc_malloc2 (bytes);
+}
#else /* !USE_TCACHE */
-# define MAYBE_INIT_TCACHE()
static void
tcache_thread_shutdown (void)
@@ -3344,11 +3430,6 @@ __libc_malloc2 (size_t bytes)
mstate ar_ptr;
void *victim;
- if (!__malloc_initialized)
- ptmalloc_init ();
-
- MAYBE_INIT_TCACHE ();
-
if (SINGLE_THREAD_P)
{
victim = tag_new_usable (_int_malloc (&main_arena, bytes));
@@ -3383,10 +3464,32 @@ void *
__libc_malloc (size_t bytes)
{
#if USE_TCACHE
- size_t tc_idx = usize2tidx (bytes);
+ size_t nb = checked_request2size (bytes);
+ if (nb == 0)
+ {
+ __set_errno (ENOMEM);
+ return NULL;
+ }
- if (tcache_available (tc_idx))
- return tag_new_usable (tcache_get (tc_idx));
+ if (nb < mp_.tcache_max_bytes)
+ {
+ size_t tc_idx = csize2tidx (nb);
+ if(__glibc_unlikely (tcache == NULL))
+ return tcache_malloc_init (bytes);
+
+ if (__glibc_likely (tc_idx < TCACHE_SMALL_BINS))
+ {
+ if (tcache->entries[tc_idx] != NULL)
+ return tag_new_usable (tcache_get (tc_idx));
+ }
+ else
+ {
+ tc_idx = large_csize2tidx (nb);
+ void *victim = tcache_get_large (tc_idx, nb);
+ if (victim != NULL)
+ return tag_new_usable (victim);
+ }
+ }
#endif
return __libc_malloc2 (bytes);
@@ -3419,19 +3522,29 @@ __libc_free (void *mem)
check_inuse_chunk (arena_for_chunk (p), p);
#if USE_TCACHE
- size_t tc_idx = csize2tidx (size);
-
- if (__glibc_likely (tcache != NULL && tc_idx < mp_.tcache_bins))
+ if (__glibc_likely (size < mp_.tcache_max_bytes && tcache != NULL))
{
/* Check to see if it's already in the tcache. */
tcache_entry *e = (tcache_entry *) chunk2mem (p);
/* Check for double free - verify if the key matches. */
if (__glibc_unlikely (e->key == tcache_key))
- return tcache_double_free_verify (e, tc_idx);
+ return tcache_double_free_verify (e);
- if (__glibc_likely (tcache->counts[tc_idx] < mp_.tcache_count))
- return tcache_put (p, tc_idx);
+ size_t tc_idx = csize2tidx (size);
+ if (__glibc_likely (tc_idx < TCACHE_SMALL_BINS))
+ {
+ if (__glibc_likely (tcache->num_slots[tc_idx] != 0))
+ return tcache_put (p, tc_idx);
+ }
+ else
+ {
+ tc_idx = large_csize2tidx (size);
+ if (size >= MINSIZE
+ && !chunk_is_mmapped (p)
+ && __glibc_likely (tcache->num_slots[tc_idx] != 0))
+ return tcache_put_large (p, tc_idx);
+ }
}
#endif
@@ -3452,9 +3565,6 @@ __libc_realloc (void *oldmem, size_t bytes)
void *newp; /* chunk to return */
- if (!__malloc_initialized)
- ptmalloc_init ();
-
#if REALLOC_ZERO_BYTES_FREES
if (bytes == 0 && oldmem != NULL)
{
@@ -3500,8 +3610,8 @@ __libc_realloc (void *oldmem, size_t bytes)
never wraps around at the end of the address space. Therefore
we can exclude some size values which might appear here by
accident or by "design" from some intruder. */
- if ((__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
- || __builtin_expect (misaligned_chunk (oldp), 0)))
+ if (__glibc_unlikely ((uintptr_t) oldp > (uintptr_t) -oldsize
+ || misaligned_chunk (oldp)))
malloc_printerr ("realloc(): invalid pointer");
nb = checked_request2size (bytes);
@@ -3580,11 +3690,7 @@ libc_hidden_def (__libc_realloc)
void *
__libc_memalign (size_t alignment, size_t bytes)
{
- if (!__malloc_initialized)
- ptmalloc_init ();
-
- void *address = RETURN_ADDRESS (0);
- return _mid_memalign (alignment, bytes, address);
+ return _mid_memalign (alignment, bytes);
}
libc_hidden_def (__libc_memalign)
@@ -3593,9 +3699,6 @@ void *
weak_function
aligned_alloc (size_t alignment, size_t bytes)
{
- if (!__malloc_initialized)
- ptmalloc_init ();
-
/* Similar to memalign, but starting with ISO C17 the standard
requires an error for alignments that are not supported by the
implementation. Valid alignments for the current implementation
@@ -3606,12 +3709,11 @@ aligned_alloc (size_t alignment, size_t bytes)
return NULL;
}
- void *address = RETURN_ADDRESS (0);
- return _mid_memalign (alignment, bytes, address);
+ return _mid_memalign (alignment, bytes);
}
static void *
-_mid_memalign (size_t alignment, size_t bytes, void *address)
+_mid_memalign (size_t alignment, size_t bytes)
{
mstate ar_ptr;
void *p;
@@ -3643,27 +3745,15 @@ _mid_memalign (size_t alignment, size_t bytes, void *address)
}
#if USE_TCACHE
- {
- size_t tc_idx = usize2tidx (bytes);
-
- if (tcache_available (tc_idx))
- {
- /* The tcache itself isn't encoded, but the chain is. */
- tcache_entry **tep = & tcache->entries[tc_idx];
- tcache_entry *te = *tep;
- while (te != NULL && !PTR_IS_ALIGNED (te, alignment))
- {
- tep = & (te->next);
- te = tcache_next (te);
- }
- if (te != NULL)
- {
- void *victim = tcache_get_n (tc_idx, tep);
- return tag_new_usable (victim);
- }
- }
- MAYBE_INIT_TCACHE ();
- }
+ size_t nb = checked_request2size (bytes);
+ if (nb == 0)
+ {
+ __set_errno (ENOMEM);
+ return NULL;
+ }
+ void *victim = tcache_get_align (nb, alignment);
+ if (victim != NULL)
+ return tag_new_usable (victim);
#endif
if (SINGLE_THREAD_P)
@@ -3695,21 +3785,12 @@ _mid_memalign (size_t alignment, size_t bytes, void *address)
void *
__libc_valloc (size_t bytes)
{
- if (!__malloc_initialized)
- ptmalloc_init ();
-
- void *address = RETURN_ADDRESS (0);
- size_t pagesize = GLRO (dl_pagesize);
- return _mid_memalign (pagesize, bytes, address);
+ return _mid_memalign (GLRO (dl_pagesize), bytes);
}
void *
__libc_pvalloc (size_t bytes)
{
- if (!__malloc_initialized)
- ptmalloc_init ();
-
- void *address = RETURN_ADDRESS (0);
size_t pagesize = GLRO (dl_pagesize);
size_t rounded_bytes;
/* ALIGN_UP with overflow check. */
@@ -3720,47 +3801,18 @@ __libc_pvalloc (size_t bytes)
__set_errno (ENOMEM);
return NULL;
}
- rounded_bytes = rounded_bytes & -(pagesize - 1);
- return _mid_memalign (pagesize, rounded_bytes, address);
+ return _mid_memalign (pagesize, rounded_bytes & -pagesize);
}
-void *
-__libc_calloc (size_t n, size_t elem_size)
+static void * __attribute_noinline__
+__libc_calloc2 (size_t sz)
{
mstate av;
mchunkptr oldtop, p;
- INTERNAL_SIZE_T sz, oldtopsize, csz;
+ INTERNAL_SIZE_T oldtopsize, csz;
void *mem;
unsigned long clearsize;
- ptrdiff_t bytes;
-
- if (__glibc_unlikely (__builtin_mul_overflow (n, elem_size, &bytes)))
- {
- __set_errno (ENOMEM);
- return NULL;
- }
-
- sz = bytes;
-
- if (!__malloc_initialized)
- ptmalloc_init ();
-
-#if USE_TCACHE
- size_t tc_idx = usize2tidx (bytes);
- if (tcache_available (tc_idx))
- {
- mem = tcache_get (tc_idx);
- p = mem2chunk (mem);
- if (__glibc_unlikely (mtag_enabled))
- return tag_new_zero_region (mem, memsize (p));
-
- csz = chunksize (p);
- clearsize = csz - SIZE_SZ;
- return clear_memory ((INTERNAL_SIZE_T *) mem, clearsize);
- }
- MAYBE_INIT_TCACHE ();
-#endif
if (SINGLE_THREAD_P)
av = &main_arena;
@@ -3829,7 +3881,7 @@ __libc_calloc (size_t n, size_t elem_size)
/* Two optional cases in which clearing not necessary */
if (chunk_is_mmapped (p))
{
- if (__builtin_expect (perturb_byte, 0))
+ if (__glibc_unlikely (perturb_byte))
return memset (mem, 0, sz);
return mem;
@@ -3846,6 +3898,59 @@ __libc_calloc (size_t n, size_t elem_size)
clearsize = csz - SIZE_SZ;
return clear_memory ((INTERNAL_SIZE_T *) mem, clearsize);
}
+
+void *
+__libc_calloc (size_t n, size_t elem_size)
+{
+ size_t bytes;
+
+ if (__glibc_unlikely (__builtin_mul_overflow (n, elem_size, &bytes)))
+ {
+ __set_errno (ENOMEM);
+ return NULL;
+ }
+
+#if USE_TCACHE
+ size_t nb = checked_request2size (bytes);
+ if (nb == 0)
+ {
+ __set_errno (ENOMEM);
+ return NULL;
+ }
+ if (nb < mp_.tcache_max_bytes)
+ {
+ if (__glibc_unlikely (tcache == NULL))
+ return tcache_calloc_init (bytes);
+
+ size_t tc_idx = csize2tidx (nb);
+
+ if (__glibc_unlikely (tc_idx < TCACHE_SMALL_BINS))
+ {
+ if (tcache->entries[tc_idx] != NULL)
+ {
+ void *mem = tcache_get (tc_idx);
+ if (__glibc_unlikely (mtag_enabled))
+ return tag_new_zero_region (mem, memsize (mem2chunk (mem)));
+
+ return clear_memory ((INTERNAL_SIZE_T *) mem, tidx2usize (tc_idx));
+ }
+ }
+ else
+ {
+ tc_idx = large_csize2tidx (nb);
+ void *mem = tcache_get_large (tc_idx, nb);
+ if (mem != NULL)
+ {
+ if (__glibc_unlikely (mtag_enabled))
+ return tag_new_zero_region (mem, memsize (mem2chunk (mem)));
+
+ return memset (mem, 0, memsize (mem2chunk (mem)));
+ }
+ }
+ }
+#endif
+ return __libc_calloc2 (bytes);
+}
#endif /* IS_IN (libc) */
/*
@@ -3941,20 +4046,19 @@ _int_malloc (mstate av, size_t bytes)
if (__glibc_likely (victim != NULL))
{
size_t victim_idx = fastbin_index (chunksize (victim));
- if (__builtin_expect (victim_idx != idx, 0))
+ if (__glibc_unlikely (victim_idx != idx))
malloc_printerr ("malloc(): memory corruption (fast)");
check_remalloced_chunk (av, victim, nb);
#if USE_TCACHE
/* While we're here, if we see other chunks of the same size,
stash them in the tcache. */
size_t tc_idx = csize2tidx (nb);
- if (tcache != NULL && tc_idx < mp_.tcache_bins)
+ if (tcache != NULL && tc_idx < mp_.tcache_small_bins)
{
mchunkptr tc_victim;
/* While bin not empty and tcache not full, copy chunks. */
- while (tcache->counts[tc_idx] < mp_.tcache_count
- && (tc_victim = *fb) != NULL)
+ while (tcache->num_slots[tc_idx] != 0 && (tc_victim = *fb) != NULL)
{
if (__glibc_unlikely (misaligned_chunk (tc_victim)))
malloc_printerr ("malloc(): unaligned fastbin chunk detected 3");
@@ -4009,12 +4113,12 @@ _int_malloc (mstate av, size_t bytes)
/* While we're here, if we see other chunks of the same size,
stash them in the tcache. */
size_t tc_idx = csize2tidx (nb);
- if (tcache != NULL && tc_idx < mp_.tcache_bins)
+ if (tcache != NULL && tc_idx < mp_.tcache_small_bins)
{
mchunkptr tc_victim;
/* While bin not empty and tcache not full, copy chunks over. */
- while (tcache->counts[tc_idx] < mp_.tcache_count
+ while (tcache->num_slots[tc_idx] != 0
&& (tc_victim = last (bin)) != bin)
{
if (tc_victim != NULL)
@@ -4071,7 +4175,7 @@ _int_malloc (mstate av, size_t bytes)
#if USE_TCACHE
INTERNAL_SIZE_T tcache_nb = 0;
size_t tc_idx = csize2tidx (nb);
- if (tcache != NULL && tc_idx < mp_.tcache_bins)
+ if (tcache != NULL && tc_idx < mp_.tcache_small_bins)
tcache_nb = nb;
int return_cached = 0;
@@ -4152,7 +4256,7 @@ _int_malloc (mstate av, size_t bytes)
/* Fill cache first, return to user only if cache fills.
We may return one of these chunks later. */
if (tcache_nb > 0
- && tcache->counts[tc_idx] < mp_.tcache_count)
+ && tcache->num_slots[tc_idx] != 0)
{
tcache_put (victim, tc_idx);
return_cached = 1;
@@ -4531,10 +4635,9 @@ _int_free_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size, int have_lock)
#endif
) {
- if (__builtin_expect (chunksize_nomask (chunk_at_offset (p, size))
- <= CHUNK_HDR_SZ, 0)
- || __builtin_expect (chunksize (chunk_at_offset (p, size))
- >= av->system_mem, 0))
+ if (__glibc_unlikely (
+ chunksize_nomask (chunk_at_offset(p, size)) <= CHUNK_HDR_SZ
+ || chunksize (chunk_at_offset(p, size)) >= av->system_mem))
{
bool fail = true;
/* We might not have a lock at this point and concurrent modifications
@@ -4565,7 +4668,7 @@ _int_free_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size, int have_lock)
{
/* Check that the top of the bin is not the record we are going to
add (i.e., double free). */
- if (__builtin_expect (old == p, 0))
+ if (__glibc_unlikely (old == p))
malloc_printerr ("double free or corruption (fasttop)");
p->fd = PROTECT_PTR (&p->fd, old);
*fb = p;
@@ -4575,7 +4678,7 @@ _int_free_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size, int have_lock)
{
/* Check that the top of the bin is not the record we are going to
add (i.e., double free). */
- if (__builtin_expect (old == p, 0))
+ if (__glibc_unlikely (old == p))
malloc_printerr ("double free or corruption (fasttop)");
old2 = old;
p->fd = PROTECT_PTR (&p->fd, old);
@@ -4588,7 +4691,7 @@ _int_free_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size, int have_lock)
only if we have the lock, otherwise it might have already been
allocated again. */
if (have_lock && old != NULL
- && __builtin_expect (fastbin_index (chunksize (old)) != idx, 0))
+ && __glibc_unlikely (fastbin_index (chunksize (old)) != idx))
malloc_printerr ("invalid fastbin entry (free)");
}
@@ -4655,17 +4758,17 @@ _int_free_merge_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size)
if (__glibc_unlikely (p == av->top))
malloc_printerr ("double free or corruption (top)");
/* Or whether the next chunk is beyond the boundaries of the arena. */
- if (__builtin_expect (contiguous (av)
+ if (__glibc_unlikely (contiguous (av)
&& (char *) nextchunk
- >= ((char *) av->top + chunksize(av->top)), 0))
+ >= ((char *) av->top + chunksize(av->top))))
malloc_printerr ("double free or corruption (out)");
/* Or whether the block is actually not marked used. */
if (__glibc_unlikely (!prev_inuse(nextchunk)))
malloc_printerr ("double free or corruption (!prev)");
INTERNAL_SIZE_T nextsize = chunksize(nextchunk);
- if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0)
- || __builtin_expect (nextsize >= av->system_mem, 0))
+ if (__glibc_unlikely (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ
+ || nextsize >= av->system_mem))
malloc_printerr ("free(): invalid next size (normal)");
free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ);
@@ -4922,9 +5025,9 @@ _int_realloc (mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
unsigned long remainder_size; /* its size */
/* oldmem size */
- if (__builtin_expect (chunksize_nomask (oldp) <= CHUNK_HDR_SZ, 0)
- || __builtin_expect (oldsize >= av->system_mem, 0)
- || __builtin_expect (oldsize != chunksize (oldp), 0))
+ if (__glibc_unlikely (chunksize_nomask (oldp) <= CHUNK_HDR_SZ
+ || oldsize >= av->system_mem
+ || oldsize != chunksize (oldp)))
malloc_printerr ("realloc(): invalid old size");
check_inuse_chunk (av, oldp);
@@ -4934,8 +5037,8 @@ _int_realloc (mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
next = chunk_at_offset (oldp, oldsize);
INTERNAL_SIZE_T nextsize = chunksize (next);
- if (__builtin_expect (chunksize_nomask (next) <= CHUNK_HDR_SZ, 0)
- || __builtin_expect (nextsize >= av->system_mem, 0))
+ if (__glibc_unlikely (chunksize_nomask (next) <= CHUNK_HDR_SZ
+ || nextsize >= av->system_mem))
malloc_printerr ("realloc(): invalid next size");
if ((unsigned long) (oldsize) >= (unsigned long) (nb))
@@ -5208,9 +5311,6 @@ __malloc_trim (size_t s)
{
int result = 0;
- if (!__malloc_initialized)
- ptmalloc_init ();
-
mstate ar_ptr = &main_arena;
do
{
@@ -5327,9 +5427,6 @@ __libc_mallinfo2 (void)
struct mallinfo2 m;
mstate ar_ptr;
- if (!__malloc_initialized)
- ptmalloc_init ();
-
memset (&m, 0, sizeof (m));
ar_ptr = &main_arena;
do
@@ -5378,8 +5475,6 @@ __malloc_stats (void)
mstate ar_ptr;
unsigned int in_use_b = mp_.mmapped_mem, system_b = in_use_b;
- if (!__malloc_initialized)
- ptmalloc_init ();
_IO_flockfile (stderr);
int old_flags2 = stderr->_flags2;
stderr->_flags2 |= _IO_FLAGS2_NOTCANCEL;
@@ -5492,13 +5587,27 @@ do_set_arena_max (size_t value)
static __always_inline int
do_set_tcache_max (size_t value)
{
- if (value <= MAX_TCACHE_SIZE)
+ size_t nb = request2size (value);
+ size_t tc_idx = csize2tidx (nb);
+
+ /* To check that value is not too big and request2size does not return an
+ overflown value. */
+ if (value > nb)
+ return 0;
+
+ if (nb > MAX_TCACHE_SMALL_SIZE)
+ tc_idx = large_csize2tidx (nb);
+
+ LIBC_PROBE (memory_tunable_tcache_max_bytes, 2, value, mp_.tcache_max_bytes);
+
+ if (tc_idx < TCACHE_MAX_BINS)
{
- LIBC_PROBE (memory_tunable_tcache_max_bytes, 2, value, mp_.tcache_max_bytes);
- mp_.tcache_max_bytes = value;
- mp_.tcache_bins = csize2tidx (request2size(value)) + 1;
+ if (tc_idx < TCACHE_SMALL_BINS)
+ mp_.tcache_small_bins = tc_idx + 1;
+ mp_.tcache_max_bytes = nb;
return 1;
}
+
return 0;
}
@@ -5560,8 +5669,6 @@ __libc_mallopt (int param_number, int value)
mstate av = &main_arena;
int res = 1;
- if (!__malloc_initialized)
- ptmalloc_init ();
__libc_lock_lock (av->mutex);
LIBC_PROBE (memory_mallopt, 2, param_number, value);
@@ -5777,11 +5884,14 @@ malloc_printerr (const char *str)
}
#if USE_TCACHE
+
+static volatile int dummy_var;
+
static __attribute_noinline__ void
malloc_printerr_tail (const char *str)
{
/* Ensure this cannot be a no-return function. */
- if (!__malloc_initialized)
+ if (dummy_var)
return;
malloc_printerr (str);
}
@@ -5794,9 +5904,6 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
{
void *mem;
- if (!__malloc_initialized)
- ptmalloc_init ();
-
/* Test whether the SIZE argument is valid. It must be a power of
two multiple of sizeof (void *). */
if (alignment % sizeof (void *) != 0
@@ -5805,8 +5912,7 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
return EINVAL;
- void *address = RETURN_ADDRESS (0);
- mem = _mid_memalign (alignment, size, address);
+ mem = _mid_memalign (alignment, size);
if (mem != NULL)
{
@@ -5837,11 +5943,6 @@ __malloc_info (int options, FILE *fp)
size_t total_aspace = 0;
size_t total_aspace_mprotect = 0;
-
-
- if (!__malloc_initialized)
- ptmalloc_init ();
-
fputs ("<malloc version=\"1\">\n", fp);
/* Iterate over all arenas currently in use. */
diff --git a/malloc/tst-tcfree4.c b/malloc/tst-tcfree4.c
new file mode 100644
index 0000000..03850dd
--- /dev/null
+++ b/malloc/tst-tcfree4.c
@@ -0,0 +1,59 @@
+/* Test that malloc tcache catches double free.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <error.h>
+#include <limits.h>
+#include <malloc.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/signal.h>
+
+/* Test for a double free where the size information gets overwritten by a
+ * terminating null byte. */
+static int
+do_test (void)
+{
+ /* The payload is exactly 0x19 Bytes long:
+ * 0x18 bytes 'B' and one terminating null byte
+ */
+ const char *payload = "BBBBBBBBBBBBBBBBBBBBBBBB";
+
+ char *volatile first_chunk
+ = malloc (strlen (payload)); // <-- off by one error
+ char *volatile second_chunk = malloc (0x118);
+
+ // free the second chunk the first time now it is in the tcache with tc_idx =
+ free (second_chunk);
+
+ // change the the size of the second_chunk using the terminating null byte if
+ // the PAYLOAD
+ strcpy (first_chunk, payload);
+
+ // now the second_chunk has a new size
+ // calling free a second time will not trigger the double free detection
+ free (second_chunk);
+
+ printf ("FAIL: tcache double free not detected\n");
+ return 1;
+}
+
+#define TEST_FUNCTION do_test
+#define EXPECTED_SIGNAL SIGABRT
+#include <support/test-driver.c>
diff --git a/manual/creature.texi b/manual/creature.texi
index 09e1c96..59a6108 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -194,9 +194,9 @@ a fallback code is used with legacy (i.e. 32-bit) syscalls.
On such platforms, @theglibc{} will also define @code{__USE_TIME64_REDIRECTS}
to indicate whether the declarations are expanded to different ones
-(either by redefiniding the symbol name or using symbol aliais).
+(either by redefining the symbol name or using a symbol alias).
For instance, if the symbol @code{clock_gettime} expands to
-@code{__glock_gettime64}.
+@code{__clock_gettime64}.
@item
If @code{_TIME_BITS} is defined to be 32, @code{time_t} is defined to
diff --git a/manual/examples/memstrm.c b/manual/examples/memstrm.c
index 9ee6298..28be892 100644
--- a/manual/examples/memstrm.c
+++ b/manual/examples/memstrm.c
@@ -16,6 +16,7 @@
*/
#include <stdio.h>
+#include <stdlib.h>
int
main (void)
@@ -31,6 +32,7 @@ main (void)
fprintf (stream, ", world");
fclose (stream);
printf ("buf = `%s', size = %zu\n", bp, size);
+ free (bp);
return 0;
}
diff --git a/manual/filesys.texi b/manual/filesys.texi
index aabb683..e1c7be8 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -310,12 +310,17 @@ This is a GNU extension.
The flags argument in @code{@dots{}at} functions can be a combination of
the following flags, defined in @file{fcntl.h}. Not all such functions
support all flags, and some (such as @code{openat}) do not accept a
-flags argument at all.
-
-In the flag descriptions below, the @dfn{effective final path component}
-refers to the final component (basename) of the full path constructed
-from the descriptor and file name arguments, using file name lookup, as
-described above.
+flags argument at all. Although the flags specific to each function have
+distinct values from each other, some flags (relevant to different
+functions) might share the same value and therefore are not guaranteed to
+have unique values.
+
+A non-exhaustive list of common flags and their descriptions follows. Flags
+specific to a function are described alongside the function itself. In
+these flag descriptions, the @dfn{effective final path component} refers to
+the final component (basename) of the full path constructed from the
+descriptor and file name arguments, using file name lookup, as described
+above.
@vtable @code
@item AT_EMPTY_PATH
@@ -353,6 +358,28 @@ a non-final component of the file name are still followed.
argument to the @code{getauxval} function (with @code{AT_@dots{}}
constants defined in @file{elf.h}). @xref{Auxiliary Vector}.
+@cindex common errors in descriptor-relative functions
+@cindex common errors in @code{@dots{}at} functions
+
+The @code{@dots{}at} functions have some common error conditions due to the
+nature of descriptor-relative access. A list of common errors and their
+descriptions follows. Errors specific to a function are described alongside
+the function itself.
+
+@table @code
+@item EBADF
+The file name argument is a relative path but the descriptor argument
+is neither @code{AT_FDCWD} nor a valid file descriptor.
+
+@item EINVAL
+If the function accepts a @var{flags} argument, the flag combination passed
+is not valid for the function.
+
+@item ENOTDIR
+The file name argument is a relative file name but the descriptor
+argument is associated with a file that is not a directory.
+@end table
+
@node Accessing Directories
@section Accessing Directories
@cindex accessing directories
@@ -409,18 +436,41 @@ entries. It contains the following fields:
This is the null-terminated file name component. This is the only
field you can count on in all POSIX systems.
+While this field is defined with a specified length, functions such as
+@code{readdir} may return a pointer to a @code{struct dirent} where the
+@code{d_name} extends beyond the end of the struct.
+
@item ino_t d_fileno
This is the file serial number. For BSD compatibility, you can also
refer to this member as @code{d_ino}. On @gnulinuxhurdsystems{} and most POSIX
systems, for most files this the same as the @code{st_ino} member that
@code{stat} will return for the file. @xref{File Attributes}.
+@item off_t d_off
+This value contains the offset of the next directory entry (after this
+entry) in the directory stream. The value may not be compatible with
+@code{lseek} or @code{seekdir}, especially if the width of @code{d_off}
+is less than 64 bits. Directory entries are not ordered by offset, and
+the @code{d_off} and @code{d_reclen} values are unrelated. Seeking on
+directory streams is not recommended. The symbol
+@code{_DIRENT_HAVE_D_OFF} is defined if the @code{d_ino} member is
+available.
+
@item unsigned char d_namlen
This is the length of the file name, not including the terminating
null character. Its type is @code{unsigned char} because that is the
integer type of the appropriate size. This member is a BSD extension.
The symbol @code{_DIRENT_HAVE_D_NAMLEN} is defined if this member is
-available.
+available. (It is not available on Linux.)
+
+@item unsigned short int d_reclen
+This is the length of the entire directory record. When iterating
+through a buffer filled by @code{getdents64} (@pxref{Low-level Directory
+Access}), this value needs to be added to the offset of the current
+directory entry to obtain the offset of the next entry. When using
+@code{readdir} and related functions, the value of @code{d_reclen} is
+undefined and should not be accessed. The symbol
+@code{_DIRENT_HAVE_D_RECLEN} is defined if this member is available.
@item unsigned char d_type
This is the type of the file, possibly unknown. The following constants
@@ -457,7 +507,7 @@ This member is a BSD extension. The symbol @code{_DIRENT_HAVE_D_TYPE}
is defined if this member is available. On systems where it is used, it
corresponds to the file type bits in the @code{st_mode} member of
@code{struct stat}. If the value cannot be determined the member
-value is DT_UNKNOWN. These two macros convert between @code{d_type}
+value is @code{DT_UNKNOWN}. These two macros convert between @code{d_type}
values and @code{st_mode} values:
@deftypefun int IFTODT (mode_t @var{mode})
@@ -632,6 +682,20 @@ and can be rewritten by a subsequent call.
return entries for @file{.} and @file{..}, even though these are always
valid file names in any directory. @xref{File Name Resolution}.
+If a directory is modified between a call to @code{readdir} and after
+the directory stream was created or @code{rewinddir} was last called on
+it, it is unspecified according to POSIX whether newly created or
+removed entries appear among the entries returned by repeated
+@code{readdir} calls before the end of the directory is reached.
+However, due to practical implementation constraints, it is possible
+that entries (including unrelated, unmodified entries) appear multiple
+times or do not appear at all if the directory is modified while listing
+it. If the application intends to create files in the directory, it may
+be necessary to complete the iteration first and create a copy of the
+information obtained before creating any new files. (See below for
+instructions regarding copying of @code{d_name}.) The iteration can be
+restarted using @code{rewinddir}. @xref{Random Access Directory}.
+
If there are no more entries in the directory or an error is detected,
@code{readdir} returns a null pointer. The following @code{errno} error
conditions are defined for this function:
@@ -812,6 +876,10 @@ directory since it was opened with @code{opendir}. (Entries for these
files might or might not be returned by @code{readdir} if they were
added or removed since you last called @code{opendir} or
@code{rewinddir}.)
+
+For example, it is recommended to call @code{rewinddir} followed by
+@code{readdir} to check if a directory is empty after listing it with
+@code{readdir} and deleting all encountered files from it.
@end deftypefun
@deftypefun {long int} telldir (DIR *@var{dirstream})
@@ -823,6 +891,13 @@ added or removed since you last called @code{opendir} or
The @code{telldir} function returns the file position of the directory
stream @var{dirstream}. You can use this value with @code{seekdir} to
restore the directory stream to that position.
+
+Using the the @code{telldir} function is not recommended.
+
+The value returned by @code{telldir} may not be compatible with the
+@code{d_off} field in @code{struct dirent}, and cannot be used with the
+@code{lseek} function. The returned value may not unambiguously
+identify the position in the directory stream.
@end deftypefun
@deftypefun void seekdir (DIR *@var{dirstream}, long int @var{pos})
@@ -836,6 +911,9 @@ stream @var{dirstream} to @var{pos}. The value @var{pos} must be the
result of a previous call to @code{telldir} on this particular stream;
closing and reopening the directory can invalidate values returned by
@code{telldir}.
+
+Using the the @code{seekdir} function is not recommended. To seek to
+the beginning of the directory stream, use @code{rewinddir}.
@end deftypefun
@@ -1007,9 +1085,20 @@ Note that some file systems support file names longer than
@code{NAME_MAX} bytes (e.g., because they support up to 255 Unicode
characters), so a buffer size of at least 1024 is recommended.
+If the directory has been modified since the first call to
+@code{getdents64} on the directory (opening the descriptor or seeking to
+offset zero), it is possible that the buffer contains entries that have
+been encountered before. Likewise, it is possible that files that are
+still present are not reported before the end of the directory is
+encountered (and @code{getdents64} returns zero).
+
This function is specific to Linux.
@end deftypefun
+Systems that support @code{getdents64} support seeking on directory
+streams. @xref{File Position Primitive}. However, the only offset that
+works reliably is offset zero, indicating that reading the directory
+should start from the beginning.
@node Working with Directory Trees
@section Working with Directory Trees
@@ -1690,6 +1779,31 @@ file system and can't be modified.
@end table
@end deftypefun
+@deftypefun int unlinkat (int @var{filedes}, const char *@var{filename}, int @var{flags})
+@standards{POSIX.1-2008, unistd.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is a descriptor-relative version of the @code{unlink}
+function above. @xref{Descriptor-Relative Access}. The @var{flags}
+argument may either be @code{0} or contain the flag @code{AT_REMOVEDIR}:
+
+@table @code
+@item AT_REMOVEDIR
+This flag causes @code{unlinkat} to perform an @code{rmdir} operation on
+@code{filename} instead of performing the equivalent of @code{unlink}.
+@end table
+
+Compared to @code{unlink}, some additional error conditions can occur due to
+descriptor-relative access. @xref{Descriptor-Relative Access}. In
+addition to this, the following other errors can also occur:
+
+@table @code
+@item EISDIR
+The effective final path derived from @var{filename} and @var{filedes} is a
+directory but @code{AT_REMOVEDIR} was not passed in @code{flags}.
+@end table
+@end deftypefun
+
@deftypefun int rmdir (const char *@var{filename})
@standards{POSIX.1, unistd.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
@@ -1821,6 +1935,20 @@ file systems.
@end table
@end deftypefun
+@deftypefun int renameat (int @var{oldfiledes}, const char *@var{oldname}, int @var{newfiledes}, const char *@var{newname})
+@standards{POSIX.1-2008, stdio.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is a descriptor-relative version of the @code{rename}
+function above. @xref{Descriptor-Relative Access}. If @var{oldname} or
+@var{newname} is a relative path, it is interpreted relative to the
+directory associated with @var{oldfiledes} or @var{newfiledes},
+respectively. Absolute paths are interpreted in the usual way.
+
+Compared to @code{rename}, some additional error conditions can occur.
+@xref{Descriptor-Relative Access}.
+@end deftypefun
+
@node Creating Directories
@section Creating Directories
@cindex creating a directory
@@ -1875,6 +2003,17 @@ To use this function, your program should include the header file
@pindex sys/stat.h
@end deftypefun
+@deftypefun int mkdirat (int @var{filedes}, const char *@var{filename}, mode_t @var{mode})
+@standards{POSIX.1-2008, sys/stat.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is a descriptor-relative version of the @code{mkdir}
+function above. @xref{Descriptor-Relative Access}.
+
+Compared to @code{mkdir}, some additional error conditions can occur.
+@xref{Descriptor-Relative Access}.
+@end deftypefun
+
@node File Attributes
@section File Attributes
@@ -2980,6 +3119,29 @@ Flag meaning test for execute/search permission.
Flag meaning test for existence of the file.
@end deftypevr
+@deftypefun int faccessat (int @var{filedes}, const char *@var{filename}, int @var{how}, int @var{flags})
+@standards{POSIX.1-2008, unistd.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is a descriptor-relative version of the @code{access}
+function above. @xref{Descriptor-Relative Access}. The @var{flags}
+argument can contain a combination of the flags @code{AT_EACCESS} described
+below, @code{AT_EMPTY_PATH}, and @code{AT_SYMLINK_NOFOLLOW}.
+
+@vtable @code
+@item AT_EACCESS
+This flag when passed to the @code{faccessat} function causes it to perform
+access checks using effective user and group IDs instead of real IDs, which
+is the default and matches the @code{access} function.
+@end vtable
+
+Compared to @code{access}, some additional error conditions can occur.
+@xref{Descriptor-Relative Access}.
+
+This function may not work correctly on older kernels missing the
+@code{faccessat2} system call.
+@end deftypefun
+
@node File Times
@subsection File Times
@@ -3148,6 +3310,10 @@ permission for the file, or be a privileged user.
@item EBADF
The @var{filedes} argument is not a valid file descriptor.
+@item EINVAL
+At least one of the fields in the @code{tvp} array passed has an invalid
+value.
+
@item EPERM
If the @var{times} argument is not a null pointer, you must either be
the owner of the file or be a privileged user.
@@ -3157,6 +3323,64 @@ The file lives on a read-only file system.
@end table
@end deftypefun
+@deftypefun int futimens (int @var{filedes}, const struct timespec @var{tsp}@t{[2]})
+@standards{POSIX.1-2008, sys/stat.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is like @code{futimes}, except that it sets the file access
+and modification timestamps with nanosecond precision. The argument
+@code{tsp} is used similarly to @code{futimes}' @code{tvp}, but has a
+@code{const struct timespec} type that can express calendar time with
+nanosecond precision. @xref{Time Types}.
+@end deftypefun
+
+@deftypefun int utimensat (int @var{filedes}, const char *@var{filename}, const struct timespec @var{tsp}@t{[2]}, int @var{flags})
+@standards{POSIX.1-2008, sys/stat.h}
+@comment Unaudited and therefore marked AC-Unsafe and AS-Unsafe by default
+@safety{@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
+This function is a descriptor-relative version of the @code{futimens}
+function above. @xref{Descriptor-Relative Access}. The @var{flags}
+argument can contain a combination of the flags @code{AT_EMPTY_PATH}, and
+@code{AT_SYMLINK_NOFOLLOW}. The call:
+
+@smallexample
+futimens (@var{filedes}, @var{tsp})
+@end smallexample
+
+is equivalent to:
+
+@smallexample
+utimensat (@var{filedes}, @code{NULL}, @var{tsp}, 0)
+@end smallexample
+
+Compared to @code{futimens}, some additional error conditions can occur due
+to descriptor-relative access. @xref{Descriptor-Relative Access}. In
+addition to this, the following other errors can also occur:
+
+@table @code
+@item EINVAL
+The @var{filename} argument is NULL, @var{filedes} is not @code{AT_FDCWD},
+and @var{flags} is not @code{0}.
+
+@item ELOOP
+There are too many levels of indirection. This can be the result of
+circular symbolic links to directories.
+
+@item ENAMETOOLONG
+The resulting path is too long. This error only occurs on systems which
+have a limit on the file name length.
+
+@item ENOENT
+The @var{filename} argument is an empty string and @var{flags} does not
+contain @code{AT_EMPTY_PATH}, or @var{filename} does not refer to an
+existing file.
+
+@item ESRCH
+Search permission was denied for one of the prefix components of the the
+@var{filename} argument.
+@end table
+@end deftypefun
+
@node File Size
@subsection File Size
@@ -3760,22 +3984,17 @@ creation always works like @code{open} with @code{O_EXCL}.
The @code{mkdtemp} function comes from OpenBSD.
@c FIXME these are undocumented:
-@c faccessat
@c fchmodat
@c fchownat
@c futimesat
@c fstatat (there's a commented-out safety assessment for this one)
@c statx
-@c mkdirat
@c mkfifoat
@c name_to_handle_at
@c openat
@c open_by_handle_at
@c readlinkat
-@c renameat
@c renameat2
@c scandirat
@c symlinkat
-@c unlinkat
-@c utimensat
@c mknodat
diff --git a/manual/getopt.texi b/manual/getopt.texi
index b4c0b15..79a9423 100644
--- a/manual/getopt.texi
+++ b/manual/getopt.texi
@@ -301,7 +301,10 @@ application to pass long options with only @samp{-} instead of
@samp{--}. The @samp{--} prefix is still recognized but instead of
looking through the short options if a @samp{-} is seen it is first
tried whether this parameter names a long option. If not, it is parsed
-as a short option.
+as a short option. In case both short and long options could be
+matched (this can happen with single letter long options), the short
+option is preferred (with some caveats). For long options,
+abbreviations are detected as well.
Assuming @code{getopt_long_only} is used starting an application with
@@ -313,6 +316,32 @@ Assuming @code{getopt_long_only} is used starting an application with
the @code{getopt_long_only} will first look for a long option named
@samp{foo}. If this is not found, the short options @samp{f}, @samp{o},
and again @samp{o} are recognized.
+
+It gets more interesting with single letter long options. If we
+define options in the following way
+
+@smallexample
+ static struct option long_options[] = @{
+ @{"f", no_argument, 0, 0 @},
+ @{"foo", no_argument, 0, 0 @},
+ @{0, 0, 0, 0 @},
+ @};
+@end smallexample
+
+@noindent
+use @code{"f"} (as a C string) as an option string and start the
+application with @option{-f}, the short option will be matched.
+@option{--f} will match the long one. And both @option{-fo} and
+@option{-foo} will match the long option @code{"foo"}.
+
+Be aware that if the option string would be @code{"f:"} (thus the
+short option requires an argument), using just @option{-f} leads to an
+error. But using @option{-fo} results in the long option being
+matched. For passing an argument in this situation, you need to do it
+as two arguments (@option{-f}, @option{o}). Though any other value
+would work in a single argument (e.g., @option{-f1}), since it would
+not match a long option (or its abbreviation).
+
@end deftypefun
@node Getopt Long Option Example
diff --git a/manual/install.texi b/manual/install.texi
index 7fcdda9..006f93b 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -552,19 +552,13 @@ You can use whatever compiler you like to compile programs that use
Check the FAQ for any special compiler issues on particular platforms.
@item
-GNU @code{binutils} 2.25 or later
+GNU @code{binutils} 2.39 or later
You must use GNU @code{binutils} (as and ld) to build @theglibc{}.
No other assembler or linker has the necessary functionality at the
moment. As of release time, GNU @code{binutils} 2.43.1 is the newest
verified to work to build @theglibc{}.
-For PowerPC 64-bits little-endian (powerpc64le), @command{objcopy} is required
-to support @option{--update-section}. This option requires binutils 2.26 or
-newer.
-
-ARC architecture needs @code{binutils} 2.32 or higher for TLS related fixes.
-
@item
GNU @code{texinfo} 4.7 or later
diff --git a/manual/libc.texinfo b/manual/libc.texinfo
index ff0beb1..870ed7a 100644
--- a/manual/libc.texinfo
+++ b/manual/libc.texinfo
@@ -29,7 +29,7 @@
@comment %**end of header (This is for running Texinfo on a region.)
@c Everything related to printed editions is disabled until we have
-@c resolved how to keep them in sync with the master sources of the
+@c resolved how to keep them in sync with the primary sources of the
@c manual.
@c sold 0.06/1.09, print run out 21may96
@c @set EDITION 0.13
diff --git a/manual/maint.texi b/manual/maint.texi
index b6ee5b6..3176546 100644
--- a/manual/maint.texi
+++ b/manual/maint.texi
@@ -496,7 +496,7 @@ the symbol's name. For instance, the macro @code{__clock_gettime64}
expands to @code{clock_gettime}.
When @code{__TIMESIZE} is set to 64, @theglibc{} will also define
-the@code{__USE_TIME_BITS64} macro. It is used by the Linux kernel ABI
+the @code{__USE_TIME_BITS64} macro. It is used by the Linux kernel ABI
to set the expected @code{time_t} size used on some syscalls.
These macros are purely internal to @theglibc{} and exist only so that
diff --git a/manual/math.texi b/manual/math.texi
index 90750b2..fbabf37 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -883,6 +883,22 @@ instead of the direct formula is wise, since the error is
much smaller. See also the function @code{cabs} in @ref{Absolute Value}.
@end deftypefun
+@deftypefun double rootn (double @var{x}, long long int @var{n})
+@deftypefunx float rootnf (float @var{x}, long long int @var{n})
+@deftypefunx {long double} rootnl (long double @var{x}, long long int @var{n})
+@deftypefunx _FloatN rootnfN (_Float@var{N} @var{x}, long long int @var{n})
+@deftypefunx _FloatNx rootnfNx (_Float@var{N}x @var{x}, long long int @var{n})
+@standards{TS 18661-4:2015, math.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These return the @var{n}th root of @var{x}. If @var{n} is zero, or if
+@var{x} is negative and @var{n} is even, @code{rootn} signals a domain
+error.
+
+The @code{rootn} functions are from TS 18661-4:2015 (which used
+@code{intmax_t} as the type of @var{n}; the type changed to
+@code{long long int} in C23).
+@end deftypefun
+
@deftypefun double expm1 (double @var{x})
@deftypefunx float expm1f (float @var{x})
@deftypefunx {long double} expm1l (long double @var{x})
diff --git a/manual/memory.texi b/manual/memory.texi
index 9a29c7d..46f76c1 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -3139,7 +3139,7 @@ used to temporarily acquire access to the memory region and relinquish
it again:
@smallexample
- if (key >= 0 && pkey_set (key, 0) < 0)
+ if (key >= 0 && pkey_set (key, PKEY_UNRESTRICTED) < 0)
...; /* Perform error checking (generally fatal). */
/* At this point, the current thread has read-write access to the
memory region. */
@@ -3256,9 +3256,9 @@ not @math{-1}.
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
Change the access restrictions of the current thread for memory pages with
the protection key @var{key} to @var{access_restrictions}. If
-@var{access_restrictions} is zero, no additional access restrictions on top of
-the page protection flags are applied. Otherwise, @var{access_restrictions} is
-a combination of the following flags:
+@var{access_restrictions} is @code{PKEY_UNRESTRICTED} (zero), no additional
+access restrictions on top of the page protection flags are applied. Otherwise,
+@var{access_restrictions} is a combination of the following flags:
@vtable @code
@item PKEY_DISABLE_READ
diff --git a/manual/resource.texi b/manual/resource.texi
index acdb1f3..1fd0310 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -977,7 +977,7 @@ multiple parameters (not just priority and niceness).
It is expected that these interfaces will be compatible with all future
scheduling policies.
-For additional information about scheduling policies, consult consult
+For additional information about scheduling policies, consult
the manual pages @manpageurl{sched,7} and @manpageurl{sched_setattr,2}.
@strong{Note:} Calling the @code{sched_setattr} function is incompatible
@@ -1015,7 +1015,7 @@ For additional information, consult the manual page
@manpageurl{sched_setattr,2}.
@end deftp
-@deftypefun int sched_setaddr (pid_t @var{tid}, struct sched_attr *@var{attr}, unsigned int flags)
+@deftypefun int sched_setattr (pid_t @var{tid}, struct sched_attr *@var{attr}, unsigned int flags)
@standards{Linux, sched.h}
@safety{@mtsafe{}@assafe{}@acsafe{}}
This functions applies the scheduling policy described by
@@ -1058,7 +1058,7 @@ policy of the thread @var{tid}.
Other error codes depend on the scheduling policy.
@end deftypefun
-@deftypefun int sched_getaddr (pid_t @var{tid}, struct sched_attr *@var{attr}, unsigned int size, unsigned int flags)
+@deftypefun int sched_getattr (pid_t @var{tid}, struct sched_attr *@var{attr}, unsigned int size, unsigned int flags)
@standards{Linux, sched.h}
@safety{@mtsafe{}@assafe{}@acsafe{}}
This function obtains the scheduling policy of the thread @var{tid}
@@ -1362,26 +1362,73 @@ extent the Linux kernel interface.
@standards{GNU, sched.h}
This data set is a bitset where each bit represents a CPU. How the
system's CPUs are mapped to bits in the bitset is system dependent.
-The data type has a fixed size; in the unlikely case that the number
-of bits are not sufficient to describe the CPUs of the system a
-different interface has to be used.
+The data type has a fixed size; it is strongly recommended to allocate
+a dynamically sized set based on the actual number of CPUs detected,
+such as via @code{get_nprocs_conf()}, and use the @code{CPU_*_S}
+variants instead of the fixed-size ones.
This type is a GNU extension and is defined in @file{sched.h}.
@end deftp
-To manipulate the bitset, to set and reset bits, a number of macros are
-defined. Some of the macros take a CPU number as a parameter. Here
-it is important to never exceed the size of the bitset. The following
-macro specifies the number of bits in the @code{cpu_set_t} bitset.
+To manipulate the bitset, to set and reset bits, and thus add and
+remove CPUs from the sets, a number of macros are defined. Some of
+the macros take a CPU number as a parameter. Here it is important to
+never exceed the size of the bitset, either @code{CPU_SETSIZE} for
+fixed sets or the allocated size for dynamic sets. For each macro
+there is a fixed-size version (documented below) and a dynamic-sized
+version (with a @code{_S} suffix).
@deftypevr Macro int CPU_SETSIZE
@standards{GNU, sched.h}
The value of this macro is the maximum number of CPUs which can be
-handled with a @code{cpu_set_t} object.
+handled with a fixed @code{cpu_set_t} object.
@end deftypevr
+For applications that require CPU sets larger than the built-in size,
+a set of macros that support dynamically-sized sets are defined.
+
+@deftypefn Macro size_t CPU_ALLOC_SIZE (size_t @var{count})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_ALLOC_SIZE ok
+@c __CPU_ALLOC_SIZE ok
+Given a count of CPUs to hold, returns the size of the set to
+allocate. This return value is appropriate to be used in the *_S macros.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro {cpu_set_t *} CPU_ALLOC (size_t @var{count})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{} @acsmem{}}}
+@c CPU_ALLOC
+@c __CPU_ALLOC
+@c __sched_cpualloc
+@c malloc
+Given the count of CPUs to hold, returns a set large enough to hold
+them; that is, the resulting set will be valid for CPUs numbered 0
+through @var{count}-1, inclusive. This set must be freed via
+@code{CPU_FREE} to avoid memory leaks. Warning: the argument is the
+CPU @emph{count} and not the size returned by @code{CPU_ALLOC_SIZE}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro void CPU_FREE (cpu_set_t *@var{set})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{} @acsmem{}}}
+@c CPU_FREE
+@c __CPU_FREE
+@c __sched_cpufree
+@c free
+Frees a CPU set previously allocated by @code{CPU_ALLOC}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
The type @code{cpu_set_t} should be considered opaque; all
-manipulation should happen via the next four macros.
+manipulation should happen via the @code{CPU_*} macros described
+below.
@deftypefn Macro void CPU_ZERO (cpu_set_t *@var{set})
@standards{GNU, sched.h}
@@ -1424,6 +1471,39 @@ evaluated more than once.
This macro is a GNU extension and is defined in @file{sched.h}.
@end deftypefn
+@deftypefn Macro {cpu_set_t *} CPU_AND (cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_AND ok
+@c __CPU_OP_S ok
+This macro populates @var{dest} with only those CPUs included in both
+@var{src1} and @var{src2}. Its value is @var{dest}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro {cpu_set_t *} CPU_OR (cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_OR ok
+@c __CPU_OP_S ok
+This macro populates @var{dest} with those CPUs included in either
+@var{src1} or @var{src2}. Its value is @var{dest}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro {cpu_set_t *} CPU_XOR (cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_XOR ok
+@c __CPU_OP_S ok
+This macro populates @var{dest} with those CPUs included in either
+@var{src1} or @var{src2}, but not both. Its value is @var{dest}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
@deftypefn Macro int CPU_ISSET (int @var{cpu}, const cpu_set_t *@var{set})
@standards{GNU, sched.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
@@ -1440,6 +1520,54 @@ evaluated more than once.
This macro is a GNU extension and is defined in @file{sched.h}.
@end deftypefn
+@deftypefn Macro int CPU_COUNT (const cpu_set_t *@var{set})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_COUNT ok
+@c __CPU_COUNT_S ok
+@c __sched_cpucount ok
+@c countbits ok
+This macro returns the count of CPUs (bits) set in @var{set}.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro int CPU_EQUAL (cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@standards{GNU, sched.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c CPU_EQUAL ok
+@c __CPU_EQUAL_S ok
+@c memcmp ok
+This macro returns nonzero if the two sets @var{set1} and @var{set2}
+have the same contents; that is, the set of CPUs represented by both
+sets is identical.
+
+This macro is a GNU extension and is defined in @file{sched.h}.
+@end deftypefn
+
+@deftypefn Macro void CPU_ZERO_S (size_t @var{size}, cpu_set_t *@var{set})
+@end deftypefn
+@deftypefn Macro void CPU_SET_S (int @var{cpu}, size_t @var{size}, cpu_set_t *@var{set})
+@end deftypefn
+@deftypefn Macro void CPU_CLR_S (int @var{cpu}, size_t @var{size}, cpu_set_t *@var{set})
+@end deftypefn
+@deftypefn Macro {cpu_set_t *} CPU_AND_S (size_t @var{size}, cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@end deftypefn
+@deftypefn Macro {cpu_set_t *} CPU_OR_S (size_t @var{size}, cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@end deftypefn
+@deftypefn Macro {cpu_set_t *} CPU_XOR_S (size_t @var{size}, cpu_set_t *@var{dest}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@end deftypefn
+@deftypefn Macro int CPU_ISSET_S (int @var{cpu}, size_t @var{size}, const cpu_set_t *@var{set})
+@end deftypefn
+@deftypefn Macro int CPU_COUNT_S (size_t @var{size}, const cpu_set_t *@var{set})
+@end deftypefn
+@deftypefn Macro int CPU_EQUAL_S (size_t @var{size}, cpu_set_t *@var{src1}, cpu_set_t *@var{src2})
+@end deftypefn
+
+Each of these macros performs the same action as its non-@code{_S} variant,
+but takes a @var{size} argument to specify the set size. This
+@var{size} argument is as returned by the @code{CPU_ALLOC_SIZE} macro,
+defined above.
CPU bitsets can be constructed from scratch or the currently installed
affinity mask can be retrieved from the system.
@@ -1525,6 +1653,53 @@ The operating system does not support this function.
This function is Linux-specific and is declared in @file{sched.h}.
@end deftypefun
+@deftypefun int sched_getcpu (void)
+@standards{Linux, <sched.h>}
+
+Similar to @code{getcpu} but with a simpler interface. On success,
+returns a nonnegative number identifying the CPU on which the current
+thread is running. Returns @code{-1} on failure. The following
+@code{errno} error condition is defined for this function:
+
+@table @code
+@item ENOSYS
+The operating system does not support this function.
+@end table
+
+This function is Linux-specific and is declared in @file{sched.h}.
+@end deftypefun
+
+Here's an example of how to use most of the above to limit the number
+of CPUs a process runs on, not including error handling or good logic
+on CPU choices:
+
+@example
+#define _GNU_SOURCE
+#include <sched.h>
+#include <sys/sysinfo.h>
+#include <unistd.h>
+void
+limit_cpus (void)
+@{
+ unsigned int mycpu;
+ size_t nproc, cssz, cpu;
+ cpu_set_t *cs;
+ getcpu (&mycpu, NULL);
+ nproc = get_nprocs_conf ();
+ cssz = CPU_ALLOC_SIZE (nproc);
+ cs = CPU_ALLOC (nproc);
+ sched_getaffinity (0, cssz, cs);
+ if (CPU_COUNT_S (cssz, cs) > nproc / 2)
+ @{
+ for (cpu = nproc / 2; cpu < nproc; cpu ++)
+ if (cpu != mycpu)
+ CPU_CLR_S (cpu, cssz, cs);
+ sched_setaffinity (0, cssz, cs);
+ @}
+ CPU_FREE (cs);
+@}
+@end example
+
@node Memory Resources
@section Querying memory available resources
diff --git a/manual/socket.texi b/manual/socket.texi
index 8708cbb..d804c7a 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -497,7 +497,20 @@ interface name, including its terminating zero byte.
@c takes a lock, which makes all callers AS- and AC-Unsafe.
@c opensock @asulock @aculock @acsfd
This function yields the interface index corresponding to a particular
-name. If no interface exists with the name given, it returns 0.
+name specified with @var{ifname}.
+
+The return value is the interface index on success. On failure, the
+function's return value is zero and @code{errno} is set accordingly.
+The following @code{errno} values are specific to this function:
+
+@table @code
+@item ENODEV
+There is no interface by the name requested.
+@end table
+
+Additionally, since @code{if_nametoindex} invokes @code{socket}
+internally, @code{errno} may also be set to a value listed for the
+@code{socket} function (@pxref{Creating a Socket}).
@end deftypefun
@deftypefun {char *} if_indextoname (unsigned int @var{ifindex}, char *@var{ifname})
@@ -505,11 +518,22 @@ name. If no interface exists with the name given, it returns 0.
@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{}}}
@c It opens a socket with opensock to use ioctl on the fd to get the
@c name from the index.
-This function maps an interface index to its corresponding name. The
-returned name is placed in the buffer pointed to by @code{ifname}, which
-must be at least @code{IFNAMSIZ} bytes in length. If the index was
-invalid, the function's return value is a null pointer, otherwise it is
-@code{ifname}.
+This function maps an interface index @var{ifindex} to its corresponding
+name. The returned name is placed in the buffer pointed to by @var{ifname},
+which must be at least @code{IFNAMSIZ} bytes in length.
+
+The return value is @var{ifname} on success. On failure, the function's
+return value is a null pointer and @code{errno} is set accordingly. The
+following @code{errno} values are specific to this function:
+
+@table @code
+@item ENXIO
+There is no interface at the index requested.
+@end table
+
+Additionally, since @code{if_indextoname} invokes @code{socket}
+internally, @code{errno} may also be set to a value listed for the
+@code{socket} function (@pxref{Creating a Socket}).
@end deftypefun
@deftp {Data Type} {struct if_nameindex}
@@ -1192,6 +1216,17 @@ either @code{AF_INET} or @code{AF_INET6}, as appropriate for the type of
address being converted. @var{cp} is a pointer to the input string, and
@var{buf} is a pointer to a buffer for the result. It is the caller's
responsibility to make sure the buffer is large enough.
+
+The return value is @code{1} on success and @code{0} if @var{cp} does not
+point to a valid address string for the address family @var{af} requested.
+On failure, the function's return value is @code{-1} and @code{errno} is
+set accordingly. The following @code{errno} values are specific to this
+function:
+
+@table @code
+@item EAFNOSUPPORT
+The address family requested is neither @code{AF_INET} nor @code{AF_INET6}.
+@end table
@end deftypefun
@deftypefun {const char *} inet_ntop (int @var{af}, const void *@var{cp}, char *@var{buf}, socklen_t @var{len})
@@ -1211,7 +1246,19 @@ network (binary) to presentation (textual) form. @var{af} should be
either @code{AF_INET} or @code{AF_INET6}, as appropriate. @var{cp} is a
pointer to the address to be converted. @var{buf} should be a pointer
to a buffer to hold the result, and @var{len} is the length of this
-buffer. The return value from the function will be this buffer address.
+buffer.
+
+The return value is @var{buf} on success. On failure, the function's
+return value is a null pointer and @code{errno} is set accordingly.
+The following @code{errno} values are specific to this function:
+
+@table @code
+@item EAFNOSUPPORT
+The address family requested is neither @code{AF_INET} nor @code{AF_INET6}.
+
+@item ENOSPC
+Insufficient space available for the result in the buffer provided.
+@end table
@end deftypefun
@node Host Names
@@ -2205,9 +2252,19 @@ socket, or @code{-1} in case of error. The following @code{errno} error
conditions are defined for this function:
@table @code
+@item EAFNOSUPPORT
+The @var{namespace} requested is not supported.
+
+@item ESOCKTNOSUPPORT
+@itemx EPROTONOSUPPORT
+@itemx EPROTOTYPE
+The @var{style} is not supported by the @var{namespace} specified.
+
@item EPROTONOSUPPORT
-The @var{protocol} or @var{style} is not supported by the
-@var{namespace} specified.
+The @var{protocol} is not supported by the @var{namespace} specified.
+
+@item EINVAL
+The @var{style} or @var{protocol} requested is not valid.
@item EMFILE
The process already has too many file descriptors open.
@@ -2216,11 +2273,13 @@ The process already has too many file descriptors open.
The system already has too many file descriptors open.
@item EACCES
+@itemx EPERM
The process does not have the privilege to create a socket of the specified
@var{style} or @var{protocol}.
@item ENOBUFS
-The system ran out of internal buffer space.
+@itemx ENOMEM
+Insufficient memory was available.
@end table
The file descriptor returned by the @code{socket} function supports both
diff --git a/manual/terminal.texi b/manual/terminal.texi
index b437cb5..de9554d 100644
--- a/manual/terminal.texi
+++ b/manual/terminal.texi
@@ -771,11 +771,11 @@ If this bit is set, it says to ignore the control modes and line speed
values entirely. This is only meaningful in a call to @code{tcsetattr}.
The @code{c_cflag} member and the line speed values returned by
-@code{cfgetispeed} and @code{cfgetospeed} will be unaffected by the
-call. @code{CIGNORE} is useful if you want to set all the software
-modes in the other members, but leave the hardware details in
-@code{c_cflag} unchanged. (This is how the @code{TCSASOFT} flag to
-@code{tcsettattr} works.)
+@code{cfgetispeed}, @code{cfgetospeed}, @code{cfgetibaud} and
+@code{cfsetibaud} will be unaffected by the call. @code{CIGNORE} is
+useful if you want to set all the software modes in the other members,
+but leave the hardware details in @code{c_cflag} unchanged. (This is
+how the @code{TCSASOFT} flag to @code{tcsettattr} works.)
This bit is never set in the structure filled in by @code{tcgetattr}.
@end deftypevr
@@ -1047,14 +1047,15 @@ The @code{speed_t} type is an unsigned integer data type used to
represent line speeds.
@end deftp
-The functions @code{cfsetospeed} and @code{cfsetispeed} report errors
-only for speed values that the system simply cannot handle. If you
-specify a speed value that is basically acceptable, then those functions
-will succeed. But they do not check that a particular hardware device
-can actually support the specified speeds---in fact, they don't know
-which device you plan to set the speed for. If you use @code{tcsetattr}
-to set the speed of a particular device to a value that it cannot
-handle, @code{tcsetattr} returns @math{-1}.
+@deftypefun speed_t cfgetospeed (const struct termios *@var{termios-p})
+@standards{POSIX.1, termios.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c Direct access to a single termios field, except on Linux, where
+@c multiple accesses may take place. No worries either way, callers
+@c must ensure mutual exclusion on such non-opaque types.
+This function returns the output line speed stored in the structure
+@code{*@var{termios-p}}.
+@end deftypefun
@strong{Portability note:} In @theglibc{}, the functions above
accept speeds measured in bits per second as input, and return speed
@@ -1106,12 +1107,24 @@ the only speeds that typical serial lines can support.
@comment POSIX.1
@vindex B4800
@comment termios.h
+@comment GNU
+@vindex B7200
+@comment termios.h
@comment POSIX.1
@vindex B9600
@comment termios.h
+@comment GNU
+@vindex B14400
+@comment termios.h
@comment POSIX.1
@vindex B19200
@comment termios.h
+@comment GNU
+@vindex B28800
+@comment termios.h
+@comment GNU
+@vindex B33600
+@comment termios.h
@comment POSIX.1
@vindex B38400
@comment termios.h
@@ -1119,18 +1132,72 @@ the only speeds that typical serial lines can support.
@vindex B57600
@comment termios.h
@comment GNU
+@vindex B76800
+@comment termios.h
+@comment GNU
@vindex B115200
@comment termios.h
@comment GNU
+@vindex B153600
+@comment termios.h
+@comment GNU
@vindex B230400
@comment termios.h
@comment GNU
+@vindex B307200
+@comment termios.h
+@comment GNU
@vindex B460800
+@comment termios.h
+@comment GNU
+@vindex B500000
+@comment termios.h
+@comment GNU
+@vindex B576000
+@comment termios.h
+@comment GNU
+@vindex B614400
+@comment termios.h
+@comment GNU
+@vindex B921600
+@comment termios.h
+@comment GNU
+@vindex B1000000
+@comment termios.h
+@comment GNU
+@vindex B1152000
+@comment termios.h
+@comment GNU
+@vindex B1500000
+@comment termios.h
+@comment GNU
+@vindex B2000000
+@comment termios.h
+@comment GNU
+@vindex B2500000
+@comment termios.h
+@comment GNU
+@vindex B3000000
+@comment termios.h
+@comment GNU
+@vindex B3500000
+@comment termios.h
+@comment GNU
+@vindex B4000000
+@comment termios.h
+@comment GNU
+@vindex B5000000
+@comment termios.h
+@comment GNU
+@vindex B10000000
@smallexample
-B0 B50 B75 B110 B134 B150 B200
-B300 B600 B1200 B1800 B2400 B4800
-B9600 B19200 B38400 B57600 B115200
-B230400 B460800
+B0 B50 B75 B110 B134 B150 B200 B300 B600 B1200
+B1800 B2400 B4800 B7200 B9600 B14400 B19200
+B28800 B33600 B38400 B57600 B76800 B115200
+B153600 B230400 B307200 B460800 B500000
+B576000 B614400 B921600 B1000000 B1152000
+B1500000 B2000000 B2500000 B3000000
+B3500000 B4000000 B5000000 B10000000
@end smallexample
@vindex EXTA
@@ -1139,6 +1206,69 @@ BSD defines two additional speed symbols as aliases: @code{EXTA} is an
alias for @code{B19200} and @code{EXTB} is an alias for @code{B38400}.
These aliases are obsolete.
+@deftypefun baud_t cfgetibaud (const struct termios *@var{termios-p})
+@standards{GNU, termios.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function returns the input line baud rate stored in the structure
+@code{*@var{termios-p}}.
+@end deftypefun
+
+@deftypefun int cfsetobaud (struct termios *@var{termios-p}, baud_t @var{baud})
+@standards{GNU, termios.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function stores @var{baud} in @code{*@var{termios-p}} as the output
+baud rate. The normal return value is @math{0}; a value of @math{-1}
+indicates an error. If @var{baud} is not a valid baud rate, @code{cfsetobaud}
+returns @math{-1}.
+@end deftypefun
+
+@deftypefun int cfsetibaud (struct termios *@var{termios-p}, baud_t @var{baud})
+@standards{GNU, termios.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function stores @var{baud} in @code{*@var{termios-p}} as the input
+baud rate. The normal return value is @math{0}; a value of @math{-1}
+indicates an error. If @var{baud} is not a valid baud rate, @code{cfsetobaud}
+returns @math{-1}.
+@end deftypefun
+
+@deftypefun int cfsetbaud (struct termios *@var{termios-p}, baud_t @var{baud})
+@standards{GNU, termios.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+@c There's no guarantee that the two calls are atomic, but since this is
+@c not an opaque type, callers ought to ensure mutual exclusion to the
+@c termios object.
+
+@c cfsetbaud ok
+@c cfsetibaud ok
+@c cfsetobaud ok
+This function stores @var{baud} in @code{*@var{termios-p}} as both the
+input and output baud rates. The normal return value is @math{0}; a value
+of @math{-1} indicates an error. If @var{baud} is not a valid baud rate,
+@code{cfsetbaud} returns @math{-1}.
+@end deftypefun
+
+@deftp {Data Type} baud_t
+@standards{GNU}
+The @code{baud_t} type is a numeric data type used to represent line
+baud rates. It will always represent the actual numeric value
+representing the baud rate, unlike @code{speed_t}. In the current
+version of @theglibc{} this is the same type as @code{speed_t}, but this
+may not be the case in future versions, or on other implementations; it
+may not even necessarily be an integer type.
+
+@end deftp
+
+The functions @code{cfsetospeed}, @code{cfsetispeed}, @code{cfsetobaud}
+and @code{cfsetibaud} report errors only for speed values that the
+system simply cannot handle. If you specify a speed value that is
+basically acceptable, then those functions will succeed. But they do
+not check that a particular hardware device can actually support the
+specified speeds---in fact, they don't know which device you plan to set
+the speed for. If you use @code{tcsetattr} to set the speed of a
+particular device to a value that it cannot handle, either @code{tcsetattr}
+returns @math{-1}, or the value is adjusted to the closest supported
+value, depending on the policy of the kernel driver.
+
@node Special Characters
@subsection Special Characters
diff --git a/manual/time.texi b/manual/time.texi
index 6b89b85..d003ddb 100644
--- a/manual/time.texi
+++ b/manual/time.texi
@@ -529,7 +529,36 @@ Therefore, @code{CLOCK_MONOTONIC} cannot be used to measure
absolute time, only elapsed time.
@end deftypevr
-Systems may support more than just these two POSIX clocks.
+The following clocks are defined by POSIX, but may not be supported by
+all POSIX systems:
+
+@deftypevr Macro clockid_t CLOCK_PROCESS_CPUTIME_ID
+@standards{POSIX.1, time.h}
+This POSIX clock measures the amount of CPU time used by the calling
+process.
+@end deftypevr
+
+@deftypevr Macro clockid_t CLOCK_THREAD_CPUTIME_ID
+@standards{POSIX.1, time.h}
+This POSIX clock measures the amount of CPU time used by the calling
+thread.
+@end deftypevr
+
+The following clocks are Linux extensions:
+
+@deftypevr Macro clockid_t CLOCK_MONOTONIC_RAW
+@deftypevrx Macro clockid_t CLOCK_REALTIME_COARSE
+@deftypevrx Macro clockid_t CLOCK_MONOTONIC_COARSE
+@deftypevrx Macro clockid_t CLOCK_BOOTTIME
+@deftypevrx Macro clockid_t CLOCK_REALTIME_ALARM
+@deftypevrx Macro clockid_t CLOCK_BOOTTIME_ALARM
+@deftypevrx Macro clockid_t CLOCK_TAI
+@standards{Linux, time.h}
+For details of these clocks, see the manual page
+@manpageurl{clock_gettime,2}.
+@end deftypevr
+
+Systems may support additional clocks beyond those listed here.
@deftypefun int clock_gettime (clockid_t @var{clock}, struct timespec *@var{ts})
@standards{POSIX.1, time.h}
@@ -3151,12 +3180,12 @@ On @gnusystems{}, it is safe to use @code{sleep} and @code{SIGALRM} in
the same program, because @code{sleep} does not work by means of
@code{SIGALRM}.
-@deftypefun int nanosleep (const struct timespec *@var{requested_time}, struct timespec *@var{remaining})
+@deftypefun int nanosleep (const struct timespec *@var{requested_time}, struct timespec *@var{remaining_time})
@standards{POSIX.1, time.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
@c On Linux, it's a syscall. On Mach, it calls gettimeofday and uses
@c ports.
-If resolution to seconds is not enough the @code{nanosleep} function can
+If resolution to seconds is not enough, the @code{nanosleep} function can
be used. As the name suggests the sleep interval can be specified in
nanoseconds. The actual elapsed time of the sleep interval might be
longer since the system rounds the elapsed time you request up to the
@@ -3165,36 +3194,93 @@ next integer multiple of the actual resolution the system can deliver.
@code{*@var{requested_time}} is the elapsed time of the interval you
want to sleep.
-The function returns as @code{*@var{remaining}} the elapsed time left
-in the interval for which you requested to sleep. If the interval
-completed without getting interrupted by a signal, this is zero.
+If @var{remaining_time} is not the null pointer, the function returns as
+@code{*@var{remaining_time}} the elapsed time left in the interval for which
+you requested to sleep. If the interval completed without getting
+interrupted by a signal, this is zero.
@code{struct timespec} is described in @ref{Time Types}.
-If the function returns because the interval is over the return value is
-zero. If the function returns @math{-1} the global variable @code{errno}
-is set to the following values:
+If the function returns because the interval is over, it returns zero.
+Otherwise it returns @math{-1} and sets the global variable @code{errno} to
+one of the following values:
@table @code
@item EINTR
The call was interrupted because a signal was delivered to the thread.
-If the @var{remaining} parameter is not the null pointer the structure
-pointed to by @var{remaining} is updated to contain the remaining
+If the @var{remaining_time} parameter is not the null pointer, the structure
+pointed to by @var{remaining_time} is updated to contain the remaining
elapsed time.
@item EINVAL
The nanosecond value in the @var{requested_time} parameter contains an
-illegal value. Either the value is negative or greater than or equal to
+invalid value. Either the value is negative or greater than or equal to
1000 million.
@end table
This function is a cancellation point in multi-threaded programs. This
is a problem if the thread allocates some resources (like memory, file
descriptors, semaphores or whatever) at the time @code{nanosleep} is
-called. If the thread gets canceled these resources stay allocated
-until the program ends. To avoid this calls to @code{nanosleep} should
+called. If the thread gets canceled, these resources stay allocated
+until the program ends. To avoid this, calls to @code{nanosleep} should
be protected using cancellation handlers.
@c ref pthread_cleanup_push / pthread_cleanup_pop
The @code{nanosleep} function is declared in @file{time.h}.
@end deftypefun
+
+@deftypefun int clock_nanosleep (clockid_t @var{clock}, int @var{flags}, const struct timespec *@var{requested_time}, struct timespec *@var{remaining_time})
+@standards{POSIX.1-2001, time.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function is similar to @code{nanosleep} while additionally providing
+the caller with a way to specify the clock to be used to measure elapsed
+time and express the sleep interval in absolute or relative terms. It
+returns zero when returning because the interval is over, and a positive
+error number corresponding to the error encountered otherwise. This is
+different from @code{nanosleep}, which returns @math{-1} upon failure and
+sets the global variable @code{errno} according to the error encountered
+instead.
+
+Except for the return value convention and the way to communicate an error
+condition the call:
+
+@smallexample
+nanosleep (@var{requested_time}, @var{remaining_time})
+@end smallexample
+
+is analogous to:
+
+@smallexample
+clock_nanosleep (CLOCK_REALTIME, 0, @var{requested_time}, @var{remaining_time})
+@end smallexample
+
+The @var{clock} argument specifies the clock to use.
+@xref{Getting the Time}, for the @code{clockid_t} type and possible values
+of @var{clock}. Not all clocks listed are supported for use with
+@code{clock_nanosleep}. For details, see the manual page
+@manpageurl{clock_nanosleep,2}.
+
+The @var{flags} argument is either @code{0} or @code{TIMER_ABSTIME}. If
+@var{flags} is @code{0}, then @code{clock_nanosleep} interprets
+@var{requested_time} as an interval relative to the current time specified
+by @var{clock}. If it is @code{TIMER_ABSTIME} instead, @var{requested_time}
+specifies an absolute time measured by @var{clock}; if at the time of the
+call the value requested is less than or equal to the clock specified, then
+the function returns right away. When @var{flags} is @code{TIMER_ABSTIME},
+@var{remaining_time} is not updated.
+
+The @code{clock_nanosleep} function returns error codes as positive return
+values. The error conditions for @code{clock_nanosleep} are the same as for
+@code{nanosleep}, with the following conditions additionally defined:
+
+@table @code
+@item EINVAL
+The @var{clock} argument is not a valid clock.
+
+@item EOPNOTSUPP
+The @var{clock} argument is not supported by the kernel for
+@code{clock_nanosleep}.
+@end table
+
+The @code{clock_nanosleep} function is declared in @file{time.h}.
+@end deftypefun
diff --git a/math/Makefile b/math/Makefile
index 5dd8d02..57f1e4a 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -142,6 +142,7 @@ gen-libm-calls = \
s_nextdownF \
s_pownF \
s_powrF \
+ s_rootnF \
s_rsqrtF \
s_significandF \
s_sinpiF \
@@ -691,6 +692,7 @@ libm-test-funcs-auto = \
pow \
pown \
powr \
+ rootn \
rsqrt \
sin \
sincos \
@@ -1028,6 +1030,7 @@ tgmath3-macros = \
remainder \
remquo \
rint \
+ rootn \
round \
roundeven \
rsqrt \
@@ -1454,6 +1457,7 @@ CFLAGS-s_powr.c += -fno-builtin-powrl
CFLAGS-w_remainder.c += -fno-builtin-remainderl -fno-builtin-dreml
CFLAGS-s_remquo.c += -fno-builtin-remquol
CFLAGS-s_rint.c += -fno-builtin-rintl
+CFLAGS-s_rootn.c += -fno-builtin-rootnl
CFLAGS-s_round.c += -fno-builtin-roundl
CFLAGS-s_roundeven.c += -fno-builtin-roundevenl
CFLAGS-s_rsqrt.c += -fno-builtin-rsqrtl
@@ -1592,6 +1596,7 @@ CFLAGS-s_powr.c += -fno-builtin-powrf32x -fno-builtin-powrf64
CFLAGS-w_remainder.c += -fno-builtin-remainderf32x -fno-builtin-remainderf64
CFLAGS-s_remquo.c += -fno-builtin-remquof32x -fno-builtin-remquof64
CFLAGS-s_rint.c += -fno-builtin-rintf32x -fno-builtin-rintf64
+CFLAGS-s_rootn.c += -fno-builtin-rootnf32x -fno-builtin-rootnf64
CFLAGS-s_round.c += -fno-builtin-roundf32x -fno-builtin-roundf64
CFLAGS-s_roundeven.c += -fno-builtin-roundevenf32x -fno-builtin-roundevenf64
CFLAGS-s_rsqrt.c += -fno-builtin-rsqrtf32x -fno-builtin-rsqrtf64
@@ -1721,6 +1726,7 @@ CFLAGS-s_powrf.c += -fno-builtin-powrf32
CFLAGS-w_remainderf.c += -fno-builtin-remainderf32
CFLAGS-s_remquof.c += -fno-builtin-remquof32
CFLAGS-s_rintf.c += -fno-builtin-rintf32
+CFLAGS-s_rootnf.c += -fno-builtin-rootnf32
CFLAGS-s_roundf.c += -fno-builtin-roundf32
CFLAGS-s_roundevenf.c += -fno-builtin-roundevenf32
CFLAGS-s_rsqrtf.c += -fno-builtin-rsqrtf32
diff --git a/math/Versions b/math/Versions
index 84c0c66..666d6b3 100644
--- a/math/Versions
+++ b/math/Versions
@@ -677,11 +677,13 @@ libm {
compoundnf32; compoundnf64; compoundnf32x;
pown; pownf; pownl; pownf32; pownf64; pownf32x;
powr; powrf; powrl; powrf32; powrf64; powrf32x;
+ rootn; rootnf; rootnl; rootnf32; rootnf64; rootnf32x;
rsqrt; rsqrtf; rsqrtl; rsqrtf32; rsqrtf64; rsqrtf32x;
# Functions involving _Float64x or _Float128, for some configurations.
compoundnf64x; compoundnf128;
pownf64x; pownf128;
powrf64x; powrf128;
+ rootnf64x; rootnf128;
rsqrtf64x; rsqrtf128;
}
}
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 8751f98..20b01e6 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -9050,6 +9050,224 @@ powr 0xd.73035p-4 -0x1.47bb8p+8
powr 0x1.059c76p+0 0x1.ff80bep+11
powr 0x1.7ac7cp+5 23
+rootn 0 1
+rootn 0 2
+rootn 0 3
+rootn 0 4
+rootn 0 5
+rootn 0 0x7fffffffffffffff
+rootn -0 1
+rootn -0 2
+rootn -0 3
+rootn -0 4
+rootn -0 5
+rootn -0 0x7fffffffffffffff
+
+rootn min 1
+rootn min 2
+rootn min 3
+rootn min 4
+rootn min 5
+rootn min 63
+rootn min 127
+rootn min 255
+rootn min 511
+rootn min 1023
+rootn min 16383
+rootn min 0x1000001
+rootn min 0x10000000000001
+rootn min 0x7fffffffffffffff
+rootn -min 1
+rootn -min 3
+rootn -min 5
+rootn -min 63
+rootn -min 127
+rootn -min 255
+rootn -min 511
+rootn -min 1023
+rootn -min 16383
+rootn -min 0x1000001
+rootn -min 0x10000000000001
+rootn -min 0x7fffffffffffffff
+
+rootn min -1
+rootn min -2
+rootn min -3
+rootn min -4
+rootn min -5
+rootn min -63
+rootn min -127
+rootn min -255
+rootn min -511
+rootn min -1023
+rootn min -16383
+rootn min -0x1000001
+rootn min -0x10000000000001
+rootn min -0x7fffffffffffffff
+rootn -min -1
+rootn -min -3
+rootn -min -5
+rootn -min -63
+rootn -min -127
+rootn -min -255
+rootn -min -511
+rootn -min -1023
+rootn -min -16383
+rootn -min -0x1000001
+rootn -min -0x10000000000001
+rootn -min -0x7fffffffffffffff
+
+rootn min_subnorm 1
+rootn min_subnorm 2
+rootn min_subnorm 3
+rootn min_subnorm 4
+rootn min_subnorm 5
+rootn min_subnorm 63
+rootn min_subnorm 127
+rootn min_subnorm 255
+rootn min_subnorm 511
+rootn min_subnorm 1023
+rootn min_subnorm 16383
+rootn min_subnorm 0x1000001
+rootn min_subnorm 0x10000000000001
+rootn min_subnorm 0x7fffffffffffffff
+rootn -min_subnorm 1
+rootn -min_subnorm 3
+rootn -min_subnorm 5
+rootn -min_subnorm 63
+rootn -min_subnorm 127
+rootn -min_subnorm 255
+rootn -min_subnorm 511
+rootn -min_subnorm 1023
+rootn -min_subnorm 16383
+rootn -min_subnorm 0x1000001
+rootn -min_subnorm 0x10000000000001
+rootn -min_subnorm 0x7fffffffffffffff
+
+rootn min_subnorm -1
+rootn min_subnorm -2
+rootn min_subnorm -3
+rootn min_subnorm -4
+rootn min_subnorm -5
+rootn min_subnorm -63
+rootn min_subnorm -127
+rootn min_subnorm -255
+rootn min_subnorm -511
+rootn min_subnorm -1023
+rootn min_subnorm -16383
+rootn min_subnorm -0x1000001
+rootn min_subnorm -0x10000000000001
+rootn min_subnorm -0x7fffffffffffffff
+rootn -min_subnorm -1
+rootn -min_subnorm -3
+rootn -min_subnorm -5
+rootn -min_subnorm -63
+rootn -min_subnorm -127
+rootn -min_subnorm -255
+rootn -min_subnorm -511
+rootn -min_subnorm -1023
+rootn -min_subnorm -16383
+rootn -min_subnorm -0x1000001
+rootn -min_subnorm -0x10000000000001
+rootn -min_subnorm -0x7fffffffffffffff
+
+rootn max 1
+rootn max 2
+rootn max 3
+rootn max 4
+rootn max 5
+rootn max 63
+rootn max 127
+rootn max 255
+rootn max 511
+rootn max 1023
+rootn max 16383
+rootn max 0x1000001
+rootn max 0x10000000000001
+rootn max 0x7fffffffffffffff
+rootn -max 1
+rootn -max 3
+rootn -max 5
+rootn -max 63
+rootn -max 127
+rootn -max 255
+rootn -max 511
+rootn -max 1023
+rootn -max 16383
+rootn -max 0x1000001
+rootn -max 0x10000000000001
+rootn -max 0x7fffffffffffffff
+
+rootn max -1
+rootn max -2
+rootn max -3
+rootn max -4
+rootn max -5
+rootn max -63
+rootn max -127
+rootn max -255
+rootn max -511
+rootn max -1023
+rootn max -16383
+rootn max -0x1000001
+rootn max -0x10000000000001
+rootn max -0x7fffffffffffffff
+rootn -max -1
+rootn -max -3
+rootn -max -5
+rootn -max -63
+rootn -max -127
+rootn -max -255
+rootn -max -511
+rootn -max -1023
+rootn -max -16383
+rootn -max -0x1000001
+rootn -max -0x10000000000001
+rootn -max -0x7fffffffffffffff
+
+rootn 1 123
+rootn 1 -123
+rootn 1 1234
+rootn 1 -1234
+rootn -1 123
+rootn -1 -123
+
+rootn 2 123
+rootn 2 -123
+rootn 2 1234
+rootn 2 -1234
+rootn -2 123
+rootn -2 -123
+
+rootn 0x1.234p50 123
+rootn 0x1.234p50 -123
+rootn 0x1.234p50 1234
+rootn 0x1.234p50 -1234
+rootn -0x1.234p50 123
+rootn -0x1.234p50 -123
+
+rootn 0x1.234p500 123
+rootn 0x1.234p500 -123
+rootn 0x1.234p500 1234
+rootn 0x1.234p500 -1234
+rootn -0x1.234p500 123
+rootn -0x1.234p500 -123
+
+rootn 0x9.8765p5000 123
+rootn 0x9.8765p5000 -123
+rootn 0x9.8765p5000 1234
+rootn 0x9.8765p5000 -1234
+rootn 0x9.8765p5000 12345
+rootn 0x9.8765p5000 -12345
+rootn 0x9.8765p5000 1234567
+rootn 0x9.8765p5000 -1234567
+rootn -0x9.8765p5000 123
+rootn -0x9.8765p5000 -123
+rootn -0x9.8765p5000 12345
+rootn -0x9.8765p5000 -12345
+rootn -0x9.8765p5000 1234567
+rootn -0x9.8765p5000 -1234567
+
rsqrt 2209
rsqrt 4
rsqrt 2
diff --git a/math/auto-libm-test-out-rootn b/math/auto-libm-test-out-rootn
new file mode 100644
index 0000000..58f8c35
--- /dev/null
+++ b/math/auto-libm-test-out-rootn
@@ -0,0 +1,13734 @@
+rootn 0 1
+= rootn downward binary32 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 1LL : 0x0p+0 : inexact-ok
+rootn 0 2
+= rootn downward binary32 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 2LL : 0x0p+0 : inexact-ok
+rootn 0 3
+= rootn downward binary32 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 3LL : 0x0p+0 : inexact-ok
+rootn 0 4
+= rootn downward binary32 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 4LL : 0x0p+0 : inexact-ok
+rootn 0 5
+= rootn downward binary32 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 5LL : 0x0p+0 : inexact-ok
+rootn 0 0x7fffffffffffffff
+= rootn downward binary32 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 0x0p+0 9223372036854775807LL : 0x0p+0 : inexact-ok
+rootn -0 1
+= rootn downward binary32 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 1LL : -0x0p+0 : inexact-ok
+rootn -0 2
+= rootn downward binary32 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 2LL : 0x0p+0 : inexact-ok
+rootn -0 3
+= rootn downward binary32 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 3LL : -0x0p+0 : inexact-ok
+rootn -0 4
+= rootn downward binary32 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 4LL : 0x0p+0 : inexact-ok
+rootn -0 5
+= rootn downward binary32 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 5LL : -0x0p+0 : inexact-ok
+rootn -0 0x7fffffffffffffff
+= rootn downward binary32 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary32 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary32 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward binary32 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn downward binary64 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary64 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary64 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward binary64 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn downward intel96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest intel96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero intel96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward intel96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn downward m68k96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest m68k96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero m68k96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward m68k96 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn downward binary128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest binary128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero binary128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward binary128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn downward ibm128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn tonearest ibm128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn towardzero ibm128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+= rootn upward ibm128 -0x0p+0 9223372036854775807LL : -0x0p+0 : inexact-ok
+rootn min 1
+= rootn downward binary32 0x4p-128 1LL : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary32 0x4p-128 1LL : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary32 0x4p-128 1LL : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary32 0x4p-128 1LL : 0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn tonearest binary64 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn towardzero binary64 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn upward binary64 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn downward intel96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn tonearest intel96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn towardzero intel96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn upward intel96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn downward m68k96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn upward m68k96 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn downward binary128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn tonearest binary128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn towardzero binary128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn upward binary128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn downward ibm128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn upward ibm128 0x4p-128 1LL : 0x4p-128 : inexact-ok
+= rootn downward binary64 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary64 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary64 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary64 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn upward intel96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn downward m68k96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn upward m68k96 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn downward binary128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn upward binary128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok
+= rootn downward ibm128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 0x4p-1024 1LL : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok
+= rootn upward m68k96 0x4p-16384 1LL : 0x4p-16384 : inexact-ok
+= rootn downward binary128 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 0x4p-16384 1LL : 0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 0x2p-16384 1LL : 0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn tonearest binary64 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn towardzero binary64 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn upward binary64 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn downward intel96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn tonearest intel96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn towardzero intel96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn upward intel96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn downward m68k96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn upward m68k96 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn downward binary128 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn tonearest binary128 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn towardzero binary128 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn upward binary128 0x8p-972 1LL : 0x8p-972 : inexact-ok
+= rootn downward ibm128 0x8p-972 1LL : 0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 0x8p-972 1LL : 0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 0x8p-972 1LL : 0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 0x8p-972 1LL : 0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+rootn min 2
+= rootn downward binary32 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest binary32 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero binary32 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward binary32 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward binary64 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest binary64 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero binary64 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward binary64 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward intel96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest intel96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero intel96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward intel96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward m68k96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward m68k96 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward binary128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest binary128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero binary128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward binary128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward ibm128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn upward ibm128 0x4p-128 2LL : 0x2p-64 : inexact-ok
+= rootn downward binary64 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn upward binary64 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn downward intel96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn upward intel96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn downward m68k96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn upward m68k96 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn downward binary128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn upward binary128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn downward ibm128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn upward ibm128 0x4p-1024 2LL : 0x2p-512 : inexact-ok
+= rootn downward intel96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn upward intel96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn downward m68k96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn upward m68k96 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn downward binary128 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn upward binary128 0x4p-16384 2LL : 0x2p-8192 : inexact-ok
+= rootn downward intel96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn upward intel96 0x2p-16384 2LL : 0x1.6a09e667f3bcc90ap-8192 : inexact-ok
+= rootn downward m68k96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 2LL : 0x1.6a09e667f3bcc908p-8192 : inexact-ok
+= rootn upward m68k96 0x2p-16384 2LL : 0x1.6a09e667f3bcc90ap-8192 : inexact-ok
+= rootn downward binary128 0x2p-16384 2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-8192 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-8192 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-8192 : inexact-ok
+= rootn upward binary128 0x2p-16384 2LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-8192 : inexact-ok
+= rootn downward binary64 0x8p-972 2LL : 0xb.504f333f9de6p-488 : inexact-ok
+= rootn tonearest binary64 0x8p-972 2LL : 0xb.504f333f9de68p-488 : inexact-ok
+= rootn towardzero binary64 0x8p-972 2LL : 0xb.504f333f9de6p-488 : inexact-ok
+= rootn upward binary64 0x8p-972 2LL : 0xb.504f333f9de68p-488 : inexact-ok
+= rootn downward intel96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn tonearest intel96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn towardzero intel96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn upward intel96 0x8p-972 2LL : 0xb.504f333f9de6485p-488 : inexact-ok
+= rootn downward m68k96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 2LL : 0xb.504f333f9de6484p-488 : inexact-ok
+= rootn upward m68k96 0x8p-972 2LL : 0xb.504f333f9de6485p-488 : inexact-ok
+= rootn downward binary128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754a8p-488 : inexact-ok
+= rootn tonearest binary128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754a8p-488 : inexact-ok
+= rootn towardzero binary128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754a8p-488 : inexact-ok
+= rootn upward binary128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754bp-488 : inexact-ok
+= rootn downward ibm128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754p-488 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754p-488 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3754p-488 : inexact-ok
+= rootn upward ibm128 0x8p-972 2LL : 0xb.504f333f9de6484597d89b3758p-488 : inexact-ok
+rootn min 3
+= rootn downward binary32 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest binary32 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero binary32 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward binary32 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward binary64 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest binary64 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero binary64 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward binary64 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward intel96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest intel96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero intel96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward intel96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward m68k96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward m68k96 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward binary128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest binary128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero binary128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward binary128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward ibm128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn upward ibm128 0x4p-128 3LL : 0x4p-44 : inexact-ok
+= rootn downward binary64 0x4p-1024 3LL : 0xa.14517cc6b945p-344 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 3LL : 0xa.14517cc6b9458p-344 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 3LL : 0xa.14517cc6b945p-344 : inexact-ok
+= rootn upward binary64 0x4p-1024 3LL : 0xa.14517cc6b9458p-344 : inexact-ok
+= rootn downward intel96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn upward intel96 0x4p-1024 3LL : 0xa.14517cc6b945712p-344 : inexact-ok
+= rootn downward m68k96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 3LL : 0xa.14517cc6b945711p-344 : inexact-ok
+= rootn upward m68k96 0x4p-1024 3LL : 0xa.14517cc6b945712p-344 : inexact-ok
+= rootn downward binary128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn upward binary128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adf13p-344 : inexact-ok
+= rootn downward ibm128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn upward ibm128 0x4p-1024 3LL : 0xa.14517cc6b9457111eed5b8adf4p-344 : inexact-ok
+= rootn downward intel96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn upward intel96 0x4p-16384 3LL : 0xa.14517cc6b945712p-5464 : inexact-ok
+= rootn downward m68k96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 3LL : 0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn upward m68k96 0x4p-16384 3LL : 0xa.14517cc6b945712p-5464 : inexact-ok
+= rootn downward binary128 0x4p-16384 3LL : 0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 3LL : 0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 3LL : 0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn upward binary128 0x4p-16384 3LL : 0xa.14517cc6b9457111eed5b8adf13p-5464 : inexact-ok
+= rootn downward intel96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn upward intel96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn downward m68k96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn upward m68k96 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn downward binary128 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn upward binary128 0x2p-16384 3LL : 0x8p-5464 : inexact-ok
+= rootn downward binary64 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn tonearest binary64 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn towardzero binary64 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn upward binary64 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn downward intel96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn tonearest intel96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn towardzero intel96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn upward intel96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn downward m68k96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn upward m68k96 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn downward binary128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn tonearest binary128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn towardzero binary128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn upward binary128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn downward ibm128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+= rootn upward ibm128 0x8p-972 3LL : 0x2p-324 : inexact-ok
+rootn min 4
+= rootn downward binary32 0x4p-128 4LL : 0x1.6a09e6p-32 : inexact-ok
+= rootn tonearest binary32 0x4p-128 4LL : 0x1.6a09e6p-32 : inexact-ok
+= rootn towardzero binary32 0x4p-128 4LL : 0x1.6a09e6p-32 : inexact-ok
+= rootn upward binary32 0x4p-128 4LL : 0x1.6a09e8p-32 : inexact-ok
+= rootn downward binary64 0x4p-128 4LL : 0x1.6a09e667f3bccp-32 : inexact-ok
+= rootn tonearest binary64 0x4p-128 4LL : 0x1.6a09e667f3bcdp-32 : inexact-ok
+= rootn towardzero binary64 0x4p-128 4LL : 0x1.6a09e667f3bccp-32 : inexact-ok
+= rootn upward binary64 0x4p-128 4LL : 0x1.6a09e667f3bcdp-32 : inexact-ok
+= rootn downward intel96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn tonearest intel96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn towardzero intel96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn upward intel96 0x4p-128 4LL : 0x1.6a09e667f3bcc90ap-32 : inexact-ok
+= rootn downward m68k96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 4LL : 0x1.6a09e667f3bcc908p-32 : inexact-ok
+= rootn upward m68k96 0x4p-128 4LL : 0x1.6a09e667f3bcc90ap-32 : inexact-ok
+= rootn downward binary128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-32 : inexact-ok
+= rootn tonearest binary128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-32 : inexact-ok
+= rootn towardzero binary128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-32 : inexact-ok
+= rootn upward binary128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-32 : inexact-ok
+= rootn downward ibm128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-32 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-32 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-32 : inexact-ok
+= rootn upward ibm128 0x4p-128 4LL : 0x1.6a09e667f3bcc908b2fb1366ebp-32 : inexact-ok
+= rootn downward binary64 0x4p-1024 4LL : 0x1.6a09e667f3bccp-256 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 4LL : 0x1.6a09e667f3bcdp-256 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 4LL : 0x1.6a09e667f3bccp-256 : inexact-ok
+= rootn upward binary64 0x4p-1024 4LL : 0x1.6a09e667f3bcdp-256 : inexact-ok
+= rootn downward intel96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn upward intel96 0x4p-1024 4LL : 0x1.6a09e667f3bcc90ap-256 : inexact-ok
+= rootn downward m68k96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 4LL : 0x1.6a09e667f3bcc908p-256 : inexact-ok
+= rootn upward m68k96 0x4p-1024 4LL : 0x1.6a09e667f3bcc90ap-256 : inexact-ok
+= rootn downward binary128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-256 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-256 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-256 : inexact-ok
+= rootn upward binary128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-256 : inexact-ok
+= rootn downward ibm128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-256 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-256 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p-256 : inexact-ok
+= rootn upward ibm128 0x4p-1024 4LL : 0x1.6a09e667f3bcc908b2fb1366ebp-256 : inexact-ok
+= rootn downward intel96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn upward intel96 0x4p-16384 4LL : 0x1.6a09e667f3bcc90ap-4096 : inexact-ok
+= rootn downward m68k96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 4LL : 0x1.6a09e667f3bcc908p-4096 : inexact-ok
+= rootn upward m68k96 0x4p-16384 4LL : 0x1.6a09e667f3bcc90ap-4096 : inexact-ok
+= rootn downward binary128 0x4p-16384 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4096 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4096 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4096 : inexact-ok
+= rootn upward binary128 0x4p-16384 4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-4096 : inexact-ok
+= rootn downward intel96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn upward intel96 0x2p-16384 4LL : 0x1.306fe0a31b7152ep-4096 : inexact-ok
+= rootn downward m68k96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 4LL : 0x1.306fe0a31b7152dep-4096 : inexact-ok
+= rootn upward m68k96 0x2p-16384 4LL : 0x1.306fe0a31b7152ep-4096 : inexact-ok
+= rootn downward binary128 0x2p-16384 4LL : 0x1.306fe0a31b7152de8d5a46305c85p-4096 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 4LL : 0x1.306fe0a31b7152de8d5a46305c86p-4096 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 4LL : 0x1.306fe0a31b7152de8d5a46305c85p-4096 : inexact-ok
+= rootn upward binary128 0x2p-16384 4LL : 0x1.306fe0a31b7152de8d5a46305c86p-4096 : inexact-ok
+= rootn downward binary64 0x8p-972 4LL : 0x3.5d13f32b5a75ap-244 : inexact-ok
+= rootn tonearest binary64 0x8p-972 4LL : 0x3.5d13f32b5a75ap-244 : inexact-ok
+= rootn towardzero binary64 0x8p-972 4LL : 0x3.5d13f32b5a75ap-244 : inexact-ok
+= rootn upward binary64 0x8p-972 4LL : 0x3.5d13f32b5a75cp-244 : inexact-ok
+= rootn downward intel96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn tonearest intel96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn towardzero intel96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn upward intel96 0x8p-972 4LL : 0x3.5d13f32b5a75abd4p-244 : inexact-ok
+= rootn downward m68k96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 4LL : 0x3.5d13f32b5a75abdp-244 : inexact-ok
+= rootn upward m68k96 0x8p-972 4LL : 0x3.5d13f32b5a75abd4p-244 : inexact-ok
+= rootn downward binary128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee640b4p-244 : inexact-ok
+= rootn tonearest binary128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee640b4p-244 : inexact-ok
+= rootn towardzero binary128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee640b4p-244 : inexact-ok
+= rootn upward binary128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee640b6p-244 : inexact-ok
+= rootn downward ibm128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee64p-244 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee641p-244 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee64p-244 : inexact-ok
+= rootn upward ibm128 0x8p-972 4LL : 0x3.5d13f32b5a75abd0e69a2ee641p-244 : inexact-ok
+rootn min 5
+= rootn downward binary32 0x4p-128 5LL : 0x6.f6e33p-28 : inexact-ok
+= rootn tonearest binary32 0x4p-128 5LL : 0x6.f6e338p-28 : inexact-ok
+= rootn towardzero binary32 0x4p-128 5LL : 0x6.f6e33p-28 : inexact-ok
+= rootn upward binary32 0x4p-128 5LL : 0x6.f6e338p-28 : inexact-ok
+= rootn downward binary64 0x4p-128 5LL : 0x6.f6e336b6f848p-28 : inexact-ok
+= rootn tonearest binary64 0x4p-128 5LL : 0x6.f6e336b6f848p-28 : inexact-ok
+= rootn towardzero binary64 0x4p-128 5LL : 0x6.f6e336b6f848p-28 : inexact-ok
+= rootn upward binary64 0x4p-128 5LL : 0x6.f6e336b6f8484p-28 : inexact-ok
+= rootn downward intel96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn tonearest intel96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn towardzero intel96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn upward intel96 0x4p-128 5LL : 0x6.f6e336b6f8480858p-28 : inexact-ok
+= rootn downward m68k96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 5LL : 0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn upward m68k96 0x4p-128 5LL : 0x6.f6e336b6f8480858p-28 : inexact-ok
+= rootn downward binary128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn tonearest binary128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn towardzero binary128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn upward binary128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fea8p-28 : inexact-ok
+= rootn downward ibm128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn upward ibm128 0x4p-128 5LL : 0x6.f6e336b6f8480853d874c2cap-28 : inexact-ok
+= rootn downward binary64 0x4p-1024 5LL : 0xc.203001d9572ep-208 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 5LL : 0xc.203001d9572ep-208 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 5LL : 0xc.203001d9572ep-208 : inexact-ok
+= rootn upward binary64 0x4p-1024 5LL : 0xc.203001d9572e8p-208 : inexact-ok
+= rootn downward intel96 0x4p-1024 5LL : 0xc.203001d9572e35cp-208 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 5LL : 0xc.203001d9572e35dp-208 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 5LL : 0xc.203001d9572e35cp-208 : inexact-ok
+= rootn upward intel96 0x4p-1024 5LL : 0xc.203001d9572e35dp-208 : inexact-ok
+= rootn downward m68k96 0x4p-1024 5LL : 0xc.203001d9572e35cp-208 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 5LL : 0xc.203001d9572e35dp-208 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 5LL : 0xc.203001d9572e35cp-208 : inexact-ok
+= rootn upward m68k96 0x4p-1024 5LL : 0xc.203001d9572e35dp-208 : inexact-ok
+= rootn downward binary128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn upward binary128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a39907570ap-208 : inexact-ok
+= rootn downward ibm128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn upward ibm128 0x4p-1024 5LL : 0xc.203001d9572e35cc9a39907574p-208 : inexact-ok
+= rootn downward intel96 0x4p-16384 5LL : 0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 5LL : 0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 5LL : 0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn upward intel96 0x4p-16384 5LL : 0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn downward m68k96 0x4p-16384 5LL : 0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 5LL : 0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 5LL : 0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn upward m68k96 0x4p-16384 5LL : 0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn downward binary128 0x4p-16384 5LL : 0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 5LL : 0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 5LL : 0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn upward binary128 0x4p-16384 5LL : 0xc.203001d9572e35cc9a39907570ap-3280 : inexact-ok
+= rootn downward intel96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn upward intel96 0x2p-16384 5LL : 0xa.8e5a29dca9b622cp-3280 : inexact-ok
+= rootn downward m68k96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 5LL : 0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn upward m68k96 0x2p-16384 5LL : 0xa.8e5a29dca9b622cp-3280 : inexact-ok
+= rootn downward binary128 0x2p-16384 5LL : 0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 5LL : 0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 5LL : 0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn upward binary128 0x2p-16384 5LL : 0xa.8e5a29dca9b622b49d423b65cb6p-3280 : inexact-ok
+= rootn downward binary64 0x8p-972 5LL : 0x4.984461aeb99dp-196 : inexact-ok
+= rootn tonearest binary64 0x8p-972 5LL : 0x4.984461aeb99d4p-196 : inexact-ok
+= rootn towardzero binary64 0x8p-972 5LL : 0x4.984461aeb99dp-196 : inexact-ok
+= rootn upward binary64 0x8p-972 5LL : 0x4.984461aeb99d4p-196 : inexact-ok
+= rootn downward intel96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn tonearest intel96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn towardzero intel96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn upward intel96 0x8p-972 5LL : 0x4.984461aeb99d25bp-196 : inexact-ok
+= rootn downward m68k96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 5LL : 0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn upward m68k96 0x8p-972 5LL : 0x4.984461aeb99d25bp-196 : inexact-ok
+= rootn downward binary128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d8384p-196 : inexact-ok
+= rootn tonearest binary128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d8388p-196 : inexact-ok
+= rootn towardzero binary128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d8384p-196 : inexact-ok
+= rootn upward binary128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d8388p-196 : inexact-ok
+= rootn downward ibm128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d82p-196 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d84p-196 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d82p-196 : inexact-ok
+= rootn upward ibm128 0x8p-972 5LL : 0x4.984461aeb99d25a94879081d84p-196 : inexact-ok
+rootn min 63
+= rootn downward binary32 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward binary32 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward intel96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward binary128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 63LL : 0x4p-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 63LL : 0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 63LL : 0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 63LL : 0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn upward binary64 0x4p-1024 63LL : 0xd.b7457770bf6bp-20 : inexact-ok
+= rootn downward intel96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn upward intel96 0x4p-1024 63LL : 0xd.b7457770bf6aa9fp-20 : inexact-ok
+= rootn downward m68k96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 63LL : 0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn upward m68k96 0x4p-1024 63LL : 0xd.b7457770bf6aa9fp-20 : inexact-ok
+= rootn downward binary128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn upward binary128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c517815641p-20 : inexact-ok
+= rootn downward ibm128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn upward ibm128 0x4p-1024 63LL : 0xd.b7457770bf6aa9e44c51781568p-20 : inexact-ok
+= rootn downward intel96 0x4p-16384 63LL : 0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 63LL : 0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 63LL : 0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn upward intel96 0x4p-16384 63LL : 0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn downward m68k96 0x4p-16384 63LL : 0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 63LL : 0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 63LL : 0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn upward m68k96 0x4p-16384 63LL : 0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn downward binary128 0x4p-16384 63LL : 0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 63LL : 0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 63LL : 0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn upward binary128 0x4p-16384 63LL : 0xf.a6da70a17d1239ebf94c8c3d2c8p-264 : inexact-ok
+= rootn downward intel96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn upward intel96 0x2p-16384 63LL : 0xf.7b029a299cff9e1p-264 : inexact-ok
+= rootn downward m68k96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 63LL : 0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn upward m68k96 0x2p-16384 63LL : 0xf.7b029a299cff9e1p-264 : inexact-ok
+= rootn downward binary128 0x2p-16384 63LL : 0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 63LL : 0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 63LL : 0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn upward binary128 0x2p-16384 63LL : 0xf.7b029a299cff9e0127d88b6a2f2p-264 : inexact-ok
+= rootn downward binary64 0x8p-972 63LL : 0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn tonearest binary64 0x8p-972 63LL : 0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn towardzero binary64 0x8p-972 63LL : 0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn upward binary64 0x8p-972 63LL : 0x1.892e2f1f775ccp-16 : inexact-ok
+= rootn downward intel96 0x8p-972 63LL : 0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn tonearest intel96 0x8p-972 63LL : 0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn towardzero intel96 0x8p-972 63LL : 0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn upward intel96 0x8p-972 63LL : 0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn downward m68k96 0x8p-972 63LL : 0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 63LL : 0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 63LL : 0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn upward m68k96 0x8p-972 63LL : 0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn downward binary128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81be02p-16 : inexact-ok
+= rootn tonearest binary128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81be03p-16 : inexact-ok
+= rootn towardzero binary128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81be02p-16 : inexact-ok
+= rootn upward binary128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81be03p-16 : inexact-ok
+= rootn downward ibm128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+= rootn upward ibm128 0x8p-972 63LL : 0x1.892e2f1f775cb075289a1b81be8p-16 : inexact-ok
+rootn min 127
+= rootn downward binary32 0x4p-128 127LL : 0x8.0b354p-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 127LL : 0x8.0b355p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 127LL : 0x8.0b354p-4 : inexact-ok
+= rootn upward binary32 0x4p-128 127LL : 0x8.0b355p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 127LL : 0x8.0b354f2930d1p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 127LL : 0x8.0b354f2930d1p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 127LL : 0x8.0b354f2930d1p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 127LL : 0x8.0b354f2930d18p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 127LL : 0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 127LL : 0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 127LL : 0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn upward intel96 0x4p-128 127LL : 0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 127LL : 0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 127LL : 0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 127LL : 0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 127LL : 0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn downward binary128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d89878p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 127LL : 0x8.0b354f2930d10a1871c242d89cp-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 127LL : 0xf.7c0a4f861ec08p-12 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 127LL : 0xf.7c0a4f861ec1p-12 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 127LL : 0xf.7c0a4f861ec08p-12 : inexact-ok
+= rootn upward binary64 0x4p-1024 127LL : 0xf.7c0a4f861ec1p-12 : inexact-ok
+= rootn downward intel96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn upward intel96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa5p-12 : inexact-ok
+= rootn downward m68k96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn upward m68k96 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa5p-12 : inexact-ok
+= rootn downward binary128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d6148p-12 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d615p-12 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d6148p-12 : inexact-ok
+= rootn upward binary128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d615p-12 : inexact-ok
+= rootn downward ibm128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn upward ibm128 0x4p-1024 127LL : 0xf.7c0a4f861ec0fa45e2aff00d64p-12 : inexact-ok
+= rootn downward intel96 0x4p-16384 127LL : 0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 127LL : 0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 127LL : 0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn upward intel96 0x4p-16384 127LL : 0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn downward m68k96 0x4p-16384 127LL : 0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 127LL : 0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 127LL : 0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn upward m68k96 0x4p-16384 127LL : 0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn downward binary128 0x4p-16384 127LL : 0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 127LL : 0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 127LL : 0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn upward binary128 0x4p-16384 127LL : 0x8.0b354f2930d10a1871c242d89878p-132 : inexact-ok
+= rootn downward intel96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn upward intel96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn downward m68k96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn upward m68k96 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn downward binary128 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn upward binary128 0x2p-16384 127LL : 0x8p-132 : inexact-ok
+= rootn downward binary64 0x8p-972 127LL : 0x1.4adc41fefd0dfp-8 : inexact-ok
+= rootn tonearest binary64 0x8p-972 127LL : 0x1.4adc41fefd0ep-8 : inexact-ok
+= rootn towardzero binary64 0x8p-972 127LL : 0x1.4adc41fefd0dfp-8 : inexact-ok
+= rootn upward binary64 0x8p-972 127LL : 0x1.4adc41fefd0ep-8 : inexact-ok
+= rootn downward intel96 0x8p-972 127LL : 0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn tonearest intel96 0x8p-972 127LL : 0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn towardzero intel96 0x8p-972 127LL : 0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn upward intel96 0x8p-972 127LL : 0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn downward m68k96 0x8p-972 127LL : 0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 127LL : 0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 127LL : 0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn upward m68k96 0x8p-972 127LL : 0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn downward binary128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d56p-8 : inexact-ok
+= rootn tonearest binary128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d57p-8 : inexact-ok
+= rootn towardzero binary128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d56p-8 : inexact-ok
+= rootn upward binary128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d57p-8 : inexact-ok
+= rootn downward ibm128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98dp-8 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d8p-8 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98dp-8 : inexact-ok
+= rootn upward ibm128 0x8p-972 127LL : 0x1.4adc41fefd0dff39f4917bd98d8p-8 : inexact-ok
+rootn min 255
+= rootn downward binary32 0x4p-128 255LL : 0xb.5c248p-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 255LL : 0xb.5c249p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 255LL : 0xb.5c248p-4 : inexact-ok
+= rootn upward binary32 0x4p-128 255LL : 0xb.5c249p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 255LL : 0xb.5c2488b71228p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 255LL : 0xb.5c2488b71228p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 255LL : 0xb.5c2488b71228p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 255LL : 0xb.5c2488b712288p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn upward intel96 0x4p-128 255LL : 0xb.5c2488b712283ddp-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 255LL : 0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 255LL : 0xb.5c2488b712283ddp-4 : inexact-ok
+= rootn downward binary128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f069061p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f06904p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f06908p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f06904p-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 255LL : 0xb.5c2488b712283dc0b0d2f06908p-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 255LL : 0xf.e9caf018dca1p-8 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 255LL : 0xf.e9caf018dca1p-8 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 255LL : 0xf.e9caf018dca1p-8 : inexact-ok
+= rootn upward binary64 0x4p-1024 255LL : 0xf.e9caf018dca18p-8 : inexact-ok
+= rootn downward intel96 0x4p-1024 255LL : 0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 255LL : 0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 255LL : 0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn upward intel96 0x4p-1024 255LL : 0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn downward m68k96 0x4p-1024 255LL : 0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 255LL : 0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 255LL : 0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn upward m68k96 0x4p-1024 255LL : 0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn downward binary128 0x4p-1024 255LL : 0xf.e9caf018dca1124c01474269126p-8 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 255LL : 0xf.e9caf018dca1124c014742691268p-8 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 255LL : 0xf.e9caf018dca1124c01474269126p-8 : inexact-ok
+= rootn upward binary128 0x4p-1024 255LL : 0xf.e9caf018dca1124c014742691268p-8 : inexact-ok
+= rootn downward ibm128 0x4p-1024 255LL : 0xf.e9caf018dca1124c014742691p-8 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 255LL : 0xf.e9caf018dca1124c0147426914p-8 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 255LL : 0xf.e9caf018dca1124c014742691p-8 : inexact-ok
+= rootn upward ibm128 0x4p-1024 255LL : 0xf.e9caf018dca1124c0147426914p-8 : inexact-ok
+= rootn downward intel96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn upward intel96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee2p-68 : inexact-ok
+= rootn downward m68k96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn upward m68k96 0x4p-16384 255LL : 0xd.84bc26dd1a98ee2p-68 : inexact-ok
+= rootn downward binary128 0x4p-16384 255LL : 0xd.84bc26dd1a98ee101972b6f753e8p-68 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 255LL : 0xd.84bc26dd1a98ee101972b6f753fp-68 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 255LL : 0xd.84bc26dd1a98ee101972b6f753e8p-68 : inexact-ok
+= rootn upward binary128 0x4p-16384 255LL : 0xd.84bc26dd1a98ee101972b6f753fp-68 : inexact-ok
+= rootn downward intel96 0x2p-16384 255LL : 0xd.7b57375449b589bp-68 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 255LL : 0xd.7b57375449b589cp-68 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 255LL : 0xd.7b57375449b589bp-68 : inexact-ok
+= rootn upward intel96 0x2p-16384 255LL : 0xd.7b57375449b589cp-68 : inexact-ok
+= rootn downward m68k96 0x2p-16384 255LL : 0xd.7b57375449b589bp-68 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 255LL : 0xd.7b57375449b589cp-68 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 255LL : 0xd.7b57375449b589bp-68 : inexact-ok
+= rootn upward m68k96 0x2p-16384 255LL : 0xd.7b57375449b589cp-68 : inexact-ok
+= rootn downward binary128 0x2p-16384 255LL : 0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 255LL : 0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 255LL : 0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn upward binary128 0x2p-16384 255LL : 0xd.7b57375449b589b9ef5b34fb2dc8p-68 : inexact-ok
+= rootn downward binary64 0x8p-972 255LL : 0x1.2611186bae674p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 255LL : 0x1.2611186bae675p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 255LL : 0x1.2611186bae674p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 255LL : 0x1.2611186bae675p-4 : inexact-ok
+= rootn downward intel96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn upward intel96 0x8p-972 255LL : 0x1.2611186bae67496cp-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 255LL : 0x1.2611186bae67496ap-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 255LL : 0x1.2611186bae67496cp-4 : inexact-ok
+= rootn downward binary128 0x8p-972 255LL : 0x1.2611186bae67496a521e420760e1p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 255LL : 0x1.2611186bae67496a521e420760e2p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 255LL : 0x1.2611186bae67496a521e420760e1p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 255LL : 0x1.2611186bae67496a521e420760e2p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 255LL : 0x1.2611186bae67496a521e4207608p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 255LL : 0x1.2611186bae67496a521e420761p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 255LL : 0x1.2611186bae67496a521e4207608p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 255LL : 0x1.2611186bae67496a521e420761p-4 : inexact-ok
+rootn min 511
+= rootn downward binary32 0x4p-128 511LL : 0xd.7c7f5p-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 511LL : 0xd.7c7f6p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 511LL : 0xd.7c7f5p-4 : inexact-ok
+= rootn upward binary32 0x4p-128 511LL : 0xd.7c7f6p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 511LL : 0xd.7c7f5ca3f404p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 511LL : 0xd.7c7f5ca3f4048p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 511LL : 0xd.7c7f5ca3f404p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 511LL : 0xd.7c7f5ca3f4048p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 511LL : 0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 511LL : 0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 511LL : 0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn upward intel96 0x4p-128 511LL : 0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 511LL : 0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 511LL : 0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 511LL : 0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 511LL : 0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn downward binary128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c0392868p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 511LL : 0xd.7c7f5ca3f40455df1b02c0392cp-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn downward intel96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 511LL : 0x4p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn upward intel96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f6p-36 : inexact-ok
+= rootn downward m68k96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn upward m68k96 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f6p-36 : inexact-ok
+= rootn downward binary128 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5731368024443p-36 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f57313680244438p-36 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f5731368024443p-36 : inexact-ok
+= rootn upward binary128 0x4p-16384 511LL : 0xf.5caa3e0dbb8e8f57313680244438p-36 : inexact-ok
+= rootn downward intel96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn upward intel96 0x2p-16384 511LL : 0xf.57558b0973d6c57p-36 : inexact-ok
+= rootn downward m68k96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 511LL : 0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn upward m68k96 0x2p-16384 511LL : 0xf.57558b0973d6c57p-36 : inexact-ok
+= rootn downward binary128 0x2p-16384 511LL : 0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 511LL : 0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 511LL : 0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn upward binary128 0x2p-16384 511LL : 0xf.57558b0973d6c565e33bf3a2b028p-36 : inexact-ok
+= rootn downward binary64 0x8p-972 511LL : 0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 511LL : 0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 511LL : 0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn upward binary64 0x8p-972 511LL : 0x4.4c54054c4f5ep-4 : inexact-ok
+= rootn downward intel96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn upward intel96 0x8p-972 511LL : 0x4.4c54054c4f5dc3b8p-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 511LL : 0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 511LL : 0x4.4c54054c4f5dc3b8p-4 : inexact-ok
+= rootn downward binary128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f9218cp-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f9219p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f9218cp-4 : inexact-ok
+= rootn upward binary128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f9219p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f92p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f922p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f92p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 511LL : 0x4.4c54054c4f5dc3b242b827f922p-4 : inexact-ok
+rootn min 1023
+= rootn downward binary32 0x4p-128 1023LL : 0xe.b0d2cp-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 1023LL : 0xe.b0d2dp-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 1023LL : 0xe.b0d2cp-4 : inexact-ok
+= rootn upward binary32 0x4p-128 1023LL : 0xe.b0d2dp-4 : inexact-ok
+= rootn downward binary64 0x4p-128 1023LL : 0xe.b0d2c9f47441p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 1023LL : 0xe.b0d2c9f474418p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 1023LL : 0xe.b0d2c9f47441p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 1023LL : 0xe.b0d2c9f474418p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn upward intel96 0x4p-128 1023LL : 0xe.b0d2c9f4744156ap-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 1023LL : 0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 1023LL : 0xe.b0d2c9f4744156ap-4 : inexact-ok
+= rootn downward binary128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c94513459ap-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 1023LL : 0xe.b0d2c9f4744156948c9451345cp-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 1023LL : 0x8.01635bd01b2d8p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 1023LL : 0x8.01635bd01b2ep-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 1023LL : 0x8.01635bd01b2d8p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 1023LL : 0x8.01635bd01b2ep-4 : inexact-ok
+= rootn downward intel96 0x4p-1024 1023LL : 0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 1023LL : 0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 1023LL : 0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 1023LL : 0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 1023LL : 0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 1023LL : 0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 1023LL : 0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 1023LL : 0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463965dp-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 1023LL : 0x8.01635bd01b2de14c81a4463968p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn upward intel96 0x4p-16384 1023LL : 0xf.d9545b2c8191656p-20 : inexact-ok
+= rootn downward m68k96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 1023LL : 0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn upward m68k96 0x4p-16384 1023LL : 0xf.d9545b2c8191656p-20 : inexact-ok
+= rootn downward binary128 0x4p-16384 1023LL : 0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 1023LL : 0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 1023LL : 0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn upward binary128 0x4p-16384 1023LL : 0xf.d9545b2c819165542d6fb9abf15p-20 : inexact-ok
+= rootn downward intel96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn upward intel96 0x2p-16384 1023LL : 0xf.d694d35b80c43fep-20 : inexact-ok
+= rootn downward m68k96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 1023LL : 0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn upward m68k96 0x2p-16384 1023LL : 0xf.d694d35b80c43fep-20 : inexact-ok
+= rootn downward binary128 0x2p-16384 1023LL : 0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 1023LL : 0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 1023LL : 0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn upward binary128 0x2p-16384 1023LL : 0xf.d694d35b80c43fd2c6653313e33p-20 : inexact-ok
+= rootn downward binary64 0x8p-972 1023LL : 0x8.4c521f105c14p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 1023LL : 0x8.4c521f105c14p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 1023LL : 0x8.4c521f105c14p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 1023LL : 0x8.4c521f105c148p-4 : inexact-ok
+= rootn downward intel96 0x8p-972 1023LL : 0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 1023LL : 0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 1023LL : 0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn upward intel96 0x8p-972 1023LL : 0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 1023LL : 0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 1023LL : 0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 1023LL : 0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 1023LL : 0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn downward binary128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe893p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe8938p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe893p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe8938p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 1023LL : 0x8.4c521f105c143ccf94361abe8cp-4 : inexact-ok
+rootn min 16383
+= rootn downward binary32 0x4p-128 16383LL : 0xf.ea38fp-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 16383LL : 0xf.ea39p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 16383LL : 0xf.ea38fp-4 : inexact-ok
+= rootn upward binary32 0x4p-128 16383LL : 0xf.ea39p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 16383LL : 0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 16383LL : 0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 16383LL : 0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 16383LL : 0xf.ea38fe3ddd64p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn upward intel96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn downward binary128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacddfp-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 16383LL : 0xf.ea38fe3ddd63b0ccf2fb3cacep-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 16383LL : 0xf.52aa21de7d898p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 16383LL : 0xf.52aa21de7d898p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 16383LL : 0xf.52aa21de7d898p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 16383LL : 0xf.52aa21de7d8ap-4 : inexact-ok
+= rootn downward intel96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 16383LL : 0xf.52aa21de7d89a0ap-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 16383LL : 0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 16383LL : 0xf.52aa21de7d89a0ap-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7b178p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 16383LL : 0xf.52aa21de7d89a09060f937b7b4p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 16383LL : 0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 16383LL : 0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 16383LL : 0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn upward intel96 0x4p-16384 16383LL : 0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn downward m68k96 0x4p-16384 16383LL : 0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 16383LL : 0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 16383LL : 0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16384 16383LL : 0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn downward binary128 0x4p-16384 16383LL : 0x8.00162eba7a398f3c21d5d3f6eecp-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 16383LL : 0x8.00162eba7a398f3c21d5d3f6eec8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 16383LL : 0x8.00162eba7a398f3c21d5d3f6eecp-4 : inexact-ok
+= rootn upward binary128 0x4p-16384 16383LL : 0x8.00162eba7a398f3c21d5d3f6eec8p-4 : inexact-ok
+= rootn downward intel96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn upward intel96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn downward m68k96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn upward m68k96 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn downward binary128 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn upward binary128 0x2p-16384 16383LL : 0x8p-4 : inexact-ok
+= rootn downward binary64 0x8p-972 16383LL : 0xf.5b787470f0348p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 16383LL : 0xf.5b787470f035p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 16383LL : 0xf.5b787470f0348p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 16383LL : 0xf.5b787470f035p-4 : inexact-ok
+= rootn downward intel96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn upward intel96 0x8p-972 16383LL : 0xf.5b787470f034da3p-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 16383LL : 0xf.5b787470f034da2p-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 16383LL : 0xf.5b787470f034da3p-4 : inexact-ok
+= rootn downward binary128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed6788p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed64p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed68p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed64p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 16383LL : 0xf.5b787470f034da27c3c716ed68p-4 : inexact-ok
+rootn min 0x1000001
+= rootn downward binary32 0x4p-128 16777217LL : 0xf.fffa8p-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 16777217LL : 0xf.fffa9p-4 : inexact-ok
+= rootn towardzero binary32 0x4p-128 16777217LL : 0xf.fffa8p-4 : inexact-ok
+= rootn upward binary32 0x4p-128 16777217LL : 0xf.fffa9p-4 : inexact-ok
+= rootn downward binary64 0x4p-128 16777217LL : 0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 16777217LL : 0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 16777217LL : 0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 16777217LL : 0xf.fffa8a9e77138p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 16777217LL : 0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 16777217LL : 0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 16777217LL : 0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn upward intel96 0x4p-128 16777217LL : 0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 16777217LL : 0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 16777217LL : 0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 16777217LL : 0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 16777217LL : 0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn downward binary128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fc28p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fc3p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fc28p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fc3p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 16777217LL : 0xf.fffa8a9e7713119897c4d302p-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 16777217LL : 0xf.ffd3b9e5b3238p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 16777217LL : 0xf.ffd3b9e5b324p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 16777217LL : 0xf.ffd3b9e5b3238p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 16777217LL : 0xf.ffd3b9e5b324p-4 : inexact-ok
+= rootn downward intel96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6ca0cp-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6ca0c8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6ca0cp-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6ca0c8p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 16777217LL : 0xf.ffd3b9e5b323c57834e7db6ca4p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 16777217LL : 0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 16777217LL : 0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 16777217LL : 0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn upward intel96 0x4p-16384 16777217LL : 0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn downward m68k96 0x4p-16384 16777217LL : 0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 16777217LL : 0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 16777217LL : 0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16384 16777217LL : 0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn downward binary128 0x4p-16384 16777217LL : 0xf.fd3a8b494021269fc34dd21ec8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 16777217LL : 0xf.fd3a8b494021269fc34dd21ec808p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 16777217LL : 0xf.fd3a8b494021269fc34dd21ec8p-4 : inexact-ok
+= rootn upward binary128 0x4p-16384 16777217LL : 0xf.fd3a8b494021269fc34dd21ec808p-4 : inexact-ok
+= rootn downward intel96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn upward intel96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278dp-4 : inexact-ok
+= rootn downward m68k96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn upward m68k96 0x2p-16384 16777217LL : 0xf.fd3a80340a7278dp-4 : inexact-ok
+= rootn downward binary128 0x2p-16384 16777217LL : 0xf.fd3a80340a7278c6177b11b76f8p-4 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 16777217LL : 0xf.fd3a80340a7278c6177b11b76f88p-4 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 16777217LL : 0xf.fd3a80340a7278c6177b11b76f8p-4 : inexact-ok
+= rootn upward binary128 0x2p-16384 16777217LL : 0xf.fd3a80340a7278c6177b11b76f88p-4 : inexact-ok
+= rootn downward binary64 0x8p-972 16777217LL : 0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 16777217LL : 0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 16777217LL : 0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 16777217LL : 0xf.ffd605a96fefp-4 : inexact-ok
+= rootn downward intel96 0x8p-972 16777217LL : 0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 16777217LL : 0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 16777217LL : 0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn upward intel96 0x8p-972 16777217LL : 0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 16777217LL : 0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 16777217LL : 0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 16777217LL : 0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 16777217LL : 0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn downward binary128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa65p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa4p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa8p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa4p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 16777217LL : 0xf.ffd605a96fee875d9eab6e4aa8p-4 : inexact-ok
+rootn min 0x10000000000001
+= rootn downward binary32 0x4p-128 4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0x4p-128 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 4503599627370497LL : 0xf.ffffffffffa88p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 4503599627370497LL : 0xf.ffffffffffa88p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-128 4503599627370497LL : 0xf.ffffffffffa88p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 4503599627370497LL : 0xf.ffffffffffa9p-4 : inexact-ok
+= rootn downward intel96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn upward intel96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn downward binary128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5f03p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5f038p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5f03p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5f038p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 4503599627370497LL : 0xf.ffffffffffa8a9d83406bcd5f4p-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3cp-4 : inexact-ok
+= rootn downward intel96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a9p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a9p-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a326967p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a32694p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a32698p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a32694p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 4503599627370497LL : 0xf.fffffffffd3b9a8450a8a32698p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn upward intel96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcfp-4 : inexact-ok
+= rootn downward m68k96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn upward m68k96 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dcfp-4 : inexact-ok
+= rootn downward binary128 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dce63bb9439dc9bp-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dce63bb9439dc9b8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dce63bb9439dc9bp-4 : inexact-ok
+= rootn upward binary128 0x4p-16384 4503599627370497LL : 0xf.ffffffffd3a4dce63bb9439dc9b8p-4 : inexact-ok
+= rootn downward intel96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn upward intel96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b8p-4 : inexact-ok
+= rootn downward m68k96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn upward m68k96 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b8p-4 : inexact-ok
+= rootn downward binary128 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn upward binary128 0x2p-16384 4503599627370497LL : 0xf.ffffffffd3a42b7423c173ba4b8p-4 : inexact-ok
+= rootn downward binary64 0x8p-972 4503599627370497LL : 0xf.fffffffffd6p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 4503599627370497LL : 0xf.fffffffffd608p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 4503599627370497LL : 0xf.fffffffffd6p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 4503599627370497LL : 0xf.fffffffffd608p-4 : inexact-ok
+= rootn downward intel96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn upward intel96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60573p-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572p-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 4503599627370497LL : 0xf.fffffffffd60573p-4 : inexact-ok
+= rootn downward binary128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce82478p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 4503599627370497LL : 0xf.fffffffffd60572346f70ce828p-4 : inexact-ok
+rootn min 0x7fffffffffffffff
+= rootn downward binary32 0x4p-128 9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0x4p-128 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0x4p-128 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-128 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0x4p-128 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn upward intel96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff52p-4 : inexact-ok
+= rootn downward m68k96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff51p-4 : inexact-ok
+= rootn upward m68k96 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff52p-4 : inexact-ok
+= rootn downward binary128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77c4p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77c48p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77c4p-4 : inexact-ok
+= rootn upward binary128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77c48p-4 : inexact-ok
+= rootn downward ibm128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn upward ibm128 0x4p-128 9223372036854775807LL : 0xf.fffffffffffff5153b0680d78p-4 : inexact-ok
+= rootn downward binary64 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0x4p-1024 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn upward intel96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa78p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa78p-4 : inexact-ok
+= rootn downward binary128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb7f8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb7f8p-4 : inexact-ok
+= rootn upward binary128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb4p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb4p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 9223372036854775807LL : 0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn downward intel96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn upward intel96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn downward m68k96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn downward binary128 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn upward binary128 0x4p-16384 9223372036854775807LL : 0xf.fffffffffffa749b9cc76f799c68p-4 : inexact-ok
+= rootn downward intel96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn upward intel96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn downward m68k96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa748p-4 : inexact-ok
+= rootn upward m68k96 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa749p-4 : inexact-ok
+= rootn downward binary128 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa74856e84707f6278p-4 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa74856e84707f628p-4 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa74856e84707f6278p-4 : inexact-ok
+= rootn upward binary128 0x2p-16384 9223372036854775807LL : 0xf.fffffffffffa74856e84707f628p-4 : inexact-ok
+= rootn downward binary64 0x8p-972 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0x8p-972 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffacp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffacp-4 : inexact-ok
+= rootn upward intel96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn downward m68k96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffacp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffacp-4 : inexact-ok
+= rootn upward m68k96 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn downward binary128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn upward binary128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab67p-4 : inexact-ok
+= rootn downward ibm128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab4p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab8p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab4p-4 : inexact-ok
+= rootn upward ibm128 0x8p-972 9223372036854775807LL : 0xf.ffffffffffffac0ae468dedab8p-4 : inexact-ok
+rootn -min 1
+= rootn downward binary32 -0x4p-128 1LL : -0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary32 -0x4p-128 1LL : -0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary32 -0x4p-128 1LL : -0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary32 -0x4p-128 1LL : -0x4p-128 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn upward binary64 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn downward intel96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn upward intel96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn downward m68k96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn upward m68k96 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn downward binary128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn upward binary128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn downward ibm128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn upward ibm128 -0x4p-128 1LL : -0x4p-128 : inexact-ok
+= rootn downward binary64 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary64 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary64 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary64 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn upward intel96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn downward binary128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn upward binary128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 -0x4p-1024 1LL : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok
+= rootn downward binary128 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 -0x4p-16384 1LL : -0x4p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 -0x2p-16384 1LL : -0x2p-16384 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn upward binary64 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn downward intel96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn upward intel96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn downward m68k96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn upward m68k96 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn downward binary128 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn upward binary128 -0x8p-972 1LL : -0x8p-972 : inexact-ok
+= rootn downward ibm128 -0x8p-972 1LL : -0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 -0x8p-972 1LL : -0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 -0x8p-972 1LL : -0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 -0x8p-972 1LL : -0x8p-972 : inexact-ok underflow-ok errno-erange-ok
+rootn -min 3
+= rootn downward binary32 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward binary32 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward binary64 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward binary64 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward intel96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward intel96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward m68k96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward m68k96 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward binary128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward binary128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward ibm128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn upward ibm128 -0x4p-128 3LL : -0x4p-44 : inexact-ok
+= rootn downward binary64 -0x4p-1024 3LL : -0xa.14517cc6b9458p-344 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 3LL : -0xa.14517cc6b9458p-344 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 3LL : -0xa.14517cc6b945p-344 : inexact-ok
+= rootn upward binary64 -0x4p-1024 3LL : -0xa.14517cc6b945p-344 : inexact-ok
+= rootn downward intel96 -0x4p-1024 3LL : -0xa.14517cc6b945712p-344 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn upward intel96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 3LL : -0xa.14517cc6b945712p-344 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 3LL : -0xa.14517cc6b945711p-344 : inexact-ok
+= rootn downward binary128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adf13p-344 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn upward binary128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adf128p-344 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adf4p-344 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 3LL : -0xa.14517cc6b9457111eed5b8adfp-344 : inexact-ok
+= rootn downward intel96 -0x4p-16384 3LL : -0xa.14517cc6b945712p-5464 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn upward intel96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 3LL : -0xa.14517cc6b945712p-5464 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 3LL : -0xa.14517cc6b945711p-5464 : inexact-ok
+= rootn downward binary128 -0x4p-16384 3LL : -0xa.14517cc6b9457111eed5b8adf13p-5464 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 3LL : -0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 3LL : -0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn upward binary128 -0x4p-16384 3LL : -0xa.14517cc6b9457111eed5b8adf128p-5464 : inexact-ok
+= rootn downward intel96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn upward intel96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn downward binary128 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn upward binary128 -0x2p-16384 3LL : -0x8p-5464 : inexact-ok
+= rootn downward binary64 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn upward binary64 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn downward intel96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn upward intel96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn downward m68k96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn upward m68k96 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn downward binary128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn upward binary128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn downward ibm128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+= rootn upward ibm128 -0x8p-972 3LL : -0x2p-324 : inexact-ok
+rootn -min 5
+= rootn downward binary32 -0x4p-128 5LL : -0x6.f6e338p-28 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 5LL : -0x6.f6e338p-28 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 5LL : -0x6.f6e33p-28 : inexact-ok
+= rootn upward binary32 -0x4p-128 5LL : -0x6.f6e33p-28 : inexact-ok
+= rootn downward binary64 -0x4p-128 5LL : -0x6.f6e336b6f8484p-28 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 5LL : -0x6.f6e336b6f848p-28 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 5LL : -0x6.f6e336b6f848p-28 : inexact-ok
+= rootn upward binary64 -0x4p-128 5LL : -0x6.f6e336b6f848p-28 : inexact-ok
+= rootn downward intel96 -0x4p-128 5LL : -0x6.f6e336b6f8480858p-28 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn upward intel96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn downward m68k96 -0x4p-128 5LL : -0x6.f6e336b6f8480858p-28 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn upward m68k96 -0x4p-128 5LL : -0x6.f6e336b6f848085p-28 : inexact-ok
+= rootn downward binary128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fea8p-28 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn upward binary128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-28 : inexact-ok
+= rootn downward ibm128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2cap-28 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn upward ibm128 -0x4p-128 5LL : -0x6.f6e336b6f8480853d874c2c9fep-28 : inexact-ok
+= rootn downward binary64 -0x4p-1024 5LL : -0xc.203001d9572e8p-208 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 5LL : -0xc.203001d9572ep-208 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 5LL : -0xc.203001d9572ep-208 : inexact-ok
+= rootn upward binary64 -0x4p-1024 5LL : -0xc.203001d9572ep-208 : inexact-ok
+= rootn downward intel96 -0x4p-1024 5LL : -0xc.203001d9572e35dp-208 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 5LL : -0xc.203001d9572e35dp-208 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 5LL : -0xc.203001d9572e35cp-208 : inexact-ok
+= rootn upward intel96 -0x4p-1024 5LL : -0xc.203001d9572e35cp-208 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 5LL : -0xc.203001d9572e35dp-208 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 5LL : -0xc.203001d9572e35dp-208 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 5LL : -0xc.203001d9572e35cp-208 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 5LL : -0xc.203001d9572e35cp-208 : inexact-ok
+= rootn downward binary128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a39907570ap-208 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn upward binary128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757098p-208 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a39907574p-208 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 5LL : -0xc.203001d9572e35cc9a3990757p-208 : inexact-ok
+= rootn downward intel96 -0x4p-16384 5LL : -0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 5LL : -0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 5LL : -0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn upward intel96 -0x4p-16384 5LL : -0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 5LL : -0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 5LL : -0xc.203001d9572e35dp-3280 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 5LL : -0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 5LL : -0xc.203001d9572e35cp-3280 : inexact-ok
+= rootn downward binary128 -0x4p-16384 5LL : -0xc.203001d9572e35cc9a39907570ap-3280 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 5LL : -0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 5LL : -0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn upward binary128 -0x4p-16384 5LL : -0xc.203001d9572e35cc9a3990757098p-3280 : inexact-ok
+= rootn downward intel96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622cp-3280 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn upward intel96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622cp-3280 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 5LL : -0xa.8e5a29dca9b622bp-3280 : inexact-ok
+= rootn downward binary128 -0x2p-16384 5LL : -0xa.8e5a29dca9b622b49d423b65cb6p-3280 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 5LL : -0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 5LL : -0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn upward binary128 -0x2p-16384 5LL : -0xa.8e5a29dca9b622b49d423b65cb58p-3280 : inexact-ok
+= rootn downward binary64 -0x8p-972 5LL : -0x4.984461aeb99d4p-196 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 5LL : -0x4.984461aeb99d4p-196 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 5LL : -0x4.984461aeb99dp-196 : inexact-ok
+= rootn upward binary64 -0x8p-972 5LL : -0x4.984461aeb99dp-196 : inexact-ok
+= rootn downward intel96 -0x8p-972 5LL : -0x4.984461aeb99d25bp-196 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn upward intel96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn downward m68k96 -0x8p-972 5LL : -0x4.984461aeb99d25bp-196 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn upward m68k96 -0x8p-972 5LL : -0x4.984461aeb99d25a8p-196 : inexact-ok
+= rootn downward binary128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d8388p-196 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d8388p-196 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d8384p-196 : inexact-ok
+= rootn upward binary128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d8384p-196 : inexact-ok
+= rootn downward ibm128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d84p-196 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d84p-196 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d82p-196 : inexact-ok
+= rootn upward ibm128 -0x8p-972 5LL : -0x4.984461aeb99d25a94879081d82p-196 : inexact-ok
+rootn -min 63
+= rootn downward binary32 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 63LL : -0x4p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 63LL : -0xd.b7457770bf6bp-20 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 63LL : -0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 63LL : -0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn upward binary64 -0x4p-1024 63LL : -0xd.b7457770bf6a8p-20 : inexact-ok
+= rootn downward intel96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9fp-20 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn upward intel96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9fp-20 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 63LL : -0xd.b7457770bf6aa9ep-20 : inexact-ok
+= rootn downward binary128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c517815641p-20 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn upward binary128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c5178156408p-20 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c51781568p-20 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 63LL : -0xd.b7457770bf6aa9e44c51781564p-20 : inexact-ok
+= rootn downward intel96 -0x4p-16384 63LL : -0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 63LL : -0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 63LL : -0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn upward intel96 -0x4p-16384 63LL : -0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 63LL : -0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 63LL : -0xf.a6da70a17d1239fp-264 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 63LL : -0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 63LL : -0xf.a6da70a17d1239ep-264 : inexact-ok
+= rootn downward binary128 -0x4p-16384 63LL : -0xf.a6da70a17d1239ebf94c8c3d2c8p-264 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 63LL : -0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 63LL : -0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn upward binary128 -0x4p-16384 63LL : -0xf.a6da70a17d1239ebf94c8c3d2c78p-264 : inexact-ok
+= rootn downward intel96 -0x2p-16384 63LL : -0xf.7b029a299cff9e1p-264 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn upward intel96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 63LL : -0xf.7b029a299cff9e1p-264 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 63LL : -0xf.7b029a299cff9ep-264 : inexact-ok
+= rootn downward binary128 -0x2p-16384 63LL : -0xf.7b029a299cff9e0127d88b6a2f2p-264 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 63LL : -0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 63LL : -0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn upward binary128 -0x2p-16384 63LL : -0xf.7b029a299cff9e0127d88b6a2f18p-264 : inexact-ok
+= rootn downward binary64 -0x8p-972 63LL : -0x1.892e2f1f775ccp-16 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 63LL : -0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 63LL : -0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn upward binary64 -0x8p-972 63LL : -0x1.892e2f1f775cbp-16 : inexact-ok
+= rootn downward intel96 -0x8p-972 63LL : -0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 63LL : -0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 63LL : -0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn upward intel96 -0x8p-972 63LL : -0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn downward m68k96 -0x8p-972 63LL : -0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 63LL : -0x1.892e2f1f775cb076p-16 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 63LL : -0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn upward m68k96 -0x8p-972 63LL : -0x1.892e2f1f775cb074p-16 : inexact-ok
+= rootn downward binary128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81be03p-16 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81be03p-16 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81be02p-16 : inexact-ok
+= rootn upward binary128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81be02p-16 : inexact-ok
+= rootn downward ibm128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81be8p-16 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+= rootn upward ibm128 -0x8p-972 63LL : -0x1.892e2f1f775cb075289a1b81bep-16 : inexact-ok
+rootn -min 127
+= rootn downward binary32 -0x4p-128 127LL : -0x8.0b355p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 127LL : -0x8.0b355p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 127LL : -0x8.0b354p-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 127LL : -0x8.0b354p-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 127LL : -0x8.0b354f2930d18p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 127LL : -0x8.0b354f2930d1p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 127LL : -0x8.0b354f2930d1p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 127LL : -0x8.0b354f2930d1p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 127LL : -0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 127LL : -0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 127LL : -0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 127LL : -0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 127LL : -0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 127LL : -0x8.0b354f2930d10a2p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 127LL : -0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 127LL : -0x8.0b354f2930d10a1p-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d89878p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d8987p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d89cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 127LL : -0x8.0b354f2930d10a1871c242d898p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 127LL : -0xf.7c0a4f861ec1p-12 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 127LL : -0xf.7c0a4f861ec1p-12 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 127LL : -0xf.7c0a4f861ec08p-12 : inexact-ok
+= rootn upward binary64 -0x4p-1024 127LL : -0xf.7c0a4f861ec08p-12 : inexact-ok
+= rootn downward intel96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa5p-12 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn upward intel96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa5p-12 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa4p-12 : inexact-ok
+= rootn downward binary128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d615p-12 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d615p-12 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d6148p-12 : inexact-ok
+= rootn upward binary128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d6148p-12 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d64p-12 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 127LL : -0xf.7c0a4f861ec0fa45e2aff00d6p-12 : inexact-ok
+= rootn downward intel96 -0x4p-16384 127LL : -0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 127LL : -0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 127LL : -0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn upward intel96 -0x4p-16384 127LL : -0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 127LL : -0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 127LL : -0x8.0b354f2930d10a2p-132 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 127LL : -0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 127LL : -0x8.0b354f2930d10a1p-132 : inexact-ok
+= rootn downward binary128 -0x4p-16384 127LL : -0x8.0b354f2930d10a1871c242d89878p-132 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 127LL : -0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 127LL : -0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn upward binary128 -0x4p-16384 127LL : -0x8.0b354f2930d10a1871c242d8987p-132 : inexact-ok
+= rootn downward intel96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn upward intel96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn downward binary128 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn upward binary128 -0x2p-16384 127LL : -0x8p-132 : inexact-ok
+= rootn downward binary64 -0x8p-972 127LL : -0x1.4adc41fefd0ep-8 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 127LL : -0x1.4adc41fefd0ep-8 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 127LL : -0x1.4adc41fefd0dfp-8 : inexact-ok
+= rootn upward binary64 -0x8p-972 127LL : -0x1.4adc41fefd0dfp-8 : inexact-ok
+= rootn downward intel96 -0x8p-972 127LL : -0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 127LL : -0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 127LL : -0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn upward intel96 -0x8p-972 127LL : -0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn downward m68k96 -0x8p-972 127LL : -0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 127LL : -0x1.4adc41fefd0dff3ap-8 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 127LL : -0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn upward m68k96 -0x8p-972 127LL : -0x1.4adc41fefd0dff38p-8 : inexact-ok
+= rootn downward binary128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d57p-8 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d57p-8 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d56p-8 : inexact-ok
+= rootn upward binary128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d56p-8 : inexact-ok
+= rootn downward ibm128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d8p-8 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98d8p-8 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98dp-8 : inexact-ok
+= rootn upward ibm128 -0x8p-972 127LL : -0x1.4adc41fefd0dff39f4917bd98dp-8 : inexact-ok
+rootn -min 255
+= rootn downward binary32 -0x4p-128 255LL : -0xb.5c249p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 255LL : -0xb.5c249p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 255LL : -0xb.5c248p-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 255LL : -0xb.5c248p-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 255LL : -0xb.5c2488b712288p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 255LL : -0xb.5c2488b71228p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 255LL : -0xb.5c2488b71228p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 255LL : -0xb.5c2488b71228p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 255LL : -0xb.5c2488b712283ddp-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 255LL : -0xb.5c2488b712283ddp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 255LL : -0xb.5c2488b712283dcp-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f069061p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f06908p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f06908p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f06904p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 255LL : -0xb.5c2488b712283dc0b0d2f06904p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 255LL : -0xf.e9caf018dca18p-8 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 255LL : -0xf.e9caf018dca1p-8 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 255LL : -0xf.e9caf018dca1p-8 : inexact-ok
+= rootn upward binary64 -0x4p-1024 255LL : -0xf.e9caf018dca1p-8 : inexact-ok
+= rootn downward intel96 -0x4p-1024 255LL : -0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 255LL : -0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 255LL : -0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn upward intel96 -0x4p-1024 255LL : -0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 255LL : -0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 255LL : -0xf.e9caf018dca1125p-8 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 255LL : -0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 255LL : -0xf.e9caf018dca1124p-8 : inexact-ok
+= rootn downward binary128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c014742691268p-8 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c014742691268p-8 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c01474269126p-8 : inexact-ok
+= rootn upward binary128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c01474269126p-8 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c0147426914p-8 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c0147426914p-8 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c014742691p-8 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 255LL : -0xf.e9caf018dca1124c014742691p-8 : inexact-ok
+= rootn downward intel96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee2p-68 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn upward intel96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee2p-68 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee1p-68 : inexact-ok
+= rootn downward binary128 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee101972b6f753fp-68 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee101972b6f753fp-68 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee101972b6f753e8p-68 : inexact-ok
+= rootn upward binary128 -0x4p-16384 255LL : -0xd.84bc26dd1a98ee101972b6f753e8p-68 : inexact-ok
+= rootn downward intel96 -0x2p-16384 255LL : -0xd.7b57375449b589cp-68 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 255LL : -0xd.7b57375449b589cp-68 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 255LL : -0xd.7b57375449b589bp-68 : inexact-ok
+= rootn upward intel96 -0x2p-16384 255LL : -0xd.7b57375449b589bp-68 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 255LL : -0xd.7b57375449b589cp-68 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 255LL : -0xd.7b57375449b589cp-68 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 255LL : -0xd.7b57375449b589bp-68 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 255LL : -0xd.7b57375449b589bp-68 : inexact-ok
+= rootn downward binary128 -0x2p-16384 255LL : -0xd.7b57375449b589b9ef5b34fb2dc8p-68 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 255LL : -0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 255LL : -0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn upward binary128 -0x2p-16384 255LL : -0xd.7b57375449b589b9ef5b34fb2dcp-68 : inexact-ok
+= rootn downward binary64 -0x8p-972 255LL : -0x1.2611186bae675p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 255LL : -0x1.2611186bae675p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 255LL : -0x1.2611186bae674p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 255LL : -0x1.2611186bae674p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 255LL : -0x1.2611186bae67496cp-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 255LL : -0x1.2611186bae67496cp-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 255LL : -0x1.2611186bae67496ap-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420760e2p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420760e2p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420760e1p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420760e1p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420761p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 255LL : -0x1.2611186bae67496a521e420761p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 255LL : -0x1.2611186bae67496a521e4207608p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 255LL : -0x1.2611186bae67496a521e4207608p-4 : inexact-ok
+rootn -min 511
+= rootn downward binary32 -0x4p-128 511LL : -0xd.7c7f6p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 511LL : -0xd.7c7f6p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 511LL : -0xd.7c7f5p-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 511LL : -0xd.7c7f5p-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 511LL : -0xd.7c7f5ca3f4048p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 511LL : -0xd.7c7f5ca3f4048p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 511LL : -0xd.7c7f5ca3f404p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 511LL : -0xd.7c7f5ca3f404p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455ep-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 511LL : -0xd.7c7f5ca3f40455dp-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c0392868p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c039286p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c0392cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 511LL : -0xd.7c7f5ca3f40455df1b02c03928p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 511LL : -0x4p-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f6p-36 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn upward intel96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f6p-36 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5p-36 : inexact-ok
+= rootn downward binary128 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f57313680244438p-36 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f57313680244438p-36 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5731368024443p-36 : inexact-ok
+= rootn upward binary128 -0x4p-16384 511LL : -0xf.5caa3e0dbb8e8f5731368024443p-36 : inexact-ok
+= rootn downward intel96 -0x2p-16384 511LL : -0xf.57558b0973d6c57p-36 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn upward intel96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 511LL : -0xf.57558b0973d6c57p-36 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 511LL : -0xf.57558b0973d6c56p-36 : inexact-ok
+= rootn downward binary128 -0x2p-16384 511LL : -0xf.57558b0973d6c565e33bf3a2b028p-36 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 511LL : -0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 511LL : -0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn upward binary128 -0x2p-16384 511LL : -0xf.57558b0973d6c565e33bf3a2b02p-36 : inexact-ok
+= rootn downward binary64 -0x8p-972 511LL : -0x4.4c54054c4f5ep-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 511LL : -0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 511LL : -0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 511LL : -0x4.4c54054c4f5dcp-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b8p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 511LL : -0x4.4c54054c4f5dc3bp-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f9219p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f9219p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f9218cp-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f9218cp-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f922p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f922p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f92p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 511LL : -0x4.4c54054c4f5dc3b242b827f92p-4 : inexact-ok
+rootn -min 1023
+= rootn downward binary32 -0x4p-128 1023LL : -0xe.b0d2dp-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 1023LL : -0xe.b0d2dp-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 1023LL : -0xe.b0d2cp-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 1023LL : -0xe.b0d2cp-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 1023LL : -0xe.b0d2c9f474418p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 1023LL : -0xe.b0d2c9f474418p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 1023LL : -0xe.b0d2c9f47441p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 1023LL : -0xe.b0d2c9f47441p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 1023LL : -0xe.b0d2c9f4744156ap-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 1023LL : -0xe.b0d2c9f4744156ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 1023LL : -0xe.b0d2c9f47441569p-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c94513459ap-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c9451345998p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c9451345cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 1023LL : -0xe.b0d2c9f4744156948c94513458p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 1023LL : -0x8.01635bd01b2ep-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 1023LL : -0x8.01635bd01b2ep-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 1023LL : -0x8.01635bd01b2d8p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 1023LL : -0x8.01635bd01b2d8p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 1023LL : -0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 1023LL : -0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 1023LL : -0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 1023LL : -0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 1023LL : -0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 1023LL : -0x8.01635bd01b2de15p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 1023LL : -0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 1023LL : -0x8.01635bd01b2de14p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463965dp-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463965c8p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463968p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 1023LL : -0x8.01635bd01b2de14c81a4463964p-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 1023LL : -0xf.d9545b2c8191656p-20 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn upward intel96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 1023LL : -0xf.d9545b2c8191656p-20 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 1023LL : -0xf.d9545b2c8191655p-20 : inexact-ok
+= rootn downward binary128 -0x4p-16384 1023LL : -0xf.d9545b2c819165542d6fb9abf15p-20 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 1023LL : -0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 1023LL : -0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn upward binary128 -0x4p-16384 1023LL : -0xf.d9545b2c819165542d6fb9abf148p-20 : inexact-ok
+= rootn downward intel96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fep-20 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn upward intel96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fep-20 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 1023LL : -0xf.d694d35b80c43fdp-20 : inexact-ok
+= rootn downward binary128 -0x2p-16384 1023LL : -0xf.d694d35b80c43fd2c6653313e33p-20 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 1023LL : -0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 1023LL : -0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn upward binary128 -0x2p-16384 1023LL : -0xf.d694d35b80c43fd2c6653313e328p-20 : inexact-ok
+= rootn downward binary64 -0x8p-972 1023LL : -0x8.4c521f105c148p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 1023LL : -0x8.4c521f105c14p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 1023LL : -0x8.4c521f105c14p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 1023LL : -0x8.4c521f105c14p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 1023LL : -0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 1023LL : -0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 1023LL : -0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 1023LL : -0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 1023LL : -0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 1023LL : -0x8.4c521f105c143cdp-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 1023LL : -0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 1023LL : -0x8.4c521f105c143ccp-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe8938p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe8938p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe893p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe893p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe8cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 1023LL : -0x8.4c521f105c143ccf94361abe88p-4 : inexact-ok
+rootn -min 16383
+= rootn downward binary32 -0x4p-128 16383LL : -0xf.ea39p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 16383LL : -0xf.ea39p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 16383LL : -0xf.ea38fp-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 16383LL : -0xf.ea38fp-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 16383LL : -0xf.ea38fe3ddd64p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 16383LL : -0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 16383LL : -0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 16383LL : -0xf.ea38fe3ddd638p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0dp-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0cp-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacddfp-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdde8p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacep-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 16383LL : -0xf.ea38fe3ddd63b0ccf2fb3cacdcp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 16383LL : -0xf.52aa21de7d8ap-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 16383LL : -0xf.52aa21de7d898p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 16383LL : -0xf.52aa21de7d898p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 16383LL : -0xf.52aa21de7d898p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a0ap-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a0ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7b178p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7b17p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7b4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 16383LL : -0xf.52aa21de7d89a09060f937b7bp-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 16383LL : -0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 16383LL : -0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 16383LL : -0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn upward intel96 -0x4p-16384 16383LL : -0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 16383LL : -0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 16383LL : -0x8.00162eba7a398f4p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 16383LL : -0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 16383LL : -0x8.00162eba7a398f3p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16384 16383LL : -0x8.00162eba7a398f3c21d5d3f6eec8p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 16383LL : -0x8.00162eba7a398f3c21d5d3f6eec8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 16383LL : -0x8.00162eba7a398f3c21d5d3f6eecp-4 : inexact-ok
+= rootn upward binary128 -0x4p-16384 16383LL : -0x8.00162eba7a398f3c21d5d3f6eecp-4 : inexact-ok
+= rootn downward intel96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn upward intel96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn downward binary128 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn upward binary128 -0x2p-16384 16383LL : -0x8p-4 : inexact-ok
+= rootn downward binary64 -0x8p-972 16383LL : -0xf.5b787470f035p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 16383LL : -0xf.5b787470f035p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 16383LL : -0xf.5b787470f0348p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 16383LL : -0xf.5b787470f0348p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 16383LL : -0xf.5b787470f034da3p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 16383LL : -0xf.5b787470f034da3p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 16383LL : -0xf.5b787470f034da2p-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed6788p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed678p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed68p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed68p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed64p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 16383LL : -0xf.5b787470f034da27c3c716ed64p-4 : inexact-ok
+rootn -min 0x1000001
+= rootn downward binary32 -0x4p-128 16777217LL : -0xf.fffa9p-4 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 16777217LL : -0xf.fffa9p-4 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 16777217LL : -0xf.fffa8p-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 16777217LL : -0xf.fffa8p-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 16777217LL : -0xf.fffa8a9e77138p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 16777217LL : -0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 16777217LL : -0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 16777217LL : -0xf.fffa8a9e7713p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 16777217LL : -0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 16777217LL : -0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 16777217LL : -0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 16777217LL : -0xf.fffa8a9e771311ap-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119p-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fc3p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fc3p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fc28p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fc28p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d302p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 16777217LL : -0xf.fffa8a9e7713119897c4d301fcp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b324p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b324p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b3238p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b3238p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c58p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6ca0c8p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6ca0c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6ca0cp-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6ca0cp-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6ca4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 16777217LL : -0xf.ffd3b9e5b323c57834e7db6cap-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 16777217LL : -0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 16777217LL : -0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn upward intel96 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 16777217LL : -0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 16777217LL : -0xf.fd3a8b49402126ap-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269fc34dd21ec808p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269fc34dd21ec808p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269fc34dd21ec8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16384 16777217LL : -0xf.fd3a8b494021269fc34dd21ec8p-4 : inexact-ok
+= rootn downward intel96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278dp-4 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn upward intel96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278dp-4 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278cp-4 : inexact-ok
+= rootn downward binary128 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278c6177b11b76f88p-4 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278c6177b11b76f88p-4 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278c6177b11b76f8p-4 : inexact-ok
+= rootn upward binary128 -0x2p-16384 16777217LL : -0xf.fd3a80340a7278c6177b11b76f8p-4 : inexact-ok
+= rootn downward binary64 -0x8p-972 16777217LL : -0xf.ffd605a96fefp-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 16777217LL : -0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 16777217LL : -0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 16777217LL : -0xf.ffd605a96fee8p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 16777217LL : -0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 16777217LL : -0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 16777217LL : -0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 16777217LL : -0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 16777217LL : -0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 16777217LL : -0xf.ffd605a96fee876p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 16777217LL : -0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 16777217LL : -0xf.ffd605a96fee875p-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa65p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa648p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa8p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa8p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa4p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 16777217LL : -0xf.ffd605a96fee875d9eab6e4aa4p-4 : inexact-ok
+rootn -min 0x10000000000001
+= rootn downward binary32 -0x4p-128 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa9p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa88p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa88p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa88p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9ep-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9dp-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5f038p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5f038p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5f03p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5f03p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5f4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 4503599627370497LL : -0xf.ffffffffffa8a9d83406bcd5fp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3cp-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b8p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a9p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a9p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a326967p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a3269668p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a32698p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a32698p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a32694p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 4503599627370497LL : -0xf.fffffffffd3b9a8450a8a32694p-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcfp-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn upward intel96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcfp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dcep-4 : inexact-ok
+= rootn downward binary128 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dce63bb9439dc9b8p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dce63bb9439dc9b8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dce63bb9439dc9bp-4 : inexact-ok
+= rootn upward binary128 -0x4p-16384 4503599627370497LL : -0xf.ffffffffd3a4dce63bb9439dc9bp-4 : inexact-ok
+= rootn downward intel96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b8p-4 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn upward intel96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7p-4 : inexact-ok
+= rootn downward binary128 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7423c173ba4b8p-4 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn upward binary128 -0x2p-16384 4503599627370497LL : -0xf.ffffffffd3a42b7423c173ba4b78p-4 : inexact-ok
+= rootn downward binary64 -0x8p-972 4503599627370497LL : -0xf.fffffffffd608p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 4503599627370497LL : -0xf.fffffffffd608p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 4503599627370497LL : -0xf.fffffffffd6p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 4503599627370497LL : -0xf.fffffffffd6p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60573p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60573p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572p-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce82478p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce8247p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce828p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 4503599627370497LL : -0xf.fffffffffd60572346f70ce824p-4 : inexact-ok
+rootn -min 0x7fffffffffffffff
+= rootn downward binary32 -0x4p-128 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0x4p-128 9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0x4p-128 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0x4p-128 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff52p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn upward intel96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff52p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff51p-4 : inexact-ok
+= rootn downward binary128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77c48p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77c48p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77c4p-4 : inexact-ok
+= rootn upward binary128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77c4p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d78p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-128 9223372036854775807LL : -0xf.fffffffffffff5153b0680d77cp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1024 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa78p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa78p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa77p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb7f8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb7f8p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb8p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb4p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 9223372036854775807LL : -0xf.ffffffffffffa773508a150cb4p-4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn upward intel96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa74ap-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749b9cc76f799c68p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16384 9223372036854775807LL : -0xf.fffffffffffa749b9cc76f799c6p-4 : inexact-ok
+= rootn downward intel96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn upward intel96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa749p-4 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa748p-4 : inexact-ok
+= rootn downward binary128 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa74856e84707f628p-4 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa74856e84707f628p-4 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa74856e84707f6278p-4 : inexact-ok
+= rootn upward binary128 -0x2p-16384 9223372036854775807LL : -0xf.fffffffffffa74856e84707f6278p-4 : inexact-ok
+= rootn downward binary64 -0x8p-972 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffacp-4 : inexact-ok
+= rootn upward intel96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffacp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac1p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffacp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffacp-4 : inexact-ok
+= rootn downward binary128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab67p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn upward binary128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab668p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab8p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab8p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab4p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 9223372036854775807LL : -0xf.ffffffffffffac0ae468dedab4p-4 : inexact-ok
+rootn min -1
+= rootn downward binary32 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward binary32 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward binary64 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward binary64 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward intel96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward intel96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward m68k96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward m68k96 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward binary128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward binary128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward ibm128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn upward ibm128 0x4p-128 -1LL : 0x4p+124 : inexact-ok
+= rootn downward binary64 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn upward binary64 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn downward intel96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn upward intel96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn downward binary128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn upward binary128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -1LL : 0x4p+1020 : inexact-ok
+= rootn downward intel96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn upward intel96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn downward binary128 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn upward binary128 0x4p-16384 -1LL : 0x4p+16380 : inexact-ok
+= rootn downward intel96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn upward intel96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn downward binary128 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn upward binary128 0x2p-16384 -1LL : 0x8p+16380 : inexact-ok
+= rootn downward binary64 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn upward binary64 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn downward intel96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn upward intel96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn downward m68k96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn upward m68k96 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn downward binary128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn upward binary128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn downward ibm128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+= rootn upward ibm128 0x8p-972 -1LL : 0x2p+968 : inexact-ok
+rootn min -2
+= rootn downward binary32 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward binary32 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward binary64 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward binary64 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward intel96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward intel96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward m68k96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward m68k96 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward binary128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward binary128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward ibm128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn upward ibm128 0x4p-128 -2LL : 0x8p+60 : inexact-ok
+= rootn downward binary64 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn upward binary64 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn downward intel96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn upward intel96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn downward binary128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn upward binary128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -2LL : 0x8p+508 : inexact-ok
+= rootn downward intel96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn upward intel96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn downward binary128 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn upward binary128 0x4p-16384 -2LL : 0x8p+8188 : inexact-ok
+= rootn downward intel96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn upward intel96 0x2p-16384 -2LL : 0xb.504f333f9de6485p+8188 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -2LL : 0xb.504f333f9de6484p+8188 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -2LL : 0xb.504f333f9de6485p+8188 : inexact-ok
+= rootn downward binary128 0x2p-16384 -2LL : 0xb.504f333f9de6484597d89b3754a8p+8188 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -2LL : 0xb.504f333f9de6484597d89b3754a8p+8188 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -2LL : 0xb.504f333f9de6484597d89b3754a8p+8188 : inexact-ok
+= rootn upward binary128 0x2p-16384 -2LL : 0xb.504f333f9de6484597d89b3754bp+8188 : inexact-ok
+= rootn downward binary64 0x8p-972 -2LL : 0x1.6a09e667f3bccp+484 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -2LL : 0x1.6a09e667f3bcdp+484 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -2LL : 0x1.6a09e667f3bccp+484 : inexact-ok
+= rootn upward binary64 0x8p-972 -2LL : 0x1.6a09e667f3bcdp+484 : inexact-ok
+= rootn downward intel96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn upward intel96 0x8p-972 -2LL : 0x1.6a09e667f3bcc90ap+484 : inexact-ok
+= rootn downward m68k96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -2LL : 0x1.6a09e667f3bcc908p+484 : inexact-ok
+= rootn upward m68k96 0x8p-972 -2LL : 0x1.6a09e667f3bcc90ap+484 : inexact-ok
+= rootn downward binary128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+484 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+484 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+484 : inexact-ok
+= rootn upward binary128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea96p+484 : inexact-ok
+= rootn downward ibm128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+484 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+484 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+484 : inexact-ok
+= rootn upward ibm128 0x8p-972 -2LL : 0x1.6a09e667f3bcc908b2fb1366ebp+484 : inexact-ok
+rootn min -3
+= rootn downward binary32 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward binary32 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward binary64 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward binary64 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward intel96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward intel96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward m68k96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward m68k96 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward binary128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward binary128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward ibm128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn upward ibm128 0x4p-128 -3LL : 0x4p+40 : inexact-ok
+= rootn downward binary64 0x4p-1024 -3LL : 0x1.965fea53d6e3cp+340 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -3LL : 0x1.965fea53d6e3dp+340 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -3LL : 0x1.965fea53d6e3cp+340 : inexact-ok
+= rootn upward binary64 0x4p-1024 -3LL : 0x1.965fea53d6e3dp+340 : inexact-ok
+= rootn downward intel96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn upward intel96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -3LL : 0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn downward binary128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43dc4p+340 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43dc5p+340 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43dc4p+340 : inexact-ok
+= rootn upward binary128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43dc5p+340 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43d8p+340 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43ep+340 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43d8p+340 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -3LL : 0x1.965fea53d6e3c82b05999ab43ep+340 : inexact-ok
+= rootn downward intel96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn upward intel96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -3LL : 0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn downward binary128 0x4p-16384 -3LL : 0x1.965fea53d6e3c82b05999ab43dc4p+5460 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -3LL : 0x1.965fea53d6e3c82b05999ab43dc5p+5460 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -3LL : 0x1.965fea53d6e3c82b05999ab43dc4p+5460 : inexact-ok
+= rootn upward binary128 0x4p-16384 -3LL : 0x1.965fea53d6e3c82b05999ab43dc5p+5460 : inexact-ok
+= rootn downward intel96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn upward intel96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn downward binary128 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn upward binary128 0x2p-16384 -3LL : 0x2p+5460 : inexact-ok
+= rootn downward binary64 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn upward binary64 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn downward intel96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn upward intel96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn downward m68k96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn upward m68k96 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn downward binary128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn upward binary128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn downward ibm128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+= rootn upward ibm128 0x8p-972 -3LL : 0x8p+320 : inexact-ok
+rootn min -4
+= rootn downward binary32 0x4p-128 -4LL : 0xb.504f3p+28 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -4LL : 0xb.504f3p+28 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -4LL : 0xb.504f3p+28 : inexact-ok
+= rootn upward binary32 0x4p-128 -4LL : 0xb.504f4p+28 : inexact-ok
+= rootn downward binary64 0x4p-128 -4LL : 0xb.504f333f9de6p+28 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -4LL : 0xb.504f333f9de68p+28 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -4LL : 0xb.504f333f9de6p+28 : inexact-ok
+= rootn upward binary64 0x4p-128 -4LL : 0xb.504f333f9de68p+28 : inexact-ok
+= rootn downward intel96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn upward intel96 0x4p-128 -4LL : 0xb.504f333f9de6485p+28 : inexact-ok
+= rootn downward m68k96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -4LL : 0xb.504f333f9de6484p+28 : inexact-ok
+= rootn upward m68k96 0x4p-128 -4LL : 0xb.504f333f9de6485p+28 : inexact-ok
+= rootn downward binary128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754a8p+28 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754a8p+28 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754a8p+28 : inexact-ok
+= rootn upward binary128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754bp+28 : inexact-ok
+= rootn downward ibm128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754p+28 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754p+28 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3754p+28 : inexact-ok
+= rootn upward ibm128 0x4p-128 -4LL : 0xb.504f333f9de6484597d89b3758p+28 : inexact-ok
+= rootn downward binary64 0x4p-1024 -4LL : 0xb.504f333f9de6p+252 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -4LL : 0xb.504f333f9de68p+252 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -4LL : 0xb.504f333f9de6p+252 : inexact-ok
+= rootn upward binary64 0x4p-1024 -4LL : 0xb.504f333f9de68p+252 : inexact-ok
+= rootn downward intel96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn upward intel96 0x4p-1024 -4LL : 0xb.504f333f9de6485p+252 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -4LL : 0xb.504f333f9de6484p+252 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -4LL : 0xb.504f333f9de6485p+252 : inexact-ok
+= rootn downward binary128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754a8p+252 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754a8p+252 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754a8p+252 : inexact-ok
+= rootn upward binary128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754bp+252 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754p+252 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754p+252 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3754p+252 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -4LL : 0xb.504f333f9de6484597d89b3758p+252 : inexact-ok
+= rootn downward intel96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn upward intel96 0x4p-16384 -4LL : 0xb.504f333f9de6485p+4092 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -4LL : 0xb.504f333f9de6484p+4092 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -4LL : 0xb.504f333f9de6485p+4092 : inexact-ok
+= rootn downward binary128 0x4p-16384 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4092 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4092 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4092 : inexact-ok
+= rootn upward binary128 0x4p-16384 -4LL : 0xb.504f333f9de6484597d89b3754bp+4092 : inexact-ok
+= rootn downward intel96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn upward intel96 0x2p-16384 -4LL : 0xd.744fccad69d6af5p+4092 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -4LL : 0xd.744fccad69d6af4p+4092 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -4LL : 0xd.744fccad69d6af5p+4092 : inexact-ok
+= rootn downward binary128 0x2p-16384 -4LL : 0xd.744fccad69d6af439a68bb9902dp+4092 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -4LL : 0xd.744fccad69d6af439a68bb9902dp+4092 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -4LL : 0xd.744fccad69d6af439a68bb9902dp+4092 : inexact-ok
+= rootn upward binary128 0x2p-16384 -4LL : 0xd.744fccad69d6af439a68bb9902d8p+4092 : inexact-ok
+= rootn downward binary64 0x8p-972 -4LL : 0x4.c1bf828c6dc54p+240 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -4LL : 0x4.c1bf828c6dc54p+240 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -4LL : 0x4.c1bf828c6dc54p+240 : inexact-ok
+= rootn upward binary64 0x8p-972 -4LL : 0x4.c1bf828c6dc58p+240 : inexact-ok
+= rootn downward intel96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn upward intel96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b8p+240 : inexact-ok
+= rootn downward m68k96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b78p+240 : inexact-ok
+= rootn upward m68k96 0x8p-972 -4LL : 0x4.c1bf828c6dc54b8p+240 : inexact-ok
+= rootn downward binary128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c17214p+240 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c17218p+240 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c17214p+240 : inexact-ok
+= rootn upward binary128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c17218p+240 : inexact-ok
+= rootn downward ibm128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c172p+240 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c172p+240 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c172p+240 : inexact-ok
+= rootn upward ibm128 0x8p-972 -4LL : 0x4.c1bf828c6dc54b7a356918c174p+240 : inexact-ok
+rootn min -5
+= rootn downward binary32 0x4p-128 -5LL : 0x2.4c223p+24 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -5LL : 0x2.4c223p+24 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -5LL : 0x2.4c223p+24 : inexact-ok
+= rootn upward binary32 0x4p-128 -5LL : 0x2.4c2234p+24 : inexact-ok
+= rootn downward binary64 0x4p-128 -5LL : 0x2.4c2230d75cce8p+24 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -5LL : 0x2.4c2230d75cceap+24 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -5LL : 0x2.4c2230d75cce8p+24 : inexact-ok
+= rootn upward binary64 0x4p-128 -5LL : 0x2.4c2230d75cceap+24 : inexact-ok
+= rootn downward intel96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn upward intel96 0x4p-128 -5LL : 0x2.4c2230d75cce92d8p+24 : inexact-ok
+= rootn downward m68k96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -5LL : 0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn upward m68k96 0x4p-128 -5LL : 0x2.4c2230d75cce92d8p+24 : inexact-ok
+= rootn downward binary128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p+24 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p+24 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p+24 : inexact-ok
+= rootn upward binary128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p+24 : inexact-ok
+= rootn downward ibm128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1p+24 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec2p+24 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec1p+24 : inexact-ok
+= rootn upward ibm128 0x4p-128 -5LL : 0x2.4c2230d75cce92d4a43c840ec2p+24 : inexact-ok
+= rootn downward binary64 0x4p-1024 -5LL : 0x1.51cb453b9536cp+204 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -5LL : 0x1.51cb453b9536cp+204 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -5LL : 0x1.51cb453b9536cp+204 : inexact-ok
+= rootn upward binary64 0x4p-1024 -5LL : 0x1.51cb453b9536dp+204 : inexact-ok
+= rootn downward intel96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn upward intel96 0x4p-1024 -5LL : 0x1.51cb453b9536c458p+204 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -5LL : 0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -5LL : 0x1.51cb453b9536c458p+204 : inexact-ok
+= rootn downward binary128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn upward binary128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb96cp+204 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb9p+204 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb98p+204 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb9p+204 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -5LL : 0x1.51cb453b9536c45693a8476cb98p+204 : inexact-ok
+= rootn downward intel96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn upward intel96 0x4p-16384 -5LL : 0x1.51cb453b9536c458p+3276 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -5LL : 0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -5LL : 0x1.51cb453b9536c458p+3276 : inexact-ok
+= rootn downward binary128 0x4p-16384 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -5LL : 0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn upward binary128 0x4p-16384 -5LL : 0x1.51cb453b9536c45693a8476cb96cp+3276 : inexact-ok
+= rootn downward intel96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn upward intel96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -5LL : 0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn downward binary128 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn upward binary128 0x2p-16384 -5LL : 0x1.8406003b2ae5c6b99347320eae14p+3276 : inexact-ok
+= rootn downward binary64 0x8p-972 -5LL : 0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -5LL : 0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -5LL : 0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn upward binary64 0x8p-972 -5LL : 0x3.7b719b5b7c242p+192 : inexact-ok
+= rootn downward intel96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn upward intel96 0x8p-972 -5LL : 0x3.7b719b5b7c24042cp+192 : inexact-ok
+= rootn downward m68k96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -5LL : 0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn upward m68k96 0x8p-972 -5LL : 0x3.7b719b5b7c24042cp+192 : inexact-ok
+= rootn downward binary128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn upward binary128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ff54p+192 : inexact-ok
+= rootn downward ibm128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+= rootn upward ibm128 0x8p-972 -5LL : 0x3.7b719b5b7c240429ec3a6165p+192 : inexact-ok
+rootn min -63
+= rootn downward binary32 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -63LL : 0x4p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -63LL : 0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -63LL : 0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -63LL : 0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn upward binary64 0x4p-1024 -63LL : 0x1.2aa1a5aad04f6p+16 : inexact-ok
+= rootn downward intel96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn upward intel96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f5372p+16 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -63LL : 0x1.2aa1a5aad04f5372p+16 : inexact-ok
+= rootn downward binary128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn upward binary128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc5b3p+16 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -63LL : 0x1.2aa1a5aad04f53701993c68cc6p+16 : inexact-ok
+= rootn downward intel96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn upward intel96 0x4p-16384 -63LL : 0x1.05b214e9123f0ed2p+260 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -63LL : 0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -63LL : 0x1.05b214e9123f0ed2p+260 : inexact-ok
+= rootn downward binary128 0x4p-16384 -63LL : 0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -63LL : 0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -63LL : 0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn upward binary128 0x4p-16384 -63LL : 0x1.05b214e9123f0ed0153dca82bdb8p+260 : inexact-ok
+= rootn downward intel96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn upward intel96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -63LL : 0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn downward binary128 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cb3f405358c332p+260 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cb3f405358c333p+260 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cb3f405358c332p+260 : inexact-ok
+= rootn upward binary128 0x2p-16384 -63LL : 0x1.08973e2c8a9c60cb3f405358c333p+260 : inexact-ok
+= rootn downward binary64 0x8p-972 -63LL : 0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -63LL : 0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -63LL : 0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn upward binary64 0x8p-972 -63LL : 0xa.6ae8776a379dp+12 : inexact-ok
+= rootn downward intel96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn upward intel96 0x8p-972 -63LL : 0xa.6ae8776a379c963p+12 : inexact-ok
+= rootn downward m68k96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -63LL : 0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn upward m68k96 0x8p-972 -63LL : 0xa.6ae8776a379c963p+12 : inexact-ok
+= rootn downward binary128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn upward binary128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd52p+12 : inexact-ok
+= rootn downward ibm128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+= rootn upward ibm128 0x8p-972 -63LL : 0xa.6ae8776a379c96212b1b43ecd8p+12 : inexact-ok
+rootn min -127
+= rootn downward binary32 0x4p-128 -127LL : 0x1.fd3692p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -127LL : 0x1.fd3694p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -127LL : 0x1.fd3692p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -127LL : 0x1.fd3694p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -127LL : 0x1.fd3693bc91294p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -127LL : 0x1.fd3693bc91295p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -127LL : 0x1.fd3693bc91294p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -127LL : 0x1.fd3693bc91295p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -127LL : 0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -127LL : 0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -127LL : 0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -127LL : 0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -127LL : 0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -127LL : 0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -127LL : 0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -127LL : 0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c592p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c593p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c592p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c593p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -127LL : 0x1.fd3693bc9129491f39d15718c6p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -127LL : 0x1.0885a4135bf4bp+8 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -127LL : 0x1.0885a4135bf4cp+8 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -127LL : 0x1.0885a4135bf4bp+8 : inexact-ok
+= rootn upward binary64 0x4p-1024 -127LL : 0x1.0885a4135bf4cp+8 : inexact-ok
+= rootn downward intel96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn upward intel96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -127LL : 0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn downward binary128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2879bp+8 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2879cp+8 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2879bp+8 : inexact-ok
+= rootn upward binary128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2879cp+8 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -127LL : 0x1.0885a4135bf4bad32e4113d288p+8 : inexact-ok
+= rootn downward intel96 0x4p-16384 -127LL : 0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -127LL : 0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -127LL : 0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn upward intel96 0x4p-16384 -127LL : 0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -127LL : 0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -127LL : 0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -127LL : 0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -127LL : 0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn downward binary128 0x4p-16384 -127LL : 0x1.fd3693bc9129491f39d15718c592p+128 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -127LL : 0x1.fd3693bc9129491f39d15718c593p+128 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -127LL : 0x1.fd3693bc9129491f39d15718c592p+128 : inexact-ok
+= rootn upward binary128 0x4p-16384 -127LL : 0x1.fd3693bc9129491f39d15718c593p+128 : inexact-ok
+= rootn downward intel96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn upward intel96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn downward binary128 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn upward binary128 0x2p-16384 -127LL : 0x2p+128 : inexact-ok
+= rootn downward binary64 0x8p-972 -127LL : 0xc.613d792293fbp+4 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -127LL : 0xc.613d792293fbp+4 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -127LL : 0xc.613d792293fbp+4 : inexact-ok
+= rootn upward binary64 0x8p-972 -127LL : 0xc.613d792293fb8p+4 : inexact-ok
+= rootn downward intel96 0x8p-972 -127LL : 0xc.613d792293fb361p+4 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -127LL : 0xc.613d792293fb362p+4 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -127LL : 0xc.613d792293fb361p+4 : inexact-ok
+= rootn upward intel96 0x8p-972 -127LL : 0xc.613d792293fb362p+4 : inexact-ok
+= rootn downward m68k96 0x8p-972 -127LL : 0xc.613d792293fb361p+4 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -127LL : 0xc.613d792293fb362p+4 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -127LL : 0xc.613d792293fb361p+4 : inexact-ok
+= rootn upward m68k96 0x8p-972 -127LL : 0xc.613d792293fb362p+4 : inexact-ok
+= rootn downward binary128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814bp+4 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814b8p+4 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814bp+4 : inexact-ok
+= rootn upward binary128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814b8p+4 : inexact-ok
+= rootn downward ibm128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814p+4 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814p+4 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301814p+4 : inexact-ok
+= rootn upward ibm128 0x8p-972 -127LL : 0xc.613d792293fb3618b866301818p+4 : inexact-ok
+rootn min -255
+= rootn downward binary32 0x4p-128 -255LL : 0x1.6890c6p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -255LL : 0x1.6890c6p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -255LL : 0x1.6890c6p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -255LL : 0x1.6890c8p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -255LL : 0x1.6890c62b6ee1cp+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -255LL : 0x1.6890c62b6ee1dp+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -255LL : 0x1.6890c62b6ee1cp+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -255LL : 0x1.6890c62b6ee1dp+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d8p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f026p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f08p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -255LL : 0x1.016540d865a43p+4 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -255LL : 0x1.016540d865a44p+4 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -255LL : 0x1.016540d865a43p+4 : inexact-ok
+= rootn upward binary64 0x4p-1024 -255LL : 0x1.016540d865a44p+4 : inexact-ok
+= rootn downward intel96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn upward intel96 0x4p-1024 -255LL : 0x1.016540d865a43a36p+4 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -255LL : 0x1.016540d865a43a34p+4 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -255LL : 0x1.016540d865a43a36p+4 : inexact-ok
+= rootn downward binary128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a96973p+4 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a96974p+4 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a96973p+4 : inexact-ok
+= rootn upward binary128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a96974p+4 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a969p+4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a9698p+4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a969p+4 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -255LL : 0x1.016540d865a43a343fd329a9698p+4 : inexact-ok
+= rootn downward intel96 0x4p-16384 -255LL : 0x1.2efe067871304922p+64 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -255LL : 0x1.2efe067871304924p+64 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -255LL : 0x1.2efe067871304922p+64 : inexact-ok
+= rootn upward intel96 0x4p-16384 -255LL : 0x1.2efe067871304924p+64 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -255LL : 0x1.2efe067871304922p+64 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -255LL : 0x1.2efe067871304924p+64 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -255LL : 0x1.2efe067871304922p+64 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -255LL : 0x1.2efe067871304924p+64 : inexact-ok
+= rootn downward binary128 0x4p-16384 -255LL : 0x1.2efe06787130492385df04419238p+64 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -255LL : 0x1.2efe06787130492385df04419239p+64 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -255LL : 0x1.2efe06787130492385df04419238p+64 : inexact-ok
+= rootn upward binary128 0x4p-16384 -255LL : 0x1.2efe06787130492385df04419239p+64 : inexact-ok
+= rootn downward intel96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn upward intel96 0x2p-16384 -255LL : 0x1.2fd12768caa65beap+64 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -255LL : 0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -255LL : 0x1.2fd12768caa65beap+64 : inexact-ok
+= rootn downward binary128 0x2p-16384 -255LL : 0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -255LL : 0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -255LL : 0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn upward binary128 0x2p-16384 -255LL : 0x1.2fd12768caa65be8a59aba280da1p+64 : inexact-ok
+= rootn downward binary64 0x8p-972 -255LL : 0xd.edc66d6df09p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -255LL : 0xd.edc66d6df09p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -255LL : 0xd.edc66d6df09p+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -255LL : 0xd.edc66d6df0908p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -255LL : 0xd.edc66d6df09010bp+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -255LL : 0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -255LL : 0xd.edc66d6df09010bp+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fd5p+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -255LL : 0xd.edc66d6df09010a7b0e98594p+0 : inexact-ok
+rootn min -511
+= rootn downward binary32 0x4p-128 -511LL : 0x1.2fb716p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -511LL : 0x1.2fb718p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -511LL : 0x1.2fb716p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -511LL : 0x1.2fb718p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -511LL : 0x1.2fb717e61b14ep+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -511LL : 0x1.2fb717e61b14fp+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -511LL : 0x1.2fb717e61b14ep+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -511LL : 0x1.2fb717e61b14fp+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -511LL : 0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d56p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813dp+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d8p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813dp+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -511LL : 0x1.2fb717e61b14e9bdee7794813d8p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -511LL : 0x4p+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -511LL : 0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -511LL : 0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -511LL : 0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn upward intel96 0x4p-16384 -511LL : 0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -511LL : 0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -511LL : 0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -511LL : 0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -511LL : 0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn downward binary128 0x4p-16384 -511LL : 0x1.0aa1e67805449f2930c6cbcdc0b4p+32 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -511LL : 0x1.0aa1e67805449f2930c6cbcdc0b5p+32 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -511LL : 0x1.0aa1e67805449f2930c6cbcdc0b4p+32 : inexact-ok
+= rootn upward binary128 0x4p-16384 -511LL : 0x1.0aa1e67805449f2930c6cbcdc0b5p+32 : inexact-ok
+= rootn downward intel96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn upward intel96 0x2p-16384 -511LL : 0x1.0afe8d3b532c3092p+32 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -511LL : 0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -511LL : 0x1.0afe8d3b532c3092p+32 : inexact-ok
+= rootn downward binary128 0x2p-16384 -511LL : 0x1.0afe8d3b532c3090882ee932f25bp+32 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -511LL : 0x1.0afe8d3b532c3090882ee932f25cp+32 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -511LL : 0x1.0afe8d3b532c3090882ee932f25bp+32 : inexact-ok
+= rootn upward binary128 0x2p-16384 -511LL : 0x1.0afe8d3b532c3090882ee932f25cp+32 : inexact-ok
+= rootn downward binary64 0x8p-972 -511LL : 0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -511LL : 0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -511LL : 0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -511LL : 0x3.b8f7715bac2c4p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -511LL : 0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -511LL : 0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -511LL : 0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -511LL : 0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -511LL : 0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -511LL : 0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -511LL : 0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -511LL : 0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c65cp+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -511LL : 0x3.b8f7715bac2c23be155335c3c7p+0 : inexact-ok
+rootn min -1023
+= rootn downward binary32 0x4p-128 -1023LL : 0x1.16d0c6p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -1023LL : 0x1.16d0c8p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -1023LL : 0x1.16d0c6p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -1023LL : 0x1.16d0c8p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -1023LL : 0x1.16d0c722590bcp+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -1023LL : 0x1.16d0c722590bdp+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -1023LL : 0x1.16d0c722590bcp+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -1023LL : 0x1.16d0c722590bdp+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -1023LL : 0x1.16d0c722590bceb8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -1023LL : 0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -1023LL : 0x1.16d0c722590bceb8p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41cp+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe48p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -1023LL : 0x1.ffa738738b109p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -1023LL : 0x1.ffa738738b10ap+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -1023LL : 0x1.ffa738738b109p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -1023LL : 0x1.ffa738738b10ap+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -1023LL : 0x1.ffa738738b109c42p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -1023LL : 0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -1023LL : 0x1.ffa738738b109c42p+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a89ep+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -1023LL : 0x1.ffa738738b109c406e08aeb4a9p+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn upward intel96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d4p+16 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d4p+16 : inexact-ok
+= rootn downward binary128 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn upward binary128 0x4p-16384 -1023LL : 0x1.02709ff5f03e12d238c033d01266p+16 : inexact-ok
+= rootn downward intel96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn upward intel96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -1023LL : 0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn downward binary128 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn upward binary128 0x2p-16384 -1023LL : 0x1.029d77d1ae796a5f8d43eb370b8dp+16 : inexact-ok
+= rootn downward binary64 0x8p-972 -1023LL : 0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -1023LL : 0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -1023LL : 0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -1023LL : 0x1.ed9af4f7d4d18p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aa005p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aa006p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aa005p+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aa006p+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -1023LL : 0x1.ed9af4f7d4d173db89301f3aa08p+0 : inexact-ok
+rootn min -16383
+= rootn downward binary32 0x4p-128 -16383LL : 0x1.015e4cp+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -16383LL : 0x1.015e4cp+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -16383LL : 0x1.015e4cp+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -16383LL : 0x1.015e4ep+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -16383LL : 0x1.015e4ce6130f7p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -16383LL : 0x1.015e4ce6130f8p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -16383LL : 0x1.015e4ce6130f7p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -16383LL : 0x1.015e4ce6130f8p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee4p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee4p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec907892p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -16383LL : 0x1.015e4ce6130f7ee2e981ec9079p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -16383LL : 0x1.0b4feab150b79p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -16383LL : 0x1.0b4feab150b79p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -16383LL : 0x1.0b4feab150b79p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -16383LL : 0x1.0b4feab150b7ap+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -16383LL : 0x1.0b4feab150b790e8p+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be969d5p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be969d6p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be969d5p+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be969d6p+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be9698p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be96ap+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be9698p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -16383LL : 0x1.0b4feab150b790e64c3d2be96ap+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn upward intel96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd8p+0 : inexact-ok
+= rootn downward binary128 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn upward binary128 0x4p-16384 -16383LL : 0x1.fffa7460c1cb9dd63b8068fab659p+0 : inexact-ok
+= rootn downward intel96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn upward intel96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn downward binary128 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn upward binary128 0x2p-16384 -16383LL : 0x2p+0 : inexact-ok
+= rootn downward binary64 0x8p-972 -16383LL : 0x1.0ab6a38794f2fp+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -16383LL : 0x1.0ab6a38794f3p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -16383LL : 0x1.0ab6a38794f2fp+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -16383LL : 0x1.0ab6a38794f3p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4ce8p+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4c8p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4dp+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4c8p+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -16383LL : 0x1.0ab6a38794f2f83982b4770c4dp+0 : inexact-ok
+rootn min -0x1000001
+= rootn downward binary32 0x4p-128 -16777217LL : 0x1.000056p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -16777217LL : 0x1.000058p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -16777217LL : 0x1.000056p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -16777217LL : 0x1.000058p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -16777217LL : 0x1.00005756365a7p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -16777217LL : 0x1.00005756365a8p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -16777217LL : 0x1.00005756365a7p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -16777217LL : 0x1.00005756365a8p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -16777217LL : 0x1.00005756365a7ab8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -16777217LL : 0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -16777217LL : 0x1.00005756365a7ab8p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb43p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30ebp+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb8p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30ebp+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -16777217LL : 0x1.00005756365a7ab6461d7f30eb8p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -16777217LL : 0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -16777217LL : 0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -16777217LL : 0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -16777217LL : 0x1.0002c4694d0f4p+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada185p+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -16777217LL : 0x1.0002c4694d0f30b98d5307ada2p+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn upward intel96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -16777217LL : 0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn downward binary128 0x4p-16384 -16777217LL : 0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -16777217LL : 0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -16777217LL : 0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn upward binary128 0x4p-16384 -16777217LL : 0x1.002c5efae0764f698944b57bc6c5p+0 : inexact-ok
+= rootn downward intel96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn upward intel96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -16777217LL : 0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn downward binary128 0x2p-16384 -16777217LL : 0x1.002c5fac714f451d0aa0162a5991p+0 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -16777217LL : 0x1.002c5fac714f451d0aa0162a5992p+0 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -16777217LL : 0x1.002c5fac714f451d0aa0162a5991p+0 : inexact-ok
+= rootn upward binary128 0x2p-16384 -16777217LL : 0x1.002c5fac714f451d0aa0162a5992p+0 : inexact-ok
+= rootn downward binary64 0x8p-972 -16777217LL : 0x1.00029fac4b37ap+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -16777217LL : 0x1.00029fac4b37bp+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -16777217LL : 0x1.00029fac4b37ap+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -16777217LL : 0x1.00029fac4b37bp+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae4p+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -16777217LL : 0x1.00029fac4b37ae4p+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bce14p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bce15p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bce14p+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bce15p+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -16777217LL : 0x1.00029fac4b37ae3e1af6730bce8p+0 : inexact-ok
+rootn min -0x10000000000001
+= rootn downward binary32 0x4p-128 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -4503599627370497LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -4503599627370497LL : 0x1.0000000000057p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -4503599627370497LL : 0x1.0000000000057p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -4503599627370497LL : 0x1.0000000000057p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -4503599627370497LL : 0x1.0000000000058p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -4503599627370497LL : 0x1.0000000000057564p+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -4503599627370497LL : 0x1.0000000000057562p+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -4503599627370497LL : 0x1.0000000000057564p+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506ca8p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506ca9p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506ca8p+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506ca9p+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -4503599627370497LL : 0x1.00000000000575627cbf94506dp+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -4503599627370497LL : 0x1.00000000002c5p+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4656p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4658p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4656p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4658p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4656p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4658p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4656p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4658p+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d815p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d816p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d815p+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d816p+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -4503599627370497LL : 0x1.00000000002c4657baf57d75d88p+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b23p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b232p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b23p+0 : inexact-ok
+= rootn upward intel96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b232p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b23p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b232p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b23p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b232p+0 : inexact-ok
+= rootn downward binary128 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn upward binary128 0x4p-16384 -4503599627370497LL : 0x1.0000000002c5b2319c4c1b3aa63ap+0 : inexact-ok
+= rootn downward intel96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn upward intel96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd4ap+0 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd4ap+0 : inexact-ok
+= rootn downward binary128 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn upward binary128 0x2p-16384 -4503599627370497LL : 0x1.0000000002c5bd48bdcb98765c29p+0 : inexact-ok
+= rootn downward binary64 0x8p-972 -4503599627370497LL : 0x1.000000000029fp+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -4503599627370497LL : 0x1.00000000002ap+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -4503599627370497LL : 0x1.000000000029fp+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -4503599627370497LL : 0x1.00000000002ap+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8cp+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8ep+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8cp+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8ep+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8cp+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8ep+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8cp+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8ep+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b45ep+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b4p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b48p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b4p+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -4503599627370497LL : 0x1.000000000029fa8dcb909613b48p+0 : inexact-ok
+rootn min -0x7fffffffffffffff
+= rootn downward binary32 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x4p-128 -9223372036854775807LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-128 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x4p-128 -9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn tonearest intel96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn towardzero intel96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn upward intel96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn downward m68k96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aep+0 : inexact-ok
+= rootn upward m68k96 0x4p-128 -9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn downward binary128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn tonearest binary128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn towardzero binary128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn upward binary128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f2883dp+0 : inexact-ok
+= rootn downward ibm128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn upward ibm128 0x4p-128 -9223372036854775807LL : 0x1.00000000000000aeac4f97f2888p+0 : inexact-ok
+= rootn downward binary64 0x4p-1024 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1024 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1024 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x4p-1024 -9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn upward intel96 0x4p-1024 -9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn downward m68k96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1024 -9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn downward binary128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf349ep+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf349fp+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf349ep+0 : inexact-ok
+= rootn upward binary128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf349fp+0 : inexact-ok
+= rootn downward ibm128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1024 -9223372036854775807LL : 0x1.0000000000000588caf75eaf35p+0 : inexact-ok
+= rootn downward intel96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward intel96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward binary128 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b64633890884f7p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b64633890884f8p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b64633890884f7p+0 : inexact-ok
+= rootn upward binary128 0x4p-16384 -9223372036854775807LL : 0x1.00000000000058b64633890884f8p+0 : inexact-ok
+= rootn downward intel96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn tonearest intel96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn towardzero intel96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward intel96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward m68k96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn tonearest m68k96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn towardzero m68k96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward m68k96 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward binary128 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn tonearest binary128 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn towardzero binary128 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn upward binary128 0x2p-16384 -9223372036854775807LL : 0x1.00000000000058b7a917b8f82898p+0 : inexact-ok
+= rootn downward binary64 0x8p-972 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-972 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-972 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x8p-972 -9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0x8p-972 -9223372036854775807LL : 0x1.000000000000053ep+0 : inexact-ok
+= rootn tonearest intel96 0x8p-972 -9223372036854775807LL : 0x1.000000000000054p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-972 -9223372036854775807LL : 0x1.000000000000053ep+0 : inexact-ok
+= rootn upward intel96 0x8p-972 -9223372036854775807LL : 0x1.000000000000054p+0 : inexact-ok
+= rootn downward m68k96 0x8p-972 -9223372036854775807LL : 0x1.000000000000053ep+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-972 -9223372036854775807LL : 0x1.000000000000054p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-972 -9223372036854775807LL : 0x1.000000000000053ep+0 : inexact-ok
+= rootn upward m68k96 0x8p-972 -9223372036854775807LL : 0x1.000000000000054p+0 : inexact-ok
+= rootn downward binary128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b9721254b4p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b9721254b5p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b9721254b4p+0 : inexact-ok
+= rootn upward binary128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b9721254b5p+0 : inexact-ok
+= rootn downward ibm128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b97212548p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b97212548p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b97212548p+0 : inexact-ok
+= rootn upward ibm128 0x8p-972 -9223372036854775807LL : 0x1.000000000000053f51b9721255p+0 : inexact-ok
+rootn -min -1
+= rootn downward binary32 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward binary32 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward binary64 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward binary64 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward intel96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward intel96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward binary128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward binary128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -1LL : -0x4p+124 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -1LL : -0x4p+1020 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -1LL : -0x4p+16380 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -1LL : -0x8p+16380 : inexact-ok
+= rootn downward binary64 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn upward binary64 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn downward intel96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn upward intel96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn downward binary128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn upward binary128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -1LL : -0x2p+968 : inexact-ok
+rootn -min -3
+= rootn downward binary32 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward binary32 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward binary64 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward binary64 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward intel96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward intel96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward binary128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward binary128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -3LL : -0x4p+40 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -3LL : -0x1.965fea53d6e3dp+340 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -3LL : -0x1.965fea53d6e3dp+340 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -3LL : -0x1.965fea53d6e3cp+340 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -3LL : -0x1.965fea53d6e3cp+340 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82cp+340 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82ap+340 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43dc5p+340 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43dc5p+340 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43dc4p+340 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43dc4p+340 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43ep+340 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43ep+340 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43d8p+340 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -3LL : -0x1.965fea53d6e3c82b05999ab43d8p+340 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82cp+5460 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82ap+5460 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82b05999ab43dc5p+5460 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82b05999ab43dc5p+5460 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82b05999ab43dc4p+5460 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -3LL : -0x1.965fea53d6e3c82b05999ab43dc4p+5460 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -3LL : -0x2p+5460 : inexact-ok
+= rootn downward binary64 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn upward binary64 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn downward intel96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn upward intel96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn downward binary128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn upward binary128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -3LL : -0x8p+320 : inexact-ok
+rootn -min -5
+= rootn downward binary32 -0x4p-128 -5LL : -0x2.4c2234p+24 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -5LL : -0x2.4c223p+24 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -5LL : -0x2.4c223p+24 : inexact-ok
+= rootn upward binary32 -0x4p-128 -5LL : -0x2.4c223p+24 : inexact-ok
+= rootn downward binary64 -0x4p-128 -5LL : -0x2.4c2230d75cceap+24 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -5LL : -0x2.4c2230d75cceap+24 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -5LL : -0x2.4c2230d75cce8p+24 : inexact-ok
+= rootn upward binary64 -0x4p-128 -5LL : -0x2.4c2230d75cce8p+24 : inexact-ok
+= rootn downward intel96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d8p+24 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn upward intel96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d8p+24 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4p+24 : inexact-ok
+= rootn downward binary128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p+24 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p+24 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p+24 : inexact-ok
+= rootn upward binary128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p+24 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec2p+24 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec2p+24 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1p+24 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -5LL : -0x2.4c2230d75cce92d4a43c840ec1p+24 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -5LL : -0x1.51cb453b9536dp+204 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -5LL : -0x1.51cb453b9536cp+204 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -5LL : -0x1.51cb453b9536cp+204 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -5LL : -0x1.51cb453b9536cp+204 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -5LL : -0x1.51cb453b9536c458p+204 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -5LL : -0x1.51cb453b9536c458p+204 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -5LL : -0x1.51cb453b9536c456p+204 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb96cp+204 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+204 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb98p+204 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb98p+204 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb9p+204 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -5LL : -0x1.51cb453b9536c45693a8476cb9p+204 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -5LL : -0x1.51cb453b9536c458p+3276 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -5LL : -0x1.51cb453b9536c458p+3276 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -5LL : -0x1.51cb453b9536c456p+3276 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -5LL : -0x1.51cb453b9536c45693a8476cb96cp+3276 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -5LL : -0x1.51cb453b9536c45693a8476cb96bp+3276 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6bap+3276 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b8p+3276 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b99347320eae14p+3276 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -5LL : -0x1.8406003b2ae5c6b99347320eae13p+3276 : inexact-ok
+= rootn downward binary64 -0x8p-972 -5LL : -0x3.7b719b5b7c242p+192 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -5LL : -0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -5LL : -0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn upward binary64 -0x8p-972 -5LL : -0x3.7b719b5b7c24p+192 : inexact-ok
+= rootn downward intel96 -0x8p-972 -5LL : -0x3.7b719b5b7c24042cp+192 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn upward intel96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -5LL : -0x3.7b719b5b7c24042cp+192 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -5LL : -0x3.7b719b5b7c240428p+192 : inexact-ok
+= rootn downward binary128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ff54p+192 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn upward binary128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+192 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6165p+192 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+192 : inexact-ok
+rootn -min -63
+= rootn downward binary32 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -63LL : -0x4p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f6p+16 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f5p+16 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f5372p+16 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f5372p+16 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f537p+16 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc5b3p+16 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc5b2p+16 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc6p+16 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -63LL : -0x1.2aa1a5aad04f53701993c68cc58p+16 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed2p+260 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed2p+260 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -63LL : -0x1.05b214e9123f0edp+260 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed0153dca82bdb8p+260 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -63LL : -0x1.05b214e9123f0ed0153dca82bdb7p+260 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60ccp+260 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cap+260 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cb3f405358c333p+260 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cb3f405358c333p+260 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cb3f405358c332p+260 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -63LL : -0x1.08973e2c8a9c60cb3f405358c332p+260 : inexact-ok
+= rootn downward binary64 -0x8p-972 -63LL : -0xa.6ae8776a379dp+12 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -63LL : -0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -63LL : -0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn upward binary64 -0x8p-972 -63LL : -0xa.6ae8776a379c8p+12 : inexact-ok
+= rootn downward intel96 -0x8p-972 -63LL : -0xa.6ae8776a379c963p+12 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn upward intel96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -63LL : -0xa.6ae8776a379c963p+12 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -63LL : -0xa.6ae8776a379c962p+12 : inexact-ok
+= rootn downward binary128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd52p+12 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn upward binary128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd518p+12 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd8p+12 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -63LL : -0xa.6ae8776a379c96212b1b43ecd4p+12 : inexact-ok
+rootn -min -127
+= rootn downward binary32 -0x4p-128 -127LL : -0x1.fd3694p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -127LL : -0x1.fd3694p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -127LL : -0x1.fd3692p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -127LL : -0x1.fd3692p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -127LL : -0x1.fd3693bc91295p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -127LL : -0x1.fd3693bc91295p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -127LL : -0x1.fd3693bc91294p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -127LL : -0x1.fd3693bc91294p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -127LL : -0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -127LL : -0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -127LL : -0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -127LL : -0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -127LL : -0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -127LL : -0x1.fd3693bc9129492p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -127LL : -0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -127LL : -0x1.fd3693bc9129491ep+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c593p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c593p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c592p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c592p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c6p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -127LL : -0x1.fd3693bc9129491f39d15718c58p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -127LL : -0x1.0885a4135bf4cp+8 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -127LL : -0x1.0885a4135bf4cp+8 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -127LL : -0x1.0885a4135bf4bp+8 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -127LL : -0x1.0885a4135bf4bp+8 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad4p+8 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad2p+8 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2879cp+8 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2879cp+8 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2879bp+8 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2879bp+8 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d288p+8 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -127LL : -0x1.0885a4135bf4bad32e4113d2878p+8 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -127LL : -0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -127LL : -0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -127LL : -0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -127LL : -0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -127LL : -0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -127LL : -0x1.fd3693bc9129492p+128 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -127LL : -0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -127LL : -0x1.fd3693bc9129491ep+128 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -127LL : -0x1.fd3693bc9129491f39d15718c593p+128 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -127LL : -0x1.fd3693bc9129491f39d15718c593p+128 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -127LL : -0x1.fd3693bc9129491f39d15718c592p+128 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -127LL : -0x1.fd3693bc9129491f39d15718c592p+128 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -127LL : -0x2p+128 : inexact-ok
+= rootn downward binary64 -0x8p-972 -127LL : -0xc.613d792293fb8p+4 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -127LL : -0xc.613d792293fbp+4 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -127LL : -0xc.613d792293fbp+4 : inexact-ok
+= rootn upward binary64 -0x8p-972 -127LL : -0xc.613d792293fbp+4 : inexact-ok
+= rootn downward intel96 -0x8p-972 -127LL : -0xc.613d792293fb362p+4 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -127LL : -0xc.613d792293fb362p+4 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -127LL : -0xc.613d792293fb361p+4 : inexact-ok
+= rootn upward intel96 -0x8p-972 -127LL : -0xc.613d792293fb361p+4 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -127LL : -0xc.613d792293fb362p+4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -127LL : -0xc.613d792293fb362p+4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -127LL : -0xc.613d792293fb361p+4 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -127LL : -0xc.613d792293fb361p+4 : inexact-ok
+= rootn downward binary128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814b8p+4 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814b8p+4 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814bp+4 : inexact-ok
+= rootn upward binary128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814bp+4 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301818p+4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814p+4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814p+4 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -127LL : -0xc.613d792293fb3618b866301814p+4 : inexact-ok
+rootn -min -255
+= rootn downward binary32 -0x4p-128 -255LL : -0x1.6890c8p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -255LL : -0x1.6890c6p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -255LL : -0x1.6890c6p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -255LL : -0x1.6890c6p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -255LL : -0x1.6890c62b6ee1dp+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -255LL : -0x1.6890c62b6ee1dp+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -255LL : -0x1.6890c62b6ee1cp+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -255LL : -0x1.6890c62b6ee1cp+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f026p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f08p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0fp+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -255LL : -0x1.016540d865a44p+4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -255LL : -0x1.016540d865a44p+4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -255LL : -0x1.016540d865a43p+4 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -255LL : -0x1.016540d865a43p+4 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -255LL : -0x1.016540d865a43a36p+4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -255LL : -0x1.016540d865a43a36p+4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -255LL : -0x1.016540d865a43a34p+4 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a96974p+4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a96974p+4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a96973p+4 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a96973p+4 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a9698p+4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a9698p+4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a969p+4 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -255LL : -0x1.016540d865a43a343fd329a969p+4 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -255LL : -0x1.2efe067871304924p+64 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -255LL : -0x1.2efe067871304924p+64 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -255LL : -0x1.2efe067871304922p+64 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -255LL : -0x1.2efe067871304922p+64 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -255LL : -0x1.2efe067871304924p+64 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -255LL : -0x1.2efe067871304924p+64 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -255LL : -0x1.2efe067871304922p+64 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -255LL : -0x1.2efe067871304922p+64 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -255LL : -0x1.2efe06787130492385df04419239p+64 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -255LL : -0x1.2efe06787130492385df04419239p+64 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -255LL : -0x1.2efe06787130492385df04419238p+64 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -255LL : -0x1.2efe06787130492385df04419238p+64 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -255LL : -0x1.2fd12768caa65beap+64 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -255LL : -0x1.2fd12768caa65beap+64 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8p+64 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8a59aba280da1p+64 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -255LL : -0x1.2fd12768caa65be8a59aba280dap+64 : inexact-ok
+= rootn downward binary64 -0x8p-972 -255LL : -0xd.edc66d6df0908p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -255LL : -0xd.edc66d6df09p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -255LL : -0xd.edc66d6df09p+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -255LL : -0xd.edc66d6df09p+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -255LL : -0xd.edc66d6df09010bp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -255LL : -0xd.edc66d6df09010bp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -255LL : -0xd.edc66d6df09010ap+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fd5p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fd48p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98594p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -255LL : -0xd.edc66d6df09010a7b0e98593fcp+0 : inexact-ok
+rootn -min -511
+= rootn downward binary32 -0x4p-128 -511LL : -0x1.2fb718p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -511LL : -0x1.2fb718p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -511LL : -0x1.2fb716p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -511LL : -0x1.2fb716p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -511LL : -0x1.2fb717e61b14fp+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -511LL : -0x1.2fb717e61b14fp+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -511LL : -0x1.2fb717e61b14ep+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -511LL : -0x1.2fb717e61b14ep+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bep+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bcp+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d56p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d55p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813d8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813dp+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -511LL : -0x1.2fb717e61b14e9bdee7794813dp+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -511LL : -0x4p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2ap+32 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -511LL : -0x1.0aa1e67805449f28p+32 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2930c6cbcdc0b5p+32 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2930c6cbcdc0b5p+32 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2930c6cbcdc0b4p+32 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -511LL : -0x1.0aa1e67805449f2930c6cbcdc0b4p+32 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3092p+32 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3092p+32 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -511LL : -0x1.0afe8d3b532c309p+32 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3090882ee932f25cp+32 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3090882ee932f25cp+32 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3090882ee932f25bp+32 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -511LL : -0x1.0afe8d3b532c3090882ee932f25bp+32 : inexact-ok
+= rootn downward binary64 -0x8p-972 -511LL : -0x3.b8f7715bac2c4p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -511LL : -0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -511LL : -0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -511LL : -0x3.b8f7715bac2c2p+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23cp+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -511LL : -0x3.b8f7715bac2c23bcp+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c65cp+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c65ap+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c7p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -511LL : -0x3.b8f7715bac2c23be155335c3c6p+0 : inexact-ok
+rootn -min -1023
+= rootn downward binary32 -0x4p-128 -1023LL : -0x1.16d0c8p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -1023LL : -0x1.16d0c8p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -1023LL : -0x1.16d0c6p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -1023LL : -0x1.16d0c6p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -1023LL : -0x1.16d0c722590bdp+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -1023LL : -0x1.16d0c722590bdp+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -1023LL : -0x1.16d0c722590bcp+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -1023LL : -0x1.16d0c722590bcp+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41cp+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe48p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe4p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -1023LL : -0x1.ffa738738b10ap+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -1023LL : -0x1.ffa738738b10ap+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -1023LL : -0x1.ffa738738b109p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -1023LL : -0x1.ffa738738b109p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c42p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c42p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -1023LL : -0x1.ffa738738b109c4p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a89ep+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a89dp+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a9p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -1023LL : -0x1.ffa738738b109c406e08aeb4a88p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d4p+16 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d4p+16 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d2p+16 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d238c033d01266p+16 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -1023LL : -0x1.02709ff5f03e12d238c033d01265p+16 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a6p+16 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5ep+16 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5f8d43eb370b8dp+16 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -1023LL : -0x1.029d77d1ae796a5f8d43eb370b8cp+16 : inexact-ok
+= rootn downward binary64 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d18p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d17p+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dcp+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173dap+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aa006p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aa006p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aa005p+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aa005p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aa08p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -1023LL : -0x1.ed9af4f7d4d173db89301f3aap+0 : inexact-ok
+rootn -min -16383
+= rootn downward binary32 -0x4p-128 -16383LL : -0x1.015e4ep+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -16383LL : -0x1.015e4cp+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -16383LL : -0x1.015e4cp+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -16383LL : -0x1.015e4cp+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -16383LL : -0x1.015e4ce6130f8p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -16383LL : -0x1.015e4ce6130f8p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -16383LL : -0x1.015e4ce6130f7p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -16383LL : -0x1.015e4ce6130f7p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee4p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec907892p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec907891p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec9079p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -16383LL : -0x1.015e4ce6130f7ee2e981ec90788p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -16383LL : -0x1.0b4feab150b7ap+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -16383LL : -0x1.0b4feab150b79p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -16383LL : -0x1.0b4feab150b79p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -16383LL : -0x1.0b4feab150b79p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be969d6p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be969d6p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be969d5p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be969d5p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be96ap+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be96ap+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be9698p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -16383LL : -0x1.0b4feab150b790e64c3d2be9698p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd63b8068fab659p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -16383LL : -0x1.fffa7460c1cb9dd63b8068fab658p+0 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -16383LL : -0x2p+0 : inexact-ok
+= rootn downward binary64 -0x8p-972 -16383LL : -0x1.0ab6a38794f3p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -16383LL : -0x1.0ab6a38794f3p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -16383LL : -0x1.0ab6a38794f2fp+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -16383LL : -0x1.0ab6a38794f2fp+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f838p+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4ce8p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4ce7p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4dp+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4dp+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4c8p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -16383LL : -0x1.0ab6a38794f2f83982b4770c4c8p+0 : inexact-ok
+rootn -min -0x1000001
+= rootn downward binary32 -0x4p-128 -16777217LL : -0x1.000058p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -16777217LL : -0x1.000058p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -16777217LL : -0x1.000056p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -16777217LL : -0x1.000056p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -16777217LL : -0x1.00005756365a8p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -16777217LL : -0x1.00005756365a8p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -16777217LL : -0x1.00005756365a7p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -16777217LL : -0x1.00005756365a7p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb43p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb42p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30eb8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30ebp+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -16777217LL : -0x1.00005756365a7ab6461d7f30ebp+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f4p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f3p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30bap+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b8p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada185p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada184p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada2p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -16777217LL : -0x1.0002c4694d0f30b98d5307ada18p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f6ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f68p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f698944b57bc6c5p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -16777217LL : -0x1.002c5efae0764f698944b57bc6c4p+0 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451cp+0 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451d0aa0162a5992p+0 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451d0aa0162a5992p+0 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451d0aa0162a5991p+0 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -16777217LL : -0x1.002c5fac714f451d0aa0162a5991p+0 : inexact-ok
+= rootn downward binary64 -0x8p-972 -16777217LL : -0x1.00029fac4b37bp+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -16777217LL : -0x1.00029fac4b37bp+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -16777217LL : -0x1.00029fac4b37ap+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -16777217LL : -0x1.00029fac4b37ap+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae4p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3ep+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bce15p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bce15p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bce14p+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bce14p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bce8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -16777217LL : -0x1.00029fac4b37ae3e1af6730bcep+0 : inexact-ok
+rootn -min -0x10000000000001
+= rootn downward binary32 -0x4p-128 -4503599627370497LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -4503599627370497LL : -0x1.0000000000058p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -4503599627370497LL : -0x1.0000000000057p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -4503599627370497LL : -0x1.0000000000057p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -4503599627370497LL : -0x1.0000000000057p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057564p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057564p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -4503599627370497LL : -0x1.0000000000057562p+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506ca9p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506ca9p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506ca8p+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506ca8p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506dp+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -4503599627370497LL : -0x1.00000000000575627cbf94506c8p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c5p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4658p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4658p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4656p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4656p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4658p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4658p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4656p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4656p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d816p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d816p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d815p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d815p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d88p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -4503599627370497LL : -0x1.00000000002c4657baf57d75d8p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b232p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b232p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b23p+0 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b23p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b232p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b232p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b23p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b23p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b2319c4c1b3aa63ap+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -4503599627370497LL : -0x1.0000000002c5b2319c4c1b3aa639p+0 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd4ap+0 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd4ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48p+0 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48bdcb98765c29p+0 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -4503599627370497LL : -0x1.0000000002c5bd48bdcb98765c28p+0 : inexact-ok
+= rootn downward binary64 -0x8p-972 -4503599627370497LL : -0x1.00000000002ap+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -4503599627370497LL : -0x1.00000000002ap+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -4503599627370497LL : -0x1.000000000029fp+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -4503599627370497LL : -0x1.000000000029fp+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8ep+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8ep+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8cp+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8cp+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8ep+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8cp+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8cp+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b45ep+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b45dp+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b48p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b48p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b4p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -4503599627370497LL : -0x1.000000000029fa8dcb909613b4p+0 : inexact-ok
+rootn -min -0x7fffffffffffffff
+= rootn downward binary32 -0x4p-128 -9223372036854775807LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x4p-128 -9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x4p-128 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn upward intel96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn downward m68k96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn upward m68k96 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aep+0 : inexact-ok
+= rootn downward binary128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f2883dp+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn upward binary128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f2883cp+0 : inexact-ok
+= rootn downward ibm128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f2888p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-128 -9223372036854775807LL : -0x1.00000000000000aeac4f97f288p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1024 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1024 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1024 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1024 -9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1024 -9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf349fp+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf349fp+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf349ep+0 : inexact-ok
+= rootn upward binary128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf349ep+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf35p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1024 -9223372036854775807LL : -0x1.0000000000000588caf75eaf348p+0 : inexact-ok
+= rootn downward intel96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward intel96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b64633890884f8p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b64633890884f8p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b64633890884f7p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16384 -9223372036854775807LL : -0x1.00000000000058b64633890884f7p+0 : inexact-ok
+= rootn downward intel96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest intel96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn towardzero intel96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward intel96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn downward m68k96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn towardzero m68k96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn upward m68k96 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b6p+0 : inexact-ok
+= rootn downward binary128 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b7a917b8f82898p+0 : inexact-ok
+= rootn tonearest binary128 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn towardzero binary128 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn upward binary128 -0x2p-16384 -9223372036854775807LL : -0x1.00000000000058b7a917b8f82897p+0 : inexact-ok
+= rootn downward binary64 -0x8p-972 -9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-972 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-972 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x8p-972 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000054p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000054p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053ep+0 : inexact-ok
+= rootn upward intel96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053ep+0 : inexact-ok
+= rootn downward m68k96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000054p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000054p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053ep+0 : inexact-ok
+= rootn upward m68k96 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053ep+0 : inexact-ok
+= rootn downward binary128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b9721254b5p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b9721254b5p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b9721254b4p+0 : inexact-ok
+= rootn upward binary128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b9721254b4p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b9721255p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b97212548p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b97212548p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-972 -9223372036854775807LL : -0x1.000000000000053f51b97212548p+0 : inexact-ok
+rootn min_subnorm 1
+= rootn downward binary32 0x8p-152 1LL : 0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary32 0x8p-152 1LL : 0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary32 0x8p-152 1LL : 0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary32 0x8p-152 1LL : 0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn tonearest binary64 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn towardzero binary64 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn upward binary64 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn downward intel96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn tonearest intel96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn towardzero intel96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn upward intel96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn downward m68k96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn upward m68k96 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn downward binary128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn tonearest binary128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn towardzero binary128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn upward binary128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn downward ibm128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn upward ibm128 0x8p-152 1LL : 0x8p-152 : inexact-ok
+= rootn downward binary64 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary64 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary64 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary64 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn upward intel96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn downward m68k96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn upward m68k96 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn downward binary128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn upward binary128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok
+= rootn downward ibm128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 0x4p-1076 1LL : 0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 0x8p-16448 1LL : 0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 0x4p-16448 1LL : 0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 0x4p-16496 1LL : 0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 0x4p-16496 1LL : 0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 0x4p-16496 1LL : 0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 0x4p-16496 1LL : 0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+rootn min_subnorm 2
+= rootn downward binary32 0x8p-152 2LL : 0x2.d413ccp-76 : inexact-ok
+= rootn tonearest binary32 0x8p-152 2LL : 0x2.d413ccp-76 : inexact-ok
+= rootn towardzero binary32 0x8p-152 2LL : 0x2.d413ccp-76 : inexact-ok
+= rootn upward binary32 0x8p-152 2LL : 0x2.d413dp-76 : inexact-ok
+= rootn downward binary64 0x8p-152 2LL : 0x2.d413cccfe7798p-76 : inexact-ok
+= rootn tonearest binary64 0x8p-152 2LL : 0x2.d413cccfe779ap-76 : inexact-ok
+= rootn towardzero binary64 0x8p-152 2LL : 0x2.d413cccfe7798p-76 : inexact-ok
+= rootn upward binary64 0x8p-152 2LL : 0x2.d413cccfe779ap-76 : inexact-ok
+= rootn downward intel96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn tonearest intel96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn towardzero intel96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn upward intel96 0x8p-152 2LL : 0x2.d413cccfe7799214p-76 : inexact-ok
+= rootn downward m68k96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 2LL : 0x2.d413cccfe779921p-76 : inexact-ok
+= rootn upward m68k96 0x8p-152 2LL : 0x2.d413cccfe7799214p-76 : inexact-ok
+= rootn downward binary128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd52ap-76 : inexact-ok
+= rootn tonearest binary128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd52ap-76 : inexact-ok
+= rootn towardzero binary128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd52ap-76 : inexact-ok
+= rootn upward binary128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd52cp-76 : inexact-ok
+= rootn downward ibm128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd5p-76 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd5p-76 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd5p-76 : inexact-ok
+= rootn upward ibm128 0x8p-152 2LL : 0x2.d413cccfe779921165f626cdd6p-76 : inexact-ok
+= rootn downward binary64 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn upward binary64 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn downward intel96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn upward intel96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn downward m68k96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn upward m68k96 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn downward binary128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn upward binary128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn downward ibm128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn upward ibm128 0x4p-1076 2LL : 0x8p-540 : inexact-ok
+= rootn downward intel96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn upward intel96 0x8p-16448 2LL : 0x2.d413cccfe7799214p-8224 : inexact-ok
+= rootn downward m68k96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 2LL : 0x2.d413cccfe779921p-8224 : inexact-ok
+= rootn upward m68k96 0x8p-16448 2LL : 0x2.d413cccfe7799214p-8224 : inexact-ok
+= rootn downward binary128 0x8p-16448 2LL : 0x2.d413cccfe779921165f626cdd52ap-8224 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 2LL : 0x2.d413cccfe779921165f626cdd52ap-8224 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 2LL : 0x2.d413cccfe779921165f626cdd52ap-8224 : inexact-ok
+= rootn upward binary128 0x8p-16448 2LL : 0x2.d413cccfe779921165f626cdd52cp-8224 : inexact-ok
+= rootn downward m68k96 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn upward m68k96 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn downward binary128 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn upward binary128 0x4p-16448 2LL : 0x2p-8224 : inexact-ok
+= rootn downward binary128 0x4p-16496 2LL : 0x2p-8248 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 2LL : 0x2p-8248 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 2LL : 0x2p-8248 : inexact-ok
+= rootn upward binary128 0x4p-16496 2LL : 0x2p-8248 : inexact-ok
+rootn min_subnorm 3
+= rootn downward binary32 0x8p-152 3LL : 0x5.0a28b8p-52 : inexact-ok
+= rootn tonearest binary32 0x8p-152 3LL : 0x5.0a28cp-52 : inexact-ok
+= rootn towardzero binary32 0x8p-152 3LL : 0x5.0a28b8p-52 : inexact-ok
+= rootn upward binary32 0x8p-152 3LL : 0x5.0a28cp-52 : inexact-ok
+= rootn downward binary64 0x8p-152 3LL : 0x5.0a28be635ca28p-52 : inexact-ok
+= rootn tonearest binary64 0x8p-152 3LL : 0x5.0a28be635ca2cp-52 : inexact-ok
+= rootn towardzero binary64 0x8p-152 3LL : 0x5.0a28be635ca28p-52 : inexact-ok
+= rootn upward binary64 0x8p-152 3LL : 0x5.0a28be635ca2cp-52 : inexact-ok
+= rootn downward intel96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn tonearest intel96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn towardzero intel96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn upward intel96 0x8p-152 3LL : 0x5.0a28be635ca2b89p-52 : inexact-ok
+= rootn downward m68k96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 3LL : 0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn upward m68k96 0x8p-152 3LL : 0x5.0a28be635ca2b89p-52 : inexact-ok
+= rootn downward binary128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn tonearest binary128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn towardzero binary128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn upward binary128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f898p-52 : inexact-ok
+= rootn downward ibm128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn upward ibm128 0x8p-152 3LL : 0x5.0a28be635ca2b888f76adc56fap-52 : inexact-ok
+= rootn downward binary64 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn upward binary64 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn downward intel96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn upward intel96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn downward m68k96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn upward m68k96 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn downward binary128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn upward binary128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn downward ibm128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn upward ibm128 0x4p-1076 3LL : 0x4p-360 : inexact-ok
+= rootn downward intel96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn upward intel96 0x8p-16448 3LL : 0x5.0a28be635ca2b89p-5484 : inexact-ok
+= rootn downward m68k96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 3LL : 0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn upward m68k96 0x8p-16448 3LL : 0x5.0a28be635ca2b89p-5484 : inexact-ok
+= rootn downward binary128 0x8p-16448 3LL : 0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 3LL : 0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 3LL : 0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn upward binary128 0x8p-16448 3LL : 0x5.0a28be635ca2b888f76adc56f898p-5484 : inexact-ok
+= rootn downward m68k96 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn upward m68k96 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn downward binary128 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn upward binary128 0x4p-16448 3LL : 0x4p-5484 : inexact-ok
+= rootn downward binary128 0x4p-16496 3LL : 0x4p-5500 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 3LL : 0x4p-5500 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 3LL : 0x4p-5500 : inexact-ok
+= rootn upward binary128 0x4p-16496 3LL : 0x4p-5500 : inexact-ok
+rootn min_subnorm 4
+= rootn downward binary32 0x8p-152 4LL : 0x6.ba27ep-40 : inexact-ok
+= rootn tonearest binary32 0x8p-152 4LL : 0x6.ba27e8p-40 : inexact-ok
+= rootn towardzero binary32 0x8p-152 4LL : 0x6.ba27ep-40 : inexact-ok
+= rootn upward binary32 0x8p-152 4LL : 0x6.ba27e8p-40 : inexact-ok
+= rootn downward binary64 0x8p-152 4LL : 0x6.ba27e656b4eb4p-40 : inexact-ok
+= rootn tonearest binary64 0x8p-152 4LL : 0x6.ba27e656b4eb4p-40 : inexact-ok
+= rootn towardzero binary64 0x8p-152 4LL : 0x6.ba27e656b4eb4p-40 : inexact-ok
+= rootn upward binary64 0x8p-152 4LL : 0x6.ba27e656b4eb8p-40 : inexact-ok
+= rootn downward intel96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn tonearest intel96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn towardzero intel96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn upward intel96 0x8p-152 4LL : 0x6.ba27e656b4eb57a8p-40 : inexact-ok
+= rootn downward m68k96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 4LL : 0x6.ba27e656b4eb57ap-40 : inexact-ok
+= rootn upward m68k96 0x8p-152 4LL : 0x6.ba27e656b4eb57a8p-40 : inexact-ok
+= rootn downward binary128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc8168p-40 : inexact-ok
+= rootn tonearest binary128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc8168p-40 : inexact-ok
+= rootn towardzero binary128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc8168p-40 : inexact-ok
+= rootn upward binary128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc816cp-40 : inexact-ok
+= rootn downward ibm128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc8p-40 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc82p-40 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc8p-40 : inexact-ok
+= rootn upward ibm128 0x8p-152 4LL : 0x6.ba27e656b4eb57a1cd345dcc82p-40 : inexact-ok
+= rootn downward binary64 0x4p-1076 4LL : 0xb.504f333f9de6p-272 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 4LL : 0xb.504f333f9de68p-272 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 4LL : 0xb.504f333f9de6p-272 : inexact-ok
+= rootn upward binary64 0x4p-1076 4LL : 0xb.504f333f9de68p-272 : inexact-ok
+= rootn downward intel96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn upward intel96 0x4p-1076 4LL : 0xb.504f333f9de6485p-272 : inexact-ok
+= rootn downward m68k96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 4LL : 0xb.504f333f9de6484p-272 : inexact-ok
+= rootn upward m68k96 0x4p-1076 4LL : 0xb.504f333f9de6485p-272 : inexact-ok
+= rootn downward binary128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754a8p-272 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754a8p-272 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754a8p-272 : inexact-ok
+= rootn upward binary128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754bp-272 : inexact-ok
+= rootn downward ibm128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754p-272 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754p-272 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3754p-272 : inexact-ok
+= rootn upward ibm128 0x4p-1076 4LL : 0xb.504f333f9de6484597d89b3758p-272 : inexact-ok
+= rootn downward intel96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn upward intel96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5eap-4112 : inexact-ok
+= rootn downward m68k96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8p-4112 : inexact-ok
+= rootn upward m68k96 0x8p-16448 4LL : 0x1.ae89f995ad3ad5eap-4112 : inexact-ok
+= rootn downward binary128 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8734d1773205ap-4112 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8734d1773205ap-4112 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8734d1773205ap-4112 : inexact-ok
+= rootn upward binary128 0x8p-16448 4LL : 0x1.ae89f995ad3ad5e8734d1773205bp-4112 : inexact-ok
+= rootn downward m68k96 0x4p-16448 4LL : 0x1.6a09e667f3bcc908p-4112 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 4LL : 0x1.6a09e667f3bcc908p-4112 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 4LL : 0x1.6a09e667f3bcc908p-4112 : inexact-ok
+= rootn upward m68k96 0x4p-16448 4LL : 0x1.6a09e667f3bcc90ap-4112 : inexact-ok
+= rootn downward binary128 0x4p-16448 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4112 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4112 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4112 : inexact-ok
+= rootn upward binary128 0x4p-16448 4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-4112 : inexact-ok
+= rootn downward binary128 0x4p-16496 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4124 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4124 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p-4124 : inexact-ok
+= rootn upward binary128 0x4p-16496 4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p-4124 : inexact-ok
+rootn min_subnorm 5
+= rootn downward binary32 0x8p-152 5LL : 0x4.98446p-32 : inexact-ok
+= rootn tonearest binary32 0x8p-152 5LL : 0x4.98446p-32 : inexact-ok
+= rootn towardzero binary32 0x8p-152 5LL : 0x4.98446p-32 : inexact-ok
+= rootn upward binary32 0x8p-152 5LL : 0x4.984468p-32 : inexact-ok
+= rootn downward binary64 0x8p-152 5LL : 0x4.984461aeb99dp-32 : inexact-ok
+= rootn tonearest binary64 0x8p-152 5LL : 0x4.984461aeb99d4p-32 : inexact-ok
+= rootn towardzero binary64 0x8p-152 5LL : 0x4.984461aeb99dp-32 : inexact-ok
+= rootn upward binary64 0x8p-152 5LL : 0x4.984461aeb99d4p-32 : inexact-ok
+= rootn downward intel96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn tonearest intel96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn towardzero intel96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn upward intel96 0x8p-152 5LL : 0x4.984461aeb99d25bp-32 : inexact-ok
+= rootn downward m68k96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 5LL : 0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn upward m68k96 0x8p-152 5LL : 0x4.984461aeb99d25bp-32 : inexact-ok
+= rootn downward binary128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d8384p-32 : inexact-ok
+= rootn tonearest binary128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d8388p-32 : inexact-ok
+= rootn towardzero binary128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d8384p-32 : inexact-ok
+= rootn upward binary128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d8388p-32 : inexact-ok
+= rootn downward ibm128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d82p-32 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d84p-32 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d82p-32 : inexact-ok
+= rootn upward ibm128 0x8p-152 5LL : 0x4.984461aeb99d25a94879081d84p-32 : inexact-ok
+= rootn downward binary64 0x4p-1076 5LL : 0x2.4c2230d75cce8p-216 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 5LL : 0x2.4c2230d75cceap-216 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 5LL : 0x2.4c2230d75cce8p-216 : inexact-ok
+= rootn upward binary64 0x4p-1076 5LL : 0x2.4c2230d75cceap-216 : inexact-ok
+= rootn downward intel96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn upward intel96 0x4p-1076 5LL : 0x2.4c2230d75cce92d8p-216 : inexact-ok
+= rootn downward m68k96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 5LL : 0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn upward m68k96 0x4p-1076 5LL : 0x2.4c2230d75cce92d8p-216 : inexact-ok
+= rootn downward binary128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p-216 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p-216 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p-216 : inexact-ok
+= rootn upward binary128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p-216 : inexact-ok
+= rootn downward ibm128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1p-216 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec2p-216 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec1p-216 : inexact-ok
+= rootn upward ibm128 0x4p-1076 5LL : 0x2.4c2230d75cce92d4a43c840ec2p-216 : inexact-ok
+= rootn downward intel96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn upward intel96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn downward m68k96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn upward m68k96 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn downward binary128 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn upward binary128 0x8p-16448 5LL : 0x8p-3292 : inexact-ok
+= rootn downward m68k96 0x4p-16448 5LL : 0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 5LL : 0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 5LL : 0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn upward m68k96 0x4p-16448 5LL : 0x6.f6e336b6f8480858p-3292 : inexact-ok
+= rootn downward binary128 0x4p-16448 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 5LL : 0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn upward binary128 0x4p-16448 5LL : 0x6.f6e336b6f8480853d874c2c9fea8p-3292 : inexact-ok
+= rootn downward binary128 0x4p-16496 5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p-3300 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p-3300 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p-3300 : inexact-ok
+= rootn upward binary128 0x4p-16496 5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p-3300 : inexact-ok
+rootn min_subnorm 63
+= rootn downward binary32 0x8p-152 63LL : 0x3.1b0f74p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 63LL : 0x3.1b0f74p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 63LL : 0x3.1b0f74p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 63LL : 0x3.1b0f78p-4 : inexact-ok
+= rootn downward binary64 0x8p-152 63LL : 0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 63LL : 0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 63LL : 0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn upward binary64 0x8p-152 63LL : 0x3.1b0f75aa79eeep-4 : inexact-ok
+= rootn downward intel96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a8p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 63LL : 0x3.1b0f75aa79eec7a8p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b85628p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b8562ap-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b85628p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b8562ap-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 63LL : 0x3.1b0f75aa79eec7a45abc01b857p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 63LL : 0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 63LL : 0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 63LL : 0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn upward binary64 0x4p-1076 63LL : 0x7.bd814d14ce8p-20 : inexact-ok
+= rootn downward intel96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn upward intel96 0x4p-1076 63LL : 0x7.bd814d14ce7fcf08p-20 : inexact-ok
+= rootn downward m68k96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 63LL : 0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn upward m68k96 0x4p-1076 63LL : 0x7.bd814d14ce7fcf08p-20 : inexact-ok
+= rootn downward binary128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn upward binary128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b5179p-20 : inexact-ok
+= rootn downward ibm128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b516p-20 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b518p-20 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b516p-20 : inexact-ok
+= rootn upward ibm128 0x4p-1076 63LL : 0x7.bd814d14ce7fcf0093ec45b518p-20 : inexact-ok
+= rootn downward intel96 0x8p-16448 63LL : 0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 63LL : 0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 63LL : 0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn upward intel96 0x8p-16448 63LL : 0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn downward m68k96 0x8p-16448 63LL : 0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 63LL : 0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 63LL : 0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn upward m68k96 0x8p-16448 63LL : 0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn downward binary128 0x8p-16448 63LL : 0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 63LL : 0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 63LL : 0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn upward binary128 0x8p-16448 63LL : 0x7.d36d3850be891cf5fca6461e964p-264 : inexact-ok
+= rootn downward m68k96 0x4p-16448 63LL : 0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 63LL : 0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 63LL : 0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn upward m68k96 0x4p-16448 63LL : 0x7.bd814d14ce7fcf08p-264 : inexact-ok
+= rootn downward binary128 0x4p-16448 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 63LL : 0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn upward binary128 0x4p-16448 63LL : 0x7.bd814d14ce7fcf0093ec45b5179p-264 : inexact-ok
+= rootn downward binary128 0x4p-16496 63LL : 0x4.908715de494e34e7113a312fd058p-264 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 63LL : 0x4.908715de494e34e7113a312fd05cp-264 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 63LL : 0x4.908715de494e34e7113a312fd058p-264 : inexact-ok
+= rootn upward binary128 0x4p-16496 63LL : 0x4.908715de494e34e7113a312fd05cp-264 : inexact-ok
+rootn min_subnorm 127
+= rootn downward binary32 0x8p-152 127LL : 0x7.1847e8p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 127LL : 0x7.1847e8p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 127LL : 0x7.1847e8p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 127LL : 0x7.1847fp-4 : inexact-ok
+= rootn downward binary64 0x8p-152 127LL : 0x7.1847eb40c661p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 127LL : 0x7.1847eb40c6614p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 127LL : 0x7.1847eb40c661p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 127LL : 0x7.1847eb40c6614p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 127LL : 0x7.1847eb40c6613f8p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 127LL : 0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 127LL : 0x7.1847eb40c6613f8p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e49725738p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e497256p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e497258p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e497256p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 127LL : 0x7.1847eb40c6613f79342e497258p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 127LL : 0xb.a891c45150b38p-12 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 127LL : 0xb.a891c45150b4p-12 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 127LL : 0xb.a891c45150b38p-12 : inexact-ok
+= rootn upward binary64 0x4p-1076 127LL : 0xb.a891c45150b4p-12 : inexact-ok
+= rootn downward intel96 0x4p-1076 127LL : 0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 127LL : 0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 127LL : 0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn upward intel96 0x4p-1076 127LL : 0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn downward m68k96 0x4p-1076 127LL : 0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 127LL : 0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 127LL : 0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn upward m68k96 0x4p-1076 127LL : 0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn downward binary128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn upward binary128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d54444p-12 : inexact-ok
+= rootn downward ibm128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn upward ibm128 0x4p-1076 127LL : 0xb.a891c45150b3e77c88d20d5448p-12 : inexact-ok
+= rootn downward intel96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn upward intel96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn downward m68k96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn upward m68k96 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn downward binary128 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn upward binary128 0x8p-16448 127LL : 0x5.b40f1f4a19f7cdec5093b73e0258p-132 : inexact-ok
+= rootn downward m68k96 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf18p-132 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf2p-132 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf18p-132 : inexact-ok
+= rootn upward m68k96 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf2p-132 : inexact-ok
+= rootn downward binary128 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn upward binary128 0x4p-16448 127LL : 0x5.ac1cab7f8a9edf1c062f2e888568p-132 : inexact-ok
+= rootn downward binary128 0x4p-16496 127LL : 0x4.5d7127b909842956595da64bcf24p-132 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 127LL : 0x4.5d7127b909842956595da64bcf28p-132 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 127LL : 0x4.5d7127b909842956595da64bcf24p-132 : inexact-ok
+= rootn upward binary128 0x4p-16496 127LL : 0x4.5d7127b909842956595da64bcf28p-132 : inexact-ok
+rootn min_subnorm 255
+= rootn downward binary32 0x8p-152 255LL : 0xa.abe51p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 255LL : 0xa.abe52p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 255LL : 0xa.abe51p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 255LL : 0xa.abe52p-4 : inexact-ok
+= rootn downward binary64 0x8p-152 255LL : 0xa.abe51920a21d8p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 255LL : 0xa.abe51920a21ep-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 255LL : 0xa.abe51920a21d8p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 255LL : 0xa.abe51920a21ep-4 : inexact-ok
+= rootn downward intel96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 255LL : 0xa.abe51920a21df63p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 255LL : 0xa.abe51920a21df62p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 255LL : 0xa.abe51920a21df63p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1e0e8p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1e0fp-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1e0e8p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1e0fp-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 255LL : 0xa.abe51920a21df62695ea33c1e4p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 255LL : 0xd.d0d0cc3bda9e8p-8 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 255LL : 0xd.d0d0cc3bda9fp-8 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 255LL : 0xd.d0d0cc3bda9e8p-8 : inexact-ok
+= rootn upward binary64 0x4p-1076 255LL : 0xd.d0d0cc3bda9fp-8 : inexact-ok
+= rootn downward intel96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn upward intel96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eeaap-8 : inexact-ok
+= rootn downward m68k96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn upward m68k96 0x4p-1076 255LL : 0xd.d0d0cc3bda9eeaap-8 : inexact-ok
+= rootn downward binary128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn upward binary128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f7168p-8 : inexact-ok
+= rootn downward ibm128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn upward ibm128 0x4p-1076 255LL : 0xd.d0d0cc3bda9eea978ba2613f74p-8 : inexact-ok
+= rootn downward intel96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn upward intel96 0x8p-16448 255LL : 0xb.640ef67cfa935a3p-68 : inexact-ok
+= rootn downward m68k96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 255LL : 0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn upward m68k96 0x8p-16448 255LL : 0xb.640ef67cfa935a3p-68 : inexact-ok
+= rootn downward binary128 0x8p-16448 255LL : 0xb.640ef67cfa935a2664b44179f41p-68 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 255LL : 0xb.640ef67cfa935a2664b44179f418p-68 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 255LL : 0xb.640ef67cfa935a2664b44179f41p-68 : inexact-ok
+= rootn upward binary128 0x8p-16448 255LL : 0xb.640ef67cfa935a2664b44179f418p-68 : inexact-ok
+= rootn downward m68k96 0x4p-16448 255LL : 0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 255LL : 0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 255LL : 0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn upward m68k96 0x4p-16448 255LL : 0xb.5c2488b712283ddp-68 : inexact-ok
+= rootn downward binary128 0x4p-16448 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 255LL : 0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn upward binary128 0x4p-16448 255LL : 0xb.5c2488b712283dc0b0d2f069061p-68 : inexact-ok
+= rootn downward binary128 0x4p-16496 255LL : 0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 255LL : 0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 255LL : 0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+= rootn upward binary128 0x4p-16496 255LL : 0x9.f86a2ccffa7558fe1a5be8720bep-68 : inexact-ok
+rootn min_subnorm 511
+= rootn downward binary32 0x8p-152 511LL : 0xd.1272ap-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 511LL : 0xd.1272bp-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 511LL : 0xd.1272ap-4 : inexact-ok
+= rootn upward binary32 0x8p-152 511LL : 0xd.1272bp-4 : inexact-ok
+= rootn downward binary64 0x8p-152 511LL : 0xd.1272aed603948p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 511LL : 0xd.1272aed60395p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 511LL : 0xd.1272aed603948p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 511LL : 0xd.1272aed60395p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 511LL : 0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 511LL : 0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 511LL : 0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 511LL : 0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 511LL : 0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 511LL : 0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 511LL : 0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 511LL : 0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574cp-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574c8p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574cp-4 : inexact-ok
+= rootn upward binary128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574c8p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 511LL : 0xd.1272aed60394fe3d1ad7b58578p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 511LL : 0x3.ba4296332e25p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 511LL : 0x3.ba4296332e252p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 511LL : 0x3.ba4296332e25p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 511LL : 0x3.ba4296332e252p-4 : inexact-ok
+= rootn downward intel96 0x4p-1076 511LL : 0x3.ba4296332e251478p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 511LL : 0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 511LL : 0x3.ba4296332e251478p-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 511LL : 0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 511LL : 0x3.ba4296332e251478p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 511LL : 0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 511LL : 0x3.ba4296332e251478p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 511LL : 0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7b1ep-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7b2p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7b1ep-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7b2p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 511LL : 0x3.ba4296332e25147b287e7dbc7cp-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 511LL : 0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 511LL : 0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 511LL : 0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn upward intel96 0x8p-16448 511LL : 0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn downward m68k96 0x8p-16448 511LL : 0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 511LL : 0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 511LL : 0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn upward m68k96 0x8p-16448 511LL : 0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn downward binary128 0x8p-16448 511LL : 0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 511LL : 0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 511LL : 0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn upward binary128 0x8p-16448 511LL : 0xe.1a8d721296336b587a9a2c415808p-36 : inexact-ok
+= rootn downward m68k96 0x4p-16448 511LL : 0xe.15a8864e2c49c72p-36 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 511LL : 0xe.15a8864e2c49c73p-36 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 511LL : 0xe.15a8864e2c49c72p-36 : inexact-ok
+= rootn upward m68k96 0x4p-16448 511LL : 0xe.15a8864e2c49c73p-36 : inexact-ok
+= rootn downward binary128 0x4p-16448 511LL : 0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 511LL : 0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 511LL : 0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn upward binary128 0x4p-16448 511LL : 0xe.15a8864e2c49c72e840285ec1dd8p-36 : inexact-ok
+= rootn downward binary128 0x4p-16496 511LL : 0xd.325fd865566584676de4286b5f38p-36 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 511LL : 0xd.325fd865566584676de4286b5f4p-36 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 511LL : 0xd.325fd865566584676de4286b5f38p-36 : inexact-ok
+= rootn upward binary128 0x4p-16496 511LL : 0xd.325fd865566584676de4286b5f4p-36 : inexact-ok
+rootn min_subnorm 1023
+= rootn downward binary32 0x8p-152 1023LL : 0xe.76ab5p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 1023LL : 0xe.76ab5p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 1023LL : 0xe.76ab5p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 1023LL : 0xe.76ab6p-4 : inexact-ok
+= rootn downward binary64 0x8p-152 1023LL : 0xe.76ab512fd752p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 1023LL : 0xe.76ab512fd752p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 1023LL : 0xe.76ab512fd752p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 1023LL : 0xe.76ab512fd7528p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 1023LL : 0xe.76ab512fd752354p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 1023LL : 0xe.76ab512fd752355p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 1023LL : 0xe.76ab512fd752354p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 1023LL : 0xe.76ab512fd752355p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 1023LL : 0xe.76ab512fd752354p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 1023LL : 0xe.76ab512fd752355p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 1023LL : 0xe.76ab512fd752354p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 1023LL : 0xe.76ab512fd752355p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb3f8p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb3f8p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335ebp-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335ebp-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 1023LL : 0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 1023LL : 0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 1023LL : 0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 1023LL : 0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 1023LL : 0x7.ba704c9cca3b8p-4 : inexact-ok
+= rootn downward intel96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5b6p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5b64p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5b6p-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5b64p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5ap-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5cp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5ap-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 1023LL : 0x7.ba704c9cca3b5ed58058036a5cp-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn upward intel96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn downward m68k96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn upward m68k96 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn downward binary128 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn upward binary128 0x8p-16448 1023LL : 0xf.2fc7e5cbaa4bfdd8801e6fc74fdp-20 : inexact-ok
+= rootn downward m68k96 0x4p-16448 1023LL : 0xf.2d25c43370e42d1p-20 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 1023LL : 0xf.2d25c43370e42d2p-20 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 1023LL : 0xf.2d25c43370e42d1p-20 : inexact-ok
+= rootn upward m68k96 0x4p-16448 1023LL : 0xf.2d25c43370e42d2p-20 : inexact-ok
+= rootn downward binary128 0x4p-16448 1023LL : 0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 1023LL : 0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 1023LL : 0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn upward binary128 0x4p-16448 1023LL : 0xf.2d25c43370e42d1c0d70f7dab798p-20 : inexact-ok
+= rootn downward binary128 0x4p-16496 1023LL : 0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 1023LL : 0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 1023LL : 0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+= rootn upward binary128 0x4p-16496 1023LL : 0xe.b0d2c9f4744156948c94513459ap-20 : inexact-ok
+rootn min_subnorm 16383
+= rootn downward binary32 0x8p-152 16383LL : 0xf.e6428p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 16383LL : 0xf.e6429p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 16383LL : 0xf.e6428p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 16383LL : 0xf.e6429p-4 : inexact-ok
+= rootn downward binary64 0x8p-152 16383LL : 0xf.e6428974cca18p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 16383LL : 0xf.e6428974cca2p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 16383LL : 0xf.e6428974cca18p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 16383LL : 0xf.e6428974cca2p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 16383LL : 0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 16383LL : 0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 16383LL : 0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn upward intel96 0x8p-152 16383LL : 0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 16383LL : 0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 16383LL : 0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 16383LL : 0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 16383LL : 0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16af7p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16acp-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16bp-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16acp-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 16383LL : 0xf.e6428974cca1d0f910259f16bp-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 16383LL : 0xf.4a0b406708518p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 16383LL : 0xf.4a0b406708518p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 16383LL : 0xf.4a0b406708518p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 16383LL : 0xf.4a0b40670852p-4 : inexact-ok
+= rootn downward intel96 0x4p-1076 16383LL : 0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 16383LL : 0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 16383LL : 0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 16383LL : 0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 16383LL : 0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 16383LL : 0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 16383LL : 0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 16383LL : 0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4ep-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 16383LL : 0xf.4a0b40670851a94edb8d8d7ce8p-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn upward intel96 0x8p-16448 16383LL : 0x7.faa283a75bac8b98p-4 : inexact-ok
+= rootn downward m68k96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 16383LL : 0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn upward m68k96 0x8p-16448 16383LL : 0x7.faa283a75bac8b98p-4 : inexact-ok
+= rootn downward binary128 0x8p-16448 16383LL : 0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 16383LL : 0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 16383LL : 0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn upward binary128 0x8p-16448 16383LL : 0x7.faa283a75bac8b93dbf27246eecp-4 : inexact-ok
+= rootn downward m68k96 0x4p-16448 16383LL : 0x7.fa8c640aa629aa7p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 16383LL : 0x7.fa8c640aa629aa78p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 16383LL : 0x7.fa8c640aa629aa7p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16448 16383LL : 0x7.fa8c640aa629aa78p-4 : inexact-ok
+= rootn downward binary128 0x4p-16448 16383LL : 0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 16383LL : 0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 16383LL : 0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn upward binary128 0x4p-16448 16383LL : 0x7.fa8c640aa629aa75cec7cbb1ff3p-4 : inexact-ok
+= rootn downward binary128 0x4p-16496 16383LL : 0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 16383LL : 0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 16383LL : 0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+= rootn upward binary128 0x4p-16496 16383LL : 0x7.f6679042bf419508ce0dd9368288p-4 : inexact-ok
+rootn min_subnorm 0x1000001
+= rootn downward binary32 0x8p-152 16777217LL : 0xf.fff98p-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 16777217LL : 0xf.fff99p-4 : inexact-ok
+= rootn towardzero binary32 0x8p-152 16777217LL : 0xf.fff98p-4 : inexact-ok
+= rootn upward binary32 0x8p-152 16777217LL : 0xf.fff99p-4 : inexact-ok
+= rootn downward binary64 0x8p-152 16777217LL : 0xf.fff98b8ad4948p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 16777217LL : 0xf.fff98b8ad495p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 16777217LL : 0xf.fff98b8ad4948p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 16777217LL : 0xf.fff98b8ad495p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn upward intel96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1cp-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 16777217LL : 0xf.fff98b8ad494c1cp-4 : inexact-ok
+= rootn downward binary128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn upward binary128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef485d8p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 16777217LL : 0xf.fff98b8ad494c1b325121ef488p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 16777217LL : 0xf.ffd179394be2p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 16777217LL : 0xf.ffd179394be2p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 16777217LL : 0xf.ffd179394be2p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 16777217LL : 0xf.ffd179394be28p-4 : inexact-ok
+= rootn downward intel96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 16777217LL : 0xf.ffd179394be236fp-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 16777217LL : 0xf.ffd179394be236ep-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 16777217LL : 0xf.ffd179394be236fp-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca04305926p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca043059268p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca04305926p-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca043059268p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca043059p-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca0430594p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca043059p-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 16777217LL : 0xf.ffd179394be236e1aca0430594p-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn upward intel96 0x8p-16448 16777217LL : 0xf.fd37d11144bf64p-4 : inexact-ok
+= rootn downward m68k96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 16777217LL : 0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn upward m68k96 0x8p-16448 16777217LL : 0xf.fd37d11144bf64p-4 : inexact-ok
+= rootn downward binary128 0x8p-16448 16777217LL : 0xf.fd37d11144bf63f1314474d33db8p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 16777217LL : 0xf.fd37d11144bf63f1314474d33dcp-4 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 16777217LL : 0xf.fd37d11144bf63f1314474d33db8p-4 : inexact-ok
+= rootn upward binary128 0x8p-16448 16777217LL : 0xf.fd37d11144bf63f1314474d33dcp-4 : inexact-ok
+= rootn downward m68k96 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adfp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4aep-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adfp-4 : inexact-ok
+= rootn upward m68k96 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4aep-4 : inexact-ok
+= rootn downward binary128 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adf81537c41a05c8p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adf81537c41a05dp-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adf81537c41a05c8p-4 : inexact-ok
+= rootn upward binary128 0x4p-16448 16777217LL : 0xf.fd37c5fc10f4adf81537c41a05dp-4 : inexact-ok
+= rootn downward binary128 0x4p-16496 16777217LL : 0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 16777217LL : 0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 16777217LL : 0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+= rootn upward binary128 0x4p-16496 16777217LL : 0xf.fd35b2027e3c9dbf58f0e8a84358p-4 : inexact-ok
+rootn min_subnorm 0x10000000000001
+= rootn downward binary32 0x8p-152 4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0x8p-152 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 4503599627370497LL : 0xf.ffffffffff988p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 4503599627370497LL : 0xf.ffffffffff988p-4 : inexact-ok
+= rootn towardzero binary64 0x8p-152 4503599627370497LL : 0xf.ffffffffff988p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 4503599627370497LL : 0xf.ffffffffff99p-4 : inexact-ok
+= rootn downward intel96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn downward binary128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f7cp-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f7c8p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f7cp-4 : inexact-ok
+= rootn upward binary128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f7c8p-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f4p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f8p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f4p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 4503599627370497LL : 0xf.ffffffffff98b8980cc2e391f8p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 4503599627370497LL : 0xf.fffffffffd18p-4 : inexact-ok
+= rootn downward intel96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f6p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f6p-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688c78p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688c8p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688c78p-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688c8p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 4503599627370497LL : 0xf.fffffffffd178f5772520b689p-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn upward intel96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931ep-4 : inexact-ok
+= rootn downward m68k96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn upward m68k96 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931ep-4 : inexact-ok
+= rootn downward binary128 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931d255bd1adc5df8p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931d255bd1adc5ep-4 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931d255bd1adc5df8p-4 : inexact-ok
+= rootn upward binary128 0x8p-16448 4503599627370497LL : 0xf.ffffffffd37931d255bd1adc5ep-4 : inexact-ok
+= rootn downward m68k96 0x4p-16448 4503599627370497LL : 0xf.ffffffffd378806p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 4503599627370497LL : 0xf.ffffffffd378806p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 4503599627370497LL : 0xf.ffffffffd378806p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16448 4503599627370497LL : 0xf.ffffffffd378807p-4 : inexact-ok
+= rootn downward binary128 0x4p-16448 4503599627370497LL : 0xf.ffffffffd37880603dc54afac408p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 4503599627370497LL : 0xf.ffffffffd37880603dc54afac41p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 4503599627370497LL : 0xf.ffffffffd37880603dc54afac408p-4 : inexact-ok
+= rootn upward binary128 0x4p-16448 4503599627370497LL : 0xf.ffffffffd37880603dc54afac41p-4 : inexact-ok
+= rootn downward binary128 0x4p-16496 4503599627370497LL : 0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 4503599627370497LL : 0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 4503599627370497LL : 0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+= rootn upward binary128 0x4p-16496 4503599627370497LL : 0xf.ffffffffd3573afbbf4e50d13728p-4 : inexact-ok
+rootn min_subnorm 0x7fffffffffffffff
+= rootn downward binary32 0x8p-152 9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0x8p-152 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0x8p-152 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0x8p-152 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0x8p-152 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn upward intel96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff32p-4 : inexact-ok
+= rootn downward m68k96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff31p-4 : inexact-ok
+= rootn upward m68k96 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff32p-4 : inexact-ok
+= rootn downward binary128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn upward binary128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c47dp-4 : inexact-ok
+= rootn downward ibm128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c44p-4 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c48p-4 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c44p-4 : inexact-ok
+= rootn upward ibm128 0x8p-152 9223372036854775807LL : 0xf.fffffffffffff3171301985c48p-4 : inexact-ok
+= rootn downward binary64 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0x4p-1076 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn upward intel96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa3p-4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa3p-4 : inexact-ok
+= rootn downward binary128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f378p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f38p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f378p-4 : inexact-ok
+= rootn upward binary128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f38p-4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38fp-4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f4p-4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38fp-4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 9223372036854775807LL : 0xf.ffffffffffffa2f1eaee4a38f4p-4 : inexact-ok
+= rootn downward intel96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn upward intel96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f3p-4 : inexact-ok
+= rootn downward m68k96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn upward m68k96 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f3p-4 : inexact-ok
+= rootn downward binary128 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn upward binary128 0x8p-16448 9223372036854775807LL : 0xf.fffffffffffa6f263a4aafe55c7p-4 : inexact-ok
+= rootn downward m68k96 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn upward m68k96 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn downward binary128 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn upward binary128 0x4p-16448 9223372036854775807LL : 0xf.fffffffffffa6f100c07b0eb2288p-4 : inexact-ok
+= rootn downward binary128 0x4p-16496 9223372036854775807LL : 0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 9223372036854775807LL : 0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 9223372036854775807LL : 0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+= rootn upward binary128 0x4p-16496 9223372036854775807LL : 0xf.fffffffffffa6ae75f77e200472p-4 : inexact-ok
+rootn -min_subnorm 1
+= rootn downward binary32 -0x8p-152 1LL : -0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary32 -0x8p-152 1LL : -0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary32 -0x8p-152 1LL : -0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary32 -0x8p-152 1LL : -0x8p-152 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary64 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn upward binary64 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn downward intel96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn upward intel96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn downward m68k96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn upward m68k96 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn downward binary128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn upward binary128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn downward ibm128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn upward ibm128 -0x8p-152 1LL : -0x8p-152 : inexact-ok
+= rootn downward binary64 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary64 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary64 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary64 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn upward intel96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn downward binary128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn upward binary128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest ibm128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero ibm128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward ibm128 -0x4p-1076 1LL : -0x4p-1076 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward intel96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest intel96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero intel96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward intel96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 -0x8p-16448 1LL : -0x8p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward m68k96 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest m68k96 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero m68k96 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward m68k96 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 -0x4p-16448 1LL : -0x4p-16448 : inexact-ok underflow-ok errno-erange-ok
+= rootn downward binary128 -0x4p-16496 1LL : -0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn tonearest binary128 -0x4p-16496 1LL : -0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn towardzero binary128 -0x4p-16496 1LL : -0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+= rootn upward binary128 -0x4p-16496 1LL : -0x4p-16496 : inexact-ok underflow-ok errno-erange-ok
+rootn -min_subnorm 3
+= rootn downward binary32 -0x8p-152 3LL : -0x5.0a28cp-52 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 3LL : -0x5.0a28cp-52 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 3LL : -0x5.0a28b8p-52 : inexact-ok
+= rootn upward binary32 -0x8p-152 3LL : -0x5.0a28b8p-52 : inexact-ok
+= rootn downward binary64 -0x8p-152 3LL : -0x5.0a28be635ca2cp-52 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 3LL : -0x5.0a28be635ca2cp-52 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 3LL : -0x5.0a28be635ca28p-52 : inexact-ok
+= rootn upward binary64 -0x8p-152 3LL : -0x5.0a28be635ca28p-52 : inexact-ok
+= rootn downward intel96 -0x8p-152 3LL : -0x5.0a28be635ca2b89p-52 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn upward intel96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn downward m68k96 -0x8p-152 3LL : -0x5.0a28be635ca2b89p-52 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn upward m68k96 -0x8p-152 3LL : -0x5.0a28be635ca2b888p-52 : inexact-ok
+= rootn downward binary128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f898p-52 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn upward binary128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f894p-52 : inexact-ok
+= rootn downward ibm128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56fap-52 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn upward ibm128 -0x8p-152 3LL : -0x5.0a28be635ca2b888f76adc56f8p-52 : inexact-ok
+= rootn downward binary64 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn upward binary64 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn downward intel96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn upward intel96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn downward binary128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn upward binary128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 3LL : -0x4p-360 : inexact-ok
+= rootn downward intel96 -0x8p-16448 3LL : -0x5.0a28be635ca2b89p-5484 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn upward intel96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 3LL : -0x5.0a28be635ca2b89p-5484 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 3LL : -0x5.0a28be635ca2b888p-5484 : inexact-ok
+= rootn downward binary128 -0x8p-16448 3LL : -0x5.0a28be635ca2b888f76adc56f898p-5484 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 3LL : -0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 3LL : -0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn upward binary128 -0x8p-16448 3LL : -0x5.0a28be635ca2b888f76adc56f894p-5484 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn downward binary128 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn upward binary128 -0x4p-16448 3LL : -0x4p-5484 : inexact-ok
+= rootn downward binary128 -0x4p-16496 3LL : -0x4p-5500 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 3LL : -0x4p-5500 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 3LL : -0x4p-5500 : inexact-ok
+= rootn upward binary128 -0x4p-16496 3LL : -0x4p-5500 : inexact-ok
+rootn -min_subnorm 5
+= rootn downward binary32 -0x8p-152 5LL : -0x4.984468p-32 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 5LL : -0x4.98446p-32 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 5LL : -0x4.98446p-32 : inexact-ok
+= rootn upward binary32 -0x8p-152 5LL : -0x4.98446p-32 : inexact-ok
+= rootn downward binary64 -0x8p-152 5LL : -0x4.984461aeb99d4p-32 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 5LL : -0x4.984461aeb99d4p-32 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 5LL : -0x4.984461aeb99dp-32 : inexact-ok
+= rootn upward binary64 -0x8p-152 5LL : -0x4.984461aeb99dp-32 : inexact-ok
+= rootn downward intel96 -0x8p-152 5LL : -0x4.984461aeb99d25bp-32 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn upward intel96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn downward m68k96 -0x8p-152 5LL : -0x4.984461aeb99d25bp-32 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn upward m68k96 -0x8p-152 5LL : -0x4.984461aeb99d25a8p-32 : inexact-ok
+= rootn downward binary128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d8388p-32 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d8388p-32 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d8384p-32 : inexact-ok
+= rootn upward binary128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d8384p-32 : inexact-ok
+= rootn downward ibm128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d84p-32 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d84p-32 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d82p-32 : inexact-ok
+= rootn upward ibm128 -0x8p-152 5LL : -0x4.984461aeb99d25a94879081d82p-32 : inexact-ok
+= rootn downward binary64 -0x4p-1076 5LL : -0x2.4c2230d75cceap-216 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 5LL : -0x2.4c2230d75cceap-216 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 5LL : -0x2.4c2230d75cce8p-216 : inexact-ok
+= rootn upward binary64 -0x4p-1076 5LL : -0x2.4c2230d75cce8p-216 : inexact-ok
+= rootn downward intel96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d8p-216 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn upward intel96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d8p-216 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4p-216 : inexact-ok
+= rootn downward binary128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p-216 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p-216 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p-216 : inexact-ok
+= rootn upward binary128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p-216 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec2p-216 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec2p-216 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1p-216 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 5LL : -0x2.4c2230d75cce92d4a43c840ec1p-216 : inexact-ok
+= rootn downward intel96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn upward intel96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn downward binary128 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn upward binary128 -0x8p-16448 5LL : -0x8p-3292 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 5LL : -0x6.f6e336b6f8480858p-3292 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 5LL : -0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 5LL : -0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 5LL : -0x6.f6e336b6f848085p-3292 : inexact-ok
+= rootn downward binary128 -0x4p-16448 5LL : -0x6.f6e336b6f8480853d874c2c9fea8p-3292 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn upward binary128 -0x4p-16448 5LL : -0x6.f6e336b6f8480853d874c2c9fea4p-3292 : inexact-ok
+= rootn downward binary128 -0x4p-16496 5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p-3300 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p-3300 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p-3300 : inexact-ok
+= rootn upward binary128 -0x4p-16496 5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p-3300 : inexact-ok
+rootn -min_subnorm 63
+= rootn downward binary32 -0x8p-152 63LL : -0x3.1b0f78p-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 63LL : -0x3.1b0f74p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 63LL : -0x3.1b0f74p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 63LL : -0x3.1b0f74p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 63LL : -0x3.1b0f75aa79eeep-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 63LL : -0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 63LL : -0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 63LL : -0x3.1b0f75aa79eecp-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a8p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a4p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b8562ap-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b8562ap-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b85628p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b85628p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b857p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 63LL : -0x3.1b0f75aa79eec7a45abc01b856p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 63LL : -0x7.bd814d14ce8p-20 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 63LL : -0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 63LL : -0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn upward binary64 -0x4p-1076 63LL : -0x7.bd814d14ce7fcp-20 : inexact-ok
+= rootn downward intel96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf08p-20 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn upward intel96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf08p-20 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 63LL : -0x7.bd814d14ce7fcfp-20 : inexact-ok
+= rootn downward binary128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b5179p-20 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn upward binary128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-20 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b518p-20 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b518p-20 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b516p-20 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 63LL : -0x7.bd814d14ce7fcf0093ec45b516p-20 : inexact-ok
+= rootn downward intel96 -0x8p-16448 63LL : -0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 63LL : -0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 63LL : -0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn upward intel96 -0x8p-16448 63LL : -0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 63LL : -0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 63LL : -0x7.d36d3850be891cf8p-264 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 63LL : -0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 63LL : -0x7.d36d3850be891cfp-264 : inexact-ok
+= rootn downward binary128 -0x8p-16448 63LL : -0x7.d36d3850be891cf5fca6461e964p-264 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 63LL : -0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 63LL : -0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn upward binary128 -0x8p-16448 63LL : -0x7.d36d3850be891cf5fca6461e963cp-264 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 63LL : -0x7.bd814d14ce7fcf08p-264 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 63LL : -0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 63LL : -0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 63LL : -0x7.bd814d14ce7fcfp-264 : inexact-ok
+= rootn downward binary128 -0x4p-16448 63LL : -0x7.bd814d14ce7fcf0093ec45b5179p-264 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn upward binary128 -0x4p-16448 63LL : -0x7.bd814d14ce7fcf0093ec45b5178cp-264 : inexact-ok
+= rootn downward binary128 -0x4p-16496 63LL : -0x4.908715de494e34e7113a312fd05cp-264 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 63LL : -0x4.908715de494e34e7113a312fd05cp-264 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 63LL : -0x4.908715de494e34e7113a312fd058p-264 : inexact-ok
+= rootn upward binary128 -0x4p-16496 63LL : -0x4.908715de494e34e7113a312fd058p-264 : inexact-ok
+rootn -min_subnorm 127
+= rootn downward binary32 -0x8p-152 127LL : -0x7.1847fp-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 127LL : -0x7.1847e8p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 127LL : -0x7.1847e8p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 127LL : -0x7.1847e8p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 127LL : -0x7.1847eb40c6614p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 127LL : -0x7.1847eb40c6614p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 127LL : -0x7.1847eb40c661p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 127LL : -0x7.1847eb40c661p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 127LL : -0x7.1847eb40c6613f8p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 127LL : -0x7.1847eb40c6613f8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 127LL : -0x7.1847eb40c6613f78p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e49725738p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e49725734p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e497258p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e497258p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e497256p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 127LL : -0x7.1847eb40c6613f79342e497256p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 127LL : -0xb.a891c45150b4p-12 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 127LL : -0xb.a891c45150b4p-12 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 127LL : -0xb.a891c45150b38p-12 : inexact-ok
+= rootn upward binary64 -0x4p-1076 127LL : -0xb.a891c45150b38p-12 : inexact-ok
+= rootn downward intel96 -0x4p-1076 127LL : -0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 127LL : -0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 127LL : -0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn upward intel96 -0x4p-1076 127LL : -0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 127LL : -0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 127LL : -0xb.a891c45150b3e78p-12 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 127LL : -0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 127LL : -0xb.a891c45150b3e77p-12 : inexact-ok
+= rootn downward binary128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d54444p-12 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn upward binary128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d544438p-12 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d5448p-12 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 127LL : -0xb.a891c45150b3e77c88d20d5444p-12 : inexact-ok
+= rootn downward intel96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn upward intel96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdfp-132 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cde8p-132 : inexact-ok
+= rootn downward binary128 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdec5093b73e0258p-132 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn upward binary128 -0x8p-16448 127LL : -0x5.b40f1f4a19f7cdec5093b73e0254p-132 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf2p-132 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf2p-132 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf18p-132 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf18p-132 : inexact-ok
+= rootn downward binary128 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf1c062f2e888568p-132 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn upward binary128 -0x4p-16448 127LL : -0x5.ac1cab7f8a9edf1c062f2e888564p-132 : inexact-ok
+= rootn downward binary128 -0x4p-16496 127LL : -0x4.5d7127b909842956595da64bcf28p-132 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 127LL : -0x4.5d7127b909842956595da64bcf28p-132 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 127LL : -0x4.5d7127b909842956595da64bcf24p-132 : inexact-ok
+= rootn upward binary128 -0x4p-16496 127LL : -0x4.5d7127b909842956595da64bcf24p-132 : inexact-ok
+rootn -min_subnorm 255
+= rootn downward binary32 -0x8p-152 255LL : -0xa.abe52p-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 255LL : -0xa.abe52p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 255LL : -0xa.abe51p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 255LL : -0xa.abe51p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 255LL : -0xa.abe51920a21ep-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 255LL : -0xa.abe51920a21ep-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 255LL : -0xa.abe51920a21d8p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 255LL : -0xa.abe51920a21d8p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 255LL : -0xa.abe51920a21df63p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 255LL : -0xa.abe51920a21df63p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 255LL : -0xa.abe51920a21df62p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1e0fp-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1e0fp-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1e0e8p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1e0e8p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1e4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 255LL : -0xa.abe51920a21df62695ea33c1ep-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 255LL : -0xd.d0d0cc3bda9fp-8 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 255LL : -0xd.d0d0cc3bda9fp-8 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 255LL : -0xd.d0d0cc3bda9e8p-8 : inexact-ok
+= rootn upward binary64 -0x4p-1076 255LL : -0xd.d0d0cc3bda9e8p-8 : inexact-ok
+= rootn downward intel96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eeaap-8 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn upward intel96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eeaap-8 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea9p-8 : inexact-ok
+= rootn downward binary128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f7168p-8 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn upward binary128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f716p-8 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f74p-8 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 255LL : -0xd.d0d0cc3bda9eea978ba2613f7p-8 : inexact-ok
+= rootn downward intel96 -0x8p-16448 255LL : -0xb.640ef67cfa935a3p-68 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn upward intel96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 255LL : -0xb.640ef67cfa935a3p-68 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 255LL : -0xb.640ef67cfa935a2p-68 : inexact-ok
+= rootn downward binary128 -0x8p-16448 255LL : -0xb.640ef67cfa935a2664b44179f418p-68 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 255LL : -0xb.640ef67cfa935a2664b44179f418p-68 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 255LL : -0xb.640ef67cfa935a2664b44179f41p-68 : inexact-ok
+= rootn upward binary128 -0x8p-16448 255LL : -0xb.640ef67cfa935a2664b44179f41p-68 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 255LL : -0xb.5c2488b712283ddp-68 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 255LL : -0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 255LL : -0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 255LL : -0xb.5c2488b712283dcp-68 : inexact-ok
+= rootn downward binary128 -0x4p-16448 255LL : -0xb.5c2488b712283dc0b0d2f069061p-68 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn upward binary128 -0x4p-16448 255LL : -0xb.5c2488b712283dc0b0d2f0690608p-68 : inexact-ok
+= rootn downward binary128 -0x4p-16496 255LL : -0x9.f86a2ccffa7558fe1a5be8720bep-68 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 255LL : -0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 255LL : -0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+= rootn upward binary128 -0x4p-16496 255LL : -0x9.f86a2ccffa7558fe1a5be8720bd8p-68 : inexact-ok
+rootn -min_subnorm 511
+= rootn downward binary32 -0x8p-152 511LL : -0xd.1272bp-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 511LL : -0xd.1272bp-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 511LL : -0xd.1272ap-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 511LL : -0xd.1272ap-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 511LL : -0xd.1272aed60395p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 511LL : -0xd.1272aed60395p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 511LL : -0xd.1272aed603948p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 511LL : -0xd.1272aed603948p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 511LL : -0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 511LL : -0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 511LL : -0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 511LL : -0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 511LL : -0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 511LL : -0xd.1272aed60394fe4p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 511LL : -0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 511LL : -0xd.1272aed60394fe3p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574c8p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574cp-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574cp-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58578p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 511LL : -0xd.1272aed60394fe3d1ad7b58574p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 511LL : -0x3.ba4296332e252p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 511LL : -0x3.ba4296332e252p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 511LL : -0x3.ba4296332e25p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 511LL : -0x3.ba4296332e25p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 511LL : -0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 511LL : -0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 511LL : -0x3.ba4296332e251478p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 511LL : -0x3.ba4296332e251478p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 511LL : -0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 511LL : -0x3.ba4296332e25147cp-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 511LL : -0x3.ba4296332e251478p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 511LL : -0x3.ba4296332e251478p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7b2p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7b2p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7b1ep-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7b1ep-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 511LL : -0x3.ba4296332e25147b287e7dbc7bp-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 511LL : -0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 511LL : -0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 511LL : -0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn upward intel96 -0x8p-16448 511LL : -0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 511LL : -0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 511LL : -0xe.1a8d721296336b6p-36 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 511LL : -0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 511LL : -0xe.1a8d721296336b5p-36 : inexact-ok
+= rootn downward binary128 -0x8p-16448 511LL : -0xe.1a8d721296336b587a9a2c415808p-36 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 511LL : -0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 511LL : -0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn upward binary128 -0x8p-16448 511LL : -0xe.1a8d721296336b587a9a2c4158p-36 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 511LL : -0xe.15a8864e2c49c73p-36 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 511LL : -0xe.15a8864e2c49c73p-36 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 511LL : -0xe.15a8864e2c49c72p-36 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 511LL : -0xe.15a8864e2c49c72p-36 : inexact-ok
+= rootn downward binary128 -0x4p-16448 511LL : -0xe.15a8864e2c49c72e840285ec1dd8p-36 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 511LL : -0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 511LL : -0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn upward binary128 -0x4p-16448 511LL : -0xe.15a8864e2c49c72e840285ec1ddp-36 : inexact-ok
+= rootn downward binary128 -0x4p-16496 511LL : -0xd.325fd865566584676de4286b5f4p-36 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 511LL : -0xd.325fd865566584676de4286b5f4p-36 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 511LL : -0xd.325fd865566584676de4286b5f38p-36 : inexact-ok
+= rootn upward binary128 -0x4p-16496 511LL : -0xd.325fd865566584676de4286b5f38p-36 : inexact-ok
+rootn -min_subnorm 1023
+= rootn downward binary32 -0x8p-152 1023LL : -0xe.76ab6p-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 1023LL : -0xe.76ab5p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 1023LL : -0xe.76ab5p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 1023LL : -0xe.76ab5p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 1023LL : -0xe.76ab512fd7528p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 1023LL : -0xe.76ab512fd752p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 1023LL : -0xe.76ab512fd752p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 1023LL : -0xe.76ab512fd752p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 1023LL : -0xe.76ab512fd752355p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 1023LL : -0xe.76ab512fd752355p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 1023LL : -0xe.76ab512fd752354p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 1023LL : -0xe.76ab512fd752354p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 1023LL : -0xe.76ab512fd752355p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 1023LL : -0xe.76ab512fd752355p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 1023LL : -0xe.76ab512fd752354p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 1023LL : -0xe.76ab512fd752354p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb3f8p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb3f8p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335eb4p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335ebp-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 1023LL : -0xe.76ab512fd752354b743a335ebp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 1023LL : -0x7.ba704c9cca3b8p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 1023LL : -0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 1023LL : -0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 1023LL : -0x7.ba704c9cca3b4p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed8p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5edp-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5b64p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5b64p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5b6p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5b6p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5cp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5ap-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 1023LL : -0x7.ba704c9cca3b5ed58058036a5ap-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn upward intel96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdep-20 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfddp-20 : inexact-ok
+= rootn downward binary128 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdd8801e6fc74fdp-20 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn upward binary128 -0x8p-16448 1023LL : -0xf.2fc7e5cbaa4bfdd8801e6fc74fc8p-20 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 1023LL : -0xf.2d25c43370e42d2p-20 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 1023LL : -0xf.2d25c43370e42d2p-20 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1p-20 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1p-20 : inexact-ok
+= rootn downward binary128 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1c0d70f7dab798p-20 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn upward binary128 -0x4p-16448 1023LL : -0xf.2d25c43370e42d1c0d70f7dab79p-20 : inexact-ok
+= rootn downward binary128 -0x4p-16496 1023LL : -0xe.b0d2c9f4744156948c94513459ap-20 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 1023LL : -0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 1023LL : -0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+= rootn upward binary128 -0x4p-16496 1023LL : -0xe.b0d2c9f4744156948c9451345998p-20 : inexact-ok
+rootn -min_subnorm 16383
+= rootn downward binary32 -0x8p-152 16383LL : -0xf.e6429p-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 16383LL : -0xf.e6429p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 16383LL : -0xf.e6428p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 16383LL : -0xf.e6428p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 16383LL : -0xf.e6428974cca2p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 16383LL : -0xf.e6428974cca2p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 16383LL : -0xf.e6428974cca18p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 16383LL : -0xf.e6428974cca18p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 16383LL : -0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 16383LL : -0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 16383LL : -0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 16383LL : -0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 16383LL : -0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 16383LL : -0xf.e6428974cca1d1p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 16383LL : -0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 16383LL : -0xf.e6428974cca1d0fp-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16af7p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16af68p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16bp-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16bp-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16acp-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 16383LL : -0xf.e6428974cca1d0f910259f16acp-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 16383LL : -0xf.4a0b40670852p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 16383LL : -0xf.4a0b406708518p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 16383LL : -0xf.4a0b406708518p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 16383LL : -0xf.4a0b406708518p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 16383LL : -0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 16383LL : -0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 16383LL : -0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 16383LL : -0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 16383LL : -0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 16383LL : -0xf.4a0b40670851a95p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 16383LL : -0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 16383LL : -0xf.4a0b40670851a94p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4ep-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4d8p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce8p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 16383LL : -0xf.4a0b40670851a94edb8d8d7ce4p-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b98p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn upward intel96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b98p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 16383LL : -0x7.faa283a75bac8b9p-4 : inexact-ok
+= rootn downward binary128 -0x8p-16448 16383LL : -0x7.faa283a75bac8b93dbf27246eecp-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 16383LL : -0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 16383LL : -0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn upward binary128 -0x8p-16448 16383LL : -0x7.faa283a75bac8b93dbf27246eebcp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa78p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa78p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa7p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa7p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa75cec7cbb1ff3p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn upward binary128 -0x4p-16448 16383LL : -0x7.fa8c640aa629aa75cec7cbb1ff2cp-4 : inexact-ok
+= rootn downward binary128 -0x4p-16496 16383LL : -0x7.f6679042bf419508ce0dd9368288p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 16383LL : -0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 16383LL : -0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16496 16383LL : -0x7.f6679042bf419508ce0dd9368284p-4 : inexact-ok
+rootn -min_subnorm 0x1000001
+= rootn downward binary32 -0x8p-152 16777217LL : -0xf.fff99p-4 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 16777217LL : -0xf.fff99p-4 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 16777217LL : -0xf.fff98p-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 16777217LL : -0xf.fff98p-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 16777217LL : -0xf.fff98b8ad495p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 16777217LL : -0xf.fff98b8ad495p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 16777217LL : -0xf.fff98b8ad4948p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 16777217LL : -0xf.fff98b8ad4948p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1cp-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1cp-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1bp-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef485d8p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef485dp-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef488p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 16777217LL : -0xf.fff98b8ad494c1b325121ef484p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 16777217LL : -0xf.ffd179394be28p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 16777217LL : -0xf.ffd179394be2p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 16777217LL : -0xf.ffd179394be2p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 16777217LL : -0xf.ffd179394be2p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 16777217LL : -0xf.ffd179394be236fp-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 16777217LL : -0xf.ffd179394be236fp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 16777217LL : -0xf.ffd179394be236ep-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca043059268p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca043059268p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca04305926p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca04305926p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca0430594p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca0430594p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca043059p-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 16777217LL : -0xf.ffd179394be236e1aca043059p-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf64p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn upward intel96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf64p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63fp-4 : inexact-ok
+= rootn downward binary128 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63f1314474d33dcp-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63f1314474d33dcp-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63f1314474d33db8p-4 : inexact-ok
+= rootn upward binary128 -0x8p-16448 16777217LL : -0xf.fd37d11144bf63f1314474d33db8p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4aep-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4aep-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adfp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adfp-4 : inexact-ok
+= rootn downward binary128 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adf81537c41a05dp-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adf81537c41a05dp-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adf81537c41a05c8p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16448 16777217LL : -0xf.fd37c5fc10f4adf81537c41a05c8p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16496 16777217LL : -0xf.fd35b2027e3c9dbf58f0e8a84358p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 16777217LL : -0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 16777217LL : -0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16496 16777217LL : -0xf.fd35b2027e3c9dbf58f0e8a8435p-4 : inexact-ok
+rootn -min_subnorm 0x10000000000001
+= rootn downward binary32 -0x8p-152 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 4503599627370497LL : -0xf.ffffffffff99p-4 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 4503599627370497LL : -0xf.ffffffffff988p-4 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 4503599627370497LL : -0xf.ffffffffff988p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 4503599627370497LL : -0xf.ffffffffff988p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8ap-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b89p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f7c8p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f7c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f7cp-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f7cp-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f8p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f8p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f4p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 4503599627370497LL : -0xf.ffffffffff98b8980cc2e391f4p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd18p-4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f6p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f6p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5p-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688c8p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688c78p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688c78p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b689p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 4503599627370497LL : -0xf.fffffffffd178f5772520b688cp-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931ep-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn upward intel96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931ep-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931dp-4 : inexact-ok
+= rootn downward binary128 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931d255bd1adc5ep-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931d255bd1adc5ep-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931d255bd1adc5df8p-4 : inexact-ok
+= rootn upward binary128 -0x8p-16448 4503599627370497LL : -0xf.ffffffffd37931d255bd1adc5df8p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd378807p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd378806p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd378806p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd378806p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd37880603dc54afac41p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd37880603dc54afac41p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd37880603dc54afac408p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16448 4503599627370497LL : -0xf.ffffffffd37880603dc54afac408p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16496 4503599627370497LL : -0xf.ffffffffd3573afbbf4e50d13728p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 4503599627370497LL : -0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 4503599627370497LL : -0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16496 4503599627370497LL : -0xf.ffffffffd3573afbbf4e50d1372p-4 : inexact-ok
+rootn -min_subnorm 0x7fffffffffffffff
+= rootn downward binary32 -0x8p-152 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0x8p-152 9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0x8p-152 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0x8p-152 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff32p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn upward intel96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff32p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff31p-4 : inexact-ok
+= rootn downward binary128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c47dp-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn upward binary128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c47c8p-4 : inexact-ok
+= rootn downward ibm128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c48p-4 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c48p-4 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c44p-4 : inexact-ok
+= rootn upward ibm128 -0x8p-152 9223372036854775807LL : -0xf.fffffffffffff3171301985c44p-4 : inexact-ok
+= rootn downward binary64 -0x4p-1076 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa3p-4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa3p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2fp-4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f38p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f38p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f378p-4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f378p-4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f4p-4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38f4p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38fp-4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 9223372036854775807LL : -0xf.ffffffffffffa2f1eaee4a38fp-4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f3p-4 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn upward intel96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f3p-4 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn downward binary128 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f263a4aafe55c7p-4 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn upward binary128 -0x8p-16448 9223372036854775807LL : -0xf.fffffffffffa6f263a4aafe55c68p-4 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f2p-4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f1p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f100c07b0eb2288p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16448 9223372036854775807LL : -0xf.fffffffffffa6f100c07b0eb228p-4 : inexact-ok
+= rootn downward binary128 -0x4p-16496 9223372036854775807LL : -0xf.fffffffffffa6ae75f77e200472p-4 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 9223372036854775807LL : -0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 9223372036854775807LL : -0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+= rootn upward binary128 -0x4p-16496 9223372036854775807LL : -0xf.fffffffffffa6ae75f77e2004718p-4 : inexact-ok
+rootn min_subnorm -1
+= rootn downward binary32 0x8p-152 -1LL : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= rootn tonearest binary32 0x8p-152 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary32 0x8p-152 -1LL : 0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= rootn upward binary32 0x8p-152 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward binary64 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn upward binary64 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn downward intel96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn upward intel96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn downward m68k96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn upward m68k96 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn downward binary128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn upward binary128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn downward ibm128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn upward ibm128 0x8p-152 -1LL : 0x2p+148 : inexact-ok
+= rootn downward binary64 0x4p-1076 -1LL : 0xf.ffffffffffff8p+1020 : inexact-ok overflow errno-erange-ok
+= rootn tonearest binary64 0x4p-1076 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary64 0x4p-1076 -1LL : 0xf.ffffffffffff8p+1020 : inexact-ok overflow errno-erange-ok
+= rootn upward binary64 0x4p-1076 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward intel96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn upward intel96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn downward binary128 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn upward binary128 0x4p-1076 -1LL : 0x4p+1072 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok
+= rootn tonearest ibm128 0x4p-1076 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero ibm128 0x4p-1076 -1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok
+= rootn upward ibm128 0x4p-1076 -1LL : plus_infty : xfail:ibm128-libgcc inexact-ok overflow errno-erange
+= rootn downward intel96 0x8p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest intel96 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero intel96 0x8p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward intel96 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward m68k96 0x8p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest m68k96 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero m68k96 0x8p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward m68k96 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward binary128 0x8p-16448 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest binary128 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 0x8p-16448 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 0x8p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward m68k96 0x4p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest m68k96 0x4p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero m68k96 0x4p-16448 -1LL : 0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward m68k96 0x4p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward binary128 0x4p-16448 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest binary128 0x4p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 0x4p-16448 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 0x4p-16448 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn downward binary128 0x4p-16496 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn tonearest binary128 0x4p-16496 -1LL : plus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 0x4p-16496 -1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 0x4p-16496 -1LL : plus_infty : inexact-ok overflow errno-erange
+rootn min_subnorm -2
+= rootn downward binary32 0x8p-152 -2LL : 0x5.a82798p+72 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -2LL : 0x5.a82798p+72 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -2LL : 0x5.a82798p+72 : inexact-ok
+= rootn upward binary32 0x8p-152 -2LL : 0x5.a827ap+72 : inexact-ok
+= rootn downward binary64 0x8p-152 -2LL : 0x5.a827999fcef3p+72 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -2LL : 0x5.a827999fcef34p+72 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -2LL : 0x5.a827999fcef3p+72 : inexact-ok
+= rootn upward binary64 0x8p-152 -2LL : 0x5.a827999fcef34p+72 : inexact-ok
+= rootn downward intel96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn upward intel96 0x8p-152 -2LL : 0x5.a827999fcef32428p+72 : inexact-ok
+= rootn downward m68k96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -2LL : 0x5.a827999fcef3242p+72 : inexact-ok
+= rootn upward m68k96 0x8p-152 -2LL : 0x5.a827999fcef32428p+72 : inexact-ok
+= rootn downward binary128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+72 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+72 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+72 : inexact-ok
+= rootn upward binary128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baa58p+72 : inexact-ok
+= rootn downward ibm128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baap+72 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baap+72 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9baap+72 : inexact-ok
+= rootn upward ibm128 0x8p-152 -2LL : 0x5.a827999fcef32422cbec4d9bacp+72 : inexact-ok
+= rootn downward binary64 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn upward binary64 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn downward intel96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn upward intel96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn downward binary128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn upward binary128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -2LL : 0x2p+536 : inexact-ok
+= rootn downward intel96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn upward intel96 0x8p-16448 -2LL : 0x5.a827999fcef32428p+8220 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -2LL : 0x5.a827999fcef3242p+8220 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -2LL : 0x5.a827999fcef32428p+8220 : inexact-ok
+= rootn downward binary128 0x8p-16448 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+8220 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+8220 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -2LL : 0x5.a827999fcef32422cbec4d9baa54p+8220 : inexact-ok
+= rootn upward binary128 0x8p-16448 -2LL : 0x5.a827999fcef32422cbec4d9baa58p+8220 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn downward binary128 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn upward binary128 0x4p-16448 -2LL : 0x8p+8220 : inexact-ok
+= rootn downward binary128 0x4p-16496 -2LL : 0x8p+8244 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -2LL : 0x8p+8244 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -2LL : 0x8p+8244 : inexact-ok
+= rootn upward binary128 0x4p-16496 -2LL : 0x8p+8244 : inexact-ok
+rootn min_subnorm -3
+= rootn downward binary32 0x8p-152 -3LL : 0x3.2cbfd4p+48 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -3LL : 0x3.2cbfd4p+48 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -3LL : 0x3.2cbfd4p+48 : inexact-ok
+= rootn upward binary32 0x8p-152 -3LL : 0x3.2cbfd8p+48 : inexact-ok
+= rootn downward binary64 0x8p-152 -3LL : 0x3.2cbfd4a7adc78p+48 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -3LL : 0x3.2cbfd4a7adc7ap+48 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -3LL : 0x3.2cbfd4a7adc78p+48 : inexact-ok
+= rootn upward binary64 0x8p-152 -3LL : 0x3.2cbfd4a7adc7ap+48 : inexact-ok
+= rootn downward intel96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn upward intel96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn downward m68k96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn upward m68k96 0x8p-152 -3LL : 0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn downward binary128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687b88p+48 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687b8ap+48 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687b88p+48 : inexact-ok
+= rootn upward binary128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687b8ap+48 : inexact-ok
+= rootn downward ibm128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687bp+48 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687cp+48 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687bp+48 : inexact-ok
+= rootn upward ibm128 0x8p-152 -3LL : 0x3.2cbfd4a7adc790560b3335687cp+48 : inexact-ok
+= rootn downward binary64 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn upward binary64 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn downward intel96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn upward intel96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn downward binary128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn upward binary128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -3LL : 0x4p+356 : inexact-ok
+= rootn downward intel96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn upward intel96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -3LL : 0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn downward binary128 0x8p-16448 -3LL : 0x3.2cbfd4a7adc790560b3335687b88p+5480 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -3LL : 0x3.2cbfd4a7adc790560b3335687b8ap+5480 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -3LL : 0x3.2cbfd4a7adc790560b3335687b88p+5480 : inexact-ok
+= rootn upward binary128 0x8p-16448 -3LL : 0x3.2cbfd4a7adc790560b3335687b8ap+5480 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn downward binary128 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn upward binary128 0x4p-16448 -3LL : 0x4p+5480 : inexact-ok
+= rootn downward binary128 0x4p-16496 -3LL : 0x4p+5496 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -3LL : 0x4p+5496 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -3LL : 0x4p+5496 : inexact-ok
+= rootn upward binary128 0x4p-16496 -3LL : 0x4p+5496 : inexact-ok
+rootn min_subnorm -4
+= rootn downward binary32 0x8p-152 -4LL : 0x2.60dfcp+36 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -4LL : 0x2.60dfcp+36 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -4LL : 0x2.60dfcp+36 : inexact-ok
+= rootn upward binary32 0x8p-152 -4LL : 0x2.60dfc4p+36 : inexact-ok
+= rootn downward binary64 0x8p-152 -4LL : 0x2.60dfc14636e2ap+36 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -4LL : 0x2.60dfc14636e2ap+36 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -4LL : 0x2.60dfc14636e2ap+36 : inexact-ok
+= rootn upward binary64 0x8p-152 -4LL : 0x2.60dfc14636e2cp+36 : inexact-ok
+= rootn downward intel96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn upward intel96 0x8p-152 -4LL : 0x2.60dfc14636e2a5cp+36 : inexact-ok
+= rootn downward m68k96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -4LL : 0x2.60dfc14636e2a5bcp+36 : inexact-ok
+= rootn upward m68k96 0x8p-152 -4LL : 0x2.60dfc14636e2a5cp+36 : inexact-ok
+= rootn downward binary128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b90ap+36 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b90cp+36 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b90ap+36 : inexact-ok
+= rootn upward binary128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b90cp+36 : inexact-ok
+= rootn downward ibm128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b9p+36 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b9p+36 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60b9p+36 : inexact-ok
+= rootn upward ibm128 0x8p-152 -4LL : 0x2.60dfc14636e2a5bd1ab48c60bap+36 : inexact-ok
+= rootn downward binary64 0x4p-1076 -4LL : 0x1.6a09e667f3bccp+268 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -4LL : 0x1.6a09e667f3bcdp+268 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -4LL : 0x1.6a09e667f3bccp+268 : inexact-ok
+= rootn upward binary64 0x4p-1076 -4LL : 0x1.6a09e667f3bcdp+268 : inexact-ok
+= rootn downward intel96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn upward intel96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc90ap+268 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908p+268 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -4LL : 0x1.6a09e667f3bcc90ap+268 : inexact-ok
+= rootn downward binary128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+268 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+268 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea95p+268 : inexact-ok
+= rootn upward binary128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea96p+268 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+268 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+268 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ea8p+268 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -4LL : 0x1.6a09e667f3bcc908b2fb1366ebp+268 : inexact-ok
+= rootn downward intel96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn upward intel96 0x8p-16448 -4LL : 0x9.837f0518db8a97p+4108 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -4LL : 0x9.837f0518db8a96fp+4108 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -4LL : 0x9.837f0518db8a97p+4108 : inexact-ok
+= rootn downward binary128 0x8p-16448 -4LL : 0x9.837f0518db8a96f46ad23182e428p+4108 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -4LL : 0x9.837f0518db8a96f46ad23182e43p+4108 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -4LL : 0x9.837f0518db8a96f46ad23182e428p+4108 : inexact-ok
+= rootn upward binary128 0x8p-16448 -4LL : 0x9.837f0518db8a96f46ad23182e43p+4108 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -4LL : 0xb.504f333f9de6484p+4108 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -4LL : 0xb.504f333f9de6484p+4108 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -4LL : 0xb.504f333f9de6484p+4108 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -4LL : 0xb.504f333f9de6485p+4108 : inexact-ok
+= rootn downward binary128 0x4p-16448 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4108 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4108 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4108 : inexact-ok
+= rootn upward binary128 0x4p-16448 -4LL : 0xb.504f333f9de6484597d89b3754bp+4108 : inexact-ok
+= rootn downward binary128 0x4p-16496 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4120 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4120 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -4LL : 0xb.504f333f9de6484597d89b3754a8p+4120 : inexact-ok
+= rootn upward binary128 0x4p-16496 -4LL : 0xb.504f333f9de6484597d89b3754bp+4120 : inexact-ok
+rootn min_subnorm -5
+= rootn downward binary32 0x8p-152 -5LL : 0x3.7b7198p+28 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -5LL : 0x3.7b719cp+28 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -5LL : 0x3.7b7198p+28 : inexact-ok
+= rootn upward binary32 0x8p-152 -5LL : 0x3.7b719cp+28 : inexact-ok
+= rootn downward binary64 0x8p-152 -5LL : 0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -5LL : 0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -5LL : 0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn upward binary64 0x8p-152 -5LL : 0x3.7b719b5b7c242p+28 : inexact-ok
+= rootn downward intel96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn upward intel96 0x8p-152 -5LL : 0x3.7b719b5b7c24042cp+28 : inexact-ok
+= rootn downward m68k96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -5LL : 0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn upward m68k96 0x8p-152 -5LL : 0x3.7b719b5b7c24042cp+28 : inexact-ok
+= rootn downward binary128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn upward binary128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ff54p+28 : inexact-ok
+= rootn downward ibm128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn upward ibm128 0x8p-152 -5LL : 0x3.7b719b5b7c240429ec3a6165p+28 : inexact-ok
+= rootn downward binary64 0x4p-1076 -5LL : 0x6.f6e336b6f848p+212 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -5LL : 0x6.f6e336b6f848p+212 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -5LL : 0x6.f6e336b6f848p+212 : inexact-ok
+= rootn upward binary64 0x4p-1076 -5LL : 0x6.f6e336b6f8484p+212 : inexact-ok
+= rootn downward intel96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn upward intel96 0x4p-1076 -5LL : 0x6.f6e336b6f8480858p+212 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -5LL : 0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -5LL : 0x6.f6e336b6f8480858p+212 : inexact-ok
+= rootn downward binary128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn upward binary128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fea8p+212 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -5LL : 0x6.f6e336b6f8480853d874c2cap+212 : inexact-ok
+= rootn downward intel96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn upward intel96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn downward binary128 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn upward binary128 0x8p-16448 -5LL : 0x2p+3288 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -5LL : 0x2.4c2230d75cce92d8p+3288 : inexact-ok
+= rootn downward binary128 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p+3288 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p+3288 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c2p+3288 : inexact-ok
+= rootn upward binary128 0x4p-16448 -5LL : 0x2.4c2230d75cce92d4a43c840ec1c4p+3288 : inexact-ok
+= rootn downward binary128 0x4p-16496 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -5LL : 0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+= rootn upward binary128 0x4p-16496 -5LL : 0x6.f6e336b6f8480853d874c2c9fea8p+3296 : inexact-ok
+rootn min_subnorm -63
+= rootn downward binary32 0x8p-152 -63LL : 0x5.26ddp+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -63LL : 0x5.26ddp+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -63LL : 0x5.26ddp+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -63LL : 0x5.26dd08p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -63LL : 0x5.26dd03d17872p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -63LL : 0x5.26dd03d17872p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -63LL : 0x5.26dd03d17872p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -63LL : 0x5.26dd03d178724p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -63LL : 0x5.26dd03d1787203p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -63LL : 0x5.26dd03d178720308p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -63LL : 0x5.26dd03d1787203p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -63LL : 0x5.26dd03d178720308p+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -63LL : 0x5.26dd03d1787203p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -63LL : 0x5.26dd03d178720308p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -63LL : 0x5.26dd03d1787203p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -63LL : 0x5.26dd03d178720308p+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2e18p+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -63LL : 0x5.26dd03d178720304b788bfab3p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -63LL : 0x2.112e7c591538cp+16 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -63LL : 0x2.112e7c591538cp+16 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -63LL : 0x2.112e7c591538cp+16 : inexact-ok
+= rootn upward binary64 0x4p-1076 -63LL : 0x2.112e7c591538ep+16 : inexact-ok
+= rootn downward intel96 0x4p-1076 -63LL : 0x2.112e7c591538c194p+16 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -63LL : 0x2.112e7c591538c198p+16 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -63LL : 0x2.112e7c591538c194p+16 : inexact-ok
+= rootn upward intel96 0x4p-1076 -63LL : 0x2.112e7c591538c198p+16 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -63LL : 0x2.112e7c591538c194p+16 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -63LL : 0x2.112e7c591538c198p+16 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -63LL : 0x2.112e7c591538c194p+16 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -63LL : 0x2.112e7c591538c198p+16 : inexact-ok
+= rootn downward binary128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b18664p+16 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b18666p+16 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b18664p+16 : inexact-ok
+= rootn upward binary128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b18666p+16 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -63LL : 0x2.112e7c591538c1967e80a6b187p+16 : inexact-ok
+= rootn downward intel96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn upward intel96 0x8p-16448 -63LL : 0x2.0b6429d2247e1da4p+260 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -63LL : 0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -63LL : 0x2.0b6429d2247e1da4p+260 : inexact-ok
+= rootn downward binary128 0x8p-16448 -63LL : 0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -63LL : 0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -63LL : 0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn upward binary128 0x8p-16448 -63LL : 0x2.0b6429d2247e1da02a7b95057b7p+260 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -63LL : 0x2.112e7c591538c194p+260 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -63LL : 0x2.112e7c591538c198p+260 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -63LL : 0x2.112e7c591538c194p+260 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -63LL : 0x2.112e7c591538c198p+260 : inexact-ok
+= rootn downward binary128 0x4p-16448 -63LL : 0x2.112e7c591538c1967e80a6b18664p+260 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -63LL : 0x2.112e7c591538c1967e80a6b18666p+260 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -63LL : 0x2.112e7c591538c1967e80a6b18664p+260 : inexact-ok
+= rootn upward binary128 0x4p-16448 -63LL : 0x2.112e7c591538c1967e80a6b18666p+260 : inexact-ok
+= rootn downward binary128 0x4p-16496 -63LL : 0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -63LL : 0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -63LL : 0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+= rootn upward binary128 0x4p-16496 -63LL : 0x3.815917f84d57c8e7269b280406c8p+260 : inexact-ok
+rootn min_subnorm -127
+= rootn downward binary32 0x8p-152 -127LL : 0x2.415204p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -127LL : 0x2.415204p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -127LL : 0x2.415204p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -127LL : 0x2.415208p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -127LL : 0x2.41520478b997p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -127LL : 0x2.41520478b9972p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -127LL : 0x2.41520478b997p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -127LL : 0x2.41520478b9972p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -127LL : 0x2.41520478b99718c8p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -127LL : 0x2.41520478b99718ccp+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -127LL : 0x2.41520478b99718c8p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -127LL : 0x2.41520478b99718ccp+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -127LL : 0x2.41520478b99718c8p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -127LL : 0x2.41520478b99718ccp+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -127LL : 0x2.41520478b99718c8p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -127LL : 0x2.41520478b99718ccp+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246df4p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246df6p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246df4p+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246df6p+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246dp+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246ep+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246dp+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -127LL : 0x2.41520478b99718cac68a82246ep+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -127LL : 0x1.5f5519aefcdf3p+8 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -127LL : 0x1.5f5519aefcdf4p+8 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -127LL : 0x1.5f5519aefcdf3p+8 : inexact-ok
+= rootn upward binary64 0x4p-1076 -127LL : 0x1.5f5519aefcdf4p+8 : inexact-ok
+= rootn downward intel96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn upward intel96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3cp+8 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3cp+8 : inexact-ok
+= rootn downward binary128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a128p+8 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a129p+8 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a128p+8 : inexact-ok
+= rootn upward binary128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a129p+8 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -127LL : 0x1.5f5519aefcdf3e3ab8df3f96a18p+8 : inexact-ok
+= rootn downward intel96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn upward intel96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -127LL : 0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn downward binary128 0x8p-16448 -127LL : 0x2.ce2c7676d88bc6535b867b1d1f4ep+128 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -127LL : 0x2.ce2c7676d88bc6535b867b1d1f5p+128 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -127LL : 0x2.ce2c7676d88bc6535b867b1d1f4ep+128 : inexact-ok
+= rootn upward binary128 0x8p-16448 -127LL : 0x2.ce2c7676d88bc6535b867b1d1f5p+128 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -127LL : 0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -127LL : 0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -127LL : 0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -127LL : 0x2.d21aa542b59cee7cp+128 : inexact-ok
+= rootn downward binary128 0x4p-16448 -127LL : 0x2.d21aa542b59cee7834114d019038p+128 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -127LL : 0x2.d21aa542b59cee7834114d01903ap+128 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -127LL : 0x2.d21aa542b59cee7834114d019038p+128 : inexact-ok
+= rootn upward binary128 0x4p-16448 -127LL : 0x2.d21aa542b59cee7834114d01903ap+128 : inexact-ok
+= rootn downward binary128 0x4p-16496 -127LL : 0x3.aa5f2a07b8d898c56524b9945d6ap+128 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -127LL : 0x3.aa5f2a07b8d898c56524b9945d6cp+128 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -127LL : 0x3.aa5f2a07b8d898c56524b9945d6ap+128 : inexact-ok
+= rootn upward binary128 0x4p-16496 -127LL : 0x3.aa5f2a07b8d898c56524b9945d6cp+128 : inexact-ok
+rootn min_subnorm -255
+= rootn downward binary32 0x8p-152 -255LL : 0x1.7fd3ccp+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -255LL : 0x1.7fd3cep+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -255LL : 0x1.7fd3ccp+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -255LL : 0x1.7fd3cep+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -255LL : 0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -255LL : 0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -255LL : 0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -255LL : 0x1.7fd3cd8e3fd96p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd95182p+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -255LL : 0x1.7fd3cd8e3fd95182p+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a896793dp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a896793ep+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a896793dp+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a896793ep+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -255LL : 0x1.7fd3cd8e3fd9518058f0a896798p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -255LL : 0x1.28797f79cb756p+4 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -255LL : 0x1.28797f79cb757p+4 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -255LL : 0x1.28797f79cb756p+4 : inexact-ok
+= rootn upward binary64 0x4p-1076 -255LL : 0x1.28797f79cb757p+4 : inexact-ok
+= rootn downward intel96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn upward intel96 0x4p-1076 -255LL : 0x1.28797f79cb75696ep+4 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -255LL : 0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -255LL : 0x1.28797f79cb75696ep+4 : inexact-ok
+= rootn downward binary128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a76259p+4 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a7625ap+4 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a76259p+4 : inexact-ok
+= rootn upward binary128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a7625ap+4 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a762p+4 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a7628p+4 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a762p+4 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -255LL : 0x1.28797f79cb75696cbcc2b8a7628p+4 : inexact-ok
+= rootn downward intel96 0x8p-16448 -255LL : 0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -255LL : 0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -255LL : 0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn upward intel96 0x8p-16448 -255LL : 0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -255LL : 0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -255LL : 0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -255LL : 0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -255LL : 0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn downward binary128 0x8p-16448 -255LL : 0x1.679635b09054dfc3fa2268a72232p+64 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -255LL : 0x1.679635b09054dfc3fa2268a72233p+64 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -255LL : 0x1.679635b09054dfc3fa2268a72232p+64 : inexact-ok
+= rootn upward binary128 0x8p-16448 -255LL : 0x1.679635b09054dfc3fa2268a72233p+64 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d8p+64 : inexact-ok
+= rootn downward binary128 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn upward binary128 0x4p-16448 -255LL : 0x1.6890c62b6ee1c9d6c1792ff0f026p+64 : inexact-ok
+= rootn downward binary128 0x4p-16496 -255LL : 0x1.9ad1371e3daf0dc380d3dbba56c6p+64 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -255LL : 0x1.9ad1371e3daf0dc380d3dbba56c7p+64 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -255LL : 0x1.9ad1371e3daf0dc380d3dbba56c6p+64 : inexact-ok
+= rootn upward binary128 0x4p-16496 -255LL : 0x1.9ad1371e3daf0dc380d3dbba56c7p+64 : inexact-ok
+rootn min_subnorm -511
+= rootn downward binary32 0x8p-152 -511LL : 0x1.39570ap+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -511LL : 0x1.39570ap+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -511LL : 0x1.39570ap+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -511LL : 0x1.39570cp+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -511LL : 0x1.39570a0a97214p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -511LL : 0x1.39570a0a97214p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -511LL : 0x1.39570a0a97214p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -511LL : 0x1.39570a0a97215p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -511LL : 0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -511LL : 0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -511LL : 0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -511LL : 0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -511LL : 0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -511LL : 0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -511LL : 0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -511LL : 0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308fcap+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308fcbp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308fcap+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308fcbp+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308f8p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991309p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991308f8p+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -511LL : 0x1.39570a0a972142a3999991309p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -511LL : 0x4.4ad63052359ap+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -511LL : 0x4.4ad63052359a4p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -511LL : 0x4.4ad63052359ap+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -511LL : 0x4.4ad63052359a4p+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -511LL : 0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -511LL : 0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -511LL : 0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -511LL : 0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -511LL : 0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -511LL : 0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -511LL : 0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -511LL : 0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff7fcp+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff6p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff8p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff6p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -511LL : 0x4.4ad63052359a3a34478fc84ff8p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -511LL : 0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -511LL : 0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -511LL : 0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn upward intel96 0x8p-16448 -511LL : 0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -511LL : 0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -511LL : 0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -511LL : 0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -511LL : 0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn downward binary128 0x8p-16448 -511LL : 0x1.226b79141841cc9dca90d3104e5bp+32 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -511LL : 0x1.226b79141841cc9dca90d3104e5cp+32 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -511LL : 0x1.226b79141841cc9dca90d3104e5bp+32 : inexact-ok
+= rootn upward binary128 0x8p-16448 -511LL : 0x1.226b79141841cc9dca90d3104e5cp+32 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -511LL : 0x1.22d063e433fde548p+32 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -511LL : 0x1.22d063e433fde548p+32 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -511LL : 0x1.22d063e433fde548p+32 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -511LL : 0x1.22d063e433fde54ap+32 : inexact-ok
+= rootn downward binary128 0x4p-16448 -511LL : 0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -511LL : 0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -511LL : 0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn upward binary128 0x4p-16448 -511LL : 0x1.22d063e433fde548859274c57397p+32 : inexact-ok
+= rootn downward binary128 0x4p-16496 -511LL : 0x1.3660fd17e6a7c40ba029e833beecp+32 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -511LL : 0x1.3660fd17e6a7c40ba029e833beedp+32 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -511LL : 0x1.3660fd17e6a7c40ba029e833beecp+32 : inexact-ok
+= rootn upward binary128 0x4p-16496 -511LL : 0x1.3660fd17e6a7c40ba029e833beedp+32 : inexact-ok
+rootn min_subnorm -1023
+= rootn downward binary32 0x8p-152 -1023LL : 0x1.1b31d2p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -1023LL : 0x1.1b31d2p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -1023LL : 0x1.1b31d2p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -1023LL : 0x1.1b31d4p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -1023LL : 0x1.1b31d2a14e058p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -1023LL : 0x1.1b31d2a14e059p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -1023LL : 0x1.1b31d2a14e058p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -1023LL : 0x1.1b31d2a14e059p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f2ap+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -1023LL : 0x1.1b31d2a14e058f2ap+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac7790b9p+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -1023LL : 0x1.1b31d2a14e058f280259ac7791p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -1023LL : 0x2.1200741e15eccp+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -1023LL : 0x2.1200741e15eccp+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -1023LL : 0x2.1200741e15eccp+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -1023LL : 0x2.1200741e15ecep+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f8p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f8p+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf155ap+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -1023LL : 0x2.1200741e15ecc5f43ae7cfdf16p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn upward intel96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbep+16 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbep+16 : inexact-ok
+= rootn downward binary128 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn upward binary128 0x8p-16448 -1023LL : 0x1.0db5eed76e653dbc5c14bdf2f2bcp+16 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -1023LL : 0x1.0de4bb58128865c2p+16 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -1023LL : 0x1.0de4bb58128865c4p+16 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -1023LL : 0x1.0de4bb58128865c2p+16 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -1023LL : 0x1.0de4bb58128865c4p+16 : inexact-ok
+= rootn downward binary128 0x4p-16448 -1023LL : 0x1.0de4bb58128865c30c429a69edfep+16 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -1023LL : 0x1.0de4bb58128865c30c429a69edffp+16 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -1023LL : 0x1.0de4bb58128865c30c429a69edfep+16 : inexact-ok
+= rootn upward binary128 0x4p-16448 -1023LL : 0x1.0de4bb58128865c30c429a69edffp+16 : inexact-ok
+= rootn downward binary128 0x4p-16496 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+= rootn upward binary128 0x4p-16496 -1023LL : 0x1.16d0c722590bceb6f5f68d1fe41cp+16 : inexact-ok
+rootn min_subnorm -16383
+= rootn downward binary32 0x8p-152 -16383LL : 0x1.019e72p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -16383LL : 0x1.019e72p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -16383LL : 0x1.019e72p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -16383LL : 0x1.019e74p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -16383LL : 0x1.019e7226b2b5cp+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -16383LL : 0x1.019e7226b2b5dp+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -16383LL : 0x1.019e7226b2b5cp+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -16383LL : 0x1.019e7226b2b5dp+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -16383LL : 0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a7dp+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868ap+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a8p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868ap+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -16383LL : 0x1.019e7226b2b5cdaf07955d868a8p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -16383LL : 0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -16383LL : 0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -16383LL : 0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -16383LL : 0x1.0be6a31a645f3p+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ep+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ep+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd2955p+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd29p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd298p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd29p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -16383LL : 0x1.0be6a31a645f272ccc8333dd298p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn upward intel96 0x8p-16448 -16383LL : 0x2.015845f8f9422c88p+0 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -16383LL : 0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -16383LL : 0x2.015845f8f9422c88p+0 : inexact-ok
+= rootn downward binary128 0x8p-16448 -16383LL : 0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -16383LL : 0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -16383LL : 0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn upward binary128 0x8p-16448 -16383LL : 0x2.015845f8f9422c8430bdbc23c824p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -16383LL : 0x2.015dd56233287c14p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -16383LL : 0x2.015dd56233287c18p+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -16383LL : 0x2.015dd56233287c14p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -16383LL : 0x2.015dd56233287c18p+0 : inexact-ok
+= rootn downward binary128 0x4p-16448 -16383LL : 0x2.015dd56233287c172ec6daa8ae8cp+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -16383LL : 0x2.015dd56233287c172ec6daa8ae8ep+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -16383LL : 0x2.015dd56233287c172ec6daa8ae8cp+0 : inexact-ok
+= rootn upward binary128 0x4p-16448 -16383LL : 0x2.015dd56233287c172ec6daa8ae8ep+0 : inexact-ok
+= rootn downward binary128 0x4p-16496 -16383LL : 0x2.0268fffbf53a98ec17310d0fd88ep+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -16383LL : 0x2.0268fffbf53a98ec17310d0fd89p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -16383LL : 0x2.0268fffbf53a98ec17310d0fd88ep+0 : inexact-ok
+= rootn upward binary128 0x4p-16496 -16383LL : 0x2.0268fffbf53a98ec17310d0fd89p+0 : inexact-ok
+rootn min_subnorm -0x1000001
+= rootn downward binary32 0x8p-152 -16777217LL : 0x1.000066p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -16777217LL : 0x1.000068p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -16777217LL : 0x1.000066p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -16777217LL : 0x1.000068p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -16777217LL : 0x1.000067477c613p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -16777217LL : 0x1.000067477c614p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -16777217LL : 0x1.000067477c613p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -16777217LL : 0x1.000067477c614p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -16777217LL : 0x1.000067477c613d24p+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -16777217LL : 0x1.000067477c613d22p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -16777217LL : 0x1.000067477c613d24p+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c1d1p+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c18p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c2p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c18p+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -16777217LL : 0x1.000067477c613d22077c60d7c2p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -16777217LL : 0x1.0002e874e010dp+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -16777217LL : 0x1.0002e874e010dp+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -16777217LL : 0x1.0002e874e010dp+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -16777217LL : 0x1.0002e874e010ep+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -16777217LL : 0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314719fp+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -16777217LL : 0x1.0002e874e010d0f9ac64631472p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn upward intel96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn downward binary128 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc899a5933498bfcp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc899a5933498bfdp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc899a5933498bfcp+0 : inexact-ok
+= rootn upward binary128 0x8p-16448 -16777217LL : 0x1.002c8aad8985bc899a5933498bfdp+0 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3cp+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3ep+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3cp+0 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3ep+0 : inexact-ok
+= rootn downward binary128 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3d92379c197c21p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3d92379c197c22p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3d92379c197c21p+0 : inexact-ok
+= rootn upward binary128 0x4p-16448 -16777217LL : 0x1.002c8b5f1a7cfc3d92379c197c22p+0 : inexact-ok
+= rootn downward binary128 0x4p-16496 -16777217LL : 0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -16777217LL : 0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -16777217LL : 0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+= rootn upward binary128 0x4p-16496 -16777217LL : 0x1.002cacaa4b0e53a2fe2e3996fd57p+0 : inexact-ok
+rootn min_subnorm -0x10000000000001
+= rootn downward binary32 0x8p-152 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -4503599627370497LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -4503599627370497LL : 0x1.0000000000067p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -4503599627370497LL : 0x1.0000000000067p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -4503599627370497LL : 0x1.0000000000067p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -4503599627370497LL : 0x1.0000000000068p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -4503599627370497LL : 0x1.0000000000067478p+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -4503599627370497LL : 0x1.0000000000067476p+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -4503599627370497LL : 0x1.0000000000067478p+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08b0ep+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -4503599627370497LL : 0x1.00000000000674767f33d1f08b8p+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -4503599627370497LL : 0x1.00000000002e8p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -4503599627370497LL : 0x1.00000000002e8p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -4503599627370497LL : 0x1.00000000002e8p+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -4503599627370497LL : 0x1.00000000002e9p+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870cp+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870ap+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870cp+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be463ep+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -4503599627370497LL : 0x1.00000000002e870a88dae7be468p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn upward intel96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce4p+0 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce4p+0 : inexact-ok
+= rootn downward binary128 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2daabecf0165p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2daabecf01651p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2daabecf0165p+0 : inexact-ok
+= rootn upward binary128 0x8p-16448 -4503599627370497LL : 0x1.0000000002c86ce2daabecf01651p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f8p+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877fap+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f8p+0 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877fap+0 : inexact-ok
+= rootn downward binary128 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn upward binary128 0x4p-16448 -4503599627370497LL : 0x1.0000000002c877f9fc2b6a2bea85p+0 : inexact-ok
+= rootn downward binary128 0x4p-16496 -4503599627370497LL : 0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -4503599627370497LL : 0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -4503599627370497LL : 0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+= rootn upward binary128 0x4p-16496 -4503599627370497LL : 0x1.0000000002ca8c504412e565e932p+0 : inexact-ok
+rootn min_subnorm -0x7fffffffffffffff
+= rootn downward binary32 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x8p-152 -9223372036854775807LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x8p-152 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x8p-152 -9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn tonearest intel96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn towardzero intel96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn upward intel96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000dp+0 : inexact-ok
+= rootn downward m68k96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000cep+0 : inexact-ok
+= rootn upward m68k96 0x8p-152 -9223372036854775807LL : 0x1.00000000000000dp+0 : inexact-ok
+= rootn downward binary128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b83p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b84p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b83p+0 : inexact-ok
+= rootn upward binary128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b84p+0 : inexact-ok
+= rootn downward ibm128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn tonearest ibm128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn towardzero ibm128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn upward ibm128 0x8p-152 -9223372036854775807LL : 0x1.00000000000000ce8ecfe67a3cp+0 : inexact-ok
+= rootn downward binary64 0x4p-1076 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x4p-1076 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x4p-1076 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x4p-1076 -9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn tonearest intel96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn towardzero intel96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn upward intel96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d2p+0 : inexact-ok
+= rootn downward m68k96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005dp+0 : inexact-ok
+= rootn upward m68k96 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d2p+0 : inexact-ok
+= rootn downward binary128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c70e9p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c70eap+0 : inexact-ok
+= rootn towardzero binary128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c70e9p+0 : inexact-ok
+= rootn upward binary128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c70eap+0 : inexact-ok
+= rootn downward ibm128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c708p+0 : inexact-ok
+= rootn tonearest ibm128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c71p+0 : inexact-ok
+= rootn towardzero ibm128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c708p+0 : inexact-ok
+= rootn upward ibm128 0x4p-1076 -9223372036854775807LL : 0x1.00000000000005d0e1511b5c71p+0 : inexact-ok
+= rootn downward intel96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590cp+0 : inexact-ok
+= rootn tonearest intel96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero intel96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590cp+0 : inexact-ok
+= rootn upward intel96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn downward m68k96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590cp+0 : inexact-ok
+= rootn tonearest m68k96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero m68k96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590cp+0 : inexact-ok
+= rootn upward m68k96 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn downward binary128 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590d9c5b5501c933p+0 : inexact-ok
+= rootn tonearest binary128 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590d9c5b5501c934p+0 : inexact-ok
+= rootn towardzero binary128 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590d9c5b5501c933p+0 : inexact-ok
+= rootn upward binary128 0x8p-16448 -9223372036854775807LL : 0x1.000000000000590d9c5b5501c934p+0 : inexact-ok
+= rootn downward m68k96 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn tonearest m68k96 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero m68k96 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590ep+0 : inexact-ok
+= rootn upward m68k96 0x4p-16448 -9223372036854775807LL : 0x1.000000000000591p+0 : inexact-ok
+= rootn downward binary128 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn upward binary128 0x4p-16448 -9223372036854775807LL : 0x1.000000000000590eff3f84f16cd4p+0 : inexact-ok
+= rootn downward binary128 0x4p-16496 -9223372036854775807LL : 0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+= rootn tonearest binary128 0x4p-16496 -9223372036854775807LL : 0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+= rootn towardzero binary128 0x4p-16496 -9223372036854775807LL : 0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+= rootn upward binary128 0x4p-16496 -9223372036854775807LL : 0x1.00000000000059518a0881e01ab9p+0 : inexact-ok
+rootn -min_subnorm -1
+= rootn downward binary32 -0x8p-152 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest binary32 -0x8p-152 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary32 -0x8p-152 -1LL : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= rootn upward binary32 -0x8p-152 -1LL : -0xf.fffffp+124 : inexact-ok overflow errno-erange-ok
+= rootn downward binary64 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn upward binary64 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn downward intel96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn upward intel96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn downward binary128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn upward binary128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -1LL : -0x2p+148 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest binary64 -0x4p-1076 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary64 -0x4p-1076 -1LL : -0xf.ffffffffffff8p+1020 : inexact-ok overflow errno-erange-ok
+= rootn upward binary64 -0x4p-1076 -1LL : -0xf.ffffffffffff8p+1020 : inexact-ok overflow errno-erange-ok
+= rootn downward intel96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -1LL : -0x4p+1072 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -1LL : minus_infty : xfail:ibm128-libgcc inexact-ok overflow errno-erange
+= rootn tonearest ibm128 -0x4p-1076 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero ibm128 -0x4p-1076 -1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok
+= rootn upward ibm128 -0x4p-1076 -1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc inexact-ok overflow errno-erange-ok
+= rootn downward intel96 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest intel96 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero intel96 -0x8p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward intel96 -0x8p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn downward m68k96 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest m68k96 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero m68k96 -0x8p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward m68k96 -0x8p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn downward binary128 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest binary128 -0x8p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 -0x8p-16448 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 -0x8p-16448 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn downward m68k96 -0x4p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest m68k96 -0x4p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero m68k96 -0x4p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward m68k96 -0x4p-16448 -1LL : -0xf.fffffffffffffffp+16380 : inexact-ok overflow errno-erange-ok
+= rootn downward binary128 -0x4p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest binary128 -0x4p-16448 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 -0x4p-16448 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 -0x4p-16448 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn downward binary128 -0x4p-16496 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn tonearest binary128 -0x4p-16496 -1LL : minus_infty : inexact-ok overflow errno-erange
+= rootn towardzero binary128 -0x4p-16496 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+= rootn upward binary128 -0x4p-16496 -1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok overflow errno-erange-ok
+rootn -min_subnorm -3
+= rootn downward binary32 -0x8p-152 -3LL : -0x3.2cbfd8p+48 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -3LL : -0x3.2cbfd4p+48 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -3LL : -0x3.2cbfd4p+48 : inexact-ok
+= rootn upward binary32 -0x8p-152 -3LL : -0x3.2cbfd4p+48 : inexact-ok
+= rootn downward binary64 -0x8p-152 -3LL : -0x3.2cbfd4a7adc7ap+48 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -3LL : -0x3.2cbfd4a7adc7ap+48 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -3LL : -0x3.2cbfd4a7adc78p+48 : inexact-ok
+= rootn upward binary64 -0x8p-152 -3LL : -0x3.2cbfd4a7adc78p+48 : inexact-ok
+= rootn downward intel96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn upward intel96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79058p+48 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -3LL : -0x3.2cbfd4a7adc79054p+48 : inexact-ok
+= rootn downward binary128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687b8ap+48 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687b8ap+48 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687b88p+48 : inexact-ok
+= rootn upward binary128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687b88p+48 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687cp+48 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687cp+48 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687bp+48 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -3LL : -0x3.2cbfd4a7adc790560b3335687bp+48 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -3LL : -0x4p+356 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79058p+5480 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc79054p+5480 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc790560b3335687b8ap+5480 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc790560b3335687b8ap+5480 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc790560b3335687b88p+5480 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -3LL : -0x3.2cbfd4a7adc790560b3335687b88p+5480 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -3LL : -0x4p+5480 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -3LL : -0x4p+5496 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -3LL : -0x4p+5496 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -3LL : -0x4p+5496 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -3LL : -0x4p+5496 : inexact-ok
+rootn -min_subnorm -5
+= rootn downward binary32 -0x8p-152 -5LL : -0x3.7b719cp+28 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -5LL : -0x3.7b719cp+28 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -5LL : -0x3.7b7198p+28 : inexact-ok
+= rootn upward binary32 -0x8p-152 -5LL : -0x3.7b7198p+28 : inexact-ok
+= rootn downward binary64 -0x8p-152 -5LL : -0x3.7b719b5b7c242p+28 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -5LL : -0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -5LL : -0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn upward binary64 -0x8p-152 -5LL : -0x3.7b719b5b7c24p+28 : inexact-ok
+= rootn downward intel96 -0x8p-152 -5LL : -0x3.7b719b5b7c24042cp+28 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn upward intel96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -5LL : -0x3.7b719b5b7c24042cp+28 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -5LL : -0x3.7b719b5b7c240428p+28 : inexact-ok
+= rootn downward binary128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ff54p+28 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn upward binary128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ff52p+28 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6165p+28 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -5LL : -0x3.7b719b5b7c240429ec3a6164ffp+28 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -5LL : -0x6.f6e336b6f8484p+212 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -5LL : -0x6.f6e336b6f848p+212 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -5LL : -0x6.f6e336b6f848p+212 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -5LL : -0x6.f6e336b6f848p+212 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -5LL : -0x6.f6e336b6f8480858p+212 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -5LL : -0x6.f6e336b6f8480858p+212 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -5LL : -0x6.f6e336b6f848085p+212 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fea8p+212 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+212 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2cap+212 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -5LL : -0x6.f6e336b6f8480853d874c2c9fep+212 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -5LL : -0x2p+3288 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d8p+3288 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4p+3288 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p+3288 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c4p+3288 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p+3288 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -5LL : -0x2.4c2230d75cce92d4a43c840ec1c2p+3288 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -5LL : -0x6.f6e336b6f8480853d874c2c9fea8p+3296 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -5LL : -0x6.f6e336b6f8480853d874c2c9fea4p+3296 : inexact-ok
+rootn -min_subnorm -63
+= rootn downward binary32 -0x8p-152 -63LL : -0x5.26dd08p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -63LL : -0x5.26ddp+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -63LL : -0x5.26ddp+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -63LL : -0x5.26ddp+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -63LL : -0x5.26dd03d178724p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -63LL : -0x5.26dd03d17872p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -63LL : -0x5.26dd03d17872p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -63LL : -0x5.26dd03d17872p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -63LL : -0x5.26dd03d178720308p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -63LL : -0x5.26dd03d178720308p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -63LL : -0x5.26dd03d1787203p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -63LL : -0x5.26dd03d1787203p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -63LL : -0x5.26dd03d178720308p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -63LL : -0x5.26dd03d178720308p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -63LL : -0x5.26dd03d1787203p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -63LL : -0x5.26dd03d1787203p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2e18p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2e14p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab3p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -63LL : -0x5.26dd03d178720304b788bfab2ep+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -63LL : -0x2.112e7c591538ep+16 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -63LL : -0x2.112e7c591538cp+16 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -63LL : -0x2.112e7c591538cp+16 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -63LL : -0x2.112e7c591538cp+16 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -63LL : -0x2.112e7c591538c198p+16 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -63LL : -0x2.112e7c591538c198p+16 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -63LL : -0x2.112e7c591538c194p+16 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -63LL : -0x2.112e7c591538c194p+16 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -63LL : -0x2.112e7c591538c198p+16 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -63LL : -0x2.112e7c591538c198p+16 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -63LL : -0x2.112e7c591538c194p+16 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -63LL : -0x2.112e7c591538c194p+16 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b18666p+16 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b18666p+16 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b18664p+16 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b18664p+16 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b187p+16 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -63LL : -0x2.112e7c591538c1967e80a6b186p+16 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da4p+260 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da4p+260 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -63LL : -0x2.0b6429d2247e1dap+260 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da02a7b95057b7p+260 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -63LL : -0x2.0b6429d2247e1da02a7b95057b6ep+260 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -63LL : -0x2.112e7c591538c198p+260 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -63LL : -0x2.112e7c591538c198p+260 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -63LL : -0x2.112e7c591538c194p+260 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -63LL : -0x2.112e7c591538c194p+260 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -63LL : -0x2.112e7c591538c1967e80a6b18666p+260 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -63LL : -0x2.112e7c591538c1967e80a6b18666p+260 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -63LL : -0x2.112e7c591538c1967e80a6b18664p+260 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -63LL : -0x2.112e7c591538c1967e80a6b18664p+260 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -63LL : -0x3.815917f84d57c8e7269b280406c8p+260 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -63LL : -0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -63LL : -0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -63LL : -0x3.815917f84d57c8e7269b280406c6p+260 : inexact-ok
+rootn -min_subnorm -127
+= rootn downward binary32 -0x8p-152 -127LL : -0x2.415208p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -127LL : -0x2.415204p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -127LL : -0x2.415204p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -127LL : -0x2.415204p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -127LL : -0x2.41520478b9972p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -127LL : -0x2.41520478b9972p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -127LL : -0x2.41520478b997p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -127LL : -0x2.41520478b997p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -127LL : -0x2.41520478b99718ccp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -127LL : -0x2.41520478b99718ccp+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -127LL : -0x2.41520478b99718c8p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -127LL : -0x2.41520478b99718c8p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -127LL : -0x2.41520478b99718ccp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -127LL : -0x2.41520478b99718ccp+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -127LL : -0x2.41520478b99718c8p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -127LL : -0x2.41520478b99718c8p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246df6p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246df6p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246df4p+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246df4p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246ep+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246ep+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246dp+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -127LL : -0x2.41520478b99718cac68a82246dp+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -127LL : -0x1.5f5519aefcdf4p+8 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -127LL : -0x1.5f5519aefcdf4p+8 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3p+8 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3p+8 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3cp+8 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3cp+8 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ap+8 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a129p+8 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a129p+8 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a128p+8 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a128p+8 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a18p+8 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -127LL : -0x1.5f5519aefcdf3e3ab8df3f96a1p+8 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc654p+128 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc65p+128 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc6535b867b1d1f5p+128 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc6535b867b1d1f5p+128 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc6535b867b1d1f4ep+128 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -127LL : -0x2.ce2c7676d88bc6535b867b1d1f4ep+128 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -127LL : -0x2.d21aa542b59cee7cp+128 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -127LL : -0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -127LL : -0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -127LL : -0x2.d21aa542b59cee78p+128 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -127LL : -0x2.d21aa542b59cee7834114d01903ap+128 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -127LL : -0x2.d21aa542b59cee7834114d01903ap+128 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -127LL : -0x2.d21aa542b59cee7834114d019038p+128 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -127LL : -0x2.d21aa542b59cee7834114d019038p+128 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -127LL : -0x3.aa5f2a07b8d898c56524b9945d6cp+128 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -127LL : -0x3.aa5f2a07b8d898c56524b9945d6cp+128 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -127LL : -0x3.aa5f2a07b8d898c56524b9945d6ap+128 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -127LL : -0x3.aa5f2a07b8d898c56524b9945d6ap+128 : inexact-ok
+rootn -min_subnorm -255
+= rootn downward binary32 -0x8p-152 -255LL : -0x1.7fd3cep+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -255LL : -0x1.7fd3cep+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -255LL : -0x1.7fd3ccp+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -255LL : -0x1.7fd3ccp+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd96p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd95p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd95182p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd95182p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a896793ep+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a896793ep+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a896793dp+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a896793dp+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a896798p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -255LL : -0x1.7fd3cd8e3fd9518058f0a89679p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -255LL : -0x1.28797f79cb757p+4 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -255LL : -0x1.28797f79cb757p+4 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -255LL : -0x1.28797f79cb756p+4 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -255LL : -0x1.28797f79cb756p+4 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -255LL : -0x1.28797f79cb75696ep+4 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -255LL : -0x1.28797f79cb75696ep+4 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -255LL : -0x1.28797f79cb75696cp+4 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a7625ap+4 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a7625ap+4 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a76259p+4 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a76259p+4 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a7628p+4 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a7628p+4 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a762p+4 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -255LL : -0x1.28797f79cb75696cbcc2b8a762p+4 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -255LL : -0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -255LL : -0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -255LL : -0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -255LL : -0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -255LL : -0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -255LL : -0x1.679635b09054dfc4p+64 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -255LL : -0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -255LL : -0x1.679635b09054dfc2p+64 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -255LL : -0x1.679635b09054dfc3fa2268a72233p+64 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -255LL : -0x1.679635b09054dfc3fa2268a72233p+64 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -255LL : -0x1.679635b09054dfc3fa2268a72232p+64 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -255LL : -0x1.679635b09054dfc3fa2268a72232p+64 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d8p+64 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6p+64 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f026p+64 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -255LL : -0x1.6890c62b6ee1c9d6c1792ff0f025p+64 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -255LL : -0x1.9ad1371e3daf0dc380d3dbba56c7p+64 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -255LL : -0x1.9ad1371e3daf0dc380d3dbba56c7p+64 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -255LL : -0x1.9ad1371e3daf0dc380d3dbba56c6p+64 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -255LL : -0x1.9ad1371e3daf0dc380d3dbba56c6p+64 : inexact-ok
+rootn -min_subnorm -511
+= rootn downward binary32 -0x8p-152 -511LL : -0x1.39570cp+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -511LL : -0x1.39570ap+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -511LL : -0x1.39570ap+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -511LL : -0x1.39570ap+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -511LL : -0x1.39570a0a97215p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -511LL : -0x1.39570a0a97214p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -511LL : -0x1.39570a0a97214p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -511LL : -0x1.39570a0a97214p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -511LL : -0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -511LL : -0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -511LL : -0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -511LL : -0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -511LL : -0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -511LL : -0x1.39570a0a972142a4p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -511LL : -0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -511LL : -0x1.39570a0a972142a2p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308fcbp+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308fcbp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308fcap+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308fcap+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991309p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991309p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308f8p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -511LL : -0x1.39570a0a972142a3999991308f8p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -511LL : -0x4.4ad63052359a4p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -511LL : -0x4.4ad63052359a4p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -511LL : -0x4.4ad63052359ap+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -511LL : -0x4.4ad63052359ap+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a38p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -511LL : -0x4.4ad63052359a3a3p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff7fcp+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff7f8p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff6p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -511LL : -0x4.4ad63052359a3a34478fc84ff6p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -511LL : -0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -511LL : -0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -511LL : -0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -511LL : -0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -511LL : -0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -511LL : -0x1.226b79141841cc9ep+32 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -511LL : -0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -511LL : -0x1.226b79141841cc9cp+32 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -511LL : -0x1.226b79141841cc9dca90d3104e5cp+32 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -511LL : -0x1.226b79141841cc9dca90d3104e5cp+32 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -511LL : -0x1.226b79141841cc9dca90d3104e5bp+32 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -511LL : -0x1.226b79141841cc9dca90d3104e5bp+32 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -511LL : -0x1.22d063e433fde54ap+32 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -511LL : -0x1.22d063e433fde548p+32 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -511LL : -0x1.22d063e433fde548p+32 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -511LL : -0x1.22d063e433fde548p+32 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -511LL : -0x1.22d063e433fde548859274c57397p+32 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -511LL : -0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -511LL : -0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -511LL : -0x1.22d063e433fde548859274c57396p+32 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -511LL : -0x1.3660fd17e6a7c40ba029e833beedp+32 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -511LL : -0x1.3660fd17e6a7c40ba029e833beedp+32 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -511LL : -0x1.3660fd17e6a7c40ba029e833beecp+32 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -511LL : -0x1.3660fd17e6a7c40ba029e833beecp+32 : inexact-ok
+rootn -min_subnorm -1023
+= rootn downward binary32 -0x8p-152 -1023LL : -0x1.1b31d4p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -1023LL : -0x1.1b31d2p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -1023LL : -0x1.1b31d2p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -1023LL : -0x1.1b31d2p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -1023LL : -0x1.1b31d2a14e059p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -1023LL : -0x1.1b31d2a14e059p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -1023LL : -0x1.1b31d2a14e058p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -1023LL : -0x1.1b31d2a14e058p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f2ap+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f2ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f28p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac7790b9p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac7790b8p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac7791p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -1023LL : -0x1.1b31d2a14e058f280259ac77908p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -1023LL : -0x2.1200741e15ecep+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -1023LL : -0x2.1200741e15eccp+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -1023LL : -0x2.1200741e15eccp+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -1023LL : -0x2.1200741e15eccp+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f8p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f8p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f4p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf155ap+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf1558p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf16p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -1023LL : -0x2.1200741e15ecc5f43ae7cfdf15p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbep+16 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbep+16 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbcp+16 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbc5c14bdf2f2bcp+16 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -1023LL : -0x1.0db5eed76e653dbc5c14bdf2f2bbp+16 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c4p+16 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c4p+16 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c2p+16 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c2p+16 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c30c429a69edffp+16 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c30c429a69edffp+16 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c30c429a69edfep+16 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -1023LL : -0x1.0de4bb58128865c30c429a69edfep+16 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41cp+16 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -1023LL : -0x1.16d0c722590bceb6f5f68d1fe41bp+16 : inexact-ok
+rootn -min_subnorm -16383
+= rootn downward binary32 -0x8p-152 -16383LL : -0x1.019e74p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -16383LL : -0x1.019e72p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -16383LL : -0x1.019e72p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -16383LL : -0x1.019e72p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -16383LL : -0x1.019e7226b2b5dp+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -16383LL : -0x1.019e7226b2b5dp+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -16383LL : -0x1.019e7226b2b5cp+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -16383LL : -0x1.019e7226b2b5cp+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdbp+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaep+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a7dp+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a7cp+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868a8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868ap+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -16383LL : -0x1.019e7226b2b5cdaf07955d868ap+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -16383LL : -0x1.0be6a31a645f3p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -16383LL : -0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -16383LL : -0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -16383LL : -0x1.0be6a31a645f2p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ep+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ep+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272cp+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd2955p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd2954p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd298p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd298p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd29p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -16383LL : -0x1.0be6a31a645f272ccc8333dd29p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c88p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c88p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -16383LL : -0x2.015845f8f9422c84p+0 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -16383LL : -0x2.015845f8f9422c8430bdbc23c824p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -16383LL : -0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -16383LL : -0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -16383LL : -0x2.015845f8f9422c8430bdbc23c822p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -16383LL : -0x2.015dd56233287c18p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -16383LL : -0x2.015dd56233287c18p+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -16383LL : -0x2.015dd56233287c14p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -16383LL : -0x2.015dd56233287c14p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -16383LL : -0x2.015dd56233287c172ec6daa8ae8ep+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -16383LL : -0x2.015dd56233287c172ec6daa8ae8ep+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -16383LL : -0x2.015dd56233287c172ec6daa8ae8cp+0 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -16383LL : -0x2.015dd56233287c172ec6daa8ae8cp+0 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -16383LL : -0x2.0268fffbf53a98ec17310d0fd89p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -16383LL : -0x2.0268fffbf53a98ec17310d0fd89p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -16383LL : -0x2.0268fffbf53a98ec17310d0fd88ep+0 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -16383LL : -0x2.0268fffbf53a98ec17310d0fd88ep+0 : inexact-ok
+rootn -min_subnorm -0x1000001
+= rootn downward binary32 -0x8p-152 -16777217LL : -0x1.000068p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -16777217LL : -0x1.000068p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -16777217LL : -0x1.000066p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -16777217LL : -0x1.000066p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -16777217LL : -0x1.000067477c614p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -16777217LL : -0x1.000067477c614p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -16777217LL : -0x1.000067477c613p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -16777217LL : -0x1.000067477c613p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -16777217LL : -0x1.000067477c613d24p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -16777217LL : -0x1.000067477c613d24p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -16777217LL : -0x1.000067477c613d22p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c1d1p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c1dp+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c2p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c2p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c18p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -16777217LL : -0x1.000067477c613d22077c60d7c18p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -16777217LL : -0x1.0002e874e010ep+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -16777217LL : -0x1.0002e874e010dp+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -16777217LL : -0x1.0002e874e010dp+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -16777217LL : -0x1.0002e874e010dp+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0fap+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f8p+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314719fp+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314719ep+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac64631472p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -16777217LL : -0x1.0002e874e010d0f9ac646314718p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc8ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc88p+0 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc899a5933498bfdp+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc899a5933498bfdp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc899a5933498bfcp+0 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -16777217LL : -0x1.002c8aad8985bc899a5933498bfcp+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3ep+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3cp+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3cp+0 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3d92379c197c22p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3d92379c197c22p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3d92379c197c21p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -16777217LL : -0x1.002c8b5f1a7cfc3d92379c197c21p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -16777217LL : -0x1.002cacaa4b0e53a2fe2e3996fd57p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -16777217LL : -0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -16777217LL : -0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -16777217LL : -0x1.002cacaa4b0e53a2fe2e3996fd56p+0 : inexact-ok
+rootn -min_subnorm -0x10000000000001
+= rootn downward binary32 -0x8p-152 -4503599627370497LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -4503599627370497LL : -0x1.0000000000068p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -4503599627370497LL : -0x1.0000000000067p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -4503599627370497LL : -0x1.0000000000067p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -4503599627370497LL : -0x1.0000000000067p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067478p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067478p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -4503599627370497LL : -0x1.0000000000067476p+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08b0ep+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08b0dp+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08b8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -4503599627370497LL : -0x1.00000000000674767f33d1f08bp+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e9p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e8p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e8p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e8p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870cp+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870cp+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870ap+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be463ep+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be463dp+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be468p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -4503599627370497LL : -0x1.00000000002e870a88dae7be46p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce4p+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce4p+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2p+0 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2daabecf01651p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2daabecf01651p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2daabecf0165p+0 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -4503599627370497LL : -0x1.0000000002c86ce2daabecf0165p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877fap+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877fap+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f8p+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f8p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f9fc2b6a2bea85p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -4503599627370497LL : -0x1.0000000002c877f9fc2b6a2bea84p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -4503599627370497LL : -0x1.0000000002ca8c504412e565e932p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -4503599627370497LL : -0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -4503599627370497LL : -0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -4503599627370497LL : -0x1.0000000002ca8c504412e565e931p+0 : inexact-ok
+rootn -min_subnorm -0x7fffffffffffffff
+= rootn downward binary32 -0x8p-152 -9223372036854775807LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x8p-152 -9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x8p-152 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000dp+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn upward intel96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn downward m68k96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000dp+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn upward m68k96 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000cep+0 : inexact-ok
+= rootn downward binary128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b84p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b84p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b83p+0 : inexact-ok
+= rootn upward binary128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b83p+0 : inexact-ok
+= rootn downward ibm128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3cp+0 : inexact-ok
+= rootn tonearest ibm128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn towardzero ibm128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn upward ibm128 -0x8p-152 -9223372036854775807LL : -0x1.00000000000000ce8ecfe67a3b8p+0 : inexact-ok
+= rootn downward binary64 -0x4p-1076 -9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0x4p-1076 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x4p-1076 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x4p-1076 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d2p+0 : inexact-ok
+= rootn tonearest intel96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn towardzero intel96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn upward intel96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn downward m68k96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d2p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn upward m68k96 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005dp+0 : inexact-ok
+= rootn downward binary128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c70eap+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c70eap+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c70e9p+0 : inexact-ok
+= rootn upward binary128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c70e9p+0 : inexact-ok
+= rootn downward ibm128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c71p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c71p+0 : inexact-ok
+= rootn towardzero ibm128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c708p+0 : inexact-ok
+= rootn upward ibm128 -0x4p-1076 -9223372036854775807LL : -0x1.00000000000005d0e1511b5c708p+0 : inexact-ok
+= rootn downward intel96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn tonearest intel96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero intel96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590cp+0 : inexact-ok
+= rootn upward intel96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590cp+0 : inexact-ok
+= rootn downward m68k96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn tonearest m68k96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590cp+0 : inexact-ok
+= rootn upward m68k96 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590cp+0 : inexact-ok
+= rootn downward binary128 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590d9c5b5501c934p+0 : inexact-ok
+= rootn tonearest binary128 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590d9c5b5501c934p+0 : inexact-ok
+= rootn towardzero binary128 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590d9c5b5501c933p+0 : inexact-ok
+= rootn upward binary128 -0x8p-16448 -9223372036854775807LL : -0x1.000000000000590d9c5b5501c933p+0 : inexact-ok
+= rootn downward m68k96 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000591p+0 : inexact-ok
+= rootn tonearest m68k96 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn towardzero m68k96 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn upward m68k96 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590ep+0 : inexact-ok
+= rootn downward binary128 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590eff3f84f16cd4p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16448 -9223372036854775807LL : -0x1.000000000000590eff3f84f16cd3p+0 : inexact-ok
+= rootn downward binary128 -0x4p-16496 -9223372036854775807LL : -0x1.00000000000059518a0881e01ab9p+0 : inexact-ok
+= rootn tonearest binary128 -0x4p-16496 -9223372036854775807LL : -0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+= rootn towardzero binary128 -0x4p-16496 -9223372036854775807LL : -0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+= rootn upward binary128 -0x4p-16496 -9223372036854775807LL : -0x1.00000000000059518a0881e01ab8p+0 : inexact-ok
+rootn max 1
+= rootn downward binary32 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 1LL : 0xf.fffffp+124 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 1LL : 0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 1LL : 0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 1LL : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1LL : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+rootn max 2
+= rootn downward binary32 0xf.fffffp+124 2LL : 0xf.fffffp+60 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 2LL : 0xf.fffffp+60 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 2LL : 0xf.fffffp+60 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 2LL : 0x1p+64 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 2LL : 0xf.fffff7fffffd8p+60 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 2LL : 0xf.fffff7fffffd8p+60 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffp+60 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffp+60 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffp+60 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffp+60 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 2LL : 0xf.fffff7fffffep+60 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 2LL : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffff8p+508 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffff8p+508 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffff8p+508 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 2LL : 0x1p+512 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffp+508 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffp+508 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffp+508 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffp+508 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbfffffffffffff78p+508 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbfffffffffffff8p+508 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbfffffffffffff78p+508 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbfffffffffffff8p+508 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffffffffffffcp+508 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffbffffffffffffcp+508 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 2LL : 0xf.ffffffffffffcp+508 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 2LL : 0x1p+8192 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffffp+8188 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 2LL : 0x1p+8192 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffff7fffffffffff8p+8188 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffff8p+8188 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffff7fffffffffff8p+8188 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 2LL : 0xf.fffffffffffffff8p+8188 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 2LL : 0xf.fffffffffffffffffffffffffff8p+8188 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 2LL : 0xf.fffffffffffffffffffffffffff8p+8188 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 2LL : 0xf.fffffffffffffffffffffffffff8p+8188 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 2LL : 0x1p+8192 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffdd8p+508 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffdep+508 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffdd8p+508 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffdep+508 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffcp+508 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffcp+508 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffdffffffffffffcp+508 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 2LL : 0xf.ffffffffffffep+508 : inexact-ok
+rootn max 3
+= rootn downward binary32 0xf.fffffp+124 3LL : 0x6.597fap+40 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 3LL : 0x6.597fa8p+40 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 3LL : 0x6.597fap+40 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 3LL : 0x6.597fa8p+40 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 3LL : 0x6.597fa7318655cp+40 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 3LL : 0x6.597fa7318656p+40 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 3LL : 0x6.597fa7318655cp+40 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 3LL : 0x6.597fa7318656p+40 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 3LL : 0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a2464p+40 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 3LL : 0x6.597fa7318655fc467e27422a26p+40 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae514p+340 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae516p+340 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae514p+340 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae516p+340 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51559p+340 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51559p+340 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054deep+340 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054dp+340 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054ep+340 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054dp+340 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 3LL : 0x2.85145f31ae51558c45623f054ep+340 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 3LL : 0x2.85145f31ae515c43a4aea3c59786p+5460 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 3LL : 0x2.85145f31ae515c447bb56e2b7c48p+5460 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 3LL : 0x2.85145f31ae515c447bb56e2b7c4ap+5460 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 3LL : 0x2.85145f31ae515c447bb56e2b7c48p+5460 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 3LL : 0x2.85145f31ae515c447bb56e2b7c4ap+5460 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864ecp+340 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864p+340 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69865p+340 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69864p+340 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 3LL : 0x2.85145f31ae5158e8608bd69865p+340 : inexact-ok
+rootn max 4
+= rootn downward binary32 0xf.fffffp+124 4LL : 0xf.fffffp+28 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 4LL : 0x1p+32 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 4LL : 0xf.fffffp+28 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 4LL : 0x1p+32 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 4LL : 0xf.fffffbfffffep+28 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 4LL : 0xf.fffffbfffffep+28 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7ffp+28 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7ffp+28 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7ffp+28 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7ffp+28 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 4LL : 0xf.fffffbfffffe8p+28 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff65f8p+28 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff66p+28 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff65f8p+28 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff66p+28 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff64p+28 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff64p+28 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff64p+28 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 4LL : 0xf.fffffbfffffe7fffff1fffff68p+28 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffff8p+252 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 4LL : 0x1p+256 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffff8p+252 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 4LL : 0x1p+256 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffp+252 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffp+252 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffp+252 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffp+252 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdfffffffffffff98p+252 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdfffffffffffffap+252 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdfffffffffffff98p+252 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdfffffffffffffap+252 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffffffffffffcp+252 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffdffffffffffffcp+252 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 4LL : 0xf.ffffffffffffep+252 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffp+4092 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffp+4092 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffp+4092 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffp+4092 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffbfffffffffff8p+4092 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffcp+4092 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffbfffffffffff8p+4092 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 4LL : 0xf.fffffffffffffffcp+4092 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 4LL : 0xf.fffffffffffffffffffffffffff8p+4092 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 4LL : 0xf.fffffffffffffffffffffffffff8p+4092 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 4LL : 0x1p+4096 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffeep+252 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffee8p+252 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffeep+252 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffee8p+252 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffcp+252 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.fffffffffffffp+252 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.ffffffffffffeffffffffffffcp+252 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4LL : 0xf.fffffffffffffp+252 : inexact-ok
+rootn max 5
+= rootn downward binary32 0xf.fffffp+124 5LL : 0x3.080bfcp+24 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 5LL : 0x3.080cp+24 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 5LL : 0x3.080bfcp+24 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 5LL : 0x3.080cp+24 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 5LL : 0x3.080bffdb20318p+24 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 5LL : 0x3.080bffdb2031ap+24 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 5LL : 0x3.080bffdb20318p+24 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 5LL : 0x3.080bffdb2031ap+24 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1cp+24 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1cp+24 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9fcp+24 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9p+24 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79fap+24 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79f9p+24 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 5LL : 0x3.080bffdb20319e1959d2be79fap+24 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11fp+204 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe12p+204 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11fp+204 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe12p+204 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f9ep+204 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 5LL : 0x1.bdb8cdadbe11ff4bce6db44f3p+204 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120216p+3276 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe120216p+3276 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 5LL : 0x1.bdb8cdadbe1202149cf83ac2f34p+3276 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 5LL : 0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 5LL : 0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 5LL : 0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 5LL : 0x1.bdb8cdadbe120214f61d30b27faap+3276 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d79p+204 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 5LL : 0x1.bdb8cdadbe1200b062457280d8p+204 : inexact-ok
+rootn max 63
+= rootn downward binary32 0xf.fffffp+124 63LL : 0x4.16c85p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 63LL : 0x4.16c85p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 63LL : 0x4.16c85p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 63LL : 0x4.16c858p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 63LL : 0x4.16c85393ab648p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 63LL : 0x4.16c85393ab648p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 63LL : 0x4.16c85393ab648p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 63LL : 0x4.16c85393ab64cp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 63LL : 0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20df84p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20df88p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20df84p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20df88p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20dep+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20ep+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20dep+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 63LL : 0x4.16c85393ab6485cd0e6edb20ep+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fdp+16 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f74p+16 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9fp+16 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f8p+16 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9fp+16 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 63LL : 0x1.31468ab0da7fc485afb86c9b9f8p+16 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f2p+260 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732fp+260 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f2p+260 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 63LL : 0x1.0b849a84550732f0f2d4e1ed7126p+260 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 63LL : 0x1.0b849a84550732f0f713f0921508p+260 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 63LL : 0x1.0b849a84550732f0f713f0921509p+260 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 63LL : 0x1.0b849a84550732f0f713f0921508p+260 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 63LL : 0x1.0b849a84550732f0f713f0921509p+260 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4a1ap+16 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 63LL : 0x1.31468ab0da7fc49911a8d95c4a8p+16 : inexact-ok
+rootn max 127
+= rootn downward binary32 0xf.fffffp+124 127LL : 0x2.02cd5p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 127LL : 0x2.02cd54p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 127LL : 0x2.02cd5p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 127LL : 0x2.02cd54p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e4p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07db92p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07dbp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07dcp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07dbp+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 127LL : 0x2.02cd53c63e7e2cc746bd9c07dcp+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817p+8 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f818p+8 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817p+8 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f818p+8 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c66p+8 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c66p+8 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff97p+8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff98p+8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff97p+8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff98p+8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 127LL : 0x1.0b6ce02e2f817c648b4982a6p+8 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c3442861862daa26a0ap+128 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c3442861862daa26a0cp+128 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c3442861862daa26a0ap+128 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 127LL : 0x2.02cd53ca4c3442861862daa26a0cp+128 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 127LL : 0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 127LL : 0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 127LL : 0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 127LL : 0x2.02cd53ca4c3442861c7090b6261ep+128 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186064p+8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186065p+8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186064p+8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186065p+8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186p+8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf7890318608p+8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf78903186p+8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 127LL : 0x1.0b6ce02e2f817c6cf7890318608p+8 : inexact-ok
+rootn max 255
+= rootn downward binary32 0xf.fffffp+124 255LL : 0x1.6a87f2p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 255LL : 0x1.6a87f4p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 255LL : 0x1.6a87f2p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 255LL : 0x1.6a87f4p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 255LL : 0x1.6a87f3635859fp+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 255LL : 0x1.6a87f363585ap+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 255LL : 0x1.6a87f3635859fp+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 255LL : 0x1.6a87f363585ap+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffcp+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffcp+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e8fp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e9p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e8fp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e9p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 255LL : 0x1.6a87f3635859fffa62107ae62fp+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740dp+4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740ep+4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740dp+4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740ep+4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da2ap+4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da2ap+4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28817589885541p+4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28817589885542p+4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28817589885541p+4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da28817589885542p+4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da288175898855p+4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da2881758988558p+4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da288175898855p+4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 255LL : 0x1.02cc743eb740da2881758988558p+4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b94p+64 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b94p+64 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 255LL : 0x1.30a4db7717664b9224a90f2d0544p+64 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 255LL : 0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 255LL : 0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 255LL : 0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 255LL : 0x1.30a4db7717664b9225dae5df2e85p+64 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953f3p+4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 255LL : 0x1.02cc743eb740da2c90b69b953f8p+4 : inexact-ok
+rootn max 511
+= rootn downward binary32 0xf.fffffp+124 511LL : 0x1.308a4ep+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 511LL : 0x1.308a5p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 511LL : 0x1.308a4ep+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 511LL : 0x1.308a5p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 511LL : 0x1.308a4fa03a45p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 511LL : 0x1.308a4fa03a45p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 511LL : 0x1.308a4fa03a45p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 511LL : 0x1.308a4fa03a451p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450566p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 511LL : 0x1.308a4fa03a450566p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2c27p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 511LL : 0x1.308a4fa03a4505649afebb6a2c8p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0cp+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b1p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0cp+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b1p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbc7cp+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbc8p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbc7cp+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbc8p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 511LL : 0x4.02c82323b6b0fd6cf26badddbep+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 511LL : 0x1.0b5b543099f35ff320e74e770929p+32 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 511LL : 0x1.0b5b543099f35ff3216d3f1972a9p+32 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 511LL : 0x1.0b5b543099f35ff3216d3f1972aap+32 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 511LL : 0x1.0b5b543099f35ff3216d3f1972a9p+32 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 511LL : 0x1.0b5b543099f35ff3216d3f1972aap+32 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead91c8p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead91ccp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead91c8p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead91ccp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead9p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead92p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead9p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 511LL : 0x4.02c82323b6b0fd74fc00bead92p+0 : inexact-ok
+rootn max 1023
+= rootn downward binary32 0xf.fffffp+124 1023LL : 0x1.17319p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 1023LL : 0x1.173192p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 1023LL : 0x1.17319p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 1023LL : 0x1.173192p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 1023LL : 0x1.17319167ccbb7p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 1023LL : 0x1.17319167ccbb7p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57ed18p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 1023LL : 0x1.17319167ccbb6f05999d9c57ed8p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb6p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb8p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb6p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb8p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fb03p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fb032p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fb03p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fb032p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 1023LL : 0x2.0058d6f406cb784f1eb6f71fb1p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b5166b261cf79ap+16 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b5166b261cf79bp+16 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b5166b261cf79ap+16 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 1023LL : 0x1.02ca57755a11c3b5166b261cf79bp+16 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 1023LL : 0x1.02ca57755a11c3b516abe8e38694p+16 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 1023LL : 0x1.02ca57755a11c3b516abe8e38695p+16 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 1023LL : 0x1.02ca57755a11c3b516abe8e38694p+16 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 1023LL : 0x1.02ca57755a11c3b516abe8e38695p+16 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704d4p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045705p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045704p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1023LL : 0x2.0058d6f406cb78511f90045705p+0 : inexact-ok
+rootn max 16383
+= rootn downward binary32 0xf.fffffp+124 16383LL : 0x1.0163ep+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 16383LL : 0x1.0163ep+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 16383LL : 0x1.0163ep+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 16383LL : 0x1.0163e2p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 16383LL : 0x1.0163e0330b906p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 16383LL : 0x1.0163e0330b906p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 16383LL : 0x1.0163e0330b906p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 16383LL : 0x1.0163e0330b907p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0effp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0effp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0e8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0e8p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 16383LL : 0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b99p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b99p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de2p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de2p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a31647ap+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a3164p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a31648p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a3164p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 16383LL : 0x1.0b55b523a7b98de079e20a31648p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63cf086d74c78c1cp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63cf086d74c78c1ep+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63cf086d74c78c1cp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 16383LL : 0x2.00058bae9e8e63cf086d74c78c1ep+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 16383LL : 0x2.00058bae9e8e63cf087574fdbbbp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 16383LL : 0x2.00058bae9e8e63cf087574fdbbb2p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 16383LL : 0x2.00058bae9e8e63cf087574fdbbbp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 16383LL : 0x2.00058bae9e8e63cf087574fdbbb2p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a1797p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a1798p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a1797p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a1798p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16383LL : 0x1.0b55b523a7b98de08a97a85a18p+0 : inexact-ok
+rootn max 0x1000001
+= rootn downward binary32 0xf.fffffp+124 16777217LL : 0x1.000058p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 16777217LL : 0x1.000058p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 16777217LL : 0x1.000058p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 16777217LL : 0x1.00005ap+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 16777217LL : 0x1.000058b91b021p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 16777217LL : 0x1.000058b91b021p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 16777217LL : 0x1.000058b91b021p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 16777217LL : 0x1.000058b91b022p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021082p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021084p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021082p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021084p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021082p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021084p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021082p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 16777217LL : 0x1.000058b91b021084p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a476p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a4p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a48p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a4p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 16777217LL : 0x1.000058b91b02108373c16583a48p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514dp+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c486p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c486p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572549ep+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572549fp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572549ep+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572549fp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 16777217LL : 0x1.0002c5cc3514c484bcf4f57255p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e6p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e6p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4d4cd6fcd4e7fp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4d4cd6fcd4e8p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4d4cd6fcd4e7fp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 16777217LL : 0x1.002c605e0228b5e4d4cd6fcd4e8p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : 0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : 0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : 0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : 0x1.002c605e0228b5e4d4cd70cd7aep+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d67cfp+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d67dp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d67cfp+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d67dp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d678p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d68p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d678p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : 0x1.0002c5cc3514c484bcf8f57d68p+0 : inexact-ok
+rootn max 0x10000000000001
+= rootn downward binary32 0xf.fffffp+124 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 4503599627370497LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000059p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000059p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b92p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b9p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b92p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc85p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 4503599627370497LL : 0x1.0000000000058b90bfae8e8acdp+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c6p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c6p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c84p+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c86p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c84p+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c86p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c84p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c86p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c84p+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c86p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c6bp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39cp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39cp+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c86p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c86p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c86p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c86p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : 0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39cabp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : 0x1.00000000002c5c85fdf477b39dp+0 : inexact-ok
+rootn max 0x7fffffffffffffff
+= rootn downward binary32 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 9223372036854775807LL : 0x1.000002p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b2p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b2p+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b2p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000bp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b2p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf78p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf79p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf78p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf79p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cfp+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cfp+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 9223372036854775807LL : 0x1.00000000000000b17217f5d1cf8p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.0000000000001p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058cp+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058cp+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058cp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058ap+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058cp+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058bap+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058bap+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058bap+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b8p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058bap+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc37p+0 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : 0x1.00000000000058b90bfbe8e7cc37p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : 0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+rootn -max 1
+= rootn downward binary32 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 1LL : -0xf.fffffp+124 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 1LL : -0xf.ffffffffffff8p+1020 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 1LL : -0xf.fffffffffffffffp+16380 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1LL : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1LL : -0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+rootn -max 3
+= rootn downward binary32 -0xf.fffffp+124 3LL : -0x6.597fa8p+40 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 3LL : -0x6.597fa8p+40 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 3LL : -0x6.597fap+40 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 3LL : -0x6.597fap+40 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 3LL : -0x6.597fa7318656p+40 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 3LL : -0x6.597fa7318656p+40 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 3LL : -0x6.597fa7318655cp+40 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 3LL : -0x6.597fa7318655cp+40 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc48p+40 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc4p+40 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a2464p+40 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a246p+40 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a26p+40 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 3LL : -0x6.597fa7318655fc467e27422a24p+40 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae516p+340 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae516p+340 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae514p+340 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae514p+340 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51559p+340 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51559p+340 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558cp+340 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054deep+340 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054decp+340 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054ep+340 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054ep+340 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054dp+340 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 3LL : -0x2.85145f31ae51558c45623f054dp+340 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c44p+5460 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c4p+5460 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c43a4aea3c59786p+5460 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 3LL : -0x2.85145f31ae515c43a4aea3c59784p+5460 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 3LL : -0x2.85145f31ae515c447bb56e2b7c4ap+5460 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 3LL : -0x2.85145f31ae515c447bb56e2b7c4ap+5460 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 3LL : -0x2.85145f31ae515c447bb56e2b7c48p+5460 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 3LL : -0x2.85145f31ae515c447bb56e2b7c48p+5460 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864ecp+340 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864eap+340 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69865p+340 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69865p+340 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864p+340 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 3LL : -0x2.85145f31ae5158e8608bd69864p+340 : inexact-ok
+rootn -max 5
+= rootn downward binary32 -0xf.fffffp+124 5LL : -0x3.080cp+24 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 5LL : -0x3.080cp+24 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 5LL : -0x3.080bfcp+24 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 5LL : -0x3.080bfcp+24 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 5LL : -0x3.080bffdb2031ap+24 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 5LL : -0x3.080bffdb2031ap+24 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 5LL : -0x3.080bffdb20318p+24 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 5LL : -0x3.080bffdb20318p+24 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1cp+24 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1cp+24 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e18p+24 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9fcp+24 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9fap+24 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79fap+24 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79fap+24 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9p+24 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 5LL : -0x3.080bffdb20319e1959d2be79f9p+24 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe12p+204 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe12p+204 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11fp+204 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11fp+204 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4cp+204 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4ap+204 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f9ep+204 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f9dp+204 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f3p+204 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 5LL : -0x1.bdb8cdadbe11ff4bce6db44f2f8p+204 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120216p+3276 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120216p+3276 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe120214p+3276 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe1202149cf83ac2f34p+3276 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 5LL : -0x1.bdb8cdadbe1202149cf83ac2f33fp+3276 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 5LL : -0x1.bdb8cdadbe120214f61d30b27faap+3276 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 5LL : -0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 5LL : -0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 5LL : -0x1.bdb8cdadbe120214f61d30b27fa9p+3276 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d79p+204 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78fp+204 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d8p+204 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 5LL : -0x1.bdb8cdadbe1200b062457280d78p+204 : inexact-ok
+rootn -max 63
+= rootn downward binary32 -0xf.fffffp+124 63LL : -0x4.16c858p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 63LL : -0x4.16c85p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 63LL : -0x4.16c85p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 63LL : -0x4.16c85p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 63LL : -0x4.16c85393ab64cp+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 63LL : -0x4.16c85393ab648p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 63LL : -0x4.16c85393ab648p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 63LL : -0x4.16c85393ab648p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485dp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485c8p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20df88p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20df88p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20df84p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20df84p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20ep+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20ep+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20dep+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 63LL : -0x4.16c85393ab6485cd0e6edb20dep+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fdp+16 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fcp+16 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc486p+16 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc484p+16 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f74p+16 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f73p+16 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f8p+16 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9f8p+16 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9fp+16 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 63LL : -0x1.31468ab0da7fc485afb86c9b9fp+16 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f2p+260 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f2p+260 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732fp+260 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f0f2d4e1ed7126p+260 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 63LL : -0x1.0b849a84550732f0f2d4e1ed7125p+260 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 63LL : -0x1.0b849a84550732f0f713f0921509p+260 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 63LL : -0x1.0b849a84550732f0f713f0921509p+260 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 63LL : -0x1.0b849a84550732f0f713f0921508p+260 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 63LL : -0x1.0b849a84550732f0f713f0921508p+260 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4a1ap+16 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4a19p+16 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4a8p+16 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 63LL : -0x1.31468ab0da7fc49911a8d95c4ap+16 : inexact-ok
+rootn -max 127
+= rootn downward binary32 -0xf.fffffp+124 127LL : -0x2.02cd54p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 127LL : -0x2.02cd54p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 127LL : -0x2.02cd5p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 127LL : -0x2.02cd5p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e4p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc8p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc4p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07db92p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07db9p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07dcp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07dcp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07dbp+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 127LL : -0x2.02cd53c63e7e2cc746bd9c07dbp+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f818p+8 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f818p+8 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817p+8 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817p+8 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c66p+8 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c66p+8 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c64p+8 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff98p+8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff98p+8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff97p+8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff97p+8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a6p+8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 127LL : -0x1.0b6ce02e2f817c648b4982a5ff8p+8 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344288p+128 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c344284p+128 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c3442861862daa26a0cp+128 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c3442861862daa26a0cp+128 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c3442861862daa26a0ap+128 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 127LL : -0x2.02cd53ca4c3442861862daa26a0ap+128 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 127LL : -0x2.02cd53ca4c3442861c7090b6261ep+128 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 127LL : -0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 127LL : -0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 127LL : -0x2.02cd53ca4c3442861c7090b6261cp+128 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186065p+8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186065p+8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186064p+8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186064p+8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf7890318608p+8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf7890318608p+8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186p+8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 127LL : -0x1.0b6ce02e2f817c6cf78903186p+8 : inexact-ok
+rootn -max 255
+= rootn downward binary32 -0xf.fffffp+124 255LL : -0x1.6a87f4p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 255LL : -0x1.6a87f4p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 255LL : -0x1.6a87f2p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 255LL : -0x1.6a87f2p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 255LL : -0x1.6a87f363585ap+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 255LL : -0x1.6a87f363585ap+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fp+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fp+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffcp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffcp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffap+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e9p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e9p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e8fp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e8fp+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62fp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 255LL : -0x1.6a87f3635859fffa62107ae62e8p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740ep+4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740ep+4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740dp+4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740dp+4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da2ap+4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da2ap+4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28p+4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28817589885542p+4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28817589885542p+4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28817589885541p+4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da28817589885541p+4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da2881758988558p+4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da2881758988558p+4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da288175898855p+4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 255LL : -0x1.02cc743eb740da288175898855p+4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b94p+64 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b94p+64 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b92p+64 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b9224a90f2d0544p+64 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 255LL : -0x1.30a4db7717664b9224a90f2d0543p+64 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 255LL : -0x1.30a4db7717664b9225dae5df2e85p+64 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 255LL : -0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 255LL : -0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 255LL : -0x1.30a4db7717664b9225dae5df2e84p+64 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953f3p+4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953f2fp+4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953f8p+4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 255LL : -0x1.02cc743eb740da2c90b69b953fp+4 : inexact-ok
+rootn -max 511
+= rootn downward binary32 -0xf.fffffp+124 511LL : -0x1.308a5p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 511LL : -0x1.308a5p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 511LL : -0x1.308a4ep+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 511LL : -0x1.308a4ep+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 511LL : -0x1.308a4fa03a451p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 511LL : -0x1.308a4fa03a45p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 511LL : -0x1.308a4fa03a45p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 511LL : -0x1.308a4fa03a45p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450566p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450566p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 511LL : -0x1.308a4fa03a450564p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2c27p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2c26p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2c8p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 511LL : -0x1.308a4fa03a4505649afebb6a2cp+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b1p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b1p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0cp+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0cp+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd7p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd68p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbc8p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbc8p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbc7cp+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbc7cp+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbep+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 511LL : -0x4.02c82323b6b0fd6cf26badddbcp+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff4p+32 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff2p+32 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff320e74e770929p+32 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 511LL : -0x1.0b5b543099f35ff320e74e770928p+32 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 511LL : -0x1.0b5b543099f35ff3216d3f1972aap+32 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 511LL : -0x1.0b5b543099f35ff3216d3f1972aap+32 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 511LL : -0x1.0b5b543099f35ff3216d3f1972a9p+32 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 511LL : -0x1.0b5b543099f35ff3216d3f1972a9p+32 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead91ccp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead91ccp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead91c8p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead91c8p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead92p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead92p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead9p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 511LL : -0x4.02c82323b6b0fd74fc00bead9p+0 : inexact-ok
+rootn -max 1023
+= rootn downward binary32 -0xf.fffffp+124 1023LL : -0x1.173192p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 1023LL : -0x1.173192p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 1023LL : -0x1.17319p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 1023LL : -0x1.17319p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb7p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb7p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f06p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f04p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57ed18p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57ed17p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57ed8p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 1023LL : -0x1.17319167ccbb6f05999d9c57edp+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb8p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb8p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb6p+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb6p+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb785p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784cp+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fb032p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fb032p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fb03p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fb03p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fb1p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 1023LL : -0x2.0058d6f406cb784f1eb6f71fbp+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b6p+16 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b4p+16 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b5166b261cf79bp+16 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b5166b261cf79bp+16 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b5166b261cf79ap+16 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 1023LL : -0x1.02ca57755a11c3b5166b261cf79ap+16 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1023LL : -0x1.02ca57755a11c3b516abe8e38695p+16 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1023LL : -0x1.02ca57755a11c3b516abe8e38695p+16 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1023LL : -0x1.02ca57755a11c3b516abe8e38694p+16 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 1023LL : -0x1.02ca57755a11c3b516abe8e38694p+16 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704d4p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704d2p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045705p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045705p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1023LL : -0x2.0058d6f406cb78511f90045704p+0 : inexact-ok
+rootn -max 16383
+= rootn downward binary32 -0xf.fffffp+124 16383LL : -0x1.0163e2p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 16383LL : -0x1.0163ep+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 16383LL : -0x1.0163ep+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 16383LL : -0x1.0163ep+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 16383LL : -0x1.0163e0330b907p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 16383LL : -0x1.0163e0330b906p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 16383LL : -0x1.0163e0330b906p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 16383LL : -0x1.0163e0330b906p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658ep+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658cp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0effp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0effp+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0fp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0e8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 16383LL : -0x1.0163e0330b90658d599e663f0e8p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b99p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b99p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98p+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98p+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de2p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de2p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98dep+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a31647ap+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a316479p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a31648p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a31648p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a3164p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 16383LL : -0x1.0b55b523a7b98de079e20a3164p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63dp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63ccp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63cf086d74c78c1ep+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63cf086d74c78c1ep+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63cf086d74c78c1cp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 16383LL : -0x2.00058bae9e8e63cf086d74c78c1cp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16383LL : -0x2.00058bae9e8e63cf087574fdbbb2p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16383LL : -0x2.00058bae9e8e63cf087574fdbbb2p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16383LL : -0x2.00058bae9e8e63cf087574fdbbbp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16383LL : -0x2.00058bae9e8e63cf087574fdbbbp+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a1798p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a1798p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a1797p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a1797p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a18p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16383LL : -0x1.0b55b523a7b98de08a97a85a178p+0 : inexact-ok
+rootn -max 0x1000001
+= rootn downward binary32 -0xf.fffffp+124 16777217LL : -0x1.00005ap+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 16777217LL : -0x1.000058p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 16777217LL : -0x1.000058p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 16777217LL : -0x1.000058p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 16777217LL : -0x1.000058b91b022p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021084p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021084p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021082p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021082p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021084p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021084p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021082p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 16777217LL : -0x1.000058b91b021082p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a476p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a475p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a48p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a48p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a4p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 16777217LL : -0x1.000058b91b02108373c16583a4p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514dp+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514cp+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c486p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c486p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572549fp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572549fp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572549ep+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572549ep+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f57255p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 16777217LL : -0x1.0002c5cc3514c484bcf4f572548p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e6p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e6p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4d4cd6fcd4e8p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4d4cd6fcd4e8p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4d4cd6fcd4e7fp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 16777217LL : -0x1.002c605e0228b5e4d4cd6fcd4e7fp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : -0x1.002c605e0228b5e4d4cd70cd7aep+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : -0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : -0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 16777217LL : -0x1.002c605e0228b5e4d4cd70cd7adfp+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d67dp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d67dp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d67cfp+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d67cfp+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d68p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d68p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d678p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 16777217LL : -0x1.0002c5cc3514c484bcf8f57d678p+0 : inexact-ok
+rootn -max 0x10000000000001
+= rootn downward binary32 -0xf.fffffp+124 4503599627370497LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000059p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000059p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b92p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b92p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b9p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc85p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc84p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acdp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 4503599627370497LL : -0x1.0000000000058b90bfae8e8acc8p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c6p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c6p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5p+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5p+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c86p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c86p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c84p+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c84p+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c86p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c86p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c84p+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c84p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c6bp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c6ap+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39cp+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39cp+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c86p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c86p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c86p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c86p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85ep+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21292p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 4503599627370497LL : -0x1.0000000002c5c85fdf4b15b21291p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39cabp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39caap+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39dp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 4503599627370497LL : -0x1.00000000002c5c85fdf477b39c8p+0 : inexact-ok
+rootn -max 0x7fffffffffffffff
+= rootn downward binary32 -0xf.fffffp+124 9223372036854775807LL : -0x1.000002p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b2p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b2p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b2p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b2p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000bp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf79p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf79p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf78p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf78p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf8p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cf8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cfp+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 9223372036854775807LL : -0x1.00000000000000b17217f5d1cfp+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.0000000000001p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058cp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058cp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058cp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058cp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058ap+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058bap+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058bap+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058bap+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058bap+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b8p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc37p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc37p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 9223372036854775807LL : -0x1.00000000000058b90bfbe8e7cc36p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bddp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7bdcp+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7cp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 9223372036854775807LL : -0x1.000000000000058b90bfbe8e7b8p+0 : inexact-ok
+rootn max -1
+= rootn downward binary32 0xf.fffffp+124 -1LL : 0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary32 0xf.fffffp+124 -1LL : 0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary32 0xf.fffffp+124 -1LL : 0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn upward binary32 0xf.fffffp+124 -1LL : 0x1.000008p-128 : inexact-ok underflow errno-erange-ok
+= rootn downward binary64 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -1LL : 0x1.0000010000011p-128 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -1LL : 0x1.0000010000010002p-128 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -1LL : 0x1.000001000001p-128 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -1LL : 0x1.0000010000010002p-128 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -1LL : 0x1.0000010000010000010000010001p-128 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001p-128 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -1LL : 0x1.000001000001000001000001008p-128 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -1LL : 0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -1LL : 0x1.0000000000000802p-1024 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -1LL : 0x1.00000000000008p-1024 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -1LL : 0x1.0000000000000802p-1024 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -1LL : 0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -1LL : 0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -1LL : 0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -1LL : 0x1.0000000000000800000000000041p-1024 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -1LL : 0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000008p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -1LL : 0x1.0000000000000001000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1LL : 0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1LL : 0x1.0000000000000000000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1.0000000000000400000000000051p-1024 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1LL : 0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+rootn max -2
+= rootn downward binary32 0xf.fffffp+124 -2LL : 0x1p-64 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -2LL : 0x1p-64 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -2LL : 0x1p-64 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -2LL : 0x1.000002p-64 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -2LL : 0x1.0000008000007p-64 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -2LL : 0x1.0000008000006002p-64 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -2LL : 0x1.0000008000006p-64 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -2LL : 0x1.0000008000006002p-64 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -2LL : 0x1.0000008000006000005000004601p-64 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -2LL : 0x1.00000080000060000050000046p-64 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -2LL : 0x1.000000800000600000500000468p-64 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -2LL : 0x1p-512 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -2LL : 0x1p-512 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -2LL : 0x1p-512 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000001p-512 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000402p-512 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000402p-512 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000400000000000018p-512 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000400000000000018p-512 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000400000000000018p-512 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -2LL : 0x1.0000000000000400000000000019p-512 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -2LL : 0x1.00000000000004p-512 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -2LL : 0x1.000000000000040000000000008p-512 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -2LL : 0x1.0000000000000002p-8192 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -2LL : 0x1.0000000000000002p-8192 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -2LL : 0x1.00000000000000008p-8192 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -2LL : 0x1.00000000000000008p-8192 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -2LL : 0x1.00000000000000008p-8192 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -2LL : 0x1.0000000000000000800000000001p-8192 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -2LL : 0x1p-8192 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -2LL : 0x1.0000000000000000000000000001p-8192 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.0000000000000200000000000026p-512 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.0000000000000200000000000026p-512 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.0000000000000200000000000026p-512 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.0000000000000200000000000027p-512 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.00000000000002p-512 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.00000000000002p-512 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.00000000000002p-512 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -2LL : 0x1.000000000000020000000000008p-512 : inexact-ok
+rootn max -3
+= rootn downward binary32 0xf.fffffp+124 -3LL : 0x2.85146p-44 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -3LL : 0x2.85146p-44 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -3LL : 0x2.85146p-44 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -3LL : 0x2.851464p-44 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -3LL : 0x2.85146008b51c4p-44 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -3LL : 0x2.85146008b51c6p-44 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -3LL : 0x2.85146008b51c4p-44 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -3LL : 0x2.85146008b51c6p-44 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -3LL : 0x2.85146008b51c518p-44 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -3LL : 0x2.85146008b51c5184p-44 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -3LL : 0x2.85146008b51c518p-44 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -3LL : 0x2.85146008b51c5184p-44 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -3LL : 0x2.85146008b51c518p-44 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -3LL : 0x2.85146008b51c5184p-44 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -3LL : 0x2.85146008b51c518p-44 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -3LL : 0x2.85146008b51c5184p-44 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609bp-44 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609p-44 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f60ap-44 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f609p-44 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -3LL : 0x2.85146008b51c51831e3246f60ap-44 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8fp-344 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f4p-344 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8fp-344 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f4p-344 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f31ap-344 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f31ap-344 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a7518p-344 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a751cp-344 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a7518p-344 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a751cp-344 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a74p-344 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a76p-344 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a74p-344 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -3LL : 0x6.597fa94f5b8f319ac029e91a76p-344 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20ae343ba340c04p-5464 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20ae343ba340c044p-5464 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20ae343ba340c04p-5464 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -3LL : 0x6.597fa94f5b8f20ae343ba340c044p-5464 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -3LL : 0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -3LL : 0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -3LL : 0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -3LL : 0x6.597fa94f5b8f20ac16666ad0f718p-5464 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b684p-344 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b688p-344 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b684p-344 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b688p-344 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -3LL : 0x6.597fa94f5b8f29236b4829f5b8p-344 : inexact-ok
+rootn max -4
+= rootn downward binary32 0xf.fffffp+124 -4LL : 0x1p-32 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -4LL : 0x1p-32 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -4LL : 0x1p-32 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -4LL : 0x1.000002p-32 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -4LL : 0x1.0000004000002p-32 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -4LL : 0x1.0000004000003p-32 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -4LL : 0x1.0000004000002p-32 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -4LL : 0x1.0000004000003p-32 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -4LL : 0x1.0000004000002802p-32 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -4LL : 0x1.00000040000028p-32 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -4LL : 0x1.0000004000002802p-32 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e0000186p-32 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e0000186p-32 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e0000186p-32 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e00001861p-32 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e000018p-32 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e0000188p-32 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e000018p-32 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -4LL : 0x1.0000004000002800001e0000188p-32 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -4LL : 0x1p-256 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -4LL : 0x1p-256 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -4LL : 0x1p-256 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -4LL : 0x1.0000000000001p-256 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -4LL : 0x1.0000000000000202p-256 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -4LL : 0x1.0000000000000202p-256 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -4LL : 0x1.000000000000020000000000000ap-256 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -4LL : 0x1.000000000000020000000000000ap-256 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -4LL : 0x1.000000000000020000000000000ap-256 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -4LL : 0x1.000000000000020000000000000bp-256 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -4LL : 0x1.00000000000002p-256 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -4LL : 0x1.000000000000020000000000008p-256 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -4LL : 0x1.0000000000000002p-4096 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -4LL : 0x1.0000000000000002p-4096 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -4LL : 0x1.00000000000000004p-4096 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -4LL : 0x1.00000000000000004p-4096 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -4LL : 0x1.00000000000000004p-4096 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -4LL : 0x1.0000000000000000400000000001p-4096 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4LL : 0x1p-4096 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4LL : 0x1.0000000000000000000000000001p-4096 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.0000000000000100000000000012p-256 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.0000000000000100000000000013p-256 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.0000000000000100000000000012p-256 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.0000000000000100000000000013p-256 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.00000000000001p-256 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.00000000000001p-256 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.00000000000001p-256 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4LL : 0x1.000000000000010000000000008p-256 : inexact-ok
+rootn max -5
+= rootn downward binary32 0xf.fffffp+124 -5LL : 0x5.472d1p-28 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -5LL : 0x5.472d18p-28 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -5LL : 0x5.472d1p-28 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -5LL : 0x5.472d18p-28 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -5LL : 0x5.472d15fc9113p-28 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -5LL : 0x5.472d15fc9113p-28 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -5LL : 0x5.472d15fc9113p-28 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -5LL : 0x5.472d15fc91134p-28 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -5LL : 0x5.472d15fc91131658p-28 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -5LL : 0x5.472d15fc9113166p-28 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -5LL : 0x5.472d15fc91131658p-28 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -5LL : 0x5.472d15fc9113166p-28 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -5LL : 0x5.472d15fc91131658p-28 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -5LL : 0x5.472d15fc9113166p-28 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -5LL : 0x5.472d15fc91131658p-28 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -5LL : 0x5.472d15fc9113166p-28 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b8367p-28 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b83674p-28 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b8367p-28 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b83674p-28 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -5LL : 0x5.472d15fc9113165c35bd35b838p-28 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733ap-208 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a8p-208 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733ap-208 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a8p-208 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a1p-208 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a1p-208 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfe3p-208 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfe38p-208 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfe3p-208 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfe38p-208 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfcp-208 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728dp-208 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728cfcp-208 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -5LL : 0x9.3088c35d733a5a069ef7728dp-208 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b6p-3280 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b6p-3280 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b546773d0e75148p-3280 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b546773d0e7515p-3280 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b546773d0e75148p-3280 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -5LL : 0x9.3088c35d733a4b546773d0e7515p-3280 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -5LL : 0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -5LL : 0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -5LL : 0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -5LL : 0x9.3088c35d733a4b5290f2103b0718p-3280 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c16403p-208 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c1640308p-208 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c16403p-208 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c1640308p-208 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c164p-208 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c16404p-208 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c164p-208 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -5LL : 0x9.3088c35d733a52ac97f4c16404p-208 : inexact-ok
+rootn max -63
+= rootn downward binary32 0xf.fffffp+124 -63LL : 0x3.e9b69cp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -63LL : 0x3.e9b69cp-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -63LL : 0x3.e9b69cp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -63LL : 0x3.e9b6ap-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8cp-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8ep-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8cp-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8ep-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b326p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -63LL : 0x3.e9b69c3845b8d836a422c730b4p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63dp-20 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793ab78p-20 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793ab8p-20 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793ab78p-20 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793ab8p-20 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793a8p-20 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793acp-20 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793a8p-20 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -63LL : 0xd.6ad9d250b63ca94f07cd1793acp-20 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed24p-264 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed24p-264 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -63LL : 0xf.4fa5937621aed23224859b01db2p-264 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -63LL : 0xf.4fa5937621aed231e64e26e38948p-264 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -63LL : 0xf.4fa5937621aed231e64e26e3895p-264 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -63LL : 0xf.4fa5937621aed231e64e26e38948p-264 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -63LL : 0xf.4fa5937621aed231e64e26e3895p-264 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48b4p-20 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea488p-20 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48cp-20 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea488p-20 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -63LL : 0xd.6ad9d250b63ca874f1d81ea48cp-20 : inexact-ok
+rootn max -127
+= rootn downward binary32 0xf.fffffp+124 -127LL : 0x7.f4da48p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -127LL : 0x7.f4da5p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -127LL : 0x7.f4da48p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -127LL : 0x7.f4da5p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d8p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad8p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad8p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eb44p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eb48p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eb44p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eb48p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eap-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4ecp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4eap-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -127LL : 0x7.f4da4f024e6d5ad300df57d4ecp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae16439p-12 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae16439p-12 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae16439p-12 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae164398p-12 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933ep-12 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933dp-12 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933ep-12 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60d2p-12 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60d28p-12 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60d2p-12 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60d28p-12 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -127LL : 0xf.51015ae1643933d33140fde61p-12 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5247cf74f24915754p-132 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5247cf74f24915758p-132 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5247cf74f24915754p-132 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -127LL : 0x7.f4da4ef244a5247cf74f24915758p-132 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -127LL : 0x7.f4da4ef244a5247ce7455c631648p-132 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -127LL : 0x7.f4da4ef244a5247ce7455c63164cp-132 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -127LL : 0x7.f4da4ef244a5247ce7455c631648p-132 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -127LL : 0x7.f4da4ef244a5247ce7455c63164cp-132 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b238150931bp-12 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b23815093p-12 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b23815093p-12 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b23815093p-12 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -127LL : 0xf.51015ae164393357b238150934p-12 : inexact-ok
+rootn max -255
+= rootn downward binary32 0xf.fffffp+124 -255LL : 0xb.4c602p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -255LL : 0xb.4c603p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -255LL : 0xb.4c602p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -255LL : 0xb.4c603p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c8p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a6p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a6p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62f08p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -255LL : 0xb.4c602a02eb9c2a56fdbf6f62f4p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4fp-8 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82fp-8 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82fp-8 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c248p-8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c25p-8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c248p-8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c25p-8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5cp-8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c4p-8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5cp-8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -255LL : 0xf.d3b4b2cd6e4e82e714b6c3d5c4p-8 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34832p-68 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af34832p-68 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -255LL : 0xd.71f8cf08af3483107dadb6dbd188p-68 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -255LL : 0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -255LL : 0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -255LL : 0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -255LL : 0xd.71f8cf08af348310702e3e948188p-68 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a7p-8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a4p-8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a8p-8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a4p-8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -255LL : 0xf.d3b4b2cd6e4e82a786559773a8p-8 : inexact-ok
+rootn max -511
+= rootn downward binary32 0xf.fffffp+124 -511LL : 0xd.7324dp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -511LL : 0xd.7324dp-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -511LL : 0xd.7324dp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -511LL : 0xd.7324ep-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1cap-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca8p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1cap-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca8p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c2p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c2p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc5ap-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc5a8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc5ap-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc5a8p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -511LL : 0xd.7324d6e5b1ca5c135dadeb0cc8p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf5p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a8p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a8p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e33p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -511LL : 0x3.fd39cac5aaf4e9a5e9b6e819e4p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293cp-36 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293bp-36 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293cp-36 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293b2bd58b9452b4p-36 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293b2bd58b9452b48p-36 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293b2bd58b9452b4p-36 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -511LL : 0xf.5202b197df1293b2bd58b9452b48p-36 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -511LL : 0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -511LL : 0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -511LL : 0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -511LL : 0xf.5202b197df1293b2b5abe1807d08p-36 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713dcp-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713dep-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713dcp-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713dep-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192714p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192713p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -511LL : 0x3.fd39cac5aaf4e99deb44192714p-4 : inexact-ok
+rootn max -1023
+= rootn downward binary32 0xf.fffffp+124 -1023LL : 0xe.abbafp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -1023LL : 0xe.abbbp-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -1023LL : 0xe.abbafp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -1023LL : 0xe.abbbp-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf8p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28dp-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28dp-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56eb98p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56e8p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56ecp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56e8p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -1023LL : 0xe.abbaff12bfdf28c387f85f56ecp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c424p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c428p-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c424p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c428p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427118p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427118p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf3833p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf38334p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf3833p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf38334p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf382p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf384p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf382p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -1023LL : 0x7.fe9ce1ce2c427111b95cccf384p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca5p-20 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca5p-20 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -1023LL : 0xf.d3d5c5880a2cca4019f762560e08p-20 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : 0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : 0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : 0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : 0xf.d3d5c5880a2cca4016016f67f08p-20 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312d8p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : 0x7.fe9ce1ce2c427109b8bfc3e314p-4 : inexact-ok
+rootn max -16383
+= rootn downward binary32 0xf.fffffp+124 -16383LL : 0xf.e9e0bp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -16383LL : 0xf.e9e0cp-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -16383LL : 0xf.e9e0bp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -16383LL : 0xf.e9e0cp-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -16383LL : 0xf.e9e0bd8836788p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883679p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -16383LL : 0xf.e9e0bd8836788p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883679p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68eeep-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68eee8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68eeep-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68eee8p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68ecp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68fp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68ecp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -16383LL : 0xf.e9e0bd883678fdccd020ce68fp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe1p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe18p-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe1p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe18p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14cp-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bfp-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14cp-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458fcp-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4459p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4458cp-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -16383LL : 0xf.525529972fe14bf38e29a4459p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e776p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e776p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -16383LL : 0x7.ffe9d183072e7758ee21a412200cp-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : 0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : 0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : 0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : 0x7.ffe9d183072e7758ee01a3ead964p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077fc8p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d078p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d077cp-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : 0xf.525529972fe14bf299007d078p-4 : inexact-ok
+rootn max -0x1000001
+= rootn downward binary32 0xf.fffffp+124 -16777217LL : 0xf.fffa7p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -16777217LL : 0xf.fffa7p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -16777217LL : 0xf.fffa7p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -16777217LL : 0xf.fffa8p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bda8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdbp-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bda8p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdbp-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528c8p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -16777217LL : 0xf.fffa74703bdad3dde653a1e52cp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaa8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adabp-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaa8p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adabp-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac02p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac02p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d97d8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d97ep-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d97d8p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d97ep-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d94p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d98p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d94p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -16777217LL : 0xf.ffd3a3b7adaac010230cb25d98p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb799p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb799p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa08fc7461p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa07fca0bap-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa07fca0ba8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa07fca0bap-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : 0xf.fd3a751ed4cb7986faa07fca0ba8p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f4908p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : 0xf.ffd3a3b7adaac01022ccb30f4cp-4 : inexact-ok
+rootn max -0x10000000000001
+= rootn downward binary32 0xf.fffffp+124 -4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -4503599627370497LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -4503599627370497LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa7p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa78p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa7p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa78p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa747p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa747p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f33ap-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f3p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f34p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f3p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -4503599627370497LL : 0xf.ffffffffffa746f40517193f34p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3ap-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3ap-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3ap-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a8p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37bp-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37bp-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53158p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc5316p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53158p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc5316p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc534p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a1p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a1p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : 0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52d58p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52d6p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52d58p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52d6p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : 0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+rootn max -0x7fffffffffffffff
+= rootn downward binary32 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e3088p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -9223372036854775807LL : 0xf.fffffffffffff4e8de80a2e30cp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa75p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa75p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f40417184428p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171848p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa747p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa747p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa747p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa747p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffp+16380 -9223372036854775807LL : 0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : 0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : 0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : 0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : 0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f40417184418p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f40417184418p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : 0xf.ffffffffffffa746f404171848p-4 : inexact-ok
+rootn -max -1
+= rootn downward binary32 -0xf.fffffp+124 -1LL : -0x1.000008p-128 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -1LL : -0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -1LL : -0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn upward binary32 -0xf.fffffp+124 -1LL : -0x1p-128 : inexact-ok underflow errno-erange-ok
+= rootn downward binary64 -0xf.fffffp+124 -1LL : -0x1.0000010000011p-128 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -1LL : -0x1.0000010000010002p-128 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -1LL : -0x1.0000010000010002p-128 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -1LL : -0x1.000001000001p-128 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -1LL : -0x1.0000010000010000010000010001p-128 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001008p-128 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -1LL : -0x1.000001000001000001000001p-128 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -1LL : -0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.0000000000000802p-1024 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.0000000000000802p-1024 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -1LL : -0x1.00000000000008p-1024 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -1LL : -0x1.0000000000000800000000000041p-1024 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -1LL : -0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -1LL : -0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -1LL : -0x1.000000000000080000000000004p-1024 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -1LL : -0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000008p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000001000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -1LL : -0x1.0000000000000001p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1LL : -0x1.0000000000000000000000000004p-16384 : inexact-ok underflow errno-erange-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1LL : -0x1p-16384 : inexact-ok underflow errno-erange-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1.0000000000000400000000000051p-1024 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1.000000000000040000000000005p-1024 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1.0000000000004p-1024 : inexact-ok underflow errno-erange-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1LL : -0x1p-1024 : inexact-ok underflow errno-erange-ok
+rootn -max -3
+= rootn downward binary32 -0xf.fffffp+124 -3LL : -0x2.851464p-44 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -3LL : -0x2.85146p-44 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -3LL : -0x2.85146p-44 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -3LL : -0x2.85146p-44 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -3LL : -0x2.85146008b51c6p-44 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -3LL : -0x2.85146008b51c6p-44 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -3LL : -0x2.85146008b51c4p-44 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -3LL : -0x2.85146008b51c4p-44 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c5184p-44 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c5184p-44 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c518p-44 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c518p-44 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c5184p-44 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c5184p-44 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c518p-44 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -3LL : -0x2.85146008b51c518p-44 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609bp-44 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609aep-44 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f60ap-44 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f60ap-44 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609p-44 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -3LL : -0x2.85146008b51c51831e3246f609p-44 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f4p-344 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f4p-344 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8fp-344 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8fp-344 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f31ap-344 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f31ap-344 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f3198p-344 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a751cp-344 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a751cp-344 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a7518p-344 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a7518p-344 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a76p-344 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a76p-344 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a74p-344 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -3LL : -0x6.597fa94f5b8f319ac029e91a74p-344 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20bp-5464 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20a8p-5464 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20ae343ba340c044p-5464 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20ae343ba340c044p-5464 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20ae343ba340c04p-5464 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -3LL : -0x6.597fa94f5b8f20ae343ba340c04p-5464 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -3LL : -0x6.597fa94f5b8f20ac16666ad0f718p-5464 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -3LL : -0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -3LL : -0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -3LL : -0x6.597fa94f5b8f20ac16666ad0f714p-5464 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b688p-344 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b688p-344 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b684p-344 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b684p-344 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b8p-344 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -3LL : -0x6.597fa94f5b8f29236b4829f5b6p-344 : inexact-ok
+rootn -max -5
+= rootn downward binary32 -0xf.fffffp+124 -5LL : -0x5.472d18p-28 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -5LL : -0x5.472d18p-28 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -5LL : -0x5.472d1p-28 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -5LL : -0x5.472d1p-28 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -5LL : -0x5.472d15fc91134p-28 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113p-28 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113p-28 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113p-28 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113166p-28 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113166p-28 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -5LL : -0x5.472d15fc91131658p-28 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -5LL : -0x5.472d15fc91131658p-28 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113166p-28 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113166p-28 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -5LL : -0x5.472d15fc91131658p-28 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -5LL : -0x5.472d15fc91131658p-28 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b83674p-28 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b83674p-28 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b8367p-28 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b8367p-28 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b838p-28 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -5LL : -0x5.472d15fc9113165c35bd35b836p-28 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a8p-208 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a8p-208 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733ap-208 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733ap-208 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a1p-208 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a1p-208 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5ap-208 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfe38p-208 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfe38p-208 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfe3p-208 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfe3p-208 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728dp-208 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728dp-208 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfcp-208 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -5LL : -0x9.3088c35d733a5a069ef7728cfcp-208 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b6p-3280 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b6p-3280 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b5p-3280 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b546773d0e7515p-3280 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b546773d0e7515p-3280 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b546773d0e75148p-3280 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -5LL : -0x9.3088c35d733a4b546773d0e75148p-3280 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -5LL : -0x9.3088c35d733a4b5290f2103b0718p-3280 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -5LL : -0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -5LL : -0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -5LL : -0x9.3088c35d733a4b5290f2103b071p-3280 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c1640308p-208 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c1640308p-208 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c16403p-208 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c16403p-208 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c16404p-208 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c16404p-208 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c164p-208 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -5LL : -0x9.3088c35d733a52ac97f4c164p-208 : inexact-ok
+rootn -max -63
+= rootn downward binary32 -0xf.fffffp+124 -63LL : -0x3.e9b6ap-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -63LL : -0x3.e9b69cp-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -63LL : -0x3.e9b69cp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -63LL : -0x3.e9b69cp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8ep-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8ep-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8cp-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8cp-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d838p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d834p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b326p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b324p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b4p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -63LL : -0x3.e9b69c3845b8d836a422c730b3p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63dp-20 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63c8p-20 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca95p-20 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94p-20 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793ab8p-20 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793ab8p-20 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793ab78p-20 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793ab78p-20 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793acp-20 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793acp-20 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793a8p-20 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -63LL : -0xd.6ad9d250b63ca94f07cd1793a8p-20 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed24p-264 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed24p-264 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23p-264 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23224859b01db2p-264 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -63LL : -0xf.4fa5937621aed23224859b01db18p-264 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -63LL : -0xf.4fa5937621aed231e64e26e3895p-264 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -63LL : -0xf.4fa5937621aed231e64e26e3895p-264 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -63LL : -0xf.4fa5937621aed231e64e26e38948p-264 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -63LL : -0xf.4fa5937621aed231e64e26e38948p-264 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48b4p-20 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48b38p-20 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48cp-20 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea48cp-20 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea488p-20 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -63LL : -0xd.6ad9d250b63ca874f1d81ea488p-20 : inexact-ok
+rootn -max -127
+= rootn downward binary32 -0xf.fffffp+124 -127LL : -0x7.f4da5p-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -127LL : -0x7.f4da5p-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -127LL : -0x7.f4da48p-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -127LL : -0x7.f4da48p-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d8p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d4p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad8p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad8p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5adp-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eb48p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eb48p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eb44p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eb44p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4ecp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4ecp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eap-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -127LL : -0x7.f4da4f024e6d5ad300df57d4eap-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae164398p-12 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae16439p-12 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae16439p-12 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae16439p-12 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933ep-12 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933ep-12 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933dp-12 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60d28p-12 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60d28p-12 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60d2p-12 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60d2p-12 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde61p-12 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -127LL : -0xf.51015ae1643933d33140fde60cp-12 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5248p-132 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a52478p-132 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5247cf74f24915758p-132 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5247cf74f24915758p-132 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5247cf74f24915754p-132 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -127LL : -0x7.f4da4ef244a5247cf74f24915754p-132 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -127LL : -0x7.f4da4ef244a5247ce7455c63164cp-132 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -127LL : -0x7.f4da4ef244a5247ce7455c63164cp-132 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -127LL : -0x7.f4da4ef244a5247ce7455c631648p-132 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -127LL : -0x7.f4da4ef244a5247ce7455c631648p-132 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b238150931bp-12 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b238150931a8p-12 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b238150934p-12 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b23815093p-12 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b23815093p-12 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -127LL : -0xf.51015ae164393357b23815093p-12 : inexact-ok
+rootn -max -255
+= rootn downward binary32 -0xf.fffffp+124 -255LL : -0xb.4c603p-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -255LL : -0xb.4c603p-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -255LL : -0xb.4c602p-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -255LL : -0xb.4c602p-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c8p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9cp-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a6p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a6p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a5p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62f08p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62f078p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62f4p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -255LL : -0xb.4c602a02eb9c2a56fdbf6f62fp-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4fp-8 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e8p-8 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82fp-8 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82fp-8 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82ep-8 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c25p-8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c25p-8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c248p-8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c248p-8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c4p-8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5c4p-8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5cp-8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -255LL : -0xf.d3b4b2cd6e4e82e714b6c3d5cp-8 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34832p-68 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34832p-68 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af34831p-68 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af3483107dadb6dbd188p-68 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -255LL : -0xd.71f8cf08af3483107dadb6dbd18p-68 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -255LL : -0xd.71f8cf08af348310702e3e948188p-68 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -255LL : -0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -255LL : -0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -255LL : -0xd.71f8cf08af348310702e3e94818p-68 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a7p-8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a6f8p-8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a8p-8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a8p-8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a4p-8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -255LL : -0xf.d3b4b2cd6e4e82a786559773a4p-8 : inexact-ok
+rootn -max -511
+= rootn downward binary32 -0xf.fffffp+124 -511LL : -0xd.7324ep-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -511LL : -0xd.7324dp-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -511LL : -0xd.7324dp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -511LL : -0xd.7324dp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca8p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca8p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1cap-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1cap-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c2p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c2p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c1p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc5a8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc5a8p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc5ap-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc5ap-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc8p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -511LL : -0xd.7324d6e5b1ca5c135dadeb0cc4p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf5p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4ep-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a8p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a8p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a4p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e33p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e32ep-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e4p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -511LL : -0x3.fd39cac5aaf4e9a5e9b6e819e3p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293cp-36 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293cp-36 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293bp-36 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293b2bd58b9452b48p-36 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293b2bd58b9452b48p-36 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293b2bd58b9452b4p-36 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -511LL : -0xf.5202b197df1293b2bd58b9452b4p-36 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -511LL : -0xf.5202b197df1293b2b5abe1807d08p-36 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -511LL : -0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -511LL : -0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -511LL : -0xf.5202b197df1293b2b5abe1807dp-36 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713dep-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713dep-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713dcp-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713dcp-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192714p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192714p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -511LL : -0x3.fd39cac5aaf4e99deb44192713p-4 : inexact-ok
+rootn -max -1023
+= rootn downward binary32 -0xf.fffffp+124 -1023LL : -0xe.abbbp-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -1023LL : -0xe.abbbp-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -1023LL : -0xe.abbafp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -1023LL : -0xe.abbafp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf8p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdfp-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28dp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28dp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28cp-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56eb98p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56eb9p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56ecp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56ecp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56e8p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -1023LL : -0xe.abbaff12bfdf28c387f85f56e8p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c428p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c428p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c424p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c424p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427118p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427118p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c42711p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf38334p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf38334p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf3833p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf3833p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf384p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf384p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf382p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -1023LL : -0x7.fe9ce1ce2c427111b95cccf382p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca5p-20 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca5p-20 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4p-20 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4019f762560e08p-20 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -1023LL : -0xf.d3d5c5880a2cca4019f762560ep-20 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : -0xf.d3d5c5880a2cca4016016f67f08p-20 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : -0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : -0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -1023LL : -0xf.d3d5c5880a2cca4016016f67f078p-20 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312d8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312d4p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e314p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1023LL : -0x7.fe9ce1ce2c427109b8bfc3e312p-4 : inexact-ok
+rootn -max -16383
+= rootn downward binary32 -0xf.fffffp+124 -16383LL : -0xf.e9e0cp-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -16383LL : -0xf.e9e0cp-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -16383LL : -0xf.e9e0bp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -16383LL : -0xf.e9e0bp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883679p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883679p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd8836788p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd8836788p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fddp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdcp-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68eee8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68eee8p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68eeep-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68eeep-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68fp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68fp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68ecp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -16383LL : -0xf.e9e0bd883678fdccd020ce68ecp-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe18p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe18p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe1p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe1p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14cp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14cp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bfp-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458fcp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458fb8p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4459p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4459p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -16383LL : -0xf.525529972fe14bf38e29a4458cp-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e776p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e776p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758ee21a412200cp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -16383LL : -0x7.ffe9d183072e7758ee21a4122008p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : -0x7.ffe9d183072e7758ee01a3ead964p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : -0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : -0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16383LL : -0x7.ffe9d183072e7758ee01a3ead96p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077fc8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077fcp-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d078p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d078p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16383LL : -0xf.525529972fe14bf299007d077cp-4 : inexact-ok
+rootn -max -0x1000001
+= rootn downward binary32 -0xf.fffffp+124 -16777217LL : -0xf.fffa8p-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -16777217LL : -0xf.fffa7p-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -16777217LL : -0xf.fffa7p-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -16777217LL : -0xf.fffa7p-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdbp-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdbp-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bda8p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bda8p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3ep-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dp-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528c8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528cp-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e52cp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -16777217LL : -0xf.fffa74703bdad3dde653a1e528p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adabp-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adabp-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaa8p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaa8p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac02p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac02p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac01p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d97ep-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d97ep-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d97d8p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d97d8p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d98p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d98p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d94p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -16777217LL : -0xf.ffd3a3b7adaac010230cb25d94p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb799p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb799p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb798p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa08fc7461p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa08fc74608p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa07fca0ba8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa07fca0ba8p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa07fca0bap-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -16777217LL : -0xf.fd3a751ed4cb7986faa07fca0bap-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f4908p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f49p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f4cp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -16777217LL : -0xf.ffd3a3b7adaac01022ccb30f48p-4 : inexact-ok
+rootn -max -0x10000000000001
+= rootn downward binary32 -0xf.fffffp+124 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -4503599627370497LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -4503599627370497LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa78p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa78p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa7p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa7p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa747p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa747p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746fp-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f33ap-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f3398p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f34p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f34p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f3p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -4503599627370497LL : -0xf.ffffffffffa746f40517193f3p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a8p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3ap-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3ap-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3ap-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37bp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37bp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37ap-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc5316p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc5316p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53158p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53158p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc534p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a1p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a1p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37ap-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4fp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -4503599627370497LL : -0xf.ffffffffd3a37a020bc9a3d6d4e8p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52d6p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52d6p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52d58p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52d58p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc53p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -4503599627370497LL : -0xf.fffffffffd3a37a020b8ffc52cp-4 : inexact-ok
+rootn -max -0x7fffffffffffffff
+= rootn downward binary32 -0xf.fffffp+124 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4fp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4ep-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e3088p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e30878p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e30cp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -9223372036854775807LL : -0xf.fffffffffffff4e8de80a2e308p-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffff8p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa75p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa75p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa74p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f40417184428p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171848p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa747p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa747p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa747p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa747p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffp+16380 -9223372036854775807LL : -0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : -0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : -0xf.fffffffffffa746f404171852898p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : -0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 -9223372036854775807LL : -0xf.fffffffffffa746f40417185289p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f4041718442p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f40417184418p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f40417184418p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171848p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -9223372036854775807LL : -0xf.ffffffffffffa746f404171844p-4 : inexact-ok
+rootn 1 123
+= rootn downward binary32 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest intel96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero intel96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward intel96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn downward m68k96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest m68k96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero m68k96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward m68k96 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn downward binary128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward binary128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn downward ibm128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn tonearest ibm128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn towardzero ibm128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+= rootn upward ibm128 0x1p+0 123LL : 0x1p+0 : inexact-ok
+rootn 1 -123
+= rootn downward binary32 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest intel96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero intel96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward intel96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn downward m68k96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest m68k96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero m68k96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward m68k96 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn downward binary128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward binary128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn downward ibm128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn tonearest ibm128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn towardzero ibm128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+= rootn upward ibm128 0x1p+0 -123LL : 0x1p+0 : inexact-ok
+rootn 1 1234
+= rootn downward binary32 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest intel96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero intel96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward intel96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn downward m68k96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest m68k96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero m68k96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward m68k96 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn downward binary128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn downward ibm128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest ibm128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero ibm128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+= rootn upward ibm128 0x1p+0 1234LL : 0x1p+0 : inexact-ok
+rootn 1 -1234
+= rootn downward binary32 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary32 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary32 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary32 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn downward binary64 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary64 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary64 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary64 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn downward intel96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest intel96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero intel96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward intel96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn downward m68k96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest m68k96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero m68k96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward m68k96 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn downward binary128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest binary128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero binary128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward binary128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn downward ibm128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn tonearest ibm128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn towardzero ibm128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+= rootn upward ibm128 0x1p+0 -1234LL : 0x1p+0 : inexact-ok
+rootn -1 123
+= rootn downward binary32 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest intel96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero intel96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward intel96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn downward m68k96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest m68k96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero m68k96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward m68k96 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn downward binary128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward binary128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn downward ibm128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn tonearest ibm128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn towardzero ibm128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+= rootn upward ibm128 -0x1p+0 123LL : -0x1p+0 : inexact-ok
+rootn -1 -123
+= rootn downward binary32 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary32 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary32 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward binary32 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn downward binary64 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary64 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary64 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward binary64 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn downward intel96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest intel96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero intel96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward intel96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn downward m68k96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest m68k96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero m68k96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward m68k96 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn downward binary128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest binary128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero binary128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward binary128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn downward ibm128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn tonearest ibm128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn towardzero ibm128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+= rootn upward ibm128 -0x1p+0 -123LL : -0x1p+0 : inexact-ok
+rootn 2 123
+= rootn downward binary32 0x2p+0 123LL : 0x1.01725cp+0 : inexact-ok
+= rootn tonearest binary32 0x2p+0 123LL : 0x1.01725cp+0 : inexact-ok
+= rootn towardzero binary32 0x2p+0 123LL : 0x1.01725cp+0 : inexact-ok
+= rootn upward binary32 0x2p+0 123LL : 0x1.01725ep+0 : inexact-ok
+= rootn downward binary64 0x2p+0 123LL : 0x1.01725c43b5cc9p+0 : inexact-ok
+= rootn tonearest binary64 0x2p+0 123LL : 0x1.01725c43b5ccap+0 : inexact-ok
+= rootn towardzero binary64 0x2p+0 123LL : 0x1.01725c43b5cc9p+0 : inexact-ok
+= rootn upward binary64 0x2p+0 123LL : 0x1.01725c43b5ccap+0 : inexact-ok
+= rootn downward intel96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn tonearest intel96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn towardzero intel96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn upward intel96 0x2p+0 123LL : 0x1.01725c43b5cc9ffep+0 : inexact-ok
+= rootn downward m68k96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn tonearest m68k96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn towardzero m68k96 0x2p+0 123LL : 0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn upward m68k96 0x2p+0 123LL : 0x1.01725c43b5cc9ffep+0 : inexact-ok
+= rootn downward binary128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187685fep+0 : inexact-ok
+= rootn tonearest binary128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187685ffp+0 : inexact-ok
+= rootn towardzero binary128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187685fep+0 : inexact-ok
+= rootn upward binary128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187685ffp+0 : inexact-ok
+= rootn downward ibm128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc68791876858p+0 : inexact-ok
+= rootn tonearest ibm128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187686p+0 : inexact-ok
+= rootn towardzero ibm128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc68791876858p+0 : inexact-ok
+= rootn upward ibm128 0x2p+0 123LL : 0x1.01725c43b5cc9ffc6879187686p+0 : inexact-ok
+rootn 2 -123
+= rootn downward binary32 0x2p+0 -123LL : 0xf.e8fb8p-4 : inexact-ok
+= rootn tonearest binary32 0x2p+0 -123LL : 0xf.e8fb9p-4 : inexact-ok
+= rootn towardzero binary32 0x2p+0 -123LL : 0xf.e8fb8p-4 : inexact-ok
+= rootn upward binary32 0x2p+0 -123LL : 0xf.e8fb9p-4 : inexact-ok
+= rootn downward binary64 0x2p+0 -123LL : 0xf.e8fb888504698p-4 : inexact-ok
+= rootn tonearest binary64 0x2p+0 -123LL : 0xf.e8fb888504698p-4 : inexact-ok
+= rootn towardzero binary64 0x2p+0 -123LL : 0xf.e8fb888504698p-4 : inexact-ok
+= rootn upward binary64 0x2p+0 -123LL : 0xf.e8fb8885046ap-4 : inexact-ok
+= rootn downward intel96 0x2p+0 -123LL : 0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn tonearest intel96 0x2p+0 -123LL : 0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn towardzero intel96 0x2p+0 -123LL : 0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn upward intel96 0x2p+0 -123LL : 0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn downward m68k96 0x2p+0 -123LL : 0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn tonearest m68k96 0x2p+0 -123LL : 0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn towardzero m68k96 0x2p+0 -123LL : 0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn upward m68k96 0x2p+0 -123LL : 0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn downward binary128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn tonearest binary128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn towardzero binary128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn upward binary128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc98p-4 : inexact-ok
+= rootn downward ibm128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+= rootn tonearest ibm128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+= rootn towardzero ibm128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+= rootn upward ibm128 0x2p+0 -123LL : 0xf.e8fb88850469a58db45c079bccp-4 : inexact-ok
+rootn 2 1234
+= rootn downward binary32 0x2p+0 1234LL : 0x1.0024d2p+0 : inexact-ok
+= rootn tonearest binary32 0x2p+0 1234LL : 0x1.0024d2p+0 : inexact-ok
+= rootn towardzero binary32 0x2p+0 1234LL : 0x1.0024d2p+0 : inexact-ok
+= rootn upward binary32 0x2p+0 1234LL : 0x1.0024d4p+0 : inexact-ok
+= rootn downward binary64 0x2p+0 1234LL : 0x1.0024d28978755p+0 : inexact-ok
+= rootn tonearest binary64 0x2p+0 1234LL : 0x1.0024d28978756p+0 : inexact-ok
+= rootn towardzero binary64 0x2p+0 1234LL : 0x1.0024d28978755p+0 : inexact-ok
+= rootn upward binary64 0x2p+0 1234LL : 0x1.0024d28978756p+0 : inexact-ok
+= rootn downward intel96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn tonearest intel96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn towardzero intel96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn upward intel96 0x2p+0 1234LL : 0x1.0024d28978755da6p+0 : inexact-ok
+= rootn downward m68k96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn tonearest m68k96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn towardzero m68k96 0x2p+0 1234LL : 0x1.0024d28978755da4p+0 : inexact-ok
+= rootn upward m68k96 0x2p+0 1234LL : 0x1.0024d28978755da6p+0 : inexact-ok
+= rootn downward binary128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e622p+0 : inexact-ok
+= rootn tonearest binary128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e622p+0 : inexact-ok
+= rootn towardzero binary128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e622p+0 : inexact-ok
+= rootn upward binary128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e623p+0 : inexact-ok
+= rootn downward ibm128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e6p+0 : inexact-ok
+= rootn tonearest ibm128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e6p+0 : inexact-ok
+= rootn towardzero ibm128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e6p+0 : inexact-ok
+= rootn upward ibm128 0x2p+0 1234LL : 0x1.0024d28978755da4c276c547e68p+0 : inexact-ok
+rootn 2 -1234
+= rootn downward binary32 0x2p+0 -1234LL : 0xf.fdb32p-4 : inexact-ok
+= rootn tonearest binary32 0x2p+0 -1234LL : 0xf.fdb33p-4 : inexact-ok
+= rootn towardzero binary32 0x2p+0 -1234LL : 0xf.fdb32p-4 : inexact-ok
+= rootn upward binary32 0x2p+0 -1234LL : 0xf.fdb33p-4 : inexact-ok
+= rootn downward binary64 0x2p+0 -1234LL : 0xf.fdb32c1a86f38p-4 : inexact-ok
+= rootn tonearest binary64 0x2p+0 -1234LL : 0xf.fdb32c1a86f4p-4 : inexact-ok
+= rootn towardzero binary64 0x2p+0 -1234LL : 0xf.fdb32c1a86f38p-4 : inexact-ok
+= rootn upward binary64 0x2p+0 -1234LL : 0xf.fdb32c1a86f4p-4 : inexact-ok
+= rootn downward intel96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfcp-4 : inexact-ok
+= rootn tonearest intel96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfdp-4 : inexact-ok
+= rootn towardzero intel96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfcp-4 : inexact-ok
+= rootn upward intel96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfdp-4 : inexact-ok
+= rootn downward m68k96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfcp-4 : inexact-ok
+= rootn tonearest m68k96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfdp-4 : inexact-ok
+= rootn towardzero m68k96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfcp-4 : inexact-ok
+= rootn upward m68k96 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfdp-4 : inexact-ok
+= rootn downward binary128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f86398p-4 : inexact-ok
+= rootn tonearest binary128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f86398p-4 : inexact-ok
+= rootn towardzero binary128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f86398p-4 : inexact-ok
+= rootn upward binary128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f863ap-4 : inexact-ok
+= rootn downward ibm128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f86p-4 : inexact-ok
+= rootn tonearest ibm128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f864p-4 : inexact-ok
+= rootn towardzero ibm128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f86p-4 : inexact-ok
+= rootn upward ibm128 0x2p+0 -1234LL : 0xf.fdb32c1a86f3dfc9e6a840f864p-4 : inexact-ok
+rootn -2 123
+= rootn downward binary32 -0x2p+0 123LL : -0x1.01725ep+0 : inexact-ok
+= rootn tonearest binary32 -0x2p+0 123LL : -0x1.01725cp+0 : inexact-ok
+= rootn towardzero binary32 -0x2p+0 123LL : -0x1.01725cp+0 : inexact-ok
+= rootn upward binary32 -0x2p+0 123LL : -0x1.01725cp+0 : inexact-ok
+= rootn downward binary64 -0x2p+0 123LL : -0x1.01725c43b5ccap+0 : inexact-ok
+= rootn tonearest binary64 -0x2p+0 123LL : -0x1.01725c43b5ccap+0 : inexact-ok
+= rootn towardzero binary64 -0x2p+0 123LL : -0x1.01725c43b5cc9p+0 : inexact-ok
+= rootn upward binary64 -0x2p+0 123LL : -0x1.01725c43b5cc9p+0 : inexact-ok
+= rootn downward intel96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffep+0 : inexact-ok
+= rootn tonearest intel96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn towardzero intel96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn upward intel96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn downward m68k96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffep+0 : inexact-ok
+= rootn tonearest m68k96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn towardzero m68k96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn upward m68k96 -0x2p+0 123LL : -0x1.01725c43b5cc9ffcp+0 : inexact-ok
+= rootn downward binary128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187685ffp+0 : inexact-ok
+= rootn tonearest binary128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187685ffp+0 : inexact-ok
+= rootn towardzero binary128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187685fep+0 : inexact-ok
+= rootn upward binary128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187685fep+0 : inexact-ok
+= rootn downward ibm128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187686p+0 : inexact-ok
+= rootn tonearest ibm128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc6879187686p+0 : inexact-ok
+= rootn towardzero ibm128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc68791876858p+0 : inexact-ok
+= rootn upward ibm128 -0x2p+0 123LL : -0x1.01725c43b5cc9ffc68791876858p+0 : inexact-ok
+rootn -2 -123
+= rootn downward binary32 -0x2p+0 -123LL : -0xf.e8fb9p-4 : inexact-ok
+= rootn tonearest binary32 -0x2p+0 -123LL : -0xf.e8fb9p-4 : inexact-ok
+= rootn towardzero binary32 -0x2p+0 -123LL : -0xf.e8fb8p-4 : inexact-ok
+= rootn upward binary32 -0x2p+0 -123LL : -0xf.e8fb8p-4 : inexact-ok
+= rootn downward binary64 -0x2p+0 -123LL : -0xf.e8fb8885046ap-4 : inexact-ok
+= rootn tonearest binary64 -0x2p+0 -123LL : -0xf.e8fb888504698p-4 : inexact-ok
+= rootn towardzero binary64 -0x2p+0 -123LL : -0xf.e8fb888504698p-4 : inexact-ok
+= rootn upward binary64 -0x2p+0 -123LL : -0xf.e8fb888504698p-4 : inexact-ok
+= rootn downward intel96 -0x2p+0 -123LL : -0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn tonearest intel96 -0x2p+0 -123LL : -0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn towardzero intel96 -0x2p+0 -123LL : -0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn upward intel96 -0x2p+0 -123LL : -0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn downward m68k96 -0x2p+0 -123LL : -0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn tonearest m68k96 -0x2p+0 -123LL : -0xf.e8fb88850469a59p-4 : inexact-ok
+= rootn towardzero m68k96 -0x2p+0 -123LL : -0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn upward m68k96 -0x2p+0 -123LL : -0xf.e8fb88850469a58p-4 : inexact-ok
+= rootn downward binary128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc98p-4 : inexact-ok
+= rootn tonearest binary128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn towardzero binary128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn upward binary128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc978p-4 : inexact-ok
+= rootn downward ibm128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bccp-4 : inexact-ok
+= rootn tonearest ibm128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+= rootn towardzero ibm128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+= rootn upward ibm128 -0x2p+0 -123LL : -0xf.e8fb88850469a58db45c079bc8p-4 : inexact-ok
+rootn 0x1.234p50 123
+= rootn downward binary32 0x4.8dp+48 123LL : 0x1.53ad28p+0 : inexact-ok
+= rootn tonearest binary32 0x4.8dp+48 123LL : 0x1.53ad28p+0 : inexact-ok
+= rootn towardzero binary32 0x4.8dp+48 123LL : 0x1.53ad28p+0 : inexact-ok
+= rootn upward binary32 0x4.8dp+48 123LL : 0x1.53ad2ap+0 : inexact-ok
+= rootn downward binary64 0x4.8dp+48 123LL : 0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn tonearest binary64 0x4.8dp+48 123LL : 0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn towardzero binary64 0x4.8dp+48 123LL : 0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn upward binary64 0x4.8dp+48 123LL : 0x1.53ad28bfc27bp+0 : inexact-ok
+= rootn downward intel96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn tonearest intel96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn towardzero intel96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn upward intel96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn downward m68k96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn tonearest m68k96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn towardzero m68k96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn upward m68k96 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn downward binary128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn tonearest binary128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn towardzero binary128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn upward binary128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457f3ep+0 : inexact-ok
+= rootn downward ibm128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+= rootn tonearest ibm128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+= rootn towardzero ibm128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+= rootn upward ibm128 0x4.8dp+48 123LL : 0x1.53ad28bfc27af0dbc4196a457f8p+0 : inexact-ok
+rootn 0x1.234p50 -123
+= rootn downward binary32 0x4.8dp+48 -123LL : 0xc.0efc3p-4 : inexact-ok
+= rootn tonearest binary32 0x4.8dp+48 -123LL : 0xc.0efc3p-4 : inexact-ok
+= rootn towardzero binary32 0x4.8dp+48 -123LL : 0xc.0efc3p-4 : inexact-ok
+= rootn upward binary32 0x4.8dp+48 -123LL : 0xc.0efc4p-4 : inexact-ok
+= rootn downward binary64 0x4.8dp+48 -123LL : 0xc.0efc307b7653p-4 : inexact-ok
+= rootn tonearest binary64 0x4.8dp+48 -123LL : 0xc.0efc307b7653p-4 : inexact-ok
+= rootn towardzero binary64 0x4.8dp+48 -123LL : 0xc.0efc307b7653p-4 : inexact-ok
+= rootn upward binary64 0x4.8dp+48 -123LL : 0xc.0efc307b76538p-4 : inexact-ok
+= rootn downward intel96 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn tonearest intel96 0x4.8dp+48 -123LL : 0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn towardzero intel96 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn upward intel96 0x4.8dp+48 -123LL : 0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn downward m68k96 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn tonearest m68k96 0x4.8dp+48 -123LL : 0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn towardzero m68k96 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn upward m68k96 0x4.8dp+48 -123LL : 0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn downward binary128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn tonearest binary128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn towardzero binary128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn upward binary128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e7978p-4 : inexact-ok
+= rootn downward ibm128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+= rootn tonearest ibm128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+= rootn towardzero ibm128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+= rootn upward ibm128 0x4.8dp+48 -123LL : 0xc.0efc307b76530ccc9b1c5d8e7cp-4 : inexact-ok
+rootn 0x1.234p50 1234
+= rootn downward binary32 0x4.8dp+48 1234LL : 0x1.0751bcp+0 : inexact-ok
+= rootn tonearest binary32 0x4.8dp+48 1234LL : 0x1.0751bep+0 : inexact-ok
+= rootn towardzero binary32 0x4.8dp+48 1234LL : 0x1.0751bcp+0 : inexact-ok
+= rootn upward binary32 0x4.8dp+48 1234LL : 0x1.0751bep+0 : inexact-ok
+= rootn downward binary64 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9p+0 : inexact-ok
+= rootn tonearest binary64 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9p+0 : inexact-ok
+= rootn towardzero binary64 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9p+0 : inexact-ok
+= rootn upward binary64 0x4.8dp+48 1234LL : 0x1.0751bdae6b4cap+0 : inexact-ok
+= rootn downward intel96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9578p+0 : inexact-ok
+= rootn tonearest intel96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c957ap+0 : inexact-ok
+= rootn towardzero intel96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9578p+0 : inexact-ok
+= rootn upward intel96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c957ap+0 : inexact-ok
+= rootn downward m68k96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9578p+0 : inexact-ok
+= rootn tonearest m68k96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c957ap+0 : inexact-ok
+= rootn towardzero m68k96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9578p+0 : inexact-ok
+= rootn upward m68k96 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c957ap+0 : inexact-ok
+= rootn downward binary128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe202p+0 : inexact-ok
+= rootn tonearest binary128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe202p+0 : inexact-ok
+= rootn towardzero binary128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe202p+0 : inexact-ok
+= rootn upward binary128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe203p+0 : inexact-ok
+= rootn downward ibm128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe2p+0 : inexact-ok
+= rootn tonearest ibm128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe2p+0 : inexact-ok
+= rootn towardzero ibm128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe2p+0 : inexact-ok
+= rootn upward ibm128 0x4.8dp+48 1234LL : 0x1.0751bdae6b4c9579f01442dbe28p+0 : inexact-ok
+rootn 0x1.234p50 -1234
+= rootn downward binary32 0x4.8dp+48 -1234LL : 0xf.8e257p-4 : inexact-ok
+= rootn tonearest binary32 0x4.8dp+48 -1234LL : 0xf.8e258p-4 : inexact-ok
+= rootn towardzero binary32 0x4.8dp+48 -1234LL : 0xf.8e257p-4 : inexact-ok
+= rootn upward binary32 0x4.8dp+48 -1234LL : 0xf.8e258p-4 : inexact-ok
+= rootn downward binary64 0x4.8dp+48 -1234LL : 0xf.8e257948d50dp-4 : inexact-ok
+= rootn tonearest binary64 0x4.8dp+48 -1234LL : 0xf.8e257948d50dp-4 : inexact-ok
+= rootn towardzero binary64 0x4.8dp+48 -1234LL : 0xf.8e257948d50dp-4 : inexact-ok
+= rootn upward binary64 0x4.8dp+48 -1234LL : 0xf.8e257948d50d8p-4 : inexact-ok
+= rootn downward intel96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148p-4 : inexact-ok
+= rootn tonearest intel96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d149p-4 : inexact-ok
+= rootn towardzero intel96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148p-4 : inexact-ok
+= rootn upward intel96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d149p-4 : inexact-ok
+= rootn downward m68k96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148p-4 : inexact-ok
+= rootn tonearest m68k96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d149p-4 : inexact-ok
+= rootn towardzero m68k96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148p-4 : inexact-ok
+= rootn upward m68k96 0x4.8dp+48 -1234LL : 0xf.8e257948d50d149p-4 : inexact-ok
+= rootn downward binary128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f94188p-4 : inexact-ok
+= rootn tonearest binary128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f9419p-4 : inexact-ok
+= rootn towardzero binary128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f94188p-4 : inexact-ok
+= rootn upward binary128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f9419p-4 : inexact-ok
+= rootn downward ibm128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f94p-4 : inexact-ok
+= rootn tonearest ibm128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f94p-4 : inexact-ok
+= rootn towardzero ibm128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f94p-4 : inexact-ok
+= rootn upward ibm128 0x4.8dp+48 -1234LL : 0xf.8e257948d50d148b321040f944p-4 : inexact-ok
+rootn -0x1.234p50 123
+= rootn downward binary32 -0x4.8dp+48 123LL : -0x1.53ad2ap+0 : inexact-ok
+= rootn tonearest binary32 -0x4.8dp+48 123LL : -0x1.53ad28p+0 : inexact-ok
+= rootn towardzero binary32 -0x4.8dp+48 123LL : -0x1.53ad28p+0 : inexact-ok
+= rootn upward binary32 -0x4.8dp+48 123LL : -0x1.53ad28p+0 : inexact-ok
+= rootn downward binary64 -0x4.8dp+48 123LL : -0x1.53ad28bfc27bp+0 : inexact-ok
+= rootn tonearest binary64 -0x4.8dp+48 123LL : -0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn towardzero binary64 -0x4.8dp+48 123LL : -0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn upward binary64 -0x4.8dp+48 123LL : -0x1.53ad28bfc27afp+0 : inexact-ok
+= rootn downward intel96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn tonearest intel96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn towardzero intel96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn upward intel96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn downward m68k96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn tonearest m68k96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dcp+0 : inexact-ok
+= rootn towardzero m68k96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn upward m68k96 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dap+0 : inexact-ok
+= rootn downward binary128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457f3ep+0 : inexact-ok
+= rootn tonearest binary128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn towardzero binary128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn upward binary128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457f3dp+0 : inexact-ok
+= rootn downward ibm128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457f8p+0 : inexact-ok
+= rootn tonearest ibm128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+= rootn towardzero ibm128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+= rootn upward ibm128 -0x4.8dp+48 123LL : -0x1.53ad28bfc27af0dbc4196a457fp+0 : inexact-ok
+rootn -0x1.234p50 -123
+= rootn downward binary32 -0x4.8dp+48 -123LL : -0xc.0efc4p-4 : inexact-ok
+= rootn tonearest binary32 -0x4.8dp+48 -123LL : -0xc.0efc3p-4 : inexact-ok
+= rootn towardzero binary32 -0x4.8dp+48 -123LL : -0xc.0efc3p-4 : inexact-ok
+= rootn upward binary32 -0x4.8dp+48 -123LL : -0xc.0efc3p-4 : inexact-ok
+= rootn downward binary64 -0x4.8dp+48 -123LL : -0xc.0efc307b76538p-4 : inexact-ok
+= rootn tonearest binary64 -0x4.8dp+48 -123LL : -0xc.0efc307b7653p-4 : inexact-ok
+= rootn towardzero binary64 -0x4.8dp+48 -123LL : -0xc.0efc307b7653p-4 : inexact-ok
+= rootn upward binary64 -0x4.8dp+48 -123LL : -0xc.0efc307b7653p-4 : inexact-ok
+= rootn downward intel96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn tonearest intel96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn towardzero intel96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn upward intel96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn downward m68k96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn tonearest m68k96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530cdp-4 : inexact-ok
+= rootn towardzero m68k96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn upward m68k96 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccp-4 : inexact-ok
+= rootn downward binary128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e7978p-4 : inexact-ok
+= rootn tonearest binary128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn towardzero binary128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn upward binary128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e797p-4 : inexact-ok
+= rootn downward ibm128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e7cp-4 : inexact-ok
+= rootn tonearest ibm128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+= rootn towardzero ibm128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+= rootn upward ibm128 -0x4.8dp+48 -123LL : -0xc.0efc307b76530ccc9b1c5d8e78p-4 : inexact-ok
+rootn 0x1.234p500 123
+= rootn downward binary32 0xf.fffffp+124 123LL : 0x2.0ea1bp+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 123LL : 0x2.0ea1b4p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 123LL : 0x2.0ea1bp+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 123LL : 0x2.0ea1b4p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986cp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn downward binary64 0x1.234p+500 123LL : 0x1.0c1618d82017dp+4 : inexact-ok
+= rootn tonearest binary64 0x1.234p+500 123LL : 0x1.0c1618d82017ep+4 : inexact-ok
+= rootn towardzero binary64 0x1.234p+500 123LL : 0x1.0c1618d82017dp+4 : inexact-ok
+= rootn upward binary64 0x1.234p+500 123LL : 0x1.0c1618d82017ep+4 : inexact-ok
+= rootn downward intel96 0x1.234p+500 123LL : 0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn tonearest intel96 0x1.234p+500 123LL : 0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn towardzero intel96 0x1.234p+500 123LL : 0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn upward intel96 0x1.234p+500 123LL : 0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn downward m68k96 0x1.234p+500 123LL : 0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn tonearest m68k96 0x1.234p+500 123LL : 0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn towardzero m68k96 0x1.234p+500 123LL : 0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn upward m68k96 0x1.234p+500 123LL : 0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn downward binary128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2aap+4 : inexact-ok
+= rootn tonearest binary128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2aa1p+4 : inexact-ok
+= rootn towardzero binary128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2aap+4 : inexact-ok
+= rootn upward binary128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2aa1p+4 : inexact-ok
+= rootn downward ibm128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+= rootn tonearest ibm128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+= rootn towardzero ibm128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+= rootn upward ibm128 0x1.234p+500 123LL : 0x1.0c1618d82017d89964fae23e2bp+4 : inexact-ok
+rootn 0x1.234p500 -123
+= rootn downward binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -123LL : 0x7.c7198p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117dcp-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d854p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d854p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588ep-4 : inexact-ok
+= rootn downward binary64 0x1.234p+500 -123LL : 0xf.475656eb4cd68p-8 : inexact-ok
+= rootn tonearest binary64 0x1.234p+500 -123LL : 0xf.475656eb4cd7p-8 : inexact-ok
+= rootn towardzero binary64 0x1.234p+500 -123LL : 0xf.475656eb4cd68p-8 : inexact-ok
+= rootn upward binary64 0x1.234p+500 -123LL : 0xf.475656eb4cd7p-8 : inexact-ok
+= rootn downward intel96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn tonearest intel96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn towardzero intel96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn upward intel96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd4p-8 : inexact-ok
+= rootn downward m68k96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn tonearest m68k96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn towardzero m68k96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn upward m68k96 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd4p-8 : inexact-ok
+= rootn downward binary128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8ab8p-8 : inexact-ok
+= rootn tonearest binary128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8acp-8 : inexact-ok
+= rootn towardzero binary128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8ab8p-8 : inexact-ok
+= rootn upward binary128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8acp-8 : inexact-ok
+= rootn downward ibm128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf88p-8 : inexact-ok
+= rootn tonearest ibm128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8cp-8 : inexact-ok
+= rootn towardzero ibm128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf88p-8 : inexact-ok
+= rootn upward ibm128 0x1.234p+500 -123LL : 0xf.475656eb4cd6cd3714500eaf8cp-8 : inexact-ok
+rootn 0x1.234p500 1234
+= rootn downward binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 1234LL : 0x1.13157ap+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7dcp+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7ddp+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7dcp+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7ddp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9ap+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9ap+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97bp+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d9p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d98p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d9p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d98p+0 : inexact-ok
+= rootn downward binary64 0x1.234p+500 1234LL : 0x1.530bc68fbf4acp+0 : inexact-ok
+= rootn tonearest binary64 0x1.234p+500 1234LL : 0x1.530bc68fbf4adp+0 : inexact-ok
+= rootn towardzero binary64 0x1.234p+500 1234LL : 0x1.530bc68fbf4acp+0 : inexact-ok
+= rootn upward binary64 0x1.234p+500 1234LL : 0x1.530bc68fbf4adp+0 : inexact-ok
+= rootn downward intel96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn tonearest intel96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn towardzero intel96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn upward intel96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98ap+0 : inexact-ok
+= rootn downward m68k96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn tonearest m68k96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn towardzero m68k96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac988p+0 : inexact-ok
+= rootn upward m68k96 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98ap+0 : inexact-ok
+= rootn downward binary128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd258cfp+0 : inexact-ok
+= rootn tonearest binary128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd258cfp+0 : inexact-ok
+= rootn towardzero binary128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd258cfp+0 : inexact-ok
+= rootn upward binary128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd258dp+0 : inexact-ok
+= rootn downward ibm128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd2588p+0 : inexact-ok
+= rootn tonearest ibm128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd259p+0 : inexact-ok
+= rootn towardzero ibm128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd2588p+0 : inexact-ok
+= rootn upward ibm128 0x1.234p+500 1234LL : 0x1.530bc68fbf4ac98802199cd259p+0 : inexact-ok
+rootn 0x1.234p500 -1234
+= rootn downward binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -1234LL : 0xe.e3d76p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c628p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e3p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e3p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4dp-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4d8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4dp-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4d8p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b8p-4 : inexact-ok
+= rootn downward binary64 0x1.234p+500 -1234LL : 0xc.14b992a9953d8p-4 : inexact-ok
+= rootn tonearest binary64 0x1.234p+500 -1234LL : 0xc.14b992a9953d8p-4 : inexact-ok
+= rootn towardzero binary64 0x1.234p+500 -1234LL : 0xc.14b992a9953d8p-4 : inexact-ok
+= rootn upward binary64 0x1.234p+500 -1234LL : 0xc.14b992a9953ep-4 : inexact-ok
+= rootn downward intel96 0x1.234p+500 -1234LL : 0xc.14b992a9953d945p-4 : inexact-ok
+= rootn tonearest intel96 0x1.234p+500 -1234LL : 0xc.14b992a9953d946p-4 : inexact-ok
+= rootn towardzero intel96 0x1.234p+500 -1234LL : 0xc.14b992a9953d945p-4 : inexact-ok
+= rootn upward intel96 0x1.234p+500 -1234LL : 0xc.14b992a9953d946p-4 : inexact-ok
+= rootn downward m68k96 0x1.234p+500 -1234LL : 0xc.14b992a9953d945p-4 : inexact-ok
+= rootn tonearest m68k96 0x1.234p+500 -1234LL : 0xc.14b992a9953d946p-4 : inexact-ok
+= rootn towardzero m68k96 0x1.234p+500 -1234LL : 0xc.14b992a9953d945p-4 : inexact-ok
+= rootn upward m68k96 0x1.234p+500 -1234LL : 0xc.14b992a9953d946p-4 : inexact-ok
+= rootn downward binary128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965499bp-4 : inexact-ok
+= rootn tonearest binary128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965499bp-4 : inexact-ok
+= rootn towardzero binary128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965499bp-4 : inexact-ok
+= rootn upward binary128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965499b8p-4 : inexact-ok
+= rootn downward ibm128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965498p-4 : inexact-ok
+= rootn tonearest ibm128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965498p-4 : inexact-ok
+= rootn towardzero ibm128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f965498p-4 : inexact-ok
+= rootn upward ibm128 0x1.234p+500 -1234LL : 0xc.14b992a9953d9458476f96549cp-4 : inexact-ok
+rootn -0x1.234p500 123
+= rootn downward binary32 -0xf.fffffp+124 123LL : -0x2.0ea1b4p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 123LL : -0x2.0ea1b4p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 123LL : -0x2.0ea1bp+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 123LL : -0x2.0ea1bp+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986cp+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn downward binary64 -0x1.234p+500 123LL : -0x1.0c1618d82017ep+4 : inexact-ok
+= rootn tonearest binary64 -0x1.234p+500 123LL : -0x1.0c1618d82017ep+4 : inexact-ok
+= rootn towardzero binary64 -0x1.234p+500 123LL : -0x1.0c1618d82017dp+4 : inexact-ok
+= rootn upward binary64 -0x1.234p+500 123LL : -0x1.0c1618d82017dp+4 : inexact-ok
+= rootn downward intel96 -0x1.234p+500 123LL : -0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn tonearest intel96 -0x1.234p+500 123LL : -0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn towardzero intel96 -0x1.234p+500 123LL : -0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn upward intel96 -0x1.234p+500 123LL : -0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn downward m68k96 -0x1.234p+500 123LL : -0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn tonearest m68k96 -0x1.234p+500 123LL : -0x1.0c1618d82017d89ap+4 : inexact-ok
+= rootn towardzero m68k96 -0x1.234p+500 123LL : -0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn upward m68k96 -0x1.234p+500 123LL : -0x1.0c1618d82017d898p+4 : inexact-ok
+= rootn downward binary128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2aa1p+4 : inexact-ok
+= rootn tonearest binary128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2aa1p+4 : inexact-ok
+= rootn towardzero binary128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2aap+4 : inexact-ok
+= rootn upward binary128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2aap+4 : inexact-ok
+= rootn downward ibm128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2bp+4 : inexact-ok
+= rootn tonearest ibm128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+= rootn towardzero ibm128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+= rootn upward ibm128 -0x1.234p+500 123LL : -0x1.0c1618d82017d89964fae23e2a8p+4 : inexact-ok
+rootn -0x1.234p500 -123
+= rootn downward binary32 -0xf.fffffp+124 -123LL : -0x7.c7198p-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117dcp-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d854p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d854p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588ep-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn downward binary64 -0x1.234p+500 -123LL : -0xf.475656eb4cd7p-8 : inexact-ok
+= rootn tonearest binary64 -0x1.234p+500 -123LL : -0xf.475656eb4cd7p-8 : inexact-ok
+= rootn towardzero binary64 -0x1.234p+500 -123LL : -0xf.475656eb4cd68p-8 : inexact-ok
+= rootn upward binary64 -0x1.234p+500 -123LL : -0xf.475656eb4cd68p-8 : inexact-ok
+= rootn downward intel96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd4p-8 : inexact-ok
+= rootn tonearest intel96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn towardzero intel96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn upward intel96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn downward m68k96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd4p-8 : inexact-ok
+= rootn tonearest m68k96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn towardzero m68k96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn upward m68k96 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3p-8 : inexact-ok
+= rootn downward binary128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8acp-8 : inexact-ok
+= rootn tonearest binary128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8acp-8 : inexact-ok
+= rootn towardzero binary128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8ab8p-8 : inexact-ok
+= rootn upward binary128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8ab8p-8 : inexact-ok
+= rootn downward ibm128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8cp-8 : inexact-ok
+= rootn tonearest ibm128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf8cp-8 : inexact-ok
+= rootn towardzero ibm128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf88p-8 : inexact-ok
+= rootn upward ibm128 -0x1.234p+500 -123LL : -0xf.475656eb4cd6cd3714500eaf88p-8 : inexact-ok
+rootn 0x9.8765p5000 123
+= rootn downward binary32 0xf.fffffp+124 123LL : 0x2.0ea1bp+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 123LL : 0x2.0ea1b4p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 123LL : 0x2.0ea1bp+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 123LL : 0x2.0ea1b4p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 123LL : 0x2.0ea1b3849986cp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 123LL : 0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dep+8 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e477p+8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e4p+8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e48p+8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e4p+8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 123LL : 0x1.40ba2ee94c9dd361c8754b98e48p+8 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 123LL : 0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 123LL : 0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 123LL : 0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 123LL : 0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 123LL : 0x1.9940af252022ef7bca6a0cca2444p+40 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f586922dp+8 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f586922ep+8 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f586922dp+8 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f586922ep+8 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 123LL : 0x1.40ba2ee94c9dd36c3693f586928p+8 : inexact-ok
+rootn 0x9.8765p5000 -123
+= rootn downward binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -123LL : 0x7.c71978p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -123LL : 0x7.c7198p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117d8p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -123LL : 0x7.c7197816117dcp-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -123LL : 0x7.c7197816117d854p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -123LL : 0x7.c7197816117d854p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -123LL : 0x7.c7197816117d8539c75883588ep-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbcp-12 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadep-12 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadep-12 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a9261cp-12 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a9261c8p-12 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a9261cp-12 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a9261c8p-12 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -123LL : 0xc.c55e9b53bfbbadd2134b2a9264p-12 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 -123LL : 0xa.022c321517735cp-44 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 -123LL : 0xa.022c321517735c1p-44 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 -123LL : 0xa.022c321517735cp-44 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 -123LL : 0xa.022c321517735c1p-44 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 -123LL : 0xa.022c321517735cp-44 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 -123LL : 0xa.022c321517735c1p-44 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 -123LL : 0xa.022c321517735cp-44 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 -123LL : 0xa.022c321517735c1p-44 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 -123LL : 0xa.022c321517735c0fcab5edd6c4a8p-44 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 -123LL : 0xa.022c321517735c0fcab5edd6c4bp-44 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 -123LL : 0xa.022c321517735c0fcab5edd6c4a8p-44 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 -123LL : 0xa.022c321517735c0fcab5edd6c4bp-44 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebf9p-12 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebf98p-12 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebf9p-12 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebf98p-12 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebcp-12 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cecp-12 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cebcp-12 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -123LL : 0xc.c55e9b53bfbbad67c120a6cecp-12 : inexact-ok
+rootn 0x9.8765p5000 1234
+= rootn downward binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 1234LL : 0x1.131578p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 1234LL : 0x1.13157ap+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7dcp+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7ddp+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7dcp+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 1234LL : 0x1.131578396c7ddp+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9ap+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce98p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9ap+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97ap+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d97bp+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d9p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d98p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d9p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 1234LL : 0x1.131578396c7dce9828074e15d98p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad3p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad3p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac2p+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac4p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac2p+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac4p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac2p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac4p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac2p+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac4p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939bfdp+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939bfep+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939bfdp+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939bfep+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939b8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939cp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939b8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 1234LL : 0x1.c707fdef6aad2ac3bcaadb939cp+0 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924cp+4 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ap+4 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924cp+4 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ace1d8619fa4cp+4 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ace1d8619fa4cp+4 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ace1d8619fa4cp+4 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 1234LL : 0x1.09db0d599eea924ace1d8619fa4dp+4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f917735p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f917736p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f917735p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f917736p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f9177p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f9177p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f9177p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234LL : 0x1.c707fdef6aad2ac536431f91778p+0 : inexact-ok
+rootn 0x9.8765p5000 -1234
+= rootn downward binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -1234LL : 0xe.e3d75p-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -1234LL : 0xe.e3d76p-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c62p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c628p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e3p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e2p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e3p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4dp-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4d8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4dp-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4d8p-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b4p-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -1234LL : 0xe.e3d755d34c622e20d0f98f50b8p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f48p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f5p-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f48p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f5p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e32p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e32p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e32p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e32p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdce8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdcfp-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdce8p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdcfp-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdcp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdcp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bdcp-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -1234LL : 0x9.00678f1b59f4e31ff87bb10bep-4 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186eep-8 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186edp-8 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186eep-8 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186ed01ed33202637p-8 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186ed01ed33202637p-8 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186ed01ed33202637p-8 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 -1234LL : 0xf.6827b30f7c186ed01ed332026378p-8 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb7583p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb7583p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb7583p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb75838p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb758p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb758p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb758p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234LL : 0x9.00678f1b59f4e318803cfdb75cp-4 : inexact-ok
+rootn 0x9.8765p5000 12345
+= rootn downward binary32 0xf.fffffp+124 12345LL : 0x1.01d8b2p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 12345LL : 0x1.01d8b4p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 12345LL : 0x1.01d8b2p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 12345LL : 0x1.01d8b4p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 12345LL : 0x1.01d8b34336119p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 12345LL : 0x1.01d8b3433611ap+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 12345LL : 0x1.01d8b34336119p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 12345LL : 0x1.01d8b3433611ap+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d4ap+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d4ap+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913ce4p+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913ce5p+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913ce4p+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913ce5p+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913c8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913dp+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913c8p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 12345LL : 0x1.01d8b34336119d48e78b6b913dp+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15p+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c16p+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15p+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c16p+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa3eep+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa3efp+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa3eep+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa3efp+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa38p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa4p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa38p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 12345LL : 0x1.0f267534b6c15a97c26d0eeaa4p+0 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ccp+0 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ccp+0 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 12345LL : 0x1.5308adb43e28e6ca0e2583e60532p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342dfb9p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 12345LL : 0x1.0f267534b6c15a97d8eae342ep+0 : inexact-ok
+rootn 0x9.8765p5000 -12345
+= rootn downward binary32 0xf.fffffp+124 -12345LL : 0xf.e2aafp-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -12345LL : 0xf.e2aafp-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -12345LL : 0xf.e2aafp-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -12345LL : 0xf.e2abp-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c2p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb3p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb3p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccd8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccep-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccd8p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccep-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -12345LL : 0xf.e2aaf522d0c1bb224a471022dp-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a05p-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd9p-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd9p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb250348p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb25p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb2504p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb25p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -12345LL : 0xf.1b23f2ea7a04bd8070a2cb2504p-4 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985156p-4 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 -12345LL : 0xc.14d5d33e2985156p-4 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 -12345LL : 0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 -12345LL : 0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 -12345LL : 0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 -12345LL : 0xc.14d5d33e29851555471a681e6aa8p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb773868p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb7738688p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb773868p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb7738688p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb77384p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb77388p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb77384p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : 0xf.1b23f2ea7a04bd7f2fdcb77388p-4 : inexact-ok
+rootn 0x9.8765p5000 1234567
+= rootn downward binary32 0xf.fffffp+124 1234567LL : 0x1.0004b4p+0 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 1234567LL : 0x1.0004b6p+0 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 1234567LL : 0x1.0004b4p+0 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 1234567LL : 0x1.0004b6p+0 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 1234567LL : 0x1.0004b5bf49885p+0 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 1234567LL : 0x1.0004b5bf49885p+0 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 1234567LL : 0x1.0004b5bf49885p+0 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 1234567LL : 0x1.0004b5bf49886p+0 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125375dp+0 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c07112537p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125378p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c07112537p+0 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 1234567LL : 0x1.0004b5bf4988502d3c071125378p+0 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787ccap+0 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787ccap+0 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787ccap+0 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787ccbp+0 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534e28p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 1234567LL : 0x1.0025b06787cca7cbcec982534e8p+0 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 1234567LL : 0x1.00b85ab300e5fa49e03ca401e732p+0 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a87p+0 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : 0x1.0025b06787cca7cbceffe6084bp+0 : inexact-ok
+rootn 0x9.8765p5000 -1234567
+= rootn downward binary32 0xf.fffffp+124 -1234567LL : 0xf.ffb4ap-4 : inexact-ok
+= rootn tonearest binary32 0xf.fffffp+124 -1234567LL : 0xf.ffb4ap-4 : inexact-ok
+= rootn towardzero binary32 0xf.fffffp+124 -1234567LL : 0xf.ffb4ap-4 : inexact-ok
+= rootn upward binary32 0xf.fffffp+124 -1234567LL : 0xf.ffb4bp-4 : inexact-ok
+= rootn downward binary64 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e51188p-4 : inexact-ok
+= rootn tonearest binary64 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5119p-4 : inexact-ok
+= rootn towardzero binary64 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e51188p-4 : inexact-ok
+= rootn upward binary64 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5119p-4 : inexact-ok
+= rootn downward intel96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn tonearest intel96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn towardzero intel96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn upward intel96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f12p-4 : inexact-ok
+= rootn downward m68k96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn tonearest m68k96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn towardzero m68k96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn upward m68k96 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f12p-4 : inexact-ok
+= rootn downward binary128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175ed8p-4 : inexact-ok
+= rootn tonearest binary128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175eep-4 : inexact-ok
+= rootn towardzero binary128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175ed8p-4 : inexact-ok
+= rootn upward binary128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175eep-4 : inexact-ok
+= rootn downward ibm128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175cp-4 : inexact-ok
+= rootn tonearest ibm128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b176p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b175cp-4 : inexact-ok
+= rootn upward ibm128 0xf.fffffp+124 -1234567LL : 0xf.ffb4a56e5118f11699069b176p-4 : inexact-ok
+= rootn downward binary64 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadc8p-4 : inexact-ok
+= rootn tonearest binary64 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eaddp-4 : inexact-ok
+= rootn towardzero binary64 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadc8p-4 : inexact-ok
+= rootn upward binary64 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eaddp-4 : inexact-ok
+= rootn downward intel96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn tonearest intel96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn towardzero intel96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn upward intel96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdadp-4 : inexact-ok
+= rootn downward m68k96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn tonearest m68k96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn towardzero m68k96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn upward m68k96 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdadp-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002753bp-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002753b8p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002753bp-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002753b8p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a00275p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002754p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a00275p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffff8p+1020 -1234567LL : 0xf.fda55241eadcdac6d72a002754p-4 : inexact-ok
+= rootn downward intel96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn tonearest intel96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn towardzero intel96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn upward intel96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f216ap-4 : inexact-ok
+= rootn downward m68k96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn tonearest m68k96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn towardzero m68k96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn upward m68k96 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f216ap-4 : inexact-ok
+= rootn downward binary128 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn tonearest binary128 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn towardzero binary128 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn upward binary128 0x9.8765p+5000 -1234567LL : 0xf.f4829b02a5f21697b70646b16228p-4 : inexact-ok
+= rootn downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db7958p-4 : inexact-ok
+= rootn tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db796p-4 : inexact-ok
+= rootn towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db7958p-4 : inexact-ok
+= rootn upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db796p-4 : inexact-ok
+= rootn downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
+= rootn tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
+= rootn towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
+= rootn upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : 0xf.fda55241eadcdac6d3c4c4db7cp-4 : inexact-ok
+rootn -0x9.8765p5000 123
+= rootn downward binary32 -0xf.fffffp+124 123LL : -0x2.0ea1b4p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 123LL : -0x2.0ea1b4p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 123LL : -0x2.0ea1bp+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 123LL : -0x2.0ea1bp+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986cp+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986ap+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aebp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeacp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d6p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84d4p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe85p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 123LL : -0x2.0ea1b3849986aeae00eedefe84p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dep+8 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9ddp+8 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd362p+8 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd36p+8 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e477p+8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e476p+8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e48p+8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e48p+8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e4p+8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 123LL : -0x1.40ba2ee94c9dd361c8754b98e4p+8 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7cp+40 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7ap+40 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7bca6a0cca2444p+40 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 123LL : -0x1.9940af252022ef7bca6a0cca2443p+40 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f586922ep+8 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f586922ep+8 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f586922dp+8 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f586922dp+8 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f586928p+8 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 123LL : -0x1.40ba2ee94c9dd36c3693f58692p+8 : inexact-ok
+rootn -0x9.8765p5000 -123
+= rootn downward binary32 -0xf.fffffp+124 -123LL : -0x7.c7198p-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -123LL : -0x7.c71978p-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117dcp-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d854p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d854p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8538p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c6cp-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588c68p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588ep-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -123LL : -0x7.c7197816117d8539c75883588cp-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbcp-12 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbb8p-12 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadep-12 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadep-12 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbaddp-12 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a9261c8p-12 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a9261c8p-12 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a9261cp-12 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a9261cp-12 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a9264p-12 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -123LL : -0xc.c55e9b53bfbbadd2134b2a926p-12 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 -123LL : -0xa.022c321517735c1p-44 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 -123LL : -0xa.022c321517735c1p-44 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 -123LL : -0xa.022c321517735cp-44 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 -123LL : -0xa.022c321517735cp-44 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 -123LL : -0xa.022c321517735c1p-44 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 -123LL : -0xa.022c321517735c1p-44 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 -123LL : -0xa.022c321517735cp-44 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 -123LL : -0xa.022c321517735cp-44 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 -123LL : -0xa.022c321517735c0fcab5edd6c4bp-44 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 -123LL : -0xa.022c321517735c0fcab5edd6c4bp-44 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 -123LL : -0xa.022c321517735c0fcab5edd6c4a8p-44 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 -123LL : -0xa.022c321517735c0fcab5edd6c4a8p-44 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebf98p-12 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebf98p-12 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebf9p-12 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebf9p-12 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cecp-12 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cecp-12 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebcp-12 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -123LL : -0xc.c55e9b53bfbbad67c120a6cebcp-12 : inexact-ok
+rootn -0x9.8765p5000 12345
+= rootn downward binary32 -0xf.fffffp+124 12345LL : -0x1.01d8b4p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 12345LL : -0x1.01d8b4p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 12345LL : -0x1.01d8b2p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 12345LL : -0x1.01d8b2p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 12345LL : -0x1.01d8b3433611ap+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 12345LL : -0x1.01d8b3433611ap+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d4ap+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d4ap+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48p+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913ce5p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913ce5p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913ce4p+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913ce4p+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913dp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913dp+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913c8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 12345LL : -0x1.01d8b34336119d48e78b6b913c8p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c16p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c16p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15p+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15p+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a98p+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a96p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa3efp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa3efp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa3eep+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa3eep+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa4p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa4p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa38p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 12345LL : -0x1.0f267534b6c15a97c26d0eeaa38p+0 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ccp+0 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ccp+0 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6cap+0 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ca0e2583e60532p+0 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 12345LL : -0x1.5308adb43e28e6ca0e2583e60531p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342dfb9p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342dfb8p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342ep+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 12345LL : -0x1.0f267534b6c15a97d8eae342df8p+0 : inexact-ok
+rootn -0x9.8765p5000 -12345
+= rootn downward binary32 -0xf.fffffp+124 -12345LL : -0xf.e2abp-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -12345LL : -0xf.e2aafp-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -12345LL : -0xf.e2aafp-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -12345LL : -0xf.e2aafp-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c2p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c18p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb3p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb3p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb2p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccep-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccep-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccd8p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccd8p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022dp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -12345LL : -0xf.e2aaf522d0c1bb224a471022ccp-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a05p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a048p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd9p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd9p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb250348p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb25034p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb2504p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb2504p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb25p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -12345LL : -0xf.1b23f2ea7a04bd8070a2cb25p-4 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985156p-4 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985156p-4 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e2985155p-4 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e29851555471a681e6aa8p-4 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 -12345LL : -0xc.14d5d33e29851555471a681e6aap-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb7738688p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb7738688p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb773868p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb773868p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb77388p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb77388p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb77384p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -12345LL : -0xf.1b23f2ea7a04bd7f2fdcb77384p-4 : inexact-ok
+rootn -0x9.8765p5000 1234567
+= rootn downward binary32 -0xf.fffffp+124 1234567LL : -0x1.0004b6p+0 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 1234567LL : -0x1.0004b6p+0 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 1234567LL : -0x1.0004b4p+0 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 1234567LL : -0x1.0004b4p+0 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf49886p+0 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf49885p+0 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf49885p+0 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf49885p+0 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502ep+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502cp+0 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125375dp+0 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125375cp+0 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125378p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c071125378p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c07112537p+0 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 1234567LL : -0x1.0004b5bf4988502d3c07112537p+0 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787ccbp+0 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787ccap+0 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787ccap+0 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787ccap+0 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7ccp+0 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cap+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534e28p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534e27p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534e8p+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 1234567LL : -0x1.0025b06787cca7cbcec982534ep+0 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa4ap+0 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa48p+0 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa49e03ca401e732p+0 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 1234567LL : -0x1.00b85ab300e5fa49e03ca401e731p+0 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a87p+0 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a86p+0 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084bp+0 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 1234567LL : -0x1.0025b06787cca7cbceffe6084a8p+0 : inexact-ok
+rootn -0x9.8765p5000 -1234567
+= rootn downward binary32 -0xf.fffffp+124 -1234567LL : -0xf.ffb4bp-4 : inexact-ok
+= rootn tonearest binary32 -0xf.fffffp+124 -1234567LL : -0xf.ffb4ap-4 : inexact-ok
+= rootn towardzero binary32 -0xf.fffffp+124 -1234567LL : -0xf.ffb4ap-4 : inexact-ok
+= rootn upward binary32 -0xf.fffffp+124 -1234567LL : -0xf.ffb4ap-4 : inexact-ok
+= rootn downward binary64 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5119p-4 : inexact-ok
+= rootn tonearest binary64 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5119p-4 : inexact-ok
+= rootn towardzero binary64 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e51188p-4 : inexact-ok
+= rootn upward binary64 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e51188p-4 : inexact-ok
+= rootn downward intel96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f12p-4 : inexact-ok
+= rootn tonearest intel96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn towardzero intel96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn upward intel96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn downward m68k96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f12p-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn upward m68k96 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11p-4 : inexact-ok
+= rootn downward binary128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175eep-4 : inexact-ok
+= rootn tonearest binary128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175eep-4 : inexact-ok
+= rootn towardzero binary128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175ed8p-4 : inexact-ok
+= rootn upward binary128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175ed8p-4 : inexact-ok
+= rootn downward ibm128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b176p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b176p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175cp-4 : inexact-ok
+= rootn upward ibm128 -0xf.fffffp+124 -1234567LL : -0xf.ffb4a56e5118f11699069b175cp-4 : inexact-ok
+= rootn downward binary64 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eaddp-4 : inexact-ok
+= rootn tonearest binary64 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eaddp-4 : inexact-ok
+= rootn towardzero binary64 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadc8p-4 : inexact-ok
+= rootn upward binary64 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadc8p-4 : inexact-ok
+= rootn downward intel96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdadp-4 : inexact-ok
+= rootn tonearest intel96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn towardzero intel96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn upward intel96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn downward m68k96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdadp-4 : inexact-ok
+= rootn tonearest m68k96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn towardzero m68k96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn upward m68k96 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdacp-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002753b8p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002753b8p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002753bp-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002753bp-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002754p-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a002754p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a00275p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffff8p+1020 -1234567LL : -0xf.fda55241eadcdac6d72a00275p-4 : inexact-ok
+= rootn downward intel96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f216ap-4 : inexact-ok
+= rootn tonearest intel96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn towardzero intel96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn upward intel96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn downward m68k96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f216ap-4 : inexact-ok
+= rootn tonearest m68k96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn towardzero m68k96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn upward m68k96 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f2169p-4 : inexact-ok
+= rootn downward binary128 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f21697b70646b16228p-4 : inexact-ok
+= rootn tonearest binary128 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn towardzero binary128 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn upward binary128 -0x9.8765p+5000 -1234567LL : -0xf.f4829b02a5f21697b70646b1622p-4 : inexact-ok
+= rootn downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db796p-4 : inexact-ok
+= rootn tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db796p-4 : inexact-ok
+= rootn towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db7958p-4 : inexact-ok
+= rootn upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db7958p-4 : inexact-ok
+= rootn downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db7cp-4 : inexact-ok
+= rootn tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
+= rootn towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
+= rootn upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 -1234567LL : -0xf.fda55241eadcdac6d3c4c4db78p-4 : inexact-ok
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 566a422..3b9032e 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -68,12 +68,16 @@ __MATHCALL_VEC (tan,, (_Mdouble_ __x));
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Arc cosine of X, divided by pi. */
__MATHCALL (acospi,, (_Mdouble_ __x));
+__MATHCALL_VEC (acospi,, (_Mdouble_ __x));
/* Arc sine of X, divided by pi. */
__MATHCALL (asinpi,, (_Mdouble_ __x));
+__MATHCALL_VEC (asinpi,, (_Mdouble_ __x));
/* Arc tangent of X, divided by pi. */
__MATHCALL (atanpi,, (_Mdouble_ __x));
+__MATHCALL_VEC (atanpi,, (_Mdouble_ __x));
/* Arc tangent of Y/X, divided by pi. */
__MATHCALL (atan2pi,, (_Mdouble_ __y, _Mdouble_ __x));
+__MATHCALL_VEC (atan2pi,, (_Mdouble_ __y, _Mdouble_ __x));
/* Cosine of pi * X. */
__MATHCALL_VEC (cospi,, (_Mdouble_ __x));
@@ -195,6 +199,9 @@ __MATHCALL (pown,, (_Mdouble_ __x, long long int __y));
/* Return X to the Y power. */
__MATHCALL (powr,, (_Mdouble_ __x, _Mdouble_ __y));
+/* Return the Yth root of X. */
+__MATHCALL (rootn,, (_Mdouble_ __x, long long int __y));
+
/* Return the reciprocal of the square root of X. */
__MATHCALL (rsqrt,, (_Mdouble_ __x));
#endif
diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c
index 118d2cd..fe1b9b7 100644
--- a/math/gen-auto-libm-tests.c
+++ b/math/gen-auto-libm-tests.c
@@ -599,6 +599,7 @@ static test_function test_functions[] =
FUNC_mpfr_ff_f ("pow", mpfr_pow, false),
FUNC_mpfr_fL_f ("pown", mpfr_pow_si, false),
FUNC_mpfr_ff_f ("powr", mpfr_powr, false),
+ FUNC_mpfr_fL_f ("rootn", mpfr_rootn_si, false),
/* mpfr_rec_sqrt differs from rsqrt on -0, but gen-auto-libm-tests
does not handle results that are exact infinities anyway. */
FUNC_mpfr_f_f ("rsqrt", mpfr_rec_sqrt, true),
diff --git a/math/gen-libm-test.py b/math/gen-libm-test.py
index a76fe87..1abc7fb 100755
--- a/math/gen-libm-test.py
+++ b/math/gen-libm-test.py
@@ -197,7 +197,7 @@ class Ulps(object):
"""Write header file with ulps data."""
header_text_1 = ('/* This file is automatically generated\n'
' from %s with gen-libm-test.py.\n'
- ' Don\'t change it - change instead the master '
+ ' Don\'t change it - change the original source '
'files. */\n\n'
'struct ulp_data\n'
'{\n'
diff --git a/math/gen-tgmath-tests.py b/math/gen-tgmath-tests.py
index 3bcb200..c5fc382 100755
--- a/math/gen-tgmath-tests.py
+++ b/math/gen-tgmath-tests.py
@@ -756,6 +756,7 @@ class Tests(object):
self.add_tests('logp1', 'r', ['r'])
self.add_tests('pown', 'r', ['r', 'long long int'])
self.add_tests('powr', 'r', ['r', 'r'])
+ self.add_tests('rootn', 'r', ['r', 'long long int'])
self.add_tests('rsqrt', 'r', ['r'])
self.add_tests('sinpi', 'r', ['r'])
self.add_tests('tanpi', 'r', ['r'])
diff --git a/math/libm-test-rootn.inc b/math/libm-test-rootn.inc
new file mode 100644
index 0000000..d279c3f
--- /dev/null
+++ b/math/libm-test-rootn.inc
@@ -0,0 +1,159 @@
+/* Test rootn.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "libm-test-driver.c"
+
+static const struct test_fL_f_data rootn_test_data[] =
+ {
+ TEST_fL_f (rootn, qnan_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -qnan_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, snan_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -snan_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, plus_infty, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, plus_zero, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_zero, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, min_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, min_subnorm_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_subnorm_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, max_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, 0, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+
+ TEST_fL_f (rootn, -min_subnorm_value, 2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_subnorm_value, 4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_subnorm_value, 0x7ffffffffffffffeLL, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, 2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, 4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, 0x7ffffffffffffffeLL, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, 2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, 4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, 0x7ffffffffffffffeLL, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, 2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, 4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, 0x7ffffffffffffffeLL, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, 2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, 4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, 0x7ffffffffffffffeLL, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+
+ TEST_fL_f (rootn, -min_subnorm_value, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_subnorm_value, -4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_subnorm_value, LLONG_MIN, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, -4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -min_value, LLONG_MIN, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, -4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -1.0, LLONG_MIN, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, -4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, -max_value, LLONG_MIN, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, -4, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+ TEST_fL_f (rootn, minus_infty, LLONG_MIN, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+
+ TEST_fL_f (rootn, qnan_value, 1, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, 1, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, -1, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, -1, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, 2, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, 2, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, -2, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, -2, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, 3, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, 3, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, -3, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, -3, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, LLONG_MAX, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, LLONG_MAX, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, qnan_value, LLONG_MIN, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, -qnan_value, LLONG_MIN, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+
+ TEST_fL_f (rootn, snan_value, 1, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, 1, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, -1, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, -1, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, 2, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, 2, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, -2, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, -2, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, 3, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, 3, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, -3, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, -3, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, LLONG_MAX, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, LLONG_MAX, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, snan_value, LLONG_MIN, qnan_value, INVALID_EXCEPTION),
+ TEST_fL_f (rootn, -snan_value, LLONG_MIN, qnan_value, INVALID_EXCEPTION),
+
+ TEST_fL_f (rootn, plus_zero, -1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, -1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, plus_zero, -2, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, -2, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, plus_zero, -3, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, -3, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, plus_zero, -4, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, -4, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, plus_zero, -5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, -5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, plus_zero, LLONG_MIN, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+ TEST_fL_f (rootn, minus_zero, LLONG_MIN, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+
+ TEST_fL_f (rootn, plus_infty, 1, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, 1, minus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, 2, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, 3, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, 3, minus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, 4, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, 5, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, 5, minus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, LLONG_MAX, plus_infty, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, LLONG_MAX, minus_infty, ERRNO_UNCHANGED),
+
+ TEST_fL_f (rootn, plus_infty, -1, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, -1, minus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, -2, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, -3, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, -3, minus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, -4, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, -5, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, -5, minus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, -0x7fffffffffffffffLL, plus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, minus_infty, -0x7fffffffffffffffLL, minus_zero, ERRNO_UNCHANGED),
+ TEST_fL_f (rootn, plus_infty, LLONG_MIN, plus_zero, ERRNO_UNCHANGED),
+
+ AUTO_TESTS_fL_f (rootn),
+ };
+
+static void
+rootn_test (void)
+{
+ ALL_RM_TEST (rootn, 0, rootn_test_data, RUN_TEST_LOOP_fL_f, END);
+}
+
+static void
+do_test (void)
+{
+ rootn_test ();
+}
+
+/*
+ * Local Variables:
+ * mode:c
+ * End:
+ */
diff --git a/math/s_rootn_template.c b/math/s_rootn_template.c
new file mode 100644
index 0000000..771a619
--- /dev/null
+++ b/math/s_rootn_template.c
@@ -0,0 +1,81 @@
+/* Return the Yth root of X for integer Y.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <limits.h>
+#include <math.h>
+#include <math-narrow-eval.h>
+#include <math_private.h>
+
+
+FLOAT
+M_DECL_FUNC (__rootn) (FLOAT x, long long int y)
+{
+ if (y == 0)
+ {
+ /* This is a domain error even if X is a NaN. */
+ __set_errno (EDOM);
+ return M_LIT (0.0) / M_LIT (0.0);
+ }
+ if (isnan (x))
+ return x + x;
+ if (x < 0 && (y & 1) == 0)
+ {
+ __set_errno (EDOM);
+ return (x - x) / (x - x);
+ }
+ if (isinf (x))
+ /* If X is negative, then Y is odd. */
+ return y > 0 ? x : M_LIT (1.0) / x;
+ if (x == M_LIT (0.0))
+ {
+ if (y > 0)
+ return (y & 1) == 0 ? M_LIT (0.0) : x;
+ else
+ {
+ __set_errno (ERANGE);
+ return M_LIT (1.0) / ((y & 1) == 0 ? M_LIT (0.0) : x);
+ }
+ }
+ if (y == 1)
+ return x;
+ if (y == -1)
+ {
+ /* Overflow is possible in this case (and underflow, though not
+ underflow to zero). */
+ FLOAT ret = math_narrow_eval (M_LIT (1.0) / x);
+ if (isinf (ret))
+ __set_errno (ERANGE);
+ return ret;
+ }
+ /* Now X is finite and no overflow or underflow (or results even
+ close to overflowing or underflowing) is possible. If X is
+ negative, then Y is odd; the result should have the sign of X. */
+ if (y >= 4 * M_MAX_EXP || y <= -4 * M_MAX_EXP)
+ /* No extra precision is needed in computing the exponent; it is
+ OK if Y cannot be exactly represented in type FLOAT. */
+ return M_COPYSIGN (M_SUF (__ieee754_pow) (M_FABS (x), M_LIT (1.0) / y), x);
+ /* Compute 1 / Y with extra precision. Y can be exactly represented
+ in type FLOAT. */
+ FLOAT qhi, qlo;
+ qhi = math_narrow_eval (M_LIT (1.0) / y);
+ qlo = M_SUF (fma) (-qhi, y, 1.0) / y;
+ return M_COPYSIGN (M_SUF (__ieee754_pow) (M_FABS (x), qhi)
+ * M_SUF (__ieee754_pow) (M_FABS (x), qlo), x);
+}
+declare_mgen_alias (__rootn, rootn);
diff --git a/math/test-tgmath.c b/math/test-tgmath.c
index c0d30de..c1cd3fc 100644
--- a/math/test-tgmath.c
+++ b/math/test-tgmath.c
@@ -48,7 +48,7 @@ volatile int count_cdouble;
volatile int count_cfloat;
volatile int count_cldouble;
-#define NCALLS 192
+#define NCALLS 194
#define NCALLS_INT 4
#define NCCALLS 47
@@ -270,6 +270,7 @@ F(compile_test) (void)
a = pow (pow (x, a), pow (c, b));
b = pown (pown (x, k), k);
b = compoundn (compoundn (x, k), k);
+ b = rootn (rootn (x, k), k);
a = powr (powr (x, a), powr (c, b));
b = sqrt (sqrt (a));
a = rsqrt (rsqrt (b));
@@ -399,6 +400,7 @@ F(compile_test) (void)
a = pow (y, y);
a = pown (y, 12345);
a = compoundn (y, 12345);
+ a = rootn (y, 12345);
a = powr (y, y);
a = sqrt (y);
a = rsqrt (y);
@@ -802,6 +804,14 @@ TYPE
}
TYPE
+(F(rootn)) (TYPE x, long long int y)
+{
+ ++count;
+ P ();
+ return x + y;
+}
+
+TYPE
(F(sqrt)) (TYPE x)
{
++count;
diff --git a/math/tgmath.h b/math/tgmath.h
index f523d42..0d830a7 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -934,6 +934,9 @@
/* Return X to the Y power. */
# define powr(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, powr)
+/* Return the Yth root of X. */
+# define rootn(Val1, Val2) __TGMATH_BINARY_FIRST_REAL_ONLY (Val1, Val2, rootn)
+
/* Return 1/sqrt(X). */
# define rsqrt(Val) __TGMATH_UNARY_REAL_ONLY (Val, rsqrt)
#endif
diff --git a/misc/getpass.c b/misc/getpass.c
index 4fe9453..a68acf4 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -83,7 +83,7 @@ getpass (const char *prompt)
s = t;
/* Tricky, tricky. */
t.c_lflag &= ~(ECHO|ISIG);
- tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
+ tty_changed = (__tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
}
else
tty_changed = 0;
@@ -110,7 +110,7 @@ getpass (const char *prompt)
/* Restore the original setting. */
if (tty_changed)
- (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
+ (void) __tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
funlockfile (out);
diff --git a/nss/Makefile b/nss/Makefile
index 09ce94a..1991b74 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -476,39 +476,39 @@ libof-nss_test1 = extramodules
libof-nss_test2 = extramodules
libof-nss_test_errno = extramodules
libof-nss_test_gai_hv2_canonname = extramodules
-$(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps)
+$(objpfx)libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps)
+$(objpfx)libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps)
+$(objpfx)libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test_gai_hv2_canonname.so: \
+$(objpfx)libnss_test_gai_hv2_canonname.so: \
$(objpfx)nss_test_gai_hv2_canonname.os $(link-libc-deps)
$(build-module)
$(objpfx)nss_test2.os : nss_test1.c
# Use the nss_files suffix for these objects as well.
-$(objpfx)/libnss_test1.so$(libnss_files.so-version): $(objpfx)/libnss_test1.so
+$(objpfx)libnss_test1.so$(libnss_files.so-version): $(objpfx)libnss_test1.so
$(make-link)
-$(objpfx)/libnss_test2.so$(libnss_files.so-version): $(objpfx)/libnss_test2.so
+$(objpfx)libnss_test2.so$(libnss_files.so-version): $(objpfx)libnss_test2.so
$(make-link)
-$(objpfx)/libnss_test_errno.so$(libnss_files.so-version): \
- $(objpfx)/libnss_test_errno.so
+$(objpfx)libnss_test_errno.so$(libnss_files.so-version): \
+ $(objpfx)libnss_test_errno.so
$(make-link)
-$(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \
- $(objpfx)/libnss_test_gai_hv2_canonname.so
+$(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \
+ $(objpfx)libnss_test_gai_hv2_canonname.so
$(make-link)
$(patsubst %,$(objpfx)%.out,$(tests) $(tests-container)) : \
- $(objpfx)/libnss_test1.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test2.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test_errno.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version)
+ $(objpfx)libnss_test1.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test2.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test_errno.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version)
ifeq (yes,$(have-thread-library))
$(objpfx)tst-cancel-getpwuid_r: $(shared-thread-library)
endif
-$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so
-$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so
+$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)libnss_files.so
+$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)libnss_files.so
tst-nss-gai-hv2-canonname-ENV = \
MALLOC_TRACE=$(objpfx)tst-nss-gai-hv2-canonname.mtrace \
diff --git a/nss/nss_action_parse.c b/nss/nss_action_parse.c
index 2b67a8a..ee3aadf 100644
--- a/nss/nss_action_parse.c
+++ b/nss/nss_action_parse.c
@@ -168,13 +168,16 @@ nss_action_list
action_list_init (&list);
if (nss_action_parse (line, &list))
{
+ nss_action_list retval;
size_t size;
struct nss_action null_service
= { .module = NULL, };
action_list_add (&list, null_service);
size = action_list_size (&list);
- return __nss_action_allocate (action_list_begin (&list), size);
+ retval = __nss_action_allocate (action_list_begin (&list), size);
+ action_list_free (&list);
+ return retval;
}
else if (action_list_has_failed (&list))
{
diff --git a/nss/nss_test1.c b/nss/nss_test1.c
index f023f46..b715bc3 100644
--- a/nss/nss_test1.c
+++ b/nss/nss_test1.c
@@ -28,9 +28,9 @@
to test known bad data. */
#define alloc_buffer_maybe_copy_string(b,s) s ? alloc_buffer_copy_string (b, s) : NULL;
-/* This file is the master template. Other instances of this test
- module should define NAME(x) to have their name instead of "test1",
- then include this file.
+/* This file is both a standalone test and a parametrized template.
+ Other instances of this test module should define NAME(x) to have
+ their name instead of "test1", then include this file.
*/
#define NAME_(x,n) _nss_##n##_##x
#ifndef NAME
diff --git a/posix/Makefile b/posix/Makefile
index c0e2242..36b8b14 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -348,6 +348,7 @@ tests-internal := \
bug-regex5 \
bug-regex20 \
bug-regex33 \
+ tst-libc-message \
# tests-internal
tests-container := \
@@ -391,6 +392,7 @@ endif
tests-static = \
tst-exec-static \
+ tst-libc-message \
tst-spawn-static \
# tests-static
diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
index 9ec5e0e..83f8861 100644
--- a/posix/fnmatch_loop.c
+++ b/posix/fnmatch_loop.c
@@ -537,7 +537,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
that it was properly set in the loop
above. */
DIAG_PUSH_NEEDS_COMMENT;
- DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
if (! is_range
# if WIDE_CHAR_VERSION
@@ -560,7 +560,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
above it will be properly set by the loop.
*/
DIAG_PUSH_NEEDS_COMMENT;
- DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
cold = wextra[1 + wextra[0]];
DIAG_POP_NEEDS_COMMENT;
# else
@@ -745,7 +745,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
means that it was properly set in the
loop above. */
DIAG_PUSH_NEEDS_COMMENT;
- DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
cend = wextra[1 + wextra[0]];
DIAG_POP_NEEDS_COMMENT;
# else
@@ -754,7 +754,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
wextra above it will be properly set by
the loop. */
DIAG_PUSH_NEEDS_COMMENT;
- DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
idx += 1 + extra[idx];
DIAG_POP_NEEDS_COMMENT;
/* Adjust for the alignment. */
diff --git a/posix/glob.h b/posix/glob.h
index 6bb0c6f..e5442dd 100644
--- a/posix/glob.h
+++ b/posix/glob.h
@@ -195,7 +195,8 @@ extern void globfree64 (glob64_t *__pglob) __THROW;
This function is not part of the interface specified by POSIX.2
but several programs want to use it. */
-extern int glob_pattern_p (const char *__pattern, int __quote) __THROW;
+extern int glob_pattern_p (const char *__pattern, int __quote) __THROW
+ __nonnull ((1));
#endif
__END_DECLS
diff --git a/posix/regcomp.c b/posix/regcomp.c
index 69675d8..32043e9 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -3301,8 +3301,11 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
#ifdef RE_ENABLE_I18N
mbcset, &coll_sym_alloc,
#endif /* RE_ENABLE_I18N */
- start_elem.opr.name,
- nrules, table_size, symb_table, extra);
+ start_elem.opr.name
+#ifdef _LIBC
+ , nrules, table_size, symb_table, extra
+#endif
+ );
if (__glibc_unlikely (*err != REG_NOERROR))
goto parse_bracket_exp_free_return;
break;
diff --git a/posix/tst-libc-message.c b/posix/tst-libc-message.c
new file mode 100644
index 0000000..b85195e
--- /dev/null
+++ b/posix/tst-libc-message.c
@@ -0,0 +1,48 @@
+/* Internal test to verify __libc_fatal.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <signal.h>
+#include <stdio.h>
+
+#include <support/check.h>
+#include <support/capture_subprocess.h>
+
+static _Noreturn void
+run_libc_message (void *closure)
+{
+ /* We only support 4 arguments. Call with 5 to trigger failure. */
+ __libc_message_impl ("%s %s %s %s %s\n", "1", "2", "3", "4", "5");
+ __builtin_unreachable ();
+}
+
+static int
+do_test (void)
+{
+ struct support_capture_subprocess result
+ = support_capture_subprocess (run_libc_message, NULL);
+ support_capture_subprocess_check (&result, "libc_message", -SIGABRT,
+ sc_allow_stderr);
+
+ TEST_COMPARE_STRING (result.err.buffer, IOVEC_MAX_ERR_MSG);
+
+ support_capture_subprocess_free (&result);
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/posix/tst-regex.input b/posix/tst-regex.input
index 1de30b3..38b8db6 100644
--- a/posix/tst-regex.input
+++ b/posix/tst-regex.input
@@ -8423,11 +8423,6 @@
* sysdeps/libm-ieee754/s_exp2f.c (__exp2f_deltatable): Renamed
from __exp2_deltatable.
-1998-02-26 Ulrich Drepper <drepper@cygnus.com>
-
- * nis/ypclnt.c (yp_master): Check result of strdup.
- Patch by Thorsten Kukuk.
-
1998-02-26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/ypclnt.c: Give clnt handle after error checking free, change
@@ -11089,13 +11084,6 @@
inline functions by feature tests to avoid warning about missing
prototype declarations.
-1997-12-09 15:08 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
-
- * nis/nss_compat/compat-grp.c: Reset the blacklist correct, fix
- return code for non existent +name entries.
- * nis/nss_compat/compat-pwd.c: Likewise.
- * nis/nss_compat/compat-spwd.c: Likewise.
-
1997-12-10 13:52 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/arm/bits/errno.h (EAGAIN): Added.
diff --git a/resolv/Makefile b/resolv/Makefile
index a49fac7..8fa3398 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -140,6 +140,7 @@ tests += \
tst-resolv-ai_idn-latin1 \
tst-resolv-ai_idn-nolibidn2 \
tst-resolv-canonname \
+ tst-resolv-getaddrinfo-fqdn \
tst-resolv-trustad \
# Needs resolv_context.
@@ -316,6 +317,7 @@ $(objpfx)tst-resolv-threads: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-resolv-txnid-collision: $(objpfx)libresolv.a \
$(static-thread-library)
$(objpfx)tst-resolv-canonname: $(objpfx)libresolv.so $(shared-thread-library)
+$(objpfx)tst-resolv-getaddrinfo-fqdn: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-resolv-trustad: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-ns_name: $(objpfx)libresolv.so
diff --git a/resolv/inet_ntop.c b/resolv/inet_ntop.c
index acf5f3cb..0fdef32 100644
--- a/resolv/inet_ntop.c
+++ b/resolv/inet_ntop.c
@@ -1,186 +1,210 @@
-/*
- * Copyright (c) 1996-1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-#include <netinet/in.h>
+/* Convert IPv4/IPv6 addresses from binary to text form.
+ Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
#include <arpa/inet.h>
#include <arpa/nameser.h>
-
#include <errno.h>
-#include <stdio.h>
#include <string.h>
+#include <_itoa.h>
-#ifdef SPRINTF_CHAR
-# define SPRINTF(x) strlen(sprintf/**/x)
-#else
-# define SPRINTF(x) ((size_t)sprintf x)
-#endif
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static const char *inet_ntop4 (const u_char *src, char *dst, socklen_t size);
-static const char *inet_ntop6 (const u_char *src, char *dst, socklen_t size);
-
-/* char *
- * __inet_ntop(af, src, dst, size)
- * convert a network format address to presentation format.
- * return:
- * pointer to presentation format address (`dst'), or NULL (see errno).
- * author:
- * Paul Vixie, 1996.
- */
-const char *
-__inet_ntop (int af, const void *src, char *dst, socklen_t size)
+static inline char *
+put_uint8 (uint8_t word, char *tp)
{
- switch (af) {
- case AF_INET:
- return (inet_ntop4(src, dst, size));
- case AF_INET6:
- return (inet_ntop6(src, dst, size));
- default:
- __set_errno (EAFNOSUPPORT);
- return (NULL);
+ int s = 1;
+ if (word >= 10)
+ {
+ if (word >= 100)
+ {
+ tp[2] = '0' + word % 10;
+ word /= 10;
+ s += 1;
}
- /* NOTREACHED */
+
+ tp[1] = '0' + word % 10;
+ word /= 10;
+ s += 1;
+ }
+ *tp = '0' + word;
+ return tp + s;
}
-libc_hidden_def (__inet_ntop)
-weak_alias (__inet_ntop, inet_ntop)
-/* const char *
- * inet_ntop4(src, dst, size)
- * format an IPv4 address
- * return:
- * `dst' (as a const)
- * notes:
- * (1) uses no statics
- * (2) takes a u_char* not an in_addr as input
- * author:
- * Paul Vixie, 1996.
- */
-static const char *
-inet_ntop4 (const u_char *src, char *dst, socklen_t size)
+static inline char *
+put_uint16 (uint16_t word, char *tp)
{
- static const char fmt[] = "%u.%u.%u.%u";
- char tmp[sizeof "255.255.255.255"];
+ if (word >= 0x1000)
+ *tp++ = _itoa_lower_digits[(word >> 12) & 0xf];
+ if (word >= 0x100)
+ *tp++ = _itoa_lower_digits[(word >> 8) & 0xf];
+ if (word >= 0x10)
+ *tp++ = _itoa_lower_digits[(word >> 4) & 0xf];
+ *tp++ = _itoa_lower_digits[word & 0xf];
+ return tp;
+}
- if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) >= size) {
- __set_errno (ENOSPC);
- return (NULL);
- }
- return strcpy(dst, tmp);
+static __always_inline char *
+inet_ntop4_format (const uint8_t *src, char *dst)
+{
+ dst = put_uint8 (src[0], dst);
+ *(dst++) = '.';
+ dst = put_uint8 (src[1], dst);
+ *(dst++) = '.';
+ dst = put_uint8 (src[2], dst);
+ *(dst++) = '.';
+ dst = put_uint8 (src[3], dst);
+ *dst++ = '\0';
+ return dst;
}
-/* const char *
- * inet_ntop6(src, dst, size)
- * convert IPv6 binary address into presentation (printable) format
- * author:
- * Paul Vixie, 1996.
- */
-static const char *
-inet_ntop6 (const u_char *src, char *dst, socklen_t size)
+static __always_inline const char *
+inet_ntop4 (const uint8_t *src, char *dst, socklen_t size)
+{
+ if (size >= INET_ADDRSTRLEN)
+ {
+ inet_ntop4_format (src, dst);
+ return dst;
+ }
+
+ char tmp[INET_ADDRSTRLEN];
+ char *tp = inet_ntop4_format (src, tmp);
+ socklen_t tmp_s = tp - tmp;
+ if (tmp_s > size)
+ {
+ __set_errno (ENOSPC);
+ return NULL;
+ }
+ return memcpy (dst, tmp, tmp_s);
+}
+
+struct best_t
+{
+ int base;
+ int len;
+};
+
+static inline uint16_t
+in6_addr_addr16 (const struct in6_addr *src, int idx)
{
- /*
- * Note that int32_t and int16_t need only be "at least" large enough
- * to contain a value of the specified size. On some systems, like
- * Crays, there is no such thing as an integer variable with 16 bits.
- * Keep this in mind if you think this function should have been coded
- * to use pointer overlays. All the world's not a VAX.
- */
- char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp;
- struct { int base, len; } best, cur;
- u_int words[NS_IN6ADDRSZ / NS_INT16SZ];
- int i;
-
- /*
- * Preprocess:
- * Copy the input (bytewise) array into a wordwise array.
- * Find the longest run of 0x00's in src[] for :: shorthanding.
- */
- memset(words, '\0', sizeof words);
- for (i = 0; i < NS_IN6ADDRSZ; i += 2)
- words[i / 2] = (src[i] << 8) | src[i + 1];
- best.base = -1;
- cur.base = -1;
- best.len = 0;
- cur.len = 0;
- for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
- if (words[i] == 0) {
- if (cur.base == -1)
- cur.base = i, cur.len = 1;
- else
- cur.len++;
- } else {
- if (cur.base != -1) {
- if (best.base == -1 || cur.len > best.len)
- best = cur;
- cur.base = -1;
- }
- }
+ const struct { uint16_t x; } __attribute__((__packed__)) *pptr =
+ (typeof(pptr))(&src->s6_addr16[idx]);
+ return ntohs (pptr->x);
+}
+
+static __always_inline char *
+inet_ntop6_format (const struct in6_addr *src, struct best_t best, char *dst)
+{
+ char *tp = dst;
+ for (int i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
+ {
+ /* Are we inside the best run of 0x00's? */
+ if (best.base != -1 && i >= best.base && i < (best.base + best.len))
+ {
+ if (i == best.base)
+ *tp++ = ':';
+ continue;
}
- if (cur.base != -1) {
- if (best.base == -1 || cur.len > best.len)
- best = cur;
+ /* Are we following an initial run of 0x00s or any real hex? */
+ if (i != 0)
+ *tp++ = ':';
+ /* Is this address an encapsulated IPv4? */
+ if (i == 6 && best.base == 0
+ && (best.len == 6 || (best.len == 5
+ && in6_addr_addr16 (src, 5) == 0xffff)))
+ {
+ if (!inet_ntop4 (src->s6_addr + 12, tp,
+ INET6_ADDRSTRLEN - (tp - dst)))
+ return NULL;
+ tp += strlen (tp);
+ break;
}
- if (best.base != -1 && best.len < 2)
- best.base = -1;
-
- /*
- * Format the result.
- */
- tp = tmp;
- for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
- /* Are we inside the best run of 0x00's? */
- if (best.base != -1 && i >= best.base &&
- i < (best.base + best.len)) {
- if (i == best.base)
- *tp++ = ':';
- continue;
- }
- /* Are we following an initial run of 0x00s or any real hex? */
- if (i != 0)
- *tp++ = ':';
- /* Is this address an encapsulated IPv4? */
- if (i == 6 && best.base == 0 &&
- (best.len == 6 || (best.len == 5 && words[5] == 0xffff))) {
- if (!inet_ntop4(src+12, tp, sizeof tmp - (tp - tmp)))
- return (NULL);
- tp += strlen(tp);
- break;
- }
- tp += SPRINTF((tp, "%x", words[i]));
+ tp = put_uint16 (in6_addr_addr16 (src, i), tp);
+ }
+ /* Was it a trailing run of 0x00's? */
+ if (best.base != -1 && (best.base + best.len) == (NS_IN6ADDRSZ / NS_INT16SZ))
+ *tp++ = ':';
+ *tp++ = '\0';
+
+ return tp;
+}
+
+static inline const char *
+inet_ntop6 (const struct in6_addr *src, char *dst, socklen_t size)
+{
+ struct best_t best = { -1, 0 }, cur = { -1, 0 };
+
+ /* ind the longest run of 0x00's in src[] for :: shorthanding. */
+ for (int i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
+ {
+ if (in6_addr_addr16 (src, i) == 0)
+ {
+ if (cur.base == -1)
+ cur.base = i, cur.len = 1;
+ else
+ cur.len++;
}
- /* Was it a trailing run of 0x00's? */
- if (best.base != -1 && (best.base + best.len) ==
- (NS_IN6ADDRSZ / NS_INT16SZ))
- *tp++ = ':';
- *tp++ = '\0';
-
- /*
- * Check for overflow, copy, and we're done.
- */
- if ((socklen_t)(tp - tmp) > size) {
- __set_errno (ENOSPC);
- return (NULL);
+ else
+ {
+ if (cur.base != -1)
+ {
+ if (best.base == -1 || cur.len > best.len)
+ best = cur;
+ cur.base = -1;
+ }
}
- return strcpy(dst, tmp);
+ }
+ if (cur.base != -1)
+ {
+ if (best.base == -1 || cur.len > best.len)
+ best = cur;
+ }
+ if (best.base != -1 && best.len < 2)
+ best.base = -1;
+
+ if (size >= INET6_ADDRSTRLEN)
+ {
+ inet_ntop6_format (src, best, dst);
+ return dst;
+ }
+
+ char tmp[INET6_ADDRSTRLEN];
+ char *tp = inet_ntop6_format (src, best, tmp);
+
+ socklen_t tmp_s = tp - tmp;
+ if (tmp_s > size)
+ {
+ __set_errno (ENOSPC);
+ return (NULL);
+ }
+ return memcpy (dst, tmp, tmp_s);
}
+
+const char *
+__inet_ntop (int af, const void *src, char *dst, socklen_t size)
+{
+ switch (af)
+ {
+ case AF_INET:
+ return (inet_ntop4 (src, dst, size));
+ case AF_INET6:
+ return (inet_ntop6 (src, dst, size));
+ default:
+ __set_errno (EAFNOSUPPORT);
+ return (NULL);
+ }
+}
+libc_hidden_def (__inet_ntop)
+weak_alias (__inet_ntop, inet_ntop)
diff --git a/resolv/tst-resolv-getaddrinfo-fqdn.c b/resolv/tst-resolv-getaddrinfo-fqdn.c
new file mode 100644
index 0000000..75bfe7e
--- /dev/null
+++ b/resolv/tst-resolv-getaddrinfo-fqdn.c
@@ -0,0 +1,147 @@
+/* Test for BZ #15218. Verify that getaddrinfo returns FQDN in
+ ai_canonname, when AI_CANONNAME is requested and search domain apply.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <resolv.h>
+#include <stdlib.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/check_nss.h>
+#include <support/resolv_test.h>
+#include <support/support.h>
+
+static void
+response (const struct resolv_response_context *ctx,
+ struct resolv_response_builder *b,
+ const char *qname, uint16_t qclass, uint16_t qtype)
+{
+ if (strcmp (qname, "foo.site.example") == 0
+ || strcmp (qname, "bar.foo.site.example") == 0
+ || strcmp (qname, "site.example") == 0)
+ {
+ struct resolv_response_flags flags = { };
+ resolv_response_init (b, flags);
+ resolv_response_add_question (b, qname, qclass, qtype);
+ resolv_response_section (b, ns_s_an);
+ if (qtype == T_A)
+ {
+ char addr_ipv4[4] = { 127, 126, 125, 124 };
+ resolv_response_open_record (b, qname, qclass, T_A, 0x12345678);
+ resolv_response_add_data (b, addr_ipv4, sizeof (addr_ipv4));
+ resolv_response_close_record (b);
+ }
+ else if (qtype == T_AAAA)
+ {
+ char addr_ipv6[16] =
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
+ resolv_response_open_record (b, qname, qclass, T_AAAA, 0x12345678);
+ resolv_response_add_data (b, addr_ipv6, sizeof (addr_ipv6));
+ resolv_response_close_record (b);
+ }
+ else
+ FAIL_EXIT1 ("qtype must be one of A, AAAA");
+ }
+ else
+ {
+ struct resolv_response_flags flags = {.rcode = ns_r_nxdomain, };
+ resolv_response_init (b, flags);
+ resolv_response_add_question (b, qname, qclass, qtype);
+ }
+}
+
+void
+query_host (const char *host_name, const char *expected_name)
+{
+ int family[] = { AF_INET, AF_INET6, AF_UNSPEC };
+ const char *family_names[] = { "AF_INET", "AF_INET6", "AF_UNSPEC" };
+
+ for (int i = 0; i < 3; i++)
+ {
+ struct addrinfo hints = {
+ .ai_socktype = 0,
+ .ai_protocol = 0,
+ .ai_family = family[i],
+ .ai_flags = AI_CANONNAME,
+ };
+ struct addrinfo *result, *current;
+ int res = getaddrinfo (host_name, NULL, &hints, &result);
+ if (res != 0)
+ FAIL_EXIT1 ("getaddrinfo (%s, %s): %s\n", host_name, family_names[i],
+ gai_strerror (res));
+ else
+ {
+ int count = 0;
+ for (current = result;
+ current != NULL && current->ai_canonname != NULL;
+ current = current->ai_next)
+ {
+ TEST_COMPARE_STRING (current->ai_canonname, expected_name);
+ count++;
+ }
+ freeaddrinfo (result);
+ if (count > 1)
+ FAIL_EXIT1 ("Expected exactly one canonname, but got %d\n", count);
+ }
+ }
+}
+
+/* test with site.example domain. */
+void
+test_search_with_site_example_domain (void)
+{
+ struct resolv_test *aux = resolv_test_start
+ ((struct resolv_redirect_config)
+ {
+ .response_callback = response,
+ .search = { "site.example" },
+ });
+
+ query_host ("foo", "foo.site.example");
+ query_host ("bar.foo", "bar.foo.site.example");
+
+ resolv_test_end (aux);
+}
+
+/* test with example domain. */
+void
+test_search_with_example_domain (void)
+{
+ struct resolv_test *aux = resolv_test_start
+ ((struct resolv_redirect_config)
+ {
+ .response_callback = response,
+ .search = { "example" },
+ });
+
+ query_host ("foo.site", "foo.site.example");
+ query_host ("bar.foo.site", "bar.foo.site.example");
+ query_host ("site", "site.example");
+
+ resolv_test_end (aux);
+}
+
+static int
+do_test (void)
+{
+ test_search_with_site_example_domain ();
+ test_search_with_example_domain ();
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/resource/Makefile b/resource/Makefile
index 44321cb..9b49981 100644
--- a/resource/Makefile
+++ b/resource/Makefile
@@ -25,7 +25,11 @@ headers := sys/resource.h bits/resource.h sys/vlimit.h \
routines := getrlimit setrlimit getrlimit64 setrlimit64 getrusage ulimit \
vlimit vtimes getpriority setpriority nice
-tests = tst-getrlimit bug-ulimit1
+tests := \
+ bug-ulimit1 \
+ tst-getrlimit \
+# tests
+
include ../Rules
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 28258e3..36b1044 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -742,7 +742,13 @@ class Context(object):
logsdir = os.path.join(self.logsdir, 'host-libraries')
self.remove_recreate_dirs(installdir, builddir, logsdir)
cmdlist = CommandList('host-libraries', self.keep)
- self.build_host_library(cmdlist, 'gmp')
+ # This CFLAGS setting works around GMP 6.3.0's configure
+ # script being incompatible with compilers defaulting to C23
+ # and should be removed when this script is updated to use a
+ # release of GMP from after that configure test was fixed in
+ # Jan 2025.
+ self.build_host_library(cmdlist, 'gmp',
+ ['CFLAGS=-Wall -O2 -std=gnu17'])
self.build_host_library(cmdlist, 'mpfr',
['--with-gmp=%s' % installdir])
self.build_host_library(cmdlist, 'mpc',
@@ -831,7 +837,7 @@ class Context(object):
'gcc': 'vcs-14',
'glibc': 'vcs-mainline',
'gmp': '6.3.0',
- 'linux': '6.14',
+ 'linux': '6.15',
'mpc': '1.3.1',
'mpfr': '4.2.2',
'mig': 'vcs-mainline',
diff --git a/scripts/pylintrc b/scripts/pylintrc
index d772cb0..ac635c3 100644
--- a/scripts/pylintrc
+++ b/scripts/pylintrc
@@ -10,10 +10,6 @@
# Profiled execution.
profile=no
-# Add files or directories to the blacklist. They should be base names, not
-# paths.
-ignore=CVS
-
# Pickle collected data for later comparisons.
persistent=yes
diff --git a/stdio-common/printf-parsemb.c b/stdio-common/printf-parsemb.c
index aad697a..a7ba52a 100644
--- a/stdio-common/printf-parsemb.c
+++ b/stdio-common/printf-parsemb.c
@@ -17,6 +17,7 @@
<https://www.gnu.org/licenses/>. */
#include <ctype.h>
+#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include <string.h>
diff --git a/stdio-common/stdio_ext.h b/stdio-common/stdio_ext.h
index 3a9a981..397b37f 100644
--- a/stdio-common/stdio_ext.h
+++ b/stdio-common/stdio_ext.h
@@ -43,43 +43,43 @@ __BEGIN_DECLS
/* Return the size of the buffer of FP in bytes currently in use by
the given stream. */
-extern size_t __fbufsize (FILE *__fp) __THROW;
+extern size_t __fbufsize (FILE *__fp) __THROW __nonnull ((1));
/* Return non-zero value iff the stream FP is opened readonly, or if the
last operation on the stream was a read operation. */
-extern int __freading (FILE *__fp) __THROW;
+extern int __freading (FILE *__fp) __THROW __nonnull ((1));
/* Return non-zero value iff the stream FP is opened write-only or
append-only, or if the last operation on the stream was a write
operation. */
-extern int __fwriting (FILE *__fp) __THROW;
+extern int __fwriting (FILE *__fp) __THROW __nonnull ((1));
/* Return non-zero value iff stream FP is not opened write-only or
append-only. */
-extern int __freadable (FILE *__fp) __THROW;
+extern int __freadable (FILE *__fp) __THROW __nonnull ((1));
/* Return non-zero value iff stream FP is not opened read-only. */
-extern int __fwritable (FILE *__fp) __THROW;
+extern int __fwritable (FILE *__fp) __THROW __nonnull ((1));
/* Return non-zero value iff the stream FP is line-buffered. */
-extern int __flbf (FILE *__fp) __THROW;
+extern int __flbf (FILE *__fp) __THROW __nonnull ((1));
/* Discard all pending buffered I/O on the stream FP. */
-extern void __fpurge (FILE *__fp) __THROW;
+extern void __fpurge (FILE *__fp) __THROW __nonnull ((1));
/* Return amount of output in bytes pending on a stream FP. */
-extern size_t __fpending (FILE *__fp) __THROW;
+extern size_t __fpending (FILE *__fp) __THROW __nonnull ((1));
/* Flush all line-buffered files. */
extern void _flushlbf (void);
/* Set locking status of stream FP to TYPE. */
-extern int __fsetlocking (FILE *__fp, int __type) __THROW;
+extern int __fsetlocking (FILE *__fp, int __type) __THROW __nonnull ((1));
__END_DECLS
diff --git a/stdio-common/tst-scanf-format-ss.h b/stdio-common/tst-scanf-format-ss.h
index 2fb1ca2..b35e5bc 100644
--- a/stdio-common/tst-scanf-format-ss.h
+++ b/stdio-common/tst-scanf-format-ss.h
@@ -1,4 +1,4 @@
-/* Test feature wrapper for formatted 'scanf' input.
+/* Test feature wrapper for formatted 'sscanf' input.
Copyright (C) 2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/stdio-common/vfscanf-internal.c b/stdio-common/vfscanf-internal.c
index b965c7b..86ae501 100644
--- a/stdio-common/vfscanf-internal.c
+++ b/stdio-common/vfscanf-internal.c
@@ -1737,7 +1737,7 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
#endif
}
- if (n < 10)
+ if (n < num_digits_len)
{
/* Found it. */
from_level = level;
diff --git a/stdlib/tst-secure-getenv.c b/stdlib/tst-secure-getenv.c
index 3fd1d23..c12c63a 100644
--- a/stdlib/tst-secure-getenv.c
+++ b/stdlib/tst-secure-getenv.c
@@ -57,13 +57,7 @@ do_test (void)
exit (1);
}
- int status = support_capture_subprogram_self_sgid (MAGIC_ARGUMENT);
-
- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
- return EXIT_UNSUPPORTED;
-
- if (!WIFEXITED (status))
- FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status);
+ support_capture_subprogram_self_sgid (MAGIC_ARGUMENT);
return 0;
}
@@ -82,6 +76,7 @@ alternative_main (int argc, char **argv)
if (secure_getenv ("PATH") != NULL)
FAIL_EXIT (4, "PATH variable not filtered out\n");
+ support_record_failure_barrier ();
exit (EXIT_SUCCESS);
}
}
diff --git a/string/strerror.c b/string/strerror.c
index 3c02640..daabec8 100644
--- a/string/strerror.c
+++ b/string/strerror.c
@@ -21,5 +21,5 @@
char *
strerror (int errnum)
{
- return __strerror_l (errnum, __libc_tsd_get (locale_t, LOCALE));
+ return __strerror_l (errnum, __libc_tsd_LOCALE);
}
diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c
index a04b7ec..e20f0a6 100644
--- a/sunrpc/rpc_thread.c
+++ b/sunrpc/rpc_thread.c
@@ -3,7 +3,6 @@
#include <assert.h>
#include <libc-lock.h>
-#include <libc-tsd.h>
#include <shlib-compat.h>
#include <libc-symbols.h>
diff --git a/support/capture_subprocess.h b/support/capture_subprocess.h
index 91d75e5..b37462d 100644
--- a/support/capture_subprocess.h
+++ b/support/capture_subprocess.h
@@ -42,11 +42,12 @@ struct support_capture_subprocess support_capture_subprocess
struct support_capture_subprocess support_capture_subprogram
(const char *file, char *const argv[], char *const envp[]);
-/* Copy the running program into a setgid binary and run it with CHILD_ID
- argument. If execution is successful, return the exit status of the child
- program, otherwise return a non-zero failure exit code. */
-int support_capture_subprogram_self_sgid
- (char *child_id);
+/* Copy the running program into a setgid binary and run it with
+ CHILD_ID argument. If the program exits with a non-zero status,
+ exit with that exit status (or status 1 if the program did not exit
+ normally). If the test cannot be performed, exit with
+ EXIT_UNSUPPORTED. */
+void support_capture_subprogram_self_sgid (const char *child_id);
/* Deallocate the subprocess data captured by
support_capture_subprocess. */
diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c
index c3ef478..b4e4bf9 100644
--- a/support/support_capture_subprocess.c
+++ b/support/support_capture_subprocess.c
@@ -21,12 +21,17 @@
#include <errno.h>
#include <fcntl.h>
+#include <grp.h>
+#include <scratch_buffer.h>
+#include <stdio_ext.h>
#include <stdlib.h>
+#include <string.h>
#include <support/check.h>
#include <support/xunistd.h>
#include <support/xsocket.h>
#include <support/xspawn.h>
#include <support/support.h>
+#include <support/temp_file.h>
#include <support/test-driver.h>
static void
@@ -109,111 +114,88 @@ support_capture_subprogram (const char *file, char *const argv[],
/* Copies the executable into a restricted directory, so that we can
safely make it SGID with the TARGET group ID. Then runs the
executable. */
-static int
-copy_and_spawn_sgid (char *child_id, gid_t gid)
+static void
+copy_and_spawn_sgid (const char *child_id, gid_t gid)
{
- char *dirname = xasprintf ("%s/tst-tunables-setuid.%jd",
- test_dir, (intmax_t) getpid ());
+ char *dirname = support_create_temp_directory ("tst-glibc-sgid-");
char *execname = xasprintf ("%s/bin", dirname);
- int infd = -1;
- int outfd = -1;
- int ret = 1, status = 1;
-
- TEST_VERIFY (mkdir (dirname, 0700) == 0);
- if (support_record_failure_is_failed ())
- goto err;
+ add_temp_file (execname);
- infd = open ("/proc/self/exe", O_RDONLY);
- if (infd < 0)
+ if (access ("/proc/self/exe", R_OK) != 0)
FAIL_UNSUPPORTED ("unsupported: Cannot read binary from procfs\n");
- outfd = open (execname, O_WRONLY | O_CREAT | O_EXCL, 0700);
- TEST_VERIFY (outfd >= 0);
- if (support_record_failure_is_failed ())
- goto err;
-
- char buf[4096];
- for (;;)
- {
- ssize_t rdcount = read (infd, buf, sizeof (buf));
- TEST_VERIFY (rdcount >= 0);
- if (support_record_failure_is_failed ())
- goto err;
- if (rdcount == 0)
- break;
- char *p = buf;
- char *end = buf + rdcount;
- while (p != end)
- {
- ssize_t wrcount = write (outfd, buf, end - p);
- if (wrcount == 0)
- errno = ENOSPC;
- TEST_VERIFY (wrcount > 0);
- if (support_record_failure_is_failed ())
- goto err;
- p += wrcount;
- }
- }
+ support_copy_file ("/proc/self/exe", execname);
- bool chowned = false;
- TEST_VERIFY ((chowned = fchown (outfd, getuid (), gid) == 0)
- || errno == EPERM);
- if (support_record_failure_is_failed ())
- goto err;
- else if (!chowned)
- {
- ret = 77;
- goto err;
- }
+ if (chown (execname, getuid (), gid) != 0)
+ FAIL_UNSUPPORTED ("cannot change group of \"%s\" to %jd: %m",
+ execname, (intmax_t) gid);
- TEST_VERIFY (fchmod (outfd, 02750) == 0);
- if (support_record_failure_is_failed ())
- goto err;
- TEST_VERIFY (close (outfd) == 0);
- if (support_record_failure_is_failed ())
- goto err;
- TEST_VERIFY (close (infd) == 0);
- if (support_record_failure_is_failed ())
- goto err;
+ if (chmod (execname, 02750) != 0)
+ FAIL_UNSUPPORTED ("cannot make \"%s\" SGID: %m ", execname);
/* We have the binary, now spawn the subprocess. Avoid using
support_subprogram because we only want the program exit status, not the
contents. */
- ret = 0;
- infd = outfd = -1;
- char * const args[] = {execname, child_id, NULL};
+ char * const args[] = {execname, (char *) child_id, NULL};
+ int status = support_subprogram_wait (args[0], args);
- status = support_subprogram_wait (args[0], args);
+ free (execname);
+ free (dirname);
-err:
- if (outfd >= 0)
- close (outfd);
- if (infd >= 0)
- close (infd);
- if (execname != NULL)
+ if (WIFEXITED (status))
{
- unlink (execname);
- free (execname);
+ if (WEXITSTATUS (status) == 0)
+ return;
+ else
+ exit (WEXITSTATUS (status));
}
- if (dirname != NULL)
+ else
+ FAIL_EXIT1 ("subprogram failed with status %d", status);
+}
+
+/* Returns true if a group with NAME has been found, and writes its
+ GID to *TARGET. */
+static bool
+find_sgid_group (gid_t *target, const char *name)
+{
+ /* Do not use getgrname_r because it does not work in statically
+ linked binaries if the system libc is different. */
+ FILE *fp = fopen ("/etc/group", "rce");
+ if (fp == NULL)
+ return false;
+ __fsetlocking (fp, FSETLOCKING_BYCALLER);
+
+ bool ok = false;
+ struct scratch_buffer buf;
+ scratch_buffer_init (&buf);
+ while (true)
{
- rmdir (dirname);
- free (dirname);
+ struct group grp;
+ struct group *result = NULL;
+ int status = fgetgrent_r (fp, &grp, buf.data, buf.length, &result);
+ if (status == 0 && result != NULL)
+ {
+ if (strcmp (result->gr_name, name) == 0)
+ {
+ *target = result->gr_gid;
+ ok = true;
+ break;
+ }
+ }
+ else if (errno != ERANGE)
+ break;
+ else if (!scratch_buffer_grow (&buf))
+ break;
}
-
- if (ret == 77)
- FAIL_UNSUPPORTED ("Failed to make sgid executable for test\n");
- if (ret != 0)
- FAIL_EXIT1 ("Failed to make sgid executable for test\n");
-
- return status;
+ scratch_buffer_free (&buf);
+ fclose (fp);
+ return ok;
}
-int
-support_capture_subprogram_self_sgid (char *child_id)
+void
+support_capture_subprogram_self_sgid (const char *child_id)
{
- gid_t target = 0;
const int count = 64;
gid_t groups[count];
@@ -225,6 +207,7 @@ support_capture_subprogram_self_sgid (char *child_id)
(intmax_t) getuid ());
gid_t current = getgid ();
+ gid_t target = current;
for (int i = 0; i < ret; ++i)
{
if (groups[i] != current)
@@ -234,11 +217,18 @@ support_capture_subprogram_self_sgid (char *child_id)
}
}
- if (target == 0)
- FAIL_UNSUPPORTED("Could not find a suitable GID for user %jd\n",
- (intmax_t) getuid ());
+ if (target == current)
+ {
+ /* If running as root, try to find a harmless group for SGID. */
+ if (getuid () != 0
+ || (!find_sgid_group (&target, "nogroup")
+ && !find_sgid_group (&target, "bin")
+ && !find_sgid_group (&target, "daemon")))
+ FAIL_UNSUPPORTED("Could not find a suitable GID for user %jd\n",
+ (intmax_t) getuid ());
+ }
- return copy_and_spawn_sgid (child_id, target);
+ copy_and_spawn_sgid (child_id, target);
}
void
diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile
index 4b7f8a5..bb97d31 100644
--- a/sysdeps/aarch64/Makefile
+++ b/sysdeps/aarch64/Makefile
@@ -41,15 +41,18 @@ gen-as-const-headers += \
dl-link.sym \
rtld-global-offsets.sym
-tests-internal += tst-ifunc-arg-1 tst-ifunc-arg-2
+tests-internal += \
+ tst-ifunc-arg-1 \
+ tst-ifunc-arg-2 \
+ tst-ifunc-arg-3 \
+ tst-ifunc-arg-4 \
+ # tests-internal
-ifeq (yes,$(aarch64-variant-pcs))
tests += tst-vpcs
modules-names += tst-vpcs-mod
LDFLAGS-tst-vpcs-mod.so = -Wl,-z,lazy
$(objpfx)tst-vpcs: $(objpfx)tst-vpcs-mod.so
endif
-endif
ifeq ($(subdir),csu)
gen-as-const-headers += \
@@ -75,7 +78,9 @@ sysdep_routines += \
__alloc_gcs
tests += \
- tst-sme-jmp
+ tst-sme-jmp \
+ tst-sme-za-state \
+ # tests
endif
ifeq ($(subdir),malloc)
diff --git a/sysdeps/aarch64/__alloc_gcs.c b/sysdeps/aarch64/__alloc_gcs.c
index e70b459..b98e5fc 100644
--- a/sysdeps/aarch64/__alloc_gcs.c
+++ b/sysdeps/aarch64/__alloc_gcs.c
@@ -15,6 +15,8 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#include "aarch64-gcs.h"
+
#include <sysdep.h>
#include <unistd.h>
#include <sys/mman.h>
@@ -34,7 +36,7 @@ map_shadow_stack (void *addr, size_t size, unsigned long flags)
#define GCS_ALTSTACK_RESERVE 160
void *
-__alloc_gcs (size_t stack_size, void **ss_base, size_t *ss_size)
+__alloc_gcs (size_t stack_size, struct gcs_record *gcs)
{
size_t size = (stack_size / 2 + GCS_ALTSTACK_RESERVE) & -8UL;
if (size > GCS_MAX_SIZE)
@@ -45,9 +47,6 @@ __alloc_gcs (size_t stack_size, void **ss_base, size_t *ss_size)
if (base == MAP_FAILED)
return NULL;
- *ss_base = base;
- *ss_size = size;
-
uint64_t *gcsp = (uint64_t *) ((char *) base + size);
/* Skip end of GCS token. */
gcsp--;
@@ -58,6 +57,14 @@ __alloc_gcs (size_t stack_size, void **ss_base, size_t *ss_size)
__munmap (base, size);
return NULL;
}
+
+ if (gcs != NULL)
+ {
+ gcs->gcs_base = base;
+ gcs->gcs_token = gcsp;
+ gcs->gcs_size = size;
+ }
+
/* Return the target GCS pointer for context switch. */
return gcsp + 1;
}
diff --git a/sysdeps/aarch64/__arm_za_disable.S b/sysdeps/aarch64/__arm_za_disable.S
index 6290803..92f4814 100644
--- a/sysdeps/aarch64/__arm_za_disable.S
+++ b/sysdeps/aarch64/__arm_za_disable.S
@@ -88,10 +88,8 @@ L(save_loop):
L(end):
ret
L(fail):
-#if HAVE_AARCH64_PAC_RET
- PACIASP
- cfi_window_save
-#endif
+ paciasp
+ cfi_negate_ra_state
stp x29, x30, [sp, -32]!
cfi_adjust_cfa_offset (32)
cfi_rel_offset (x29, 0)
diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S
index 981bf80..70ac02c 100644
--- a/sysdeps/aarch64/__longjmp.S
+++ b/sysdeps/aarch64/__longjmp.S
@@ -24,51 +24,43 @@
/* __longjmp(jmpbuf, val) */
ENTRY (__longjmp)
- cfi_def_cfa(x0, 0)
- cfi_offset(x19, JB_X19<<3)
- cfi_offset(x20, JB_X20<<3)
- cfi_offset(x21, JB_X21<<3)
- cfi_offset(x22, JB_X22<<3)
- cfi_offset(x23, JB_X23<<3)
- cfi_offset(x24, JB_X24<<3)
- cfi_offset(x25, JB_X25<<3)
- cfi_offset(x26, JB_X26<<3)
- cfi_offset(x27, JB_X27<<3)
- cfi_offset(x28, JB_X28<<3)
- cfi_offset(x29, JB_X29<<3)
- cfi_offset(x30, JB_LR<<3)
-
- cfi_offset( d8, JB_D8<<3)
- cfi_offset( d9, JB_D9<<3)
- cfi_offset(d10, JB_D10<<3)
- cfi_offset(d11, JB_D11<<3)
- cfi_offset(d12, JB_D12<<3)
- cfi_offset(d13, JB_D13<<3)
- cfi_offset(d14, JB_D14<<3)
- cfi_offset(d15, JB_D15<<3)
#if IS_IN(libc)
- /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so. */
-# if HAVE_AARCH64_PAC_RET
- PACIASP
- cfi_window_save
-# endif
- stp x29, x30, [sp, -16]!
- cfi_adjust_cfa_offset (16)
- cfi_rel_offset (x29, 0)
- cfi_rel_offset (x30, 8)
- mov x29, sp
+ /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so.
+ The calling convention of __libc_arm_za_disable allows to do
+ this thus allowing to avoid saving to and reading from stack.
+ As a result we also don't need to sign the return address and
+ check it after returning because it is not stored to stack. */
+ mov x13, x30
+ cfi_register (x30, x13)
bl __libc_arm_za_disable
- ldp x29, x30, [sp], 16
- cfi_adjust_cfa_offset (-16)
- cfi_restore (x29)
- cfi_restore (x30)
-# if HAVE_AARCH64_PAC_RET
- AUTIASP
- cfi_window_save
-# endif
+ mov x30, x13
+ cfi_register (x13, x30)
#endif
+ cfi_def_cfa (x0, 0)
+ cfi_offset (x19, JB_X19<<3)
+ cfi_offset (x20, JB_X20<<3)
+ cfi_offset (x21, JB_X21<<3)
+ cfi_offset (x22, JB_X22<<3)
+ cfi_offset (x23, JB_X23<<3)
+ cfi_offset (x24, JB_X24<<3)
+ cfi_offset (x25, JB_X25<<3)
+ cfi_offset (x26, JB_X26<<3)
+ cfi_offset (x27, JB_X27<<3)
+ cfi_offset (x28, JB_X28<<3)
+ cfi_offset (x29, JB_X29<<3)
+ cfi_offset (x30, JB_LR<<3)
+
+ cfi_offset ( d8, JB_D8<<3)
+ cfi_offset ( d9, JB_D9<<3)
+ cfi_offset (d10, JB_D10<<3)
+ cfi_offset (d11, JB_D11<<3)
+ cfi_offset (d12, JB_D12<<3)
+ cfi_offset (d13, JB_D13<<3)
+ cfi_offset (d14, JB_D14<<3)
+ cfi_offset (d15, JB_D15<<3)
+
ldp x19, x20, [x0, #JB_X19<<3]
ldp x21, x22, [x0, #JB_X21<<3]
ldp x23, x24, [x0, #JB_X23<<3]
diff --git a/sysdeps/aarch64/aarch64-gcs.h b/sysdeps/aarch64/aarch64-gcs.h
index 162ef18..8e253ed 100644
--- a/sysdeps/aarch64/aarch64-gcs.h
+++ b/sysdeps/aarch64/aarch64-gcs.h
@@ -23,6 +23,21 @@
#include <stddef.h>
#include <stdbool.h>
-void *__alloc_gcs (size_t, void **, size_t *) attribute_hidden;
+struct gcs_record
+{
+ void *gcs_base;
+ void *gcs_token;
+ size_t gcs_size;
+};
+
+void *__alloc_gcs (size_t, struct gcs_record *) attribute_hidden;
+
+static inline bool
+has_gcs (void)
+{
+ register unsigned long x16 asm ("x16") = 1;
+ asm ("hint 40" /* chkfeat x16 */ : "+r" (x16));
+ return x16 == 0;
+}
#endif
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
index 4bd5496..26a0989 100755
--- a/sysdeps/aarch64/configure
+++ b/sysdeps/aarch64/configure
@@ -185,218 +185,11 @@ else
default-abi = lp64"
fi
-# Only consider BTI supported if -mbranch-protection=bti is
-# on by default in the compiler and the linker produces
-# binaries with GNU property notes in PT_GNU_PROPERTY segment.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BTI support" >&5
-printf %s "checking for BTI support... " >&6; }
-if test ${libc_cv_aarch64_bti+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat > conftest.c <<EOF
-void foo (void) { }
-EOF
- libc_cv_aarch64_bti=no
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.c'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } \
- && { ac_try='$READELF -lW conftest.so | grep -q GNU_PROPERTY'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } \
- && { ac_try='$READELF -nW conftest.so | grep -q "NT_GNU_PROPERTY_TYPE_0.*AArch64 feature:.* BTI"'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
- then
- libc_cv_aarch64_bti=yes
- fi
- rm -rf conftest.* ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_bti" >&5
-printf "%s\n" "$libc_cv_aarch64_bti" >&6; }
-config_vars="$config_vars
-aarch64-bti = $libc_cv_aarch64_bti"
-if test $libc_cv_aarch64_bti = yes; then
- printf "%s\n" "#define HAVE_AARCH64_BTI 1" >>confdefs.h
-
-fi
-
-# Check if glibc is built with return address signing, i.e.
-# if -mbranch-protection=pac-ret is on. We need this because
-# pac-ret relies on unwinder support so it's not safe to use
-# it in assembly code unconditionally, but there is no
-# feature test macro for it in gcc.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pac-ret is enabled" >&5
-printf %s "checking if pac-ret is enabled... " >&6; }
-if test ${libc_cv_aarch64_pac_ret+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat > conftest.c <<EOF
-int bar (void);
-int foo (void) { return bar () + 1; }
-EOF
- libc_cv_aarch64_pac_ret=no
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -o conftest.s conftest.c'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } \
- && { ac_try='grep -q -E '\''(hint( | )+25|paciasp)'\'' conftest.s'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
- then
- libc_cv_aarch64_pac_ret=yes
- fi
- rm -rf conftest.* ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_pac_ret" >&5
-printf "%s\n" "$libc_cv_aarch64_pac_ret" >&6; }
-if test $libc_cv_aarch64_pac_ret = yes; then
- printf "%s\n" "#define HAVE_AARCH64_PAC_RET 1" >>confdefs.h
-
-fi
-
-# Check if binutils supports variant PCS symbols.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variant PCS support" >&5
-printf %s "checking for variant PCS support... " >&6; }
-if test ${libc_cv_aarch64_variant_pcs+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat > conftest.S <<EOF
-.global foo
-.type foo, %function
-.variant_pcs foo
-foo:
- ret
-.global bar
-.type bar, %function
-bar:
- b foo
-EOF
- libc_cv_aarch64_variant_pcs=no
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.S'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } \
- && { ac_try='$READELF -dW conftest.so | grep -q AARCH64_VARIANT_PCS'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
- then
- libc_cv_aarch64_variant_pcs=yes
- fi
- rm -rf conftest.* ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_variant_pcs" >&5
-printf "%s\n" "$libc_cv_aarch64_variant_pcs" >&6; }
-config_vars="$config_vars
-aarch64-variant-pcs = $libc_cv_aarch64_variant_pcs"
-
-# Check if asm support armv8.2-a+sve
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SVE support in assembler" >&5
-printf %s "checking for SVE support in assembler... " >&6; }
-if test ${libc_cv_aarch64_sve_asm+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat > conftest.s <<\EOF
- .arch armv8.2-a+sve
- ptrue p0.b
-EOF
-if { ac_try='${CC-cc} -c conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- libc_cv_aarch64_sve_asm=yes
-else
- libc_cv_aarch64_sve_asm=no
-fi
-rm -f conftest* ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_asm" >&5
-printf "%s\n" "$libc_cv_aarch64_sve_asm" >&6; }
-if test $libc_cv_aarch64_sve_asm = yes; then
- printf "%s\n" "#define HAVE_AARCH64_SVE_ASM 1" >>confdefs.h
-
-fi
-
if test x"$build_mathvec" = xnotset; then
build_mathvec=yes
fi
-# Check if compiler supports SVE ACLE.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for availability of SVE ACLE" >&5
-printf %s "checking for availability of SVE ACLE... " >&6; }
-if test ${libc_cv_aarch64_sve_acle+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat > conftest.c <<EOF
-#include <arm_sve.h>
-EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fsyntax-only -ffreestanding conftest.c'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- libc_cv_aarch64_sve_acle=yes
- else
- libc_cv_aarch64_sve_acle=no
- fi
- rm conftest.c ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_acle" >&5
-printf "%s\n" "$libc_cv_aarch64_sve_acle" >&6; }
-
-# Check if compiler is sufficient to build mathvec
-if test $build_mathvec = yes; then
- fail=no
- if test $libc_cv_aarch64_variant_pcs = no; then
- fail=yes
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but linker does not support variant PCS." >&5
-printf "%s\n" "$as_me: WARNING: mathvec is enabled but linker does not support variant PCS." >&2;}
- fi
- if test $libc_cv_aarch64_sve_asm = no; then
- fail=yes
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but assembler does not support SVE." >&5
-printf "%s\n" "$as_me: WARNING: mathvec is enabled but assembler does not support SVE." >&2;}
- fi
- if test $libc_cv_aarch64_sve_acle = no; then
- fail=yes
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but compiler does not have SVE ACLE." >&5
-printf "%s\n" "$as_me: WARNING: mathvec is enabled but compiler does not have SVE ACLE." >&2;}
- fi
- if test $fail = yes; then
- as_fn_error $? "use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI)." "$LINENO" 5
- fi
-else
+if test $build_mathvec = no; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is disabled, this results in incomplete ABI." >&5
printf "%s\n" "$as_me: WARNING: mathvec is disabled, this results in incomplete ABI." >&2;}
fi
diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
index 56d12d6..22fca8b 100644
--- a/sysdeps/aarch64/configure.ac
+++ b/sysdeps/aarch64/configure.ac
@@ -24,119 +24,10 @@ else
LIBC_CONFIG_VAR([default-abi], [lp64])
fi
-# Only consider BTI supported if -mbranch-protection=bti is
-# on by default in the compiler and the linker produces
-# binaries with GNU property notes in PT_GNU_PROPERTY segment.
-AC_CACHE_CHECK([for BTI support], [libc_cv_aarch64_bti], [dnl
- cat > conftest.c <<EOF
-void foo (void) { }
-EOF
- libc_cv_aarch64_bti=no
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.c]) \
- && AC_TRY_COMMAND([$READELF -lW conftest.so | grep -q GNU_PROPERTY]) \
- && AC_TRY_COMMAND([$READELF -nW conftest.so | grep -q "NT_GNU_PROPERTY_TYPE_0.*AArch64 feature:.* BTI"])
- then
- libc_cv_aarch64_bti=yes
- fi
- rm -rf conftest.*])
-LIBC_CONFIG_VAR([aarch64-bti], [$libc_cv_aarch64_bti])
-if test $libc_cv_aarch64_bti = yes; then
- AC_DEFINE(HAVE_AARCH64_BTI)
-fi
-
-# Check if glibc is built with return address signing, i.e.
-# if -mbranch-protection=pac-ret is on. We need this because
-# pac-ret relies on unwinder support so it's not safe to use
-# it in assembly code unconditionally, but there is no
-# feature test macro for it in gcc.
-AC_CACHE_CHECK([if pac-ret is enabled], [libc_cv_aarch64_pac_ret], [dnl
- cat > conftest.c <<EOF
-int bar (void);
-int foo (void) { return bar () + 1; }
-EOF
- libc_cv_aarch64_pac_ret=no
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -o conftest.s conftest.c]) \
- && AC_TRY_COMMAND([grep -q -E '\''(hint( | )+25|paciasp)'\'' conftest.s])
- then
- libc_cv_aarch64_pac_ret=yes
- fi
- rm -rf conftest.*])
-if test $libc_cv_aarch64_pac_ret = yes; then
- AC_DEFINE(HAVE_AARCH64_PAC_RET)
-fi
-
-# Check if binutils supports variant PCS symbols.
-AC_CACHE_CHECK([for variant PCS support], [libc_cv_aarch64_variant_pcs], [dnl
- cat > conftest.S <<EOF
-.global foo
-.type foo, %function
-.variant_pcs foo
-foo:
- ret
-.global bar
-.type bar, %function
-bar:
- b foo
-EOF
- libc_cv_aarch64_variant_pcs=no
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.S]) \
- && AC_TRY_COMMAND([$READELF -dW conftest.so | grep -q AARCH64_VARIANT_PCS])
- then
- libc_cv_aarch64_variant_pcs=yes
- fi
- rm -rf conftest.*])
-LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs])
-
-# Check if asm support armv8.2-a+sve
-AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl
-cat > conftest.s <<\EOF
- .arch armv8.2-a+sve
- ptrue p0.b
-EOF
-if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_aarch64_sve_asm=yes
-else
- libc_cv_aarch64_sve_asm=no
-fi
-rm -f conftest*])
-if test $libc_cv_aarch64_sve_asm = yes; then
- AC_DEFINE(HAVE_AARCH64_SVE_ASM)
-fi
-
if test x"$build_mathvec" = xnotset; then
build_mathvec=yes
fi
-# Check if compiler supports SVE ACLE.
-AC_CACHE_CHECK(for availability of SVE ACLE, libc_cv_aarch64_sve_acle, [dnl
- cat > conftest.c <<EOF
-#include <arm_sve.h>
-EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -fsyntax-only -ffreestanding conftest.c]); then
- libc_cv_aarch64_sve_acle=yes
- else
- libc_cv_aarch64_sve_acle=no
- fi
- rm conftest.c])
-
-# Check if compiler is sufficient to build mathvec
-if test $build_mathvec = yes; then
- fail=no
- if test $libc_cv_aarch64_variant_pcs = no; then
- fail=yes
- AC_MSG_WARN([mathvec is enabled but linker does not support variant PCS.])
- fi
- if test $libc_cv_aarch64_sve_asm = no; then
- fail=yes
- AC_MSG_WARN([mathvec is enabled but assembler does not support SVE.])
- fi
- if test $libc_cv_aarch64_sve_acle = no; then
- fail=yes
- AC_MSG_WARN([mathvec is enabled but compiler does not have SVE ACLE.])
- fi
- if test $fail = yes; then
- AC_MSG_ERROR([use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI).])
- fi
-else
+if test $build_mathvec = no; then
AC_MSG_WARN([mathvec is disabled, this results in incomplete ABI.])
fi
diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
index 0c3ee40..e9e530c 100644
--- a/sysdeps/aarch64/crti.S
+++ b/sysdeps/aarch64/crti.S
@@ -65,7 +65,7 @@ call_weak_fn:
cbz x0, 1f
b PREINIT_FUNCTION
1:
- RET
+ ret
.size call_weak_fn, .-call_weak_fn
#endif
@@ -75,11 +75,7 @@ call_weak_fn:
.hidden _init
.type _init, %function
_init:
-#if HAVE_AARCH64_PAC_RET
- PACIASP
-#else
- BTI_C
-#endif
+ paciasp
stp x29, x30, [sp, -16]!
mov x29, sp
#if PREINIT_FUNCTION_WEAK
@@ -94,10 +90,6 @@ _init:
.hidden _fini
.type _fini, %function
_fini:
-#if HAVE_AARCH64_PAC_RET
- PACIASP
-#else
- BTI_C
-#endif
+ paciasp
stp x29, x30, [sp, -16]!
mov x29, sp
diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
index b52b10e..653a548 100644
--- a/sysdeps/aarch64/crtn.S
+++ b/sysdeps/aarch64/crtn.S
@@ -41,14 +41,10 @@
.section .init,"ax",%progbits
ldp x29, x30, [sp], 16
-#if HAVE_AARCH64_PAC_RET
- AUTIASP
-#endif
- RET
+ autiasp
+ ret
.section .fini,"ax",%progbits
ldp x29, x30, [sp], 16
-#if HAVE_AARCH64_PAC_RET
- AUTIASP
-#endif
- RET
+ autiasp
+ ret
diff --git a/sysdeps/aarch64/dl-irel.h b/sysdeps/aarch64/dl-irel.h
index ae402bc..7bae3c3 100644
--- a/sysdeps/aarch64/dl-irel.h
+++ b/sysdeps/aarch64/dl-irel.h
@@ -21,11 +21,26 @@
#define _DL_IREL_H
#include <stdio.h>
-#include <unistd.h>
#include <ldsodefs.h>
-#include <sysdep.h>
#include <sys/ifunc.h>
+#define _IFUNC_ARG_SIZE_VER0 24 /* sizeof 1st published __ifunc_arg_t */
+#define _IFUNC_ARG_SIZE_VER1 40 /* sizeof 2nd published __ifunc_arg_t */
+
+#define sizeof_field(TYPE, MEMBER) sizeof ((((TYPE *)0)->MEMBER))
+#define offsetofend(TYPE, MEMBER) \
+ (offsetof (TYPE, MEMBER) + sizeof_field (TYPE, MEMBER))
+
+_Static_assert (sizeof (__ifunc_arg_t) == _IFUNC_ARG_SIZE_VER1,
+ "sizeof (__ifunc_arg_t) != _IFUNC_ARG_SIZE_VER1");
+
+_Static_assert (_IFUNC_ARG_SIZE_VER1
+ == (_IFUNC_HWCAP_MAX + 1) * sizeof (unsigned long),
+ "_IFUNC_ARG_SIZE_VER1 and _IFUNC_HWCAP_MAX mismatch");
+
+#undef offsetofend
+#undef sizeof_field
+
#define ELF_MACHINE_IRELA 1
static inline ElfW(Addr)
@@ -37,6 +52,8 @@ elf_ifunc_invoke (ElfW(Addr) addr)
arg._size = sizeof (arg);
arg._hwcap = GLRO(dl_hwcap);
arg._hwcap2 = GLRO(dl_hwcap2);
+ arg._hwcap3 = GLRO(dl_hwcap3);
+ arg._hwcap4 = GLRO(dl_hwcap4);
return ((ElfW(Addr) (*) (uint64_t, const __ifunc_arg_t *)) (addr))
(GLRO(dl_hwcap) | _IFUNC_ARG_HWCAP, &arg);
}
diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
index fc40d66..2ff8d95 100644
--- a/sysdeps/aarch64/dl-tlsdesc.S
+++ b/sysdeps/aarch64/dl-tlsdesc.S
@@ -74,9 +74,9 @@
cfi_startproc
.align 2
_dl_tlsdesc_return:
- BTI_C
+ bti c
ldr x0, [x0, 8]
- RET
+ ret
cfi_endproc
.size _dl_tlsdesc_return, .-_dl_tlsdesc_return
@@ -95,7 +95,7 @@ _dl_tlsdesc_return:
cfi_startproc
.align 2
_dl_tlsdesc_undefweak:
- BTI_C
+ bti c
str x1, [sp, #-16]!
cfi_adjust_cfa_offset (16)
ldr x0, [x0, 8]
@@ -103,7 +103,7 @@ _dl_tlsdesc_undefweak:
sub x0, x0, x1
ldr x1, [sp], #16
cfi_adjust_cfa_offset (-16)
- RET
+ ret
cfi_endproc
.size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak
@@ -141,12 +141,8 @@ _dl_tlsdesc_undefweak:
cfi_startproc
.align 2
_dl_tlsdesc_dynamic:
-# if HAVE_AARCH64_PAC_RET
- PACIASP
- cfi_window_save
-# else
- BTI_C
-# endif
+ paciasp
+ cfi_negate_ra_state
/* Save just enough registers to support fast path, if we fall
into slow path we will save additional registers. */
@@ -177,12 +173,10 @@ _dl_tlsdesc_dynamic:
1:
ldp x3, x4, [sp, #16]
ldp x1, x2, [sp], #32
-# if HAVE_AARCH64_PAC_RET
- AUTIASP
- cfi_window_save
-# endif
+ autiasp
+ cfi_negate_ra_state
cfi_adjust_cfa_offset (-32)
- RET
+ ret
2:
/* This is the slow path. We need to call __tls_get_addr() which
means we need to save and restore all the register that the
diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
index d6bed96..d628b01 100644
--- a/sysdeps/aarch64/dl-trampoline.S
+++ b/sysdeps/aarch64/dl-trampoline.S
@@ -34,7 +34,7 @@
cfi_startproc
.align 2
_dl_runtime_resolve:
- BTI_C
+ bti c
/* AArch64 we get called with:
ip0 &PLTGOT[2]
ip1 temp(dl resolver entry point)
@@ -127,12 +127,8 @@ _dl_runtime_resolve:
cfi_startproc
.align 2
_dl_runtime_profile:
-# if HAVE_AARCH64_PAC_RET
- PACIASP
- cfi_window_save
-# else
- BTI_C
-# endif
+ paciasp
+ cfi_negate_ra_state
/* AArch64 we get called with:
ip0 &PLTGOT[2]
ip1 temp(dl resolver entry point)
@@ -251,17 +247,12 @@ _dl_runtime_profile:
cfi_restore(x29)
cfi_restore(x30)
-# if HAVE_AARCH64_PAC_RET
add sp, sp, SF_SIZE
cfi_adjust_cfa_offset (-SF_SIZE)
- AUTIASP
- cfi_window_save
+ autiasp
+ cfi_negate_ra_state
add sp, sp, 16
cfi_adjust_cfa_offset (-16)
-# else
- add sp, sp, SF_SIZE + 16
- cfi_adjust_cfa_offset (- SF_SIZE - 16)
-# endif
/* Jump to the newly found address. */
br ip0
@@ -321,10 +312,8 @@ _dl_runtime_profile:
/* LR from within La_aarch64_reg */
ldr lr, [x29, #OFFSET_RG + DL_OFFSET_RG_LR]
cfi_restore(lr)
-# if HAVE_AARCH64_PAC_RET
/* Note: LR restored from La_aarch64_reg has no PAC. */
- cfi_window_save
-# endif
+ cfi_negate_ra_state
mov sp, x29
cfi_def_cfa_register (sp)
ldr x29, [x29, #0]
diff --git a/sysdeps/aarch64/fpu/Makefile b/sysdeps/aarch64/fpu/Makefile
index aadedf1..068c11c 100644
--- a/sysdeps/aarch64/fpu/Makefile
+++ b/sysdeps/aarch64/fpu/Makefile
@@ -1,10 +1,14 @@
libmvec-supported-funcs = acos \
acosh \
+ acospi \
asin \
asinh \
+ asinpi \
atan \
atanh \
+ atanpi \
atan2 \
+ atan2pi \
cbrt \
cos \
cosh \
@@ -52,8 +56,11 @@ libmvec-support = $(addsuffix f_advsimd,$(float-advsimd-funcs)) \
v_powf_data
endif
-sve-cflags = -march=armv8-a+sve
+# Enable SVE for building libmvec. Since CFLAGS may contain a -mcpu or -march,
+# add a generic -mcpu and -march with SVE enabled. Also use a tune for a modern
+# SVE core.
+sve-cflags = -mcpu=generic+sve -march=armv8-a+sve -mtune=neoverse-v1
ifeq ($(build-mathvec),yes)
bench-libmvec = $(addprefix float-advsimd-,$(float-advsimd-funcs)) \
diff --git a/sysdeps/aarch64/fpu/Versions b/sysdeps/aarch64/fpu/Versions
index 0f9503f..2980cb7 100644
--- a/sysdeps/aarch64/fpu/Versions
+++ b/sysdeps/aarch64/fpu/Versions
@@ -157,4 +157,26 @@ libmvec {
_ZGVsMxv_tanpi;
_ZGVsMxv_tanpif;
}
+ GLIBC_2.42 {
+ _ZGVnN2v_acospi;
+ _ZGVnN2v_acospif;
+ _ZGVnN4v_acospif;
+ _ZGVsMxv_acospi;
+ _ZGVsMxv_acospif;
+ _ZGVnN2v_asinpi;
+ _ZGVnN2v_asinpif;
+ _ZGVnN4v_asinpif;
+ _ZGVsMxv_asinpi;
+ _ZGVsMxv_asinpif;
+ _ZGVnN2v_atanpi;
+ _ZGVnN2v_atanpif;
+ _ZGVnN4v_atanpif;
+ _ZGVsMxv_atanpi;
+ _ZGVsMxv_atanpif;
+ _ZGVnN2vv_atan2pi;
+ _ZGVnN2vv_atan2pif;
+ _ZGVnN4vv_atan2pif;
+ _ZGVsMxvv_atan2pi;
+ _ZGVsMxvv_atan2pif;
+ }
}
diff --git a/sysdeps/aarch64/fpu/acos_advsimd.c b/sysdeps/aarch64/fpu/acos_advsimd.c
index 7709b54..453f780 100644
--- a/sysdeps/aarch64/fpu/acos_advsimd.c
+++ b/sysdeps/aarch64/fpu/acos_advsimd.c
@@ -18,24 +18,23 @@
<https://www.gnu.org/licenses/>. */
#include "v_math.h"
-#include "poly_advsimd_f64.h"
static const struct data
{
- float64x2_t poly[12];
- float64x2_t pi, pi_over_2;
+ double c1, c3, c5, c7, c9, c11;
+ float64x2_t c0, c2, c4, c6, c8, c10;
uint64x2_t abs_mask;
+ float64x2_t pi, pi_over_2;
} data = {
/* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
- .poly = { V2 (0x1.555555555554ep-3), V2 (0x1.3333333337233p-4),
- V2 (0x1.6db6db67f6d9fp-5), V2 (0x1.f1c71fbd29fbbp-6),
- V2 (0x1.6e8b264d467d6p-6), V2 (0x1.1c5997c357e9dp-6),
- V2 (0x1.c86a22cd9389dp-7), V2 (0x1.856073c22ebbep-7),
- V2 (0x1.fd1151acb6bedp-8), V2 (0x1.087182f799c1dp-6),
- V2 (-0x1.6602748120927p-7), V2 (0x1.cfa0dd1f9478p-6), },
- .pi = V2 (0x1.921fb54442d18p+1),
- .pi_over_2 = V2 (0x1.921fb54442d18p+0),
+ .c0 = V2 (0x1.555555555554ep-3), .c1 = 0x1.3333333337233p-4,
+ .c2 = V2 (0x1.6db6db67f6d9fp-5), .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = V2 (0x1.6e8b264d467d6p-6), .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = V2 (0x1.c86a22cd9389dp-7), .c7 = 0x1.856073c22ebbep-7,
+ .c8 = V2 (0x1.fd1151acb6bedp-8), .c9 = 0x1.087182f799c1dp-6,
+ .c10 = V2 (-0x1.6602748120927p-7), .c11 = 0x1.cfa0dd1f9478p-6,
+ .pi = V2 (0x1.921fb54442d18p+1), .pi_over_2 = V2 (0x1.921fb54442d18p+0),
.abs_mask = V2 (0x7fffffffffffffff),
};
@@ -63,7 +62,7 @@ special_case (float64x2_t x, float64x2_t y, uint64x2_t special)
acos(x) ~ pi/2 - (x + x^3 P(x^2)).
- The largest observed error in this region is 1.18 ulps,
+ The largest observed error in this region is 1.18 ulp:
_ZGVnN2v_acos (0x1.fbab0a7c460f6p-2) got 0x1.0d54d1985c068p+0
want 0x1.0d54d1985c069p+0.
@@ -71,9 +70,9 @@ special_case (float64x2_t x, float64x2_t y, uint64x2_t special)
acos(x) = y + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
- The largest observed error in this region is 1.52 ulps,
- _ZGVnN2v_acos (0x1.23d362722f591p-1) got 0x1.edbbedf8a7d6ep-1
- want 0x1.edbbedf8a7d6cp-1. */
+ The largest observed error in this region is 1.50 ulp:
+ _ZGVnN2v_acos (0x1.252a2cf3fb9acp-1) got 0x1.ec1a46aa82901p-1
+ want 0x1.ec1a46aa829p-1. */
float64x2_t VPCS_ATTR V_NAME_D1 (acos) (float64x2_t x)
{
const struct data *d = ptr_barrier (&data);
@@ -99,13 +98,32 @@ float64x2_t VPCS_ATTR V_NAME_D1 (acos) (float64x2_t x)
float64x2_t z = vbslq_f64 (a_le_half, ax, vsqrtq_f64 (z2));
/* Use a single polynomial approximation P for both intervals. */
+ float64x2_t z3 = vmulq_f64 (z2, z);
float64x2_t z4 = vmulq_f64 (z2, z2);
float64x2_t z8 = vmulq_f64 (z4, z4);
- float64x2_t z16 = vmulq_f64 (z8, z8);
- float64x2_t p = v_estrin_11_f64 (z2, z4, z8, z16, d->poly);
- /* Finalize polynomial: z + z * z2 * P(z2). */
- p = vfmaq_f64 (z, vmulq_f64 (z, z2), p);
+ /* Order-11 Estrin. */
+ float64x2_t c13 = vld1q_f64 (&d->c1);
+ float64x2_t c57 = vld1q_f64 (&d->c5);
+ float64x2_t c911 = vld1q_f64 (&d->c9);
+
+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
+
+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
+
+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
+
+ float64x2_t p411 = vfmaq_f64 (p47, z8, p811);
+ float64x2_t p = vfmaq_f64 (p03, z8, p411);
+
+ /* Finalize polynomial: z + z3 * P(z2). */
+ p = vfmaq_f64 (z, z3, p);
/* acos(|x|) = pi/2 - sign(x) * Q(|x|), for |x| < 0.5
= 2 Q(|x|) , for 0.5 < x < 1.0
diff --git a/sysdeps/aarch64/fpu/acos_sve.c b/sysdeps/aarch64/fpu/acos_sve.c
index 74e2f7d..104f0d7 100644
--- a/sysdeps/aarch64/fpu/acos_sve.c
+++ b/sysdeps/aarch64/fpu/acos_sve.c
@@ -18,20 +18,21 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[12];
- float64_t pi, pi_over_2;
+ float64_t c1, c3, c5, c7, c9, c11;
+ float64_t c0, c2, c4, c6, c8, c10;
+ float64_t pi_over_2;
} data = {
/* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
- .poly = { 0x1.555555555554ep-3, 0x1.3333333337233p-4, 0x1.6db6db67f6d9fp-5,
- 0x1.f1c71fbd29fbbp-6, 0x1.6e8b264d467d6p-6, 0x1.1c5997c357e9dp-6,
- 0x1.c86a22cd9389dp-7, 0x1.856073c22ebbep-7, 0x1.fd1151acb6bedp-8,
- 0x1.087182f799c1dp-6, -0x1.6602748120927p-7, 0x1.cfa0dd1f9478p-6, },
- .pi = 0x1.921fb54442d18p+1,
+ .c0 = 0x1.555555555554ep-3, .c1 = 0x1.3333333337233p-4,
+ .c2 = 0x1.6db6db67f6d9fp-5, .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = 0x1.6e8b264d467d6p-6, .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = 0x1.c86a22cd9389dp-7, .c7 = 0x1.856073c22ebbep-7,
+ .c8 = 0x1.fd1151acb6bedp-8, .c9 = 0x1.087182f799c1dp-6,
+ .c10 = -0x1.6602748120927p-7, .c11 = 0x1.cfa0dd1f9478p-6,
.pi_over_2 = 0x1.921fb54442d18p+0,
};
@@ -42,20 +43,21 @@ static const struct data
acos(x) ~ pi/2 - (x + x^3 P(x^2)).
- The largest observed error in this region is 1.18 ulps,
- _ZGVsMxv_acos (0x1.fbc5fe28ee9e3p-2) got 0x1.0d4d0f55667f6p+0
- want 0x1.0d4d0f55667f7p+0.
+ The largest observed error in this region is 1.18 ulp:
+ _ZGVsMxv_acos (0x1.fbb7c9079b429p-2) got 0x1.0d51266607582p+0
+ want 0x1.0d51266607583p+0.
For |x| in [0.5, 1.0], use same approximation with a change of variable
acos(x) = y + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
- The largest observed error in this region is 1.52 ulps,
- _ZGVsMxv_acos (0x1.24024271a500ap-1) got 0x1.ed82df4243f0dp-1
- want 0x1.ed82df4243f0bp-1. */
+ The largest observed error in this region is 1.50 ulp:
+ _ZGVsMxv_acos (0x1.252a2cf3fb9acp-1) got 0x1.ec1a46aa82901p-1
+ want 0x1.ec1a46aa829p-1. */
svfloat64_t SV_NAME_D1 (acos) (svfloat64_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b64 ();
svuint64_t sign = svand_x (pg, svreinterpret_u64 (x), 0x8000000000000000);
svfloat64_t ax = svabs_x (pg, x);
@@ -70,24 +72,41 @@ svfloat64_t SV_NAME_D1 (acos) (svfloat64_t x, const svbool_t pg)
svfloat64_t z = svsqrt_m (ax, a_gt_half, z2);
/* Use a single polynomial approximation P for both intervals. */
- svfloat64_t z4 = svmul_x (pg, z2, z2);
- svfloat64_t z8 = svmul_x (pg, z4, z4);
- svfloat64_t z16 = svmul_x (pg, z8, z8);
- svfloat64_t p = sv_estrin_11_f64_x (pg, z2, z4, z8, z16, d->poly);
+ svfloat64_t z3 = svmul_x (ptrue, z2, z);
+ svfloat64_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat64_t z8 = svmul_x (ptrue, z4, z4);
+
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
+
+ svfloat64_t p411 = svmla_x (pg, p47, z8, p811);
+ svfloat64_t p = svmad_x (pg, p411, z8, p03);
/* Finalize polynomial: z + z * z2 * P(z2). */
- p = svmla_x (pg, z, svmul_x (pg, z, z2), p);
+ p = svmad_x (pg, p, z3, z);
/* acos(|x|) = pi/2 - sign(x) * Q(|x|), for |x| < 0.5
= 2 Q(|x|) , for 0.5 < x < 1.0
= pi - 2 Q(|x|) , for -1.0 < x < -0.5. */
- svfloat64_t y
- = svreinterpret_f64 (svorr_x (pg, svreinterpret_u64 (p), sign));
-
- svbool_t is_neg = svcmplt (pg, x, 0.0);
- svfloat64_t off = svdup_f64_z (is_neg, d->pi);
- svfloat64_t mul = svsel (a_gt_half, sv_f64 (2.0), sv_f64 (-1.0));
- svfloat64_t add = svsel (a_gt_half, off, sv_f64 (d->pi_over_2));
-
- return svmla_x (pg, add, mul, y);
+ svfloat64_t mul = svreinterpret_f64 (
+ svlsl_m (a_gt_half, svreinterpret_u64 (sv_f64 (1.0)), 10));
+ mul = svreinterpret_f64 (sveor_x (ptrue, svreinterpret_u64 (mul), sign));
+ svfloat64_t add = svreinterpret_f64 (
+ svorr_x (ptrue, sign, svreinterpret_u64 (sv_f64 (d->pi_over_2))));
+ add = svsub_m (a_gt_half, sv_f64 (d->pi_over_2), add);
+
+ return svmsb_x (pg, p, mul, add);
}
diff --git a/sysdeps/aarch64/fpu/acosh_sve.c b/sysdeps/aarch64/fpu/acosh_sve.c
index 326b2cc..3a84959 100644
--- a/sysdeps/aarch64/fpu/acosh_sve.c
+++ b/sysdeps/aarch64/fpu/acosh_sve.c
@@ -30,10 +30,10 @@ special_case (svfloat64_t x, svfloat64_t y, svbool_t special)
}
/* SVE approximation for double-precision acosh, based on log1p.
- The largest observed error is 3.19 ULP in the region where the
+ The largest observed error is 3.14 ULP in the region where the
argument to log1p falls in the k=0 interval, i.e. x close to 1:
- SV_NAME_D1 (acosh)(0x1.1e4388d4ca821p+0) got 0x1.ed23399f5137p-2
- want 0x1.ed23399f51373p-2. */
+ SV_NAME_D1 (acosh)(0x1.1e80ed12f0ad1p+0) got 0x1.ef0cee7c33ce1p-2
+ want 0x1.ef0cee7c33ce4p-2. */
svfloat64_t SV_NAME_D1 (acosh) (svfloat64_t x, const svbool_t pg)
{
/* (ix - One) >= (BigBound - One). */
diff --git a/sysdeps/aarch64/fpu/acospi_advsimd.c b/sysdeps/aarch64/fpu/acospi_advsimd.c
new file mode 100644
index 0000000..bb6c209
--- /dev/null
+++ b/sysdeps/aarch64/fpu/acospi_advsimd.c
@@ -0,0 +1,118 @@
+/* Double-Precision vector (Advanced SIMD) inverse cospi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float64x2_t c0, c2, c4, c6, c8, c10;
+ uint64x2_t abs_mask;
+ float64x2_t one, inv_pi;
+ double c1, c3, c5, c7, c9, c11;
+} data = {
+ /* Coefficients of polynomial P such that asin(x)/pi~ x/pi + x^3 * poly(x^2)
+ on [ 0x1p-126 0x1p-2 ]. rel error: 0x1.ef9f94b1p-33. Generated using
+ iterative approach for minimisation of relative error in asinpif Sollya
+ file. */
+ .c0 = V2 (0x1.b2995e7b7b5fbp-5), .c1 = 0x1.8723a1d58d83p-6,
+ .c2 = V2 (0x1.d1a452eacf2fep-7), .c3 = 0x1.3ce52c4d75582p-7,
+ .c4 = V2 (0x1.d2b2a0aea27d5p-8), .c5 = 0x1.6a0b9b92cad8bp-8,
+ .c6 = V2 (0x1.2290c84438caep-8), .c7 = 0x1.efba896580d02p-9,
+ .c8 = V2 (0x1.44446707af38p-9), .c9 = 0x1.5070b3e7aa03ep-8,
+ .c10 = V2 (-0x1.c70015d0ebdafp-9), .c11 = 0x1.27029c383fed9p-7,
+ .abs_mask = V2 (0x7fffffffffffffff), .one = V2 (1.0),
+ .inv_pi = V2 (0x1.45f306dc9c883p-2),
+};
+
+/* Double-precision implementation of vector acospi(x).
+
+ For |x| in [0, 0.5], use order-11 polynomial P to approximate asinpi
+ such that the final approximation of acospi is an odd polynomial:
+
+ acospi(x) ~ 1/2 - (x/pi + x^3 P(x^2)).
+
+ The largest observed error in this region is 1.35 ulp:
+ _ZGVnN2v_acospi (0x1.fb16ed35a6d64p-2) got 0x1.5722a3dbcafb4p-2
+ want 0x1.5722a3dbcafb5p-2.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ acospi(x) = y/pi + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 2.55 ulp:
+ _ZGVnN2v_acospi (0x1.d90d50357410cp-1) got 0x1.ffd43d5dd3a9ep-4
+ want 0x1.ffd43d5dd3a9bp-4. */
+float64x2_t VPCS_ATTR NOINLINE V_NAME_D1 (acospi) (float64x2_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint64x2_t ix = vreinterpretq_u64_f64 (x);
+ uint64x2_t ia = vandq_u64 (ix, d->abs_mask);
+
+ float64x2_t ax = vreinterpretq_f64_u64 (ia);
+ uint64x2_t a_le_half = vcaltq_f64 (x, v_f64 (0.5));
+
+ /* Evaluate polynomial Q(x) = z + z * z2 * P(z2) with
+ z2 = x ^ 2 and z = |x| , if |x| < 0.5
+ z2 = (1 - |x|) / 2 and z = sqrt(z2), if |x| >= 0.5. */
+ float64x2_t z2 = vbslq_f64 (a_le_half, vmulq_f64 (x, x),
+ vfmsq_n_f64 (v_f64 (0.5), ax, 0.5));
+ float64x2_t z = vbslq_f64 (a_le_half, ax, vsqrtq_f64 (z2));
+
+ /* Use a single polynomial approximation P for both intervals. */
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+
+ /* Order-11 Estrin. */
+ float64x2_t c13 = vld1q_f64 (&d->c1);
+ float64x2_t c57 = vld1q_f64 (&d->c5);
+ float64x2_t c911 = vld1q_f64 (&d->c9);
+
+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
+
+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
+
+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
+
+ float64x2_t p411 = vfmaq_f64 (p47, z8, p811);
+ float64x2_t p = vfmaq_f64 (p03, z8, p411);
+
+ /* Finalize polynomial: z + z * z2 * P(z2). */
+ p = vfmaq_f64 (d->inv_pi, z2, p);
+ p = vmulq_f64 (p, z);
+
+ /* acospi(|x|)
+ = 1/2 - sign(x) * Q(|x|), for |x| < 0.5
+ = 2 Q(|x|) , for 0.5 < x < 1.0
+ = 1 - 2 Q(|x|) , for -1.0 < x < -0.5. */
+ float64x2_t y = vbslq_f64 (d->abs_mask, p, x);
+ uint64x2_t is_neg = vcltzq_f64 (x);
+ float64x2_t off = vreinterpretq_f64_u64 (
+ vandq_u64 (is_neg, vreinterpretq_u64_f64 (d->one)));
+ float64x2_t mul = vbslq_f64 (a_le_half, d->one, v_f64 (-2.0));
+ float64x2_t add = vbslq_f64 (a_le_half, v_f64 (0.5), off);
+
+ return vfmsq_f64 (add, mul, y);
+}
diff --git a/sysdeps/aarch64/fpu/acospi_sve.c b/sysdeps/aarch64/fpu/acospi_sve.c
new file mode 100644
index 0000000..e41eaad
--- /dev/null
+++ b/sysdeps/aarch64/fpu/acospi_sve.c
@@ -0,0 +1,112 @@
+/* Double-Precision vector (SVE) inverse cospi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float64_t c1, c3, c5, c7, c9, c11;
+ float64_t c0, c2, c4, c6, c8, c10;
+ float64_t inv_pi, half;
+} data = {
+ /* Coefficients of polynomial P such that asin(x)/pi~ x/pi + x^3 * poly(x^2)
+ on [ 0x1p-126 0x1p-2 ]. rel error: 0x1.ef9f94b1p-33. Generated using
+ iterative approach for minimisation of relative error in asinpif Sollya
+ file. */
+ .c0 = 0x1.b2995e7b7b5fbp-5, .c1 = 0x1.8723a1d58d83p-6,
+ .c2 = 0x1.d1a452eacf2fep-7, .c3 = 0x1.3ce52c4d75582p-7,
+ .c4 = 0x1.d2b2a0aea27d5p-8, .c5 = 0x1.6a0b9b92cad8bp-8,
+ .c6 = 0x1.2290c84438caep-8, .c7 = 0x1.efba896580d02p-9,
+ .c8 = 0x1.44446707af38p-9, .c9 = 0x1.5070b3e7aa03ep-8,
+ .c10 = -0x1.c70015d0ebdafp-9, .c11 = 0x1.27029c383fed9p-7,
+ .inv_pi = 0x1.45f306dc9c883p-2, .half = 0.5,
+};
+
+/* Double-precision SVE implementation of vector acospi(x).
+
+ For |x| in [0, 0.5], use order 11 polynomial P to approximate asinpi
+ such that the final approximation of acospi is:
+
+ acospi(x) ~ 1/2 - (x/pi + x^3 P(x^2)).
+
+ The largest observed error in this region is 1.35 ulp:
+ _ZGVsMxv_acospi (0x1.fb014996aea18p-2) got 0x1.572a91755bbf6p-2
+ want 0x1.572a91755bbf7p-2.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ acospi(x) = y/pi + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 2.55 ulp:
+ _ZGVsMxv_acospi(0x1.d90d50357410cp-1) got 0x1.ffd43d5dd3a9ep-4
+ want 0x1.ffd43d5dd3a9bp-4. */
+svfloat64_t SV_NAME_D1 (acospi) (svfloat64_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b64 ();
+
+ svuint64_t sign = svand_x (pg, svreinterpret_u64 (x), 0x8000000000000000);
+ svfloat64_t ax = svabs_x (pg, x);
+ svbool_t a_gt_half = svacgt (pg, x, 0.5f);
+
+ /* Evaluate polynomial Q(x) = z + z * z2 * P(z2) with
+ z2 = x ^ 2 and z = |x| , if |x| < 0.5
+ z2 = (1 - |x|) / 2 and z = sqrt(z2), if |x| >= 0.5. */
+ svfloat64_t z2 = svsel (a_gt_half, svmls_x (pg, sv_f64 (0.5), ax, 0.5),
+ svmul_x (ptrue, x, x));
+ svfloat64_t z = svsqrt_m (ax, a_gt_half, z2);
+
+ /* Order-11 Estrin. */
+ svfloat64_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat64_t z8 = svmul_x (ptrue, z4, z4);
+
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
+
+ svfloat64_t p411 = svmla_x (pg, p47, z8, p811);
+ svfloat64_t p = svmla_x (pg, p03, z8, p411);
+
+ p = svmla_x (pg, sv_f64 (d->inv_pi), z2, p);
+ p = svmul_x (ptrue, p, z);
+
+ /* acospi(|x|) = 1/2 - sign(x) * Q(|x|), for |x| < 0.5
+ = 2 Q(|x|) , for 0.5 < x < 1.0
+ = 1 - 2 Q(|x|) , for -1.0 < x < -0.5. */
+ svfloat64_t mul = svreinterpret_f64 (
+ svlsl_m (a_gt_half, svreinterpret_u64 (sv_f64 (1.0)), 10));
+ mul = svreinterpret_f64 (sveor_x (ptrue, svreinterpret_u64 (mul), sign));
+ svfloat64_t add = svreinterpret_f64 (
+ svorr_x (ptrue, sign, svreinterpret_u64 (sv_f64 (d->half))));
+ add = svsub_m (a_gt_half, sv_f64 (d->half), add);
+
+ return svmsb_x (pg, p, mul, add);
+}
diff --git a/sysdeps/aarch64/fpu/acospif_advsimd.c b/sysdeps/aarch64/fpu/acospif_advsimd.c
new file mode 100644
index 0000000..8486b62
--- /dev/null
+++ b/sysdeps/aarch64/fpu/acospif_advsimd.c
@@ -0,0 +1,106 @@
+/* Single-Precision vector (Advanced SIMD) inverse cospi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float32x4_t c0, c2, c4, inv_pi;
+ float c1, c3, c5, null;
+} data = {
+ /* Coefficients of polynomial P such that asin(x)/pi~ x/pi + x^3 * poly(x^2)
+ on [ 0x1p-126 0x1p-2 ]. rel error: 0x1.ef9f94b1p-33. Generated using
+ iterative approach for minimisation of relative error in asinpif Sollya
+ file. */
+ .c0 = V4 (0x1.b2995ep-5f), .c1 = 0x1.8724ep-6f,
+ .c2 = V4 (0x1.d1301ep-7f), .c3 = 0x1.446d3cp-7f,
+ .c4 = V4 (0x1.654848p-8f), .c5 = 0x1.5fdaa8p-7f,
+ .inv_pi = V4 (0x1.45f306p-2f),
+};
+
+#define AbsMask 0x7fffffff
+
+/* Single-precision implementation of vector acospi(x).
+
+ For |x| in [0, 0.5], use order 5 polynomial P to approximate asinpi
+ such that the final approximation of acospi is an odd polynomial:
+
+ acospi(x) ~ 1/2 - (x/pi + x^3 P(x^2)).
+
+ The largest observed error in this region is 1.23 ulps,
+ _ZGVnN4v_acospif (0x1.fee13ep-2) got 0x1.55beb4p-2 want 0x1.55beb2p-2.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ acospi(x) = y/pi + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 2.53 ulps,
+ _ZGVnN4v_acospif (0x1.6ad644p-1) got 0x1.fe8f96p-3
+ want 0x1.fe8f9cp-3. */
+float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (acospi) (float32x4_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint32x4_t ix = vreinterpretq_u32_f32 (x);
+ uint32x4_t ia = vandq_u32 (ix, v_u32 (AbsMask));
+
+ float32x4_t ax = vreinterpretq_f32_u32 (ia);
+ uint32x4_t a_le_half = vcaltq_f32 (x, v_f32 (0.5f));
+
+ /* Evaluate polynomial Q(x) = z + z * z2 * P(z2) with
+ z2 = x ^ 2 and z = |x| , if |x| < 0.5
+ z2 = (1 - |x|) / 2 and z = sqrt(z2), if |x| >= 0.5. */
+
+ float32x4_t z2 = vbslq_f32 (a_le_half, vmulq_f32 (x, x),
+ vfmsq_n_f32 (v_f32 (0.5f), ax, 0.5f));
+ float32x4_t z = vbslq_f32 (a_le_half, ax, vsqrtq_f32 (z2));
+
+ /* Use a single polynomial approximation P for both intervals. */
+
+ /* Order-5 Estrin evaluation scheme. */
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t z8 = vmulq_f32 (z4, z4);
+ float32x4_t c135 = vld1q_f32 (&d->c1);
+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, c135, 0);
+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, c135, 1);
+ float32x4_t p03 = vfmaq_f32 (p01, z4, p23);
+ float32x4_t p45 = vfmaq_laneq_f32 (d->c4, z2, c135, 2);
+ float32x4_t p = vfmaq_f32 (p03, z8, p45);
+ /* Add 1/pi as final coeff. */
+ p = vfmaq_f32 (d->inv_pi, z2, p);
+
+ /* Finalize polynomial: z * P(z^2). */
+ p = vmulq_f32 (z, p);
+
+ /* acospi(|x|)
+ = 1/2 - sign(x) * Q(|x|), for |x| < 0.5
+ = 2 Q(|x|) , for 0.5 < x < 1.0
+ = 1 - 2 Q(|x|) , for -1.0 < x < -0.5. */
+
+ float32x4_t y = vbslq_f32 (v_u32 (AbsMask), p, x);
+ uint32x4_t is_neg = vcltzq_f32 (x);
+ float32x4_t off = vreinterpretq_f32_u32 (
+ vandq_u32 (vreinterpretq_u32_f32 (v_f32 (1.0f)), is_neg));
+ float32x4_t mul = vbslq_f32 (a_le_half, v_f32 (1.0f), v_f32 (-2.0f));
+ float32x4_t add = vbslq_f32 (a_le_half, v_f32 (0.5f), off);
+
+ return vfmsq_f32 (add, mul, y);
+}
+libmvec_hidden_def (V_NAME_F1 (acospi))
+HALF_WIDTH_ALIAS_F1 (acospi)
diff --git a/sysdeps/aarch64/fpu/acospif_sve.c b/sysdeps/aarch64/fpu/acospif_sve.c
new file mode 100644
index 0000000..ea4fc4a
--- /dev/null
+++ b/sysdeps/aarch64/fpu/acospif_sve.c
@@ -0,0 +1,91 @@
+/* Single-Precision vector (SVE) inverse cospi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float32_t c0, c1, c2, c3, c4, inv_pi, half;
+} data = {
+ /* Coefficients of polynomial P such that asin(x)/pi~ x/pi + x^3 * poly(x^2)
+ on [ 0x1p-126 0x1p-2 ]. rel error: 0x1.ef9f94b1p-33. Generated using
+ iterative approach for minimisation of relative error. */
+ .c0 = 0x1.b29968p-5f, .c1 = 0x1.871424p-6f, .c2 = 0x1.d56e44p-7f,
+ .c3 = 0x1.149bb8p-7f, .c4 = 0x1.8e07fep-7f, .inv_pi = 0x1.45f306p-2f,
+ .half = 0.5f,
+};
+
+/* Single-precision SVE implementation of vector acospi(x).
+
+ For |x| in [0, 0.5], use order 5 polynomial P to approximate asinpi
+ such that the final approximation of acospi is:
+
+ acospi(x) ~ 1/2 - (x/pi + x^3 P(x^2)).
+
+ The largest observed error in this region is 1.3 ulps,
+ _ZGVsMxv_acospif(0x1.ffa9d2p-2) got 0x1.557504p-2
+ want 0x1.557502p-2.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ acospi(x) = y/pi + y * z * P(z), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 2.61 ulps,
+ _ZGVsMxv_acospif (0x1.6b232ep-1) got 0x1.fe04bap-3
+ want 0x1.fe04cp-3. */
+svfloat32_t SV_NAME_F1 (acospi) (svfloat32_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ svbool_t ptrue = svptrue_b32 ();
+
+ svuint32_t sign = svand_x (pg, svreinterpret_u32 (x), 0x80000000);
+ svfloat32_t ax = svabs_x (pg, x);
+ svbool_t a_gt_half = svacgt (pg, x, 0.5f);
+
+ /* Evaluate polynomial Q(x) = z + z * z2 * P(z2) with
+ z2 = x ^ 2 and z = |x| , if |x| < 0.5
+ z2 = (1 - |x|) / 2 and z = sqrt(z2), if |x| >= 0.5. */
+ svfloat32_t z2 = svsel (a_gt_half, svmls_x (pg, sv_f32 (0.5f), ax, 0.5f),
+ svmul_x (ptrue, x, x));
+ svfloat32_t z = svsqrt_m (ax, a_gt_half, z2);
+
+ /* Use a single polynomial approximation P for both intervals. */
+ svfloat32_t p = svmla_x (pg, sv_f32 (d->c3), z2, d->c4);
+ p = svmad_x (pg, z2, p, d->c2);
+ p = svmad_x (pg, z2, p, d->c1);
+ p = svmad_x (pg, z2, p, d->c0);
+ /* Add 1/pi as final coeff. */
+ p = svmla_x (pg, sv_f32 (d->inv_pi), z2, p);
+ /* Finalize polynomial: z * P(z^2). */
+ p = svmul_x (ptrue, z, p);
+
+ /* acospi(|x|)
+ = 1/2 - sign(x) * Q(|x|), for |x| < 0.5
+ = 2 Q(|x|) , for 0.5 < x < 1.0
+ = 1 - 2 Q(|x|) , for -1.0 < x < -0.5. */
+ svfloat32_t y
+ = svreinterpret_f32 (svorr_x (ptrue, svreinterpret_u32 (p), sign));
+ svfloat32_t mul = svsel (a_gt_half, sv_f32 (2.0f), sv_f32 (-1.0f));
+ svfloat32_t add = svreinterpret_f32 (
+ svorr_x (ptrue, sign, svreinterpret_u32 (sv_f32 (d->half))));
+ add = svsub_m (a_gt_half, sv_f32 (d->half), add);
+
+ return svmad_x (pg, y, mul, add);
+}
diff --git a/sysdeps/aarch64/fpu/advsimd_f32_protos.h b/sysdeps/aarch64/fpu/advsimd_f32_protos.h
index 38681a4..c202bda 100644
--- a/sysdeps/aarch64/fpu/advsimd_f32_protos.h
+++ b/sysdeps/aarch64/fpu/advsimd_f32_protos.h
@@ -19,10 +19,13 @@
libmvec_hidden_proto (V_NAME_F1(acos));
libmvec_hidden_proto (V_NAME_F1(acosh));
+libmvec_hidden_proto (V_NAME_F1(acospi));
libmvec_hidden_proto (V_NAME_F1(asin));
libmvec_hidden_proto (V_NAME_F1(asinh));
+libmvec_hidden_proto (V_NAME_F1(asinpi));
libmvec_hidden_proto (V_NAME_F1(atan));
libmvec_hidden_proto (V_NAME_F1(atanh));
+libmvec_hidden_proto (V_NAME_F1(atanpi));
libmvec_hidden_proto (V_NAME_F1(cbrt));
libmvec_hidden_proto (V_NAME_F1(cos));
libmvec_hidden_proto (V_NAME_F1(cosh));
@@ -47,3 +50,4 @@ libmvec_hidden_proto (V_NAME_F1(tan));
libmvec_hidden_proto (V_NAME_F1(tanh));
libmvec_hidden_proto (V_NAME_F1(tanpi));
libmvec_hidden_proto (V_NAME_F2(atan2));
+libmvec_hidden_proto (V_NAME_F2(atan2pi));
diff --git a/sysdeps/aarch64/fpu/asin_advsimd.c b/sysdeps/aarch64/fpu/asin_advsimd.c
index 4142116..f74141c 100644
--- a/sysdeps/aarch64/fpu/asin_advsimd.c
+++ b/sysdeps/aarch64/fpu/asin_advsimd.c
@@ -18,24 +18,23 @@
<https://www.gnu.org/licenses/>. */
#include "v_math.h"
-#include "poly_advsimd_f64.h"
static const struct data
{
- float64x2_t poly[12];
+ float64x2_t c0, c2, c4, c6, c8, c10;
float64x2_t pi_over_2;
uint64x2_t abs_mask;
+ double c1, c3, c5, c7, c9, c11;
} data = {
/* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
- .poly = { V2 (0x1.555555555554ep-3), V2 (0x1.3333333337233p-4),
- V2 (0x1.6db6db67f6d9fp-5), V2 (0x1.f1c71fbd29fbbp-6),
- V2 (0x1.6e8b264d467d6p-6), V2 (0x1.1c5997c357e9dp-6),
- V2 (0x1.c86a22cd9389dp-7), V2 (0x1.856073c22ebbep-7),
- V2 (0x1.fd1151acb6bedp-8), V2 (0x1.087182f799c1dp-6),
- V2 (-0x1.6602748120927p-7), V2 (0x1.cfa0dd1f9478p-6), },
- .pi_over_2 = V2 (0x1.921fb54442d18p+0),
- .abs_mask = V2 (0x7fffffffffffffff),
+ .c0 = V2 (0x1.555555555554ep-3), .c1 = 0x1.3333333337233p-4,
+ .c2 = V2 (0x1.6db6db67f6d9fp-5), .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = V2 (0x1.6e8b264d467d6p-6), .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = V2 (0x1.c86a22cd9389dp-7), .c7 = 0x1.856073c22ebbep-7,
+ .c8 = V2 (0x1.fd1151acb6bedp-8), .c9 = 0x1.087182f799c1dp-6,
+ .c10 = V2 (-0x1.6602748120927p-7), .c11 = 0x1.cfa0dd1f9478p-6,
+ .pi_over_2 = V2 (0x1.921fb54442d18p+0), .abs_mask = V2 (0x7fffffffffffffff),
};
#define AllMask v_u64 (0xffffffffffffffff)
@@ -68,8 +67,8 @@ special_case (float64x2_t x, float64x2_t y, uint64x2_t special)
asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
The largest observed error in this region is 2.69 ulps,
- _ZGVnN2v_asin (0x1.044ac9819f573p-1) got 0x1.110d7e85fdd5p-1
- want 0x1.110d7e85fdd53p-1. */
+ _ZGVnN2v_asin (0x1.044e8cefee301p-1) got 0x1.1111dd54ddf96p-1
+ want 0x1.1111dd54ddf99p-1. */
float64x2_t VPCS_ATTR V_NAME_D1 (asin) (float64x2_t x)
{
const struct data *d = ptr_barrier (&data);
@@ -86,7 +85,7 @@ float64x2_t VPCS_ATTR V_NAME_D1 (asin) (float64x2_t x)
return special_case (x, x, AllMask);
#endif
- uint64x2_t a_lt_half = vcltq_f64 (ax, v_f64 (0.5));
+ uint64x2_t a_lt_half = vcaltq_f64 (x, v_f64 (0.5));
/* Evaluate polynomial Q(x) = y + y * z * P(z) with
z = x ^ 2 and y = |x| , if |x| < 0.5
@@ -99,7 +98,26 @@ float64x2_t VPCS_ATTR V_NAME_D1 (asin) (float64x2_t x)
float64x2_t z4 = vmulq_f64 (z2, z2);
float64x2_t z8 = vmulq_f64 (z4, z4);
float64x2_t z16 = vmulq_f64 (z8, z8);
- float64x2_t p = v_estrin_11_f64 (z2, z4, z8, z16, d->poly);
+
+ /* order-11 estrin. */
+ float64x2_t c13 = vld1q_f64 (&d->c1);
+ float64x2_t c57 = vld1q_f64 (&d->c5);
+ float64x2_t c911 = vld1q_f64 (&d->c9);
+
+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
+
+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
+
+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
+
+ float64x2_t p07 = vfmaq_f64 (p03, z8, p47);
+ float64x2_t p = vfmaq_f64 (p07, z16, p811);
/* Finalize polynomial: z + z * z2 * P(z2). */
p = vfmaq_f64 (z, vmulq_f64 (z, z2), p);
diff --git a/sysdeps/aarch64/fpu/asin_sve.c b/sysdeps/aarch64/fpu/asin_sve.c
index 9314466..975f408 100644
--- a/sysdeps/aarch64/fpu/asin_sve.c
+++ b/sysdeps/aarch64/fpu/asin_sve.c
@@ -18,45 +18,43 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[12];
- float64_t pi_over_2f;
+ float64_t c1, c3, c5, c7, c9, c11;
+ float64_t c0, c2, c4, c6, c8, c10;
+ float64_t pi_over_2;
} data = {
/* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
- .poly = { 0x1.555555555554ep-3, 0x1.3333333337233p-4,
- 0x1.6db6db67f6d9fp-5, 0x1.f1c71fbd29fbbp-6,
- 0x1.6e8b264d467d6p-6, 0x1.1c5997c357e9dp-6,
- 0x1.c86a22cd9389dp-7, 0x1.856073c22ebbep-7,
- 0x1.fd1151acb6bedp-8, 0x1.087182f799c1dp-6,
- -0x1.6602748120927p-7, 0x1.cfa0dd1f9478p-6, },
- .pi_over_2f = 0x1.921fb54442d18p+0,
+ .c0 = 0x1.555555555554ep-3, .c1 = 0x1.3333333337233p-4,
+ .c2 = 0x1.6db6db67f6d9fp-5, .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = 0x1.6e8b264d467d6p-6, .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = 0x1.c86a22cd9389dp-7, .c7 = 0x1.856073c22ebbep-7,
+ .c8 = 0x1.fd1151acb6bedp-8, .c9 = 0x1.087182f799c1dp-6,
+ .c10 = -0x1.6602748120927p-7, .c11 = 0x1.cfa0dd1f9478p-6,
+ .pi_over_2 = 0x1.921fb54442d18p+0,
};
-#define P(i) sv_f64 (d->poly[i])
-
/* Double-precision SVE implementation of vector asin(x).
For |x| in [0, 0.5], use an order 11 polynomial P such that the final
approximation is an odd polynomial: asin(x) ~ x + x^3 P(x^2).
- The largest observed error in this region is 0.52 ulps,
- _ZGVsMxv_asin(0x1.d95ae04998b6cp-2) got 0x1.ec13757305f27p-2
- want 0x1.ec13757305f26p-2.
-
- For |x| in [0.5, 1.0], use same approximation with a change of variable
+ The largest observed error in this region is 0.98 ulp:
+ _ZGVsMxv_asin (0x1.d98f6a748ed8ap-2) got 0x1.ec4eb661a73d3p-2
+ want 0x1.ec4eb661a73d2p-2.
- asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
+ For |x| in [0.5, 1.0], use same approximation with a change of variable:
+ asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
- The largest observed error in this region is 2.69 ulps,
- _ZGVsMxv_asin(0x1.044ac9819f573p-1) got 0x1.110d7e85fdd5p-1
- want 0x1.110d7e85fdd53p-1. */
+ The largest observed error in this region is 2.66 ulp:
+ _ZGVsMxv_asin (0x1.04024f6e2a2fbp-1) got 0x1.10b9586f087a8p-1
+ want 0x1.10b9586f087abp-1. */
svfloat64_t SV_NAME_D1 (asin) (svfloat64_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b64 ();
svuint64_t sign = svand_x (pg, svreinterpret_u64 (x), 0x8000000000000000);
svfloat64_t ax = svabs_x (pg, x);
@@ -70,17 +68,37 @@ svfloat64_t SV_NAME_D1 (asin) (svfloat64_t x, const svbool_t pg)
svfloat64_t z = svsqrt_m (ax, a_ge_half, z2);
/* Use a single polynomial approximation P for both intervals. */
+ svfloat64_t z3 = svmul_x (pg, z2, z);
svfloat64_t z4 = svmul_x (pg, z2, z2);
svfloat64_t z8 = svmul_x (pg, z4, z4);
- svfloat64_t z16 = svmul_x (pg, z8, z8);
- svfloat64_t p = sv_estrin_11_f64_x (pg, z2, z4, z8, z16, d->poly);
+
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+
+ /* Order-11 Estrin scheme. */
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
+
+ svfloat64_t p411 = svmla_x (pg, p47, z8, p811);
+ svfloat64_t p = svmla_x (pg, p03, z8, p411);
+
/* Finalize polynomial: z + z * z2 * P(z2). */
- p = svmla_x (pg, z, svmul_x (pg, z, z2), p);
+ p = svmla_x (pg, z, z3, p);
- /* asin(|x|) = Q(|x|) , for |x| < 0.5
- = pi/2 - 2 Q(|x|), for |x| >= 0.5. */
- svfloat64_t y = svmad_m (a_ge_half, p, sv_f64 (-2.0), d->pi_over_2f);
+ /* asin(|x|) = Q(|x|), for |x| < 0.5
+ = pi/2 - 2 Q(|x|), for |x| >= 0.5. */
+ svfloat64_t y = svmad_m (a_ge_half, p, sv_f64 (-2.0), d->pi_over_2);
- /* Copy sign. */
+ /* Reinsert the sign from the argument. */
return svreinterpret_f64 (svorr_x (pg, svreinterpret_u64 (y), sign));
}
diff --git a/sysdeps/aarch64/fpu/asinf_advsimd.c b/sysdeps/aarch64/fpu/asinf_advsimd.c
index 52c7c0e..013936c 100644
--- a/sysdeps/aarch64/fpu/asinf_advsimd.c
+++ b/sysdeps/aarch64/fpu/asinf_advsimd.c
@@ -18,22 +18,21 @@
<https://www.gnu.org/licenses/>. */
#include "v_math.h"
-#include "poly_advsimd_f32.h"
static const struct data
{
- float32x4_t poly[5];
+ float32x4_t c0, c2, c4;
+ float c1, c3;
float32x4_t pi_over_2f;
} data = {
/* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x)) on
[ 0x1p-24 0x1p-2 ] order = 4 rel error: 0x1.00a23bbp-29 . */
- .poly = { V4 (0x1.55555ep-3), V4 (0x1.33261ap-4), V4 (0x1.70d7dcp-5),
- V4 (0x1.b059dp-6), V4 (0x1.3af7d8p-5) },
- .pi_over_2f = V4 (0x1.921fb6p+0f),
+ .c0 = V4 (0x1.55555ep-3f), .c1 = 0x1.33261ap-4f,
+ .c2 = V4 (0x1.70d7dcp-5f), .c3 = 0x1.b059dp-6f,
+ .c4 = V4 (0x1.3af7d8p-5f), .pi_over_2f = V4 (0x1.921fb6p+0f),
};
#define AbsMask 0x7fffffff
-#define Half 0x3f000000
#define One 0x3f800000
#define Small 0x39800000 /* 2^-12. */
@@ -47,11 +46,8 @@ special_case (float32x4_t x, float32x4_t y, uint32x4_t special)
/* Single-precision implementation of vector asin(x).
- For |x| < Small, approximate asin(x) by x. Small = 2^-12 for correct
- rounding. If WANT_SIMD_EXCEPT = 0, Small = 0 and we proceed with the
- following approximation.
- For |x| in [Small, 0.5], use order 4 polynomial P such that the final
+ For |x| <0.5, use order 4 polynomial P such that the final
approximation is an odd polynomial: asin(x) ~ x + x^3 P(x^2).
The largest observed error in this region is 0.83 ulps,
@@ -80,24 +76,31 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (asin) (float32x4_t x)
#endif
float32x4_t ax = vreinterpretq_f32_u32 (ia);
- uint32x4_t a_lt_half = vcltq_u32 (ia, v_u32 (Half));
+ uint32x4_t a_lt_half = vcaltq_f32 (x, v_f32 (0.5f));
/* Evaluate polynomial Q(x) = y + y * z * P(z) with
z = x ^ 2 and y = |x| , if |x| < 0.5
z = (1 - |x|) / 2 and y = sqrt(z), if |x| >= 0.5. */
float32x4_t z2 = vbslq_f32 (a_lt_half, vmulq_f32 (x, x),
- vfmsq_n_f32 (v_f32 (0.5), ax, 0.5));
+ vfmsq_n_f32 (v_f32 (0.5f), ax, 0.5f));
float32x4_t z = vbslq_f32 (a_lt_half, ax, vsqrtq_f32 (z2));
/* Use a single polynomial approximation P for both intervals. */
- float32x4_t p = v_horner_4_f32 (z2, d->poly);
+
+ /* PW Horner 3 evaluation scheme. */
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t c13 = vld1q_f32 (&d->c1);
+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, c13, 0);
+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, c13, 1);
+ float32x4_t p = vfmaq_f32 (p23, d->c4, z4);
+ p = vfmaq_f32 (p01, p, z4);
/* Finalize polynomial: z + z * z2 * P(z2). */
p = vfmaq_f32 (z, vmulq_f32 (z, z2), p);
/* asin(|x|) = Q(|x|) , for |x| < 0.5
= pi/2 - 2 Q(|x|), for |x| >= 0.5. */
float32x4_t y
- = vbslq_f32 (a_lt_half, p, vfmsq_n_f32 (d->pi_over_2f, p, 2.0));
+ = vbslq_f32 (a_lt_half, p, vfmsq_n_f32 (d->pi_over_2f, p, 2.0f));
/* Copy sign. */
return vbslq_f32 (v_u32 (AbsMask), y, x);
diff --git a/sysdeps/aarch64/fpu/asinpi_advsimd.c b/sysdeps/aarch64/fpu/asinpi_advsimd.c
new file mode 100644
index 0000000..b11f98b
--- /dev/null
+++ b/sysdeps/aarch64/fpu/asinpi_advsimd.c
@@ -0,0 +1,109 @@
+/* Double-Precision vector (Advanced SIMD) inverse sinpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float64x2_t c0, c2, c4, c6, c8, c10;
+ float64x2_t pi_over_2, inv_pi;
+ uint64x2_t abs_mask;
+ double c1, c3, c5, c7, c9, c11;
+} data = {
+ /* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
+ on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
+ .c0 = V2 (0x1.555555555554ep-3), .c1 = 0x1.3333333337233p-4,
+ .c2 = V2 (0x1.6db6db67f6d9fp-5), .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = V2 (0x1.6e8b264d467d6p-6), .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = V2 (0x1.c86a22cd9389dp-7), .c7 = 0x1.856073c22ebbep-7,
+ .c8 = V2 (0x1.fd1151acb6bedp-8), .c9 = 0x1.087182f799c1dp-6,
+ .c10 = V2 (-0x1.6602748120927p-7), .c11 = 0x1.cfa0dd1f9478p-6,
+ .pi_over_2 = V2 (0x1.921fb54442d18p+0), .abs_mask = V2 (0x7fffffffffffffff),
+ .inv_pi = V2 (0x1.45f306dc9c883p-2),
+};
+
+/* Double-precision implementation of vector asinpi(x).
+
+ For |x| in [0, 0.5], use an order 11 polynomial P such that the final
+ approximation is an odd polynomial: asin(x) ~ x + x^3 P(x^2).
+ asinpi(x) = asin(x) * 1/pi.
+
+ The largest observed error in this region is 1.63 ulps,
+ _ZGVnN2v_asinpi (0x1.9125919fa617p-19) got 0x1.fec183497ea53p-21
+ want 0x1.fec183497ea51p-21.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 3.04 ulps,
+ _ZGVnN2v_asinpi (0x1.0479b7bd98553p-1) got 0x1.5beebec797326p-3
+ want 0x1.5beebec797329p-3. */
+
+float64x2_t VPCS_ATTR V_NAME_D1 (asinpi) (float64x2_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+ float64x2_t ax = vabsq_f64 (x);
+
+ uint64x2_t a_lt_half = vcaltq_f64 (x, v_f64 (0.5));
+
+ /* Evaluate polynomial Q(x) = y + y * z * P(z) with
+ z = x ^ 2 and y = |x| , if |x| < 0.5
+ z = (1 - |x|) / 2 and y = sqrt(z), if |x| >= 0.5. */
+ float64x2_t z2 = vbslq_f64 (a_lt_half, vmulq_f64 (x, x),
+ vfmsq_n_f64 (v_f64 (0.5), ax, 0.5));
+ float64x2_t z = vbslq_f64 (a_lt_half, ax, vsqrtq_f64 (z2));
+
+ /* Use a single polynomial approximation P for both intervals. */
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+ float64x2_t z16 = vmulq_f64 (z8, z8);
+
+ /* order-11 Estrin. */
+ float64x2_t c13 = vld1q_f64 (&d->c1);
+ float64x2_t c57 = vld1q_f64 (&d->c5);
+ float64x2_t c911 = vld1q_f64 (&d->c9);
+
+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
+
+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
+
+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
+
+ float64x2_t p07 = vfmaq_f64 (p03, z8, p47);
+ float64x2_t p = vfmaq_f64 (p07, z16, p811);
+
+ /* Finalize polynomial: z + z * z2 * P(z2). */
+ p = vfmaq_f64 (z, vmulq_f64 (z, z2), p);
+
+ /* asin(|x|) = Q(|x|) , for |x| < 0.5
+ = pi/2 - 2 Q(|x|), for |x| >= 0.5. */
+ float64x2_t y = vbslq_f64 (a_lt_half, p, vfmsq_n_f64 (d->pi_over_2, p, 2.0));
+ /* asinpi(|x|) = asin(|x|) /pi. */
+ y = vmulq_f64 (y, d->inv_pi);
+
+ /* Copy sign. */
+ return vbslq_f64 (d->abs_mask, y, x);
+}
diff --git a/sysdeps/aarch64/fpu/asinpi_sve.c b/sysdeps/aarch64/fpu/asinpi_sve.c
new file mode 100644
index 0000000..71ef8ce
--- /dev/null
+++ b/sysdeps/aarch64/fpu/asinpi_sve.c
@@ -0,0 +1,107 @@
+/* Double-Precision vector (SVE) inverse sinpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float64_t c1, c3, c5, c7, c9, c11;
+ float64_t c0, c2, c4, c6, c8, c10;
+ float64_t pi_over_2, inv_pi;
+} data = {
+ /* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
+ on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57. */
+ .c0 = 0x1.555555555554ep-3, .c1 = 0x1.3333333337233p-4,
+ .c2 = 0x1.6db6db67f6d9fp-5, .c3 = 0x1.f1c71fbd29fbbp-6,
+ .c4 = 0x1.6e8b264d467d6p-6, .c5 = 0x1.1c5997c357e9dp-6,
+ .c6 = 0x1.c86a22cd9389dp-7, .c7 = 0x1.856073c22ebbep-7,
+ .c8 = 0x1.fd1151acb6bedp-8, .c9 = 0x1.087182f799c1dp-6,
+ .c10 = -0x1.6602748120927p-7, .c11 = 0x1.cfa0dd1f9478p-6,
+ .pi_over_2 = 0x1.921fb54442d18p+0, .inv_pi = 0x1.45f306dc9c883p-2,
+};
+
+/* Double-precision SVE implementation of vector asinpi(x).
+
+ For |x| in [0, 0.5], use an order 11 polynomial P such that the final
+ approximation is an odd polynomial: asin(x) ~ x + x^3 P(x^2).
+
+ The largest observed error in this region is 1.32 ulp:
+ _ZGVsMxv_asinpi (0x1.fc12356dbdefbp-2) got 0x1.5272e9658ba66p-3
+ want 0x1.5272e9658ba64p-3
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable:
+ asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 3.48 ulp:
+ _ZGVsMxv_asinpi (0x1.03da0c2295424p-1) got 0x1.5b02b3dcafaefp-3
+ want 0x1.5b02b3dcafaf2p-3. */
+svfloat64_t SV_NAME_D1 (asinpi) (svfloat64_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b64 ();
+
+ svuint64_t sign = svand_x (pg, svreinterpret_u64 (x), 0x8000000000000000);
+ svfloat64_t ax = svabs_x (pg, x);
+ svbool_t a_ge_half = svacge (pg, x, 0.5);
+
+ /* Evaluate polynomial Q(x) = y + y * z * P(z) with
+ z = x ^ 2 and y = |x| , if |x| < 0.5
+ z = (1 - |x|) / 2 and y = sqrt(z), if |x| >= 0.5. */
+ svfloat64_t z2 = svsel (a_ge_half, svmls_x (pg, sv_f64 (0.5), ax, 0.5),
+ svmul_x (ptrue, x, x));
+ svfloat64_t z = svsqrt_m (ax, a_ge_half, z2);
+
+ /* Use a single polynomial approximation P for both intervals. */
+ svfloat64_t z3 = svmul_x (pg, z2, z);
+ svfloat64_t z4 = svmul_x (pg, z2, z2);
+ svfloat64_t z8 = svmul_x (pg, z4, z4);
+
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+
+ /* Order-11 Estrin scheme. */
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
+
+ svfloat64_t p411 = svmla_x (pg, p47, z8, p811);
+ svfloat64_t p = svmla_x (pg, p03, z8, p411);
+
+ /* Finalize polynomial: z + z3 * P(z2). */
+ p = svmla_x (pg, z, z3, p);
+
+ /* asin(|x|) = Q(|x|) , for |x| < 0.5
+ = pi/2 - 2 Q(|x|), for |x| >= 0.5. */
+ svfloat64_t y = svmad_m (a_ge_half, p, sv_f64 (-2.0), d->pi_over_2);
+
+ /* Reinsert the sign from the argument. */
+ svfloat64_t inv_pi = svreinterpret_f64 (
+ svorr_x (pg, svreinterpret_u64 (sv_f64 (d->inv_pi)), sign));
+
+ return svmul_x (pg, y, inv_pi);
+}
diff --git a/sysdeps/aarch64/fpu/asinpif_advsimd.c b/sysdeps/aarch64/fpu/asinpif_advsimd.c
new file mode 100644
index 0000000..1483ea8
--- /dev/null
+++ b/sysdeps/aarch64/fpu/asinpif_advsimd.c
@@ -0,0 +1,95 @@
+/* Single-Precision vector (Advanced SIMD) inverse sinpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float32x4_t c0, c2, c4, inv_pi;
+ float c1, c3, c5, null;
+} data = {
+ /* Coefficients of polynomial P such that asin(x)/pi~ x/pi + x^3 * poly(x^2)
+ on [ 0x1p-126 0x1p-2 ]. rel error: 0x1.ef9f94b1p-33. Generated using
+ iterative approach for minimisation of relative error in Sollya file. */
+ .c0 = V4 (0x1.b2995ep-5f), .c1 = 0x1.8724ep-6f,
+ .c2 = V4 (0x1.d1301ep-7f), .c3 = 0x1.446d3cp-7f,
+ .c4 = V4 (0x1.654848p-8f), .c5 = 0x1.5fdaa8p-7f,
+ .inv_pi = V4 (0x1.45f306p-2f),
+};
+
+#define AbsMask 0x7fffffff
+
+/* Single-precision implementation of vector asinpi(x).
+
+ For |x| < 0.5, use order 5 polynomial P such that the final
+ approximation is an odd polynomial: asinpif(x) ~ x/pi + x^3 P(x^2).
+
+ The largest observed error in this region is 1.68 ulps,
+ _ZGVnN4v_asinpif (0x1.86e514p-2) got 0x1.fea8c8p-4 want 0x1.fea8ccp-4.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ asin(x) = pi/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 3.49 ulps,
+ _ZGVnN4v_asinpif(0x1.0d93fep-1) got 0x1.697aap-3 want 0x1.697a9ap-3. */
+float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (asinpi) (float32x4_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint32x4_t ix = vreinterpretq_u32_f32 (x);
+ uint32x4_t ia = vandq_u32 (ix, v_u32 (AbsMask));
+
+ float32x4_t ax = vreinterpretq_f32_u32 (ia);
+ uint32x4_t a_lt_half = vcaltq_f32 (x, v_f32 (0.5f));
+
+ /* Evaluate polynomial Q(x) = y/pi + y * z * P(z) with
+ z = x ^ 2 and y = |x| , if |x| < 0.5
+ z = (1 - |x|) / 2 and y = sqrt(z), if |x| >= 0.5. */
+ float32x4_t z2 = vbslq_f32 (a_lt_half, vmulq_f32 (x, x),
+ vfmsq_n_f32 (v_f32 (0.5f), ax, 0.5f));
+ float32x4_t z = vbslq_f32 (a_lt_half, ax, vsqrtq_f32 (z2));
+
+ /* Use a single polynomial approximation P for both intervals. */
+
+ /* Order-5 Estrin evaluation scheme. */
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t z8 = vmulq_f32 (z4, z4);
+ float32x4_t c135 = vld1q_f32 (&d->c1);
+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, c135, 0);
+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, c135, 1);
+ float32x4_t p03 = vfmaq_f32 (p01, z4, p23);
+ float32x4_t p45 = vfmaq_laneq_f32 (d->c4, z2, c135, 2);
+ float32x4_t p = vfmaq_f32 (p03, z8, p45);
+ /* Add 1/pi as final coeff. */
+ p = vfmaq_f32 (d->inv_pi, z2, p);
+
+ /* Finalize polynomial: z * P(z2). */
+ p = vmulq_f32 (z, p);
+
+ /* asinpi(|x|) = Q(|x|), for |x| < 0.5
+ = 1/2 - 2 Q(|x|), for |x| >= 0.5. */
+ float32x4_t y
+ = vbslq_f32 (a_lt_half, p, vfmsq_n_f32 (v_f32 (0.5f), p, 2.0f));
+
+ /* Copy sign. */
+ return vbslq_f32 (v_u32 (AbsMask), y, x);
+}
+libmvec_hidden_def (V_NAME_F1 (asinpi))
+HALF_WIDTH_ALIAS_F1 (asinpi)
diff --git a/sysdeps/aarch64/fpu/asinpif_sve.c b/sysdeps/aarch64/fpu/asinpif_sve.c
new file mode 100644
index 0000000..046b258
--- /dev/null
+++ b/sysdeps/aarch64/fpu/asinpif_sve.c
@@ -0,0 +1,88 @@
+/* Single-Precision vector (SVE) inverse sinpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float32_t c1, c3, c5;
+ float32_t c0, c2, c4, inv_pi;
+} data = {
+ /* Polynomial approximation of (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x)) on
+ [ 0x1p-24 0x1p-2 ] order = 4 rel error: 0x1.00a23bbp-29 . */
+ .c0 = 0x1.b2995ep-5f, .c1 = 0x1.8724ep-6f, .c2 = 0x1.d1301ep-7f,
+ .c3 = 0x1.446d3cp-7f, .c4 = 0x1.654848p-8f, .c5 = 0x1.5fdaa8p-7f,
+ .inv_pi = 0x1.45f306p-2f,
+};
+
+/* Single-precision SVE implementation of vector asin(x).
+
+ For |x| in [0, 0.5], use order 5 polynomial P such that the final
+ approximation is an odd polynomial: asinpi(x) ~ x/pi + x^3 P(x^2).
+
+ The largest observed error in this region is 1.96 ulps:
+ _ZGVsMxv_asinpif (0x1.8e534ep-3) got 0x1.fe6ab4p-5
+ want 0x1.fe6ab8p-5.
+
+ For |x| in [0.5, 1.0], use same approximation with a change of variable
+
+ asinpi(x) = 1/2 - (y + y * z * P(z)), with z = (1-x)/2 and y = sqrt(z).
+
+ The largest observed error in this region is 3.46 ulps:
+ _ZGVsMxv_asinpif (0x1.0df892p-1) got 0x1.6a114cp-3
+ want 0x1.6a1146p-3. */
+svfloat32_t SV_NAME_F1 (asinpi) (svfloat32_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b32 ();
+
+ svuint32_t sign = svand_x (pg, svreinterpret_u32 (x), 0x80000000);
+
+ svfloat32_t ax = svabs_x (pg, x);
+ svbool_t a_ge_half = svacge (pg, x, 0.5);
+
+ /* Evaluate polynomial Q(x) = y + y * z * P(z) with
+ z = x ^ 2 and y = |x| , if |x| < 0.5
+ z = (1 - |x|) / 2 and y = sqrt(z), if |x| >= 0.5. */
+ svfloat32_t z2 = svsel (a_ge_half, svmls_x (pg, sv_f32 (0.5), ax, 0.5),
+ svmul_x (pg, x, x));
+ svfloat32_t z = svsqrt_m (ax, a_ge_half, z2);
+
+ svfloat32_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat32_t c135_two = svld1rq (ptrue, &d->c1);
+
+ /* Order-5 Pairwise Horner evaluation scheme. */
+ svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), z2, c135_two, 0);
+ svfloat32_t p23 = svmla_lane (sv_f32 (d->c2), z2, c135_two, 1);
+ svfloat32_t p45 = svmla_lane (sv_f32 (d->c4), z2, c135_two, 2);
+
+ svfloat32_t p25 = svmla_x (pg, p23, z4, p45);
+ svfloat32_t p = svmla_x (pg, p01, z4, p25);
+
+ /* Add 1/pi as final coeff. */
+ p = svmla_x (pg, sv_f32 (d->inv_pi), z2, p);
+ p = svmul_x (pg, p, z);
+
+ /* asinpi(|x|) = Q(|x|), for |x| < 0.5
+ = 1/2 - 2 Q(|x|), for |x| >= 0.5. */
+ svfloat32_t y = svmsb_m (a_ge_half, p, sv_f32 (2.0), 0.5);
+
+ /* Reinsert sign from argument. */
+ return svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (y), sign));
+}
diff --git a/sysdeps/aarch64/fpu/atan2_advsimd.c b/sysdeps/aarch64/fpu/atan2_advsimd.c
index 00b4a4f..a31d52f 100644
--- a/sysdeps/aarch64/fpu/atan2_advsimd.c
+++ b/sysdeps/aarch64/fpu/atan2_advsimd.c
@@ -19,40 +19,38 @@
#include "math_config.h"
#include "v_math.h"
-#include "poly_advsimd_f64.h"
static const struct data
{
+ double c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
float64x2_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c18;
float64x2_t pi_over_2;
- double c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
- uint64x2_t zeroinfnan, minustwo;
+ uint64x2_t zeroinfnan;
} data = {
- /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
- [2**-1022, 1.0]. */
- .c0 = V2 (-0x1.5555555555555p-2),
- .c1 = 0x1.99999999996c1p-3,
- .c2 = V2 (-0x1.2492492478f88p-3),
- .c3 = 0x1.c71c71bc3951cp-4,
- .c4 = V2 (-0x1.745d160a7e368p-4),
- .c5 = 0x1.3b139b6a88ba1p-4,
- .c6 = V2 (-0x1.11100ee084227p-4),
- .c7 = 0x1.e1d0f9696f63bp-5,
- .c8 = V2 (-0x1.aebfe7b418581p-5),
- .c9 = 0x1.842dbe9b0d916p-5,
- .c10 = V2 (-0x1.5d30140ae5e99p-5),
- .c11 = 0x1.338e31eb2fbbcp-5,
- .c12 = V2 (-0x1.00e6eece7de8p-5),
- .c13 = 0x1.860897b29e5efp-6,
- .c14 = V2 (-0x1.0051381722a59p-6),
- .c15 = 0x1.14e9dc19a4a4ep-7,
- .c16 = V2 (-0x1.d0062b42fe3bfp-9),
- .c17 = 0x1.17739e210171ap-10,
- .c18 = V2 (-0x1.ab24da7be7402p-13),
- .c19 = 0x1.358851160a528p-16,
+ /* Coefficients of polynomial P such that
+ atan(x)~x+x*P(x^2) on [2^-1022, 1.0]. */
+ .c0 = V2 (-0x1.555555555552ap-2),
+ .c1 = 0x1.9999999995aebp-3,
+ .c2 = V2 (-0x1.24924923923f6p-3),
+ .c3 = 0x1.c71c7184288a2p-4,
+ .c4 = V2 (-0x1.745d11fb3d32bp-4),
+ .c5 = 0x1.3b136a18051b9p-4,
+ .c6 = V2 (-0x1.110e6d985f496p-4),
+ .c7 = 0x1.e1bcf7f08801dp-5,
+ .c8 = V2 (-0x1.ae644e28058c3p-5),
+ .c9 = 0x1.82eeb1fed85c6p-5,
+ .c10 = V2 (-0x1.59d7f901566cbp-5),
+ .c11 = 0x1.2c982855ab069p-5,
+ .c12 = V2 (-0x1.eb49592998177p-6),
+ .c13 = 0x1.69d8b396e3d38p-6,
+ .c14 = V2 (-0x1.ca980345c4204p-7),
+ .c15 = 0x1.dc050eafde0b3p-8,
+ .c16 = V2 (-0x1.7ea70755b8eccp-9),
+ .c17 = 0x1.ba3da3de903e8p-11,
+ .c18 = V2 (-0x1.44a4b059b6f67p-13),
+ .c19 = 0x1.c4a45029e5a91p-17,
.pi_over_2 = V2 (0x1.921fb54442d18p+0),
.zeroinfnan = V2 (2 * 0x7ff0000000000000ul - 1),
- .minustwo = V2 (0xc000000000000000),
};
#define SignMask v_u64 (0x8000000000000000)
@@ -77,10 +75,9 @@ zeroinfnan (uint64x2_t i, const struct data *d)
}
/* Fast implementation of vector atan2.
- Maximum observed error is 2.8 ulps:
- _ZGVnN2vv_atan2 (0x1.9651a429a859ap+5, 0x1.953075f4ee26p+5)
- got 0x1.92d628ab678ccp-1
- want 0x1.92d628ab678cfp-1. */
+ Maximum observed error is 1.97 ulps:
+ _ZGVnN2vv_atan2 (0x1.42337dba73768p+5, 0x1.422d748cd3e29p+5)
+ got 0x1.9224810264efcp-1 want 0x1.9224810264efep-1. */
float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x)
{
const struct data *d = ptr_barrier (&data);
@@ -101,26 +98,29 @@ float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x)
uint64x2_t pred_xlt0 = vcltzq_f64 (x);
uint64x2_t pred_aygtax = vcagtq_f64 (y, x);
- /* Set up z for call to atan. */
- float64x2_t n = vbslq_f64 (pred_aygtax, vnegq_f64 (ax), ay);
- float64x2_t q = vbslq_f64 (pred_aygtax, ay, ax);
- float64x2_t z = vdivq_f64 (n, q);
-
- /* Work out the correct shift. */
- float64x2_t shift
- = vreinterpretq_f64_u64 (vandq_u64 (pred_xlt0, d->minustwo));
- shift = vbslq_f64 (pred_aygtax, vaddq_f64 (shift, v_f64 (1.0)), shift);
- shift = vmulq_f64 (shift, d->pi_over_2);
-
- /* Calculate the polynomial approximation.
- Use split Estrin scheme for P(z^2) with deg(P)=19. Use split instead of
- full scheme to avoid underflow in x^16.
- The order 19 polynomial P approximates
- (atan(sqrt(x))-sqrt(x))/x^(3/2). */
+ /* Set up z for evaluation of atan. */
+ float64x2_t num = vbslq_f64 (pred_aygtax, vnegq_f64 (ax), ay);
+ float64x2_t den = vbslq_f64 (pred_aygtax, ay, ax);
+ float64x2_t z = vdivq_f64 (num, den);
+
+ /* Work out the correct shift for atan2:
+ Multiplication by pi is done later.
+ -pi when x < 0 and ax < ay
+ -pi/2 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ pi/2 when x >= 0 and ax > ay. */
+ float64x2_t shift = vreinterpretq_f64_u64 (
+ vandq_u64 (pred_xlt0, vreinterpretq_u64_f64 (v_f64 (-2.0))));
+ float64x2_t shift2 = vreinterpretq_f64_u64 (
+ vandq_u64 (pred_aygtax, vreinterpretq_u64_f64 (v_f64 (1.0))));
+ shift = vaddq_f64 (shift, shift2);
+
+ /* Calculate the polynomial approximation. */
float64x2_t z2 = vmulq_f64 (z, z);
- float64x2_t x2 = vmulq_f64 (z2, z2);
- float64x2_t x4 = vmulq_f64 (x2, x2);
- float64x2_t x8 = vmulq_f64 (x4, x4);
+ float64x2_t z3 = vmulq_f64 (z2, z);
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+ float64x2_t z16 = vmulq_f64 (z8, z8);
float64x2_t c13 = vld1q_f64 (&d->c1);
float64x2_t c57 = vld1q_f64 (&d->c5);
@@ -128,45 +128,43 @@ float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x)
float64x2_t c1315 = vld1q_f64 (&d->c13);
float64x2_t c1719 = vld1q_f64 (&d->c17);
- /* estrin_7. */
+ /* Order-7 Estrin. */
float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
- float64x2_t p03 = vfmaq_f64 (p01, x2, p23);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
- float64x2_t p47 = vfmaq_f64 (p45, x2, p67);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
- float64x2_t p07 = vfmaq_f64 (p03, x4, p47);
+ float64x2_t p07 = vfmaq_f64 (p03, z8, p47);
- /* estrin_11. */
+ /* Order-11 Estrin. */
float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
- float64x2_t p811 = vfmaq_f64 (p89, x2, p1011);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, z2, c1315, 0);
float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, z2, c1315, 1);
- float64x2_t p1215 = vfmaq_f64 (p1213, x2, p1415);
+ float64x2_t p1215 = vfmaq_f64 (p1213, z4, p1415);
float64x2_t p1617 = vfmaq_laneq_f64 (d->c16, z2, c1719, 0);
float64x2_t p1819 = vfmaq_laneq_f64 (d->c18, z2, c1719, 1);
- float64x2_t p1619 = vfmaq_f64 (p1617, x2, p1819);
+ float64x2_t p1619 = vfmaq_f64 (p1617, z4, p1819);
- float64x2_t p815 = vfmaq_f64 (p811, x4, p1215);
- float64x2_t p819 = vfmaq_f64 (p815, x8, p1619);
+ float64x2_t p815 = vfmaq_f64 (p811, z8, p1215);
+ float64x2_t p819 = vfmaq_f64 (p815, z16, p1619);
- float64x2_t ret = vfmaq_f64 (p07, p819, x8);
+ float64x2_t poly = vfmaq_f64 (p07, p819, z16);
/* Finalize. y = shift + z + z^3 * P(z^2). */
- ret = vfmaq_f64 (z, ret, vmulq_f64 (z2, z));
- ret = vaddq_f64 (ret, shift);
+ float64x2_t ret = vfmaq_f64 (z, shift, d->pi_over_2);
+ ret = vfmaq_f64 (ret, z3, poly);
if (__glibc_unlikely (v_any_u64 (special_cases)))
return special_case (y, x, ret, sign_xy, special_cases);
/* Account for the sign of x and y. */
- ret = vreinterpretq_f64_u64 (
+ return vreinterpretq_f64_u64 (
veorq_u64 (vreinterpretq_u64_f64 (ret), sign_xy));
-
- return ret;
}
diff --git a/sysdeps/aarch64/fpu/atan2_sve.c b/sysdeps/aarch64/fpu/atan2_sve.c
index 163f613..9e2dd24 100644
--- a/sysdeps/aarch64/fpu/atan2_sve.c
+++ b/sysdeps/aarch64/fpu/atan2_sve.c
@@ -19,25 +19,25 @@
#include "math_config.h"
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[20];
- float64_t pi_over_2;
+ float64_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c18;
+ float64_t c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-1022, 1.0]. */
- .poly = { -0x1.5555555555555p-2, 0x1.99999999996c1p-3, -0x1.2492492478f88p-3,
- 0x1.c71c71bc3951cp-4, -0x1.745d160a7e368p-4, 0x1.3b139b6a88ba1p-4,
- -0x1.11100ee084227p-4, 0x1.e1d0f9696f63bp-5, -0x1.aebfe7b418581p-5,
- 0x1.842dbe9b0d916p-5, -0x1.5d30140ae5e99p-5, 0x1.338e31eb2fbbcp-5,
- -0x1.00e6eece7de8p-5, 0x1.860897b29e5efp-6, -0x1.0051381722a59p-6,
- 0x1.14e9dc19a4a4ep-7, -0x1.d0062b42fe3bfp-9, 0x1.17739e210171ap-10,
- -0x1.ab24da7be7402p-13, 0x1.358851160a528p-16, },
- .pi_over_2 = 0x1.921fb54442d18p+0,
+ .c0 = -0x1.555555555552ap-2, .c1 = 0x1.9999999995aebp-3,
+ .c2 = -0x1.24924923923f6p-3, .c3 = 0x1.c71c7184288a2p-4,
+ .c4 = -0x1.745d11fb3d32bp-4, .c5 = 0x1.3b136a18051b9p-4,
+ .c6 = -0x1.110e6d985f496p-4, .c7 = 0x1.e1bcf7f08801dp-5,
+ .c8 = -0x1.ae644e28058c3p-5, .c9 = 0x1.82eeb1fed85c6p-5,
+ .c10 = -0x1.59d7f901566cbp-5, .c11 = 0x1.2c982855ab069p-5,
+ .c12 = -0x1.eb49592998177p-6, .c13 = 0x1.69d8b396e3d38p-6,
+ .c14 = -0x1.ca980345c4204p-7, .c15 = 0x1.dc050eafde0b3p-8,
+ .c16 = -0x1.7ea70755b8eccp-9, .c17 = 0x1.ba3da3de903e8p-11,
+ .c18 = -0x1.44a4b059b6f67p-13, .c19 = 0x1.c4a45029e5a91p-17,
};
-
/* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */
static svfloat64_t NOINLINE
special_case (svfloat64_t y, svfloat64_t x, svfloat64_t ret,
@@ -56,15 +56,17 @@ zeroinfnan (svuint64_t i, const svbool_t pg)
}
/* Fast implementation of SVE atan2. Errors are greatest when y and
- x are reasonably close together. The greatest observed error is 2.28 ULP:
- _ZGVsMxvv_atan2 (-0x1.5915b1498e82fp+732, 0x1.54d11ef838826p+732)
- got -0x1.954f42f1fa841p-1 want -0x1.954f42f1fa843p-1. */
-svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x, const svbool_t pg)
+ x are reasonably close together. The greatest observed error is 1.94 ULP:
+ _ZGVsMxvv_atan2 (0x1.8a4bf7167228ap+5, 0x1.84971226bb57bp+5)
+ got 0x1.95db19dfef9ccp-1 want 0x1.95db19dfef9cep-1. */
+svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x,
+ const svbool_t pg)
{
- const struct data *data_ptr = ptr_barrier (&data);
+ const struct data *d = ptr_barrier (&data);
svuint64_t ix = svreinterpret_u64 (x);
svuint64_t iy = svreinterpret_u64 (y);
+ svbool_t ptrue = svptrue_b64 ();
svbool_t cmp_x = zeroinfnan (ix, pg);
svbool_t cmp_y = zeroinfnan (iy, pg);
@@ -81,32 +83,67 @@ svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x, const svbool_t pg)
svbool_t pred_aygtax = svcmpgt (pg, ay, ax);
- /* Set up z for call to atan. */
- svfloat64_t n = svsel (pred_aygtax, svneg_x (pg, ax), ay);
- svfloat64_t d = svsel (pred_aygtax, ay, ax);
- svfloat64_t z = svdiv_x (pg, n, d);
-
- /* Work out the correct shift. */
+ /* Set up z for evaluation of atan. */
+ svfloat64_t num = svsel (pred_aygtax, svneg_x (pg, ax), ay);
+ svfloat64_t den = svsel (pred_aygtax, ay, ax);
+ svfloat64_t z = svdiv_x (pg, num, den);
+
+ /* Work out the correct shift for atan2:
+ Multiplication by pi is done later.
+ -pi when x < 0 and ax < ay
+ -pi/2 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ pi/2 when x >= 0 and ax > ay. */
svfloat64_t shift = svreinterpret_f64 (svlsr_x (pg, sign_x, 1));
+ svfloat64_t shift_mul = svreinterpret_f64 (
+ svorr_x (pg, sign_x, svreinterpret_u64 (sv_f64 (0x1.921fb54442d18p+0))));
shift = svsel (pred_aygtax, sv_f64 (1.0), shift);
- shift = svreinterpret_f64 (svorr_x (pg, sign_x, svreinterpret_u64 (shift)));
- shift = svmul_x (pg, shift, data_ptr->pi_over_2);
+ shift = svmla_x (pg, z, shift, shift_mul);
/* Use split Estrin scheme for P(z^2) with deg(P)=19. */
svfloat64_t z2 = svmul_x (pg, z, z);
- svfloat64_t x2 = svmul_x (pg, z2, z2);
- svfloat64_t x4 = svmul_x (pg, x2, x2);
- svfloat64_t x8 = svmul_x (pg, x4, x4);
+ svfloat64_t z3 = svmul_x (pg, z2, z);
+ svfloat64_t z4 = svmul_x (pg, z2, z2);
+ svfloat64_t z8 = svmul_x (pg, z4, z4);
+ svfloat64_t z16 = svmul_x (pg, z8, z8);
- svfloat64_t ret = svmla_x (
- pg, sv_estrin_7_f64_x (pg, z2, x2, x4, data_ptr->poly),
- sv_estrin_11_f64_x (pg, z2, x2, x4, x8, data_ptr->poly + 8), x8);
+ /* Order-7 Estrin. */
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
- /* y = shift + z + z^3 * P(z^2). */
- svfloat64_t z3 = svmul_x (pg, z2, z);
- ret = svmla_x (pg, z, z3, ret);
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+ svfloat64_t p07 = svmla_x (pg, p03, z8, p47);
+
+ /* Order-11 Estrin. */
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+ svfloat64_t c1315 = svld1rq (ptrue, &d->c13);
+ svfloat64_t c1719 = svld1rq (ptrue, &d->c17);
- ret = svadd_m (pg, ret, shift);
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
+
+ svfloat64_t p1213 = svmla_lane (sv_f64 (d->c12), z2, c1315, 0);
+ svfloat64_t p1415 = svmla_lane (sv_f64 (d->c14), z2, c1315, 1);
+ svfloat64_t p1215 = svmla_x (pg, p1213, z4, p1415);
+
+ svfloat64_t p1617 = svmla_lane (sv_f64 (d->c16), z2, c1719, 0);
+ svfloat64_t p1819 = svmla_lane (sv_f64 (d->c18), z2, c1719, 1);
+ svfloat64_t p1619 = svmla_x (pg, p1617, z4, p1819);
+
+ svfloat64_t p815 = svmla_x (pg, p811, z8, p1215);
+ svfloat64_t p819 = svmla_x (pg, p815, z16, p1619);
+
+ svfloat64_t poly = svmla_x (pg, p07, z16, p819);
+
+ /* y = shift + z + z^3 * P(z^2). */
+ svfloat64_t ret = svmla_x (pg, shift, z3, poly);
/* Account for the sign of x and y. */
if (__glibc_unlikely (svptest_any (pg, cmp_xy)))
diff --git a/sysdeps/aarch64/fpu/atan2f_advsimd.c b/sysdeps/aarch64/fpu/atan2f_advsimd.c
index e65406f..75d8738 100644
--- a/sysdeps/aarch64/fpu/atan2f_advsimd.c
+++ b/sysdeps/aarch64/fpu/atan2f_advsimd.c
@@ -18,22 +18,22 @@
<https://www.gnu.org/licenses/>. */
#include "v_math.h"
-#include "poly_advsimd_f32.h"
static const struct data
{
- float32x4_t c0, pi_over_2, c4, c6, c2;
+ float32x4_t c0, c4, c6, c2;
float c1, c3, c5, c7;
uint32x4_t comp_const;
+ float32x4_t pi;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-128, 1.0].
Generated using fpminimax between FLT_MIN and 1. */
- .c0 = V4 (-0x1.55555p-2f), .c1 = 0x1.99935ep-3f,
- .c2 = V4 (-0x1.24051ep-3f), .c3 = 0x1.bd7368p-4f,
- .c4 = V4 (-0x1.491f0ep-4f), .c5 = 0x1.93a2c0p-5f,
- .c6 = V4 (-0x1.4c3c60p-6f), .c7 = 0x1.01fd88p-8f,
- .pi_over_2 = V4 (0x1.921fb6p+0f), .comp_const = V4 (2 * 0x7f800000lu - 1),
+ .c0 = V4 (-0x1.5554dcp-2), .c1 = 0x1.9978ecp-3,
+ .c2 = V4 (-0x1.230a94p-3), .c3 = 0x1.b4debp-4,
+ .c4 = V4 (-0x1.3550dap-4), .c5 = 0x1.61eebp-5,
+ .c6 = V4 (-0x1.0c17d4p-6), .c7 = 0x1.7ea694p-9,
+ .pi = V4 (0x1.921fb6p+1f), .comp_const = V4 (2 * 0x7f800000lu - 1),
};
#define SignMask v_u32 (0x80000000)
@@ -54,13 +54,13 @@ static inline uint32x4_t
zeroinfnan (uint32x4_t i, const struct data *d)
{
/* 2 * i - 1 >= 2 * 0x7f800000lu - 1. */
- return vcgeq_u32 (vsubq_u32 (vmulq_n_u32 (i, 2), v_u32 (1)), d->comp_const);
+ return vcgeq_u32 (vsubq_u32 (vshlq_n_u32 (i, 1), v_u32 (1)), d->comp_const);
}
/* Fast implementation of vector atan2f. Maximum observed error is
- 2.95 ULP in [0x1.9300d6p+6 0x1.93c0c6p+6] x [0x1.8c2dbp+6 0x1.8cea6p+6]:
- _ZGVnN4vv_atan2f (0x1.93836cp+6, 0x1.8cae1p+6) got 0x1.967f06p-1
- want 0x1.967f00p-1. */
+ 2.13 ULP in [0x1.9300d6p+6 0x1.93c0c6p+6] x [0x1.8c2dbp+6 0x1.8cea6p+6]:
+ _ZGVnN4vv_atan2f (0x1.14a9d4p-87, 0x1.0eb886p-87) got 0x1.97aea2p-1
+ want 0x1.97ae9ep-1. */
float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x)
{
const struct data *d = ptr_barrier (&data);
@@ -81,28 +81,31 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x)
uint32x4_t pred_xlt0 = vcltzq_f32 (x);
uint32x4_t pred_aygtax = vcgtq_f32 (ay, ax);
- /* Set up z for call to atanf. */
- float32x4_t n = vbslq_f32 (pred_aygtax, vnegq_f32 (ax), ay);
- float32x4_t q = vbslq_f32 (pred_aygtax, ay, ax);
- float32x4_t z = vdivq_f32 (n, q);
-
- /* Work out the correct shift. */
+ /* Set up z for evaluation of atanf. */
+ float32x4_t num = vbslq_f32 (pred_aygtax, vnegq_f32 (ax), ay);
+ float32x4_t den = vbslq_f32 (pred_aygtax, ay, ax);
+ float32x4_t z = vdivq_f32 (num, den);
+
+ /* Work out the correct shift for atan2:
+ Multiplication by pi is done later.
+ -pi when x < 0 and ax < ay
+ -pi/2 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ pi/2 when x >= 0 and ax > ay. */
float32x4_t shift = vreinterpretq_f32_u32 (
- vandq_u32 (pred_xlt0, vreinterpretq_u32_f32 (v_f32 (-2.0f))));
- shift = vbslq_f32 (pred_aygtax, vaddq_f32 (shift, v_f32 (1.0f)), shift);
- shift = vmulq_f32 (shift, d->pi_over_2);
-
- /* Calculate the polynomial approximation.
- Use 2-level Estrin scheme for P(z^2) with deg(P)=7. However,
- a standard implementation using z8 creates spurious underflow
- in the very last fma (when z^8 is small enough).
- Therefore, we split the last fma into a mul and an fma.
- Horner and single-level Estrin have higher errors that exceed
- threshold. */
+ vandq_u32 (pred_xlt0, vreinterpretq_u32_f32 (v_f32 (-1.0f))));
+ float32x4_t shift2 = vreinterpretq_f32_u32 (
+ vandq_u32 (pred_aygtax, vreinterpretq_u32_f32 (v_f32 (0.5f))));
+ shift = vaddq_f32 (shift, shift2);
+
+ /* Calculate the polynomial approximation. */
float32x4_t z2 = vmulq_f32 (z, z);
+ float32x4_t z3 = vmulq_f32 (z2, z);
float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t z8 = vmulq_f32 (z4, z4);
float32x4_t c1357 = vld1q_f32 (&d->c1);
+
float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, c1357, 0);
float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, c1357, 1);
float32x4_t p45 = vfmaq_laneq_f32 (d->c4, z2, c1357, 2);
@@ -110,10 +113,11 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x)
float32x4_t p03 = vfmaq_f32 (p01, z4, p23);
float32x4_t p47 = vfmaq_f32 (p45, z4, p67);
- float32x4_t ret = vfmaq_f32 (p03, z4, vmulq_f32 (z4, p47));
+ float32x4_t poly = vfmaq_f32 (p03, z8, p47);
/* y = shift + z * P(z^2). */
- ret = vaddq_f32 (vfmaq_f32 (z, ret, vmulq_f32 (z2, z)), shift);
+ float32x4_t ret = vfmaq_f32 (z, shift, d->pi);
+ ret = vfmaq_f32 (ret, z3, poly);
if (__glibc_unlikely (v_any_u32 (special_cases)))
{
diff --git a/sysdeps/aarch64/fpu/atan2f_sve.c b/sysdeps/aarch64/fpu/atan2f_sve.c
index 5f26e2a..4d93419 100644
--- a/sysdeps/aarch64/fpu/atan2f_sve.c
+++ b/sysdeps/aarch64/fpu/atan2f_sve.c
@@ -18,18 +18,18 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f32.h"
static const struct data
{
- float32_t poly[8];
+ float32_t c0, c2, c4, c6;
+ float32_t c1, c3, c5, c7;
float32_t pi_over_2;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-128, 1.0]. */
- .poly = { -0x1.55555p-2f, 0x1.99935ep-3f, -0x1.24051ep-3f, 0x1.bd7368p-4f,
- -0x1.491f0ep-4f, 0x1.93a2c0p-5f, -0x1.4c3c60p-6f, 0x1.01fd88p-8f },
- .pi_over_2 = 0x1.921fb6p+0f,
+ .c0 = -0x1.5554dcp-2, .c1 = 0x1.9978ecp-3, .c2 = -0x1.230a94p-3,
+ .c3 = 0x1.b4debp-4, .c4 = -0x1.3550dap-4, .c5 = 0x1.61eebp-5,
+ .c6 = -0x1.0c17d4p-6, .c7 = 0x1.7ea694p-9, .pi_over_2 = 0x1.921fb6p+0f,
};
/* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */
@@ -51,12 +51,14 @@ zeroinfnan (svuint32_t i, const svbool_t pg)
/* Fast implementation of SVE atan2f based on atan(x) ~ shift + z + z^3 *
P(z^2) with reduction to [0,1] using z=1/x and shift = pi/2. Maximum
- observed error is 2.95 ULP:
- _ZGVsMxvv_atan2f (0x1.93836cp+6, 0x1.8cae1p+6) got 0x1.967f06p-1
- want 0x1.967f00p-1. */
-svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, const svbool_t pg)
+ observed error is 2.21 ULP:
+ _ZGVnN4vv_atan2f (0x1.a04aa8p+6, 0x1.9a274p+6) got 0x1.95ed3ap-1
+ want 0x1.95ed36p-1. */
+svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x,
+ const svbool_t pg)
{
- const struct data *data_ptr = ptr_barrier (&data);
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b32 ();
svuint32_t ix = svreinterpret_u32 (x);
svuint32_t iy = svreinterpret_u32 (y);
@@ -76,29 +78,42 @@ svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, const svbool_t pg)
svbool_t pred_aygtax = svcmpgt (pg, ay, ax);
- /* Set up z for call to atan. */
- svfloat32_t n = svsel (pred_aygtax, svneg_x (pg, ax), ay);
- svfloat32_t d = svsel (pred_aygtax, ay, ax);
- svfloat32_t z = svdiv_x (pg, n, d);
-
- /* Work out the correct shift. */
+ /* Set up z for evaluation of atanf. */
+ svfloat32_t num = svsel (pred_aygtax, svneg_x (pg, ax), ay);
+ svfloat32_t den = svsel (pred_aygtax, ay, ax);
+ svfloat32_t z = svdiv_x (ptrue, num, den);
+
+ /* Work out the correct shift for atan2:
+ Multiplication by pi is done later.
+ -pi when x < 0 and ax < ay
+ -pi/2 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ pi/2 when x >= 0 and ax > ay. */
svfloat32_t shift = svreinterpret_f32 (svlsr_x (pg, sign_x, 1));
shift = svsel (pred_aygtax, sv_f32 (1.0), shift);
shift = svreinterpret_f32 (svorr_x (pg, sign_x, svreinterpret_u32 (shift)));
- shift = svmul_x (pg, shift, sv_f32 (data_ptr->pi_over_2));
/* Use pure Estrin scheme for P(z^2) with deg(P)=7. */
- svfloat32_t z2 = svmul_x (pg, z, z);
+ svfloat32_t z2 = svmul_x (ptrue, z, z);
+ svfloat32_t z3 = svmul_x (pg, z2, z);
svfloat32_t z4 = svmul_x (pg, z2, z2);
svfloat32_t z8 = svmul_x (pg, z4, z4);
- svfloat32_t ret = sv_estrin_7_f32_x (pg, z2, z4, z8, data_ptr->poly);
+ svfloat32_t odd_coeffs = svld1rq (ptrue, &d->c1);
- /* ret = shift + z + z^3 * P(z^2). */
- svfloat32_t z3 = svmul_x (pg, z2, z);
- ret = svmla_x (pg, z, z3, ret);
+ svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), z2, odd_coeffs, 0);
+ svfloat32_t p23 = svmla_lane (sv_f32 (d->c2), z2, odd_coeffs, 1);
+ svfloat32_t p45 = svmla_lane (sv_f32 (d->c4), z2, odd_coeffs, 2);
+ svfloat32_t p67 = svmla_lane (sv_f32 (d->c6), z2, odd_coeffs, 3);
- ret = svadd_m (pg, ret, shift);
+ svfloat32_t p03 = svmla_x (pg, p01, z4, p23);
+ svfloat32_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat32_t poly = svmla_x (pg, p03, z8, p47);
+
+ /* ret = shift + z + z^3 * P(z^2). */
+ svfloat32_t ret = svmla_x (pg, z, shift, sv_f32 (d->pi_over_2));
+ ret = svmla_x (pg, ret, z3, poly);
/* Account for the sign of x and y. */
diff --git a/sysdeps/aarch64/fpu/atan2pi_advsimd.c b/sysdeps/aarch64/fpu/atan2pi_advsimd.c
new file mode 100644
index 0000000..3cf231b
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atan2pi_advsimd.c
@@ -0,0 +1,175 @@
+/* Double-Precision vector (Advanced SIMD) inverse tan2pi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float64_t c2, c4, c6, c8, c10, c12, c14, c16, c18, c20;
+ float64x2_t c0;
+ uint64x2_t zeroinfnan;
+ float64x2_t c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
+} data = {
+ /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
+ [2**-1022, 1.0]. */
+ .c0 = V2 (0x1.45f306dc9c883p-2),
+ .c1 = V2 (-0x1.b2995e7b7ba4ap-4),
+ .c2 = 0x1.04c26be3d2c1p-4,
+ .c3 = V2 (-0x1.7483759c17ea1p-5),
+ .c4 = 0x1.21bb95c315d57p-5,
+ .c5 = V2 (-0x1.da1bdc3d453f3p-6),
+ .c6 = 0x1.912d20459b4bfp-6,
+ .c7 = V2 (-0x1.5bbd4545cad1fp-6),
+ .c8 = 0x1.331b83bec30a1p-6,
+ .c9 = V2 (-0x1.13d6457f44de3p-6),
+ .c10 = 0x1.f8e802974db94p-7,
+ .c11 = V2 (-0x1.d7e173ab04a1ap-7),
+ .c12 = 0x1.bdfa47d6a4f28p-7,
+ .c13 = V2 (-0x1.9ba78f3232ceep-7),
+ .c14 = 0x1.5e6044590ab4fp-7,
+ .c15 = V2 (-0x1.01ccfdeb9f77fp-7),
+ .c16 = 0x1.345cf0d4eb1c1p-8,
+ .c17 = V2 (-0x1.19e5f00f67e3ap-9),
+ .c18 = 0x1.6d3035ac7625bp-11,
+ .c19 = V2 (-0x1.286bb9ae4ed79p-13),
+ .c20 = 0x1.c37ec36da0e1ap-17,
+ .zeroinfnan = V2 (2 * 0x7ff0000000000000ul - 1),
+};
+
+#define SignMask v_u64 (0x8000000000000000)
+#define OneOverPi v_f64 (0x1.45f306dc9c883p-2)
+
+/* Special cases i.e. 0, infinity, NaN (fall back to scalar calls). */
+static float64x2_t VPCS_ATTR NOINLINE
+special_case (float64x2_t y, float64x2_t x, float64x2_t ret,
+ uint64x2_t sign_xy, uint64x2_t cmp)
+{
+ /* Account for the sign of x and y. */
+ ret = vreinterpretq_f64_u64 (
+ veorq_u64 (vreinterpretq_u64_f64 (ret), sign_xy));
+
+ /* Since we have no scalar fallback for atan2pi,
+ we can instead make a call to atan2f and divide by pi. */
+ ret = v_call2_f64 (atan2, y, x, ret, cmp);
+
+ /* Only divide the special cases by pi, and leave the rest unchanged. */
+ return vbslq_f64 (cmp, vmulq_f64 (ret, OneOverPi), ret);
+}
+
+/* Returns 1 if input is the bit representation of 0, infinity or nan. */
+static inline uint64x2_t
+zeroinfnan (uint64x2_t i, const struct data *d)
+{
+ /* (2 * i - 1) >= (2 * asuint64 (INFINITY) - 1). */
+ return vcgeq_u64 (vsubq_u64 (vaddq_u64 (i, i), v_u64 (1)), d->zeroinfnan);
+}
+
+/* Fast implementation of vector atan2pi.
+ Maximum observed error is 3.04 ulps:
+ _ZGVnN2vv_atan2pi (0x1.1e0733532ce28p+5, 0x1.2d803379cca1fp+5)
+ got 0x1.eed60c1e89317p-3 want 0x1.eed60c1e89314p-3. */
+float64x2_t VPCS_ATTR V_NAME_D2 (atan2pi) (float64x2_t y, float64x2_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint64x2_t ix = vreinterpretq_u64_f64 (x);
+ uint64x2_t iy = vreinterpretq_u64_f64 (y);
+
+ uint64x2_t special_cases
+ = vorrq_u64 (zeroinfnan (ix, d), zeroinfnan (iy, d));
+
+ uint64x2_t sign_x = vandq_u64 (ix, SignMask);
+ uint64x2_t sign_y = vandq_u64 (iy, SignMask);
+ uint64x2_t sign_xy = veorq_u64 (sign_x, sign_y);
+
+ float64x2_t ax = vabsq_f64 (x);
+ float64x2_t ay = vabsq_f64 (y);
+
+ uint64x2_t pred_xlt0 = vcltzq_f64 (x);
+ uint64x2_t pred_aygtax = vcgtq_f64 (ay, ax);
+
+ /* Set up z for evaluation of atanpi. */
+ float64x2_t num = vbslq_f64 (pred_aygtax, vnegq_f64 (ax), ay);
+ float64x2_t den = vbslq_f64 (pred_aygtax, ay, ax);
+ float64x2_t z = vdivq_f64 (num, den);
+
+ /* Work out the correct shift for atan2pi:
+ -1.0 when x < 0 and ax < ay
+ -0.5 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ 0.5 when x >= 0 and ax > ay. */
+ float64x2_t shift = vreinterpretq_f64_u64 (
+ vandq_u64 (pred_xlt0, vreinterpretq_u64_f64 (v_f64 (-1.0))));
+ float64x2_t shift2 = vreinterpretq_f64_u64 (
+ vandq_u64 (pred_aygtax, vreinterpretq_u64_f64 (v_f64 (0.5))));
+ shift = vaddq_f64 (shift, shift2);
+
+ /* Calculate the polynomial approximation. */
+ float64x2_t z2 = vmulq_f64 (z, z);
+ float64x2_t z3 = vmulq_f64 (z2, z);
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+ float64x2_t z16 = vmulq_f64 (z8, z8);
+
+ float64x2_t c24 = vld1q_f64 (&d->c2);
+ float64x2_t c68 = vld1q_f64 (&d->c6);
+
+ /* Order-7 Estrin. */
+ float64x2_t p12 = vfmaq_laneq_f64 (d->c1, z2, c24, 0);
+ float64x2_t p34 = vfmaq_laneq_f64 (d->c3, z2, c24, 1);
+ float64x2_t p56 = vfmaq_laneq_f64 (d->c5, z2, c68, 0);
+ float64x2_t p78 = vfmaq_laneq_f64 (d->c7, z2, c68, 1);
+
+ float64x2_t p14 = vfmaq_f64 (p12, z4, p34);
+ float64x2_t p58 = vfmaq_f64 (p56, z4, p78);
+ float64x2_t p18 = vfmaq_f64 (p14, z8, p58);
+
+ /* Order-11 Estrin. */
+ float64x2_t c1012 = vld1q_f64 (&d->c10);
+ float64x2_t c1416 = vld1q_f64 (&d->c14);
+ float64x2_t c1820 = vld1q_f64 (&d->c18);
+
+ float64x2_t p910 = vfmaq_laneq_f64 (d->c9, z2, c1012, 0);
+ float64x2_t p1112 = vfmaq_laneq_f64 (d->c11, z2, c1012, 1);
+ float64x2_t p912 = vfmaq_f64 (p910, z4, p1112);
+
+ float64x2_t p1314 = vfmaq_laneq_f64 (d->c13, z2, c1416, 0);
+ float64x2_t p1516 = vfmaq_laneq_f64 (d->c15, z2, c1416, 1);
+ float64x2_t p1316 = vfmaq_f64 (p1314, z4, p1516);
+
+ float64x2_t p1718 = vfmaq_laneq_f64 (d->c17, z2, c1820, 0);
+ float64x2_t p1920 = vfmaq_laneq_f64 (d->c19, z2, c1820, 1);
+ float64x2_t p1720 = vfmaq_f64 (p1718, z4, p1920);
+
+ float64x2_t p916 = vfmaq_f64 (p912, z8, p1316);
+ float64x2_t p920 = vfmaq_f64 (p916, z16, p1720);
+
+ float64x2_t poly = vfmaq_f64 (p18, z16, p920);
+
+ /* y = shift + z * P(z^2). */
+ float64x2_t ret = vfmaq_f64 (shift, z, d->c0);
+ ret = vfmaq_f64 (ret, z3, poly);
+
+ if (__glibc_unlikely (v_any_u64 (special_cases)))
+ return special_case (y, x, ret, sign_xy, special_cases);
+
+ /* Account for the sign of x and y. */
+ return vreinterpretq_f64_u64 (
+ veorq_u64 (vreinterpretq_u64_f64 (ret), sign_xy));
+}
diff --git a/sysdeps/aarch64/fpu/atan2pi_sve.c b/sysdeps/aarch64/fpu/atan2pi_sve.c
new file mode 100644
index 0000000..f1d1f1c
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atan2pi_sve.c
@@ -0,0 +1,159 @@
+/* Double-Precision vector (SVE) inverse tan2pi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "math_config.h"
+#include "sv_math.h"
+
+static const struct data
+{
+ float64_t c2, c4, c6, c8, c10, c12, c14, c16, c18, c20;
+ float64_t c0, c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
+ float64_t shift_val;
+} data = {
+ /* Coefficients of polnomial P such that atan(x)~x+x*P(x^2) on
+ [2^-1022, 1.0]. */
+ .c0 = 0x1.45f306dc9c883p-2, .c1 = -0x1.b2995e7b7ba4ap-4,
+ .c2 = 0x1.04c26be3d2c1p-4, .c3 = -0x1.7483759c17ea1p-5,
+ .c4 = 0x1.21bb95c315d57p-5, .c5 = -0x1.da1bdc3d453f3p-6,
+ .c6 = 0x1.912d20459b4bfp-6, .c7 = -0x1.5bbd4545cad1fp-6,
+ .c8 = 0x1.331b83bec30a1p-6, .c9 = -0x1.13d6457f44de3p-6,
+ .c10 = 0x1.f8e802974db94p-7, .c11 = -0x1.d7e173ab04a1ap-7,
+ .c12 = 0x1.bdfa47d6a4f28p-7, .c13 = -0x1.9ba78f3232ceep-7,
+ .c14 = 0x1.5e6044590ab4fp-7, .c15 = -0x1.01ccfdeb9f77fp-7,
+ .c16 = 0x1.345cf0d4eb1c1p-8, .c17 = -0x1.19e5f00f67e3ap-9,
+ .c18 = 0x1.6d3035ac7625bp-11, .c19 = -0x1.286bb9ae4ed79p-13,
+ .c20 = 0x1.c37ec36da0e1ap-17, .shift_val = 0.5,
+};
+
+#define OneOverPi sv_f64 (0x1.45f306dc9c883p-2)
+
+/* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */
+static svfloat64_t NOINLINE
+special_case (svfloat64_t y, svfloat64_t x, svfloat64_t ret,
+ const svbool_t cmp)
+{
+ ret = sv_call2_f64 (atan2, y, x, ret, cmp);
+ return svmul_f64_m (cmp, ret, OneOverPi);
+}
+
+/* Returns a predicate indicating true if the input is the bit representation
+ of 0, infinity or nan. */
+static inline svbool_t
+zeroinfnan (svuint64_t i, const svbool_t pg)
+{
+ return svcmpge (pg, svsub_x (pg, svlsl_x (pg, i, 1), 1),
+ sv_u64 (2 * asuint64 (INFINITY) - 1));
+}
+
+/* Fast implementation of SVE atan2pi.
+ Maximum observed error is 3.11 ulps:
+ _ZGVsMxvv_atan2pi (0x1.ef284a877f6b5p+6, 0x1.03fdde8242b17p+7)
+ got 0x1.f00f800163079p-3 want 0x1.f00f800163076p-3. */
+svfloat64_t SV_NAME_D2 (atan2pi) (svfloat64_t y, svfloat64_t x,
+ const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b64 ();
+
+ svuint64_t ix = svreinterpret_u64 (x);
+ svuint64_t iy = svreinterpret_u64 (y);
+
+ svbool_t cmp_x = zeroinfnan (ix, pg);
+ svbool_t cmp_y = zeroinfnan (iy, pg);
+ svbool_t cmp_xy = svorr_z (pg, cmp_x, cmp_y);
+
+ svfloat64_t ax = svabs_x (pg, x);
+ svfloat64_t ay = svabs_x (pg, y);
+ svuint64_t iax = svreinterpret_u64 (ax);
+ svuint64_t iay = svreinterpret_u64 (ay);
+
+ svuint64_t sign_x = sveor_x (pg, ix, iax);
+ svuint64_t sign_y = sveor_x (pg, iy, iay);
+ svuint64_t sign_xy = sveor_x (pg, sign_x, sign_y);
+
+ svbool_t pred_aygtax = svcmpgt (pg, ay, ax);
+
+ /* Set up z for evaluation of atanpi. */
+ svfloat64_t num = svsel (pred_aygtax, svneg_x (pg, ax), ay);
+ svfloat64_t den = svsel (pred_aygtax, ay, ax);
+ svfloat64_t z = svdiv_x (pg, num, den);
+
+ /* Work out the correct shift for atan2pi:
+ -1.0 when x < 0 and ax < ay
+ -0.5 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ 0.5 when x >= 0 and ax > ay. */
+ svfloat64_t shift = svreinterpret_f64 (svlsr_x (pg, sign_x, 1));
+ shift = svmul_x (ptrue, shift, sv_f64 (d->shift_val));
+ shift = svsel (pred_aygtax, sv_f64 (d->shift_val), shift);
+ shift = svreinterpret_f64 (svorr_x (pg, sign_x, svreinterpret_u64 (shift)));
+
+ /* Use split Estrin scheme for P(z^2) with deg(P)=19. */
+ svfloat64_t z2 = svmul_x (pg, z, z);
+ svfloat64_t z3 = svmul_x (pg, z2, z);
+ svfloat64_t z4 = svmul_x (pg, z2, z2);
+ svfloat64_t z8 = svmul_x (pg, z4, z4);
+ svfloat64_t z16 = svmul_x (pg, z8, z8);
+
+ /* Order-7 Estrin. */
+ svfloat64_t c24 = svld1rq (ptrue, &d->c2);
+ svfloat64_t c68 = svld1rq (ptrue, &d->c6);
+
+ svfloat64_t p12 = svmla_lane (sv_f64 (d->c1), z2, c24, 0);
+ svfloat64_t p34 = svmla_lane (sv_f64 (d->c3), z2, c24, 1);
+ svfloat64_t p56 = svmla_lane (sv_f64 (d->c5), z2, c68, 0);
+ svfloat64_t p78 = svmla_lane (sv_f64 (d->c7), z2, c68, 1);
+
+ svfloat64_t p14 = svmla_x (pg, p12, z4, p34);
+ svfloat64_t p58 = svmla_x (pg, p56, z4, p78);
+ svfloat64_t p18 = svmla_x (pg, p14, z8, p58);
+
+ /* Order-11 Estrin. */
+ svfloat64_t c1012 = svld1rq (ptrue, &d->c10);
+ svfloat64_t c1416 = svld1rq (ptrue, &d->c14);
+ svfloat64_t c1820 = svld1rq (ptrue, &d->c18);
+
+ svfloat64_t p910 = svmla_lane (sv_f64 (d->c9), z2, c1012, 0);
+ svfloat64_t p1112 = svmla_lane (sv_f64 (d->c11), z2, c1012, 1);
+ svfloat64_t p912 = svmla_x (pg, p910, z4, p1112);
+
+ svfloat64_t p1314 = svmla_lane (sv_f64 (d->c13), z2, c1416, 0);
+ svfloat64_t p1516 = svmla_lane (sv_f64 (d->c15), z2, c1416, 1);
+ svfloat64_t p1316 = svmla_x (pg, p1314, z4, p1516);
+
+ svfloat64_t p1718 = svmla_lane (sv_f64 (d->c17), z2, c1820, 0);
+ svfloat64_t p1920 = svmla_lane (sv_f64 (d->c19), z2, c1820, 1);
+ svfloat64_t p1720 = svmla_x (pg, p1718, z4, p1920);
+
+ svfloat64_t p916 = svmla_x (pg, p912, z8, p1316);
+ svfloat64_t p920 = svmla_x (pg, p916, z16, p1720);
+
+ svfloat64_t poly = svmla_x (pg, p18, z16, p920);
+
+ svfloat64_t ret = svmla_x (pg, shift, z, sv_f64 (d->c0));
+ ret = svmla_x (pg, ret, z3, poly);
+
+ /* Account for the sign of x and y. */
+ if (__glibc_unlikely (svptest_any (pg, cmp_xy)))
+ return special_case (
+ y, x,
+ svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (ret), sign_xy)),
+ cmp_xy);
+ return svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (ret), sign_xy));
+}
diff --git a/sysdeps/aarch64/fpu/atan2pif_advsimd.c b/sysdeps/aarch64/fpu/atan2pif_advsimd.c
new file mode 100644
index 0000000..f1f542b
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atan2pif_advsimd.c
@@ -0,0 +1,138 @@
+/* Single-Precision vector (Advanced SIMD) inverse tan2pi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ float32x4_t c1, c3, c5, c7;
+ float c2, c4, c6, c8;
+ float32x4_t c0;
+ uint32x4_t comp_const;
+} data = {
+ /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
+ [2^-128, 1.0].
+ Generated using fpminimax between FLT_MIN and 1. */
+ .c0 = V4 (0x1.45f306p-2), .c1 = V4 (-0x1.b2975ep-4),
+ .c2 = 0x1.0490e4p-4, .c3 = V4 (-0x1.70c272p-5),
+ .c4 = 0x1.0eef52p-5, .c5 = V4 (-0x1.6abbbap-6),
+ .c6 = 0x1.78157p-7, .c7 = V4 (-0x1.f0b406p-9),
+ .c8 = 0x1.2ae7fep-11, .comp_const = V4 (2 * 0x7f800000lu - 1),
+};
+
+#define SignMask v_u32 (0x80000000)
+#define OneOverPi v_f32 (0x1.45f307p-2)
+
+/* Special cases i.e. 0, infinity and nan (fall back to scalar calls). */
+static float32x4_t VPCS_ATTR NOINLINE
+special_case (float32x4_t y, float32x4_t x, float32x4_t ret,
+ uint32x4_t sign_xy, uint32x4_t cmp)
+{
+ /* Account for the sign of y. */
+ ret = vreinterpretq_f32_u32 (
+ veorq_u32 (vreinterpretq_u32_f32 (ret), sign_xy));
+
+ /* Since we have no scalar fallback for atan2pif,
+ we can instead make a call to atan2f and divide by pi. */
+ ret = v_call2_f32 (atan2f, y, x, ret, cmp);
+
+ /* Only divide the special cases by pi, and leave the rest unchanged. */
+ return vbslq_f32 (cmp, vmulq_f32 (ret, OneOverPi), ret);
+}
+
+/* Returns 1 if input is the bit representation of 0, infinity or nan. */
+static inline uint32x4_t
+zeroinfnan (uint32x4_t i, const struct data *d)
+{
+ /* 2 * i - 1 >= 2 * 0x7f800000lu - 1. */
+ return vcgeq_u32 (vsubq_u32 (vshlq_n_u32 (i, 1), v_u32 (1)), d->comp_const);
+}
+
+/* Fast implementation of vector atan2f. Maximum observed error is 2.89 ULP:
+ _ZGVnN4vv_atan2pif (0x1.bd397p+54, 0x1.e79a4ap+54) got 0x1.e2678ep-3
+ want 0x1.e26794p-3. */
+float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2pi) (float32x4_t y,
+ float32x4_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint32x4_t ix = vreinterpretq_u32_f32 (x);
+ uint32x4_t iy = vreinterpretq_u32_f32 (y);
+
+ uint32x4_t special_cases
+ = vorrq_u32 (zeroinfnan (ix, d), zeroinfnan (iy, d));
+
+ uint32x4_t sign_x = vandq_u32 (ix, SignMask);
+ uint32x4_t sign_y = vandq_u32 (iy, SignMask);
+ uint32x4_t sign_xy = veorq_u32 (sign_x, sign_y);
+
+ float32x4_t ax = vabsq_f32 (x);
+ float32x4_t ay = vabsq_f32 (y);
+
+ uint32x4_t pred_xlt0 = vcltzq_f32 (x);
+ uint32x4_t pred_aygtax = vcgtq_f32 (ay, ax);
+
+ /* Set up z for evaluation of atanpif. */
+ float32x4_t num = vbslq_f32 (pred_aygtax, vnegq_f32 (ax), ay);
+ float32x4_t den = vbslq_f32 (pred_aygtax, ay, ax);
+ float32x4_t z = vdivq_f32 (num, den);
+
+ /* Work out the correct shift for atan2pi:
+ -1.0 when x < 0 and ax < ay
+ -0.5 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ 0.5 when x >= 0 and ax > ay. */
+ float32x4_t shift = vreinterpretq_f32_u32 (
+ vandq_u32 (pred_xlt0, vreinterpretq_u32_f32 (v_f32 (-1.0f))));
+ float32x4_t shift2 = vreinterpretq_f32_u32 (
+ vandq_u32 (pred_aygtax, vreinterpretq_u32_f32 (v_f32 (0.5f))));
+ shift = vaddq_f32 (shift, shift2);
+
+ /* Calculate the polynomial approximation. */
+ float32x4_t z2 = vmulq_f32 (z, z);
+ float32x4_t z3 = vmulq_f32 (z2, z);
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t z8 = vmulq_f32 (z4, z4);
+
+ float32x4_t c2468 = vld1q_f32 (&d->c2);
+
+ float32x4_t p12 = vfmaq_laneq_f32 (d->c1, z2, c2468, 0);
+ float32x4_t p34 = vfmaq_laneq_f32 (d->c3, z2, c2468, 1);
+ float32x4_t p56 = vfmaq_laneq_f32 (d->c5, z2, c2468, 2);
+ float32x4_t p78 = vfmaq_laneq_f32 (d->c7, z2, c2468, 3);
+ float32x4_t p14 = vfmaq_f32 (p12, z4, p34);
+ float32x4_t p58 = vfmaq_f32 (p56, z4, p78);
+
+ float32x4_t poly = vfmaq_f32 (p14, z8, p58);
+
+ /* y = shift + z * P(z^2). */
+ float32x4_t ret = vfmaq_f32 (shift, z, d->c0);
+ ret = vfmaq_f32 (ret, z3, poly);
+
+ if (__glibc_unlikely (v_any_u32 (special_cases)))
+ {
+ return special_case (y, x, ret, sign_xy, special_cases);
+ }
+
+ /* Account for the sign of y. */
+ return vreinterpretq_f32_u32 (
+ veorq_u32 (vreinterpretq_u32_f32 (ret), sign_xy));
+}
+libmvec_hidden_def (V_NAME_F2 (atan2pi))
+HALF_WIDTH_ALIAS_F2 (atan2pi)
diff --git a/sysdeps/aarch64/fpu/atan2pif_sve.c b/sysdeps/aarch64/fpu/atan2pif_sve.c
new file mode 100644
index 0000000..d5ac4b7
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atan2pif_sve.c
@@ -0,0 +1,137 @@
+/* Single-Precision vector (SVE) inverse tan2pi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float32_t c0, c1, c3, c5, c7;
+ float32_t c2, c4, c6, c8;
+ float32_t shift_val;
+ uint32_t comp_const;
+} data = {
+ /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
+ [2**-128, 1.0]. */
+ .c0 = 0x1.45f306p-2,
+ .c1 = -0x1.b2975ep-4,
+ .c2 = 0x1.0490e4p-4,
+ .c3 = -0x1.70c272p-5,
+ .c4 = 0x1.0eef52p-5,
+ .c5 = -0x1.6abbbap-6,
+ .c6 = 0x1.78157p-7,
+ .c7 = -0x1.f0b406p-9,
+ .c8 = 0x1.2ae7fep-11,
+ .shift_val = 0.5f,
+ .comp_const = 2 * 0x7f800000lu - 1,
+};
+
+#define OneOverPi sv_f32 (0x1.45f307p-2)
+
+/* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */
+static svfloat32_t NOINLINE
+special_case (svfloat32_t y, svfloat32_t x, svfloat32_t ret,
+ const svbool_t cmp)
+{
+ ret = sv_call2_f32 (atan2f, y, x, ret, cmp);
+ return svmul_f32_x (cmp, ret, OneOverPi);
+}
+
+/* Returns a predicate indicating true if the input is the bit representation
+ of 0, infinity or nan. */
+static inline svbool_t
+zeroinfnan (svuint32_t i, const svbool_t pg, const struct data *d)
+{
+ return svcmpge (pg, svsub_x (pg, svlsl_x (pg, i, 1), 1),
+ sv_u32 (d->comp_const));
+}
+
+/* Fast implementation of SVE atan2pif based on atan(x) ~ shift + z + z^3 *
+ P(z^2) with reduction to [0,1] using z=1/x and shift = 1/2. Maximum
+ observed error is 2.90 ULP:
+ _ZGVsMxvv_atan2pif (0x1.a28542p+5, 0x1.adb7c6p+5) got 0x1.f76524p-3
+ want 0x1.f7651ep-3. */
+svfloat32_t SV_NAME_F2 (atan2pi) (svfloat32_t y, svfloat32_t x,
+ const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b32 ();
+
+ svuint32_t ix = svreinterpret_u32 (x);
+ svuint32_t iy = svreinterpret_u32 (y);
+
+ svbool_t cmp_x = zeroinfnan (ix, pg, d);
+ svbool_t cmp_y = zeroinfnan (iy, pg, d);
+ svbool_t cmp_xy = svorr_z (pg, cmp_x, cmp_y);
+
+ svfloat32_t ax = svabs_x (pg, x);
+ svfloat32_t ay = svabs_x (pg, y);
+ svuint32_t iax = svreinterpret_u32 (ax);
+ svuint32_t iay = svreinterpret_u32 (ay);
+
+ svuint32_t sign_x = sveor_x (pg, ix, iax);
+ svuint32_t sign_y = sveor_x (pg, iy, iay);
+ svuint32_t sign_xy = sveor_x (pg, sign_x, sign_y);
+
+ svbool_t pred_aygtax = svcmpgt (pg, ay, ax);
+
+ /* Set up z for evaluation of atanpif. */
+ svfloat32_t num = svsel (pred_aygtax, svneg_x (pg, ax), ay);
+ svfloat32_t den = svsel (pred_aygtax, ay, ax);
+ svfloat32_t z = svdiv_x (ptrue, num, den);
+
+ /* Work out the correct shift for atan2pi:
+ -1.0 when x < 0 and ax < ay
+ -0.5 when x < 0 and ax > ay
+ 0 when x >= 0 and ax < ay
+ 0.5 when x >= 0 and ax > ay. */
+ svfloat32_t shift = svreinterpret_f32 (svlsr_x (pg, sign_x, 1));
+ shift = svmul_x (ptrue, shift, sv_f32 (d->shift_val));
+ shift = svsel (pred_aygtax, sv_f32 (d->shift_val), shift);
+ shift = svreinterpret_f32 (svorr_x (pg, sign_x, svreinterpret_u32 (shift)));
+
+ /* Use pure Estrin scheme for P(z^2) with deg(P)=7. */
+ svfloat32_t z2 = svmul_x (pg, z, z);
+ svfloat32_t z4 = svmul_x (pg, z2, z2);
+ svfloat32_t z8 = svmul_x (pg, z4, z4);
+
+ svfloat32_t even_coeffs = svld1rq (ptrue, &d->c2);
+
+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), z2, even_coeffs, 0);
+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), z2, even_coeffs, 1);
+ svfloat32_t p56 = svmla_lane (sv_f32 (d->c5), z2, even_coeffs, 2);
+ svfloat32_t p78 = svmla_lane (sv_f32 (d->c7), z2, even_coeffs, 3);
+
+ svfloat32_t p14 = svmad_x (pg, z4, p34, p12);
+ svfloat32_t p58 = svmad_x (pg, z4, p78, p56);
+
+ svfloat32_t p18 = svmad_x (pg, z8, p58, p14);
+
+ /* ret = shift + z + z^3 * P(z^2). */
+ svfloat32_t poly = svmad_x (pg, z2, p18, d->c0);
+ svfloat32_t ret = svmad_x (pg, poly, z, shift);
+
+ if (__glibc_unlikely (svptest_any (pg, cmp_xy)))
+ return special_case (
+ y, x,
+ svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ret), sign_xy)),
+ cmp_xy);
+
+ /* Account for the sign of x and y. */
+ return svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ret), sign_xy));
+}
diff --git a/sysdeps/aarch64/fpu/atan_advsimd.c b/sysdeps/aarch64/fpu/atan_advsimd.c
index f024fd1..da0d371 100644
--- a/sysdeps/aarch64/fpu/atan_advsimd.c
+++ b/sysdeps/aarch64/fpu/atan_advsimd.c
@@ -18,7 +18,6 @@
<https://www.gnu.org/licenses/>. */
#include "v_math.h"
-#include "poly_advsimd_f64.h"
static const struct data
{
@@ -28,16 +27,16 @@ static const struct data
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-1022, 1.0]. */
- .c0 = V2 (-0x1.5555555555555p-2), .c1 = 0x1.99999999996c1p-3,
- .c2 = V2 (-0x1.2492492478f88p-3), .c3 = 0x1.c71c71bc3951cp-4,
- .c4 = V2 (-0x1.745d160a7e368p-4), .c5 = 0x1.3b139b6a88ba1p-4,
- .c6 = V2 (-0x1.11100ee084227p-4), .c7 = 0x1.e1d0f9696f63bp-5,
- .c8 = V2 (-0x1.aebfe7b418581p-5), .c9 = 0x1.842dbe9b0d916p-5,
- .c10 = V2 (-0x1.5d30140ae5e99p-5), .c11 = 0x1.338e31eb2fbbcp-5,
- .c12 = V2 (-0x1.00e6eece7de8p-5), .c13 = 0x1.860897b29e5efp-6,
- .c14 = V2 (-0x1.0051381722a59p-6), .c15 = 0x1.14e9dc19a4a4ep-7,
- .c16 = V2 (-0x1.d0062b42fe3bfp-9), .c17 = 0x1.17739e210171ap-10,
- .c18 = V2 (-0x1.ab24da7be7402p-13), .c19 = 0x1.358851160a528p-16,
+ .c0 = V2 (-0x1.555555555552ap-2), .c1 = 0x1.9999999995aebp-3,
+ .c2 = V2 (-0x1.24924923923f6p-3), .c3 = 0x1.c71c7184288a2p-4,
+ .c4 = V2 (-0x1.745d11fb3d32bp-4), .c5 = 0x1.3b136a18051b9p-4,
+ .c6 = V2 (-0x1.110e6d985f496p-4), .c7 = 0x1.e1bcf7f08801dp-5,
+ .c8 = V2 (-0x1.ae644e28058c3p-5), .c9 = 0x1.82eeb1fed85c6p-5,
+ .c10 = V2 (-0x1.59d7f901566cbp-5), .c11 = 0x1.2c982855ab069p-5,
+ .c12 = V2 (-0x1.eb49592998177p-6), .c13 = 0x1.69d8b396e3d38p-6,
+ .c14 = V2 (-0x1.ca980345c4204p-7), .c15 = 0x1.dc050eafde0b3p-8,
+ .c16 = V2 (-0x1.7ea70755b8eccp-9), .c17 = 0x1.ba3da3de903e8p-11,
+ .c18 = V2 (-0x1.44a4b059b6f67p-13), .c19 = 0x1.c4a45029e5a91p-17,
.pi_over_2 = V2 (0x1.921fb54442d18p+0),
};
@@ -47,9 +46,9 @@ static const struct data
/* Fast implementation of vector atan.
Based on atan(x) ~ shift + z + z^3 * P(z^2) with reduction to [0,1] using
- z=1/x and shift = pi/2. Maximum observed error is 2.27 ulps:
- _ZGVnN2v_atan (0x1.0005af27c23e9p+0) got 0x1.9225645bdd7c1p-1
- want 0x1.9225645bdd7c3p-1. */
+ z=1/x and shift = pi/2. Maximum observed error is 2.45 ulps:
+ _ZGVnN2v_atan (0x1.0008d737eb3e6p+0) got 0x1.92288c551a4c1p-1
+ want 0x1.92288c551a4c3p-1. */
float64x2_t VPCS_ATTR V_NAME_D1 (atan) (float64x2_t x)
{
const struct data *d = ptr_barrier (&data);
@@ -78,59 +77,53 @@ float64x2_t VPCS_ATTR V_NAME_D1 (atan) (float64x2_t x)
y := arctan(x) for x < 1
y := pi/2 + arctan(-1/x) for x > 1
Hence, use z=-1/a if x>=1, otherwise z=a. */
- uint64x2_t red = vcagtq_f64 (x, v_f64 (1.0));
+ uint64x2_t red = vcagtq_f64 (x, v_f64 (-1.0));
/* Avoid dependency in abs(x) in division (and comparison). */
- float64x2_t z = vbslq_f64 (red, vdivq_f64 (v_f64 (1.0), x), x);
+ float64x2_t z = vbslq_f64 (red, vdivq_f64 (v_f64 (-1.0), x), x);
+
float64x2_t shift = vreinterpretq_f64_u64 (
vandq_u64 (red, vreinterpretq_u64_f64 (d->pi_over_2)));
- /* Use absolute value only when needed (odd powers of z). */
- float64x2_t az = vbslq_f64 (
- SignMask, vreinterpretq_f64_u64 (vandq_u64 (SignMask, red)), z);
-
- /* Calculate the polynomial approximation.
- Use split Estrin scheme for P(z^2) with deg(P)=19. Use split instead of
- full scheme to avoid underflow in x^16.
- The order 19 polynomial P approximates
- (atan(sqrt(x))-sqrt(x))/x^(3/2). */
+
+ /* Reinsert sign bit from argument into the shift value. */
+ shift = vreinterpretq_f64_u64 (
+ veorq_u64 (vreinterpretq_u64_f64 (shift), sign));
+
+ /* Calculate polynomial approximation P(z^2) with deg(P)=19. */
float64x2_t z2 = vmulq_f64 (z, z);
- float64x2_t x2 = vmulq_f64 (z2, z2);
- float64x2_t x4 = vmulq_f64 (x2, x2);
- float64x2_t x8 = vmulq_f64 (x4, x4);
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+ float64x2_t z16 = vmulq_f64 (z8, z8);
- /* estrin_7. */
+ /* Order-7 Estrin. */
float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0);
float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1);
- float64x2_t p03 = vfmaq_f64 (p01, x2, p23);
+ float64x2_t p03 = vfmaq_f64 (p01, z4, p23);
float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0);
float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1);
- float64x2_t p47 = vfmaq_f64 (p45, x2, p67);
+ float64x2_t p47 = vfmaq_f64 (p45, z4, p67);
- float64x2_t p07 = vfmaq_f64 (p03, x4, p47);
+ float64x2_t p07 = vfmaq_f64 (p03, z8, p47);
- /* estrin_11. */
+ /* Order-11 Estrin. */
float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0);
float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1);
- float64x2_t p811 = vfmaq_f64 (p89, x2, p1011);
+ float64x2_t p811 = vfmaq_f64 (p89, z4, p1011);
float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, z2, c1315, 0);
float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, z2, c1315, 1);
- float64x2_t p1215 = vfmaq_f64 (p1213, x2, p1415);
+ float64x2_t p1215 = vfmaq_f64 (p1213, z4, p1415);
float64x2_t p1617 = vfmaq_laneq_f64 (d->c16, z2, c1719, 0);
float64x2_t p1819 = vfmaq_laneq_f64 (d->c18, z2, c1719, 1);
- float64x2_t p1619 = vfmaq_f64 (p1617, x2, p1819);
+ float64x2_t p1619 = vfmaq_f64 (p1617, z4, p1819);
- float64x2_t p815 = vfmaq_f64 (p811, x4, p1215);
- float64x2_t p819 = vfmaq_f64 (p815, x8, p1619);
+ float64x2_t p815 = vfmaq_f64 (p811, z8, p1215);
+ float64x2_t p819 = vfmaq_f64 (p815, z16, p1619);
- float64x2_t y = vfmaq_f64 (p07, p819, x8);
+ float64x2_t y = vfmaq_f64 (p07, p819, z16);
/* Finalize. y = shift + z + z^3 * P(z^2). */
- y = vfmaq_f64 (az, y, vmulq_f64 (z2, az));
- y = vaddq_f64 (y, shift);
-
- /* y = atan(x) if x>0, -atan(-x) otherwise. */
- y = vreinterpretq_f64_u64 (veorq_u64 (vreinterpretq_u64_f64 (y), sign));
- return y;
+ y = vfmsq_f64 (v_f64 (-1.0), z2, y);
+ return vfmsq_f64 (shift, z, y);
}
diff --git a/sysdeps/aarch64/fpu/atan_sve.c b/sysdeps/aarch64/fpu/atan_sve.c
index 3880ced..a6b0489 100644
--- a/sysdeps/aarch64/fpu/atan_sve.c
+++ b/sysdeps/aarch64/fpu/atan_sve.c
@@ -18,23 +18,26 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[20];
- float64_t pi_over_2;
+ float64_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c18;
+ float64_t c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
+ float64_t shift_val, neg_one;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-1022, 1.0]. */
- .poly = { -0x1.5555555555555p-2, 0x1.99999999996c1p-3, -0x1.2492492478f88p-3,
- 0x1.c71c71bc3951cp-4, -0x1.745d160a7e368p-4, 0x1.3b139b6a88ba1p-4,
- -0x1.11100ee084227p-4, 0x1.e1d0f9696f63bp-5, -0x1.aebfe7b418581p-5,
- 0x1.842dbe9b0d916p-5, -0x1.5d30140ae5e99p-5, 0x1.338e31eb2fbbcp-5,
- -0x1.00e6eece7de8p-5, 0x1.860897b29e5efp-6, -0x1.0051381722a59p-6,
- 0x1.14e9dc19a4a4ep-7, -0x1.d0062b42fe3bfp-9, 0x1.17739e210171ap-10,
- -0x1.ab24da7be7402p-13, 0x1.358851160a528p-16, },
- .pi_over_2 = 0x1.921fb54442d18p+0,
+ .c0 = -0x1.555555555552ap-2, .c1 = 0x1.9999999995aebp-3,
+ .c2 = -0x1.24924923923f6p-3, .c3 = 0x1.c71c7184288a2p-4,
+ .c4 = -0x1.745d11fb3d32bp-4, .c5 = 0x1.3b136a18051b9p-4,
+ .c6 = -0x1.110e6d985f496p-4, .c7 = 0x1.e1bcf7f08801dp-5,
+ .c8 = -0x1.ae644e28058c3p-5, .c9 = 0x1.82eeb1fed85c6p-5,
+ .c10 = -0x1.59d7f901566cbp-5, .c11 = 0x1.2c982855ab069p-5,
+ .c12 = -0x1.eb49592998177p-6, .c13 = 0x1.69d8b396e3d38p-6,
+ .c14 = -0x1.ca980345c4204p-7, .c15 = 0x1.dc050eafde0b3p-8,
+ .c16 = -0x1.7ea70755b8eccp-9, .c17 = 0x1.ba3da3de903e8p-11,
+ .c18 = -0x1.44a4b059b6f67p-13, .c19 = 0x1.c4a45029e5a91p-17,
+ .shift_val = 0x1.490fdaa22168cp+1, .neg_one = -1,
};
/* Useful constants. */
@@ -43,15 +46,14 @@ static const struct data
/* Fast implementation of SVE atan.
Based on atan(x) ~ shift + z + z^3 * P(z^2) with reduction to [0,1] using
z=1/x and shift = pi/2. Largest errors are close to 1. The maximum observed
- error is 2.27 ulps:
- _ZGVsMxv_atan (0x1.0005af27c23e9p+0) got 0x1.9225645bdd7c1p-1
- want 0x1.9225645bdd7c3p-1. */
+ error is 2.08 ulps:
+ _ZGVsMxv_atan (0x1.000a7c56975e8p+0) got 0x1.922a3163e15c2p-1
+ want 0x1.922a3163e15c4p-1. */
svfloat64_t SV_NAME_D1 (atan) (svfloat64_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
- /* No need to trigger special case. Small cases, infs and nans
- are supported by our approximation technique. */
+ svbool_t ptrue = svptrue_b64 ();
svuint64_t ix = svreinterpret_u64 (x);
svuint64_t sign = svand_x (pg, ix, SignMask);
@@ -59,32 +61,60 @@ svfloat64_t SV_NAME_D1 (atan) (svfloat64_t x, const svbool_t pg)
y := arctan(x) for x < 1
y := pi/2 + arctan(-1/x) for x > 1
Hence, use z=-1/a if x>=1, otherwise z=a. */
- svbool_t red = svacgt (pg, x, 1.0);
- /* Avoid dependency in abs(x) in division (and comparison). */
- svfloat64_t z = svsel (red, svdivr_x (pg, x, 1.0), x);
- /* Use absolute value only when needed (odd powers of z). */
- svfloat64_t az = svabs_x (pg, z);
- az = svneg_m (az, red, az);
+ svbool_t red = svacgt (pg, x, d->neg_one);
+ svfloat64_t z = svsel (red, svdiv_x (pg, sv_f64 (d->neg_one), x), x);
+
+ /* Reuse of -1.0f to reduce constant loads,
+ We need a shift value of 1/2, which is created via -1 + (1 + 1/2). */
+ svfloat64_t shift
+ = svadd_z (red, sv_f64 (d->neg_one), sv_f64 (d->shift_val));
+
+ /* Reinserts the sign bit of the argument to handle the case of x < -1. */
+ shift = svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (shift), sign));
/* Use split Estrin scheme for P(z^2) with deg(P)=19. */
- svfloat64_t z2 = svmul_x (pg, z, z);
- svfloat64_t x2 = svmul_x (pg, z2, z2);
- svfloat64_t x4 = svmul_x (pg, x2, x2);
- svfloat64_t x8 = svmul_x (pg, x4, x4);
+ svfloat64_t z2 = svmul_x (ptrue, z, z);
+ svfloat64_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat64_t z8 = svmul_x (ptrue, z4, z4);
+ svfloat64_t z16 = svmul_x (ptrue, z8, z8);
- svfloat64_t y
- = svmla_x (pg, sv_estrin_7_f64_x (pg, z2, x2, x4, d->poly),
- sv_estrin_11_f64_x (pg, z2, x2, x4, x8, d->poly + 8), x8);
+ /* Order-7 Estrin. */
+ svfloat64_t c13 = svld1rq (ptrue, &d->c1);
+ svfloat64_t c57 = svld1rq (ptrue, &d->c5);
- /* y = shift + z + z^3 * P(z^2). */
- svfloat64_t z3 = svmul_x (pg, z2, az);
- y = svmla_x (pg, az, z3, y);
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), z2, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), z2, c13, 1);
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), z2, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), z2, c57, 1);
+
+ svfloat64_t p03 = svmla_x (pg, p01, z4, p23);
+ svfloat64_t p47 = svmla_x (pg, p45, z4, p67);
+ svfloat64_t p07 = svmla_x (pg, p03, z8, p47);
+
+ /* Order-11 Estrin. */
+ svfloat64_t c911 = svld1rq (ptrue, &d->c9);
+ svfloat64_t c1315 = svld1rq (ptrue, &d->c13);
+ svfloat64_t c1719 = svld1rq (ptrue, &d->c17);
- /* Apply shift as indicated by `red` predicate. */
- y = svadd_m (red, y, d->pi_over_2);
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), z2, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), z2, c911, 1);
+ svfloat64_t p811 = svmla_x (pg, p89, z4, p1011);
- /* y = atan(x) if x>0, -atan(-x) otherwise. */
- y = svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (y), sign));
+ svfloat64_t p1213 = svmla_lane (sv_f64 (d->c12), z2, c1315, 0);
+ svfloat64_t p1415 = svmla_lane (sv_f64 (d->c14), z2, c1315, 1);
+ svfloat64_t p1215 = svmla_x (pg, p1213, z4, p1415);
- return y;
+ svfloat64_t p1617 = svmla_lane (sv_f64 (d->c16), z2, c1719, 0);
+ svfloat64_t p1819 = svmla_lane (sv_f64 (d->c18), z2, c1719, 1);
+ svfloat64_t p1619 = svmla_x (pg, p1617, z4, p1819);
+
+ svfloat64_t p815 = svmla_x (pg, p811, z8, p1215);
+ svfloat64_t p819 = svmla_x (pg, p815, z16, p1619);
+
+ svfloat64_t y = svmla_x (pg, p07, z16, p819);
+
+ /* y = shift + z + z^3 * P(z^2). */
+ shift = svadd_m (red, z, shift);
+ y = svmul_x (pg, z2, y);
+ return svmla_x (pg, shift, z, y);
}
diff --git a/sysdeps/aarch64/fpu/atanf_advsimd.c b/sysdeps/aarch64/fpu/atanf_advsimd.c
index 472865e..817a47e 100644
--- a/sysdeps/aarch64/fpu/atanf_advsimd.c
+++ b/sysdeps/aarch64/fpu/atanf_advsimd.c
@@ -22,26 +22,35 @@
static const struct data
{
+ uint32x4_t sign_mask, pi_over_2;
+ float32x4_t neg_one;
+#if WANT_SIMD_EXCEPT
float32x4_t poly[8];
- float32x4_t pi_over_2;
+} data = {
+ .poly = { V4 (-0x1.5554dcp-2), V4 (0x1.9978ecp-3), V4 (-0x1.230a94p-3),
+ V4 (0x1.b4debp-4), V4 (-0x1.3550dap-4), V4 (0x1.61eebp-5),
+ V4 (-0x1.0c17d4p-6), V4 (0x1.7ea694p-9) },
+#else
+ float32x4_t c0, c2, c4, c6;
+ float c1, c3, c5, c7;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-128, 1.0].
Generated using fpminimax between FLT_MIN and 1. */
- .poly = { V4 (-0x1.55555p-2f), V4 (0x1.99935ep-3f), V4 (-0x1.24051ep-3f),
- V4 (0x1.bd7368p-4f), V4 (-0x1.491f0ep-4f), V4 (0x1.93a2c0p-5f),
- V4 (-0x1.4c3c60p-6f), V4 (0x1.01fd88p-8f) },
- .pi_over_2 = V4 (0x1.921fb6p+0f),
+ .c0 = V4 (-0x1.5554dcp-2), .c1 = 0x1.9978ecp-3,
+ .c2 = V4 (-0x1.230a94p-3), .c3 = 0x1.b4debp-4,
+ .c4 = V4 (-0x1.3550dap-4), .c5 = 0x1.61eebp-5,
+ .c6 = V4 (-0x1.0c17d4p-6), .c7 = 0x1.7ea694p-9,
+#endif
+ .pi_over_2 = V4 (0x3fc90fdb),
+ .neg_one = V4 (-1.0f),
+ .sign_mask = V4 (0x80000000),
};
-#define SignMask v_u32 (0x80000000)
-
-#define P(i) d->poly[i]
-
+#if WANT_SIMD_EXCEPT
#define TinyBound 0x30800000 /* asuint(0x1p-30). */
#define BigBound 0x4e800000 /* asuint(0x1p30). */
-#if WANT_SIMD_EXCEPT
static float32x4_t VPCS_ATTR NOINLINE
special_case (float32x4_t x, float32x4_t y, uint32x4_t special)
{
@@ -51,19 +60,20 @@ special_case (float32x4_t x, float32x4_t y, uint32x4_t special)
/* Fast implementation of vector atanf based on
atan(x) ~ shift + z + z^3 * P(z^2) with reduction to [0,1]
- using z=-1/x and shift = pi/2. Maximum observed error is 2.9ulps:
- _ZGVnN4v_atanf (0x1.0468f6p+0) got 0x1.967f06p-1 want 0x1.967fp-1. */
+ using z=-1/x and shift = pi/2. Maximum observed error is 2.02 ulps:
+ _ZGVnN4v_atanf (0x1.03d4cep+0) got 0x1.95ed3ap-1
+ want 0x1.95ed36p-1. */
float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (atan) (float32x4_t x)
{
const struct data *d = ptr_barrier (&data);
- /* Small cases, infs and nans are supported by our approximation technique,
- but do not set fenv flags correctly. Only trigger special case if we need
- fenv. */
uint32x4_t ix = vreinterpretq_u32_f32 (x);
- uint32x4_t sign = vandq_u32 (ix, SignMask);
+ uint32x4_t sign = vandq_u32 (ix, d->sign_mask);
#if WANT_SIMD_EXCEPT
+ /* Small cases, infs and nans are supported by our approximation technique,
+ but do not set fenv flags correctly. Only trigger special case if we need
+ fenv. */
uint32x4_t ia = vandq_u32 (ix, v_u32 (0x7ff00000));
uint32x4_t special = vcgtq_u32 (vsubq_u32 (ia, v_u32 (TinyBound)),
v_u32 (BigBound - TinyBound));
@@ -71,41 +81,52 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (atan) (float32x4_t x)
if (__glibc_unlikely (v_any_u32 (special)))
return special_case (x, x, v_u32 (-1));
#endif
-
/* Argument reduction:
- y := arctan(x) for x < 1
- y := pi/2 + arctan(-1/x) for x > 1
- Hence, use z=-1/a if x>=1, otherwise z=a. */
- uint32x4_t red = vcagtq_f32 (x, v_f32 (1.0));
- /* Avoid dependency in abs(x) in division (and comparison). */
- float32x4_t z = vbslq_f32 (red, vdivq_f32 (v_f32 (1.0f), x), x);
+ y := arctan(x) for |x| < 1
+ y := arctan(-1/x) + pi/2 for x > +1
+ y := arctan(-1/x) - pi/2 for x < -1
+ Hence, use z=-1/a if x>=|-1|, otherwise z=a. */
+ uint32x4_t red = vcagtq_f32 (x, d->neg_one);
+
+ float32x4_t z = vbslq_f32 (red, vdivq_f32 (d->neg_one, x), x);
+
+ /* Shift is calculated as +-pi/2 or 0, depending on the argument case. */
float32x4_t shift = vreinterpretq_f32_u32 (
- vandq_u32 (red, vreinterpretq_u32_f32 (d->pi_over_2)));
- /* Use absolute value only when needed (odd powers of z). */
- float32x4_t az = vbslq_f32 (
- SignMask, vreinterpretq_f32_u32 (vandq_u32 (SignMask, red)), z);
+ vandq_u32 (red, veorq_u32 (d->pi_over_2, sign)));
+
+ float32x4_t z2 = vmulq_f32 (z, z);
+ float32x4_t z3 = vmulq_f32 (z, z2);
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+#if WANT_SIMD_EXCEPT
/* Calculate the polynomial approximation.
Use 2-level Estrin scheme for P(z^2) with deg(P)=7. However,
a standard implementation using z8 creates spurious underflow
in the very last fma (when z^8 is small enough).
- Therefore, we split the last fma into a mul and an fma.
- Horner and single-level Estrin have higher errors that exceed
- threshold. */
- float32x4_t z2 = vmulq_f32 (z, z);
- float32x4_t z4 = vmulq_f32 (z2, z2);
-
+ Therefore, we split the last fma into a mul and an fma. */
float32x4_t y = vfmaq_f32 (
v_pairwise_poly_3_f32 (z2, z4, d->poly), z4,
vmulq_f32 (z4, v_pairwise_poly_3_f32 (z2, z4, d->poly + 4)));
- /* y = shift + z * P(z^2). */
- y = vaddq_f32 (vfmaq_f32 (az, y, vmulq_f32 (z2, az)), shift);
+#else
+ float32x4_t z8 = vmulq_f32 (z4, z4);
+
+ /* Uses an Estrin scheme for polynomial approximation. */
+ float32x4_t odd_coeffs = vld1q_f32 (&d->c1);
+
+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, odd_coeffs, 0);
+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, odd_coeffs, 1);
+ float32x4_t p45 = vfmaq_laneq_f32 (d->c4, z2, odd_coeffs, 2);
+ float32x4_t p67 = vfmaq_laneq_f32 (d->c6, z2, odd_coeffs, 3);
- /* y = atan(x) if x>0, -atan(-x) otherwise. */
- y = vreinterpretq_f32_u32 (veorq_u32 (vreinterpretq_u32_f32 (y), sign));
+ float32x4_t p03 = vfmaq_f32 (p01, z4, p23);
+ float32x4_t p47 = vfmaq_f32 (p45, z4, p67);
- return y;
+ float32x4_t y = vfmaq_f32 (p03, z8, p47);
+#endif
+
+ /* y = shift + z * P(z^2). */
+ return vfmaq_f32 (vaddq_f32 (shift, z), z3, y);
}
libmvec_hidden_def (V_NAME_F1 (atan))
HALF_WIDTH_ALIAS_F1 (atan)
diff --git a/sysdeps/aarch64/fpu/atanf_sve.c b/sysdeps/aarch64/fpu/atanf_sve.c
index 3a98d70..6558223 100644
--- a/sysdeps/aarch64/fpu/atanf_sve.c
+++ b/sysdeps/aarch64/fpu/atanf_sve.c
@@ -18,18 +18,26 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f32.h"
static const struct data
{
- float32_t poly[8];
- float32_t pi_over_2;
+ float32_t c1, c3, c5, c7;
+ float32_t c0, c2, c4, c6;
+ float32_t shift_val, neg_one;
} data = {
/* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
[2**-128, 1.0]. */
- .poly = { -0x1.55555p-2f, 0x1.99935ep-3f, -0x1.24051ep-3f, 0x1.bd7368p-4f,
- -0x1.491f0ep-4f, 0x1.93a2c0p-5f, -0x1.4c3c60p-6f, 0x1.01fd88p-8f },
- .pi_over_2 = 0x1.921fb6p+0f,
+ .c0 = -0x1.5554dcp-2,
+ .c1 = 0x1.9978ecp-3,
+ .c2 = -0x1.230a94p-3,
+ .c3 = 0x1.b4debp-4,
+ .c4 = -0x1.3550dap-4,
+ .c5 = 0x1.61eebp-5,
+ .c6 = -0x1.0c17d4p-6,
+ .c7 = 0x1.7ea694p-9,
+ /* pi/2, used as a shift value after reduction. */
+ .shift_val = 0x1.921fb54442d18p+0,
+ .neg_one = -1.0f,
};
#define SignMask (0x80000000)
@@ -37,43 +45,49 @@ static const struct data
/* Fast implementation of SVE atanf based on
atan(x) ~ shift + z + z^3 * P(z^2) with reduction to [0,1] using
z=-1/x and shift = pi/2.
- Largest observed error is 2.9 ULP, close to +/-1.0:
- _ZGVsMxv_atanf (0x1.0468f6p+0) got -0x1.967f06p-1
- want -0x1.967fp-1. */
+ Largest observed error is 2.12 ULP:
+ _ZGVsMxv_atanf (0x1.03d4cep+0) got 0x1.95ed3ap-1
+ want 0x1.95ed36p-1. */
svfloat32_t SV_NAME_F1 (atan) (svfloat32_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b32 ();
/* No need to trigger special case. Small cases, infs and nans
are supported by our approximation technique. */
svuint32_t ix = svreinterpret_u32 (x);
- svuint32_t sign = svand_x (pg, ix, SignMask);
+ svuint32_t sign = svand_x (ptrue, ix, SignMask);
/* Argument reduction:
y := arctan(x) for x < 1
- y := pi/2 + arctan(-1/x) for x > 1
- Hence, use z=-1/a if x>=1, otherwise z=a. */
- svbool_t red = svacgt (pg, x, 1.0f);
- /* Avoid dependency in abs(x) in division (and comparison). */
- svfloat32_t z = svsel (red, svdiv_x (pg, sv_f32 (1.0f), x), x);
- /* Use absolute value only when needed (odd powers of z). */
- svfloat32_t az = svabs_x (pg, z);
- az = svneg_m (az, red, az);
-
- /* Use split Estrin scheme for P(z^2) with deg(P)=7. */
- svfloat32_t z2 = svmul_x (pg, z, z);
- svfloat32_t z4 = svmul_x (pg, z2, z2);
- svfloat32_t z8 = svmul_x (pg, z4, z4);
-
- svfloat32_t y = sv_estrin_7_f32_x (pg, z2, z4, z8, d->poly);
-
- /* y = shift + z + z^3 * P(z^2). */
- svfloat32_t z3 = svmul_x (pg, z2, az);
- y = svmla_x (pg, az, z3, y);
-
- /* Apply shift as indicated by 'red' predicate. */
- y = svadd_m (red, y, sv_f32 (d->pi_over_2));
-
- /* y = atan(x) if x>0, -atan(-x) otherwise. */
- return svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (y), sign));
+ y := arctan(-1/x) + pi/2 for x > +1
+ y := arctan(-1/x) - pi/2 for x < -1
+ Hence, use z=-1/a if |x|>=|-1|, otherwise z=a. */
+ svbool_t red = svacgt (pg, x, d->neg_one);
+ svfloat32_t z = svsel (red, svdiv_x (pg, sv_f32 (d->neg_one), x), x);
+
+ /* Reinserts the sign bit of the argument to handle the case of x < -1. */
+ svfloat32_t shift = svreinterpret_f32 (
+ sveor_x (red, svreinterpret_u32 (sv_f32 (d->shift_val)), sign));
+
+ svfloat32_t z2 = svmul_x (ptrue, z, z);
+ svfloat32_t z3 = svmul_x (ptrue, z2, z);
+ svfloat32_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat32_t z8 = svmul_x (ptrue, z4, z4);
+
+ svfloat32_t odd_coeffs = svld1rq (ptrue, &d->c1);
+
+ svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), z2, odd_coeffs, 0);
+ svfloat32_t p23 = svmla_lane (sv_f32 (d->c2), z2, odd_coeffs, 1);
+ svfloat32_t p45 = svmla_lane (sv_f32 (d->c4), z2, odd_coeffs, 2);
+ svfloat32_t p67 = svmla_lane (sv_f32 (d->c6), z2, odd_coeffs, 3);
+
+ svfloat32_t p03 = svmla_x (pg, p01, z4, p23);
+ svfloat32_t p47 = svmla_x (pg, p45, z4, p67);
+
+ svfloat32_t y = svmla_x (pg, p03, z8, p47);
+
+ /* shift + z + z^3 * P(z^2). */
+ shift = svadd_m (red, z, shift);
+ return svmla_x (pg, shift, z3, y);
}
diff --git a/sysdeps/aarch64/fpu/atanh_sve.c b/sysdeps/aarch64/fpu/atanh_sve.c
index 16a7cf6..958d69a 100644
--- a/sysdeps/aarch64/fpu/atanh_sve.c
+++ b/sysdeps/aarch64/fpu/atanh_sve.c
@@ -30,7 +30,7 @@ special_case (svfloat64_t x, svfloat64_t y, svbool_t special)
}
/* SVE approximation for double-precision atanh, based on log1p.
- The greatest observed error is 2.81 ULP:
+ The greatest observed error is 3.3 ULP:
_ZGVsMxv_atanh(0x1.ffae6288b601p-6) got 0x1.ffd8ff31b5019p-6
want 0x1.ffd8ff31b501cp-6. */
svfloat64_t SV_NAME_D1 (atanh) (svfloat64_t x, const svbool_t pg)
@@ -42,7 +42,6 @@ svfloat64_t SV_NAME_D1 (atanh) (svfloat64_t x, const svbool_t pg)
svfloat64_t halfsign = svreinterpret_f64 (svorr_x (pg, sign, Half));
/* It is special if iax >= 1. */
-// svbool_t special = svcmpge (pg, iax, One);
svbool_t special = svacge (pg, x, 1.0);
/* Computation is performed based on the following sequence of equality:
diff --git a/sysdeps/aarch64/fpu/atanpi_advsimd.c b/sysdeps/aarch64/fpu/atanpi_advsimd.c
new file mode 100644
index 0000000..9101419
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atanpi_advsimd.c
@@ -0,0 +1,117 @@
+/* Double-Precision vector (Advanced SIMD) inverse tanpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ double c2, c4, c6, c8, c10, c12, c14, c16, c18, c20;
+ float64x2_t c0, c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
+} data = {
+ /* Coefficients of polynomial P such that atanpi(x)~x*P(x^2) on
+ [2^-1022, 1.0]. */
+ .c0 = V2 (0x1.45f306dc9c883p-2), .c1 = V2 (-0x1.b2995e7b7ba4ap-4),
+ .c2 = 0x1.04c26be3d2c1p-4, .c3 = V2 (-0x1.7483759c17ea1p-5),
+ .c4 = 0x1.21bb95c315d57p-5, .c5 = V2 (-0x1.da1bdc3d453f3p-6),
+ .c6 = 0x1.912d20459b4bfp-6, .c7 = V2 (-0x1.5bbd4545cad1fp-6),
+ .c8 = 0x1.331b83bec30a1p-6, .c9 = V2 (-0x1.13d6457f44de3p-6),
+ .c10 = 0x1.f8e802974db94p-7, .c11 = V2 (-0x1.d7e173ab04a1ap-7),
+ .c12 = 0x1.bdfa47d6a4f28p-7, .c13 = V2 (-0x1.9ba78f3232ceep-7),
+ .c14 = 0x1.5e6044590ab4fp-7, .c15 = V2 (-0x1.01ccfdeb9f77fp-7),
+ .c16 = 0x1.345cf0d4eb1c1p-8, .c17 = V2 (-0x1.19e5f00f67e3ap-9),
+ .c18 = 0x1.6d3035ac7625bp-11, .c19 = V2 (-0x1.286bb9ae4ed79p-13),
+ .c20 = 0x1.c37ec36da0e1ap-17,
+};
+
+#define SignMask v_u64 (0x8000000000000000)
+
+/* Fast implementation of vector atanpi.
+ atanpi(x) ~ shift + z * P(z^2) with reduction to [0,1] using
+ z=1/x and shift = +-1/2. Maximum observed error is 2.76 ulps:
+ _ZGVnN2v_atanpi(0x1.fa2d6912cd64fp-1) got 0x1.fc45a51bd497fp-3
+ want 0x1.fc45a51bd497cp-3. */
+float64x2_t VPCS_ATTR V_NAME_D1 (atanpi) (float64x2_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint64x2_t ix = vreinterpretq_u64_f64 (x);
+ uint64x2_t sign = vandq_u64 (ix, SignMask);
+
+ /* Argument Reduction:
+ y := arctanpi(x) for |x| < 1
+ y := arctanpi(-1/x) + 1/2 for x > 1
+ y := arctanpi(-1/x) - 1/2 for x < -1
+ Hence, use z=-1/a if |x|>=|-1|, otherwise z=a. */
+ uint64x2_t red = vcagtq_f64 (x, v_f64 (-1.0));
+ float64x2_t z = vbslq_f64 (red, vdivq_f64 (v_f64 (-1.0), x), x);
+
+ /* Shift is calculated as +1/2 or 0, depending on the argument case. */
+ float64x2_t shift = vreinterpretq_f64_u64 (
+ vandq_u64 (red, vreinterpretq_u64_f64 (v_f64 (0.5))));
+
+ /* Reinsert sign bit from argument into the shift value. */
+ shift = vreinterpretq_f64_u64 (
+ veorq_u64 (vreinterpretq_u64_f64 (shift), sign));
+
+ /* Calculate polynomial approximation P(z^2) with deg(P)=19. */
+ float64x2_t z2 = vmulq_f64 (z, z);
+ float64x2_t z4 = vmulq_f64 (z2, z2);
+ float64x2_t z8 = vmulq_f64 (z4, z4);
+ float64x2_t z16 = vmulq_f64 (z8, z8);
+
+ float64x2_t c24 = vld1q_f64 (&d->c2);
+ float64x2_t c68 = vld1q_f64 (&d->c6);
+
+ /* Order-7 Estrin. */
+ float64x2_t p12 = vfmaq_laneq_f64 (d->c1, z2, c24, 0);
+ float64x2_t p34 = vfmaq_laneq_f64 (d->c3, z2, c24, 1);
+ float64x2_t p56 = vfmaq_laneq_f64 (d->c5, z2, c68, 0);
+ float64x2_t p78 = vfmaq_laneq_f64 (d->c7, z2, c68, 1);
+
+ float64x2_t p14 = vfmaq_f64 (p12, z4, p34);
+ float64x2_t p58 = vfmaq_f64 (p56, z4, p78);
+ float64x2_t p18 = vfmaq_f64 (p14, z8, p58);
+
+ /* Order-11 Estrin. */
+ float64x2_t c1012 = vld1q_f64 (&d->c10);
+ float64x2_t c1416 = vld1q_f64 (&d->c14);
+ float64x2_t c1820 = vld1q_f64 (&d->c18);
+
+ float64x2_t p910 = vfmaq_laneq_f64 (d->c9, z2, c1012, 0);
+ float64x2_t p1112 = vfmaq_laneq_f64 (d->c11, z2, c1012, 1);
+ float64x2_t p912 = vfmaq_f64 (p910, z4, p1112);
+
+ float64x2_t p1314 = vfmaq_laneq_f64 (d->c13, z2, c1416, 0);
+ float64x2_t p1516 = vfmaq_laneq_f64 (d->c15, z2, c1416, 1);
+ float64x2_t p1316 = vfmaq_f64 (p1314, z4, p1516);
+
+ float64x2_t p1718 = vfmaq_laneq_f64 (d->c17, z2, c1820, 0);
+ float64x2_t p1920 = vfmaq_laneq_f64 (d->c19, z2, c1820, 1);
+ float64x2_t p1720 = vfmaq_f64 (p1718, z4, p1920);
+
+ float64x2_t p916 = vfmaq_f64 (p912, z8, p1316);
+ float64x2_t p920 = vfmaq_f64 (p916, z16, p1720);
+
+ float64x2_t y = vfmaq_f64 (p18, p920, z16);
+
+ y = vfmaq_f64 (d->c0, z2, y);
+
+ /* y = shift + z * p(z^2). */
+ return vfmaq_f64 (shift, z, y);
+}
diff --git a/sysdeps/aarch64/fpu/atanpi_sve.c b/sysdeps/aarch64/fpu/atanpi_sve.c
new file mode 100644
index 0000000..3f8f277
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atanpi_sve.c
@@ -0,0 +1,127 @@
+/* Double-Precision vector (SVE) inverse tanpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float64_t c2, c4, c6, c8, c10, c12, c14, c16, c18, c20;
+ float64_t c0, c1, c3, c5, c7, c9, c11, c13, c15, c17, c19;
+ float64_t shift_val, neg_one;
+} data = {
+ /* Coefficients of polnomial P such that atan(x)~x+x*P(x^2) on
+ [2^-1022, 1.0]. */
+ .c0 = 0x1.45f306dc9c883p-2,
+ .c1 = -0x1.b2995e7b7ba4ap-4,
+ .c2 = 0x1.04c26be3d2c1p-4,
+ .c3 = -0x1.7483759c17ea1p-5,
+ .c4 = 0x1.21bb95c315d57p-5,
+ .c5 = -0x1.da1bdc3d453f3p-6,
+ .c6 = 0x1.912d20459b4bfp-6,
+ .c7 = -0x1.5bbd4545cad1fp-6,
+ .c8 = 0x1.331b83bec30a1p-6,
+ .c9 = -0x1.13d6457f44de3p-6,
+ .c10 = 0x1.f8e802974db94p-7,
+ .c11 = -0x1.d7e173ab04a1ap-7,
+ .c12 = 0x1.bdfa47d6a4f28p-7,
+ .c13 = -0x1.9ba78f3232ceep-7,
+ .c14 = 0x1.5e6044590ab4fp-7,
+ .c15 = -0x1.01ccfdeb9f77fp-7,
+ .c16 = 0x1.345cf0d4eb1c1p-8,
+ .c17 = -0x1.19e5f00f67e3ap-9,
+ .c18 = 0x1.6d3035ac7625bp-11,
+ .c19 = -0x1.286bb9ae4ed79p-13,
+ .c20 = 0x1.c37ec36da0e1ap-17,
+ .shift_val = 1.5,
+ .neg_one = -1,
+};
+
+/* Fast implementation of SVE atan.
+ Based on atan(x) ~ shift + z + z^3 * P(z^2) with reduction to 0,1 using
+ z=1/x and shift = pi/2. Largest errors are close to 1. The maximum observed
+ error is 2.80 ulps:
+ _ZGVsMxv_atanpi(0x1.f19587d63c76fp-1) got 0x1.f6b1304817d02p-3
+ want 0x1.f6b1304817d05p-3. */
+svfloat64_t SV_NAME_D1 (atanpi) (svfloat64_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ svbool_t ptrue = svptrue_b64 ();
+ svuint64_t ix = svreinterpret_u64 (x);
+ svuint64_t sign = svand_x (pg, ix, 0x8000000000000000);
+
+ /* Argument reduction:
+ y := arctan(x) for x < 1
+ y := pi/2 + arctan(-1/x) for x > 1
+ Hence, use z=-1/a if x>=1, otherwise z=a. */
+ svbool_t red = svacgt (pg, x, d->neg_one);
+ svfloat64_t z = svsel (red, svdiv_x (pg, sv_f64 (d->neg_one), x), x);
+
+ /* Reuse of -1.0f to reduce constant loads,
+ We need a shift value of 1/2, which is created via -1 + (1 + 1/2). */
+ svfloat64_t shift
+ = svadd_z (red, sv_f64 (d->neg_one), sv_f64 (d->shift_val));
+
+ /* Reinserts the sign bit of the argument to handle the case of x < -1. */
+ shift = svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (shift), sign));
+
+ /* Use split Estrin scheme for P(z^2) with deg(P)=19. */
+ svfloat64_t z2 = svmul_x (ptrue, z, z);
+ svfloat64_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat64_t z8 = svmul_x (ptrue, z4, z4);
+ svfloat64_t z16 = svmul_x (ptrue, z8, z8);
+
+ /* Order-7 Estrin. */
+ svfloat64_t c24 = svld1rq (ptrue, &d->c2);
+ svfloat64_t c68 = svld1rq (ptrue, &d->c6);
+
+ svfloat64_t p12 = svmla_lane (sv_f64 (d->c1), z2, c24, 0);
+ svfloat64_t p34 = svmla_lane (sv_f64 (d->c3), z2, c24, 1);
+ svfloat64_t p56 = svmla_lane (sv_f64 (d->c5), z2, c68, 0);
+ svfloat64_t p78 = svmla_lane (sv_f64 (d->c7), z2, c68, 1);
+
+ svfloat64_t p14 = svmla_x (pg, p12, z4, p34);
+ svfloat64_t p58 = svmla_x (pg, p56, z4, p78);
+ svfloat64_t p18 = svmla_x (pg, p14, z8, p58);
+
+ /* Order-11 Estrin. */
+ svfloat64_t c1012 = svld1rq (ptrue, &d->c10);
+ svfloat64_t c1416 = svld1rq (ptrue, &d->c14);
+ svfloat64_t c1820 = svld1rq (ptrue, &d->c18);
+
+ svfloat64_t p910 = svmla_lane (sv_f64 (d->c9), z2, c1012, 0);
+ svfloat64_t p1112 = svmla_lane (sv_f64 (d->c11), z2, c1012, 1);
+ svfloat64_t p912 = svmla_x (pg, p910, z4, p1112);
+
+ svfloat64_t p1314 = svmla_lane (sv_f64 (d->c13), z2, c1416, 0);
+ svfloat64_t p1516 = svmla_lane (sv_f64 (d->c15), z2, c1416, 1);
+ svfloat64_t p1316 = svmla_x (pg, p1314, z4, p1516);
+
+ svfloat64_t p1718 = svmla_lane (sv_f64 (d->c17), z2, c1820, 0);
+ svfloat64_t p1920 = svmla_lane (sv_f64 (d->c19), z2, c1820, 1);
+ svfloat64_t p1720 = svmla_x (pg, p1718, z4, p1920);
+
+ svfloat64_t p916 = svmla_x (pg, p912, z8, p1316);
+ svfloat64_t p920 = svmla_x (pg, p916, z16, p1720);
+
+ svfloat64_t y = svmla_x (pg, p18, z16, p920);
+
+ y = svmla_x (pg, sv_f64 (d->c0), z2, y);
+ return svmla_x (pg, shift, z, y);
+}
diff --git a/sysdeps/aarch64/fpu/atanpif_advsimd.c b/sysdeps/aarch64/fpu/atanpif_advsimd.c
new file mode 100644
index 0000000..9295156
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atanpif_advsimd.c
@@ -0,0 +1,92 @@
+/* Single-Precision vector (Advanced SIMD) inverse tanpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "v_math.h"
+
+static const struct data
+{
+ uint32x4_t half;
+ float32x4_t neg_one;
+ float32x4_t c0, c1, c3, c5, c7;
+ float c2, c4, c6, c8;
+} data = {
+ /* Polynomial coefficients generated using Remez algorithm,
+ see atanpi.sollya for details. */
+ .c0 = V4 (0x1.45f306p-2), .c1 = V4 (-0x1.b2975ep-4),
+ .c2 = 0x1.0490e4p-4, .c3 = V4 (-0x1.70c272p-5),
+ .c4 = 0x1.0eef52p-5, .c5 = V4 (-0x1.6abbbap-6),
+ .c6 = 0x1.78157p-7, .c7 = V4 (-0x1.f0b406p-9),
+ .c8 = 0x1.2ae7fep-11, .half = V4 (0x3f000000),
+ .neg_one = V4 (-1.0f),
+};
+
+#define SignMask v_u32 (0x80000000)
+
+/* Fast implementation of vector atanpif based on
+ atanpi(x) ~ shift + z * P(z^2) with reduction to [0,1]
+ using z=-1/x and shift = +-1/2.
+ Maximum observed error is 2.59ulps:
+ _ZGVnN4v_atanpif (0x1.f2a89cp-1) got 0x1.f76524p-3
+ want 0x1.f7651ep-3. */
+float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (atanpi) (float32x4_t x)
+{
+ const struct data *d = ptr_barrier (&data);
+
+ uint32x4_t ix = vreinterpretq_u32_f32 (x);
+ uint32x4_t sign = vandq_u32 (ix, SignMask);
+
+ /* Argument Reduction:
+ y := arctanpi(x) for |x| < 1
+ y := arctanpi(-1/x) + 1/2 for x > 1
+ y := arctanpi(-1/x) - 1/2 for x < -1
+ Hence, use z=-1/a if |x|>=|-1|, otherwise z=a. */
+ uint32x4_t red = vcagtq_f32 (x, d->neg_one);
+
+ float32x4_t z = vbslq_f32 (red, vdivq_f32 (d->neg_one, x), x);
+
+ /* Shift is calculated as +1/2 or 0, depending on the argument case. */
+ float32x4_t shift = vreinterpretq_f32_u32 (vandq_u32 (red, d->half));
+
+ /* Reinsert sign bit from argument into the shift value. */
+ shift = vreinterpretq_f32_u32 (
+ veorq_u32 (vreinterpretq_u32_f32 (shift), sign));
+
+ /* Uses an Estrin scheme for polynomial approximation. */
+ float32x4_t z2 = vmulq_f32 (z, z);
+ float32x4_t z4 = vmulq_f32 (z2, z2);
+ float32x4_t z8 = vmulq_f32 (z4, z4);
+
+ float32x4_t even_coeffs = vld1q_f32 (&d->c2);
+
+ float32x4_t p12 = vfmaq_laneq_f32 (d->c1, z2, even_coeffs, 0);
+ float32x4_t p34 = vfmaq_laneq_f32 (d->c3, z2, even_coeffs, 1);
+ float32x4_t p56 = vfmaq_laneq_f32 (d->c5, z2, even_coeffs, 2);
+ float32x4_t p78 = vfmaq_laneq_f32 (d->c7, z2, even_coeffs, 3);
+
+ float32x4_t p14 = vfmaq_f32 (p12, z4, p34);
+ float32x4_t p58 = vfmaq_f32 (p56, z4, p78);
+
+ float32x4_t y = vfmaq_f32 (p14, z8, p58);
+ y = vfmaq_f32 (d->c0, z2, y);
+
+ /* y = shift + z * P(z^2). */
+ return vfmaq_f32 (shift, z, y);
+}
+libmvec_hidden_def (V_NAME_F1 (atanpi))
+HALF_WIDTH_ALIAS_F1 (atanpi)
diff --git a/sysdeps/aarch64/fpu/atanpif_sve.c b/sysdeps/aarch64/fpu/atanpif_sve.c
new file mode 100644
index 0000000..2abd788
--- /dev/null
+++ b/sysdeps/aarch64/fpu/atanpif_sve.c
@@ -0,0 +1,89 @@
+/* Single-Precision vector (SVE) inverse tanpi function
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "sv_math.h"
+
+static const struct data
+{
+ float32_t c2, c4, c6, c8;
+ float32_t c0, c1, c3, c5, c7;
+ float32_t shift_val, neg_one;
+} data = {
+ /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on
+ [2**-128, 1.0]. */
+ .c0 = 0x1.45f306p-2, .c1 = -0x1.b2975ep-4, .c2 = 0x1.0490e4p-4,
+ .c3 = -0x1.70c272p-5, .c4 = 0x1.0eef52p-5, .c5 = -0x1.6abbbap-6,
+ .c6 = 0x1.78157p-7, .c7 = -0x1.f0b406p-9, .c8 = 0x1.2ae7fep-11,
+ .shift_val = 1.5f, .neg_one = -1.0f,
+};
+
+#define SignMask (0x80000000)
+
+/* Fast implementation of SVE atanpif based on
+ atan(x) ~ shift + z * P(z^2) with reduction to [0,1] using
+ z=-1/x and shift = 1/2.
+ Largest observed error is 2.59 ULP, close to +/-1.0:
+ _ZGVsMxv_atanpif(0x1.f2a89cp-1) got 0x1.f76524p-3
+ want 0x1.f7651ep-3. */
+svfloat32_t SV_NAME_F1 (atanpi) (svfloat32_t x, const svbool_t pg)
+{
+ const struct data *d = ptr_barrier (&data);
+ svbool_t ptrue = svptrue_b32 ();
+
+ /* No need to trigger special case. Small cases, infs and nans
+ are supported by our approximation technique. */
+ svuint32_t ix = svreinterpret_u32 (x);
+ svuint32_t sign = svand_x (pg, ix, SignMask);
+
+ /* Argument reduction:
+ y := arctan(x) for x < 1
+ y := arctan(-1/x) + 1/2 for x > +1
+ y := arctan(-1/x) - 1/2 for x < -1
+ Hence, use z=-1/a if |x|>=|-1|, otherwise z=a. */
+ svbool_t red = svacgt (pg, x, d->neg_one);
+ svfloat32_t z = svsel (red, svdiv_x (ptrue, sv_f32 (d->neg_one), x), x);
+
+ /* Reuse of -1.0f to reduce constant loads,
+ We need a shift value of 1/2, which is created via -1 + (1 + 1/2). */
+ svfloat32_t shift
+ = svadd_z (red, sv_f32 (d->neg_one), sv_f32 (d->shift_val));
+
+ /* Reinserts the sign bit of the argument to handle the case of x < -1. */
+ shift = svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (shift), sign));
+
+ svfloat32_t z2 = svmul_x (ptrue, z, z);
+ svfloat32_t z4 = svmul_x (ptrue, z2, z2);
+ svfloat32_t z8 = svmul_x (ptrue, z4, z4);
+
+ svfloat32_t even_coeffs = svld1rq (ptrue, &d->c2);
+
+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), z2, even_coeffs, 0);
+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), z2, even_coeffs, 1);
+ svfloat32_t p56 = svmla_lane (sv_f32 (d->c5), z2, even_coeffs, 2);
+ svfloat32_t p78 = svmla_lane (sv_f32 (d->c7), z2, even_coeffs, 3);
+
+ svfloat32_t p14 = svmad_x (pg, z4, p34, p12);
+ svfloat32_t p58 = svmad_x (pg, z4, p78, p56);
+
+ svfloat32_t p18 = svmad_x (pg, z8, p58, p14);
+ svfloat32_t y = svmad_x (pg, z2, p18, d->c0);
+
+ /* shift + z * P(z^2). */
+ return svmad_x (pg, y, z, shift);
+}
diff --git a/sysdeps/aarch64/fpu/bits/math-vector.h b/sysdeps/aarch64/fpu/bits/math-vector.h
index 5152c0d..77ae10d 100644
--- a/sysdeps/aarch64/fpu/bits/math-vector.h
+++ b/sysdeps/aarch64/fpu/bits/math-vector.h
@@ -37,6 +37,10 @@
# define __DECL_SIMD_acosh __DECL_SIMD_aarch64
# undef __DECL_SIMD_acoshf
# define __DECL_SIMD_acoshf __DECL_SIMD_aarch64
+# undef __DECL_SIMD_acospi
+# define __DECL_SIMD_acospi __DECL_SIMD_aarch64
+# undef __DECL_SIMD_acospif
+# define __DECL_SIMD_acospif __DECL_SIMD_aarch64
# undef __DECL_SIMD_asin
# define __DECL_SIMD_asin __DECL_SIMD_aarch64
# undef __DECL_SIMD_asinf
@@ -45,6 +49,10 @@
# define __DECL_SIMD_asinh __DECL_SIMD_aarch64
# undef __DECL_SIMD_asinhf
# define __DECL_SIMD_asinhf __DECL_SIMD_aarch64
+# undef __DECL_SIMD_asinpi
+# define __DECL_SIMD_asinpi __DECL_SIMD_aarch64
+# undef __DECL_SIMD_asinpif
+# define __DECL_SIMD_asinpif __DECL_SIMD_aarch64
# undef __DECL_SIMD_atan
# define __DECL_SIMD_atan __DECL_SIMD_aarch64
# undef __DECL_SIMD_atanf
@@ -53,10 +61,18 @@
# define __DECL_SIMD_atanh __DECL_SIMD_aarch64
# undef __DECL_SIMD_atanhf
# define __DECL_SIMD_atanhf __DECL_SIMD_aarch64
+# undef __DECL_SIMD_atanpi
+# define __DECL_SIMD_atanpi __DECL_SIMD_aarch64
+# undef __DECL_SIMD_atanpif
+# define __DECL_SIMD_atanpif __DECL_SIMD_aarch64
# undef __DECL_SIMD_atan2
# define __DECL_SIMD_atan2 __DECL_SIMD_aarch64
# undef __DECL_SIMD_atan2f
# define __DECL_SIMD_atan2f __DECL_SIMD_aarch64
+# undef __DECL_SIMD_atan2pi
+# define __DECL_SIMD_atan2pi __DECL_SIMD_aarch64
+# undef __DECL_SIMD_atan2pif
+# define __DECL_SIMD_atan2pif __DECL_SIMD_aarch64
# undef __DECL_SIMD_cbrt
# define __DECL_SIMD_cbrt __DECL_SIMD_aarch64
# undef __DECL_SIMD_cbrtf
@@ -176,12 +192,16 @@ typedef __SVBool_t __sv_bool_t;
# define __vpcs __attribute__ ((__aarch64_vector_pcs__))
__vpcs __f32x4_t _ZGVnN4vv_atan2f (__f32x4_t, __f32x4_t);
+__vpcs __f32x4_t _ZGVnN4vv_atan2pif (__f32x4_t, __f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_acosf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_acoshf (__f32x4_t);
+__vpcs __f32x4_t _ZGVnN4v_acospif (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_asinf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_asinhf (__f32x4_t);
+__vpcs __f32x4_t _ZGVnN4v_asinpif (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_atanf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_atanhf (__f32x4_t);
+__vpcs __f32x4_t _ZGVnN4v_atanpif (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_cbrtf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_coshf (__f32x4_t);
@@ -207,12 +227,16 @@ __vpcs __f32x4_t _ZGVnN4v_tanhf (__f32x4_t);
__vpcs __f32x4_t _ZGVnN4v_tanpif (__f32x4_t);
__vpcs __f64x2_t _ZGVnN2vv_atan2 (__f64x2_t, __f64x2_t);
+__vpcs __f64x2_t _ZGVnN2vv_atan2pi (__f64x2_t, __f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_acos (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_acosh (__f64x2_t);
+__vpcs __f64x2_t _ZGVnN2v_acospi (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_asin (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_asinh (__f64x2_t);
+__vpcs __f64x2_t _ZGVnN2v_asinpi (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_atan (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_atanh (__f64x2_t);
+__vpcs __f64x2_t _ZGVnN2v_atanpi (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_cbrt (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t);
__vpcs __f64x2_t _ZGVnN2v_cosh (__f64x2_t);
@@ -243,12 +267,16 @@ __vpcs __f64x2_t _ZGVnN2v_tanpi (__f64x2_t);
#ifdef __SVE_VEC_MATH_SUPPORTED
__sv_f32_t _ZGVsMxvv_atan2f (__sv_f32_t, __sv_f32_t, __sv_bool_t);
+__sv_f32_t _ZGVsMxvv_atan2pif (__sv_f32_t, __sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_acosf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_acoshf (__sv_f32_t, __sv_bool_t);
+__sv_f32_t _ZGVsMxv_acospif (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_asinf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_asinhf (__sv_f32_t, __sv_bool_t);
+__sv_f32_t _ZGVsMxv_asinpif (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_atanf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_atanhf (__sv_f32_t, __sv_bool_t);
+__sv_f32_t _ZGVsMxv_atanpif (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_cbrtf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_coshf (__sv_f32_t, __sv_bool_t);
@@ -274,12 +302,16 @@ __sv_f32_t _ZGVsMxv_tanhf (__sv_f32_t, __sv_bool_t);
__sv_f32_t _ZGVsMxv_tanpif (__sv_f32_t, __sv_bool_t);
__sv_f64_t _ZGVsMxvv_atan2 (__sv_f64_t, __sv_f64_t, __sv_bool_t);
+__sv_f64_t _ZGVsMxvv_atan2pi (__sv_f64_t, __sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_acos (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_acosh (__sv_f64_t, __sv_bool_t);
+__sv_f64_t _ZGVsMxv_acospi (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_asin (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_asinh (__sv_f64_t, __sv_bool_t);
+__sv_f64_t _ZGVsMxv_asinpi (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_atan (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_atanh (__sv_f64_t, __sv_bool_t);
+__sv_f64_t _ZGVsMxv_atanpi (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_cbrt (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t);
__sv_f64_t _ZGVsMxv_cosh (__sv_f64_t, __sv_bool_t);
diff --git a/sysdeps/aarch64/fpu/cosh_sve.c b/sysdeps/aarch64/fpu/cosh_sve.c
index 77e58e1..f5a163b 100644
--- a/sysdeps/aarch64/fpu/cosh_sve.c
+++ b/sysdeps/aarch64/fpu/cosh_sve.c
@@ -21,71 +21,99 @@
static const struct data
{
- float64_t poly[3];
- float64_t inv_ln2, ln2_hi, ln2_lo, shift, thres;
+ double c0, c2;
+ double c1, c3;
+ float64_t inv_ln2, ln2_hi, ln2_lo, shift;
uint64_t special_bound;
} data = {
- .poly = { 0x1.fffffffffffd4p-2, 0x1.5555571d6b68cp-3,
- 0x1.5555576a59599p-5, },
-
- .inv_ln2 = 0x1.71547652b82fep8, /* N/ln2. */
- /* -ln2/N. */
- .ln2_hi = -0x1.62e42fefa39efp-9,
- .ln2_lo = -0x1.abc9e3b39803f3p-64,
- .shift = 0x1.8p+52,
- .thres = 704.0,
-
- /* 0x1.6p9, above which exp overflows. */
- .special_bound = 0x4086000000000000,
+ /* Generated using Remez, in [-log(2)/128, log(2)/128]. */
+ .c0 = 0x1.fffffffffdbcdp-2,
+ .c1 = 0x1.555555555444cp-3,
+ .c2 = 0x1.555573c6a9f7dp-5,
+ .c3 = 0x1.1111266d28935p-7,
+ .ln2_hi = 0x1.62e42fefa3800p-1,
+ .ln2_lo = 0x1.ef35793c76730p-45,
+ /* 1/ln2. */
+ .inv_ln2 = 0x1.71547652b82fep+0,
+ .shift = 0x1.800000000ff80p+46, /* 1.5*2^46+1022. */
+
+ /* asuint(ln(2^(1024 - 1/128))), the value above which exp overflows. */
+ .special_bound = 0x40862e37e7d8ba72,
};
-static svfloat64_t NOINLINE
-special_case (svfloat64_t x, svbool_t pg, svfloat64_t t, svbool_t special)
-{
- svfloat64_t half_t = svmul_x (svptrue_b64 (), t, 0.5);
- svfloat64_t half_over_t = svdivr_x (pg, t, 0.5);
- svfloat64_t y = svadd_x (pg, half_t, half_over_t);
- return sv_call_f64 (cosh, x, y, special);
-}
-
-/* Helper for approximating exp(x). Copied from sv_exp_tail, with no
- special-case handling or tail. */
+/* Helper for approximating exp(x)/2.
+ Functionally identical to FEXPA exp(x), but an adjustment in
+ the shift value which leads to a reduction in the exponent of scale by 1,
+ thus halving the result at no cost. */
static inline svfloat64_t
-exp_inline (svfloat64_t x, const svbool_t pg, const struct data *d)
+exp_over_two_inline (const svbool_t pg, svfloat64_t x, const struct data *d)
{
/* Calculate exp(x). */
svfloat64_t z = svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2);
+ svuint64_t u = svreinterpret_u64 (z);
svfloat64_t n = svsub_x (pg, z, d->shift);
- svfloat64_t r = svmla_x (pg, x, n, d->ln2_hi);
- r = svmla_x (pg, r, n, d->ln2_lo);
+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1);
+ svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi);
- svuint64_t u = svreinterpret_u64 (z);
- svuint64_t e = svlsl_x (pg, u, 52 - V_EXP_TAIL_TABLE_BITS);
- svuint64_t i = svand_x (svptrue_b64 (), u, 0xff);
+ svfloat64_t r = x;
+ r = svmls_lane (r, n, ln2, 0);
+ r = svmls_lane (r, n, ln2, 1);
- svfloat64_t y = svmla_x (pg, sv_f64 (d->poly[1]), r, d->poly[2]);
- y = svmla_x (pg, sv_f64 (d->poly[0]), r, y);
- y = svmla_x (pg, sv_f64 (1.0), r, y);
- y = svmul_x (svptrue_b64 (), r, y);
+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r);
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), r, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), r, c13, 1);
+ svfloat64_t p04 = svmla_x (pg, p01, p23, r2);
+ svfloat64_t p = svmla_x (pg, r, p04, r2);
- /* s = 2^(n/N). */
- u = svld1_gather_index (pg, __v_exp_tail_data, i);
- svfloat64_t s = svreinterpret_f64 (svadd_x (pg, u, e));
+ svfloat64_t scale = svexpa (u);
- return svmla_x (pg, s, s, y);
+ return svmla_x (pg, scale, scale, p);
+}
+
+/* Vectorised special case to handle values past where exp_inline overflows.
+ Halves the input value and uses the identity exp(x) = exp(x/2)^2 to double
+ the valid range of inputs, and returns inf for anything past that. */
+static svfloat64_t NOINLINE
+special_case (svbool_t pg, svbool_t special, svfloat64_t ax, svfloat64_t t,
+ const struct data *d)
+{
+ /* Finish fast path to compute values for non-special cases. */
+ svfloat64_t inv_twoexp = svdivr_x (pg, t, 0.25);
+ svfloat64_t y = svadd_x (pg, t, inv_twoexp);
+
+ /* Halves input value, and then check if any cases
+ are still going to overflow. */
+ ax = svmul_x (special, ax, 0.5);
+ svbool_t is_safe
+ = svcmplt (special, svreinterpret_u64 (ax), d->special_bound);
+
+ /* Computes exp(x/2), and sets any overflowing lanes to inf. */
+ svfloat64_t half_exp = exp_over_two_inline (special, ax, d);
+ half_exp = svsel (is_safe, half_exp, sv_f64 (INFINITY));
+
+ /* Construct special case cosh(x) = (exp(x/2)^2)/2. */
+ svfloat64_t exp = svmul_x (svptrue_b64 (), half_exp, 2);
+ svfloat64_t special_y = svmul_x (special, exp, half_exp);
+
+ /* Select correct return values for special and non-special cases. */
+ special_y = svsel (special, special_y, y);
+
+ /* Ensure an input of nan is correctly propagated. */
+ svbool_t is_nan
+ = svcmpgt (special, svreinterpret_u64 (ax), sv_u64 (0x7ff0000000000000));
+ return svsel (is_nan, ax, svsel (special, special_y, y));
}
/* Approximation for SVE double-precision cosh(x) using exp_inline.
cosh(x) = (exp(x) + exp(-x)) / 2.
- The greatest observed error is in the scalar fall-back region, so is the
- same as the scalar routine, 1.93 ULP:
- _ZGVsMxv_cosh (0x1.628ad45039d2fp+9) got 0x1.fd774e958236dp+1021
- want 0x1.fd774e958236fp+1021.
-
- The greatest observed error in the non-special region is 1.54 ULP:
- _ZGVsMxv_cosh (0x1.ba5651dd4486bp+2) got 0x1.f5e2bb8d5c98fp+8
- want 0x1.f5e2bb8d5c991p+8. */
+ The greatest observed error in special case region is 2.66 + 0.5 ULP:
+ _ZGVsMxv_cosh (0x1.633b532ffbc1ap+9) got 0x1.f9b2d3d22399ep+1023
+ want 0x1.f9b2d3d22399bp+1023
+
+ The greatest observed error in the non-special region is 1.01 + 0.5 ULP:
+ _ZGVsMxv_cosh (0x1.998ecbb3c1f81p+1) got 0x1.890b225657f84p+3
+ want 0x1.890b225657f82p+3. */
svfloat64_t SV_NAME_D1 (cosh) (svfloat64_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
@@ -94,14 +122,13 @@ svfloat64_t SV_NAME_D1 (cosh) (svfloat64_t x, const svbool_t pg)
svbool_t special = svcmpgt (pg, svreinterpret_u64 (ax), d->special_bound);
/* Up to the point that exp overflows, we can use it to calculate cosh by
- exp(|x|) / 2 + 1 / (2 * exp(|x|)). */
- svfloat64_t t = exp_inline (ax, pg, d);
+ (exp(|x|)/2 + 1) / (2 * exp(|x|)). */
+ svfloat64_t half_exp = exp_over_two_inline (pg, ax, d);
- /* Fall back to scalar for any special cases. */
+ /* Falls back to entirely standalone vectorized special case. */
if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (x, pg, t, special);
+ return special_case (pg, special, ax, half_exp, d);
- svfloat64_t half_t = svmul_x (svptrue_b64 (), t, 0.5);
- svfloat64_t half_over_t = svdivr_x (pg, t, 0.5);
- return svadd_x (pg, half_t, half_over_t);
+ svfloat64_t inv_twoexp = svdivr_x (pg, half_exp, 0.25);
+ return svadd_x (pg, half_exp, inv_twoexp);
}
diff --git a/sysdeps/aarch64/fpu/exp10f_sve.c b/sysdeps/aarch64/fpu/exp10f_sve.c
index 1a74db2..f3e7f8b 100644
--- a/sysdeps/aarch64/fpu/exp10f_sve.c
+++ b/sysdeps/aarch64/fpu/exp10f_sve.c
@@ -19,26 +19,19 @@
#include "sv_math.h"
-/* For x < -Thres, the result is subnormal and not handled correctly by
- FEXPA. */
-#define Thres 37.9
+/* For x < -Thres (-log10(2^126)), the result is subnormal and not handled
+ correctly by FEXPA. */
+#define Thres 0x1.2f702p+5
static const struct data
{
- float log2_10_lo, c0, c2, c4;
- float c1, c3, log10_2;
- float shift, log2_10_hi, thres;
+ float log10_2, log2_10_hi, log2_10_lo, c1;
+ float c0, shift, thres;
} data = {
/* Coefficients generated using Remez algorithm with minimisation of relative
- error.
- rel error: 0x1.89dafa3p-24
- abs error: 0x1.167d55p-23 in [-log10(2)/2, log10(2)/2]
- maxerr: 0.52 +0.5 ulp. */
- .c0 = 0x1.26bb16p+1f,
- .c1 = 0x1.5350d2p+1f,
- .c2 = 0x1.04744ap+1f,
- .c3 = 0x1.2d8176p+0f,
- .c4 = 0x1.12b41ap-1f,
+ error. */
+ .c0 = 0x1.26bb62p1,
+ .c1 = 0x1.53524cp1,
/* 1.5*2^17 + 127, a shift value suitable for FEXPA. */
.shift = 0x1.803f8p17f,
.log10_2 = 0x1.a934fp+1,
@@ -53,28 +46,23 @@ sv_exp10f_inline (svfloat32_t x, const svbool_t pg, const struct data *d)
/* exp10(x) = 2^(n/N) * 10^r = 2^n * (1 + poly (r)),
with poly(r) in [1/sqrt(2), sqrt(2)] and
x = r + n * log10(2) / N, with r in [-log10(2)/2N, log10(2)/2N]. */
-
- svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->log2_10_lo);
+ svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->log10_2);
/* n = round(x/(log10(2)/N)). */
svfloat32_t shift = sv_f32 (d->shift);
- svfloat32_t z = svmad_x (pg, sv_f32 (d->log10_2), x, shift);
- svfloat32_t n = svsub_x (svptrue_b32 (), z, shift);
+ svfloat32_t z = svmla_lane (shift, x, lane_consts, 0);
+ svfloat32_t n = svsub_x (pg, z, shift);
/* r = x - n*log10(2)/N. */
- svfloat32_t r = svmsb_x (pg, sv_f32 (d->log2_10_hi), n, x);
- r = svmls_lane (r, n, lane_consts, 0);
+ svfloat32_t r = x;
+ r = svmls_lane (r, n, lane_consts, 1);
+ r = svmls_lane (r, n, lane_consts, 2);
svfloat32_t scale = svexpa (svreinterpret_u32 (z));
/* Polynomial evaluation: poly(r) ~ exp10(r)-1. */
- svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2);
- svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3);
- svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r);
- svfloat32_t p14 = svmla_x (pg, p12, p34, r2);
- svfloat32_t p0 = svmul_lane (r, lane_consts, 1);
- svfloat32_t poly = svmla_x (pg, p0, r2, p14);
-
+ svfloat32_t poly = svmla_lane (sv_f32 (d->c0), r, lane_consts, 3);
+ poly = svmul_x (pg, poly, r);
return svmla_x (pg, scale, scale, poly);
}
@@ -85,11 +73,10 @@ special_case (svfloat32_t x, svbool_t special, const struct data *d)
special);
}
-/* Single-precision SVE exp10f routine. Implements the same algorithm
- as AdvSIMD exp10f.
- Worst case error is 1.02 ULPs.
- _ZGVsMxv_exp10f(-0x1.040488p-4) got 0x1.ba5f9ep-1
- want 0x1.ba5f9cp-1. */
+/* Single-precision SVE exp10f routine. Based on the FEXPA instruction.
+ Worst case error is 1.10 ULP.
+ _ZGVsMxv_exp10f (0x1.cc76dep+3) got 0x1.be0172p+47
+ want 0x1.be017p+47. */
svfloat32_t SV_NAME_F1 (exp10) (svfloat32_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
diff --git a/sysdeps/aarch64/fpu/exp2_sve.c b/sysdeps/aarch64/fpu/exp2_sve.c
index 6db8526..c135852 100644
--- a/sysdeps/aarch64/fpu/exp2_sve.c
+++ b/sysdeps/aarch64/fpu/exp2_sve.c
@@ -19,23 +19,21 @@
#include "sv_math.h"
-#define N (1 << V_EXP_TABLE_BITS)
-
#define BigBound 1022
#define UOFlowBound 1280
static const struct data
{
- double c0, c2;
- double c1, c3;
+ double c2, c4;
+ double c0, c1, c3;
double shift, big_bound, uoflow_bound;
} data = {
/* Coefficients are computed using Remez algorithm with
minimisation of the absolute error. */
- .c0 = 0x1.62e42fefa3686p-1, .c1 = 0x1.ebfbdff82c241p-3,
- .c2 = 0x1.c6b09b16de99ap-5, .c3 = 0x1.3b2abf5571ad8p-7,
- .shift = 0x1.8p52 / N, .uoflow_bound = UOFlowBound,
- .big_bound = BigBound,
+ .c0 = 0x1.62e42fefa39efp-1, .c1 = 0x1.ebfbdff82a31bp-3,
+ .c2 = 0x1.c6b08d706c8a5p-5, .c3 = 0x1.3b2ad2ff7d2f3p-7,
+ .c4 = 0x1.5d8761184beb3p-10, .shift = 0x1.800000000ffc0p+46,
+ .uoflow_bound = UOFlowBound, .big_bound = BigBound,
};
#define SpecialOffset 0x6000000000000000 /* 0x1p513. */
@@ -64,50 +62,52 @@ special_case (svbool_t pg, svfloat64_t s, svfloat64_t y, svfloat64_t n,
svadd_x (pg, svsub_x (pg, svreinterpret_u64 (s), SpecialBias2), b));
/* |n| > 1280 => 2^(n) overflows. */
- svbool_t p_cmp = svacgt (pg, n, d->uoflow_bound);
+ svbool_t p_cmp = svacle (pg, n, d->uoflow_bound);
svfloat64_t r1 = svmul_x (svptrue_b64 (), s1, s1);
svfloat64_t r2 = svmla_x (pg, s2, s2, y);
svfloat64_t r0 = svmul_x (svptrue_b64 (), r2, s1);
- return svsel (p_cmp, r1, r0);
+ return svsel (p_cmp, r0, r1);
}
/* Fast vector implementation of exp2.
- Maximum measured error is 1.65 ulp.
- _ZGVsMxv_exp2(-0x1.4c264ab5b559bp-6) got 0x1.f8db0d4df721fp-1
- want 0x1.f8db0d4df721dp-1. */
+ Maximum measured error is 0.52 + 0.5 ulp.
+ _ZGVsMxv_exp2 (0x1.3b72ad5b701bfp-1) got 0x1.8861641b49e08p+0
+ want 0x1.8861641b49e07p+0. */
svfloat64_t SV_NAME_D1 (exp2) (svfloat64_t x, svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
- svbool_t no_big_scale = svacle (pg, x, d->big_bound);
- svbool_t special = svnot_z (pg, no_big_scale);
-
- /* Reduce x to k/N + r, where k is integer and r in [-1/2N, 1/2N]. */
- svfloat64_t shift = sv_f64 (d->shift);
- svfloat64_t kd = svadd_x (pg, x, shift);
- svuint64_t ki = svreinterpret_u64 (kd);
- /* kd = k/N. */
- kd = svsub_x (pg, kd, shift);
- svfloat64_t r = svsub_x (pg, x, kd);
-
- /* scale ~= 2^(k/N). */
- svuint64_t idx = svand_x (pg, ki, N - 1);
- svuint64_t sbits = svld1_gather_index (pg, __v_exp_data, idx);
- /* This is only a valid scale when -1023*N < k < 1024*N. */
- svuint64_t top = svlsl_x (pg, ki, 52 - V_EXP_TABLE_BITS);
- svfloat64_t scale = svreinterpret_f64 (svadd_x (pg, sbits, top));
-
- svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1);
- /* Approximate exp2(r) using polynomial. */
- /* y = exp2(r) - 1 ~= C0 r + C1 r^2 + C2 r^3 + C3 r^4. */
+ svbool_t special = svacge (pg, x, d->big_bound);
+
+ svfloat64_t z = svadd_x (svptrue_b64 (), x, d->shift);
+ svfloat64_t n = svsub_x (svptrue_b64 (), z, d->shift);
+ svfloat64_t r = svsub_x (svptrue_b64 (), x, n);
+
+ svfloat64_t scale = svexpa (svreinterpret_u64 (z));
+
svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r);
- svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), r, c13, 0);
- svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), r, c13, 1);
- svfloat64_t p = svmla_x (pg, p01, p23, r2);
+ svfloat64_t c24 = svld1rq (svptrue_b64 (), &d->c2);
+
+ /* Approximate exp2(r) using polynomial. */
+ /* y = exp2(r) - 1 ~= r * (C0 + C1 r + C2 r^2 + C3 r^3 + C4 r^4). */
+ svfloat64_t p12 = svmla_lane (sv_f64 (d->c1), r, c24, 0);
+ svfloat64_t p34 = svmla_lane (sv_f64 (d->c3), r, c24, 1);
+ svfloat64_t p = svmla_x (pg, p12, p34, r2);
+ p = svmad_x (pg, p, r, d->c0);
svfloat64_t y = svmul_x (svptrue_b64 (), r, p);
+
/* Assemble exp2(x) = exp2(r) * scale. */
if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (pg, scale, y, kd, d);
+ {
+ /* FEXPA zeroes the sign bit, however the sign is meaningful to the
+ special case function so needs to be copied.
+ e = sign bit of u << 46. */
+ svuint64_t e = svand_x (pg, svlsl_x (pg, svreinterpret_u64 (z), 46),
+ 0x8000000000000000);
+ scale = svreinterpret_f64 (svadd_x (pg, e, svreinterpret_u64 (scale)));
+ return special_case (pg, scale, y, n, d);
+ }
+
return svmla_x (pg, scale, scale, y);
}
diff --git a/sysdeps/aarch64/fpu/exp2f_sve.c b/sysdeps/aarch64/fpu/exp2f_sve.c
index fcd7830..989cefb 100644
--- a/sysdeps/aarch64/fpu/exp2f_sve.c
+++ b/sysdeps/aarch64/fpu/exp2f_sve.c
@@ -18,21 +18,17 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f32.h"
#define Thres 0x1.5d5e2ap+6f
static const struct data
{
- float c0, c2, c4, c1, c3;
- float shift, thres;
+ float c0, c1, shift, thres;
} data = {
- /* Coefficients copied from the polynomial in AdvSIMD variant. */
- .c0 = 0x1.62e422p-1f,
- .c1 = 0x1.ebf9bcp-3f,
- .c2 = 0x1.c6bd32p-5f,
- .c3 = 0x1.3ce9e4p-7f,
- .c4 = 0x1.59977ap-10f,
+ /* Coefficients generated using Remez algorithm with minimisation of relative
+ error. */
+ .c0 = 0x1.62e485p-1,
+ .c1 = 0x1.ebfbe0p-3,
/* 1.5*2^17 + 127. */
.shift = 0x1.803f8p17f,
/* Roughly 87.3. For x < -Thres, the result is subnormal and not handled
@@ -51,16 +47,8 @@ sv_exp2f_inline (svfloat32_t x, const svbool_t pg, const struct data *d)
svfloat32_t scale = svexpa (svreinterpret_u32 (z));
- /* Polynomial evaluation: poly(r) ~ exp2(r)-1.
- Evaluate polynomial use hybrid scheme - offset ESTRIN by 1 for
- coefficients 1 to 4, and apply most significant coefficient directly. */
- svfloat32_t even_coeffs = svld1rq (svptrue_b32 (), &d->c0);
- svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r);
- svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, even_coeffs, 1);
- svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, even_coeffs, 2);
- svfloat32_t p14 = svmla_x (pg, p12, r2, p34);
- svfloat32_t p0 = svmul_lane (r, even_coeffs, 0);
- svfloat32_t poly = svmla_x (pg, p0, r2, p14);
+ svfloat32_t poly = svmla_x (pg, sv_f32 (d->c0), r, sv_f32 (d->c1));
+ poly = svmul_x (svptrue_b32 (), poly, r);
return svmla_x (pg, scale, scale, poly);
}
@@ -72,11 +60,10 @@ special_case (svfloat32_t x, svbool_t special, const struct data *d)
special);
}
-/* Single-precision SVE exp2f routine. Implements the same algorithm
- as AdvSIMD exp2f.
- Worst case error is 1.04 ULPs.
- _ZGVsMxv_exp2f(-0x1.af994ap-3) got 0x1.ba6a66p-1
- want 0x1.ba6a64p-1. */
+/* Single-precision SVE exp2f routine, based on the FEXPA instruction.
+ Worst case error is 1.09 ULPs.
+ _ZGVsMxv_exp2f (0x1.9a2a94p-1) got 0x1.be1054p+0
+ want 0x1.be1052p+0. */
svfloat32_t SV_NAME_F1 (exp2) (svfloat32_t x, const svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
diff --git a/sysdeps/aarch64/fpu/expm1_sve.c b/sysdeps/aarch64/fpu/expm1_sve.c
index d4ba8cc..b1d940b 100644
--- a/sysdeps/aarch64/fpu/expm1_sve.c
+++ b/sysdeps/aarch64/fpu/expm1_sve.c
@@ -18,82 +18,164 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
-#define SpecialBound 0x1.62b7d369a5aa9p+9
-#define ExponentBias 0x3ff0000000000000
+#define FexpaBound 0x1.4cb5ecef28adap-3 /* 15*ln2/64. */
+#define SpecialBound 0x1.628c2855bfaddp+9 /* ln(2^(1023 + 1/128)). */
static const struct data
{
- double poly[11];
- double shift, inv_ln2, special_bound;
- /* To be loaded in one quad-word. */
+ double c2, c4;
+ double inv_ln2;
double ln2_hi, ln2_lo;
+ double c0, c1, c3;
+ double shift, thres;
+ uint64_t expm1_data[32];
} data = {
- /* Generated using fpminimax. */
- .poly = { 0x1p-1, 0x1.5555555555559p-3, 0x1.555555555554bp-5,
- 0x1.111111110f663p-7, 0x1.6c16c16c1b5f3p-10, 0x1.a01a01affa35dp-13,
- 0x1.a01a018b4ecbbp-16, 0x1.71ddf82db5bb4p-19, 0x1.27e517fc0d54bp-22,
- 0x1.af5eedae67435p-26, 0x1.1f143d060a28ap-29, },
-
- .special_bound = SpecialBound,
- .inv_ln2 = 0x1.71547652b82fep0,
- .ln2_hi = 0x1.62e42fefa39efp-1,
- .ln2_lo = 0x1.abc9e3b39803fp-56,
- .shift = 0x1.8p52,
+ /* Table emulating FEXPA - 1, for values of FEXPA close to 1.
+ The table holds values of 2^(i/64) - 1, computed in arbitrary precision.
+ The first half of the table stores values associated to i from 0 to 15.
+ The second half of the table stores values associated to i from 0 to -15. */
+ .expm1_data = {
+ 0x0000000000000000, 0x3f864d1f3bc03077, 0x3f966c34c5615d0f, 0x3fa0e8a30eb37901,
+ 0x3fa6ab0d9f3121ec, 0x3fac7d865a7a3440, 0x3fb1301d0125b50a, 0x3fb429aaea92ddfb,
+ 0x3fb72b83c7d517ae, 0x3fba35beb6fcb754, 0x3fbd4873168b9aa8, 0x3fc031dc431466b2,
+ 0x3fc1c3d373ab11c3, 0x3fc35a2b2f13e6e9, 0x3fc4f4efa8fef709, 0x3fc6942d3720185a,
+ 0x0000000000000000, 0xbfc331751ec3a814, 0xbfc20224341286e4, 0xbfc0cf85bed0f8b7,
+ 0xbfbf332113d56b1f, 0xbfbcc0768d4175a6, 0xbfba46f918837cb7, 0xbfb7c695afc3b424,
+ 0xbfb53f391822dbc7, 0xbfb2b0cfe1266bd4, 0xbfb01b466423250a, 0xbfaafd11874c009e,
+ 0xbfa5b505d5b6f268, 0xbfa05e4119ea5d89, 0xbf95f134923757f3, 0xbf860f9f985bc9f4,
+ },
+
+ /* Generated using Remez, in [-log(2)/128, log(2)/128]. */
+ .c0 = 0x1p-1,
+ .c1 = 0x1.55555555548f9p-3,
+ .c2 = 0x1.5555555554c22p-5,
+ .c3 = 0x1.111123aaa2fb2p-7,
+ .c4 = 0x1.6c16d77d98e5bp-10,
+ .ln2_hi = 0x1.62e42fefa3800p-1,
+ .ln2_lo = 0x1.ef35793c76730p-45,
+ .inv_ln2 = 0x1.71547652b82fep+0,
+ .shift = 0x1.800000000ffc0p+46, /* 1.5*2^46+1023. */
+ .thres = SpecialBound,
};
-static svfloat64_t NOINLINE
-special_case (svfloat64_t x, svfloat64_t y, svbool_t pg)
+#define SpecialOffset 0x6000000000000000 /* 0x1p513. */
+/* SpecialBias1 + SpecialBias1 = asuint(1.0). */
+#define SpecialBias1 0x7000000000000000 /* 0x1p769. */
+#define SpecialBias2 0x3010000000000000 /* 0x1p-254. */
+
+static NOINLINE svfloat64_t
+special_case (svbool_t pg, svfloat64_t y, svfloat64_t s, svfloat64_t p,
+ svfloat64_t n)
{
- return sv_call_f64 (expm1, x, y, pg);
+ /* s=2^n may overflow, break it up into s=s1*s2,
+ such that exp = s + s*y can be computed as s1*(s2+s2*y)
+ and s1*s1 overflows only if n>0. */
+
+ /* If n<=0 then set b to 0x6, 0 otherwise. */
+ svbool_t p_sign = svcmple (pg, n, 0.0); /* n <= 0. */
+ svuint64_t b
+ = svdup_u64_z (p_sign, SpecialOffset); /* Inactive lanes set to 0. */
+
+ /* Set s1 to generate overflow depending on sign of exponent n,
+ ie. s1 = 0x70...0 - b. */
+ svfloat64_t s1 = svreinterpret_f64 (svsubr_x (pg, b, SpecialBias1));
+ /* Offset s to avoid overflow in final result if n is below threshold.
+ ie. s2 = as_u64 (s) - 0x3010...0 + b. */
+ svfloat64_t s2 = svreinterpret_f64 (
+ svadd_x (pg, svsub_x (pg, svreinterpret_u64 (s), SpecialBias2), b));
+
+ /* |n| > 1280 => 2^(n) overflows. */
+ svbool_t p_cmp = svacgt (pg, n, 1280.0);
+
+ svfloat64_t r1 = svmul_x (svptrue_b64 (), s1, s1);
+ svfloat64_t r2 = svmla_x (pg, s2, s2, p);
+ svfloat64_t r0 = svmul_x (svptrue_b64 (), r2, s1);
+
+ svbool_t is_safe = svacle (pg, n, 1023); /* Only correct special lanes. */
+ return svsel (is_safe, y, svsub_x (pg, svsel (p_cmp, r1, r0), 1.0));
}
-/* Double-precision vector exp(x) - 1 function.
- The maximum error observed error is 2.18 ULP:
- _ZGVsMxv_expm1(0x1.634ba0c237d7bp-2) got 0x1.a8b9ea8d66e22p-2
- want 0x1.a8b9ea8d66e2p-2. */
+/* FEXPA based SVE expm1 algorithm.
+ Maximum measured error is 2.81 + 0.5 ULP:
+ _ZGVsMxv_expm1 (0x1.974060e619bfp-3) got 0x1.c290e5858bb53p-3
+ want 0x1.c290e5858bb5p-3. */
svfloat64_t SV_NAME_D1 (expm1) (svfloat64_t x, svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
- /* Large, Nan/Inf. */
- svbool_t special = svnot_z (pg, svaclt (pg, x, d->special_bound));
-
- /* Reduce argument to smaller range:
- Let i = round(x / ln2)
- and f = x - i * ln2, then f is in [-ln2/2, ln2/2].
- exp(x) - 1 = 2^i * (expm1(f) + 1) - 1
- where 2^i is exact because i is an integer. */
- svfloat64_t shift = sv_f64 (d->shift);
- svfloat64_t n = svsub_x (pg, svmla_x (pg, shift, x, d->inv_ln2), shift);
- svint64_t i = svcvt_s64_x (pg, n);
- svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi);
- svfloat64_t f = svmls_lane (x, n, ln2, 0);
- f = svmls_lane (f, n, ln2, 1);
-
- /* Approximate expm1(f) using polynomial.
- Taylor expansion for expm1(x) has the form:
- x + ax^2 + bx^3 + cx^4 ....
- So we calculate the polynomial P(f) = a + bf + cf^2 + ...
- and assemble the approximation expm1(f) ~= f + f^2 * P(f). */
- svfloat64_t f2 = svmul_x (pg, f, f);
- svfloat64_t f4 = svmul_x (pg, f2, f2);
- svfloat64_t f8 = svmul_x (pg, f4, f4);
- svfloat64_t p
- = svmla_x (pg, f, f2, sv_estrin_10_f64_x (pg, f, f2, f4, f8, d->poly));
-
- /* Assemble the result.
- expm1(x) ~= 2^i * (p + 1) - 1
- Let t = 2^i. */
- svint64_t u = svadd_x (pg, svlsl_x (pg, i, 52), ExponentBias);
- svfloat64_t t = svreinterpret_f64 (u);
-
- /* expm1(x) ~= p * t + (t - 1). */
- svfloat64_t y = svmla_x (pg, svsub_x (pg, t, 1), p, t);
+ svbool_t special = svacgt (pg, x, d->thres);
- if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (x, y, special);
+ svfloat64_t z = svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2);
+ svuint64_t u = svreinterpret_u64 (z);
+ svfloat64_t n = svsub_x (pg, z, d->shift);
+ /* r = x - n * ln2, r is in [-ln2/128, ln2/128]. */
+ svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi);
+ svfloat64_t r = x;
+ r = svmls_lane (r, n, ln2, 0);
+ r = svmls_lane (r, n, ln2, 1);
+
+ /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5 + C4 r^6. */
+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r);
+ svfloat64_t c24 = svld1rq (svptrue_b64 (), &d->c2);
+
+ svfloat64_t p;
+ svfloat64_t c12 = svmla_lane (sv_f64 (d->c1), r, c24, 0);
+ svfloat64_t c34 = svmla_lane (sv_f64 (d->c3), r, c24, 1);
+ p = svmad_x (pg, c34, r2, c12);
+ p = svmad_x (pg, p, r, sv_f64 (d->c0));
+ p = svmad_x (pg, p, r2, r);
+
+ svfloat64_t scale = svexpa (u);
+ svfloat64_t scalem1 = svsub_x (pg, scale, sv_f64 (1.0));
+
+ /* We want to construct expm1(x) = (scale - 1) + scale * poly.
+ However, for values of scale close to 1, scale-1 causes large ULP errors
+ due to cancellation.
+
+ This can be circumvented by using a small lookup for scale-1
+ when our input is below a certain bound, otherwise we can use FEXPA.
+
+ This bound is based upon the table size:
+ Bound = (TableSize-1/64) * ln2.
+ The current bound is based upon a table size of 16. */
+ svbool_t is_small = svaclt (pg, x, FexpaBound);
+
+ if (svptest_any (pg, is_small))
+ {
+ /* Index via the input of FEXPA, but we only care about the lower 4 bits.
+ */
+ svuint64_t base_idx = svand_x (pg, u, 0xf);
+
+ /* We can use the sign of x as a fifth bit to account for the asymmetry
+ of e^x around 0. */
+ svuint64_t signBit
+ = svlsl_x (pg, svlsr_x (pg, svreinterpret_u64 (x), 63), 4);
+ svuint64_t idx = svorr_x (pg, base_idx, signBit);
+
+ /* Lookup values for scale - 1 for small x. */
+ svfloat64_t lookup = svreinterpret_f64 (
+ svld1_gather_index (is_small, d->expm1_data, idx));
+
+ /* Select the appropriate scale - 1 value based on x. */
+ scalem1 = svsel (is_small, lookup, scalem1);
+ }
+
+ svfloat64_t y = svmla_x (pg, scalem1, scale, p);
+
+ /* FEXPA returns nan for large inputs so we special case those. */
+ if (__glibc_unlikely (svptest_any (pg, special)))
+ {
+ /* FEXPA zeroes the sign bit, however the sign is meaningful to the
+ special case function so needs to be copied.
+ e = sign bit of u << 46. */
+ svuint64_t e = svand_x (pg, svlsl_x (pg, u, 46), 0x8000000000000000);
+ /* Copy sign to s. */
+ scale = svreinterpret_f64 (svadd_x (pg, e, svreinterpret_u64 (scale)));
+ return special_case (pg, y, scale, p, n);
+ }
+
+ /* return expm1 = (scale - 1) + (scale * poly). */
return y;
}
diff --git a/sysdeps/aarch64/fpu/log1p_sve.c b/sysdeps/aarch64/fpu/log1p_sve.c
index 862c13f..821c078 100644
--- a/sysdeps/aarch64/fpu/log1p_sve.c
+++ b/sysdeps/aarch64/fpu/log1p_sve.c
@@ -22,19 +22,33 @@
static const struct data
{
- double poly[19];
+ float64_t c0, c2, c4, c6, c8, c10, c12, c14, c16;
+ float64_t c1, c3, c5, c7, c9, c11, c13, c15, c17, c18;
double ln2_hi, ln2_lo;
uint64_t hfrt2_top, onemhfrt2_top, inf, mone;
} data = {
/* Generated using Remez in [ sqrt(2)/2 - 1, sqrt(2) - 1]. Order 20
- polynomial, however first 2 coefficients are 0 and 1 so are not stored. */
- .poly = { -0x1.ffffffffffffbp-2, 0x1.55555555551a9p-2, -0x1.00000000008e3p-2,
- 0x1.9999999a32797p-3, -0x1.555555552fecfp-3, 0x1.249248e071e5ap-3,
- -0x1.ffffff8bf8482p-4, 0x1.c71c8f07da57ap-4, -0x1.9999ca4ccb617p-4,
- 0x1.7459ad2e1dfa3p-4, -0x1.554d2680a3ff2p-4, 0x1.3b4c54d487455p-4,
- -0x1.2548a9ffe80e6p-4, 0x1.0f389a24b2e07p-4, -0x1.eee4db15db335p-5,
- 0x1.e95b494d4a5ddp-5, -0x1.15fdf07cb7c73p-4, 0x1.0310b70800fcfp-4,
- -0x1.cfa7385bdb37ep-6, },
+ polynomial, however first 2 coefficients are 0 and 1 so are not
+ stored. */
+ .c0 = -0x1.ffffffffffffbp-2,
+ .c1 = 0x1.55555555551a9p-2,
+ .c2 = -0x1.00000000008e3p-2,
+ .c3 = 0x1.9999999a32797p-3,
+ .c4 = -0x1.555555552fecfp-3,
+ .c5 = 0x1.249248e071e5ap-3,
+ .c6 = -0x1.ffffff8bf8482p-4,
+ .c7 = 0x1.c71c8f07da57ap-4,
+ .c8 = -0x1.9999ca4ccb617p-4,
+ .c9 = 0x1.7459ad2e1dfa3p-4,
+ .c10 = -0x1.554d2680a3ff2p-4,
+ .c11 = 0x1.3b4c54d487455p-4,
+ .c12 = -0x1.2548a9ffe80e6p-4,
+ .c13 = 0x1.0f389a24b2e07p-4,
+ .c14 = -0x1.eee4db15db335p-5,
+ .c15 = 0x1.e95b494d4a5ddp-5,
+ .c16 = -0x1.15fdf07cb7c73p-4,
+ .c17 = 0x1.0310b70800fcfp-4,
+ .c18 = -0x1.cfa7385bdb37ep-6,
.ln2_hi = 0x1.62e42fefa3800p-1,
.ln2_lo = 0x1.ef35793c76730p-45,
/* top32(asuint64(sqrt(2)/2)) << 32. */
@@ -49,7 +63,7 @@ static const struct data
#define BottomMask 0xffffffff
static svfloat64_t NOINLINE
-special_case (svbool_t special, svfloat64_t x, svfloat64_t y)
+special_case (svfloat64_t x, svfloat64_t y, svbool_t special)
{
return sv_call_f64 (log1p, x, y, special);
}
@@ -91,8 +105,9 @@ svfloat64_t SV_NAME_D1 (log1p) (svfloat64_t x, svbool_t pg)
/* Reduce x to f in [sqrt(2)/2, sqrt(2)]. */
svuint64_t utop
= svadd_x (pg, svand_x (pg, u, 0x000fffff00000000), d->hfrt2_top);
- svuint64_t u_red = svorr_x (pg, utop, svand_x (pg, mi, BottomMask));
- svfloat64_t f = svsub_x (pg, svreinterpret_f64 (u_red), 1);
+ svuint64_t u_red
+ = svorr_x (pg, utop, svand_x (svptrue_b64 (), mi, BottomMask));
+ svfloat64_t f = svsub_x (svptrue_b64 (), svreinterpret_f64 (u_red), 1);
/* Correction term c/m. */
svfloat64_t cm = svdiv_x (pg, svsub_x (pg, x, svsub_x (pg, m, 1)), m);
@@ -103,18 +118,49 @@ svfloat64_t SV_NAME_D1 (log1p) (svfloat64_t x, svbool_t pg)
Hence approximation has the form f + f^2 * P(f)
where P(x) = C0 + C1*x + C2x^2 + ...
Assembling this all correctly is dealt with at the final step. */
- svfloat64_t f2 = svmul_x (pg, f, f), f4 = svmul_x (pg, f2, f2),
- f8 = svmul_x (pg, f4, f4), f16 = svmul_x (pg, f8, f8);
- svfloat64_t p = sv_estrin_18_f64_x (pg, f, f2, f4, f8, f16, d->poly);
+ svfloat64_t f2 = svmul_x (svptrue_b64 (), f, f),
+ f4 = svmul_x (svptrue_b64 (), f2, f2),
+ f8 = svmul_x (svptrue_b64 (), f4, f4),
+ f16 = svmul_x (svptrue_b64 (), f8, f8);
+
+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1);
+ svfloat64_t c57 = svld1rq (svptrue_b64 (), &d->c5);
+ svfloat64_t c911 = svld1rq (svptrue_b64 (), &d->c9);
+ svfloat64_t c1315 = svld1rq (svptrue_b64 (), &d->c13);
+ svfloat64_t c1718 = svld1rq (svptrue_b64 (), &d->c17);
+
+ /* Order-18 Estrin scheme. */
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), f, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), f, c13, 1);
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), f, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), f, c57, 1);
+
+ svfloat64_t p03 = svmla_x (pg, p01, f2, p23);
+ svfloat64_t p47 = svmla_x (pg, p45, f2, p67);
+ svfloat64_t p07 = svmla_x (pg, p03, f4, p47);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), f, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), f, c911, 1);
+ svfloat64_t p1213 = svmla_lane (sv_f64 (d->c12), f, c1315, 0);
+ svfloat64_t p1415 = svmla_lane (sv_f64 (d->c14), f, c1315, 1);
+
+ svfloat64_t p811 = svmla_x (pg, p89, f2, p1011);
+ svfloat64_t p1215 = svmla_x (pg, p1213, f2, p1415);
+ svfloat64_t p815 = svmla_x (pg, p811, f4, p1215);
+
+ svfloat64_t p015 = svmla_x (pg, p07, f8, p815);
+ svfloat64_t p1617 = svmla_lane (sv_f64 (d->c16), f, c1718, 0);
+ svfloat64_t p1618 = svmla_lane (p1617, f2, c1718, 1);
+ svfloat64_t p = svmla_x (pg, p015, f16, p1618);
svfloat64_t ylo = svmla_x (pg, cm, k, d->ln2_lo);
svfloat64_t yhi = svmla_x (pg, f, k, d->ln2_hi);
- svfloat64_t y = svmla_x (pg, svadd_x (pg, ylo, yhi), f2, p);
if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (special, x, y);
-
- return y;
+ return special_case (
+ x, svmla_x (svptrue_b64 (), svadd_x (svptrue_b64 (), ylo, yhi), f2, p),
+ special);
+ return svmla_x (svptrue_b64 (), svadd_x (svptrue_b64 (), ylo, yhi), f2, p);
}
strong_alias (SV_NAME_D1 (log1p), SV_NAME_D1 (logp1))
diff --git a/sysdeps/aarch64/fpu/sinh_sve.c b/sysdeps/aarch64/fpu/sinh_sve.c
index 963453f..072ba8f 100644
--- a/sysdeps/aarch64/fpu/sinh_sve.c
+++ b/sysdeps/aarch64/fpu/sinh_sve.c
@@ -18,90 +18,153 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[11];
- float64_t inv_ln2, m_ln2_hi, m_ln2_lo, shift;
uint64_t halff;
- int64_t onef;
- uint64_t large_bound;
+ double c2, c4;
+ double inv_ln2;
+ double ln2_hi, ln2_lo;
+ double c0, c1, c3;
+ double shift, special_bound, bound;
+ uint64_t expm1_data[20];
} data = {
- /* Generated using Remez, deg=12 in [-log(2)/2, log(2)/2]. */
- .poly = { 0x1p-1, 0x1.5555555555559p-3, 0x1.555555555554bp-5,
- 0x1.111111110f663p-7, 0x1.6c16c16c1b5f3p-10,
- 0x1.a01a01affa35dp-13, 0x1.a01a018b4ecbbp-16,
- 0x1.71ddf82db5bb4p-19, 0x1.27e517fc0d54bp-22,
- 0x1.af5eedae67435p-26, 0x1.1f143d060a28ap-29, },
-
- .inv_ln2 = 0x1.71547652b82fep0,
- .m_ln2_hi = -0x1.62e42fefa39efp-1,
- .m_ln2_lo = -0x1.abc9e3b39803fp-56,
- .shift = 0x1.8p52,
-
+ /* Table lookup of 2^(i/64) - 1, for values of i from 0..19. */
+ .expm1_data = {
+ 0x0000000000000000, 0x3f864d1f3bc03077, 0x3f966c34c5615d0f, 0x3fa0e8a30eb37901,
+ 0x3fa6ab0d9f3121ec, 0x3fac7d865a7a3440, 0x3fb1301d0125b50a, 0x3fb429aaea92ddfb,
+ 0x3fb72b83c7d517ae, 0x3fba35beb6fcb754, 0x3fbd4873168b9aa8, 0x3fc031dc431466b2,
+ 0x3fc1c3d373ab11c3, 0x3fc35a2b2f13e6e9, 0x3fc4f4efa8fef709, 0x3fc6942d3720185a,
+ 0x3fc837f0518db8a9, 0x3fc9e0459320b7fa, 0x3fcb8d39b9d54e55, 0x3fcd3ed9a72cffb7,
+ },
+
+ /* Generated using Remez, in [-log(2)/128, log(2)/128]. */
+ .c0 = 0x1p-1,
+ .c1 = 0x1.55555555548f9p-3,
+ .c2 = 0x1.5555555554c22p-5,
+ .c3 = 0x1.111123aaa2fb2p-7,
+ .c4 = 0x1.6c16d77d98e5bp-10,
+ .ln2_hi = 0x1.62e42fefa3800p-1,
+ .ln2_lo = 0x1.ef35793c76730p-45,
+ .inv_ln2 = 0x1.71547652b82fep+0,
+ .shift = 0x1.800000000ffc0p+46, /* 1.5*2^46+1023. */
.halff = 0x3fe0000000000000,
- .onef = 0x3ff0000000000000,
- /* 2^9. expm1 helper overflows for large input. */
- .large_bound = 0x4080000000000000,
+ .special_bound = 0x1.62e37e7d8ba72p+9, /* ln(2^(1024 - 1/128)). */
+ .bound = 0x1.a56ef8ec924ccp-3 /* 19*ln2/64. */
};
+/* A specialised FEXPA expm1 that is only valid for positive inputs and
+ has no special cases. Based off the full FEXPA expm1 implementated for
+ _ZGVsMxv_expm1, with a slightly modified file to keep sinh under 3.5ULP. */
static inline svfloat64_t
-expm1_inline (svfloat64_t x, svbool_t pg)
+expm1_inline (svbool_t pg, svfloat64_t x)
{
const struct data *d = ptr_barrier (&data);
- /* Reduce argument:
- exp(x) - 1 = 2^i * (expm1(f) + 1) - 1
- where i = round(x / ln2)
- and f = x - i * ln2 (f in [-ln2/2, ln2/2]). */
- svfloat64_t j
- = svsub_x (pg, svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2), d->shift);
- svint64_t i = svcvt_s64_x (pg, j);
- svfloat64_t f = svmla_x (pg, x, j, d->m_ln2_hi);
- f = svmla_x (pg, f, j, d->m_ln2_lo);
- /* Approximate expm1(f) using polynomial. */
- svfloat64_t f2 = svmul_x (pg, f, f);
- svfloat64_t f4 = svmul_x (pg, f2, f2);
- svfloat64_t f8 = svmul_x (pg, f4, f4);
- svfloat64_t p
- = svmla_x (pg, f, f2, sv_estrin_10_f64_x (pg, f, f2, f4, f8, d->poly));
- /* t = 2^i. */
- svfloat64_t t = svscale_x (pg, sv_f64 (1), i);
- /* expm1(x) ~= p * t + (t - 1). */
- return svmla_x (pg, svsub_x (pg, t, 1.0), p, t);
+ svfloat64_t z = svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2);
+ svuint64_t u = svreinterpret_u64 (z);
+ svfloat64_t n = svsub_x (pg, z, d->shift);
+
+ svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi);
+ svfloat64_t c24 = svld1rq (svptrue_b64 (), &d->c2);
+
+ svfloat64_t r = x;
+ r = svmls_lane (r, n, ln2, 0);
+ r = svmls_lane (r, n, ln2, 1);
+
+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r);
+
+ svfloat64_t p;
+ svfloat64_t c12 = svmla_lane (sv_f64 (d->c1), r, c24, 0);
+ svfloat64_t c34 = svmla_lane (sv_f64 (d->c3), r, c24, 1);
+ p = svmad_x (pg, c34, r2, c12);
+ p = svmad_x (pg, p, r, sv_f64 (d->c0));
+ p = svmad_x (pg, p, r2, r);
+
+ svfloat64_t scale = svexpa (u);
+
+ /* We want to construct expm1(x) = (scale - 1) + scale * poly.
+ However, for values of scale close to 1, scale-1 causes large ULP errors
+ due to cancellation.
+
+ This can be circumvented by using a small lookup for scale-1
+ when our input is below a certain bound, otherwise we can use FEXPA. */
+ svbool_t is_small = svaclt (pg, x, d->bound);
+
+ /* Index via the input of FEXPA, but we only care about the lower 5 bits. */
+ svuint64_t base_idx = svand_x (pg, u, 0x1f);
+
+ /* Compute scale - 1 from FEXPA, and lookup values where this fails. */
+ svfloat64_t scalem1_estimate = svsub_x (pg, scale, sv_f64 (1.0));
+ svuint64_t scalem1_lookup
+ = svld1_gather_index (is_small, d->expm1_data, base_idx);
+
+ /* Select the appropriate scale - 1 value based on x. */
+ svfloat64_t scalem1
+ = svsel (is_small, svreinterpret_f64 (scalem1_lookup), scalem1_estimate);
+
+ /* return expm1 = scale - 1 + (scale * poly). */
+ return svmla_x (pg, scalem1, scale, p);
}
+/* Vectorised special case to handle values past where exp_inline overflows.
+ Halves the input value and uses the identity exp(x) = exp(x/2)^2 to double
+ the valid range of inputs, and returns inf for anything past that. */
static svfloat64_t NOINLINE
-special_case (svfloat64_t x, svbool_t pg)
+special_case (svbool_t pg, svbool_t special, svfloat64_t ax,
+ svfloat64_t halfsign, const struct data *d)
{
- return sv_call_f64 (sinh, x, x, pg);
+ /* Halves input value, and then check if any cases
+ are still going to overflow. */
+ ax = svmul_x (special, ax, 0.5);
+ svbool_t is_safe = svaclt (special, ax, d->special_bound);
+
+ svfloat64_t t = expm1_inline (pg, ax);
+
+ /* Finish fastpass to compute values for non-special cases. */
+ svfloat64_t y = svadd_x (pg, t, svdiv_x (pg, t, svadd_x (pg, t, 1.0)));
+ y = svmul_x (pg, y, halfsign);
+
+ /* Computes special lane, and set remaining overflow lanes to inf. */
+ svfloat64_t half_special_y = svmul_x (svptrue_b64 (), t, halfsign);
+ svfloat64_t special_y = svmul_x (svptrue_b64 (), half_special_y, t);
+
+ svuint64_t signed_inf
+ = svorr_x (svptrue_b64 (), svreinterpret_u64 (halfsign),
+ sv_u64 (0x7ff0000000000000));
+ special_y = svsel (is_safe, special_y, svreinterpret_f64 (signed_inf));
+
+ /* Join resulting vectors together and return. */
+ return svsel (special, special_y, y);
}
-/* Approximation for SVE double-precision sinh(x) using expm1.
- sinh(x) = (exp(x) - exp(-x)) / 2.
- The greatest observed error is 2.57 ULP:
- _ZGVsMxv_sinh (0x1.a008538399931p-2) got 0x1.ab929fc64bd66p-2
- want 0x1.ab929fc64bd63p-2. */
+/* Approximation for SVE double-precision sinh(x) using FEXPA expm1.
+ Uses sinh(x) = e^2x - 1 / 2e^x, rewritten for accuracy.
+ The greatest observed error in the non-special region is 2.63 + 0.5 ULP:
+ _ZGVsMxv_sinh (0x1.b5e0e13ba88aep-2) got 0x1.c3587faf97b0cp-2
+ want 0x1.c3587faf97b09p-2
+
+ The greatest observed error in the special region is 2.65 + 0.5 ULP:
+ _ZGVsMxv_sinh (0x1.633ce847dab1ap+9) got 0x1.fffd30eea0066p+1023
+ want 0x1.fffd30eea0063p+1023. */
svfloat64_t SV_NAME_D1 (sinh) (svfloat64_t x, svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
+ svbool_t special = svacge (pg, x, d->special_bound);
svfloat64_t ax = svabs_x (pg, x);
svuint64_t sign
= sveor_x (pg, svreinterpret_u64 (x), svreinterpret_u64 (ax));
svfloat64_t halfsign = svreinterpret_f64 (svorr_x (pg, sign, d->halff));
- svbool_t special = svcmpge (pg, svreinterpret_u64 (ax), d->large_bound);
-
/* Fall back to scalar variant for all lanes if any are special. */
if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (x, pg);
+ return special_case (pg, special, ax, halfsign, d);
/* Up to the point that expm1 overflows, we can use it to calculate sinh
using a slight rearrangement of the definition of sinh. This allows us to
retain acceptable accuracy for very small inputs. */
- svfloat64_t t = expm1_inline (ax, pg);
+ svfloat64_t t = expm1_inline (pg, ax);
t = svadd_x (pg, t, svdiv_x (pg, t, svadd_x (pg, t, 1.0)));
return svmul_x (pg, t, halfsign);
}
diff --git a/sysdeps/aarch64/fpu/sv_log1p_inline.h b/sysdeps/aarch64/fpu/sv_log1p_inline.h
index 71f88e0..c2b196f 100644
--- a/sysdeps/aarch64/fpu/sv_log1p_inline.h
+++ b/sysdeps/aarch64/fpu/sv_log1p_inline.h
@@ -21,11 +21,12 @@
#define AARCH64_FPU_SV_LOG1P_INLINE_H
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct sv_log1p_data
{
- double poly[19], ln2[2];
+ double c0, c2, c4, c6, c8, c10, c12, c14, c16;
+ double c1, c3, c5, c7, c9, c11, c13, c15, c17, c18;
+ double ln2_lo, ln2_hi;
uint64_t hf_rt2_top;
uint64_t one_m_hf_rt2_top;
uint32_t bottom_mask;
@@ -33,15 +34,30 @@ static const struct sv_log1p_data
} sv_log1p_data = {
/* Coefficients generated using Remez, deg=20, in [sqrt(2)/2-1, sqrt(2)-1].
*/
- .poly = { -0x1.ffffffffffffbp-2, 0x1.55555555551a9p-2, -0x1.00000000008e3p-2,
- 0x1.9999999a32797p-3, -0x1.555555552fecfp-3, 0x1.249248e071e5ap-3,
- -0x1.ffffff8bf8482p-4, 0x1.c71c8f07da57ap-4, -0x1.9999ca4ccb617p-4,
- 0x1.7459ad2e1dfa3p-4, -0x1.554d2680a3ff2p-4, 0x1.3b4c54d487455p-4,
- -0x1.2548a9ffe80e6p-4, 0x1.0f389a24b2e07p-4, -0x1.eee4db15db335p-5,
- 0x1.e95b494d4a5ddp-5, -0x1.15fdf07cb7c73p-4, 0x1.0310b70800fcfp-4,
- -0x1.cfa7385bdb37ep-6 },
- .ln2 = { 0x1.62e42fefa3800p-1, 0x1.ef35793c76730p-45 },
+ .c0 = -0x1.ffffffffffffbp-2,
+ .c1 = 0x1.55555555551a9p-2,
+ .c2 = -0x1.00000000008e3p-2,
+ .c3 = 0x1.9999999a32797p-3,
+ .c4 = -0x1.555555552fecfp-3,
+ .c5 = 0x1.249248e071e5ap-3,
+ .c6 = -0x1.ffffff8bf8482p-4,
+ .c7 = 0x1.c71c8f07da57ap-4,
+ .c8 = -0x1.9999ca4ccb617p-4,
+ .c9 = 0x1.7459ad2e1dfa3p-4,
+ .c10 = -0x1.554d2680a3ff2p-4,
+ .c11 = 0x1.3b4c54d487455p-4,
+ .c12 = -0x1.2548a9ffe80e6p-4,
+ .c13 = 0x1.0f389a24b2e07p-4,
+ .c14 = -0x1.eee4db15db335p-5,
+ .c15 = 0x1.e95b494d4a5ddp-5,
+ .c16 = -0x1.15fdf07cb7c73p-4,
+ .c17 = 0x1.0310b70800fcfp-4,
+ .c18 = -0x1.cfa7385bdb37ep-6,
+ .ln2_lo = 0x1.62e42fefa3800p-1,
+ .ln2_hi = 0x1.ef35793c76730p-45,
+ /* top32(asuint64(sqrt(2)/2)) << 32. */
.hf_rt2_top = 0x3fe6a09e00000000,
+ /* (top32(asuint64(1)) - top32(asuint64(sqrt(2)/2))) << 32. */
.one_m_hf_rt2_top = 0x00095f6200000000,
.bottom_mask = 0xffffffff,
.one_top = 0x3ff
@@ -51,14 +67,14 @@ static inline svfloat64_t
sv_log1p_inline (svfloat64_t x, const svbool_t pg)
{
/* Helper for calculating log(x + 1). Adapted from v_log1p_inline.h, which
- differs from v_log1p_2u5.c by:
+ differs from advsimd/log1p.c by:
- No special-case handling - this should be dealt with by the caller.
- Pairwise Horner polynomial evaluation for improved accuracy.
- Optionally simulate the shortcut for k=0, used in the scalar routine,
using svsel, for improved accuracy when the argument to log1p is close
to 0. This feature is enabled by defining WANT_SV_LOG1P_K0_SHORTCUT as 1
in the source of the caller before including this file.
- See sv_log1p_2u1.c for details of the algorithm. */
+ See sve/log1p.c for details of the algorithm. */
const struct sv_log1p_data *d = ptr_barrier (&sv_log1p_data);
svfloat64_t m = svadd_x (pg, x, 1);
svuint64_t mi = svreinterpret_u64 (m);
@@ -79,7 +95,7 @@ sv_log1p_inline (svfloat64_t x, const svbool_t pg)
svfloat64_t cm;
#ifndef WANT_SV_LOG1P_K0_SHORTCUT
-#error \
+#error \
"Cannot use sv_log1p_inline.h without specifying whether you need the k0 shortcut for greater accuracy close to 0"
#elif WANT_SV_LOG1P_K0_SHORTCUT
/* Shortcut if k is 0 - set correction term to 0 and f to x. The result is
@@ -96,14 +112,46 @@ sv_log1p_inline (svfloat64_t x, const svbool_t pg)
#endif
/* Approximate log1p(f) on the reduced input using a polynomial. */
- svfloat64_t f2 = svmul_x (pg, f, f);
- svfloat64_t p = sv_pw_horner_18_f64_x (pg, f, f2, d->poly);
+ svfloat64_t f2 = svmul_x (svptrue_b64 (), f, f),
+ f4 = svmul_x (svptrue_b64 (), f2, f2),
+ f8 = svmul_x (svptrue_b64 (), f4, f4),
+ f16 = svmul_x (svptrue_b64 (), f8, f8);
+
+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1);
+ svfloat64_t c57 = svld1rq (svptrue_b64 (), &d->c5);
+ svfloat64_t c911 = svld1rq (svptrue_b64 (), &d->c9);
+ svfloat64_t c1315 = svld1rq (svptrue_b64 (), &d->c13);
+ svfloat64_t c1718 = svld1rq (svptrue_b64 (), &d->c17);
+
+ /* Order-18 Estrin scheme. */
+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), f, c13, 0);
+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), f, c13, 1);
+ svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), f, c57, 0);
+ svfloat64_t p67 = svmla_lane (sv_f64 (d->c6), f, c57, 1);
+
+ svfloat64_t p03 = svmla_x (pg, p01, f2, p23);
+ svfloat64_t p47 = svmla_x (pg, p45, f2, p67);
+ svfloat64_t p07 = svmla_x (pg, p03, f4, p47);
+
+ svfloat64_t p89 = svmla_lane (sv_f64 (d->c8), f, c911, 0);
+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->c10), f, c911, 1);
+ svfloat64_t p1213 = svmla_lane (sv_f64 (d->c12), f, c1315, 0);
+ svfloat64_t p1415 = svmla_lane (sv_f64 (d->c14), f, c1315, 1);
+
+ svfloat64_t p811 = svmla_x (pg, p89, f2, p1011);
+ svfloat64_t p1215 = svmla_x (pg, p1213, f2, p1415);
+ svfloat64_t p815 = svmla_x (pg, p811, f4, p1215);
+
+ svfloat64_t p015 = svmla_x (pg, p07, f8, p815);
+ svfloat64_t p1617 = svmla_lane (sv_f64 (d->c16), f, c1718, 0);
+ svfloat64_t p1618 = svmla_lane (p1617, f2, c1718, 1);
+ svfloat64_t p = svmla_x (pg, p015, f16, p1618);
/* Assemble log1p(x) = k * log2 + log1p(f) + c/m. */
- svfloat64_t ylo = svmla_x (pg, cm, k, d->ln2[0]);
- svfloat64_t yhi = svmla_x (pg, f, k, d->ln2[1]);
+ svfloat64_t ln2_lo_hi = svld1rq (svptrue_b64 (), &d->ln2_lo);
+ svfloat64_t ylo = svmla_lane (cm, k, ln2_lo_hi, 0);
+ svfloat64_t yhi = svmla_lane (f, k, ln2_lo_hi, 1);
- return svmla_x (pg, svadd_x (pg, ylo, yhi), f2, p);
+ return svmad_x (pg, p, f2, svadd_x (pg, ylo, yhi));
}
-
#endif
diff --git a/sysdeps/aarch64/fpu/tanh_sve.c b/sysdeps/aarch64/fpu/tanh_sve.c
index 789cc68..5869419 100644
--- a/sysdeps/aarch64/fpu/tanh_sve.c
+++ b/sysdeps/aarch64/fpu/tanh_sve.c
@@ -18,83 +18,117 @@
<https://www.gnu.org/licenses/>. */
#include "sv_math.h"
-#include "poly_sve_f64.h"
static const struct data
{
- float64_t poly[11];
- float64_t inv_ln2, ln2_hi, ln2_lo, shift;
- uint64_t thresh, tiny_bound;
+ double ln2_hi, ln2_lo;
+ double c2, c4;
+ double c0, c1, c3;
+ double two_over_ln2, shift;
+ uint64_t tiny_bound;
+ double large_bound, fexpa_bound;
+ uint64_t e2xm1_data[20];
} data = {
- /* Generated using Remez, deg=12 in [-log(2)/2, log(2)/2]. */
- .poly = { 0x1p-1, 0x1.5555555555559p-3, 0x1.555555555554bp-5,
- 0x1.111111110f663p-7, 0x1.6c16c16c1b5f3p-10,
- 0x1.a01a01affa35dp-13, 0x1.a01a018b4ecbbp-16,
- 0x1.71ddf82db5bb4p-19, 0x1.27e517fc0d54bp-22,
- 0x1.af5eedae67435p-26, 0x1.1f143d060a28ap-29, },
-
- .inv_ln2 = 0x1.71547652b82fep0,
- .ln2_hi = -0x1.62e42fefa39efp-1,
- .ln2_lo = -0x1.abc9e3b39803fp-56,
- .shift = 0x1.8p52,
-
+ /* Generated using Remez, in [-log(2)/128, log(2)/128]. */
+ .c0 = 0x1p-1,
+ .c1 = 0x1.55555555548f9p-3,
+ .c2 = 0x1.5555555554c22p-5,
+ .c3 = 0x1.111123aaa2fb2p-7,
+ .c4 = 0x1.6c16d77d98e5bp-10,
+ .ln2_hi = 0x1.62e42fefa3800p-1,
+ .ln2_lo = 0x1.ef35793c76730p-45,
+ .two_over_ln2 = 0x1.71547652b82fep+1,
+ .shift = 0x1.800000000ffc0p+46, /* 1.5*2^46+1023. */
.tiny_bound = 0x3e40000000000000, /* asuint64 (0x1p-27). */
- /* asuint64(0x1.241bf835f9d5fp+4) - asuint64(tiny_bound). */
- .thresh = 0x01f241bf835f9d5f,
+ .large_bound = 0x1.30fc1931f09cap+4, /* arctanh(1 - 2^-54). */
+ .fexpa_bound = 0x1.a56ef8ec924ccp-4, /* 19/64 * ln2/2. */
+ /* Table lookup of 2^(i/64) - 1, for values of i from 0..19. */
+ .e2xm1_data = {
+ 0x0000000000000000, 0x3f864d1f3bc03077, 0x3f966c34c5615d0f, 0x3fa0e8a30eb37901,
+ 0x3fa6ab0d9f3121ec, 0x3fac7d865a7a3440, 0x3fb1301d0125b50a, 0x3fb429aaea92ddfb,
+ 0x3fb72b83c7d517ae, 0x3fba35beb6fcb754, 0x3fbd4873168b9aa8, 0x3fc031dc431466b2,
+ 0x3fc1c3d373ab11c3, 0x3fc35a2b2f13e6e9, 0x3fc4f4efa8fef709, 0x3fc6942d3720185a,
+ 0x3fc837f0518db8a9, 0x3fc9e0459320b7fa, 0x3fcb8d39b9d54e55, 0x3fcd3ed9a72cffb7,
+ },
};
+/* An expm1 inspired, FEXPA based helper function that returns an
+ accurate estimate for e^2x - 1. With no special case or support for
+ negative inputs of x. */
static inline svfloat64_t
-expm1_inline (svfloat64_t x, const svbool_t pg, const struct data *d)
-{
- /* Helper routine for calculating exp(x) - 1. Vector port of the helper from
- the scalar variant of tanh. */
-
- /* Reduce argument: f in [-ln2/2, ln2/2], i is exact. */
- svfloat64_t j
- = svsub_x (pg, svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2), d->shift);
- svint64_t i = svcvt_s64_x (pg, j);
- svfloat64_t f = svmla_x (pg, x, j, d->ln2_hi);
- f = svmla_x (pg, f, j, d->ln2_lo);
-
- /* Approximate expm1(f) using polynomial. */
- svfloat64_t f2 = svmul_x (pg, f, f);
- svfloat64_t f4 = svmul_x (pg, f2, f2);
- svfloat64_t p = svmla_x (
- pg, f, f2,
- sv_estrin_10_f64_x (pg, f, f2, f4, svmul_x (pg, f4, f4), d->poly));
-
- /* t = 2 ^ i. */
- svfloat64_t t = svscale_x (pg, sv_f64 (1), i);
- /* expm1(x) = p * t + (t - 1). */
- return svmla_x (pg, svsub_x (pg, t, 1), p, t);
-}
-
-static svfloat64_t NOINLINE
-special_case (svfloat64_t x, svfloat64_t y, svbool_t special)
+e2xm1_inline (const svbool_t pg, svfloat64_t x, const struct data *d)
{
- return sv_call_f64 (tanh, x, y, special);
+ svfloat64_t z = svmla_x (pg, sv_f64 (d->shift), x, d->two_over_ln2);
+ svuint64_t u = svreinterpret_u64 (z);
+ svfloat64_t n = svsub_x (pg, z, d->shift);
+
+ /* r = x - n * ln2/2, r is in [-ln2/(2N), ln2/(2N)]. */
+ svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi);
+ svfloat64_t r = svadd_x (pg, x, x);
+ r = svmls_lane (r, n, ln2, 0);
+ r = svmls_lane (r, n, ln2, 1);
+
+ /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5 + C4 r^6. */
+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r);
+ svfloat64_t c24 = svld1rq (svptrue_b64 (), &d->c2);
+
+ svfloat64_t p;
+ svfloat64_t c12 = svmla_lane (sv_f64 (d->c1), r, c24, 0);
+ svfloat64_t c34 = svmla_lane (sv_f64 (d->c3), r, c24, 1);
+ p = svmad_x (pg, c34, r2, c12);
+ p = svmad_x (pg, p, r, sv_f64 (d->c0));
+ p = svmad_x (pg, p, r2, r);
+
+ svfloat64_t scale = svexpa (u);
+
+ /* We want to construct e2xm1(x) = (scale - 1) + scale * poly.
+ However, for values of scale close to 1, scale-1 causes large ULP errors
+ due to cancellation.
+
+ This can be circumvented by using a small lookup for scale-1
+ when our input is below a certain bound, otherwise we can use FEXPA. */
+ svbool_t is_small = svaclt (pg, x, d->fexpa_bound);
+
+ /* Index via the input of FEXPA, but we only care about the lower 5 bits. */
+ svuint64_t base_idx = svand_x (pg, u, 0x1f);
+
+ /* Compute scale - 1 from FEXPA, and lookup values where this fails. */
+ svfloat64_t scalem1_estimate = svsub_x (pg, scale, sv_f64 (1.0));
+ svuint64_t scalem1_lookup
+ = svld1_gather_index (is_small, d->e2xm1_data, base_idx);
+
+ /* Select the appropriate scale - 1 value based on x. */
+ svfloat64_t scalem1
+ = svsel (is_small, svreinterpret_f64 (scalem1_lookup), scalem1_estimate);
+ return svmla_x (pg, scalem1, scale, p);
}
-/* SVE approximation for double-precision tanh(x), using a simplified
- version of expm1. The greatest observed error is 2.77 ULP:
- _ZGVsMxv_tanh(-0x1.c4a4ca0f9f3b7p-3) got -0x1.bd6a21a163627p-3
- want -0x1.bd6a21a163624p-3. */
+/* SVE approximation for double-precision tanh(x), using a modified version of
+ FEXPA expm1 to calculate e^2x - 1.
+ The greatest observed error is 2.79 + 0.5 ULP:
+ _ZGVsMxv_tanh (0x1.fff868eb3c223p-9) got 0x1.fff7be486cae6p-9
+ want 0x1.fff7be486cae9p-9. */
svfloat64_t SV_NAME_D1 (tanh) (svfloat64_t x, svbool_t pg)
{
const struct data *d = ptr_barrier (&data);
- svuint64_t ia = svreinterpret_u64 (svabs_x (pg, x));
+ svbool_t large = svacge (pg, x, d->large_bound);
- /* Trigger special-cases for tiny, boring and infinity/NaN. */
- svbool_t special = svcmpgt (pg, svsub_x (pg, ia, d->tiny_bound), d->thresh);
+ /* We can use tanh(x) = (e^2x - 1) / (e^2x + 1) to approximate tanh.
+ As an additional optimisation, we can ensure more accurate values of e^x
+ by only using positive inputs. So we calculate tanh(|x|), and restore the
+ sign of the input before returning. */
+ svfloat64_t ax = svabs_x (pg, x);
+ svuint64_t sign_bit
+ = sveor_x (pg, svreinterpret_u64 (x), svreinterpret_u64 (ax));
- svfloat64_t u = svadd_x (pg, x, x);
+ svfloat64_t p = e2xm1_inline (pg, ax, d);
+ svfloat64_t q = svadd_x (pg, p, 2);
- /* tanh(x) = (e^2x - 1) / (e^2x + 1). */
- svfloat64_t q = expm1_inline (u, pg, d);
- svfloat64_t qp2 = svadd_x (pg, q, 2);
+ /* For sufficiently high inputs, the result of tanh(|x|) is 1 when correctly
+ rounded, at this point we can return 1 directly, with sign correction.
+ This will also act as a guard against our approximation overflowing. */
+ svfloat64_t y = svsel (large, sv_f64 (1.0), svdiv_x (pg, p, q));
- if (__glibc_unlikely (svptest_any (pg, special)))
- return special_case (x, svdiv_x (pg, q, qp2), special);
- return svdiv_x (pg, q, qp2);
+ return svreinterpret_f64 (svorr_x (pg, sign_bit, svreinterpret_u64 (y)));
}
diff --git a/sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c b/sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c
index 07133eb..a3fef22 100644
--- a/sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c
@@ -25,11 +25,15 @@
VPCS_VECTOR_WRAPPER (acos_advsimd, _ZGVnN2v_acos)
VPCS_VECTOR_WRAPPER (acosh_advsimd, _ZGVnN2v_acosh)
+VPCS_VECTOR_WRAPPER (acospi_advsimd, _ZGVnN2v_acospi)
VPCS_VECTOR_WRAPPER (asin_advsimd, _ZGVnN2v_asin)
VPCS_VECTOR_WRAPPER (asinh_advsimd, _ZGVnN2v_asinh)
+VPCS_VECTOR_WRAPPER (asinpi_advsimd, _ZGVnN2v_asinpi)
VPCS_VECTOR_WRAPPER (atan_advsimd, _ZGVnN2v_atan)
VPCS_VECTOR_WRAPPER (atanh_advsimd, _ZGVnN2v_atanh)
+VPCS_VECTOR_WRAPPER (atanpi_advsimd, _ZGVnN2v_atanpi)
VPCS_VECTOR_WRAPPER_ff (atan2_advsimd, _ZGVnN2vv_atan2)
+VPCS_VECTOR_WRAPPER_ff (atan2pi_advsimd, _ZGVnN2vv_atan2pi)
VPCS_VECTOR_WRAPPER (cbrt_advsimd, _ZGVnN2v_cbrt)
VPCS_VECTOR_WRAPPER (cos_advsimd, _ZGVnN2v_cos)
VPCS_VECTOR_WRAPPER (cosh_advsimd, _ZGVnN2v_cosh)
diff --git a/sysdeps/aarch64/fpu/test-double-sve-wrappers.c b/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
index 02953cb..f4a5ae8 100644
--- a/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-double-sve-wrappers.c
@@ -44,11 +44,15 @@
SVE_VECTOR_WRAPPER (acos_sve, _ZGVsMxv_acos)
SVE_VECTOR_WRAPPER (acosh_sve, _ZGVsMxv_acosh)
+SVE_VECTOR_WRAPPER (acospi_sve, _ZGVsMxv_acospi)
SVE_VECTOR_WRAPPER (asin_sve, _ZGVsMxv_asin)
SVE_VECTOR_WRAPPER (asinh_sve, _ZGVsMxv_asinh)
+SVE_VECTOR_WRAPPER (asinpi_sve, _ZGVsMxv_asinpi)
SVE_VECTOR_WRAPPER (atan_sve, _ZGVsMxv_atan)
SVE_VECTOR_WRAPPER (atanh_sve, _ZGVsMxv_atanh)
+SVE_VECTOR_WRAPPER (atanpi_sve, _ZGVsMxv_atanpi)
SVE_VECTOR_WRAPPER_ff (atan2_sve, _ZGVsMxvv_atan2)
+SVE_VECTOR_WRAPPER_ff (atan2pi_sve, _ZGVsMxvv_atan2pi)
SVE_VECTOR_WRAPPER (cbrt_sve, _ZGVsMxv_cbrt)
SVE_VECTOR_WRAPPER (cos_sve, _ZGVsMxv_cos)
SVE_VECTOR_WRAPPER (cosh_sve, _ZGVsMxv_cosh)
diff --git a/sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c b/sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c
index 118bbb0..bc22956 100644
--- a/sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c
@@ -25,11 +25,15 @@
VPCS_VECTOR_WRAPPER (acosf_advsimd, _ZGVnN4v_acosf)
VPCS_VECTOR_WRAPPER (acoshf_advsimd, _ZGVnN4v_acoshf)
+VPCS_VECTOR_WRAPPER (acospif_advsimd, _ZGVnN4v_acospif)
VPCS_VECTOR_WRAPPER (asinf_advsimd, _ZGVnN4v_asinf)
VPCS_VECTOR_WRAPPER (asinhf_advsimd, _ZGVnN4v_asinhf)
+VPCS_VECTOR_WRAPPER (asinpif_advsimd, _ZGVnN4v_asinpif)
VPCS_VECTOR_WRAPPER (atanf_advsimd, _ZGVnN4v_atanf)
VPCS_VECTOR_WRAPPER (atanhf_advsimd, _ZGVnN4v_atanhf)
+VPCS_VECTOR_WRAPPER (atanpif_advsimd, _ZGVnN4v_atanpif)
VPCS_VECTOR_WRAPPER_ff (atan2f_advsimd, _ZGVnN4vv_atan2f)
+VPCS_VECTOR_WRAPPER_ff (atan2pif_advsimd, _ZGVnN4vv_atan2pif)
VPCS_VECTOR_WRAPPER (cbrtf_advsimd, _ZGVnN4v_cbrtf)
VPCS_VECTOR_WRAPPER (cosf_advsimd, _ZGVnN4v_cosf)
VPCS_VECTOR_WRAPPER (coshf_advsimd, _ZGVnN4v_coshf)
diff --git a/sysdeps/aarch64/fpu/test-float-sve-wrappers.c b/sysdeps/aarch64/fpu/test-float-sve-wrappers.c
index f5e7c8c..ad0d6ad 100644
--- a/sysdeps/aarch64/fpu/test-float-sve-wrappers.c
+++ b/sysdeps/aarch64/fpu/test-float-sve-wrappers.c
@@ -44,11 +44,15 @@
SVE_VECTOR_WRAPPER (acosf_sve, _ZGVsMxv_acosf)
SVE_VECTOR_WRAPPER (acoshf_sve, _ZGVsMxv_acoshf)
+SVE_VECTOR_WRAPPER (acospif_sve, _ZGVsMxv_acospif)
SVE_VECTOR_WRAPPER (asinf_sve, _ZGVsMxv_asinf)
SVE_VECTOR_WRAPPER (asinhf_sve, _ZGVsMxv_asinhf)
+SVE_VECTOR_WRAPPER (asinpif_sve, _ZGVsMxv_asinpif)
SVE_VECTOR_WRAPPER (atanf_sve, _ZGVsMxv_atanf)
SVE_VECTOR_WRAPPER (atanhf_sve, _ZGVsMxv_atanhf)
+SVE_VECTOR_WRAPPER (atanpif_sve, _ZGVsMxv_atanpif)
SVE_VECTOR_WRAPPER_ff (atan2f_sve, _ZGVsMxvv_atan2f)
+SVE_VECTOR_WRAPPER_ff (atan2pif_sve, _ZGVsMxvv_atan2pif)
SVE_VECTOR_WRAPPER (cbrtf_sve, _ZGVsMxv_cbrtf)
SVE_VECTOR_WRAPPER (cosf_sve, _ZGVsMxv_cosf)
SVE_VECTOR_WRAPPER (coshf_sve, _ZGVsMxv_coshf)
diff --git a/sysdeps/aarch64/machine-gmon.h b/sysdeps/aarch64/machine-gmon.h
index eba7c24..05323c9 100644
--- a/sysdeps/aarch64/machine-gmon.h
+++ b/sysdeps/aarch64/machine-gmon.h
@@ -27,9 +27,8 @@ static void mcount_internal (u_long frompc, u_long selfpc);
#define _MCOUNT_DECL(frompc, selfpc) \
static inline void mcount_internal (u_long frompc, u_long selfpc)
-/* Note: strip_pac is needed for frompc because of gcc PR target/94791. */
#define MCOUNT \
void __mcount (void *frompc) \
{ \
- mcount_internal ((u_long) strip_pac (frompc), (u_long) RETURN_ADDRESS (0)); \
+ mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \
}
diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
index 8dc314b..0e26171 100644
--- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
@@ -36,18 +36,14 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
/* Support sysdeps/aarch64/multiarch/memcpy.c, memmove.c and memset.c. */
IFUNC_IMPL (i, name, memcpy,
IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_oryon1)
-#if HAVE_AARCH64_SVE_ASM
- IFUNC_IMPL_ADD (array, i, memcpy, sve && !bti, __memcpy_a64fx)
+ IFUNC_IMPL_ADD (array, i, memcpy, sve, __memcpy_a64fx)
IFUNC_IMPL_ADD (array, i, memcpy, sve, __memcpy_sve)
-#endif
IFUNC_IMPL_ADD (array, i, memcpy, mops, __memcpy_mops)
IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic))
IFUNC_IMPL (i, name, memmove,
IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_oryon1)
-#if HAVE_AARCH64_SVE_ASM
- IFUNC_IMPL_ADD (array, i, memmove, sve && !bti, __memmove_a64fx)
+ IFUNC_IMPL_ADD (array, i, memmove, sve, __memmove_a64fx)
IFUNC_IMPL_ADD (array, i, memmove, sve, __memmove_sve)
-#endif
IFUNC_IMPL_ADD (array, i, memmove, mops, __memmove_mops)
IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic))
IFUNC_IMPL (i, name, memset,
@@ -55,10 +51,8 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
IFUNC_IMPL_ADD (array, i, memset, (zva_size == 64), __memset_oryon1)
IFUNC_IMPL_ADD (array, i, memset, 1, __memset_emag)
IFUNC_IMPL_ADD (array, i, memset, 1, __memset_kunpeng)
-#if HAVE_AARCH64_SVE_ASM
- IFUNC_IMPL_ADD (array, i, memset, sve && !bti && zva_size == 256, __memset_a64fx)
+ IFUNC_IMPL_ADD (array, i, memset, sve && zva_size == 256, __memset_a64fx)
IFUNC_IMPL_ADD (array, i, memset, sve && zva_size == 64, __memset_sve_zva64)
-#endif
IFUNC_IMPL_ADD (array, i, memset, mops, __memset_mops)
IFUNC_IMPL_ADD (array, i, memset, 1, __memset_generic))
IFUNC_IMPL (i, name, memchr,
diff --git a/sysdeps/aarch64/multiarch/init-arch.h b/sysdeps/aarch64/multiarch/init-arch.h
index 63c24e7..75b3e08 100644
--- a/sysdeps/aarch64/multiarch/init-arch.h
+++ b/sysdeps/aarch64/multiarch/init-arch.h
@@ -31,7 +31,7 @@
unsigned __attribute__((unused)) zva_size = \
GLRO(dl_aarch64_cpu_features).zva_size; \
bool __attribute__((unused)) bti = \
- HAVE_AARCH64_BTI && GLRO(dl_aarch64_cpu_features).bti; \
+ GLRO(dl_aarch64_cpu_features).bti; \
bool __attribute__((unused)) mte = \
MTE_ENABLED (); \
bool __attribute__((unused)) sve = \
diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c
index 0e33d19..894dabe 100644
--- a/sysdeps/aarch64/multiarch/memcpy.c
+++ b/sysdeps/aarch64/multiarch/memcpy.c
@@ -43,7 +43,7 @@ select_memcpy_ifunc (void)
if (mops)
return __memcpy_mops;
- if (sve && HAVE_AARCH64_SVE_ASM)
+ if (sve)
{
if (IS_A64FX (midr))
return __memcpy_a64fx;
diff --git a/sysdeps/aarch64/multiarch/memcpy_a64fx.S b/sysdeps/aarch64/multiarch/memcpy_a64fx.S
index ed18682..acad6e8 100644
--- a/sysdeps/aarch64/multiarch/memcpy_a64fx.S
+++ b/sysdeps/aarch64/multiarch/memcpy_a64fx.S
@@ -19,9 +19,6 @@
#include <sysdep.h>
-#undef BTI_C
-#define BTI_C
-
/* Assumptions:
*
* ARMv8.2-a, AArch64, unaligned accesses, sve
@@ -38,8 +35,6 @@
#define vlen x7
#define vlen8 x8
-#if HAVE_AARCH64_SVE_ASM
-
.arch armv8.2-a+sve
.macro ld1b_unroll8
@@ -91,9 +86,6 @@
st1b z7.b, p0, [dst, 7, mul vl]
.endm
-#undef BTI_C
-#define BTI_C
-
ENTRY (__memcpy_a64fx)
cntb vlen
@@ -296,4 +288,3 @@ L(full_overlap):
b L(last_bytes)
END (__memmove_a64fx)
-#endif /* HAVE_AARCH64_SVE_ASM */
diff --git a/sysdeps/aarch64/multiarch/memcpy_sve.S b/sysdeps/aarch64/multiarch/memcpy_sve.S
index 26d4890..0ba6358 100644
--- a/sysdeps/aarch64/multiarch/memcpy_sve.S
+++ b/sysdeps/aarch64/multiarch/memcpy_sve.S
@@ -56,8 +56,6 @@
The loop tail is handled by always copying 64 bytes from the end.
*/
-#if HAVE_AARCH64_SVE_ASM
-
.arch armv8.2-a+sve
ENTRY (__memcpy_sve)
@@ -199,4 +197,3 @@ L(return):
ret
END (__memmove_sve)
-#endif
diff --git a/sysdeps/aarch64/multiarch/memmove.c b/sysdeps/aarch64/multiarch/memmove.c
index 47b7268..6b0d0ce 100644
--- a/sysdeps/aarch64/multiarch/memmove.c
+++ b/sysdeps/aarch64/multiarch/memmove.c
@@ -41,7 +41,7 @@ select_memmove_ifunc (void)
if (mops)
return __memmove_mops;
- if (sve && HAVE_AARCH64_SVE_ASM)
+ if (sve)
{
if (IS_A64FX (midr))
return __memmove_a64fx;
diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c
index 872f39f..2b0a58b 100644
--- a/sysdeps/aarch64/multiarch/memset.c
+++ b/sysdeps/aarch64/multiarch/memset.c
@@ -46,7 +46,7 @@ select_memset_ifunc (void)
if (mops)
return __memset_mops;
- if (sve && HAVE_AARCH64_SVE_ASM)
+ if (sve)
{
if (IS_A64FX (midr) && zva_size == 256)
return __memset_a64fx;
diff --git a/sysdeps/aarch64/multiarch/memset_a64fx.S b/sysdeps/aarch64/multiarch/memset_a64fx.S
index ea60b78..e921240 100644
--- a/sysdeps/aarch64/multiarch/memset_a64fx.S
+++ b/sysdeps/aarch64/multiarch/memset_a64fx.S
@@ -31,8 +31,6 @@
#define PF_DIST_L1 (CACHE_LINE_SIZE * 16) // Prefetch distance L1
#define vector_length x9
-#if HAVE_AARCH64_SVE_ASM
-
.arch armv8.2-a+sve
#define dstin x0
@@ -50,10 +48,6 @@
.endif
.endm
-
-#undef BTI_C
-#define BTI_C
-
ENTRY (__memset_a64fx)
cntb vector_length
@@ -170,5 +164,3 @@ L(L2):
b L(last)
END (__memset_a64fx)
-
-#endif /* HAVE_AARCH64_SVE_ASM */
diff --git a/sysdeps/aarch64/multiarch/memset_sve_zva64.S b/sysdeps/aarch64/multiarch/memset_sve_zva64.S
index 7fb40fd..c385e1a 100644
--- a/sysdeps/aarch64/multiarch/memset_sve_zva64.S
+++ b/sysdeps/aarch64/multiarch/memset_sve_zva64.S
@@ -25,8 +25,6 @@
* ZVA size is 64.
*/
-#if HAVE_AARCH64_SVE_ASM
-
.arch armv8.2-a+sve
#define dstin x0
@@ -120,4 +118,3 @@ L(no_zva_loop):
ret
END (__memset_sve_zva64)
-#endif
diff --git a/sysdeps/aarch64/preconfigure b/sysdeps/aarch64/preconfigure
index 19657b6..e1b772c 100644
--- a/sysdeps/aarch64/preconfigure
+++ b/sysdeps/aarch64/preconfigure
@@ -3,5 +3,6 @@ aarch64*)
base_machine=aarch64
machine=aarch64
mtls_descriptor=desc
+ mtls_traditional=trad
;;
esac
diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S
index d82d62c..53c5e7d 100644
--- a/sysdeps/aarch64/setjmp.S
+++ b/sysdeps/aarch64/setjmp.S
@@ -35,6 +35,20 @@ libc_hidden_def (_setjmp)
ENTRY_ALIGN (__sigsetjmp, 2)
1:
+
+#if IS_IN(libc)
+ /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so.
+ The calling convention of __libc_arm_za_disable allows to do
+ this thus allowing to avoid saving to and reading from stack.
+ As a result we also don't need to sign the return address and
+ check it after returning because it is not stored to stack. */
+ mov x13, x30
+ cfi_register (x30, x13)
+ bl __libc_arm_za_disable
+ mov x30, x13
+ cfi_register (x13, x30)
+#endif
+
stp x19, x20, [x0, #JB_X19<<3]
stp x21, x22, [x0, #JB_X21<<3]
stp x23, x24, [x0, #JB_X23<<3]
@@ -73,7 +87,7 @@ L(gcs_done):
#if IS_IN (rtld)
/* In ld.so we never save the signal mask */
mov w0, #0
- RET
+ ret
#else
b C_SYMBOL_NAME(__sigjmp_save)
#endif
diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
index 544e397..694c338 100644
--- a/sysdeps/aarch64/start.S
+++ b/sysdeps/aarch64/start.S
@@ -108,7 +108,7 @@ ENTRY(_start)
because crt1.o and rcrt1.o share code and the later must avoid the
use of GOT relocations before __libc_start_main is called. */
__wrap_main:
- BTI_C
+ bti c
b main
#endif
END(_start)
diff --git a/sysdeps/aarch64/sys/ifunc.h b/sysdeps/aarch64/sys/ifunc.h
index 7781b37..a3322a9 100644
--- a/sysdeps/aarch64/sys/ifunc.h
+++ b/sysdeps/aarch64/sys/ifunc.h
@@ -19,24 +19,77 @@
#ifndef _SYS_IFUNC_H
#define _SYS_IFUNC_H
+#include <sys/cdefs.h>
+
/* A second argument is passed to the ifunc resolver. */
#define _IFUNC_ARG_HWCAP (1ULL << 62)
-/* The prototype of a gnu indirect function resolver on AArch64 is
+/* Maximum number of HWCAP elements that are currently supported. */
+#define _IFUNC_HWCAP_MAX 4
+
+/* The prototype of a GNU indirect function resolver on AArch64 is
+
+ ElfW(Addr) ifunc_resolver (uint64_t, const uint64_t *);
+
+ The following prototype is also compatible:
ElfW(Addr) ifunc_resolver (uint64_t, const __ifunc_arg_t *);
- the first argument should have the _IFUNC_ARG_HWCAP bit set and
- the remaining bits should match the AT_HWCAP settings. */
+ The first argument might have the _IFUNC_ARG_HWCAP bit set and
+ the remaining bits should match the AT_HWCAP settings.
+
+ If the _IFUNC_ARG_HWCAP bit is set in the first argument, then
+ the second argument is passed to the resolver function. In
+ this case, the second argument is a const pointer to a buffer
+ that allows to access all available HWCAP elements.
+
+ This buffer has its size in bytes at offset 0. The HWCAP elements
+ are available at offsets 8, 16, 24, 32... respectively for AT_HWCAP,
+ AT_HWCAP2, AT_HWCAP3, AT_HWCAP4... (these offsets are multiples of
+ sizeof (unsigned long)).
+
+ Indirect function resolvers must check availability of HWCAP
+ elements at runtime before accessing them using the size of the
+ buffer. */
-/* Second argument to an ifunc resolver. */
struct __ifunc_arg_t
{
- unsigned long _size; /* Size of the struct, so it can grow. */
+ unsigned long _size; /* Size of the struct, so it can grow. */
unsigned long _hwcap;
- unsigned long _hwcap2;
+ unsigned long _hwcap2; /* End of 1st published struct. */
+ unsigned long _hwcap3;
+ unsigned long _hwcap4; /* End of 2nd published struct. */
};
typedef struct __ifunc_arg_t __ifunc_arg_t;
+/* Constants for IDs of HWCAP elements to be used with the
+ __ifunc_hwcap function below. */
+enum
+{
+ _IFUNC_ARG_AT_HWCAP = 1,
+ _IFUNC_ARG_AT_HWCAP2 = 2,
+ _IFUNC_ARG_AT_HWCAP3 = 3,
+ _IFUNC_ARG_AT_HWCAP4 = 4,
+};
+
+/* A helper function to obtain HWCAP element by its ID from the
+ parameters ARG0 and ARG1 passed to the ifunc resolver. Note that
+ ID 1 corresponds to AT_HWCAP, ID 2 corresponds to AT_HWCAP2, etc.
+ If there is no element available for the requested ID then 0 is
+ returned. If ID doesn't much any supported AT_HWCAP{,2,...} value,
+ then 0 is also returned. */
+static __inline unsigned long __attribute__ ((unused, always_inline))
+__ifunc_hwcap (unsigned long __id,
+ unsigned long __arg0, const unsigned long *__arg1)
+{
+ if (__glibc_likely (__arg0 & _IFUNC_ARG_HWCAP))
+ {
+ const unsigned long size = __arg1[0];
+ const unsigned long offset = __id * sizeof (unsigned long);
+ return offset < size && __id > 0 ? __arg1[__id] : 0;
+ }
+ return __id == 1 ? __arg0 : 0;
+}
+
#endif
diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h
index 9424115..f5e28cb 100644
--- a/sysdeps/aarch64/sysdep.h
+++ b/sysdeps/aarch64/sysdep.h
@@ -21,43 +21,15 @@
#include <sysdeps/generic/sysdep.h>
-#ifndef __ASSEMBLER__
-/* Strip pointer authentication code from pointer p. */
-static inline void *
-strip_pac (void *p)
-{
- register void *ra asm ("x30") = (p);
- asm ("hint 7 // xpaclri" : "+r"(ra));
- return ra;
-}
-
-/* This is needed when glibc is built with -mbranch-protection=pac-ret
- with a gcc that is affected by PR target/94891. */
-# if HAVE_AARCH64_PAC_RET
-# undef RETURN_ADDRESS
-# define RETURN_ADDRESS(n) strip_pac (__builtin_return_address (n))
-# endif
-#endif
-
#ifdef __ASSEMBLER__
+/* CFI directive for return address. */
+#define cfi_negate_ra_state .cfi_negate_ra_state
+
/* Syntactic details of assembler. */
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-/* Branch Target Identitication support. */
-#if HAVE_AARCH64_BTI
-# define BTI_C hint 34
-# define BTI_J hint 36
-#else
-# define BTI_C nop
-# define BTI_J nop
-#endif
-
-/* Return address signing support (pac-ret). */
-#define PACIASP hint 25
-#define AUTIASP hint 29
-
/* Guarded Control Stack support. */
#define CHKFEAT_X16 hint 40
#define MRS_GCSPR(x) mrs x, s3_3_c2_c5_1
@@ -87,11 +59,7 @@ strip_pac (void *p)
/* Add GNU property note with the supported features to all asm code
where sysdep.h is included. */
-#if HAVE_AARCH64_BTI && HAVE_AARCH64_PAC_RET
GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC|FEATURE_1_GCS)
-#elif HAVE_AARCH64_BTI
-GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
-#endif
/* Define an entry point visible from C. */
#define ENTRY(name) \
@@ -100,7 +68,7 @@ GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
.p2align 6; \
C_LABEL(name) \
cfi_startproc; \
- BTI_C; \
+ bti c; \
CALL_MCOUNT
/* Define an entry point visible from C. */
@@ -110,7 +78,7 @@ GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
.p2align align; \
C_LABEL(name) \
cfi_startproc; \
- BTI_C; \
+ bti c; \
CALL_MCOUNT
/* Define an entry point visible from C with a specified alignment and
@@ -127,7 +95,7 @@ GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
.endr; \
C_LABEL(name) \
cfi_startproc; \
- BTI_C; \
+ bti c; \
CALL_MCOUNT
#undef END
diff --git a/sysdeps/aarch64/tst-ifunc-arg-1.c b/sysdeps/aarch64/tst-ifunc-arg-1.c
index b90c836..292c5ae 100644
--- a/sysdeps/aarch64/tst-ifunc-arg-1.c
+++ b/sysdeps/aarch64/tst-ifunc-arg-1.c
@@ -57,6 +57,21 @@ do_test (void)
TEST_COMPARE (saved_arg2._size, sizeof (__ifunc_arg_t));
TEST_COMPARE (saved_arg2._hwcap, getauxval (AT_HWCAP));
TEST_COMPARE (saved_arg2._hwcap2, getauxval (AT_HWCAP2));
+ TEST_COMPARE (saved_arg2._hwcap3, getauxval (AT_HWCAP3));
+ TEST_COMPARE (saved_arg2._hwcap4, getauxval (AT_HWCAP4));
+
+ const unsigned long *saved_arg2_ptr = (const unsigned long *)&saved_arg2;
+
+ TEST_COMPARE (__ifunc_hwcap (1, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP));
+ TEST_COMPARE (__ifunc_hwcap (2, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP2));
+ TEST_COMPARE (__ifunc_hwcap (3, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP3));
+ TEST_COMPARE (__ifunc_hwcap (4, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP4));
+
+
return 0;
}
diff --git a/sysdeps/aarch64/tst-ifunc-arg-2.c b/sysdeps/aarch64/tst-ifunc-arg-2.c
index dac144d..c05129a 100644
--- a/sysdeps/aarch64/tst-ifunc-arg-2.c
+++ b/sysdeps/aarch64/tst-ifunc-arg-2.c
@@ -60,6 +60,20 @@ do_test (void)
TEST_COMPARE (saved_arg2._size, sizeof (__ifunc_arg_t));
TEST_COMPARE (saved_arg2._hwcap, getauxval (AT_HWCAP));
TEST_COMPARE (saved_arg2._hwcap2, getauxval (AT_HWCAP2));
+ TEST_COMPARE (saved_arg2._hwcap3, getauxval (AT_HWCAP3));
+ TEST_COMPARE (saved_arg2._hwcap4, getauxval (AT_HWCAP4));
+
+ const unsigned long *saved_arg2_ptr = (const unsigned long *)&saved_arg2;
+
+ TEST_COMPARE (__ifunc_hwcap (1, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP));
+ TEST_COMPARE (__ifunc_hwcap (2, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP2));
+ TEST_COMPARE (__ifunc_hwcap (3, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP3));
+ TEST_COMPARE (__ifunc_hwcap (4, saved_arg1, saved_arg2_ptr),
+ getauxval (AT_HWCAP4));
+
return 0;
}
diff --git a/sysdeps/aarch64/tst-ifunc-arg-3.c b/sysdeps/aarch64/tst-ifunc-arg-3.c
new file mode 100644
index 0000000..49d8866
--- /dev/null
+++ b/sysdeps/aarch64/tst-ifunc-arg-3.c
@@ -0,0 +1,97 @@
+/* Tests for __ifunc_hwcap helper function.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stdint.h>
+#include <sys/ifunc.h>
+#include <support/check.h>
+
+#define CHECK_VALUES_WITH_ARG(p1, p2, p3, p4) \
+ ({ \
+ TEST_COMPARE (__ifunc_hwcap (0, _IFUNC_ARG_HWCAP, arg), 0); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP, _IFUNC_ARG_HWCAP, arg), p1); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP2, _IFUNC_ARG_HWCAP, arg), p2); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP3, _IFUNC_ARG_HWCAP, arg), p3); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP4, _IFUNC_ARG_HWCAP, arg), p4); \
+ TEST_COMPARE (__ifunc_hwcap (5, _IFUNC_ARG_HWCAP, arg), 0); \
+ })
+
+#define CHECK_VALUES_WITHOUT_ARG(p1) \
+ ({ \
+ TEST_COMPARE (__ifunc_hwcap (0, p1, arg), 0); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP, p1, arg), p1); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP2, p1, arg), 0); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP3, p1, arg), 0); \
+ TEST_COMPARE (__ifunc_hwcap (_IFUNC_ARG_AT_HWCAP4, p1, arg), 0); \
+ TEST_COMPARE (__ifunc_hwcap (5, p1, arg), 0); \
+ })
+
+static void
+test_one (const unsigned long *arg)
+{
+ uint64_t size = arg[0] / sizeof (uint64_t);
+
+ switch (size)
+ {
+ case 1:
+ CHECK_VALUES_WITH_ARG (0, 0, 0, 0);
+ CHECK_VALUES_WITHOUT_ARG (0);
+ break;
+ case 2:
+ CHECK_VALUES_WITH_ARG (1, 0, 0, 0);
+ CHECK_VALUES_WITHOUT_ARG (1);
+ break;
+ case 3:
+ CHECK_VALUES_WITH_ARG (1, 2, 0, 0);
+ CHECK_VALUES_WITHOUT_ARG (1);
+ break;
+ case 4:
+ CHECK_VALUES_WITH_ARG (1, 2, 3, 0);
+ CHECK_VALUES_WITHOUT_ARG (1);
+ break;
+ case 5:
+ CHECK_VALUES_WITH_ARG (1, 2, 3, 4);
+ CHECK_VALUES_WITHOUT_ARG (1);
+ break;
+ default:
+ TEST_VERIFY (0); // unexpected size
+ break;
+ }
+}
+
+static int
+do_test (void)
+{
+ uint64_t arg[_IFUNC_HWCAP_MAX + 1] = {
+ 0, /* Placeholder for size */
+ _IFUNC_ARG_AT_HWCAP, /* AT_HWCAP */
+ _IFUNC_ARG_AT_HWCAP2, /* AT_HWCAP2 */
+ _IFUNC_ARG_AT_HWCAP3, /* AT_HWCAP3 */
+ _IFUNC_ARG_AT_HWCAP4, /* AT_HWCAP4 */
+ };
+
+ for (int k = 0; k <= _IFUNC_HWCAP_MAX; k++)
+ {
+ /* Update size */
+ arg[0] = (k + 1) * sizeof (uint64_t);
+ test_one (arg);
+ }
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/aarch64/tst-ifunc-arg-4.c b/sysdeps/aarch64/tst-ifunc-arg-4.c
new file mode 100644
index 0000000..c95ef9e
--- /dev/null
+++ b/sysdeps/aarch64/tst-ifunc-arg-4.c
@@ -0,0 +1,67 @@
+/* Test for ifunc resolver that uses __ifunc_hwcap helper function.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <sys/auxv.h>
+#include <sys/ifunc.h>
+#include <support/check.h>
+
+static int
+one (void)
+{
+ return 1;
+}
+
+static int
+two (void)
+{
+ return 2;
+}
+
+/* Resolver function. */
+static void *
+resolver (uint64_t arg0, const uint64_t arg1[])
+{
+ uint64_t hwcap2 = __ifunc_hwcap (_IFUNC_ARG_AT_HWCAP2, arg0, arg1);
+ if (hwcap2 & HWCAP2_POE)
+ return (void *)one;
+ else
+ return (void *)two;
+}
+
+/* An extern visible ifunc symbol. */
+int fun (void) __attribute__((ifunc ("resolver")));
+
+static int
+do_test (void)
+{
+ if (getauxval (AT_HWCAP2) & HWCAP2_POE)
+ {
+ printf ("using 1st implementation\n");
+ TEST_VERIFY (fun () == 1);
+ }
+ else
+ {
+ printf ("using 2nd implementation\n");
+ TEST_VERIFY (fun () == 2);
+ }
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/aarch64/tst-sme-helper.h b/sysdeps/aarch64/tst-sme-helper.h
new file mode 100644
index 0000000..f049416
--- /dev/null
+++ b/sysdeps/aarch64/tst-sme-helper.h
@@ -0,0 +1,97 @@
+/* Utility functions for SME tests.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* Streaming SVE vector register size. */
+static unsigned long svl;
+
+struct blk {
+ void *za_save_buffer;
+ uint16_t num_za_save_slices;
+ char __reserved[6];
+};
+
+/* Read SVCR to get SM (bit0) and ZA (bit1) state. */
+static unsigned long
+get_svcr (void)
+{
+ register unsigned long x0 asm ("x0");
+ asm volatile (
+ ".inst 0xd53b4240 /* mrs x0, svcr */\n"
+ : "=r" (x0));
+ return x0;
+}
+
+/* Returns tpidr2. */
+static void *
+get_tpidr2 (void)
+{
+ register unsigned long x0 asm ("x0");
+ asm volatile (
+ ".inst 0xd53bd0a0 /* mrs x0, tpidr2_el0 */\n"
+ : "=r"(x0) :: "memory");
+ return (void *) x0;
+}
+
+/* Obtains current streaming SVE vector register size. */
+static unsigned long
+get_svl (void)
+{
+ register unsigned long x0 asm ("x0");
+ asm volatile (
+ ".inst 0x04bf5820 /* rdsvl x0, 1 */\n"
+ : "=r" (x0));
+ return x0;
+}
+
+/* PSTATE.ZA = 1, set ZA state to active. */
+static void
+start_za (void)
+{
+ asm volatile (
+ ".inst 0xd503457f /* smstart za */");
+}
+
+/* Load data into ZA byte by byte from p. */
+static void __attribute__ ((noinline))
+load_za (const void *p)
+{
+ register unsigned long x15 asm ("x15") = 0;
+ register unsigned long x16 asm ("x16") = (unsigned long)p;
+ register unsigned long x17 asm ("x17") = svl;
+
+ asm volatile (
+ ".inst 0xd503437f /* smstart sm */\n"
+ ".L_ldr_loop:\n"
+ ".inst 0xe1006200 /* ldr za[w15, 0], [x16] */\n"
+ "add w15, w15, 1\n"
+ ".inst 0x04305030 /* addvl x16, x16, 1 */\n"
+ "cmp w15, w17\n"
+ "bne .L_ldr_loop\n"
+ ".inst 0xd503427f /* smstop sm */\n"
+ : "+r"(x15), "+r"(x16), "+r"(x17));
+}
+
+/* Set tpidr2 to BLK. */
+static void
+set_tpidr2 (struct blk *blk)
+{
+ register unsigned long x0 asm ("x0") = (unsigned long)blk;
+ asm volatile (
+ ".inst 0xd51bd0a0 /* msr tpidr2_el0, x0 */\n"
+ :: "r"(x0) : "memory");
+}
diff --git a/sysdeps/aarch64/tst-sme-jmp.c b/sysdeps/aarch64/tst-sme-jmp.c
index 62c419f..103897a 100644
--- a/sysdeps/aarch64/tst-sme-jmp.c
+++ b/sysdeps/aarch64/tst-sme-jmp.c
@@ -27,87 +27,12 @@
#include <support/support.h>
#include <support/test-driver.h>
-struct blk {
- void *za_save_buffer;
- uint16_t num_za_save_slices;
- char __reserved[6];
-};
+#include "tst-sme-helper.h"
-static unsigned long svl;
static uint8_t *za_orig;
static uint8_t *za_dump;
static uint8_t *za_save;
-static unsigned long
-get_svl (void)
-{
- register unsigned long x0 asm ("x0");
- asm volatile (
- ".inst 0x04bf5820 /* rdsvl x0, 1 */\n"
- : "=r" (x0));
- return x0;
-}
-
-/* PSTATE.ZA = 1, set ZA state to active. */
-static void
-start_za (void)
-{
- asm volatile (
- ".inst 0xd503457f /* smstart za */");
-}
-
-/* Read SVCR to get SM (bit0) and ZA (bit1) state. */
-static unsigned long
-get_svcr (void)
-{
- register unsigned long x0 asm ("x0");
- asm volatile (
- ".inst 0xd53b4240 /* mrs x0, svcr */\n"
- : "=r" (x0));
- return x0;
-}
-
-/* Load data into ZA byte by byte from p. */
-static void __attribute__ ((noinline))
-load_za (const void *p)
-{
- register unsigned long x15 asm ("x15") = 0;
- register unsigned long x16 asm ("x16") = (unsigned long)p;
- register unsigned long x17 asm ("x17") = svl;
-
- asm volatile (
- ".inst 0xd503437f /* smstart sm */\n"
- ".L_ldr_loop:\n"
- ".inst 0xe1006200 /* ldr za[w15, 0], [x16] */\n"
- "add w15, w15, 1\n"
- ".inst 0x04305030 /* addvl x16, x16, 1 */\n"
- "cmp w15, w17\n"
- "bne .L_ldr_loop\n"
- ".inst 0xd503427f /* smstop sm */\n"
- : "+r"(x15), "+r"(x16), "+r"(x17));
-}
-
-/* Set tpidr2 to BLK. */
-static void
-set_tpidr2 (struct blk *blk)
-{
- register unsigned long x0 asm ("x0") = (unsigned long)blk;
- asm volatile (
- ".inst 0xd51bd0a0 /* msr tpidr2_el0, x0 */\n"
- :: "r"(x0) : "memory");
-}
-
-/* Returns tpidr2. */
-static void *
-get_tpidr2 (void)
-{
- register unsigned long x0 asm ("x0");
- asm volatile (
- ".inst 0xd53bd0a0 /* mrs x0, tpidr2_el0 */\n"
- : "=r"(x0) :: "memory");
- return (void *) x0;
-}
-
static void
print_data(const char *msg, void *p)
{
@@ -168,8 +93,8 @@ longjmp_test (void)
{
p = get_tpidr2 ();
printf ("before longjmp: tp2 = %p\n", p);
- if (p != &blk)
- FAIL_EXIT1 ("tpidr2 is clobbered");
+ if (p != NULL)
+ FAIL_EXIT1 ("tpidr2 has not been reset to null");
do_longjmp (env);
FAIL_EXIT1 ("longjmp returned");
}
diff --git a/sysdeps/aarch64/tst-sme-za-state.c b/sysdeps/aarch64/tst-sme-za-state.c
new file mode 100644
index 0000000..63f6eeb
--- /dev/null
+++ b/sysdeps/aarch64/tst-sme-za-state.c
@@ -0,0 +1,119 @@
+/* Test for SME ZA state being cleared on setjmp and longjmp.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <setjmp.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/auxv.h>
+
+#include <support/check.h>
+#include <support/support.h>
+#include <support/test-driver.h>
+
+#include "tst-sme-helper.h"
+
+static uint8_t *state;
+
+static void
+enable_sme_za_state (struct blk *ptr)
+{
+ set_tpidr2 (ptr);
+ start_za ();
+ load_za (state);
+}
+
+static void
+check_sme_za_state (const char msg[], bool clear)
+{
+ unsigned long svcr = get_svcr ();
+ void *tpidr2 = get_tpidr2 ();
+ printf ("[%s]\n", msg);
+ printf ("svcr = %016lx\n", svcr);
+ printf ("tpidr2 = %016lx\n", (unsigned long)tpidr2);
+ if (clear)
+ {
+ TEST_VERIFY (svcr == 0);
+ TEST_VERIFY (tpidr2 == NULL);
+ }
+ else
+ {
+ TEST_VERIFY (svcr != 0);
+ TEST_VERIFY (tpidr2 != NULL);
+ }
+}
+
+static void
+run (struct blk *ptr)
+{
+ jmp_buf buf;
+ int ret;
+
+ check_sme_za_state ("initial state", /* Clear. */ true);
+
+ /* Enabled ZA state so that effect of disabling be observable. */
+ enable_sme_za_state (ptr);
+ check_sme_za_state ("before setjmp", /* Clear. */ false);
+
+ if ((ret = setjmp (buf)) == 0)
+ {
+ check_sme_za_state ("after setjmp", /* Clear. */ true);
+
+ /* Enabled ZA state so that effect of disabling be observable. */
+ enable_sme_za_state (ptr);
+ check_sme_za_state ("before longjmp", /* Clear. */ false);
+
+ longjmp (buf, 42);
+
+ /* Unreachable. */
+ TEST_VERIFY (false);
+ __builtin_unreachable ();
+ }
+
+ TEST_COMPARE (ret, 42);
+ check_sme_za_state ("after longjmp", /* Clear. */ true);
+}
+
+static int
+do_test (void)
+{
+ unsigned long hwcap2 = getauxval (AT_HWCAP2);
+ if ((hwcap2 & HWCAP2_SME) == 0)
+ return EXIT_UNSUPPORTED;
+
+ /* Get current streaming SVE vector register size. */
+ svl = get_svl ();
+ printf ("svl: %lu\n", svl);
+ TEST_VERIFY_EXIT (!(svl < 16 || svl % 16 != 0 || svl >= (1 << 16)));
+
+ /* Initialise buffer for ZA state of SME. */
+ state = xmalloc (svl * svl);
+ memset (state, 1, svl * svl);
+ struct blk blk = {
+ .za_save_buffer = state,
+ .num_za_save_slices = svl,
+ .__reserved = {0},
+ };
+
+ run (&blk);
+
+ free (state);
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/generic/getrandom-internal.h b/sysdeps/generic/getrandom-internal.h
index 7c54194..4872598 100644
--- a/sysdeps/generic/getrandom-internal.h
+++ b/sysdeps/generic/getrandom-internal.h
@@ -19,7 +19,7 @@
#ifndef _GETRANDOM_INTERNAL_H
#define _GETRANDOM_INTERNAL_H
-static inline void __getrandom_early_init (_Bool)
+static inline void __getrandom_early_init (_Bool initial)
{
}
diff --git a/sysdeps/generic/libc-tsd.h b/sysdeps/generic/libc-tsd.h
deleted file mode 100644
index b95e409..0000000
--- a/sysdeps/generic/libc-tsd.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* libc-internal interface for thread-specific data. Stub or TLS version.
- Copyright (C) 1998-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _GENERIC_LIBC_TSD_H
-#define _GENERIC_LIBC_TSD_H 1
-
-/* This file defines the following macros for accessing a small fixed
- set of thread-specific `void *' data used only internally by libc.
-
- __libc_tsd_define(CLASS, TYPE, KEY) -- Define or declare a datum with TYPE
- for KEY. CLASS can be `static' for
- keys used in only one source file,
- empty for global definitions, or
- `extern' for global declarations.
- __libc_tsd_address(TYPE, KEY) -- Return the `TYPE *' pointing to
- the current thread's datum for KEY.
- __libc_tsd_get(TYPE, KEY) -- Return the `TYPE' datum for KEY.
- __libc_tsd_set(TYPE, KEY, VALUE) -- Set the datum for KEY to VALUE.
-
- The set of available KEY's will usually be provided as an enum,
- and contains (at least):
- _LIBC_TSD_KEY_MALLOC
- _LIBC_TSD_KEY_DL_ERROR
- _LIBC_TSD_KEY_RPC_VARS
- All uses must be the literal _LIBC_TSD_* name in the __libc_tsd_* macros.
- Some implementations may not provide any enum at all and instead
- using string pasting in the macros. */
-
-#include <tls.h>
-
-/* When full support for __thread variables is available, this interface is
- just a trivial wrapper for it. Without TLS, this is the generic/stub
- implementation for wholly single-threaded systems.
-
- We don't define an enum for the possible key values, because the KEYs
- translate directly into variables by macro magic. */
-
-#define __libc_tsd_define(CLASS, TYPE, KEY) \
- CLASS __thread TYPE __libc_tsd_##KEY attribute_tls_model_ie;
-
-#define __libc_tsd_address(TYPE, KEY) (&__libc_tsd_##KEY)
-#define __libc_tsd_get(TYPE, KEY) (__libc_tsd_##KEY)
-#define __libc_tsd_set(TYPE, KEY, VALUE) (__libc_tsd_##KEY = (VALUE))
-
-#endif /* libc-tsd.h */
diff --git a/sysdeps/generic/sysdep.h b/sysdeps/generic/sysdep.h
index 4c0dda4..ef5eba2 100644
--- a/sysdeps/generic/sysdep.h
+++ b/sysdeps/generic/sysdep.h
@@ -45,6 +45,7 @@
# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off
# define cfi_offset(reg, off) .cfi_offset reg, off
# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off
+# define cfi_val_offset(reg, off) .cfi_val_offset reg, off
# define cfi_register(r1, r2) .cfi_register r1, r2
# define cfi_return_column(reg) .cfi_return_column reg
# define cfi_restore(reg) .cfi_restore reg
@@ -74,6 +75,8 @@
".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
# define CFI_REL_OFFSET(reg, off) \
".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
+# define CFI_VAL_OFFSET(reg, off) \
+ ".cfi_val_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
# define CFI_REGISTER(r1, r2) \
".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
# define CFI_RETURN_COLUMN(reg) \
diff --git a/sysdeps/gnu/netinet/tcp.h b/sysdeps/gnu/netinet/tcp.h
index b2acbb4..7a3500b 100644
--- a/sysdeps/gnu/netinet/tcp.h
+++ b/sysdeps/gnu/netinet/tcp.h
@@ -212,6 +212,9 @@ enum
# define TCPI_OPT_ECN 8 /* ECN was negotiated at TCP session init */
# define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */
# define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */
+# define TCPI_OPT_USEC_TS 64 /* usec timestamps */
+# define TCPI_OPT_TFO_CHILD 128 /* child from a Fast Open option on SYN */
+
/* Values for tcpi_state. */
enum tcp_ca_state
diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h
index 092eb35..e9977e4 100644
--- a/sysdeps/htl/libc-lockP.h
+++ b/sysdeps/htl/libc-lockP.h
@@ -126,15 +126,9 @@ libc_hidden_proto (__pthread_setcancelstate)
single-threaded processes. */
#if !defined(__NO_WEAK_PTHREAD_ALIASES) && !IS_IN (libpthread)
# ifdef weak_extern
-weak_extern (__pthread_key_create)
-weak_extern (__pthread_setspecific)
-weak_extern (__pthread_getspecific)
weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
# else
-# pragma weak __pthread_key_create
-# pragma weak __pthread_setspecific
-# pragma weak __pthread_getspecific
# pragma weak __pthread_initialize
# pragma weak __pthread_atfork
# endif
diff --git a/sysdeps/htl/pt-destroy-specific.c b/sysdeps/htl/pt-destroy-specific.c
index e63b807..b5eb0ba 100644
--- a/sysdeps/htl/pt-destroy-specific.c
+++ b/sysdeps/htl/pt-destroy-specific.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <pt-internal.h>
+#include <string.h>
void
__pthread_destroy_specific (struct __pthread *thread)
@@ -100,3 +101,4 @@ __pthread_destroy_specific (struct __pthread *thread)
memset (&thread->static_thread_specifics, 0,
sizeof (thread->static_thread_specifics));
}
+libc_hidden_def (__pthread_destroy_specific)
diff --git a/sysdeps/htl/pt-getspecific.c b/sysdeps/htl/pt-getspecific.c
index 0052ce8..d3ebb31 100644
--- a/sysdeps/htl/pt-getspecific.c
+++ b/sysdeps/htl/pt-getspecific.c
@@ -19,6 +19,7 @@
#include <pthread.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
void *
__pthread_getspecific (pthread_key_t key)
@@ -42,5 +43,9 @@ __pthread_getspecific (pthread_key_t key)
return self->thread_specifics[key];
}
-weak_alias (__pthread_getspecific, pthread_getspecific);
-hidden_def (__pthread_getspecific)
+libc_hidden_def (__pthread_getspecific)
+versioned_symbol (libc, __pthread_getspecific, pthread_getspecific, GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_getspecific, pthread_getspecific, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-key-create.c b/sysdeps/htl/pt-key-create.c
index cf8a8d1..92a9db8 100644
--- a/sysdeps/htl/pt-key-create.c
+++ b/sysdeps/htl/pt-key-create.c
@@ -22,6 +22,9 @@
#include <pt-internal.h>
#include <pthreadP.h>
+#include <shlib-compat.h>
+#include <ldsodefs.h>
+
pthread_mutex_t __pthread_key_lock;
pthread_once_t __pthread_key_once = PTHREAD_ONCE_INIT;
@@ -116,5 +119,9 @@ do_search:
__pthread_mutex_unlock (&__pthread_key_lock);
return 0;
}
-weak_alias (__pthread_key_create, pthread_key_create)
-hidden_def (__pthread_key_create)
+libc_hidden_def (__pthread_key_create)
+versioned_symbol (libc, __pthread_key_create, pthread_key_create, GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_key_create, pthread_key_create, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-key-delete.c b/sysdeps/htl/pt-key-delete.c
index 79879e9..666314f 100644
--- a/sysdeps/htl/pt-key-delete.c
+++ b/sysdeps/htl/pt-key-delete.c
@@ -19,6 +19,8 @@
#include <pthread.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
+#include <ldsodefs.h>
int
__pthread_key_delete (pthread_key_t key)
@@ -69,4 +71,9 @@ __pthread_key_delete (pthread_key_t key)
return err;
}
-weak_alias (__pthread_key_delete, pthread_key_delete)
+libc_hidden_def (__pthread_key_delete)
+versioned_symbol (libc, __pthread_key_delete, pthread_key_delete, GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_key_delete, pthread_key_delete, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-setspecific.c b/sysdeps/htl/pt-setspecific.c
index dfd55b6..0535225 100644
--- a/sysdeps/htl/pt-setspecific.c
+++ b/sysdeps/htl/pt-setspecific.c
@@ -19,6 +19,8 @@
#include <pthread.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
+#include <string.h>
int
__pthread_setspecific (pthread_key_t key, const void *value)
@@ -68,5 +70,9 @@ __pthread_setspecific (pthread_key_t key, const void *value)
self->thread_specifics[key] = (void *) value;
return 0;
}
-weak_alias (__pthread_setspecific, pthread_setspecific);
-hidden_def (__pthread_setspecific)
+libc_hidden_def (__pthread_setspecific)
+versioned_symbol (libc, __pthread_setspecific, pthread_setspecific, GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_setspecific, pthread_setspecific, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h
index 467d031..31d85cc 100644
--- a/sysdeps/htl/pthread-functions.h
+++ b/sysdeps/htl/pthread-functions.h
@@ -24,9 +24,6 @@
void __pthread_exit (void *) __attribute__ ((__noreturn__));
struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void);
int __pthread_once (pthread_once_t *, void (*) (void));
-int __pthread_key_create (pthread_key_t *, void (*) (void *));
-void *__pthread_getspecific (pthread_key_t);
-int __pthread_setspecific (pthread_key_t, const void *);
void _cthreads_flockfile (FILE *);
void _cthreads_funlockfile (FILE *);
@@ -40,9 +37,6 @@ struct pthread_functions
void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__));
struct __pthread_cancelation_handler **(*ptr___pthread_get_cleanup_stack) (void);
int (*ptr_pthread_once) (pthread_once_t *, void (*) (void));
- int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *));
- void *(*ptr___pthread_getspecific) (pthread_key_t);
- int (*ptr___pthread_setspecific) (pthread_key_t, const void *);
void (*ptr__IO_flockfile) (FILE *);
void (*ptr__IO_funlockfile) (FILE *);
int (*ptr__IO_ftrylockfile) (FILE *);
diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h
index 535deeb..64db024 100644
--- a/sysdeps/htl/pthreadP.h
+++ b/sysdeps/htl/pthreadP.h
@@ -182,9 +182,13 @@ int __cthread_keycreate (__cthread_key_t *);
int __cthread_getspecific (__cthread_key_t, void **);
int __cthread_setspecific (__cthread_key_t, void *);
int __pthread_key_create (pthread_key_t *key, void (*destr) (void *));
+libc_hidden_proto (__pthread_key_create)
void *__pthread_getspecific (pthread_key_t key);
+libc_hidden_proto (__pthread_getspecific)
int __pthread_setspecific (pthread_key_t key, const void *value);
+libc_hidden_proto (__pthread_setspecific)
int __pthread_key_delete (pthread_key_t key);
+libc_hidden_proto (__pthread_key_delete)
int __pthread_once (pthread_once_t *once_control, void (*init_routine) (void));
int __pthread_getattr_np (pthread_t, pthread_attr_t *);
@@ -216,9 +220,6 @@ libc_hidden_proto (__pthread_condattr_init)
#if IS_IN (libpthread)
hidden_proto (__pthread_create)
hidden_proto (__pthread_detach)
-hidden_proto (__pthread_key_create)
-hidden_proto (__pthread_getspecific)
-hidden_proto (__pthread_setspecific)
hidden_proto (__pthread_get_cleanup_stack)
#endif
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index a2e8c0b..ee6470d 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -30,7 +30,9 @@ stack-align-test-flags += -malign-double
endif
ifeq ($(subdir),elf)
-sysdep-dl-routines += tlsdesc dl-tlsdesc
+sysdep-dl-routines += \
+ dl-tls-get-addr \
+# sysdep-dl-routines
tests += tst-audit3
modules-names += tst-auditmod3a tst-auditmod3b
diff --git a/sysdeps/i386/dl-tls-get-addr.c b/sysdeps/i386/dl-tls-get-addr.c
new file mode 100644
index 0000000..c97e5c5
--- /dev/null
+++ b/sysdeps/i386/dl-tls-get-addr.c
@@ -0,0 +1,68 @@
+/* Ifunc selector for ___tls_get_addr.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifdef SHARED
+# define ___tls_get_addr __redirect____tls_get_addr
+# include <dl-tls.h>
+# undef ___tls_get_addr
+# undef __tls_get_addr
+
+# define SYMBOL_NAME ___tls_get_addr
+# include <init-arch.h>
+
+extern __typeof (REDIRECT_NAME) OPTIMIZE (fnsave) attribute_hidden;
+extern __typeof (REDIRECT_NAME) OPTIMIZE (fxsave) attribute_hidden;
+extern __typeof (REDIRECT_NAME) OPTIMIZE (xsave) attribute_hidden;
+extern __typeof (REDIRECT_NAME) OPTIMIZE (xsavec) attribute_hidden;
+
+static inline void *
+IFUNC_SELECTOR (void)
+{
+ const struct cpu_features* cpu_features = __get_cpu_features ();
+
+ if (cpu_features->xsave_state_size != 0)
+ {
+ if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC))
+ return OPTIMIZE (xsavec);
+ else
+ return OPTIMIZE (xsave);
+ }
+ else if (CPU_FEATURE_USABLE_P (cpu_features, FXSR))
+ return OPTIMIZE (fxsave);
+ return OPTIMIZE (fnsave);
+}
+
+libc_ifunc_redirected (__redirect____tls_get_addr, ___tls_get_addr,
+ IFUNC_SELECTOR ());
+
+/* The special thing about the x86 TLS ABI is that we have two
+ variants of the __tls_get_addr function with different calling
+ conventions. The GNU version, which we are mostly concerned here,
+ takes the parameter in a register. The name is changed by adding
+ an additional underscore at the beginning. The Sun version uses
+ the normal calling convention. */
+
+rtld_hidden_proto (___tls_get_addr)
+rtld_hidden_def (___tls_get_addr)
+
+void *
+__tls_get_addr (tls_index *ti)
+{
+ return ___tls_get_addr (ti);
+}
+#endif
diff --git a/sysdeps/i386/dl-tls.h b/sysdeps/i386/dl-tls.h
index f453931..ef605c5 100644
--- a/sysdeps/i386/dl-tls.h
+++ b/sysdeps/i386/dl-tls.h
@@ -37,34 +37,14 @@ typedef struct dl_tls_index
/* This is the prototype for the GNU version. */
extern void *___tls_get_addr (tls_index *ti)
__attribute__ ((__regparm__ (1)));
-extern void *___tls_get_addr_internal (tls_index *ti)
- __attribute__ ((__regparm__ (1))) attribute_hidden;
-
# if IS_IN (rtld)
-/* The special thing about the x86 TLS ABI is that we have two
- variants of the __tls_get_addr function with different calling
- conventions. The GNU version, which we are mostly concerned here,
- takes the parameter in a register. The name is changed by adding
- an additional underscore at the beginning. The Sun version uses
- the normal calling convention. */
-void *
-__tls_get_addr (tls_index *ti)
-{
- return ___tls_get_addr_internal (ti);
-}
-
-
/* Prepare using the definition of __tls_get_addr in the generic
version of this file. */
-# define __tls_get_addr __attribute__ ((__regparm__ (1))) ___tls_get_addr
-strong_alias (___tls_get_addr, ___tls_get_addr_internal)
-rtld_hidden_proto (___tls_get_addr)
-rtld_hidden_def (___tls_get_addr)
-#else
-
+# define __tls_get_addr \
+ __attribute__ ((__regparm__ (1))) ___tls_get_addr_internal
+# else
/* Users should get the better interface. */
-# define __tls_get_addr ___tls_get_addr
-
+# define __tls_get_addr ___tls_get_addr
# endif
#endif
diff --git a/sysdeps/i386/dl-tlsdesc-dynamic.h b/sysdeps/i386/dl-tlsdesc-dynamic.h
index 6aec06d..be9ecd6 100644
--- a/sysdeps/i386/dl-tlsdesc-dynamic.h
+++ b/sysdeps/i386/dl-tlsdesc-dynamic.h
@@ -16,34 +16,6 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#undef REGISTER_SAVE_AREA
-
-#if !defined USE_FNSAVE && (STATE_SAVE_ALIGNMENT % 16) != 0
-# error STATE_SAVE_ALIGNMENT must be multiple of 16
-#endif
-
-#if DL_RUNTIME_RESOLVE_REALIGN_STACK
-# ifdef USE_FNSAVE
-# error USE_FNSAVE shouldn't be defined
-# endif
-# ifdef USE_FXSAVE
-/* Use fxsave to save all registers. */
-# define REGISTER_SAVE_AREA 512
-# endif
-#else
-# ifdef USE_FNSAVE
-/* Use fnsave to save x87 FPU stack registers. */
-# define REGISTER_SAVE_AREA 108
-# else
-# ifndef USE_FXSAVE
-# error USE_FXSAVE must be defined
-# endif
-/* Use fxsave to save all registers. Add 12 bytes to align the stack
- to 16 bytes. */
-# define REGISTER_SAVE_AREA (512 + 12)
-# endif
-#endif
-
.hidden _dl_tlsdesc_dynamic
.global _dl_tlsdesc_dynamic
.type _dl_tlsdesc_dynamic,@function
@@ -104,85 +76,7 @@ _dl_tlsdesc_dynamic:
ret
.p2align 4,,7
2:
- cfi_adjust_cfa_offset (32)
-#if DL_RUNTIME_RESOLVE_REALIGN_STACK
- movl %ebx, -28(%esp)
- movl %esp, %ebx
- cfi_def_cfa_register(%ebx)
- and $-STATE_SAVE_ALIGNMENT, %esp
-#endif
-#ifdef REGISTER_SAVE_AREA
- subl $REGISTER_SAVE_AREA, %esp
-# if !DL_RUNTIME_RESOLVE_REALIGN_STACK
- cfi_adjust_cfa_offset(REGISTER_SAVE_AREA)
-# endif
-#else
-# if !DL_RUNTIME_RESOLVE_REALIGN_STACK
-# error DL_RUNTIME_RESOLVE_REALIGN_STACK must be true
-# endif
- /* Allocate stack space of the required size to save the state. */
- LOAD_PIC_REG (cx)
- subl RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_SIZE_OFFSET+_rtld_local_ro@GOTOFF(%ecx), %esp
-#endif
-#ifdef USE_FNSAVE
- fnsave (%esp)
-#elif defined USE_FXSAVE
- fxsave (%esp)
-#else
- /* Save the argument for ___tls_get_addr in EAX. */
- movl %eax, %ecx
- movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax
- xorl %edx, %edx
- /* Clear the XSAVE Header. */
-# ifdef USE_XSAVE
- movl %edx, (512)(%esp)
- movl %edx, (512 + 4 * 1)(%esp)
- movl %edx, (512 + 4 * 2)(%esp)
- movl %edx, (512 + 4 * 3)(%esp)
-# endif
- movl %edx, (512 + 4 * 4)(%esp)
- movl %edx, (512 + 4 * 5)(%esp)
- movl %edx, (512 + 4 * 6)(%esp)
- movl %edx, (512 + 4 * 7)(%esp)
- movl %edx, (512 + 4 * 8)(%esp)
- movl %edx, (512 + 4 * 9)(%esp)
- movl %edx, (512 + 4 * 10)(%esp)
- movl %edx, (512 + 4 * 11)(%esp)
- movl %edx, (512 + 4 * 12)(%esp)
- movl %edx, (512 + 4 * 13)(%esp)
- movl %edx, (512 + 4 * 14)(%esp)
- movl %edx, (512 + 4 * 15)(%esp)
-# ifdef USE_XSAVE
- xsave (%esp)
-# else
- xsavec (%esp)
-# endif
- /* Restore the argument for ___tls_get_addr in EAX. */
- movl %ecx, %eax
-#endif
- call HIDDEN_JUMPTARGET (___tls_get_addr)
- /* Get register content back. */
-#ifdef USE_FNSAVE
- frstor (%esp)
-#elif defined USE_FXSAVE
- fxrstor (%esp)
-#else
- /* Save and retore ___tls_get_addr return value stored in EAX. */
- movl %eax, %ecx
- movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax
- xorl %edx, %edx
- xrstor (%esp)
- movl %ecx, %eax
-#endif
-#if DL_RUNTIME_RESOLVE_REALIGN_STACK
- mov %ebx, %esp
- cfi_def_cfa_register(%esp)
- movl -28(%esp), %ebx
- cfi_restore(%ebx)
-#else
- addl $REGISTER_SAVE_AREA, %esp
- cfi_adjust_cfa_offset(-REGISTER_SAVE_AREA)
-#endif
+#include "tls-get-addr-wrapper.h"
jmp 1b
cfi_endproc
.size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic
diff --git a/sysdeps/i386/dl-tlsdesc.S b/sysdeps/i386/dl-tlsdesc.S
index c080993..c914ca4 100644
--- a/sysdeps/i386/dl-tlsdesc.S
+++ b/sysdeps/i386/dl-tlsdesc.S
@@ -22,23 +22,6 @@
#include <features-offsets.h>
#include "tlsdesc.h"
-#ifndef DL_STACK_ALIGNMENT
-/* Due to GCC bug:
-
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
-
- __tls_get_addr may be called with 4-byte stack alignment. Although
- this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume
- that stack will be always aligned at 16 bytes. */
-# define DL_STACK_ALIGNMENT 4
-#endif
-
-/* True if _dl_tlsdesc_dynamic should align stack for STATE_SAVE or align
- stack to MINIMUM_ALIGNMENT bytes before calling ___tls_get_addr. */
-#define DL_RUNTIME_RESOLVE_REALIGN_STACK \
- (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \
- || MINIMUM_ALIGNMENT > DL_STACK_ALIGNMENT)
-
.text
/* This function is used to compute the TP offset for symbols in
diff --git a/sysdeps/i386/fpu/e_ilogb.S b/sysdeps/i386/fpu/e_ilogb.S
deleted file mode 100644
index f4b792c..0000000
--- a/sysdeps/i386/fpu/e_ilogb.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Public domain.
- */
-
-#include <machine/asm.h>
-
-RCSID("$NetBSD: s_ilogb.S,v 1.5 1995/10/12 15:53:09 jtc Exp $")
-
-ENTRY(__ieee754_ilogb)
- fldl 4(%esp)
-/* I added the following ugly construct because ilogb(+-Inf) is
- required to return INT_MAX in ISO C99.
- -- jakub@redhat.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
- cmpb $0x40, %dh
- je 2f /* Is +-0, jump. */
-
- fxtract
- pushl %eax
- cfi_adjust_cfa_offset (4)
- fstp %st
-
- fistpl (%esp)
- fwait
- popl %eax
- cfi_adjust_cfa_offset (-4)
-
- ret
-
-1: fstp %st
- movl $0x7fffffff, %eax
- ret
-2: fstp %st
- movl $0x80000000, %eax /* FP_ILOGB0 */
- ret
-END (__ieee754_ilogb)
diff --git a/sysdeps/i386/fpu/e_ilogbf.S b/sysdeps/i386/fpu/e_ilogbf.S
deleted file mode 100644
index 37298b9..0000000
--- a/sysdeps/i386/fpu/e_ilogbf.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Public domain.
- */
-
-#include <machine/asm.h>
-
-RCSID("$NetBSD: s_ilogbf.S,v 1.4 1995/10/22 20:32:43 pk Exp $")
-
-ENTRY(__ieee754_ilogbf)
- flds 4(%esp)
-/* I added the following ugly construct because ilogb(+-Inf) is
- required to return INT_MAX in ISO C99.
- -- jakub@redhat.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
- cmpb $0x40, %dh
- je 2f /* Is +-0, jump. */
-
- fxtract
- pushl %eax
- cfi_adjust_cfa_offset (4)
- fstp %st
-
- fistpl (%esp)
- fwait
- popl %eax
- cfi_adjust_cfa_offset (-4)
-
- ret
-
-1: fstp %st
- movl $0x7fffffff, %eax
- ret
-2: fstp %st
- movl $0x80000000, %eax /* FP_ILOGB0 */
- ret
-END (__ieee754_ilogbf)
diff --git a/sysdeps/i386/fpu/math_err.c b/sysdeps/i386/fpu/math_err.c
deleted file mode 100644
index 1cc8931..0000000
--- a/sysdeps/i386/fpu/math_err.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/sysdeps/i386/tls-get-addr-wrapper.h b/sysdeps/i386/tls-get-addr-wrapper.h
new file mode 100644
index 0000000..0708e5a
--- /dev/null
+++ b/sysdeps/i386/tls-get-addr-wrapper.h
@@ -0,0 +1,127 @@
+/* Wrapper of i386 ___tls_get_addr to save and restore vector registers.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#undef REGISTER_SAVE_AREA
+
+#if !defined USE_FNSAVE && (STATE_SAVE_ALIGNMENT % 16) != 0
+# error STATE_SAVE_ALIGNMENT must be multiple of 16
+#endif
+
+#if DL_RUNTIME_RESOLVE_REALIGN_STACK
+# ifdef USE_FNSAVE
+# error USE_FNSAVE shouldn't be defined
+# endif
+# ifdef USE_FXSAVE
+/* Use fxsave to save all registers. */
+# define REGISTER_SAVE_AREA 512
+# endif
+#else
+# ifdef USE_FNSAVE
+/* Use fnsave to save x87 FPU stack registers. */
+# define REGISTER_SAVE_AREA 108
+# else
+# ifndef USE_FXSAVE
+# error USE_FXSAVE must be defined
+# endif
+/* Use fxsave to save all registers. Add 12 bytes to align the stack
+ to 16 bytes. */
+# define REGISTER_SAVE_AREA (512 + 12)
+# endif
+#endif
+
+#if DL_RUNTIME_RESOLVE_REALIGN_STACK
+ movl %ebx, 28(%esp)
+ movl %esp, %ebx
+ cfi_def_cfa_register(%ebx)
+ and $-STATE_SAVE_ALIGNMENT, %esp
+#endif
+#ifdef REGISTER_SAVE_AREA
+ subl $REGISTER_SAVE_AREA, %esp
+# if !DL_RUNTIME_RESOLVE_REALIGN_STACK
+ cfi_adjust_cfa_offset(REGISTER_SAVE_AREA)
+# endif
+#else
+# if !DL_RUNTIME_RESOLVE_REALIGN_STACK
+# error DL_RUNTIME_RESOLVE_REALIGN_STACK must be true
+# endif
+ /* Allocate stack space of the required size to save the state. */
+ LOAD_PIC_REG (cx)
+ subl RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET \
+ +XSAVE_STATE_SIZE_OFFSET+_rtld_local_ro@GOTOFF(%ecx), %esp
+#endif
+#ifdef USE_FNSAVE
+ fnsave (%esp)
+#elif defined USE_FXSAVE
+ fxsave (%esp)
+#else
+ /* Save the argument for ___tls_get_addr in EAX. */
+ movl %eax, %ecx
+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax
+ xorl %edx, %edx
+ /* Clear the XSAVE Header. */
+# ifdef USE_XSAVE
+ movl %edx, (512)(%esp)
+ movl %edx, (512 + 4 * 1)(%esp)
+ movl %edx, (512 + 4 * 2)(%esp)
+ movl %edx, (512 + 4 * 3)(%esp)
+# endif
+ movl %edx, (512 + 4 * 4)(%esp)
+ movl %edx, (512 + 4 * 5)(%esp)
+ movl %edx, (512 + 4 * 6)(%esp)
+ movl %edx, (512 + 4 * 7)(%esp)
+ movl %edx, (512 + 4 * 8)(%esp)
+ movl %edx, (512 + 4 * 9)(%esp)
+ movl %edx, (512 + 4 * 10)(%esp)
+ movl %edx, (512 + 4 * 11)(%esp)
+ movl %edx, (512 + 4 * 12)(%esp)
+ movl %edx, (512 + 4 * 13)(%esp)
+ movl %edx, (512 + 4 * 14)(%esp)
+ movl %edx, (512 + 4 * 15)(%esp)
+# ifdef USE_XSAVE
+ xsave (%esp)
+# else
+ xsavec (%esp)
+# endif
+ /* Restore the argument for ___tls_get_addr in EAX. */
+ movl %ecx, %eax
+#endif
+ call ___tls_get_addr_internal
+ /* Get register content back. */
+#ifdef USE_FNSAVE
+ frstor (%esp)
+#elif defined USE_FXSAVE
+ fxrstor (%esp)
+#else
+ /* Save and retore ___tls_get_addr return value stored in EAX. */
+ movl %eax, %ecx
+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax
+ xorl %edx, %edx
+ xrstor (%esp)
+ movl %ecx, %eax
+#endif
+#if DL_RUNTIME_RESOLVE_REALIGN_STACK
+ mov %ebx, %esp
+ cfi_def_cfa_register(%esp)
+ movl 28(%esp), %ebx
+ cfi_restore(%ebx)
+#else
+ addl $REGISTER_SAVE_AREA, %esp
+ cfi_adjust_cfa_offset(-REGISTER_SAVE_AREA)
+#endif
+
+#undef STATE_SAVE_ALIGNMENT
diff --git a/sysdeps/i386/tls_get_addr.S b/sysdeps/i386/tls_get_addr.S
new file mode 100644
index 0000000..7d143d8
--- /dev/null
+++ b/sysdeps/i386/tls_get_addr.S
@@ -0,0 +1,57 @@
+/* Thread-local storage handling in the ELF dynamic linker. i386 version.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include <tls.h>
+#include <cpu-features-offsets.h>
+#include <features-offsets.h>
+
+ .text
+#ifdef SHARED
+# define USE_FNSAVE
+# define MINIMUM_ALIGNMENT 4
+# define STATE_SAVE_ALIGNMENT 4
+# define ___tls_get_addr _____tls_get_addr_fnsave
+# include "tls_get_addr.h"
+# undef ___tls_get_addr
+# undef MINIMUM_ALIGNMENT
+# undef USE_FNSAVE
+
+# define MINIMUM_ALIGNMENT 16
+
+# define USE_FXSAVE
+# define STATE_SAVE_ALIGNMENT 16
+# define ___tls_get_addr _____tls_get_addr_fxsave
+# include "tls_get_addr.h"
+# undef ___tls_get_addr
+# undef USE_FXSAVE
+
+# define USE_XSAVE
+# define STATE_SAVE_ALIGNMENT 64
+# define ___tls_get_addr _____tls_get_addr_xsave
+# include "tls_get_addr.h"
+# undef ___tls_get_addr
+# undef USE_XSAVE
+
+# define USE_XSAVEC
+# define STATE_SAVE_ALIGNMENT 64
+# define ___tls_get_addr _____tls_get_addr_xsavec
+# include "tls_get_addr.h"
+# undef ___tls_get_addr
+# undef USE_XSAVEC
+#endif /* SHARED */
diff --git a/sysdeps/i386/tls_get_addr.h b/sysdeps/i386/tls_get_addr.h
new file mode 100644
index 0000000..1825798
--- /dev/null
+++ b/sysdeps/i386/tls_get_addr.h
@@ -0,0 +1,42 @@
+/* Thread-local storage handling in the ELF dynamic linker. i386 version.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+ .hidden ___tls_get_addr
+ .global ___tls_get_addr
+ .type ___tls_get_addr,@function
+
+ /* This function is a wrapper of ___tls_get_addr_internal to
+ preserve caller-saved vector registers. */
+
+ cfi_startproc
+ .align 16
+___tls_get_addr:
+ /* Like all TLS resolvers, preserve call-clobbered registers.
+ We need two scratch regs anyway. */
+ subl $32, %esp
+ cfi_adjust_cfa_offset (32)
+ movl %ecx, 20(%esp)
+ movl %edx, 24(%esp)
+#include "tls-get-addr-wrapper.h"
+ movl 20(%esp), %ecx
+ movl 24(%esp), %edx
+ addl $32, %esp
+ cfi_adjust_cfa_offset (-32)
+ ret
+ cfi_endproc
+ .size ___tls_get_addr, .-___tls_get_addr
diff --git a/sysdeps/ieee754/dbl-64/e_ilogb.c b/sysdeps/ieee754/dbl-64/e_ilogb.c
index 1e338a5..1ea2f23 100644
--- a/sysdeps/ieee754/dbl-64/e_ilogb.c
+++ b/sysdeps/ieee754/dbl-64/e_ilogb.c
@@ -1,63 +1 @@
-/* @(#)s_ilogb.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#if defined(LIBM_SCCS) && !defined(lint)
-static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $";
-#endif
-
-/* ilogb(double x)
- * return the binary exponent of non-zero x
- * ilogb(0) = FP_ILOGB0
- * ilogb(NaN) = FP_ILOGBNAN (no signal is raised)
- * ilogb(+-Inf) = INT_MAX (no signal is raised)
- */
-
-#include <limits.h>
-#include <math.h>
-#include <math_private.h>
-
-int
-__ieee754_ilogb (double x)
-{
- int32_t hx, lx, ix;
-
- GET_HIGH_WORD (hx, x);
- hx &= 0x7fffffff;
- if (hx < 0x00100000)
- {
- GET_LOW_WORD (lx, x);
- if ((hx | lx) == 0)
- return FP_ILOGB0; /* ilogb(0) = FP_ILOGB0 */
- else /* subnormal x */
- if (hx == 0)
- {
- for (ix = -1043; lx > 0; lx <<= 1)
- ix -= 1;
- }
- else
- {
- for (ix = -1022, hx <<= 11; hx > 0; hx <<= 1)
- ix -= 1;
- }
- return ix;
- }
- else if (hx < 0x7ff00000)
- return (hx >> 20) - 1023;
- else if (FP_ILOGBNAN != INT_MAX)
- {
- /* ISO C99 requires ilogb(+-Inf) == INT_MAX. */
- GET_LOW_WORD (lx, x);
- if (((hx ^ 0x7ff00000) | lx) == 0)
- return INT_MAX;
- }
- return FP_ILOGBNAN;
-}
+/* ilogb is implemented at w_ilogb.c */
diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h
index 3382e38..d9288c4 100644
--- a/sysdeps/ieee754/dbl-64/math_config.h
+++ b/sysdeps/ieee754/dbl-64/math_config.h
@@ -109,6 +109,7 @@ issignaling_inline (double x)
#define BIT_WIDTH 64
#define MANTISSA_WIDTH 52
#define EXPONENT_WIDTH 11
+#define EXPONENT_BIAS 1023
#define MANTISSA_MASK UINT64_C(0x000fffffffffffff)
#define EXPONENT_MASK UINT64_C(0x7ff0000000000000)
#define EXP_MANT_MASK UINT64_C(0x7fffffffffffffff)
@@ -121,12 +122,24 @@ is_nan (uint64_t x)
return (x & EXP_MANT_MASK) > EXPONENT_MASK;
}
+static inline bool
+is_inf (uint64_t x)
+{
+ return (x << 1) == (EXPONENT_MASK << 1);
+}
+
static inline uint64_t
get_mantissa (uint64_t x)
{
return x & MANTISSA_MASK;
}
+static inline int
+get_exponent (uint64_t x)
+{
+ return (int)((x >> MANTISSA_WIDTH & 0x7ff) - EXPONENT_BIAS);
+}
+
/* Convert integer number X, unbiased exponent EP, and sign S to double:
result = X * 2^(EP+1 - exponent_bias)
@@ -164,6 +177,8 @@ attribute_hidden double __math_divzero (uint32_t);
/* Invalid input unless it is a quiet NaN. */
attribute_hidden double __math_invalid (double);
+attribute_hidden int __math_invalid_i (int);
+attribute_hidden long int __math_invalid_li (long int);
/* Error handling using output checking, only for errno setting. */
diff --git a/sysdeps/ieee754/dbl-64/math_err.c b/sysdeps/ieee754/dbl-64/math_err.c
index 4a07fd5..b8c645a 100644
--- a/sysdeps/ieee754/dbl-64/math_err.c
+++ b/sysdeps/ieee754/dbl-64/math_err.c
@@ -29,8 +29,24 @@ with_errno (double y, int e)
errno = e;
return y;
}
+
+NOINLINE static int
+with_errno_i (int y, int e)
+{
+ errno = e;
+ return y;
+}
+
+NOINLINE static long int
+with_errno_li (long int y, int e)
+{
+ errno = e;
+ return y;
+}
#else
#define with_errno(x, e) (x)
+#define with_errno_i(x, e) (x)
+#define with_errno_li(x, e) (x)
#endif
attribute_hidden double
@@ -83,6 +99,22 @@ __math_invalid (double x)
return isnan (x) ? y : with_errno (y, EDOM);
}
+attribute_hidden int
+__math_invalid_i (int r)
+{
+ double y = 0.0 / 0.0;
+ math_force_eval (y);
+ return with_errno_i (r, EDOM);
+}
+
+attribute_hidden long int
+__math_invalid_li (long int r)
+{
+ double y = 0.0 / 0.0;
+ math_force_eval (y);
+ return with_errno_li (r, EDOM);
+}
+
/* Check result and set errno if necessary. */
attribute_hidden double
diff --git a/sysdeps/ieee754/dbl-64/s_modf.c b/sysdeps/ieee754/dbl-64/s_modf.c
index 0de2084..90cd8e8 100644
--- a/sysdeps/ieee754/dbl-64/s_modf.c
+++ b/sysdeps/ieee754/dbl-64/s_modf.c
@@ -1,63 +1,68 @@
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
+/* Extract signed integral and fractional values.
+ Copyright (C) 1993-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
-/*
- * modf(double x, double *iptr)
- * return fraction part of x, and return x's integral part in *iptr.
- * Method:
- * Bit twiddling.
- *
- * Exception:
- * No exception.
- */
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#include <math.h>
-#include <math_private.h>
#include <libm-alias-double.h>
-#include <stdint.h>
-
-static const double one = 1.0;
+#include "math_config.h"
+#include <math-use-builtins-trunc.h>
double
-__modf(double x, double *iptr)
+__modf (double x, double *iptr)
{
- int64_t i0;
- int32_t j0;
- EXTRACT_WORDS64(i0,x);
- j0 = ((i0>>52)&0x7ff)-0x3ff; /* exponent of x */
- if(j0<52) { /* integer part in x */
- if(j0<0) { /* |x|<1 */
- /* *iptr = +-0 */
- INSERT_WORDS64(*iptr,i0&UINT64_C(0x8000000000000000));
- return x;
- } else {
- uint64_t i = UINT64_C(0x000fffffffffffff)>>j0;
- if((i0&i)==0) { /* x is integral */
- *iptr = x;
- /* return +-0 */
- INSERT_WORDS64(x,i0&UINT64_C(0x8000000000000000));
- return x;
- } else {
- INSERT_WORDS64(*iptr,i0&(~i));
- return x - *iptr;
- }
- }
- } else { /* no fraction part */
- *iptr = x*one;
- /* We must handle NaNs separately. */
- if (j0 == 0x400 && (i0 & UINT64_C(0xfffffffffffff)))
- return x*one;
- INSERT_WORDS64(x,i0&UINT64_C(0x8000000000000000)); /* return +-0 */
- return x;
+ uint64_t t = asuint64 (x);
+#if USE_TRUNC_BUILTIN
+ if (is_inf (t))
+ {
+ *iptr = x;
+ return copysign (0.0, x);
+ }
+ *iptr = trunc (x);
+ return copysign (x - *iptr, x);
+#else
+ int e = get_exponent (t);
+ /* No fraction part. */
+ if (e < MANTISSA_WIDTH)
+ {
+ if (e < 0)
+ {
+ /* |x|<1 -> *iptr = +-0 */
+ *iptr = asdouble (t & SIGN_MASK);
+ return x;
+ }
+
+ uint64_t i = MANTISSA_MASK >> e;
+ if ((t & i) == 0)
+ {
+ /* x in integral, return +-0 */
+ *iptr = x;
+ return asdouble (t & SIGN_MASK);
}
+
+ *iptr = asdouble (t & ~i);
+ return x - *iptr;
+ }
+
+ /* Set invalid operation for sNaN. */
+ *iptr = x * 1.0;
+ if ((e == 0x400) && (t & MANTISSA_MASK))
+ return *iptr;
+ return asdouble (t & SIGN_MASK);
+#endif
}
#ifndef __modf
libm_alias_double (__modf, modf)
diff --git a/sysdeps/ieee754/dbl-64/w_ilogb-impl.h b/sysdeps/ieee754/dbl-64/w_ilogb-impl.h
new file mode 100644
index 0000000..c919735
--- /dev/null
+++ b/sysdeps/ieee754/dbl-64/w_ilogb-impl.h
@@ -0,0 +1,37 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+static inline RET_TYPE
+IMPL_NAME (double x)
+{
+ uint64_t ux = asuint64 (x);
+ int ex = (ux & ~SIGN_MASK) >> MANTISSA_WIDTH;
+ if (__glibc_unlikely (ex == 0)) /* zero or subnormal */
+ {
+ /* Clear sign and exponent */
+ ux <<= 12;
+ if (ux == 0)
+ return RET_INVALID (RET_LOGB0);
+ /* subnormal */
+ return (RET_TYPE)-1023 - stdc_leading_zeros (ux);
+ }
+ if (__glibc_unlikely (ex == EXPONENT_MASK >> MANTISSA_WIDTH))
+ /* NaN or Inf */
+ return RET_INVALID (ux << 12 ? RET_LOGBNAN : RET_LOGMAX);
+ return ex - 1023;
+}
diff --git a/sysdeps/ieee754/dbl-64/w_ilogb.c b/sysdeps/ieee754/dbl-64/w_ilogb.c
new file mode 100644
index 0000000..e460f14
--- /dev/null
+++ b/sysdeps/ieee754/dbl-64/w_ilogb.c
@@ -0,0 +1,52 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <limits.h>
+#include <math.h>
+#include <stdbit.h>
+#include <libm-alias-double.h>
+#include "math_config.h"
+
+#ifdef DEF_AS_LLOGB
+# define DECL_NAME __llogb
+# define FUNC_NAME llogb
+# define RET_TYPE long int
+# define RET_LOGB0 FP_LLOGB0
+# define RET_LOGBNAN FP_LLOGBNAN
+# define RET_LOGMAX LONG_MAX
+# define RET_INVALID __math_invalid_li
+#else
+# define DECL_NAME __ilogb
+# define FUNC_NAME ilogb
+# define RET_TYPE int
+# define RET_LOGB0 FP_ILOGB0
+# define RET_LOGBNAN FP_ILOGBNAN
+# define RET_LOGMAX INT_MAX
+# define RET_INVALID __math_invalid_i
+#endif
+#define __IMPL_NAME(x,y) x ## _ ## y
+#define _IMPL_NAME(x,y) __IMPL_NAME(x,y)
+#define IMPL_NAME _IMPL_NAME(FUNC_NAME, impl)
+#include <w_ilogb-impl.h>
+
+RET_TYPE
+DECL_NAME (double x)
+{
+ return IMPL_NAME (x);
+}
+libm_alias_double (DECL_NAME, FUNC_NAME)
diff --git a/sysdeps/ieee754/dbl-64/w_llogb.c b/sysdeps/ieee754/dbl-64/w_llogb.c
new file mode 100644
index 0000000..c984cd15
--- /dev/null
+++ b/sysdeps/ieee754/dbl-64/w_llogb.c
@@ -0,0 +1,2 @@
+#define DEF_AS_LLOGB
+#include "w_ilogb.c"
diff --git a/sysdeps/ieee754/flt-32/e_ilogbf.c b/sysdeps/ieee754/flt-32/e_ilogbf.c
index db24012..a27fb94 100644
--- a/sysdeps/ieee754/flt-32/e_ilogbf.c
+++ b/sysdeps/ieee754/flt-32/e_ilogbf.c
@@ -1,43 +1 @@
-/* s_ilogbf.c -- float version of s_ilogb.c.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#if defined(LIBM_SCCS) && !defined(lint)
-static char rcsid[] = "$NetBSD: s_ilogbf.c,v 1.4 1995/05/10 20:47:31 jtc Exp $";
-#endif
-
-#include <limits.h>
-#include <math.h>
-#include <math_private.h>
-
-int __ieee754_ilogbf(float x)
-{
- int32_t hx,ix;
-
- GET_FLOAT_WORD(hx,x);
- hx &= 0x7fffffff;
- if(hx<0x00800000) {
- if(hx==0)
- return FP_ILOGB0; /* ilogb(0) = FP_ILOGB0 */
- else /* subnormal x */
- for (ix = -126,hx<<=8; hx>0; hx<<=1) ix -=1;
- return ix;
- }
- else if (hx<0x7f800000) return (hx>>23)-127;
- else if (FP_ILOGBNAN != INT_MAX) {
- /* ISO C99 requires ilogbf(+-Inf) == INT_MAX. */
- if (hx==0x7f800000)
- return INT_MAX;
- }
- return FP_ILOGBNAN;
-}
+/* ilogbf is implemented at w_ilogbf.c */
diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h
index 8d9c8ee..33ea631 100644
--- a/sysdeps/ieee754/flt-32/math_config.h
+++ b/sysdeps/ieee754/flt-32/math_config.h
@@ -165,6 +165,7 @@ issignalingf_inline (float x)
#define BIT_WIDTH 32
#define MANTISSA_WIDTH 23
#define EXPONENT_WIDTH 8
+#define EXPONENT_BIAS 127
#define MANTISSA_MASK 0x007fffff
#define EXPONENT_MASK 0x7f800000
#define EXP_MANT_MASK 0x7fffffff
@@ -177,12 +178,24 @@ is_nan (uint32_t x)
return (x & EXP_MANT_MASK) > EXPONENT_MASK;
}
+static inline bool
+is_inf (uint32_t x)
+{
+ return (x << 1) == (EXPONENT_MASK << 1);
+}
+
static inline uint32_t
get_mantissa (uint32_t x)
{
return x & MANTISSA_MASK;
}
+static inline int
+get_exponent (uint32_t x)
+{
+ return (int)((x >> MANTISSA_WIDTH & 0xff) - EXPONENT_BIAS);
+}
+
/* Convert integer number X, unbiased exponent EP, and sign S to double:
result = X * 2^(EP+1 - exponent_bias)
@@ -208,6 +221,8 @@ attribute_hidden float __math_uflowf (uint32_t);
attribute_hidden float __math_may_uflowf (uint32_t);
attribute_hidden float __math_divzerof (uint32_t);
attribute_hidden float __math_invalidf (float);
+attribute_hidden int __math_invalidf_i (int);
+attribute_hidden long int __math_invalidf_li (long int);
attribute_hidden float __math_edomf (float x);
/* Shared between expf, exp2f, exp10f, and powf. */
diff --git a/sysdeps/ieee754/flt-32/math_errf.c b/sysdeps/ieee754/flt-32/math_errf.c
index edcc4c0..244e38a 100644
--- a/sysdeps/ieee754/flt-32/math_errf.c
+++ b/sysdeps/ieee754/flt-32/math_errf.c
@@ -16,6 +16,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#include <math-barriers.h>
#include "math_config.h"
#if WANT_ERRNO
@@ -27,8 +28,24 @@ with_errnof (float y, int e)
errno = e;
return y;
}
+
+NOINLINE static int
+with_errnof_i (int y, int e)
+{
+ errno = e;
+ return y;
+}
+
+NOINLINE static long int
+with_errnof_li (long int y, int e)
+{
+ errno = e;
+ return y;
+}
#else
# define with_errnof(x, e) (x)
+# define with_errnof_i(x, x) (x)
+# define with_errnof_li(x, x) (x)
#endif
attribute_hidden float
@@ -80,3 +97,19 @@ __math_invalidf (float x)
float y = (x - x) / (x - x);
return isnan (x) ? y : with_errnof (y, EDOM);
}
+
+attribute_hidden int
+__math_invalidf_i (int x)
+{
+ float y = 0.0f / 0.0f;
+ math_force_eval (y);
+ return with_errnof_i (x, EDOM);
+}
+
+attribute_hidden long int
+__math_invalidf_li (long int x)
+{
+ float y = 0.0f / 0.0f;
+ math_force_eval (y);
+ return with_errnof_li (x, EDOM);
+}
diff --git a/sysdeps/ieee754/flt-32/s_modff.c b/sysdeps/ieee754/flt-32/s_modff.c
index ad2e91d..965136b 100644
--- a/sysdeps/ieee754/flt-32/s_modff.c
+++ b/sysdeps/ieee754/flt-32/s_modff.c
@@ -1,54 +1,69 @@
-/* s_modff.c -- float version of s_modf.c.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
+/* Extract signed integral and fractional values.
+ Copyright (C) 1993-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#include <math.h>
-#include <math_private.h>
#include <libm-alias-float.h>
-
-static const float one = 1.0;
+#include "math_config.h"
+#include <math-use-builtins-trunc.h>
float
-__modff(float x, float *iptr)
+__modff (float x, float *iptr)
{
- int32_t i0,j0;
- uint32_t i;
- GET_FLOAT_WORD(i0,x);
- j0 = ((i0>>23)&0xff)-0x7f; /* exponent of x */
- if(__builtin_expect(j0<23, 1)) { /* integer part in x */
- if(j0<0) { /* |x|<1 */
- SET_FLOAT_WORD(*iptr,i0&0x80000000); /* *iptr = +-0 */
- return x;
- } else {
- i = (0x007fffff)>>j0;
- if((i0&i)==0) { /* x is integral */
- uint32_t ix;
- *iptr = x;
- GET_FLOAT_WORD(ix,x);
- SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */
- return x;
- } else {
- SET_FLOAT_WORD(*iptr,i0&(~i));
- return x - *iptr;
- }
- }
- } else { /* no fraction part */
- *iptr = x*one;
- /* We must handle NaNs separately. */
- if (j0 == 0x80 && (i0 & 0x7fffff))
- return x*one;
- SET_FLOAT_WORD(x,i0&0x80000000); /* return +-0 */
- return x;
+ uint32_t t = asuint (x);
+#if USE_TRUNCF_BUILTIN
+ if (is_inf (t))
+ {
+ *iptr = x;
+ return copysignf (0.0, x);
+ }
+ *iptr = truncf (x);
+ return copysignf (x - *iptr, x);
+#else
+ int e = get_exponent (t);
+ /* No fraction part. */
+ if (e < MANTISSA_WIDTH)
+ {
+ if (e < 0)
+ {
+ /* |x|<1 -> *iptr = +-0 */
+ *iptr = asfloat (t & SIGN_MASK);
+ return x;
}
+
+ uint32_t i = MANTISSA_MASK >> e;
+ if ((t & i) == 0)
+ {
+ /* x in integral, return +-0 */
+ *iptr = x;
+ return asfloat (t & SIGN_MASK);
+ }
+
+ *iptr = asfloat (t & ~i);
+ return x - *iptr;
+ }
+
+ /* Set invalid operation for sNaN. */
+ *iptr = x * 1.0f;
+ if ((e == 0x80) && (t & MANTISSA_MASK))
+ return *iptr;
+ return asfloat (t & SIGN_MASK);
+#endif
}
+#ifndef __modff
libm_alias_float (__modf, modf)
+#endif
diff --git a/sysdeps/ieee754/flt-32/w_ilogbf-impl.h b/sysdeps/ieee754/flt-32/w_ilogbf-impl.h
new file mode 100644
index 0000000..5aa8bf0
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_ilogbf-impl.h
@@ -0,0 +1,38 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+static inline RET_TYPE
+IMPL_NAME (float x)
+{
+ uint32_t ux = asuint (x);
+ int ex = (ux & ~SIGN_MASK) >> MANTISSA_WIDTH;
+ if (__glibc_unlikely (ex == 0))
+ {
+ /* Zero or subnormal.
+ Clear sign and exponent. */
+ ux <<= 1 + EXPONENT_WIDTH;
+ if (ux == 0)
+ return RET_INVALID (RET_LOGB0);
+ /* subnormal */
+ return (RET_TYPE)-127 - stdc_leading_zeros (ux);
+ }
+ if (__glibc_unlikely (ex == EXPONENT_MASK >> MANTISSA_WIDTH))
+ /* NaN or Inf */
+ return RET_INVALID (ux << (1 + EXPONENT_WIDTH) ? RET_LOGBNAN : RET_LOGMAX);
+ return ex - 127;
+}
diff --git a/sysdeps/ieee754/flt-32/w_ilogbf.c b/sysdeps/ieee754/flt-32/w_ilogbf.c
new file mode 100644
index 0000000..4e2a707
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_ilogbf.c
@@ -0,0 +1,53 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <limits.h>
+#include <math.h>
+#include <stdbit.h>
+#include <libm-alias-float.h>
+#include <math-type-macros-float.h>
+#include "math_config.h"
+
+#ifdef DEF_AS_LLOGBF
+# define DECL_NAME __llogb
+# define FUNC_NAME llogb
+# define RET_TYPE long int
+# define RET_LOGB0 FP_LLOGB0
+# define RET_LOGBNAN FP_LLOGBNAN
+# define RET_LOGMAX LONG_MAX
+# define RET_INVALID __math_invalidf_li
+#else
+# define DECL_NAME __ilogb
+# define FUNC_NAME ilogb
+# define RET_TYPE int
+# define RET_LOGB0 FP_ILOGB0
+# define RET_LOGBNAN FP_ILOGBNAN
+# define RET_LOGMAX INT_MAX
+# define RET_INVALID __math_invalidf_i
+#endif
+#define __IMPL_NAME(x,y) x ## _ ## y
+#define _IMPL_NAME(x,y) __IMPL_NAME(x,y)
+#define IMPL_NAME _IMPL_NAME(FUNC_NAME, impl)
+#include <w_ilogbf-impl.h>
+
+RET_TYPE
+M_DECL_FUNC (DECL_NAME) (float x)
+{
+ return IMPL_NAME (x);
+}
+libm_alias_float (DECL_NAME, FUNC_NAME);
diff --git a/sysdeps/ieee754/flt-32/w_llogbf.c b/sysdeps/ieee754/flt-32/w_llogbf.c
new file mode 100644
index 0000000..8676434
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_llogbf.c
@@ -0,0 +1,2 @@
+#define DEF_AS_LLOGBF
+#include "w_ilogbf.c"
diff --git a/sysdeps/ieee754/ldbl-128/Makefile b/sysdeps/ieee754/ldbl-128/Makefile
index 5476a55..e666bdc 100644
--- a/sysdeps/ieee754/ldbl-128/Makefile
+++ b/sysdeps/ieee754/ldbl-128/Makefile
@@ -83,7 +83,7 @@ CFLAGS-w_j1l.c += -fno-builtin-j1f64x -fno-builtin-j1f128
CFLAGS-w_jnl.c += -fno-builtin-jnf64x -fno-builtin-jnf128
CFLAGS-s_ldexpl.c += -fno-builtin-ldexpf64x -fno-builtin-ldexpf128
CFLAGS-w_lgammal.c += -fno-builtin-lgammaf64x -fno-builtin-lgammaf128
-CFLAGS-w_lgammal_r.c += -fno-builtin-lgammaf64x_r
+CFLAGS-w_lgammal_r.c += -fno-builtin-lgammaf64x_r -fno-builtin-lgammaf128_r
CFLAGS-w_llogbl.c += -fno-builtin-llogbf64x -fno-builtin-llogbf128
CFLAGS-s_llrintl.c += -fno-builtin-llrintf64x -fno-builtin-llrintf128
CFLAGS-s_llroundl.c += -fno-builtin-llroundf64x -fno-builtin-llroundf128
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
index 29a3869..ae4bd5b 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Versions
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
@@ -157,6 +157,7 @@ libm {
__compoundnieee128;
__pownieee128;
__powrieee128;
+ __rootnieee128;
__rsqrtieee128;
}
}
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index 72369eb..ef7da1f 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -181,6 +181,7 @@ libnldbl-calls = \
remainder \
remquo \
rint \
+ rootn \
round \
roundeven \
rsqrt \
@@ -265,7 +266,7 @@ extra-objs += $(addsuffix .oS, $(libnldbl-routines))
CFLAGS-nldbl-acos.c = -fno-builtin-acosl
CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl
-CFLAGS-nldbl-acospi.c = -fno-builtin-acospi
+CFLAGS-nldbl-acospi.c = -fno-builtin-acospil
CFLAGS-nldbl-asin.c = -fno-builtin-asinl
CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl
CFLAGS-nldbl-asinpi.c = -fno-builtin-asinpil
@@ -296,7 +297,7 @@ CFLAGS-nldbl-conj.c = -fno-builtin-conjl
CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl
CFLAGS-nldbl-cos.c = -fno-builtin-cosl
CFLAGS-nldbl-cosh.c = -fno-builtin-coshl
-CFLAGS-nldbl-cospi.c = -fno-builtin-cospi
+CFLAGS-nldbl-cospi.c = -fno-builtin-cospil
CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl
CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl
CFLAGS-nldbl-creal.c = -fno-builtin-creall
@@ -384,6 +385,7 @@ CFLAGS-nldbl-powr.c = -fno-builtin-powrl
CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl -fno-builtin-dreml
CFLAGS-nldbl-remquo.c = -fno-builtin-remquol
CFLAGS-nldbl-rint.c = -fno-builtin-rintl
+CFLAGS-nldbl-rootn.c = -fno-builtin-rootnl
CFLAGS-nldbl-round.c = -fno-builtin-roundl
CFLAGS-nldbl-roundeven.c = -fno-builtin-roundevenl
CFLAGS-nldbl-rsqrt.c = -fno-builtin-rsqrtl
@@ -396,11 +398,11 @@ CFLAGS-nldbl-significand.c = -fno-builtin-significandl
CFLAGS-nldbl-sin.c = -fno-builtin-sinl
CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl
CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl
-CFLAGS-nldbl-sinpi.c = -fno-builtin-sinpi
+CFLAGS-nldbl-sinpi.c = -fno-builtin-sinpil
CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl
CFLAGS-nldbl-tan.c = -fno-builtin-tanl
CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl
-CFLAGS-nldbl-tanpi.c = -fno-builtin-tanpi
+CFLAGS-nldbl-tanpi.c = -fno-builtin-tanpil
CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal
CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl
CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-rootn.c b/sysdeps/ieee754/ldbl-opt/nldbl-rootn.c
new file mode 100644
index 0000000..fb0d860
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-rootn.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+rootnl (double x, long long int y)
+{
+ return rootn (x, y);
+}
diff --git a/sysdeps/loongarch/fpu/e_ilogbf.c b/sysdeps/loongarch/fpu/e_ilogbf.c
index adced63..a27fb94 100644
--- a/sysdeps/loongarch/fpu/e_ilogbf.c
+++ b/sysdeps/loongarch/fpu/e_ilogbf.c
@@ -1,39 +1 @@
-/* __ieee754_ilogbf(). LoongArch version.
- Copyright (C) 2022-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#define NO_MATH_REDIRECT
-#include <math.h>
-#include <fpu_control.h>
-
-int
-__ieee754_ilogbf (float x)
-{
- int x_cond;
- asm volatile ("fclass.s \t%0, %1" : "=f" (x_cond) : "f" (x));
-
- if (__glibc_unlikely (x_cond & _FCLASS_ZERO))
- return FP_ILOGB0;
- else if (__glibc_unlikely (x_cond & ( _FCLASS_NAN | _FCLASS_INF)))
- return FP_ILOGBNAN;
- else
- {
- asm volatile ("fabs.s \t%0, %1" : "=f" (x) : "f" (x));
- asm volatile ("flogb.s \t%0, %1" : "=f" (x) : "f" (x));
- return x;
- }
-}
+/* ilogbf is implemented at w_ilogbf.c */
diff --git a/sysdeps/loongarch/fpu/e_ilogb.c b/sysdeps/loongarch/fpu/w_ilogb-impl.h
index f21fa5c..1905373 100644
--- a/sysdeps/loongarch/fpu/e_ilogb.c
+++ b/sysdeps/loongarch/fpu/w_ilogb-impl.h
@@ -1,4 +1,4 @@
-/* __ieee754_ilogb(). LoongArch version.
+/* Get integer exponent of a floating-point value. LoongArch version.
Copyright (C) 2022-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -16,20 +16,18 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#define NO_MATH_REDIRECT
-#include <math.h>
#include <fpu_control.h>
-int
-__ieee754_ilogb (double x)
+static inline RET_TYPE
+IMPL_NAME (double x)
{
int x_cond;
asm volatile ("fclass.d \t%0, %1" : "=f" (x_cond) : "f" (x));
if (__glibc_unlikely (x_cond & _FCLASS_ZERO))
- return FP_ILOGB0;
+ return RET_INVALID (RET_LOGB0);
else if (__glibc_unlikely (x_cond & ( _FCLASS_NAN | _FCLASS_INF)))
- return FP_ILOGBNAN;
+ return RET_INVALID (RET_LOGBNAN);
else
{
asm volatile ("fabs.d \t%0, %1" : "=f" (x) : "f" (x));
diff --git a/sysdeps/loongarch/fpu/w_ilogbf-impl.h b/sysdeps/loongarch/fpu/w_ilogbf-impl.h
new file mode 100644
index 0000000..9cb4172
--- /dev/null
+++ b/sysdeps/loongarch/fpu/w_ilogbf-impl.h
@@ -0,0 +1,37 @@
+/* Get integer exponent of a floating-point value. LoongArch version.
+ Copyright (C) 2022-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <fpu_control.h>
+
+static inline RET_TYPE
+IMPL_NAME (float x)
+{
+ int x_cond;
+ asm volatile ("fclass.s \t%0, %1" : "=f" (x_cond) : "f" (x));
+
+ if (__glibc_unlikely (x_cond & _FCLASS_ZERO))
+ return RET_INVALID (RET_LOGB0);
+ else if (__glibc_unlikely (x_cond & ( _FCLASS_NAN | _FCLASS_INF)))
+ return RET_INVALID (RET_LOGBNAN);
+ else
+ {
+ asm volatile ("fabs.s \t%0, %1" : "=f" (x) : "f" (x));
+ asm volatile ("flogb.s \t%0, %1" : "=f" (x) : "f" (x));
+ return x;
+ }
+}
diff --git a/sysdeps/loongarch/preconfigure b/sysdeps/loongarch/preconfigure
index 0d1e9ed..6726ab8 100644
--- a/sysdeps/loongarch/preconfigure
+++ b/sysdeps/loongarch/preconfigure
@@ -44,6 +44,7 @@ loongarch*)
base_machine=loongarch
mtls_descriptor=desc
+ mtls_traditional=trad
;;
esac
diff --git a/sysdeps/loongarch/preconfigure.ac b/sysdeps/loongarch/preconfigure.ac
index df07dbf..5640226 100644
--- a/sysdeps/loongarch/preconfigure.ac
+++ b/sysdeps/loongarch/preconfigure.ac
@@ -42,6 +42,7 @@ loongarch*)
base_machine=loongarch
mtls_descriptor=desc
+ mtls_traditional=trad
;;
esac
diff --git a/sysdeps/m68k/m680x0/fpu/math_err.c b/sysdeps/m68k/m680x0/fpu/math_err.c
deleted file mode 100644
index 1cc8931..0000000
--- a/sysdeps/m68k/m680x0/fpu/math_err.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/sysdeps/m68k/m680x0/w_ilogb.c b/sysdeps/m68k/m680x0/w_ilogb.c
new file mode 100644
index 0000000..9c26217
--- /dev/null
+++ b/sysdeps/m68k/m680x0/w_ilogb.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-double.h>
+#include <w_ilogb_template.c>
diff --git a/sysdeps/m68k/m680x0/w_ilogbf.c b/sysdeps/m68k/m680x0/w_ilogbf.c
new file mode 100644
index 0000000..047ad4b
--- /dev/null
+++ b/sysdeps/m68k/m680x0/w_ilogbf.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-float.h>
+#include <w_ilogb_template.c>
diff --git a/sysdeps/m68k/m680x0/w_llogb.c b/sysdeps/m68k/m680x0/w_llogb.c
new file mode 100644
index 0000000..5e8891a
--- /dev/null
+++ b/sysdeps/m68k/m680x0/w_llogb.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-double.h>
+#include <w_llogb_template.c>
diff --git a/sysdeps/m68k/m680x0/w_llogbf.c b/sysdeps/m68k/m680x0/w_llogbf.c
new file mode 100644
index 0000000..edb7e9a
--- /dev/null
+++ b/sysdeps/m68k/m680x0/w_llogbf.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-float.h>
+#include <w_llogb_template.c>
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 994de00..c905949 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -311,9 +311,6 @@ endif
ifeq ($(subdir),htl)
tests-unsupported += tst-basic7
endif
-ifeq ($(subdir),io)
-tests-unsupported += test-lfs
-endif
ifeq ($(subdir),libio)
tests-unsupported += tst-asprintf-null
endif
diff --git a/sysdeps/mach/hurd/bits/ioctls.h b/sysdeps/mach/hurd/bits/ioctls.h
index f01316d..faf1373 100644
--- a/sysdeps/mach/hurd/bits/ioctls.h
+++ b/sysdeps/mach/hurd/bits/ioctls.h
@@ -324,15 +324,8 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 };
From 4.4 <sys/ioctl_compat.h>. */
#ifdef __USE_MISC
-#ifdef USE_OLD_TTY
-# undef TIOCGETD
-# define TIOCGETD _IOR('t', 0, int) /* get line discipline */
-# undef TIOCSETD
-# define TIOCSETD _IOW('t', 1, int) /* set line discipline */
-#else
-# define OTIOCGETD _IOR('t', 0, int) /* get line discipline */
-# define OTIOCSETD _IOW('t', 1, int) /* set line discipline */
-#endif
+#define OTIOCGETD _IOR('t', 0, int) /* get line discipline */
+#define OTIOCSETD _IOW('t', 1, int) /* set line discipline */
#define TIOCHPCL _IO('t', 2) /* hang up on last close */
#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */
@@ -411,26 +404,6 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 };
#define OTTYDISC 0
#define NETLDISC 1
#define NTTYDISC 2
-
-/* From 4.4 <sys/ttydev.h>. */
-#ifdef USE_OLD_TTY
-# define B0 0
-# define B50 1
-# define B75 2
-# define B110 3
-# define B134 4
-# define B150 5
-# define B200 6
-# define B300 7
-# define B600 8
-# define B1200 9
-# define B1800 10
-# define B2400 11
-# define B4800 12
-# define B9600 13
-# define EXTA 14
-# define EXTB 15
-#endif /* USE_OLD_TTY */
#endif
#endif /* bits/ioctls.h */
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S b/sysdeps/mach/hurd/getrandom-internal.h
index c9d2f4e..8bd718b 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S
+++ b/sysdeps/mach/hurd/getrandom-internal.h
@@ -1,5 +1,5 @@
-/* Optimized memchr implementation for POWER10/PPC64.
- Copyright (C) 2016-2025 Free Software Foundation, Inc.
+/* Internal definitions for Hurd getrandom implementation.
+ Copyright (C) 2024-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,13 +16,15 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#if defined __LITTLE_ENDIAN__ && IS_IN (libc)
-#define MEMCHR __memchr_power10
+#ifndef _GETRANDOM_INTERNAL_H
+#define _GETRANDOM_INTERNAL_H
-#undef libc_hidden_builtin_def
-#define libc_hidden_builtin_def(name)
-#undef weak_alias
-#define weak_alias(name,alias)
+extern void __mach_init (void);
+
+static inline void __getrandom_early_init (_Bool initial)
+{
+ /* getrandom needs RPCs for time etc. */
+ __mach_init ();
+}
-#include <sysdeps/powerpc/powerpc64/le/power10/memchr.S>
#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 3e183f5..a0e686a 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -28,6 +28,7 @@ GLIBC_2.11 mkostemps F
GLIBC_2.11 mkostemps64 F
GLIBC_2.11 mkstemps F
GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 __pthread_key_create F
GLIBC_2.12 __pthread_self F
GLIBC_2.12 pthread_attr_destroy F
GLIBC_2.12 pthread_attr_getdetachstate F
@@ -70,6 +71,9 @@ GLIBC_2.12 pthread_condattr_setclock F
GLIBC_2.12 pthread_condattr_setpshared F
GLIBC_2.12 pthread_equal F
GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_getspecific F
+GLIBC_2.12 pthread_key_create F
+GLIBC_2.12 pthread_key_delete F
GLIBC_2.12 pthread_mutex_destroy F
GLIBC_2.12 pthread_mutex_getprioceiling F
GLIBC_2.12 pthread_mutex_init F
@@ -106,6 +110,7 @@ GLIBC_2.12 pthread_self F
GLIBC_2.12 pthread_setcancelstate F
GLIBC_2.12 pthread_setcanceltype F
GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 pthread_setspecific F
GLIBC_2.12 pthread_sigmask F
GLIBC_2.13 __fentry__ F
GLIBC_2.14 syncfs F
@@ -2586,6 +2591,11 @@ GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetobaud F
GLIBC_2.42 pthread_barrier_destroy F
GLIBC_2.42 pthread_barrier_init F
GLIBC_2.42 pthread_barrier_wait F
@@ -2593,6 +2603,9 @@ GLIBC_2.42 pthread_barrierattr_destroy F
GLIBC_2.42 pthread_barrierattr_getpshared F
GLIBC_2.42 pthread_barrierattr_init F
GLIBC_2.42 pthread_barrierattr_setpshared F
+GLIBC_2.42 pthread_getspecific F
+GLIBC_2.42 pthread_key_create F
+GLIBC_2.42 pthread_key_delete F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F
@@ -2614,6 +2627,7 @@ GLIBC_2.42 pthread_rwlockattr_destroy F
GLIBC_2.42 pthread_rwlockattr_getpshared F
GLIBC_2.42 pthread_rwlockattr_init F
GLIBC_2.42 pthread_rwlockattr_setpshared F
+GLIBC_2.42 pthread_setspecific F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 6948b42..47d215f 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1301,6 +1301,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index b067d37..51535ac 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -1,7 +1,6 @@
GLIBC_2.12 __mutex_lock_solid F
GLIBC_2.12 __mutex_unlock_solid F
GLIBC_2.12 __pthread_get_cleanup_stack F
-GLIBC_2.12 __pthread_key_create F
GLIBC_2.12 __pthread_kill F
GLIBC_2.12 __pthread_mutex_transfer_np F
GLIBC_2.12 __pthread_spin_destroy F
@@ -29,15 +28,11 @@ GLIBC_2.12 pthread_exit F
GLIBC_2.12 pthread_getattr_np F
GLIBC_2.12 pthread_getconcurrency F
GLIBC_2.12 pthread_getcpuclockid F
-GLIBC_2.12 pthread_getspecific F
GLIBC_2.12 pthread_join F
-GLIBC_2.12 pthread_key_create F
-GLIBC_2.12 pthread_key_delete F
GLIBC_2.12 pthread_kill F
GLIBC_2.12 pthread_mutex_transfer_np F
GLIBC_2.12 pthread_setconcurrency F
GLIBC_2.12 pthread_setschedprio F
-GLIBC_2.12 pthread_setspecific F
GLIBC_2.12 pthread_spin_destroy F
GLIBC_2.12 pthread_spin_init F
GLIBC_2.12 pthread_spin_lock F
diff --git a/sysdeps/mach/hurd/renameat2.c b/sysdeps/mach/hurd/renameat2.c
index 59a4e31..5b09fed 100644
--- a/sysdeps/mach/hurd/renameat2.c
+++ b/sysdeps/mach/hurd/renameat2.c
@@ -37,15 +37,28 @@ __renameat2 (int oldfd, const char *old, int newfd, const char *new,
if (flags & RENAME_NOREPLACE)
excl = 1;
- olddir = __directory_name_split_at (oldfd, old, (char **) &oldname);
+ olddir = __file_name_split_at (oldfd, old, (char **) &oldname);
if (olddir == MACH_PORT_NULL)
return -1;
- newdir = __directory_name_split_at (newfd, new, (char **) &newname);
+ if (!*oldname)
+ {
+ /* Trailing slash. */
+ __mach_port_deallocate (__mach_task_self (), olddir);
+ return __hurd_fail (ENOTDIR);
+ }
+ newdir = __file_name_split_at (newfd, new, (char **) &newname);
if (newdir == MACH_PORT_NULL)
{
- __mach_port_deallocate (__mach_task_self (), olddir);
+ __mach_port_deallocate (__mach_task_self (), olddir);
return -1;
}
+ if (!*newname)
+ {
+ /* Trailing slash. */
+ __mach_port_deallocate (__mach_task_self (), olddir);
+ __mach_port_deallocate (__mach_task_self (), newdir);
+ return __hurd_fail (ENOTDIR);
+ }
err = __dir_rename (olddir, oldname, newdir, newname, excl);
__mach_port_deallocate (__mach_task_self (), olddir);
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist
index 688ee26..8f9d6aa 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -392,6 +392,7 @@ GLIBC_2.38 __profile_frequency F
GLIBC_2.38 __progname D 0x8
GLIBC_2.38 __progname_full D 0x8
GLIBC_2.38 __pthread_get_cleanup_stack F
+GLIBC_2.38 __pthread_key_create F
GLIBC_2.38 __pthread_self F
GLIBC_2.38 __ptsname_r_chk F
GLIBC_2.38 __pwrite64 F
@@ -1554,6 +1555,9 @@ GLIBC_2.38 pthread_condattr_setpshared F
GLIBC_2.38 pthread_equal F
GLIBC_2.38 pthread_exit F
GLIBC_2.38 pthread_getschedparam F
+GLIBC_2.38 pthread_getspecific F
+GLIBC_2.38 pthread_key_create F
+GLIBC_2.38 pthread_key_delete F
GLIBC_2.38 pthread_mutex_clocklock F
GLIBC_2.38 pthread_mutex_consistent F
GLIBC_2.38 pthread_mutex_consistent_np F
@@ -1599,6 +1603,7 @@ GLIBC_2.38 pthread_self F
GLIBC_2.38 pthread_setcancelstate F
GLIBC_2.38 pthread_setcanceltype F
GLIBC_2.38 pthread_setschedparam F
+GLIBC_2.38 pthread_setspecific F
GLIBC_2.38 pthread_sigmask F
GLIBC_2.38 ptrace F
GLIBC_2.38 ptsname F
@@ -2269,6 +2274,11 @@ GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetobaud F
GLIBC_2.42 pthread_barrier_destroy F
GLIBC_2.42 pthread_barrier_init F
GLIBC_2.42 pthread_barrier_wait F
@@ -2276,6 +2286,9 @@ GLIBC_2.42 pthread_barrierattr_destroy F
GLIBC_2.42 pthread_barrierattr_getpshared F
GLIBC_2.42 pthread_barrierattr_init F
GLIBC_2.42 pthread_barrierattr_setpshared F
+GLIBC_2.42 pthread_getspecific F
+GLIBC_2.42 pthread_key_create F
+GLIBC_2.42 pthread_key_delete F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F
@@ -2297,6 +2310,7 @@ GLIBC_2.42 pthread_rwlockattr_destroy F
GLIBC_2.42 pthread_rwlockattr_getpshared F
GLIBC_2.42 pthread_rwlockattr_init F
GLIBC_2.42 pthread_rwlockattr_setpshared F
+GLIBC_2.42 pthread_setspecific F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/mach/hurd/x86_64/libm.abilist b/sysdeps/mach/hurd/x86_64/libm.abilist
index 4810dfb..52c9d56 100644
--- a/sysdeps/mach/hurd/x86_64/libm.abilist
+++ b/sysdeps/mach/hurd/x86_64/libm.abilist
@@ -1158,6 +1158,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 6b8acec..a1ff462 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.38 __h_errno_location F
GLIBC_2.38 __mutex_lock_solid F
GLIBC_2.38 __mutex_unlock_solid F
GLIBC_2.38 __pthread_get_cleanup_stack F
-GLIBC_2.38 __pthread_key_create F
GLIBC_2.38 __pthread_kill F
GLIBC_2.38 __pthread_mutex_transfer_np F
GLIBC_2.38 __pthread_spin_destroy F
@@ -47,17 +46,13 @@ GLIBC_2.38 pthread_exit F
GLIBC_2.38 pthread_getattr_np F
GLIBC_2.38 pthread_getconcurrency F
GLIBC_2.38 pthread_getcpuclockid F
-GLIBC_2.38 pthread_getspecific F
GLIBC_2.38 pthread_hurd_cond_timedwait_np F
GLIBC_2.38 pthread_hurd_cond_wait_np F
GLIBC_2.38 pthread_join F
-GLIBC_2.38 pthread_key_create F
-GLIBC_2.38 pthread_key_delete F
GLIBC_2.38 pthread_kill F
GLIBC_2.38 pthread_mutex_transfer_np F
GLIBC_2.38 pthread_setconcurrency F
GLIBC_2.38 pthread_setschedprio F
-GLIBC_2.38 pthread_setspecific F
GLIBC_2.38 pthread_spin_destroy F
GLIBC_2.38 pthread_spin_init F
GLIBC_2.38 pthread_spin_lock F
diff --git a/sysdeps/mach/sysdep.h b/sysdeps/mach/sysdep.h
index 8293c66..581bdcd 100644
--- a/sysdeps/mach/sysdep.h
+++ b/sysdeps/mach/sysdep.h
@@ -20,6 +20,11 @@
/* Get the Mach definitions of ENTRY and kernel_trap. */
#include <mach/machine/syscall_sw.h>
+/* This macro is defined in Mach system headers, but string functions use it
+ with different definitions depending on whether being compiled for
+ wide-characters or not. */
+#undef P2ALIGN
+
/* The Mach definitions assume underscores should be prepended to
symbol names. Redefine them to do so only when appropriate. */
#undef EXT
diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c
index d90cc6c..6f75197 100644
--- a/sysdeps/posix/libc_fatal.c
+++ b/sysdeps/posix/libc_fatal.c
@@ -16,23 +16,13 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <atomic.h>
-#include <errno.h>
-#include <fcntl.h>
+#include <assert.h>
#include <ldsodefs.h>
-#include <libc-pointer-arith.h>
-#include <paths.h>
+#include <setvmaname.h>
#include <stdarg.h>
-#include <stdbool.h>
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <sys/mman.h>
#include <sys/uio.h>
-#include <not-cancel.h>
-#include <setvmaname.h>
+#include <unistd.h>
#ifdef FATAL_PREPARE_INCLUDE
#include FATAL_PREPARE_INCLUDE
@@ -47,6 +37,10 @@ writev_for_fatal (int fd, const struct iovec *iov, size_t niov, size_t total)
}
#endif
+/* At most a substring before each conversion specification and the
+ trailing substring (the plus one). */
+#define IOVEC_MAX (LIBC_MESSAGE_MAX_ARGS * 2 + 1)
+
/* Abort with an error message. */
void
__libc_message_impl (const char *fmt, ...)
@@ -61,7 +55,7 @@ __libc_message_impl (const char *fmt, ...)
if (fd == -1)
fd = STDERR_FILENO;
- struct iovec iov[LIBC_MESSAGE_MAX_ARGS * 2 - 1];
+ struct iovec iov[IOVEC_MAX];
int iovcnt = 0;
ssize_t total = 0;
@@ -99,6 +93,16 @@ __libc_message_impl (const char *fmt, ...)
iov[iovcnt].iov_len = len;
total += len;
iovcnt++;
+
+ if (__glibc_unlikely (iovcnt > IOVEC_MAX))
+ {
+ len = IOVEC_MAX_ERR_MSG_LEN;
+ iov[0].iov_base = (char *) IOVEC_MAX_ERR_MSG;
+ iov[0].iov_len = len;
+ total = len;
+ iovcnt = 1;
+ break;
+ }
}
va_end (ap);
diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/Makefile
index 5e6cb07..5cdb64f 100644
--- a/sysdeps/powerpc/Makefile
+++ b/sysdeps/powerpc/Makefile
@@ -28,6 +28,11 @@ tst-cache-ppc-static-dlopen-ENV = LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(c
$(objpfx)tst-cache-ppc-static-dlopen.out: $(objpfx)mod-cache-ppc.so
$(objpfx)tst-cache-ppc: $(objpfx)mod-cache-ppc.so
+
+# The test checks if the __tls_get_addr does not clobber caller-saved
+# register, so disable the powerpc specific optimization to force a
+# __tls_get_addr call.
+LDFLAGS-tst-tls23-mod.so = -Wl,--no-tls-get-addr-optimize
endif
ifneq (no,$(multi-arch))
diff --git a/sysdeps/powerpc/fpu/math-use-builtins-trunc.h b/sysdeps/powerpc/fpu/math-use-builtins-trunc.h
new file mode 100644
index 0000000..3e6a55d
--- /dev/null
+++ b/sysdeps/powerpc/fpu/math-use-builtins-trunc.h
@@ -0,0 +1,9 @@
+#ifdef _ARCH_PWR5X
+# define USE_TRUNCF_BUILTIN 1
+# define USE_TRUNC_BUILTIN 1
+#else
+# define USE_TRUNCF_BUILTIN 0
+# define USE_TRUNC_BUILTIN 0
+#endif
+#define USE_TRUNCL_BUILTIN 0
+#define USE_TRUNCF128_BUILTIN 0
diff --git a/sysdeps/powerpc/fpu/s_modf.c b/sysdeps/powerpc/fpu/s_modf.c
deleted file mode 100644
index 831072b..0000000
--- a/sysdeps/powerpc/fpu/s_modf.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 2013-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If
- not, see <https://www.gnu.org/licenses/>. */
-
-/* ISA 2.07 provides fast GPR to FP instruction (mfvsr{d,wz}) which make
- generic implementation faster. Also disables for old ISAs that do not
- have ceil/floor instructions. */
-#if defined(_ARCH_PWR8) || !defined(_ARCH_PWR5X)
-# include <sysdeps/ieee754/ldbl-opt/s_modf.c>
-#else
-# include <math.h>
-# include <math_ldbl_opt.h>
-# include <libm-alias-double.h>
-
-double
-__modf (double x, double *iptr)
-{
- if (__builtin_isinf (x))
- {
- *iptr = x;
- return copysign (0.0, x);
- }
- else if (__builtin_isnan (x))
- {
- *iptr = NAN;
- return NAN;
- }
-
- if (x >= 0.0)
- {
- *iptr = floor (x);
- return copysign (x - *iptr, x);
- }
- else
- {
- *iptr = ceil (x);
- return copysign (x - *iptr, x);
- }
-}
-# ifndef __modf
-libm_alias_double (__modf, modf)
-# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
-compat_symbol (libc, __modf, modfl, GLIBC_2_0);
-# endif
-# endif
-#endif
diff --git a/sysdeps/powerpc/fpu/s_modff.c b/sysdeps/powerpc/fpu/s_modff.c
deleted file mode 100644
index 79eeb7b..0000000
--- a/sysdeps/powerpc/fpu/s_modff.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 2013-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If
- not, see <https://www.gnu.org/licenses/>. */
-
-/* ISA 2.07 provides fast GPR to FP instruction (mfvsr{d,wz}) which make
- generic implementation faster. Also disables for old ISAs that do not
- have ceil/floor instructions. */
-#if defined(_ARCH_PWR8) || !defined(_ARCH_PWR5X)
-# include <sysdeps/ieee754/flt-32/s_modff.c>
-#else
-# include <math.h>
-# include <libm-alias-float.h>
-
-float
-__modff (float x, float *iptr)
-{
- if (__builtin_isinff (x))
- {
- *iptr = x;
- return copysignf (0.0, x);
- }
- else if (__builtin_isnanf (x))
- {
- *iptr = NAN;
- return NAN;
- }
-
- if (x >= 0.0)
- {
- *iptr = floorf (x);
- return copysignf (x - *iptr, x);
- }
- else
- {
- *iptr = ceilf (x);
- return copysignf (x - *iptr, x);
- }
-}
-# ifndef __modff
-libm_alias_float (__modf, modf)
-# endif
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
index b8315c5..48f3a19 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
@@ -17,4 +17,4 @@
<https://www.gnu.org/licenses/>. */
#define __modf __modf_power5plus
-#include <sysdeps/powerpc/fpu/s_modf.c>
+#include <sysdeps/ieee754/dbl-64/s_modf.c>
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
index 69591da..15bfa0b 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
@@ -17,4 +17,4 @@
<https://www.gnu.org/licenses/>. */
#define __modff __modff_power5plus
-#include <sysdeps/powerpc/fpu/s_modff.c>
+#include <sysdeps/ieee754/flt-32/s_modff.c>
diff --git a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
index b8315c5..48f3a19 100644
--- a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
+++ b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
@@ -17,4 +17,4 @@
<https://www.gnu.org/licenses/>. */
#define __modf __modf_power5plus
-#include <sysdeps/powerpc/fpu/s_modf.c>
+#include <sysdeps/ieee754/dbl-64/s_modf.c>
diff --git a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
index 69591da..15bfa0b 100644
--- a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
+++ b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
@@ -17,4 +17,4 @@
<https://www.gnu.org/licenses/>. */
#define __modff __modff_power5plus
-#include <sysdeps/powerpc/fpu/s_modff.c>
+#include <sysdeps/ieee754/flt-32/s_modff.c>
diff --git a/sysdeps/powerpc/powerpc64/le/configure b/sysdeps/powerpc/powerpc64/le/configure
index 7092f61..ef17f24 100644
--- a/sysdeps/powerpc/powerpc64/le/configure
+++ b/sysdeps/powerpc/powerpc64/le/configure
@@ -137,75 +137,5 @@ then :
critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlong-double-128 simultaneously."
fi
-for ac_prog in $OBJCOPY
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_OBJCOPY+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$OBJCOPY"; then
- ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJCOPY="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-OBJCOPY=$ac_cv_prog_OBJCOPY
-if test -n "$OBJCOPY"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY" >&5
-printf "%s\n" "$OBJCOPY" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$OBJCOPY" && break
-done
-
-if test -z "$OBJCOPY"; then
- ac_verc_fail=yes
-else
- # Found it, now check the version.
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking version of $OBJCOPY" >&5
-printf %s "checking version of $OBJCOPY... " >&6; }
- ac_prog_version=`$OBJCOPY --version 2>&1 | sed -n 's/^.*GNU objcopy.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[0-9][0-9]*|2.2[6-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
-printf "%s\n" "$ac_prog_version" >&6; }
-fi
-if test $ac_verc_fail = yes; then
- AS=: critic_missing="$critic_missing objcopy >= 2.26 is required on powerpc64le"
-fi
-
-
test -n "$critic_missing" && as_fn_error $? "*** $critic_missing" "$LINENO" 5
diff --git a/sysdeps/powerpc/powerpc64/le/configure.ac b/sysdeps/powerpc/powerpc64/le/configure.ac
index 48d7089..79b3d43 100644
--- a/sysdeps/powerpc/powerpc64/le/configure.ac
+++ b/sysdeps/powerpc/powerpc64/le/configure.ac
@@ -66,11 +66,4 @@ CFLAGS="$save_CFLAGS"])
AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" = "no"],
[critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlong-double-128 simultaneously."])
-dnl objcopy (binutils) 2.26 or newer required to support the --update-section
-dnl feature for fixing up .gnu.attribute section with IEEE ldbl.
-AC_CHECK_PROG_VER(OBJCOPY, $OBJCOPY, --version,
- [GNU objcopy.* \([0-9]*\.[0-9.]*\)],
- [2.1[0-9][0-9]*|2.2[6-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
- AS=: critic_missing="$critic_missing objcopy >= 2.26 is required on powerpc64le")
-
test -n "$critic_missing" && AC_MSG_ERROR([*** $critic_missing])
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/e_ilogb.c b/sysdeps/powerpc/powerpc64/le/fpu/e_ilogb.c
new file mode 100644
index 0000000..89e7498
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/e_ilogb.c
@@ -0,0 +1,41 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <limits.h>
+#include <math.h>
+#include <stdbit.h>
+#include "math_config.h"
+
+int
+__ieee754_ilogb (double x)
+{
+ uint64_t ux = asuint64 (x);
+ int ex = (ux & ~SIGN_MASK) >> MANTISSA_WIDTH;
+ if (ex == 0) /* zero or subnormal */
+ {
+ /* Clear sign and exponent */
+ ux <<= 12;
+ if (ux == 0)
+ return FP_ILOGB0;
+ /* subnormal */
+ return -1023 - stdc_leading_zeros (ux);
+ }
+ if (ex == EXPONENT_MASK >> MANTISSA_WIDTH) /* NaN or Inf */
+ return ux << 12 ? FP_ILOGBNAN : INT_MAX;
+ return ex - 1023;
+}
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/e_ilogbf.c b/sysdeps/powerpc/powerpc64/le/fpu/e_ilogbf.c
new file mode 100644
index 0000000..1c2a8a5
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/e_ilogbf.c
@@ -0,0 +1,41 @@
+/* Get integer exponent of a floating-point value.
+ Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <limits.h>
+#include <math.h>
+#include <stdbit.h>
+#include "sysdeps/ieee754/flt-32/math_config.h"
+
+int
+__ieee754_ilogbf (float x)
+{
+ uint32_t ux = asuint (x);
+ int ex = (ux & ~SIGN_MASK) >> MANTISSA_WIDTH;
+ if (ex == 0) /* zero or subnormal */
+ {
+ /* Clear sign and exponent. */
+ ux <<= 1 + EXPONENT_WIDTH;
+ if (ux == 0)
+ return FP_ILOGB0;
+ /* sbunormal */
+ return -127 - stdc_leading_zeros (ux);
+ }
+ if (ex == EXPONENT_MASK >> MANTISSA_WIDTH) /* NaN or Inf */
+ return ux << (1 + EXPONENT_WIDTH) ? FP_ILOGBNAN : INT_MAX;
+ return ex - 127;
+}
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_ilogb.c b/sysdeps/powerpc/powerpc64/le/fpu/w_ilogb.c
new file mode 100644
index 0000000..9c26217
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_ilogb.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-double.h>
+#include <w_ilogb_template.c>
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_ilogbf.c b/sysdeps/powerpc/powerpc64/le/fpu/w_ilogbf.c
new file mode 100644
index 0000000..047ad4b
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_ilogbf.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-float.h>
+#include <w_ilogb_template.c>
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_llogb.c b/sysdeps/powerpc/powerpc64/le/fpu/w_llogb.c
new file mode 100644
index 0000000..5e8891a
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_llogb.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-double.h>
+#include <w_llogb_template.c>
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_llogbf.c b/sysdeps/powerpc/powerpc64/le/fpu/w_llogbf.c
new file mode 100644
index 0000000..edb7e9a
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_llogbf.c
@@ -0,0 +1,2 @@
+#include <math-type-macros-float.h>
+#include <w_llogb_template.c>
diff --git a/sysdeps/powerpc/powerpc64/le/power10/memchr.S b/sysdeps/powerpc/powerpc64/le/power10/memchr.S
deleted file mode 100644
index 96ad5a2..0000000
--- a/sysdeps/powerpc/powerpc64/le/power10/memchr.S
+++ /dev/null
@@ -1,315 +0,0 @@
-/* Optimized memchr implementation for POWER10 LE.
- Copyright (C) 2021-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-# ifndef MEMCHR
-# define MEMCHR __memchr
-# endif
-# define M_VREG_ZERO v20
-# define M_OFF_START_LOOP 256
-# define MEMCHR_SUBTRACT_VECTORS \
- vsububm v4,v4,v18; \
- vsububm v5,v5,v18; \
- vsububm v6,v6,v18; \
- vsububm v7,v7,v18;
-# define M_TAIL(vreg,increment) \
- vctzlsbb r4,vreg; \
- cmpld r5,r4; \
- ble L(null); \
- addi r4,r4,increment; \
- add r3,r6,r4; \
- blr
-
-/* TODO: Replace macros by the actual instructions when minimum binutils becomes
- >= 2.35. This is used to keep compatibility with older versions. */
-#define M_VEXTRACTBM(rt,vrb) \
- .long(((4)<<(32-6)) \
- | ((rt)<<(32-11)) \
- | ((8)<<(32-16)) \
- | ((vrb)<<(32-21)) \
- | 1602)
-
-#define M_LXVP(xtp,dq,ra) \
- .long(((6)<<(32-6)) \
- | ((((xtp)-32)>>1)<<(32-10)) \
- | ((1)<<(32-11)) \
- | ((ra)<<(32-16)) \
- | dq)
-
-#define CHECK16B(vreg,offset,addr,label) \
- lxv vreg+32,offset(addr); \
- vcmpequb. vreg,vreg,v18; \
- bne cr6,L(label); \
- cmpldi r5,16; \
- ble L(null); \
- addi r5,r5,-16;
-
-/* Load 4 quadwords, merge into one VR for speed and check for NULLs. r6 has #
- of bytes already checked. */
-#define CHECK64B(offset,addr,label) \
- M_LXVP(v4+32,offset,addr); \
- M_LXVP(v6+32,offset+32,addr); \
- MEMCHR_SUBTRACT_VECTORS; \
- vminub v14,v4,v5; \
- vminub v15,v6,v7; \
- vminub v16,v14,v15; \
- vcmpequb. v0,v16,M_VREG_ZERO; \
- beq cr6,$+12; \
- li r7,offset; \
- b L(label); \
- cmpldi r5,64; \
- ble L(null); \
- addi r5,r5,-64
-
-/* Implements the function
- void *[r3] memchr (const void *s [r3], int c [r4], size_t n [r5]). */
-
- .machine power9
-
-ENTRY_TOCLESS (MEMCHR)
- CALL_MCOUNT 3
-
- cmpldi r5,0
- beq L(null)
- mr r0,r5
- xori r6,r4,0xff
-
- mtvsrd v18+32,r4 /* matching char in v18 */
- mtvsrd v19+32,r6 /* non matching char in v19 */
-
- vspltb v18,v18,7 /* replicate */
- vspltb v19,v19,7 /* replicate */
- vspltisb M_VREG_ZERO,0
-
- /* Next 16B-aligned address. Prepare address for L(aligned). */
- addi r6,r3,16
- clrrdi r6,r6,4
-
- /* Align data and fill bytes not loaded with non matching char. */
- lvx v0,0,r3
- lvsr v1,0,r3
- vperm v0,v19,v0,v1
-
- vcmpequb. v6,v0,v18
- bne cr6,L(found)
- sub r4,r6,r3
- cmpld r5,r4
- ble L(null)
- sub r5,r5,r4
-
- /* Test up to OFF_START_LOOP-16 bytes in 16B chunks. The main loop is
- optimized for longer strings, so checking the first bytes in 16B
- chunks benefits a lot small strings. */
- .p2align 5
-L(aligned):
- cmpldi r5,0
- beq L(null)
-
- CHECK16B(v0,0,r6,tail1)
- CHECK16B(v1,16,r6,tail2)
- CHECK16B(v2,32,r6,tail3)
- CHECK16B(v3,48,r6,tail4)
- CHECK16B(v4,64,r6,tail5)
- CHECK16B(v5,80,r6,tail6)
- CHECK16B(v6,96,r6,tail7)
- CHECK16B(v7,112,r6,tail8)
- CHECK16B(v8,128,r6,tail9)
- CHECK16B(v9,144,r6,tail10)
- CHECK16B(v10,160,r6,tail11)
- CHECK16B(v0,176,r6,tail12)
- CHECK16B(v1,192,r6,tail13)
- CHECK16B(v2,208,r6,tail14)
- CHECK16B(v3,224,r6,tail15)
-
- cmpdi cr5,r4,0 /* Check if c == 0. This will be useful to
- choose how we will perform the main loop. */
-
- /* Prepare address for the loop. */
- addi r4,r3,M_OFF_START_LOOP
- clrrdi r4,r4,6
- sub r6,r4,r3
- sub r5,r0,r6
- addi r6,r4,128
-
- /* If c == 0, use the loop without the vsububm. */
- beq cr5,L(loop)
-
- /* This is very similar to the block after L(loop), the difference is
- that here MEMCHR_SUBTRACT_VECTORS is not empty, and we subtract
- each byte loaded by the char we are looking for, this way we can keep
- using vminub to merge the results and checking for nulls. */
- .p2align 5
-L(memchr_loop):
- CHECK64B(0,r4,pre_tail_64b)
- CHECK64B(64,r4,pre_tail_64b)
- addi r4,r4,256
-
- CHECK64B(0,r6,tail_64b)
- CHECK64B(64,r6,tail_64b)
- addi r6,r6,256
-
- CHECK64B(0,r4,pre_tail_64b)
- CHECK64B(64,r4,pre_tail_64b)
- addi r4,r4,256
-
- CHECK64B(0,r6,tail_64b)
- CHECK64B(64,r6,tail_64b)
- addi r6,r6,256
-
- b L(memchr_loop)
- /* Switch to a more aggressive approach checking 64B each time. Use 2
- pointers 128B apart and unroll the loop once to make the pointer
- updates and usages separated enough to avoid stalls waiting for
- address calculation. */
- .p2align 5
-L(loop):
-#undef MEMCHR_SUBTRACT_VECTORS
-#define MEMCHR_SUBTRACT_VECTORS /* nothing */
- CHECK64B(0,r4,pre_tail_64b)
- CHECK64B(64,r4,pre_tail_64b)
- addi r4,r4,256
-
- CHECK64B(0,r6,tail_64b)
- CHECK64B(64,r6,tail_64b)
- addi r6,r6,256
-
- CHECK64B(0,r4,pre_tail_64b)
- CHECK64B(64,r4,pre_tail_64b)
- addi r4,r4,256
-
- CHECK64B(0,r6,tail_64b)
- CHECK64B(64,r6,tail_64b)
- addi r6,r6,256
-
- b L(loop)
-
- .p2align 5
-L(pre_tail_64b):
- mr r6,r4
-L(tail_64b):
- /* OK, we found a null byte. Let's look for it in the current 64-byte
- block and mark it in its corresponding VR. lxvp vx,0(ry) puts the
- low 16B bytes into vx+1, and the high into vx, so the order here is
- v5, v4, v7, v6. */
- vcmpequb v1,v5,M_VREG_ZERO
- vcmpequb v2,v4,M_VREG_ZERO
- vcmpequb v3,v7,M_VREG_ZERO
- vcmpequb v4,v6,M_VREG_ZERO
-
- /* Take into account the other 64B blocks we had already checked. */
- add r6,r6,r7
- /* Extract first bit of each byte. */
- M_VEXTRACTBM(r8,v1)
- M_VEXTRACTBM(r9,v2)
- M_VEXTRACTBM(r10,v3)
- M_VEXTRACTBM(r11,v4)
-
- /* Shift each value into their corresponding position. */
- sldi r9,r9,16
- sldi r10,r10,32
- sldi r11,r11,48
-
- /* Merge the results. */
- or r8,r8,r9
- or r9,r10,r11
- or r11,r9,r8
-
- cnttzd r0,r11 /* Count trailing zeros before the match. */
- cmpld r5,r0
- ble L(null)
- add r3,r6,r0 /* Compute final address. */
- blr
-
- .p2align 5
-L(tail1):
- M_TAIL(v0,0)
-
- .p2align 5
-L(tail2):
- M_TAIL(v1,16)
-
- .p2align 5
-L(tail3):
- M_TAIL(v2,32)
-
- .p2align 5
-L(tail4):
- M_TAIL(v3,48)
-
- .p2align 5
-L(tail5):
- M_TAIL(v4,64)
-
- .p2align 5
-L(tail6):
- M_TAIL(v5,80)
-
- .p2align 5
-L(tail7):
- M_TAIL(v6,96)
-
- .p2align 5
-L(tail8):
- M_TAIL(v7,112)
-
- .p2align 5
-L(tail9):
- M_TAIL(v8,128)
-
- .p2align 5
-L(tail10):
- M_TAIL(v9,144)
-
- .p2align 5
-L(tail11):
- M_TAIL(v10,160)
-
- .p2align 5
-L(tail12):
- M_TAIL(v0,176)
-
- .p2align 5
-L(tail13):
- M_TAIL(v1,192)
-
- .p2align 5
-L(tail14):
- M_TAIL(v2,208)
-
- .p2align 5
-L(tail15):
- M_TAIL(v3,224)
-
- .p2align 5
-L(found):
- vctzlsbb r7,v6
- cmpld r5,r7
- ble L(null)
- add r3,r3,r7
- blr
-
- .p2align 5
-L(null):
- li r3,0
- blr
-
-END (MEMCHR)
-
-weak_alias (__memchr, memchr)
-libc_hidden_builtin_def (memchr)
diff --git a/sysdeps/powerpc/powerpc64/le/power10/memcmp.S b/sysdeps/powerpc/powerpc64/le/power10/memcmp.S
index f32dc38..734bf5f 100644
--- a/sysdeps/powerpc/powerpc64/le/power10/memcmp.S
+++ b/sysdeps/powerpc/powerpc64/le/power10/memcmp.S
@@ -18,26 +18,10 @@
#include <sysdep.h>
-/* TODO: Replace macros by the actual instructions when minimum binutils becomes
- >= 2.35. This is used to keep compatibility with older versions. */
-#define VEXTRACTBM(rt,vrb) \
- .long(((4)<<(32-6)) \
- | ((rt)<<(32-11)) \
- | ((8)<<(32-16)) \
- | ((vrb)<<(32-21)) \
- | 1602)
-
-#define LXVP(xtp,dq,ra) \
- .long(((6)<<(32-6)) \
- | ((((xtp)-32)>>1)<<(32-10)) \
- | ((1)<<(32-11)) \
- | ((ra)<<(32-16)) \
- | dq)
-
/* Compare 32 bytes. */
#define COMPARE_32(vr1,vr2,offset,tail_1,tail_2)\
- LXVP(32+vr1,offset,r3); \
- LXVP(32+vr2,offset,r4); \
+ lxvp 32+vr1,offset(r3); \
+ lxvp 32+vr2,offset(r4); \
vcmpneb. v5,vr1+1,vr2+1; \
bne cr6,L(tail_2); \
vcmpneb. v4,vr1,vr2; \
@@ -56,7 +40,7 @@
#ifndef MEMCMP
# define MEMCMP memcmp
#endif
- .machine power9
+ .machine power10
ENTRY_TOCLESS (MEMCMP, 4)
CALL_MCOUNT 3
diff --git a/sysdeps/powerpc/powerpc64/le/power10/memcpy.S b/sysdeps/powerpc/powerpc64/le/power10/memcpy.S
index ed7a9f5..f2a503e 100644
--- a/sysdeps/powerpc/powerpc64/le/power10/memcpy.S
+++ b/sysdeps/powerpc/powerpc64/le/power10/memcpy.S
@@ -26,7 +26,7 @@
/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
Returns 'dst'. */
- .machine power9
+ .machine power10
ENTRY_TOCLESS (MEMCPY, 5)
CALL_MCOUNT 3
diff --git a/sysdeps/powerpc/powerpc64/le/power10/memmove.S b/sysdeps/powerpc/powerpc64/le/power10/memmove.S
index 47c2ac3..4aaa1ef 100644
--- a/sysdeps/powerpc/powerpc64/le/power10/memmove.S
+++ b/sysdeps/powerpc/powerpc64/le/power10/memmove.S
@@ -28,7 +28,7 @@
#ifndef MEMMOVE
# define MEMMOVE memmove
#endif
- .machine power9
+ .machine power10
ENTRY_TOCLESS (MEMMOVE, 5)
CALL_MCOUNT 3
diff --git a/sysdeps/powerpc/powerpc64/le/power10/memset.S b/sysdeps/powerpc/powerpc64/le/power10/memset.S
index 29d5114..f9442e7 100644
--- a/sysdeps/powerpc/powerpc64/le/power10/memset.S
+++ b/sysdeps/powerpc/powerpc64/le/power10/memset.S
@@ -25,7 +25,7 @@
# define MEMSET memset
#endif
- .machine power9
+ .machine power10
ENTRY_TOCLESS (MEMSET, 5)
CALL_MCOUNT 3
diff --git a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S
deleted file mode 100644
index fffa1ee..0000000
--- a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S
+++ /dev/null
@@ -1,233 +0,0 @@
-/* Optimized strcmp implementation for PowerPC64/POWER10.
- Copyright (C) 2021-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-#include <sysdep.h>
-
-#ifndef STRCMP
-# define STRCMP strcmp
-#endif
-
-/* Implements the function
- int [r3] strcmp (const char *s1 [r3], const char *s2 [r4]). */
-
-/* TODO: Change this to actual instructions when minimum binutils is upgraded
- to 2.27. Macros are defined below for these newer instructions in order
- to maintain compatibility. */
-
-#define LXVP(xtp,dq,ra) \
- .long(((6)<<(32-6)) \
- | ((((xtp)-32)>>1)<<(32-10)) \
- | ((1)<<(32-11)) \
- | ((ra)<<(32-16)) \
- | dq)
-
-#define COMPARE_16(vreg1,vreg2,offset) \
- lxv vreg1+32,offset(r3); \
- lxv vreg2+32,offset(r4); \
- vcmpnezb. v7,vreg1,vreg2; \
- bne cr6,L(different); \
-
-#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \
- LXVP(vreg1+32,offset,r3); \
- LXVP(vreg2+32,offset,r4); \
- vcmpnezb. v7,vreg1+1,vreg2+1; \
- bne cr6,L(label1); \
- vcmpnezb. v7,vreg1,vreg2; \
- bne cr6,L(label2); \
-
-#define TAIL(vreg1,vreg2) \
- vctzlsbb r6,v7; \
- vextubrx r5,r6,vreg1; \
- vextubrx r4,r6,vreg2; \
- subf r3,r4,r5; \
- blr; \
-
-#define CHECK_N_BYTES(reg1,reg2,len_reg) \
- sldi r0,len_reg,56; \
- lxvl 32+v4,reg1,r0; \
- lxvl 32+v5,reg2,r0; \
- add reg1,reg1,len_reg; \
- add reg2,reg2,len_reg; \
- vcmpnezb v7,v4,v5; \
- vctzlsbb r6,v7; \
- cmpld cr7,r6,len_reg; \
- blt cr7,L(different); \
-
- /* TODO: change this to .machine power10 when the minimum required
- binutils allows it. */
-
- .machine power9
-ENTRY_TOCLESS (STRCMP, 4)
- andi. r7,r3,4095
- andi. r8,r4,4095
- cmpldi cr0,r7,4096-16
- cmpldi cr1,r8,4096-16
- bgt cr0,L(crosses)
- bgt cr1,L(crosses)
- COMPARE_16(v4,v5,0)
-
-L(crosses):
- andi. r7,r3,15
- subfic r7,r7,16 /* r7(nalign1) = 16 - (str1 & 15). */
- andi. r9,r4,15
- subfic r5,r9,16 /* r5(nalign2) = 16 - (str2 & 15). */
- cmpld cr7,r7,r5
- beq cr7,L(same_aligned)
- blt cr7,L(nalign1_min)
-
- /* nalign2 is minimum and s2 pointer is aligned. */
- CHECK_N_BYTES(r3,r4,r5)
- /* Are we on the 64B hunk which crosses a page? */
- andi. r10,r3,63 /* Determine offset into 64B hunk. */
- andi. r8,r3,15 /* The offset into the 16B hunk. */
- neg r7,r3
- andi. r9,r7,15 /* Number of bytes after a 16B cross. */
- rlwinm. r7,r7,26,0x3F /* ((r3-4096))>>6&63. */
- beq L(compare_64_pagecross)
- mtctr r7
- b L(compare_64B_unaligned)
-
- /* nalign1 is minimum and s1 pointer is aligned. */
-L(nalign1_min):
- CHECK_N_BYTES(r3,r4,r7)
- /* Are we on the 64B hunk which crosses a page? */
- andi. r10,r4,63 /* Determine offset into 64B hunk. */
- andi. r8,r4,15 /* The offset into the 16B hunk. */
- neg r7,r4
- andi. r9,r7,15 /* Number of bytes after a 16B cross. */
- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */
- beq L(compare_64_pagecross)
- mtctr r7
-
- .p2align 5
-L(compare_64B_unaligned):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- bdnz L(compare_64B_unaligned)
-
- /* Cross the page boundary of s2, carefully. Only for first
- iteration we have to get the count of 64B blocks to be checked.
- From second iteration and beyond, loop counter is always 63. */
-L(compare_64_pagecross):
- li r11, 63
- mtctr r11
- cmpldi r10,16
- ble L(cross_4)
- cmpldi r10,32
- ble L(cross_3)
- cmpldi r10,48
- ble L(cross_2)
-L(cross_1):
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- addi r3,r3,48
- addi r4,r4,48
- b L(compare_64B_unaligned)
-L(cross_2):
- COMPARE_16(v4,v5,0)
- addi r3,r3,16
- addi r4,r4,16
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- addi r3,r3,32
- addi r4,r4,32
- b L(compare_64B_unaligned)
-L(cross_3):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- addi r3,r3,32
- addi r4,r4,32
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- addi r3,r3,16
- addi r4,r4,16
- b L(compare_64B_unaligned)
-L(cross_4):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- addi r3,r3,48
- addi r4,r4,48
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- b L(compare_64B_unaligned)
-
-L(same_aligned):
- CHECK_N_BYTES(r3,r4,r7)
- /* Align s1 to 32B and adjust s2 address.
- Use lxvp only if both s1 and s2 are 32B aligned. */
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
-
- clrldi r6,r3,59
- subfic r5,r6,32
- add r3,r3,r5
- add r4,r4,r5
- andi. r5,r4,0x1F
- beq cr0,L(32B_aligned_loop)
-
- .p2align 5
-L(16B_aligned_loop):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- b L(16B_aligned_loop)
-
- /* Calculate and return the difference. */
-L(different):
- TAIL(v4,v5)
-
- .p2align 5
-L(32B_aligned_loop):
- COMPARE_32(v14,v16,0,tail1,tail2)
- COMPARE_32(v18,v20,32,tail3,tail4)
- COMPARE_32(v22,v24,64,tail5,tail6)
- COMPARE_32(v26,v28,96,tail7,tail8)
- addi r3,r3,128
- addi r4,r4,128
- b L(32B_aligned_loop)
-
-L(tail1): TAIL(v15,v17)
-L(tail2): TAIL(v14,v16)
-L(tail3): TAIL(v19,v21)
-L(tail4): TAIL(v18,v20)
-L(tail5): TAIL(v23,v25)
-L(tail6): TAIL(v22,v24)
-L(tail7): TAIL(v27,v29)
-L(tail8): TAIL(v26,v28)
-
-END (STRCMP)
-libc_hidden_builtin_def (strcmp)
diff --git a/sysdeps/powerpc/powerpc64/le/power10/strlen.S b/sysdeps/powerpc/powerpc64/le/power10/strlen.S
index 4985a92..ec644d5 100644
--- a/sysdeps/powerpc/powerpc64/le/power10/strlen.S
+++ b/sysdeps/powerpc/powerpc64/le/power10/strlen.S
@@ -63,22 +63,6 @@
blr
#endif /* USE_AS_RAWMEMCHR */
-/* TODO: Replace macros by the actual instructions when minimum binutils becomes
- >= 2.35. This is used to keep compatibility with older versions. */
-#define VEXTRACTBM(rt,vrb) \
- .long(((4)<<(32-6)) \
- | ((rt)<<(32-11)) \
- | ((8)<<(32-16)) \
- | ((vrb)<<(32-21)) \
- | 1602)
-
-#define LXVP(xtp,dq,ra) \
- .long(((6)<<(32-6)) \
- | ((((xtp)-32)>>1)<<(32-10)) \
- | ((1)<<(32-11)) \
- | ((ra)<<(32-16)) \
- | dq)
-
#define CHECK16(vreg,offset,addr,label) \
lxv vreg+32,offset(addr); \
vcmpequb. vreg,vreg,v18; \
@@ -88,8 +72,8 @@
of bytes already checked. */
#define CHECK64(offset,addr,label) \
li r6,offset; \
- LXVP(v4+32,offset,addr); \
- LXVP(v6+32,offset+32,addr); \
+ lxvp v4+32,offset(addr); \
+ lxvp v6+32,offset+32(addr); \
RAWMEMCHR_SUBTRACT_VECTORS; \
vminub v14,v4,v5; \
vminub v15,v6,v7; \
@@ -108,7 +92,7 @@
The implementation can load bytes past a matching byte, but only
up to the next 64B boundary, so it never crosses a page. */
-.machine power9
+.machine power10
ENTRY_TOCLESS (FUNCNAME, 4)
CALL_MCOUNT MCOUNT_NARGS
@@ -234,10 +218,10 @@ L(tail_64b):
add r5,r5,r6
/* Extract first bit of each byte. */
- VEXTRACTBM(r7,v1)
- VEXTRACTBM(r8,v2)
- VEXTRACTBM(r9,v3)
- VEXTRACTBM(r10,v4)
+ vextractbm r7,v1
+ vextractbm r8,v2
+ vextractbm r9,v3
+ vextractbm r10,v4
/* Shift each value into their corresponding position. */
sldi r8,r8,16
diff --git a/sysdeps/powerpc/powerpc64/le/power10/strncmp.S b/sysdeps/powerpc/powerpc64/le/power10/strncmp.S
deleted file mode 100644
index 10700dd..0000000
--- a/sysdeps/powerpc/powerpc64/le/power10/strncmp.S
+++ /dev/null
@@ -1,271 +0,0 @@
-/* Optimized strncmp implementation for PowerPC64/POWER10.
- Copyright (C) 2024-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* Implements the function
-
- int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t [r5] n)
-
- The implementation uses unaligned doubleword access to avoid specialized
- code paths depending of data alignment for first 32 bytes and uses
- vectorised loops after that. */
-
-#ifndef STRNCMP
-# define STRNCMP strncmp
-#endif
-
-/* TODO: Change this to actual instructions when minimum binutils is upgraded
- to 2.27. Macros are defined below for these newer instructions in order
- to maintain compatibility. */
-
-#define LXVP(xtp,dq,ra) \
- .long(((6)<<(32-6)) \
- | ((((xtp)-32)>>1)<<(32-10)) \
- | ((1)<<(32-11)) \
- | ((ra)<<(32-16)) \
- | dq)
-
-#define COMPARE_16(vreg1,vreg2,offset) \
- lxv vreg1+32,offset(r3); \
- lxv vreg2+32,offset(r4); \
- vcmpnezb. v7,vreg1,vreg2; \
- bne cr6,L(different); \
- cmpldi cr7,r5,16; \
- ble cr7,L(ret0); \
- addi r5,r5,-16;
-
-#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \
- LXVP(vreg1+32,offset,r3); \
- LXVP(vreg2+32,offset,r4); \
- vcmpnezb. v7,vreg1+1,vreg2+1; \
- bne cr6,L(label1); \
- vcmpnezb. v7,vreg1,vreg2; \
- bne cr6,L(label2); \
- cmpldi cr7,r5,32; \
- ble cr7,L(ret0); \
- addi r5,r5,-32;
-
-#define TAIL_FIRST_16B(vreg1,vreg2) \
- vctzlsbb r6,v7; \
- cmpld cr7,r5,r6; \
- ble cr7,L(ret0); \
- vextubrx r5,r6,vreg1; \
- vextubrx r4,r6,vreg2; \
- subf r3,r4,r5; \
- blr;
-
-#define TAIL_SECOND_16B(vreg1,vreg2) \
- vctzlsbb r6,v7; \
- addi r0,r6,16; \
- cmpld cr7,r5,r0; \
- ble cr7,L(ret0); \
- vextubrx r5,r6,vreg1; \
- vextubrx r4,r6,vreg2; \
- subf r3,r4,r5; \
- blr;
-
-#define CHECK_N_BYTES(reg1,reg2,len_reg) \
- sldi r6,len_reg,56; \
- lxvl 32+v4,reg1,r6; \
- lxvl 32+v5,reg2,r6; \
- add reg1,reg1,len_reg; \
- add reg2,reg2,len_reg; \
- vcmpnezb v7,v4,v5; \
- vctzlsbb r6,v7; \
- cmpld cr7,r6,len_reg; \
- blt cr7,L(different); \
- cmpld cr7,r5,len_reg; \
- ble cr7,L(ret0); \
- sub r5,r5,len_reg; \
-
- /* TODO: change this to .machine power10 when the minimum required
- binutils allows it. */
- .machine power9
-ENTRY_TOCLESS (STRNCMP, 4)
- /* Check if size is 0. */
- cmpdi cr0,r5,0
- beq cr0,L(ret0)
- andi. r7,r3,4095
- andi. r8,r4,4095
- cmpldi cr0,r7,4096-16
- cmpldi cr1,r8,4096-16
- bgt cr0,L(crosses)
- bgt cr1,L(crosses)
- COMPARE_16(v4,v5,0)
- addi r3,r3,16
- addi r4,r4,16
-
-L(crosses):
- andi. r7,r3,15
- subfic r7,r7,16 /* r7(nalign1) = 16 - (str1 & 15). */
- andi. r9,r4,15
- subfic r8,r9,16 /* r8(nalign2) = 16 - (str2 & 15). */
- cmpld cr7,r7,r8
- beq cr7,L(same_aligned)
- blt cr7,L(nalign1_min)
-
- /* nalign2 is minimum and s2 pointer is aligned. */
- CHECK_N_BYTES(r3,r4,r8)
- /* Are we on the 64B hunk which crosses a page? */
- andi. r10,r3,63 /* Determine offset into 64B hunk. */
- andi. r8,r3,15 /* The offset into the 16B hunk. */
- neg r7,r3
- andi. r9,r7,15 /* Number of bytes after a 16B cross. */
- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */
- beq L(compare_64_pagecross)
- mtctr r7
- b L(compare_64B_unaligned)
-
- /* nalign1 is minimum and s1 pointer is aligned. */
-L(nalign1_min):
- CHECK_N_BYTES(r3,r4,r7)
- /* Are we on the 64B hunk which crosses a page? */
- andi. r10,r4,63 /* Determine offset into 64B hunk. */
- andi. r8,r4,15 /* The offset into the 16B hunk. */
- neg r7,r4
- andi. r9,r7,15 /* Number of bytes after a 16B cross. */
- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */
- beq L(compare_64_pagecross)
- mtctr r7
-
- .p2align 5
-L(compare_64B_unaligned):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- bdnz L(compare_64B_unaligned)
-
- /* Cross the page boundary of s2, carefully. Only for first
- iteration we have to get the count of 64B blocks to be checked.
- From second iteration and beyond, loop counter is always 63. */
-L(compare_64_pagecross):
- li r11, 63
- mtctr r11
- cmpldi r10,16
- ble L(cross_4)
- cmpldi r10,32
- ble L(cross_3)
- cmpldi r10,48
- ble L(cross_2)
-L(cross_1):
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- addi r3,r3,48
- addi r4,r4,48
- b L(compare_64B_unaligned)
-L(cross_2):
- COMPARE_16(v4,v5,0)
- addi r3,r3,16
- addi r4,r4,16
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- addi r3,r3,32
- addi r4,r4,32
- b L(compare_64B_unaligned)
-L(cross_3):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- addi r3,r3,32
- addi r4,r4,32
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- COMPARE_16(v4,v5,0)
- addi r3,r3,16
- addi r4,r4,16
- b L(compare_64B_unaligned)
-L(cross_4):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- addi r3,r3,48
- addi r4,r4,48
- CHECK_N_BYTES(r3,r4,r9)
- CHECK_N_BYTES(r3,r4,r8)
- b L(compare_64B_unaligned)
-
-L(same_aligned):
- CHECK_N_BYTES(r3,r4,r7)
- /* Align s1 to 32B and adjust s2 address.
- Use lxvp only if both s1 and s2 are 32B aligned. */
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- addi r5,r5,32
-
- clrldi r6,r3,59
- subfic r7,r6,32
- add r3,r3,r7
- add r4,r4,r7
- subf r5,r7,r5
- andi. r7,r4,0x1F
- beq cr0,L(32B_aligned_loop)
-
- .p2align 5
-L(16B_aligned_loop):
- COMPARE_16(v4,v5,0)
- COMPARE_16(v4,v5,16)
- COMPARE_16(v4,v5,32)
- COMPARE_16(v4,v5,48)
- addi r3,r3,64
- addi r4,r4,64
- b L(16B_aligned_loop)
-
- /* Calculate and return the difference. */
-L(different):
- TAIL_FIRST_16B(v4,v5)
-
- .p2align 5
-L(32B_aligned_loop):
- COMPARE_32(v14,v16,0,tail1,tail2)
- COMPARE_32(v18,v20,32,tail3,tail4)
- COMPARE_32(v22,v24,64,tail5,tail6)
- COMPARE_32(v26,v28,96,tail7,tail8)
- addi r3,r3,128
- addi r4,r4,128
- b L(32B_aligned_loop)
-
-L(tail1): TAIL_FIRST_16B(v15,v17)
-L(tail2): TAIL_SECOND_16B(v14,v16)
-L(tail3): TAIL_FIRST_16B(v19,v21)
-L(tail4): TAIL_SECOND_16B(v18,v20)
-L(tail5): TAIL_FIRST_16B(v23,v25)
-L(tail6): TAIL_SECOND_16B(v22,v24)
-L(tail7): TAIL_FIRST_16B(v27,v29)
-L(tail8): TAIL_SECOND_16B(v26,v28)
-
- .p2align 5
-L(ret0):
- li r3,0
- blr
-
-END(STRNCMP)
-libc_hidden_builtin_def(strncmp)
diff --git a/sysdeps/powerpc/powerpc64/le/power9/strcmp.S b/sysdeps/powerpc/powerpc64/le/power9/strcmp.S
index 83b21c6..f0cde81 100644
--- a/sysdeps/powerpc/powerpc64/le/power9/strcmp.S
+++ b/sysdeps/powerpc/powerpc64/le/power9/strcmp.S
@@ -28,21 +28,6 @@
The implementation uses unaligned doubleword access for first 32 bytes
as in POWER8 patch and uses vectorised loops after that. */
-/* TODO: Change this to actual instructions when minimum binutils is upgraded
- to 2.27. Macros are defined below for these newer instructions in order
- to maintain compatibility. */
-#define VCTZLSBB(r,v) .long (0x10010602 | ((r)<<(32-11)) | ((v)<<(32-21)))
-
-#define VEXTUBRX(t,a,b) .long (0x1000070d \
- | ((t)<<(32-11)) \
- | ((a)<<(32-16)) \
- | ((b)<<(32-21)) )
-
-#define VCMPNEZB(t,a,b) .long (0x10000507 \
- | ((t)<<(32-11)) \
- | ((a)<<(32-16)) \
- | ((b)<<(32-21)) )
-
/* Get 16 bytes for unaligned case.
reg1: Vector to hold next 16 bytes.
reg2: Address to read from.
@@ -61,10 +46,7 @@
2: \
vperm reg1, v9, reg1, reg3;
-/* TODO: change this to .machine power9 when the minimum required binutils
- allows it. */
-
- .machine power7
+ .machine power9
ENTRY_TOCLESS (STRCMP, 4)
li r0, 0
@@ -116,7 +98,7 @@ L(align):
/* Both s1 and s2 are unaligned. */
GET16BYTES(v4, r7, v10)
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
beq cr6, L(match)
b L(different)
@@ -136,28 +118,28 @@ L(match):
L(s1_align):
lvx v4, r7, r0
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, r7, r0
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, r7, r0
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, r7, r0
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
beq cr6, L(s1_align)
@@ -167,37 +149,37 @@ L(s1_align):
L(aligned):
lvx v4, 0, r7
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, 0, r7
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, 0, r7
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
bne cr6, L(different)
lvx v4, 0, r7
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
addi r7, r7, 16
addi r4, r4, 16
beq cr6, L(aligned)
/* Calculate and return the difference. */
L(different):
- VCTZLSBB(r6, v7)
- VEXTUBRX(r5, r6, v4)
- VEXTUBRX(r4, r6, v5)
+ vctzlsbb r6, v7
+ vextubrx r5, r6, v4
+ vextubrx r4, r6, v5
subf r3, r4, r5
extsw r3, r3
blr
diff --git a/sysdeps/powerpc/powerpc64/le/power9/strncmp.S b/sysdeps/powerpc/powerpc64/le/power9/strncmp.S
index 60c74ab..5a25f94 100644
--- a/sysdeps/powerpc/powerpc64/le/power9/strncmp.S
+++ b/sysdeps/powerpc/powerpc64/le/power9/strncmp.S
@@ -29,21 +29,6 @@
# define STRNCMP strncmp
#endif
-/* TODO: Change this to actual instructions when minimum binutils is upgraded
- to 2.27. Macros are defined below for these newer instructions in order
- to maintain compatibility. */
-#define VCTZLSBB(r,v) .long (0x10010602 | ((r)<<(32-11)) | ((v)<<(32-21)))
-
-#define VEXTUBRX(t,a,b) .long (0x1000070d \
- | ((t)<<(32-11)) \
- | ((a)<<(32-16)) \
- | ((b)<<(32-21)) )
-
-#define VCMPNEZB(t,a,b) .long (0x10000507 \
- | ((t)<<(32-11)) \
- | ((a)<<(32-16)) \
- | ((b)<<(32-21)) )
-
/* Get 16 bytes for unaligned case.
reg1: Vector to hold next 16 bytes.
reg2: Address to read from.
@@ -64,9 +49,7 @@
2: \
vperm reg1, v9, reg1, reg3;
-/* TODO: change this to .machine power9 when minimum binutils
- is upgraded to 2.27. */
- .machine power7
+ .machine power9
ENTRY_TOCLESS (STRNCMP, 4)
/* Check if size is 0. */
cmpdi cr0, r5, 0
@@ -163,7 +146,7 @@ L(align):
clrldi r6, r3, 60
subfic r11, r6, 16
GET16BYTES(v4, r3, v10)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
beq cr6, L(match)
b L(different)
@@ -186,7 +169,7 @@ L(match):
L(s1_align):
lvx v4, 0, r3
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -196,7 +179,7 @@ L(s1_align):
lvx v4, 0, r3
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -206,7 +189,7 @@ L(s1_align):
lvx v4, 0, r3
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -216,7 +199,7 @@ L(s1_align):
lvx v4, 0, r3
GET16BYTES(v5, r4, v6)
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -228,7 +211,7 @@ L(s1_align):
L(aligned):
lvx v4, 0, r3
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -238,7 +221,7 @@ L(aligned):
lvx v4, 0, r3
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -248,7 +231,7 @@ L(aligned):
lvx v4, 0, r3
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -258,7 +241,7 @@ L(aligned):
lvx v4, 0, r3
lvx v5, 0, r4
- VCMPNEZB(v7, v5, v4)
+ vcmpnezb. v7, v5, v4
bne cr6, L(different)
cmpldi cr7, r5, 16
ble cr7, L(ret0)
@@ -268,11 +251,11 @@ L(aligned):
b L(aligned)
/* Calculate and return the difference. */
L(different):
- VCTZLSBB(r6, v7)
+ vctzlsbb r6, v7
cmplw cr7, r5, r6
ble cr7, L(ret0)
- VEXTUBRX(r5, r6, v4)
- VEXTUBRX(r4, r6, v5)
+ vextubrx r5, r6, v4
+ vextubrx r4, r6, v5
subf r3, r4, r5
extsw r3, r3
blr
diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile
index 624439d..e321ce5 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile
@@ -30,12 +30,11 @@ sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \
strncase-power8
ifneq (,$(filter %le,$(config-machine)))
-sysdep_routines += memchr-power10 memcmp-power10 memcpy-power10 \
- memmove-power10 memset-power10 rawmemchr-power9 \
- rawmemchr-power10 strcmp-power9 strcmp-power10 \
- strncmp-power9 strncmp-power10 strcpy-power9 strcat-power10 \
- stpcpy-power9 strlen-power9 strncpy-power9 stpncpy-power9 \
- strlen-power10
+sysdep_routines += memcmp-power10 memcpy-power10 memmove-power10 memset-power10 \
+ rawmemchr-power9 rawmemchr-power10 \
+ strcmp-power9 strncmp-power9 \
+ strcpy-power9 strcat-power10 stpcpy-power9 \
+ strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10
endif
endif
diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
index f3acd38..016d05f 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
@@ -164,9 +164,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
/* Support sysdeps/powerpc/powerpc64/multiarch/strncmp.c. */
IFUNC_IMPL (i, name, strncmp,
#ifdef __LITTLE_ENDIAN__
- IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_1
- && hwcap & PPC_FEATURE_HAS_VSX,
- __strncmp_power10)
IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_00
&& hwcap & PPC_FEATURE_HAS_ALTIVEC,
__strncmp_power9)
@@ -229,12 +226,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
/* Support sysdeps/powerpc/powerpc64/multiarch/memchr.c. */
IFUNC_IMPL (i, name, memchr,
-#ifdef __LITTLE_ENDIAN__
- IFUNC_IMPL_ADD (array, i, memchr,
- hwcap2 & PPC_FEATURE2_ARCH_3_1
- && hwcap & PPC_FEATURE_HAS_VSX,
- __memchr_power10)
-#endif
IFUNC_IMPL_ADD (array, i, memchr,
hwcap2 & PPC_FEATURE2_ARCH_2_07
&& hwcap & PPC_FEATURE_HAS_ALTIVEC,
@@ -376,10 +367,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
IFUNC_IMPL (i, name, strcmp,
#ifdef __LITTLE_ENDIAN__
IFUNC_IMPL_ADD (array, i, strcmp,
- (hwcap2 & PPC_FEATURE2_ARCH_3_1)
- && (hwcap & PPC_FEATURE_HAS_VSX),
- __strcmp_power10)
- IFUNC_IMPL_ADD (array, i, strcmp,
hwcap2 & PPC_FEATURE2_ARCH_3_00
&& hwcap & PPC_FEATURE_HAS_ALTIVEC,
__strcmp_power9)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr.c b/sysdeps/powerpc/powerpc64/multiarch/memchr.c
index b63c796..3abd64a 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/memchr.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/memchr.c
@@ -25,23 +25,15 @@ extern __typeof (__memchr) __memchr_ppc attribute_hidden;
extern __typeof (__memchr) __memchr_power7 attribute_hidden;
extern __typeof (__memchr) __memchr_power8 attribute_hidden;
-# ifdef __LITTLE_ENDIAN__
-extern __typeof (__memchr) __memchr_power10 attribute_hidden;
-# endif
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
ifunc symbol properly. */
libc_ifunc (__memchr,
-# ifdef __LITTLE_ENDIAN__
- (hwcap2 & PPC_FEATURE2_ARCH_3_1
- && hwcap & PPC_FEATURE_HAS_VSX)
- ? __memchr_power10 :
-# endif
- (hwcap2 & PPC_FEATURE2_ARCH_2_07
- && hwcap & PPC_FEATURE_HAS_ALTIVEC)
- ? __memchr_power8 :
- (hwcap & PPC_FEATURE_ARCH_2_06)
- ? __memchr_power7
- : __memchr_ppc);
+ (hwcap2 & PPC_FEATURE2_ARCH_2_07
+ && hwcap & PPC_FEATURE_HAS_ALTIVEC)
+ ? __memchr_power8 :
+ (hwcap & PPC_FEATURE_ARCH_2_06)
+ ? __memchr_power7
+ : __memchr_ppc);
weak_alias (__memchr, memchr)
libc_hidden_builtin_def (memchr)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c
index 3c636e3..7c77c08 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c
@@ -29,16 +29,12 @@ extern __typeof (strcmp) __strcmp_power7 attribute_hidden;
extern __typeof (strcmp) __strcmp_power8 attribute_hidden;
# ifdef __LITTLE_ENDIAN__
extern __typeof (strcmp) __strcmp_power9 attribute_hidden;
-extern __typeof (strcmp) __strcmp_power10 attribute_hidden;
# endif
# undef strcmp
libc_ifunc_redirected (__redirect_strcmp, strcmp,
# ifdef __LITTLE_ENDIAN__
- (hwcap2 & PPC_FEATURE2_ARCH_3_1
- && hwcap & PPC_FEATURE_HAS_VSX)
- ? __strcmp_power10 :
(hwcap2 & PPC_FEATURE2_ARCH_3_00
&& hwcap & PPC_FEATURE_HAS_ALTIVEC)
? __strcmp_power9 :
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
index 0a664a6..4cfe27f 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
@@ -29,7 +29,6 @@ extern __typeof (strncmp) __strncmp_ppc attribute_hidden;
extern __typeof (strncmp) __strncmp_power8 attribute_hidden;
# ifdef __LITTLE_ENDIAN__
extern __typeof (strncmp) __strncmp_power9 attribute_hidden;
-extern __typeof (strncmp) __strncmp_power10 attribute_hidden;
# endif
# undef strncmp
@@ -37,9 +36,6 @@ extern __typeof (strncmp) __strncmp_power10 attribute_hidden;
ifunc symbol properly. */
libc_ifunc_redirected (__redirect_strncmp, strncmp,
# ifdef __LITTLE_ENDIAN__
- (hwcap2 & PPC_FEATURE2_ARCH_3_1
- && hwcap & PPC_FEATURE_HAS_VSX)
- ? __strncmp_power10 :
(hwcap2 & PPC_FEATURE2_ARCH_3_00
&& hwcap & PPC_FEATURE_HAS_ALTIVEC)
? __strncmp_power9 :
diff --git a/sysdeps/s390/s390-32/s390-mcount.S b/sysdeps/s390/s390-32/s390-mcount.S
index 59614ee..7f8457f 100644
--- a/sysdeps/s390/s390-32/s390-mcount.S
+++ b/sysdeps/s390/s390-32/s390-mcount.S
@@ -54,11 +54,7 @@ C_LABEL(_mcount)
/* Save the caller-clobbered registers. */
ahi %r15,-128
cfi_adjust_cfa_offset (128)
- /* binutils 2.28+: .cfi_val_offset r15, -96 */
- .cfi_escape \
- /* DW_CFA_val_offset */ 0x14, \
- /* r15 */ 0x0f, \
- /* scaled offset */ 0x18
+ cfi_val_offset (r15, -96)
stm %r14,%r5,96(%r15)
cfi_offset (r14, -128)
l %r2,132(%r15) # callers address = first parameter
diff --git a/sysdeps/s390/s390-64/s390x-mcount.h b/sysdeps/s390/s390-64/s390x-mcount.h
index b82f1a8..c5bd70d 100644
--- a/sysdeps/s390/s390-64/s390x-mcount.h
+++ b/sysdeps/s390/s390-64/s390x-mcount.h
@@ -68,11 +68,7 @@ C_LABEL(MCOUNT_SYMBOL)
/* Save the caller-clobbered registers. */
aghi %r15,-224
cfi_adjust_cfa_offset (224)
- /* binutils 2.28+: .cfi_val_offset r15, -160 */
- .cfi_escape \
- /* DW_CFA_val_offset */ 0x14, \
- /* r15 */ 0x0f, \
- /* scaled offset */ 0x14
+ cfi_val_offset (r15, -160)
stmg %r14,%r5,160(%r15)
cfi_offset (r14, -224)
cfi_offset (r0, -224+16)
diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
index 694b020..8393760 100644
--- a/sysdeps/sparc/sparc32/start.S
+++ b/sysdeps/sparc/sparc32/start.S
@@ -35,6 +35,7 @@
#include <sysdep.h>
+#define FRAME_SIZE 104
.section ".text"
.align 4
@@ -48,12 +49,12 @@ _start:
/* Terminate the stack frame, and reserve space for functions to
drop their arguments. */
mov %g0, %fp
- sub %sp, 6*4, %sp
+ sub %sp, FRAME_SIZE, %sp
/* Extract the arguments and environment as encoded on the stack. The
argument info starts after one register window (16 words) past the SP. */
- ld [%sp+22*4], %o1
- add %sp, 23*4, %o2
+ ld [%sp+168], %o1
+ add %sp, 172, %o2
/* Load the addresses of the user entry points. */
#ifndef PIC
@@ -73,6 +74,10 @@ _start:
be NULL. */
mov %g1, %o5
+ /* Provide the highest stack address to update the __libc_stack_end (used
+ to enable executable stacks if required). */
+ st %sp, [%sp+23*4]
+
/* Let libc do the rest of the initialization, and call main. */
call __libc_start_main
nop
diff --git a/sysdeps/sparc/sparc64/start.S b/sysdeps/sparc/sparc64/start.S
index c9c25c2..08e1e77 100644
--- a/sysdeps/sparc/sparc64/start.S
+++ b/sysdeps/sparc/sparc64/start.S
@@ -74,6 +74,10 @@ _start:
be NULL. */
mov %g1, %o5
+ /* Provide the highest stack address to update the __libc_stack_end (used
+ to enable executable stacks if required). */
+ stx %sp, [%sp+STACK_BIAS+22*8]
+
/* Let libc do the rest of the initialization, and call main. */
call __libc_start_main
nop
diff --git a/sysdeps/unix/bsd/tcsetattr.c b/sysdeps/unix/bsd/tcsetattr.c
index 38b5f71..8693d94 100644
--- a/sysdeps/unix/bsd/tcsetattr.c
+++ b/sysdeps/unix/bsd/tcsetattr.c
@@ -32,7 +32,7 @@
/* Set the state of FD to *TERMIOS_P. */
int
-tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+__tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{
struct termios myt;
@@ -56,4 +56,6 @@ tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
return __ioctl (fd, TIOCSETAF, termios_p);
}
}
-libc_hidden_def (tcsetattr)
+
+libc_hidden_def (__tcsetattr)
+weak_alias (__tcsetattr, tcsetattr)
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index ebcf820..c47cbdf 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -151,15 +151,6 @@ sysdep_headers += \
bits/struct_stat.h \
bits/struct_stat_time64_helper.h \
bits/syscall.h \
- bits/termios-baud.h \
- bits/termios-c_cc.h \
- bits/termios-c_cflag.h \
- bits/termios-c_iflag.h \
- bits/termios-c_lflag.h \
- bits/termios-c_oflag.h \
- bits/termios-misc.h \
- bits/termios-struct.h \
- bits/termios-tcflow.h \
bits/timerfd.h \
bits/types/struct_msqid64_ds.h \
bits/types/struct_msqid64_ds_helper.h \
@@ -421,6 +412,24 @@ tst-rseq-disable-static-ENV = GLIBC_TUNABLES=glibc.pthread.rseq=0
endif # $(subdir) == misc
+ifeq ($(subdir),termios)
+sysdep_headers += \
+ bits/termios-c_cc.h \
+ bits/termios-c_cflag.h \
+ bits/termios-c_iflag.h \
+ bits/termios-c_lflag.h \
+ bits/termios-c_oflag.h \
+ bits/termios-cbaud.h \
+ bits/termios-misc.h \
+ bits/termios-struct.h \
+ bits/termios-tcflow.h \
+ # sysdep_headers
+
+tests += \
+ tst-termios-linux \
+ # tests
+endif
+
ifeq ($(subdir),time)
sysdep_headers += \
bits/timex.h \
@@ -603,6 +612,7 @@ endif
ifeq ($(subdir),io)
sysdep_routines += \
close_nocancel \
+ close_nocancel_nostatus \
fallocate \
fallocate64 \
fcntl_nocancel \
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 55d5655..585dec7 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -332,6 +332,13 @@ libc {
sched_getattr;
sched_setattr;
}
+ GLIBC_2.42 {
+ cfgetospeed;
+ cfgetispeed;
+ cfsetospeed;
+ cfsetispeed;
+ cfsetspeed;
+ }
GLIBC_PRIVATE {
# functions used in other libraries
__syscall_rt_sigqueueinfo;
@@ -339,6 +346,7 @@ libc {
__read_nocancel;
__pread64_nocancel;
__close_nocancel;
+ __close_nocancel_nostatus;
__sigtimedwait;
# functions used by nscd
__netlink_assert_response;
diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
index 89aced0..ba4a461 100644
--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
@@ -175,6 +175,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
index 6d63c8a..1acc82d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -23,6 +23,7 @@
#include <sys/prctl.h>
#include <sys/utsname.h>
#include <dl-tunables-parse.h>
+#include <dl-symbol-redir-ifunc.h>
#define DCZID_DZP_MASK (1 << 4)
#define DCZID_BS_MASK (0xf)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index aa6bf48..a22e651 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2752,6 +2752,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index ecdabe6..bb8114b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1269,6 +1269,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist
index a56ce7f..f7f72b6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist
@@ -148,3 +148,23 @@ GLIBC_2.41 _ZGVsMxv_sinpi F
GLIBC_2.41 _ZGVsMxv_sinpif F
GLIBC_2.41 _ZGVsMxv_tanpi F
GLIBC_2.41 _ZGVsMxv_tanpif F
+GLIBC_2.42 _ZGVnN2v_acospi F
+GLIBC_2.42 _ZGVnN2v_acospif F
+GLIBC_2.42 _ZGVnN2v_asinpi F
+GLIBC_2.42 _ZGVnN2v_asinpif F
+GLIBC_2.42 _ZGVnN2v_atanpi F
+GLIBC_2.42 _ZGVnN2v_atanpif F
+GLIBC_2.42 _ZGVnN2vv_atan2pi F
+GLIBC_2.42 _ZGVnN2vv_atan2pif F
+GLIBC_2.42 _ZGVnN4v_acospif F
+GLIBC_2.42 _ZGVnN4v_asinpif F
+GLIBC_2.42 _ZGVnN4v_atanpif F
+GLIBC_2.42 _ZGVnN4vv_atan2pif F
+GLIBC_2.42 _ZGVsMxv_acospi F
+GLIBC_2.42 _ZGVsMxv_acospif F
+GLIBC_2.42 _ZGVsMxv_asinpi F
+GLIBC_2.42 _ZGVsMxv_asinpif F
+GLIBC_2.42 _ZGVsMxv_atanpi F
+GLIBC_2.42 _ZGVsMxv_atanpif F
+GLIBC_2.42 _ZGVsMxvv_atan2pi F
+GLIBC_2.42 _ZGVsMxvv_atan2pif F
diff --git a/sysdeps/unix/sysv/linux/aarch64/makecontext.c b/sysdeps/unix/sysv/linux/aarch64/makecontext.c
index a2eab9e..4485723 100644
--- a/sysdeps/unix/sysv/linux/aarch64/makecontext.c
+++ b/sysdeps/unix/sysv/linux/aarch64/makecontext.c
@@ -36,9 +36,7 @@ static struct _aarch64_ctx *extension (void *p)
static void *
alloc_makecontext_gcs (size_t stack_size)
{
- void *base;
- size_t size;
- void *gcsp = __alloc_gcs (stack_size, &base, &size);
+ void *gcsp = __alloc_gcs (stack_size, NULL);
if (gcsp == NULL)
/* ENOSYS, bad size or OOM. */
abort ();
diff --git a/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/sysdeps/unix/sysv/linux/aarch64/setcontext.S
index 022a263..d9716f0 100644
--- a/sysdeps/unix/sysv/linux/aarch64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/aarch64/setcontext.S
@@ -48,25 +48,16 @@ ENTRY (__setcontext)
cbz x0, 1f
b C_SYMBOL_NAME (__syscall_error)
1:
- /* Disable ZA of SME. */
-#if HAVE_AARCH64_PAC_RET
- PACIASP
- cfi_window_save
-#endif
- stp x29, x30, [sp, -16]!
- cfi_adjust_cfa_offset (16)
- cfi_rel_offset (x29, 0)
- cfi_rel_offset (x30, 8)
- mov x29, sp
+ /* Clear ZA state of SME. */
+ /* The calling convention of __libc_arm_za_disable allows to do
+ this thus allowing to avoid saving to and reading from stack.
+ As a result we also don't need to sign the return address and
+ check it after returning because it is not stored to stack. */
+ mov x13, x30
+ cfi_register (x30, x13)
bl __libc_arm_za_disable
- ldp x29, x30, [sp], 16
- cfi_adjust_cfa_offset (-16)
- cfi_restore (x29)
- cfi_restore (x30)
-#if HAVE_AARCH64_PAC_RET
- AUTIASP
- cfi_window_save
-#endif
+ mov x30, x13
+ cfi_register (x13, x30)
/* Restore the general purpose registers. */
mov x0, x9
cfi_def_cfa (x0, 0)
diff --git a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
index cc41253..58ddb95 100644
--- a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
@@ -119,7 +119,7 @@ L(gcs_done):
2:
/* The oucp context is restored here via an indirect branch,
x1 must be restored too which has the real return address. */
- BTI_J
+ bti j
mov x30, x1
RET
PSEUDO_END (__swapcontext)
diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
index 455da93..840d6fe 100644
--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
@@ -209,6 +209,7 @@
#define __NR_open 45
#define __NR_open_by_handle_at 498
#define __NR_open_tree 538
+#define __NR_open_tree_attr 577
#define __NR_openat 450
#define __NR_openat2 547
#define __NR_osf_adjtime 140
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h
index 1f9f7f2..d830884 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h
@@ -36,4 +36,6 @@
#ifdef __USE_MISC
# define ADDRB 04000000000
+# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
+# define CRTSCTS 020000000000 /* Flow control. */
#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-cbaud.h
index 324d5d8..69421f6 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-cbaud.h
@@ -17,30 +17,29 @@
<https://www.gnu.org/licenses/>. */
#ifndef _TERMIOS_H
-# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+# error "Never include <bits/termios-cbaud.h> directly; use <termios.h> instead."
#endif
#ifdef __USE_MISC
-# define CBAUD 0000037
-# define CBAUDEX 0000000
-# define CMSPAR 010000000000 /* mark or space (stick) parity */
-# define CRTSCTS 020000000000 /* flow control */
+# define CBAUD 000000037
+# define CBAUDEX 000000000
+# define CIBAUD 007600000
+# define IBSHIFT 16
#endif
-#define B57600 00020
-#define B115200 00021
-#define B230400 00022
-#define B460800 00023
-#define B500000 00024
-#define B576000 00025
-#define B921600 00026
-#define B1000000 00027
-#define B1152000 00030
-#define B1500000 00031
-#define B2000000 00032
-#define B2500000 00033
-#define B3000000 00034
-#define B3500000 00035
-#define B4000000 00036
-
-#define __MAX_BAUD B4000000
+#define __B57600 00020
+#define __B115200 00021
+#define __B230400 00022
+#define __B460800 00023
+#define __B500000 00024
+#define __B576000 00025
+#define __B921600 00026
+#define __B1000000 00027
+#define __B1152000 00030
+#define __B1500000 00031
+#define __B2000000 00032
+#define __B2500000 00033
+#define __B3000000 00034
+#define __B3500000 00035
+#define __B4000000 00036
+#define __BOTHER 00037
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h
index de4d5fc..f50e9ef 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h
@@ -30,8 +30,15 @@ struct termios
tcflag_t c_lflag; /* local mode flags */
cc_t c_cc[NCCS]; /* control characters */
cc_t c_line; /* line discipline (== c_cc[33]) */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
+ /* Input and output baud rates. */
+ __extension__ union {
+ speed_t __ispeed;
+ speed_t c_ispeed;
+ };
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+ __extension__ union {
+ speed_t __ospeed;
+ speed_t c_ospeed;
+ };
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h
index 6eae48f..83fdf91 100644
--- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h
@@ -54,4 +54,15 @@
#undef __ASSUME_CLONE3
#define __ASSUME_CLONE3 0
+/* Alpha did not provide BOTHER, CIBAUD or the termios2 ioctls until
+ kernel 4.20. Even though struct __kernel_termios and struct
+ termios2 are the same on Alpha, Calling the legacy TCSETS* ioctls
+ with BOTHER set triggers a bug in these old kernels, so only use
+ the legacy TCSETS* ioctl numbers if neither BOTHER nor split speed is
+ needed; that way the code will fail gracefully. */
+#if __LINUX_KERNEL_VERSION < 0x041400
+# undef __ASSUME_TERMIOS2
+# define __ASSUME_TERMIOS2 0
+#endif
+
#endif /* _KERNEL_FEATURES_H */
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
deleted file mode 100644
index 6a777dd..0000000
--- a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termios.h>
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- cc_t c_line; /* line discipline */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
- };
-
-#define _HAVE_C_ISPEED 1
-#define _HAVE_C_OSPEED 1
-
-#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index d5df965..4b5736a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -3099,6 +3099,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index db08345..4b383b1 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1428,6 +1428,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/alpha/termios_arch.h b/sysdeps/unix/sysv/linux/alpha/termios_arch.h
new file mode 100644
index 0000000..20025f2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/termios_arch.h
@@ -0,0 +1,26 @@
+/* Architectural parameters for Linux termios - Alpha/PowerPC version
+
+ Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef TERMIOS_INTERNALS_H
+# error "<termios_arch.h> should only be included from <termios_internals.h>"
+#endif
+
+#define _TERMIOS2_NCCS 19
+#define _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE 1
+#define _HAVE_STRUCT_OLD_TERMIOS 0
diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
index 01075e8..2534f0f 100644
--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
@@ -177,6 +177,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index c46c08d..b8a4478 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -2513,6 +2513,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist
index 30b13b9..c865ec8 100644
--- a/sysdeps/unix/sysv/linux/arc/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -847,6 +847,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h
index 9704472..8e585a4 100644
--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h
@@ -223,6 +223,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 371
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 322
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 4df150c..959e446 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -2805,6 +2805,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 825ba11..63bad09 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index be29478..a930d1a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -2802,6 +2802,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 825ba11..63bad09 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/bits/ioctls.h b/sysdeps/unix/sysv/linux/bits/ioctls.h
index 7e226e4..1ddcd4f 100644
--- a/sysdeps/unix/sysv/linux/bits/ioctls.h
+++ b/sysdeps/unix/sysv/linux/bits/ioctls.h
@@ -22,87 +22,4 @@
/* Use the definitions from the kernel header files. */
#include <asm/ioctls.h>
-/* Routing table calls. */
-#define SIOCADDRT 0x890B /* add routing table entry */
-#define SIOCDELRT 0x890C /* delete routing table entry */
-#define SIOCRTMSG 0x890D /* call to routing system */
-
-/* Socket configuration controls. */
-#define SIOCGIFNAME 0x8910 /* get iface name */
-#define SIOCSIFLINK 0x8911 /* set iface channel */
-#define SIOCGIFCONF 0x8912 /* get iface list */
-#define SIOCGIFFLAGS 0x8913 /* get flags */
-#define SIOCSIFFLAGS 0x8914 /* set flags */
-#define SIOCGIFADDR 0x8915 /* get PA address */
-#define SIOCSIFADDR 0x8916 /* set PA address */
-#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
-#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
-#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
-#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
-#define SIOCGIFNETMASK 0x891b /* get network PA mask */
-#define SIOCSIFNETMASK 0x891c /* set network PA mask */
-#define SIOCGIFMETRIC 0x891d /* get metric */
-#define SIOCSIFMETRIC 0x891e /* set metric */
-#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
-#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
-#define SIOCGIFMTU 0x8921 /* get MTU size */
-#define SIOCSIFMTU 0x8922 /* set MTU size */
-#define SIOCSIFNAME 0x8923 /* set interface name */
-#define SIOCSIFHWADDR 0x8924 /* set hardware address */
-#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
-#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931 /* Multicast address lists */
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
-#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
-#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936 /* delete PA address */
-#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
-#define SIOCGIFCOUNT 0x8938 /* get number of devices */
-
-#define SIOCGIFBR 0x8940 /* Bridging support */
-#define SIOCSIFBR 0x8941 /* Set bridging options */
-
-#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
-#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
-
-
-/* ARP cache control calls. */
- /* 0x8950 - 0x8952 * obsolete calls, don't re-use */
-#define SIOCDARP 0x8953 /* delete ARP table entry */
-#define SIOCGARP 0x8954 /* get ARP table entry */
-#define SIOCSARP 0x8955 /* set ARP table entry */
-
-/* RARP cache control calls. */
-#define SIOCDRARP 0x8960 /* delete RARP table entry */
-#define SIOCGRARP 0x8961 /* get RARP table entry */
-#define SIOCSRARP 0x8962 /* set RARP table entry */
-
-/* Driver configuration calls */
-
-#define SIOCGIFMAP 0x8970 /* Get device parameters */
-#define SIOCSIFMAP 0x8971 /* Set device parameters */
-
-/* DLCI configuration calls */
-
-#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
-#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
-
-/* Device private ioctl calls. */
-
-/* These 16 ioctls are available to devices via the do_ioctl() device
- vector. Each device should include this file and redefine these
- names as their own. Because these are device dependent it is a good
- idea _NOT_ to issue them to random objects and hope. */
-
-#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
-
-/*
- * These 16 ioctl calls are protocol private
- */
-
-#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
+#include <linux/sockios.h>
diff --git a/sysdeps/unix/sysv/linux/bits/mman-shared.h b/sysdeps/unix/sysv/linux/bits/mman-shared.h
index 3159097..0be4b47 100644
--- a/sysdeps/unix/sysv/linux/bits/mman-shared.h
+++ b/sysdeps/unix/sysv/linux/bits/mman-shared.h
@@ -43,10 +43,9 @@
# endif
/* Access restrictions for pkey_alloc. */
-# ifndef PKEY_DISABLE_ACCESS
-# define PKEY_DISABLE_ACCESS 0x1
-# define PKEY_DISABLE_WRITE 0x2
-# endif
+# define PKEY_UNRESTRICTED 0x0
+# define PKEY_DISABLE_ACCESS 0x1
+# define PKEY_DISABLE_WRITE 0x2
__BEGIN_DECLS
diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_cflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_cflag.h
index bbbb621..befd25a 100644
--- a/sysdeps/unix/sysv/linux/bits/termios-c_cflag.h
+++ b/sysdeps/unix/sysv/linux/bits/termios-c_cflag.h
@@ -34,5 +34,7 @@
#define CLOCAL 0004000
#ifdef __USE_MISC
-# define ADDRB 04000000000
+# define ADDRB 04000000000
+# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
+# define CRTSCTS 020000000000 /* Flow control. */
#endif
diff --git a/sysdeps/unix/sysv/linux/bits/termios-baud.h b/sysdeps/unix/sysv/linux/bits/termios-cbaud.h
index e63a3eb..b9aadff 100644
--- a/sysdeps/unix/sysv/linux/bits/termios-baud.h
+++ b/sysdeps/unix/sysv/linux/bits/termios-cbaud.h
@@ -17,32 +17,31 @@
<https://www.gnu.org/licenses/>. */
#ifndef _TERMIOS_H
-# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+# error "Never include <bits/termios-cbaud.h> directly; use <termios.h> instead."
#endif
#ifdef __USE_MISC
# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */
# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD.
(not in POSIX). */
-# define CIBAUD 002003600000 /* Input baud rate (not used). */
-# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
-# define CRTSCTS 020000000000 /* Flow control. */
+# define CIBAUD 002003600000 /* Input baud rate. */
+# define IBSHIFT 16
#endif
/* Extra output baud rates (not in POSIX). */
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define __MAX_BAUD B4000000
+#define __BOTHER 0010000
+#define __B57600 0010001
+#define __B115200 0010002
+#define __B230400 0010003
+#define __B460800 0010004
+#define __B500000 0010005
+#define __B576000 0010006
+#define __B921600 0010007
+#define __B1000000 0010010
+#define __B1152000 0010011
+#define __B1500000 0010012
+#define __B2000000 0010013
+#define __B2500000 0010014
+#define __B3000000 0010015
+#define __B3500000 0010016
+#define __B4000000 0010017
diff --git a/sysdeps/unix/sysv/linux/bits/termios-struct.h b/sysdeps/unix/sysv/linux/bits/termios-struct.h
index 4c501a5..0aba1a4 100644
--- a/sysdeps/unix/sysv/linux/bits/termios-struct.h
+++ b/sysdeps/unix/sysv/linux/bits/termios-struct.h
@@ -29,8 +29,15 @@ struct termios
tcflag_t c_lflag; /* local mode flags */
cc_t c_line; /* line discipline */
cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
+ /* Input and output baud rates. */
+ __extension__ union {
+ speed_t __ispeed;
+ speed_t c_ispeed;
+ };
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+ __extension__ union {
+ speed_t __ospeed;
+ speed_t c_ospeed;
+ };
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
};
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index 3bd1e22..20746a0 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -24,35 +24,41 @@ typedef unsigned char cc_t;
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;
-#include <bits/termios-struct.h>
+#ifdef _TERMIOS_H
+# include <bits/termios-struct.h>
+#endif
+
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
+#include <bits/termios-c_cflag.h>
+
#ifdef __USE_MISC
-# define EXTA B19200
-# define EXTB B38400
+#define __B0 0000000 /* hang up */
+#define __B50 0000001
+#define __B75 0000002
+#define __B110 0000003
+#define __B134 0000004
+#define __B150 0000005
+#define __B200 0000006
+#define __B300 0000007
+#define __B600 0000010
+#define __B1200 0000011
+#define __B1800 0000012
+#define __B2400 0000013
+#define __B4800 0000014
+#define __B9600 0000015
+#define __B19200 0000016
+#define __B38400 0000017
+#include <bits/termios-cbaud.h>
+
+# define __EXTA __B19200
+# define __EXTB __B38400
+# define BOTHER __BOTHER
#endif
-#include <bits/termios-baud.h>
-#include <bits/termios-c_cflag.h>
#include <bits/termios-c_lflag.h>
#ifdef __USE_MISC
@@ -74,3 +80,5 @@ typedef unsigned int tcflag_t;
#include <bits/termios-tcflow.h>
#include <bits/termios-misc.h>
+
+#include <bits/termios-baud.h>
diff --git a/sysdeps/unix/sysv/linux/cfsetspeed.c b/sysdeps/unix/sysv/linux/cfsetspeed.c
new file mode 100644
index 0000000..8ce46f8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/cfsetspeed.c
@@ -0,0 +1,59 @@
+/* cfsetspeed(), Linux version.
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <termios_internals.h>
+
+/* Set both the input and output baud rates stored in *TERMIOS_P to SPEED. */
+int
+__cfsetspeed (struct termios *termios_p, speed_t speed)
+{
+ tcflag_t cbaud = ___speed_to_cbaud (speed);
+
+ termios_p->c_ospeed = speed;
+ termios_p->c_ispeed = speed;
+ termios_p->c_cflag &= ~(CBAUD | CIBAUD);
+ termios_p->c_cflag |= cbaud | (cbaud << IBSHIFT);
+
+ return 0;
+}
+libc_hidden_def (__cfsetspeed)
+versioned_symbol (libc, __cfsetspeed, cfsetspeed, GLIBC_2_42);
+
+#if _TERMIOS_OLD_COMPAT
+
+int
+attribute_compat_text_section
+__old_cfsetspeed (old_termios_t *termios_p, speed_t speed)
+{
+ speed_t real_speed = ___cbaud_to_speed (speed, -1);
+ if (real_speed == (speed_t)-1)
+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#if !_HAVE_STRUCT_OLD_TERMIOS
+ /* Otherwise these fields don't exist in old_termios_t */
+ termios_p->c_ospeed = real_speed;
+ termios_p->c_ispeed = real_speed;
+#endif
+ termios_p->c_cflag &= ~(CBAUD | CIBAUD);
+ termios_p->c_cflag |= speed | (speed << IBSHIFT);
+
+ return 0;
+}
+compat_symbol (libc, __old_cfsetspeed, cfsetspeed, GLIBC_2_0);
+
+#endif /* _TERMIOS_OLD_COMPAT */
diff --git a/sysdeps/unix/sysv/linux/close_nocancel_nostatus.c b/sysdeps/unix/sysv/linux/close_nocancel_nostatus.c
new file mode 100644
index 0000000..b1df5ed
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/close_nocancel_nostatus.c
@@ -0,0 +1,28 @@
+/* Linux close syscall implementation -- non-cancellable, no errno update.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+#include <not-cancel.h>
+
+void
+__close_nocancel_nostatus (int fd)
+{
+ INTERNAL_SYSCALL_CALL (close, fd);
+}
+libc_hidden_def (__close_nocancel_nostatus)
diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h
index a719a55..73fdba1 100644
--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h
@@ -184,6 +184,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index f123757..6325fc1 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2789,6 +2789,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/csky/libm.abilist b/sysdeps/unix/sysv/linux/csky/libm.abilist
index 6560f3e..4ed463c 100644
--- a/sysdeps/unix/sysv/linux/csky/libm.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libm.abilist
@@ -913,6 +913,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
index dc592c5..d8ffab9 100644
--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
@@ -214,6 +214,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 326
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 275
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 2dc85b9..86b3fbd 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2826,6 +2826,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index 2938d9d..d681d6e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h
index c10897f..196dfec 100644
--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h
@@ -245,6 +245,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 342
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 295
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 1e38217..6555592 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -3009,6 +3009,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index e9f296c..de77b0f 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1308,6 +1308,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/if_index.c b/sysdeps/unix/sysv/linux/if_index.c
index 0b01fd1..5d13759 100644
--- a/sysdeps/unix/sysv/linux/if_index.c
+++ b/sysdeps/unix/sysv/linux/if_index.c
@@ -32,35 +32,23 @@
unsigned int
__if_nametoindex (const char *ifname)
{
-#ifndef SIOCGIFINDEX
- __set_errno (ENOSYS);
- return 0;
-#else
- struct ifreq ifr;
if (strlen (ifname) >= IFNAMSIZ)
{
__set_errno (ENODEV);
return 0;
}
- strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-
int fd = __opensock ();
-
if (fd < 0)
return 0;
- if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
- {
- int saved_errno = errno;
- __close_nocancel_nostatus (fd);
- if (saved_errno == EINVAL)
- __set_errno (ENOSYS);
- return 0;
- }
+ struct ifreq ifr;
+ strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+
+ int status = __ioctl (fd, SIOCGIFINDEX, &ifr);
__close_nocancel_nostatus (fd);
- return ifr.ifr_ifindex;
-#endif
+
+ return status < 0 ? 0 : ifr.ifr_ifindex;
}
libc_hidden_def (__if_nametoindex)
weak_alias (__if_nametoindex, if_nametoindex)
@@ -83,8 +71,8 @@ weak_alias (__if_freenameindex, if_freenameindex)
libc_hidden_weak (if_freenameindex)
-static struct if_nameindex *
-if_nameindex_netlink (void)
+struct if_nameindex *
+__if_nameindex (void)
{
struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
struct if_nameindex *idx = NULL;
@@ -196,19 +184,6 @@ if_nameindex_netlink (void)
return idx;
}
-
-
-struct if_nameindex *
-__if_nameindex (void)
-{
-#ifndef SIOCGIFINDEX
- __set_errno (ENOSYS);
- return NULL;
-#else
- struct if_nameindex *result = if_nameindex_netlink ();
- return result;
-#endif
-}
weak_alias (__if_nameindex, if_nameindex)
libc_hidden_weak (if_nameindex)
diff --git a/sysdeps/unix/sysv/linux/isatty.c b/sysdeps/unix/sysv/linux/isatty.c
new file mode 100644
index 0000000..3faaec5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/isatty.c
@@ -0,0 +1,29 @@
+/* Test whether a file descriptor refers to a terminal. Linux version.
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <termios_internals.h>
+
+/* Return 1 if FD is a terminal, 0 if not. This simply does a
+ TCGETS2 ioctl into a dummy buffer without parsing the result. */
+int
+__isatty (int fd)
+{
+ struct termios2 k_termios;
+ return INLINE_SYSCALL_CALL (ioctl, fd, TCGETS2, &k_termios) == 0;
+}
+weak_alias (__isatty, isatty)
diff --git a/sysdeps/unix/sysv/linux/isatty_nostatus.c b/sysdeps/unix/sysv/linux/isatty_nostatus.c
new file mode 100644
index 0000000..406decb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/isatty_nostatus.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <termios_internals.h>
+
+/* Return 1 if FD is a terminal, 0 if not, without changing errno */
+int
+__isatty_nostatus (int fd)
+{
+ struct termios2 k_termios;
+ return INTERNAL_SYSCALL_CALL (ioctl, fd, TCGETS2, &k_termios) == 0;
+}
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 86b2d3c..a49a915 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -54,6 +54,10 @@
configurations). */
#define __ASSUME_SET_ROBUST_LIST 1
+/* The termios2 interface was introduced across all architectures except
+ Alpha in kernel 2.6.22. */
+#define __ASSUME_TERMIOS2 1
+
/* Support for various CLOEXEC and NONBLOCK flags was added in
2.6.27. */
#define __ASSUME_IN_NONBLOCK 1
diff --git a/sysdeps/unix/sysv/linux/kernel_termios.h b/sysdeps/unix/sysv/linux/kernel_termios.h
deleted file mode 100644
index f02a197..0000000
--- a/sysdeps/unix/sysv/linux/kernel_termios.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- };
-
-#define _HAVE_C_ISPEED 0
-#define _HAVE_C_OSPEED 0
-
-#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/libc_sigaction.c b/sysdeps/unix/sysv/linux/libc_sigaction.c
index bbfc177..67dbc04 100644
--- a/sysdeps/unix/sysv/linux/libc_sigaction.c
+++ b/sysdeps/unix/sysv/linux/libc_sigaction.c
@@ -49,7 +49,7 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
{
kact.k_sa_handler = act->sa_handler;
memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
- kact.sa_flags = act->sa_flags;
+ kact.sa_flags = (unsigned int) act->sa_flags;
SET_SA_RESTORER (&kact, act);
}
diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
index f123d84..f57a152 100644
--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
@@ -171,6 +171,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
index 927fc21..a6cab96 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
@@ -2273,6 +2273,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
index 8e35285..4b3ea80 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
@@ -1148,6 +1148,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
index 715809a..a95cb41 100644
--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
@@ -234,6 +234,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 341
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 288
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 74da49d..7b7b72a 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -2785,6 +2785,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 825ba11..63bad09 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index e5d6781..df398e4 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2952,6 +2952,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index 45026df..9dba60b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -974,6 +974,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
index 24e218f..fe08f5c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
@@ -244,6 +244,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 372
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 295
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 4dbd4b6..ca8df6f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2838,6 +2838,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index a428778..5596e08 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index c5965bb..9508154 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2835,6 +2835,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index a428778..5596e08 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/mips/Versions b/sysdeps/unix/sysv/linux/mips/Versions
index 9ea0fa6..48f0037 100644
--- a/sysdeps/unix/sysv/linux/mips/Versions
+++ b/sysdeps/unix/sysv/linux/mips/Versions
@@ -26,6 +26,10 @@ libc {
pthread_attr_setstack;
pthread_attr_setstacksize;
}
+ GLIBC_2.42 {
+ tcgetattr;
+ tcsetattr;
+ }
GLIBC_PRIVATE {
# nptl/pthread_cond_timedwait.c uses INTERNAL_VSYSCALL(clock_gettime).
__vdso_clock_gettime;
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios-struct.h b/sysdeps/unix/sysv/linux/mips/bits/termios-struct.h
deleted file mode 100644
index ef69821..0000000
--- a/sysdeps/unix/sysv/linux/mips/bits/termios-struct.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* struct termios definition. Linux/mips version.
- Copyright (C) 2019-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _TERMIOS_H
-# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
-#endif
-
-#define NCCS 32
-struct termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
-#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
- };
diff --git a/sysdeps/unix/sysv/linux/mips/kernel_termios.h b/sysdeps/unix/sysv/linux/mips/kernel_termios.h
deleted file mode 100644
index fd8d35a..0000000
--- a/sysdeps/unix/sysv/linux/mips/kernel_termios.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.24 kernel. */
-
-#define __KERNEL_NCCS 23
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- };
-
-#define _HAVE_C_ISPEED 0
-#define _HAVE_C_OSPEED 0
-
-#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
index a7615cb..7d76d65 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
@@ -229,6 +229,7 @@
#define __NR_open 4005
#define __NR_open_by_handle_at 4340
#define __NR_open_tree 4428
+#define __NR_open_tree_attr 4467
#define __NR_openat 4288
#define __NR_openat2 4437
#define __NR_pause 4029
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 10715e0..4d51cc4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2913,7 +2913,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 1e13743..cdcc488 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 3d229b9..7f90fad 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2911,7 +2911,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 8182a71..888164b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1269,6 +1269,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
index 4d863c2..bca3ea6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
@@ -212,6 +212,7 @@
#define __NR_open 6002
#define __NR_open_by_handle_at 6304
#define __NR_open_tree 6428
+#define __NR_open_tree_attr 6467
#define __NR_openat 6251
#define __NR_openat2 6437
#define __NR_pause 6033
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index e4cb452..fc366d1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2919,7 +2919,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
index 9b6683e..5bcd929 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
@@ -201,6 +201,7 @@
#define __NR_open 5002
#define __NR_open_by_handle_at 5299
#define __NR_open_tree 5428
+#define __NR_open_tree_attr 5467
#define __NR_openat 5247
#define __NR_openat2 5437
#define __NR_pause 5033
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 8a32d25..debd5c3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2821,7 +2821,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/mips/termios_arch.h b/sysdeps/unix/sysv/linux/mips/termios_arch.h
new file mode 100644
index 0000000..392d9aa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/termios_arch.h
@@ -0,0 +1,34 @@
+/* Architectural parameters for Linux termios - MIPS version
+
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _TERMIOS2_NCCS 23
+#define _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE 0
+
+#define _HAVE_STRUCT_OLD_TERMIOS 1
+
+#define OLD_NCCS 32
+struct old_termios
+{
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[OLD_NCCS]; /* control characters */
+};
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index ece3297..5ac6dd4 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
+++ b/sysdeps/unix/sysv/linux/not-cancel.h
@@ -53,6 +53,9 @@ __typeof (__write) __write_nocancel;
/* Uncancelable close. */
__typeof (__close) __close_nocancel;
+/* Uncancellable close that does not also set errno in case of failure. */
+void __close_nocancel_nostatus (int);
+
/* Uncancelable fcntl. */
int __fcntl64_nocancel (int, int, ...);
@@ -65,17 +68,10 @@ hidden_proto (__read_nocancel)
hidden_proto (__pread64_nocancel)
hidden_proto (__write_nocancel)
hidden_proto (__close_nocancel)
+hidden_proto (__close_nocancel_nostatus)
hidden_proto (__fcntl64_nocancel)
#endif
-/* Non cancellable close syscall that does not also set errno in case of
- failure. */
-static inline void
-__close_nocancel_nostatus (int fd)
-{
- __close_nocancel (fd);
-}
-
/* Non cancellable writev syscall that does not also set errno in case of
failure. */
static inline void
diff --git a/sysdeps/unix/sysv/linux/old_termios.h b/sysdeps/unix/sysv/linux/old_termios.h
new file mode 100644
index 0000000..56d19ba
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/old_termios.h
@@ -0,0 +1,23 @@
+/* old_termios.h for Linux other than MIPS and SPARC
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* By default, no old termios structure */
+#define _HAVE_STRUCT_OLD_TERMIOS 0
+#define OLD_NCCS NCCS
+typedef struct termios old_termios_t;
diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
index a071c76..c2a1d51 100644
--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
@@ -183,6 +183,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_or1k_atomic 244
diff --git a/sysdeps/unix/sysv/linux/or1k/libc.abilist b/sysdeps/unix/sysv/linux/or1k/libc.abilist
index 64dac95..b62d59f 100644
--- a/sysdeps/unix/sysv/linux/or1k/libc.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libc.abilist
@@ -2263,6 +2263,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/or1k/libm.abilist b/sysdeps/unix/sysv/linux/or1k/libm.abilist
index 029c3cb..bef7a98 100644
--- a/sysdeps/unix/sysv/linux/or1k/libm.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libm.abilist
@@ -847,6 +847,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/ioctls.h b/sysdeps/unix/sysv/linux/powerpc/bits/ioctls.h
new file mode 100644
index 0000000..e1921df
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/ioctls.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Use the definitions from the kernel header files. */
+#include <asm/ioctls.h>
+
+/* PowerPC quirk: on PowerPC only, ioctl() emulates the TCGETS/TCSETS*
+ ioctls with tcgetattr/tcsetattr using the glibc struct termios.
+ As struct termios2 is the same as the kernel struct termios on PowerPC,
+ simply consider the kernel ones as the termios2 interface, even
+ though the kernel doesn't call it that. */
+
+#define TCGETS2 _IOR ('t', 19, struct termios2)
+#define TCSETS2 _IOW ('t', 20, struct termios2)
+#define TCSETSW2 _IOW ('t', 21, struct termios2)
+#define TCSETSF2 _IOW ('t', 22, struct termios2)
+
+#include <linux/sockios.h>
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h
index 9ea8cfb..a90d581 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h
@@ -35,5 +35,7 @@
#define CLOCAL 00100000
#ifdef __USE_MISC
-# define ADDRB 04000000000
+# define ADDRB 04000000000
+# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
+# define CRTSCTS 020000000000 /* Flow control. */
#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-cbaud.h
index 374d9f8..7bcbba4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-cbaud.h
@@ -17,29 +17,29 @@
<https://www.gnu.org/licenses/>. */
#ifndef _TERMIOS_H
-# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+# error "Never include <bits/termios-cbaud.h> directly; use <termios.h> instead."
#endif
#ifdef __USE_MISC
-# define CBAUD 0000377
-# define CBAUDEX 0000020
-# define CMSPAR 010000000000 /* mark or space (stick) parity */
-# define CRTSCTS 020000000000 /* flow control */
+# define CBAUD 000000377
+# define CBAUDEX 000000020
+# define CIBAUD 077600000
+# define IBSHIFT 16
#endif
-#define B57600 00020
-#define B115200 00021
-#define B230400 00022
-#define B460800 00023
-#define B500000 00024
-#define B576000 00025
-#define B921600 00026
-#define B1000000 00027
-#define B1152000 00030
-#define B1500000 00031
-#define B2000000 00032
-#define B2500000 00033
-#define B3000000 00034
-#define B3500000 00035
-#define B4000000 00036
-#define __MAX_BAUD B4000000
+#define __B57600 00020
+#define __B115200 00021
+#define __B230400 00022
+#define __B460800 00023
+#define __B500000 00024
+#define __B576000 00025
+#define __B921600 00026
+#define __B1000000 00027
+#define __B1152000 00030
+#define __B1500000 00031
+#define __B2000000 00032
+#define __B2500000 00033
+#define __B3000000 00034
+#define __B3500000 00035
+#define __B4000000 00036
+#define __BOTHER 00037
diff --git a/sysdeps/unix/sysv/linux/powerpc/configure b/sysdeps/unix/sysv/linux/powerpc/configure
index 61ae675..ef2055d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/configure
+++ b/sysdeps/unix/sysv/linux/powerpc/configure
@@ -40,48 +40,7 @@ fi
printf "%s\n" "$libc_cv_mlong_double_128ibm" >&6; }
if test "$libc_cv_mlong_double_128ibm" = no; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS supports -mabi=ibmlongdouble" >&5
-printf %s "checking whether $CC $CFLAGS supports -mabi=ibmlongdouble... " >&6; }
-if test ${libc_cv_mabi_ibmlongdouble+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-int
-main (void)
-{
-
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- libc_cv_mabi_ibmlongdouble=yes
-else case e in #(
- e) libc_cv_mabi_ibmlongdouble=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$save_CFLAGS" ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mabi_ibmlongdouble" >&5
-printf "%s\n" "$libc_cv_mabi_ibmlongdouble" >&6; }
-
- if test "$libc_cv_mabi_ibmlongdouble" = yes; then
- CFLAGS="$CFLAGS -mabi=ibmlongdouble"
- else
- as_fn_error $? "this configuration requires -mlong-double-128 IBM extended format support" "$LINENO" 5
- fi
+ CFLAGS="$CFLAGS -mabi=ibmlongdouble"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linker that supports --no-tls-get-addr-optimize" >&5
diff --git a/sysdeps/unix/sysv/linux/powerpc/configure.ac b/sysdeps/unix/sysv/linux/powerpc/configure.ac
index 8d2ec60..42347a6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/configure.ac
+++ b/sysdeps/unix/sysv/linux/powerpc/configure.ac
@@ -16,24 +16,7 @@ long double foobar (long double x) { return x; }]])],
CFLAGS="$save_CFLAGS"])
if test "$libc_cv_mlong_double_128ibm" = no; then
- AC_CACHE_CHECK(whether $CC $CFLAGS supports -mabi=ibmlongdouble,
- libc_cv_mabi_ibmlongdouble, [dnl
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <float.h>]], [[
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }]])],
- libc_cv_mabi_ibmlongdouble=yes,
- libc_cv_mabi_ibmlongdouble=no)
- CFLAGS="$save_CFLAGS"])
-
- if test "$libc_cv_mabi_ibmlongdouble" = yes; then
- CFLAGS="$CFLAGS -mabi=ibmlongdouble"
- else
- AC_MSG_ERROR([this configuration requires -mlong-double-128 IBM extended format support])
- fi
+ CFLAGS="$CFLAGS -mabi=ibmlongdouble"
fi
LIBC_LINKER_FEATURE([--no-tls-get-addr-optimize], [-Wl,--no-tls-get-addr-optimize],
diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h b/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
deleted file mode 100644
index f6ea570..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termios.h>
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- cc_t c_line; /* line discipline */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
- };
-
-#define _HAVE_C_ISPEED 1
-#define _HAVE_C_OSPEED 1
-
-/* We have the kernel termios structure, so we can presume this code knows
- what it's doing... */
-
-#undef TCGETS
-#undef TCSETS
-#undef TCSETSW
-#undef TCSETSF
-#define TCGETS _IOR ('t', 19, struct __kernel_termios)
-#define TCSETS _IOW ('t', 20, struct __kernel_termios)
-#define TCSETSW _IOW ('t', 21, struct __kernel_termios)
-#define TCSETSF _IOW ('t', 22, struct __kernel_termios)
-
-#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
index b3481e4..c371df8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
@@ -235,6 +235,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 346
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 286
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index cc5e93c..883e66f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -3142,6 +3142,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index a43cb2c..7f584d3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1085,6 +1085,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 9814997..84cd9e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -3187,6 +3187,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 3a08e9f..d1cd4b1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1084,6 +1084,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
index 45108e8..df8844d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
@@ -220,6 +220,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 346
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 286
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 7f46295..8832568 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2896,6 +2896,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index 93796cd..bfc5310 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1078,6 +1078,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index f24f81b..b6ff801 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2972,6 +2972,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 7fe20c0..dedfefc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1432,6 +1432,7 @@ GLIBC_2.41 tanpil F
GLIBC_2.42 __compoundnieee128 F
GLIBC_2.42 __pownieee128 F
GLIBC_2.42 __powrieee128 F
+GLIBC_2.42 __rootnieee128 F
GLIBC_2.42 __rsqrtieee128 F
GLIBC_2.42 compoundn F
GLIBC_2.42 compoundnf F
@@ -1457,6 +1458,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/termios_arch.h b/sysdeps/unix/sysv/linux/powerpc/termios_arch.h
new file mode 100644
index 0000000..20025f2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/termios_arch.h
@@ -0,0 +1,26 @@
+/* Architectural parameters for Linux termios - Alpha/PowerPC version
+
+ Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef TERMIOS_INTERNALS_H
+# error "<termios_arch.h> should only be included from <termios_internals.h>"
+#endif
+
+#define _TERMIOS2_NCCS 19
+#define _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE 1
+#define _HAVE_STRUCT_OLD_TERMIOS 0
diff --git a/sysdeps/unix/sysv/linux/riscv/hwprobe.c b/sysdeps/unix/sysv/linux/riscv/hwprobe.c
index e0cbd22..bc7f6f3 100644
--- a/sysdeps/unix/sysv/linux/riscv/hwprobe.c
+++ b/sysdeps/unix/sysv/linux/riscv/hwprobe.c
@@ -23,13 +23,13 @@
#include <sysdep-vdso.h>
int __riscv_hwprobe (struct riscv_hwprobe *pairs, size_t pair_count,
- size_t cpu_count, unsigned long int *cpus,
+ size_t cpusetsize, __RISCV_HWPROBE_CPUS_TYPE cpus,
unsigned int flags)
{
int r;
r = INTERNAL_VSYSCALL (riscv_hwprobe, 5, pairs, pair_count,
- cpu_count, cpus, flags);
+ cpusetsize, cpus.__ul, flags);
/* Negate negative errno values to match pthreads API. */
return -r;
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
index 5333879..1bae763 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
@@ -168,6 +168,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 9330c7a..1771a23 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -2516,6 +2516,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
index 454235d..9342294 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
@@ -1148,6 +1148,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
index eed1dff..1a1ebf8 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
@@ -175,6 +175,7 @@
#define __NR_nfsservctl 42
#define __NR_open_by_handle_at 265
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 56
#define __NR_openat2 437
#define __NR_perf_event_open 241
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index ea4555d..4b48352 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2716,6 +2716,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
index b01d2b4..76e74c9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
@@ -1245,6 +1245,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h b/sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h
index bebad6c..40415aa 100644
--- a/sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h
+++ b/sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h
@@ -21,6 +21,7 @@
#define _SYS_HWPROBE_H 1
#include <features.h>
+#include <sched.h>
#include <stddef.h>
#include <errno.h>
#ifdef __has_include
@@ -63,22 +64,39 @@ struct riscv_hwprobe {
__BEGIN_DECLS
-extern int __riscv_hwprobe (struct riscv_hwprobe *__pairs, size_t __pair_count,
- size_t __cpu_count, unsigned long int *__cpus,
+#if defined __cplusplus || !__GNUC_PREREQ (2, 7)
+# define __RISCV_HWPROBE_CPUS_TYPE cpu_set_t *
+#else
+/* The fourth argument to __riscv_hwprobe should be a null pointer or a
+ pointer to a cpu_set_t (either the fixed-size type or allocated with
+ CPU_ALLOC). However, early versions of this header file used the
+ argument type unsigned long int *. The transparent union allows
+ the argument to be either cpu_set_t * or unsigned long int * for
+ compatibility. The older header file requiring unsigned long int *
+ can be identified by the lack of the __RISCV_HWPROBE_CPUS_TYPE macro.
+ In C++ and with compilers that do not support transparent unions, the
+ argument type must be cpu_set_t *. */
+typedef union {
+ cpu_set_t *__cs;
+ unsigned long int *__ul;
+} __RISCV_HWPROBE_CPUS_TYPE __attribute__ ((__transparent_union__));
+# define __RISCV_HWPROBE_CPUS_TYPE __RISCV_HWPROBE_CPUS_TYPE
+#endif
+
+extern int __riscv_hwprobe (struct riscv_hwprobe *__pairs,
+ size_t __pair_count, size_t __cpusetsize,
+ __RISCV_HWPROBE_CPUS_TYPE __cpus,
unsigned int __flags)
- __nonnull ((1)) __wur
- __fortified_attr_access (__read_write__, 1, 2)
- __fortified_attr_access (__read_only__, 4, 3);
+ __THROW __nonnull ((1)) __attr_access ((__read_write__, 1, 2));
-/* A pointer to the __riscv_hwprobe vDSO function is passed as the second
+/* A pointer to the __riscv_hwprobe function is passed as the second
argument to ifunc selector routines. Include a function pointer type for
convenience in calling the function in those settings. */
-typedef int (*__riscv_hwprobe_t) (struct riscv_hwprobe *__pairs, size_t __pair_count,
- size_t __cpu_count, unsigned long int *__cpus,
+typedef int (*__riscv_hwprobe_t) (struct riscv_hwprobe *__pairs,
+ size_t __pair_count, size_t __cpusetsize,
+ __RISCV_HWPROBE_CPUS_TYPE __cpus,
unsigned int __flags)
- __nonnull ((1)) __wur
- __fortified_attr_access (__read_write__, 1, 2)
- __fortified_attr_access (__read_only__, 4, 3);
+ __nonnull ((1)) __attr_access ((__read_write__, 1, 2));
/* Helper function usable from ifunc selectors that probes a single key. */
static __inline int
diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h
index ee015df..05e0e05 100644
--- a/sysdeps/unix/sysv/linux/riscv/sysdep.h
+++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h
@@ -145,11 +145,12 @@
# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres"
# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
+# define HAVE_GETRANDOM_VSYSCALL "__vdso_getrandom"
# else
# define VDSO_NAME "LINUX_5.4"
# define VDSO_HASH 61765876
-/* RV32 does not support the gettime VDSO syscalls. */
+/* RV32 does not support the gettime and getrandom VDSO syscalls. */
# endif
# define HAVE_CLONE3_WRAPPER 1
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
index 0bf8f95..f77f39f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
@@ -232,6 +232,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 336
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 288
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 3e625fa..f0decc7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -3140,6 +3140,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index b37c0b5..be2d177 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1372,6 +1372,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
index 061f8db..65d6644 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
@@ -204,6 +204,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 336
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 288
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 46b4a04..da8a2bf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2933,6 +2933,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 42bfa28..7d7ba26 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1372,6 +1372,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h
index 52cc320..5948ab0 100644
--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h
@@ -228,6 +228,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 360
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 295
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 36a94c9..fb30341 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2832,6 +2832,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 8ba29d2..5b0b080 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index f79aba6..d716673 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2829,6 +2829,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 8ba29d2..5b0b080 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -938,6 +938,12 @@ GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf32 F
diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions
index f127bdf..7dd61a5 100644
--- a/sysdeps/unix/sysv/linux/sparc/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/Versions
@@ -29,6 +29,10 @@ libc {
__getshmlba;
}
+ GLIBC_2.42 {
+ tcgetattr;
+ tcsetattr;
+ }
GLIBC_PRIVATE {
# nptl/pthread_cond_timedwait.c uses INTERNAL_VSYSCALL(clock_gettime).
__vdso_clock_gettime;
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios-baud.h b/sysdeps/unix/sysv/linux/sparc/bits/termios-cbaud.h
index 677db7b..34eba18 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios-baud.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios-cbaud.h
@@ -17,30 +17,29 @@
<https://www.gnu.org/licenses/>. */
#ifndef _TERMIOS_H
-# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+# error "Never include <bits/termios-cbaud.h> directly; use <termios.h> instead."
#endif
#ifdef __USE_MISC
# define CBAUD 0x0000100f
# define CBAUDEX 0x00001000
-# define CIBAUD 0x100f0000 /* input baud rate (not used) */
-# define CMSPAR 0x40000000 /* mark or space (stick) parity */
-# define CRTSCTS 0x80000000 /* flow control */
+# define CIBAUD 0x100f0000 /* input baud rate */
+# define IBSHIFT 16
#endif
-#define B57600 0x00001001
-#define B115200 0x00001002
-#define B230400 0x00001003
-#define B460800 0x00001004
-#define B76800 0x00001005
-#define B153600 0x00001006
-#define B307200 0x00001007
-#define B614400 0x00001008
-#define B921600 0x00001009
-#define B500000 0x0000100a
-#define B576000 0x0000100b
-#define B1000000 0x0000100c
-#define B1152000 0x0000100d
-#define B1500000 0x0000100e
-#define B2000000 0x0000100f
-#define __MAX_BAUD B2000000
+#define __B57600 0x00001001
+#define __B115200 0x00001002
+#define __B230400 0x00001003
+#define __B460800 0x00001004
+#define __B76800 0x00001005
+#define __B153600 0x00001006
+#define __B307200 0x00001007
+#define __B614400 0x00001008
+#define __B921600 0x00001009
+#define __B500000 0x0000100a
+#define __B576000 0x0000100b
+#define __B1000000 0x0000100c
+#define __B1152000 0x0000100d
+#define __B1500000 0x0000100e
+#define __B2000000 0x0000100f
+#define __BOTHER 0x00001000
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h b/sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h
deleted file mode 100644
index 269ca9d..0000000
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* struct termios definition. Linux/sparc version.
- Copyright (C) 2019-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _TERMIOS_H
-# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
-#endif
-
-#define NCCS 17
-struct termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
-#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
- };
diff --git a/sysdeps/unix/sysv/linux/sparc/kernel_termios.h b/sysdeps/unix/sysv/linux/sparc/kernel_termios.h
deleted file mode 100644
index 401079c..0000000
--- a/sysdeps/unix/sysv/linux/sparc/kernel_termios.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termios.h>
-
-#define __KERNEL_NCCS 17
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- };
-
-#define _HAVE_C_ISPEED 0
-#define _HAVE_C_OSPEED 0
-
-#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
index ee870bc..85828a8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
@@ -230,6 +230,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 333
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 284
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 4a6acc0..6deedf2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -3161,7 +3161,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 4d10689..8107101 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1379,6 +1379,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
index 3acbebe..d83ecd1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
@@ -211,6 +211,7 @@
#define __NR_open 5
#define __NR_open_by_handle_at 333
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 284
#define __NR_openat2 437
#define __NR_pause 29
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 931109d..1ce22bf 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2797,7 +2797,19 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 tcgetattr F
+GLIBC_2.42 tcsetattr F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
GLIBC_2.42 ulabs F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 6c64126..418ed9d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1269,6 +1269,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/sparc/termios_arch.h b/sysdeps/unix/sysv/linux/sparc/termios_arch.h
new file mode 100644
index 0000000..f3b3f65
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/termios_arch.h
@@ -0,0 +1,34 @@
+/* Architectural parameters for Linux termios - SPARC version
+
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _TERMIOS2_NCCS 19
+#define _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE 0
+
+#define _HAVE_STRUCT_OLD_TERMIOS 1
+
+#define OLD_NCCS 17
+struct old_termios
+{
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[OLD_NCCS]; /* control characters */
+};
diff --git a/sysdeps/unix/sysv/linux/speed.c b/sysdeps/unix/sysv/linux/speed.c
index 017f741..4efb0de 100644
--- a/sysdeps/unix/sysv/linux/speed.c
+++ b/sysdeps/unix/sysv/linux/speed.c
@@ -16,82 +16,351 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <stddef.h>
-#include <errno.h>
-#include <termios.h>
-#include <sysdep.h>
+#include <termios_internals.h>
-/* This is a gross hack around a kernel bug. If the cfsetispeed functions
- is called with the SPEED argument set to zero this means use the same
- speed as for output. But we don't have independent input and output
- speeds and therefore cannot record this.
+/* Conversions between legacy c_cflag fields and actual baud rates */
- We use an unused bit in the `c_iflag' field to keep track of this
- use of `cfsetispeed'. The value here must correspond to the one used
- in `tcsetattr.c'. */
-#define IBAUD0 020000000000
+/* These expressions may seem complicated; the _cbix() macro
+ compresses the CBAUD field into an index in the range 0-31. On most
+ Linux platforms, the CBAUD field is 5 bits, but the topmost bit
+ indicated by CBAUDEX, is discontinous with the rest.
+
+ The resulting masks look like:
+
+ Alpha PowerPC others
+
+ CBAUD 0x001f 0x00ff 0x100f
+ CBAUDEX 0x0000 0x0010 0x1000
+
+ LOWCBAUD 0x001f 0x000f 0x000f
+ CBAUDMASK 0x001f 0x001f 0x100f
+
+ CBAUDMASK is used to test for invalid values passed to the
+ compatibility functions or in termios::c_cflag on PowerPC.
+
+ The divide-multiply sequence in the _cbix() macro gets converted
+ to shift and masks as necessary by the compiler. */
+
+#define LOWCBAUD (CBAUD & (CBAUDEX-1))
+#define _cbix(x) (((x) & LOWCBAUD) | \
+ (CBAUDEX ? ((x) & CBAUDEX)/CBAUDEX * (LOWCBAUD+1) : 0))
+#define CBAUDMASK (LOWCBAUD | CBAUDEX)
+
+/* Compile time sanity checks for broken CBAUD or CIBAUD definitions */
+#if CIBAUD != (CBAUD << IBSHIFT)
+# error "CIBAUD should == CBAUD << IBSHIFT"
+#elif CBAUDEX & (CBAUDEX-1)
+# error "CBAUDEX should either be 0 or a single bit"
+#elif !(CBAUD & 1)
+# error "The CBAUD field should start at bit 0"
+#elif CBAUDEX & ~CBAUD
+# error "CBAUD should include the CBAUDEX bit"
+#endif
+
+speed_t
+___cbaud_to_speed (tcflag_t c_cflag, speed_t other)
+{
+ static const speed_t cbaudix_to_speed [] =
+ {
+ [0 ... _cbix(CBAUDMASK)] = -1,
+ [_cbix(__B0)] = 0,
+ [_cbix(__B50)] = 50,
+ [_cbix(__B75)] = 75,
+ [_cbix(__B110)] = 110,
+ [_cbix(__B134)] = 134,
+ [_cbix(__B150)] = 150,
+ [_cbix(__B200)] = 200,
+ [_cbix(__B300)] = 300,
+ [_cbix(__B600)] = 600,
+ [_cbix(__B1200)] = 1200,
+ [_cbix(__B1800)] = 1800,
+ [_cbix(__B2400)] = 2400,
+ [_cbix(__B4800)] = 4800,
+ [_cbix(__B9600)] = 9600,
+ [_cbix(__B19200)] = 19200,
+ [_cbix(__B38400)] = 38400,
+ [_cbix(__B57600)] = 57600,
+ [_cbix(__B115200)] = 115200,
+ [_cbix(__B230400)] = 230400,
+ [_cbix(__B460800)] = 460800,
+ [_cbix(__B500000)] = 500000,
+ [_cbix(__B576000)] = 576000,
+ [_cbix(__B921600)] = 921600,
+ [_cbix(__B1000000)] = 1000000,
+ [_cbix(__B1152000)] = 1152000,
+ [_cbix(__B1500000)] = 1500000,
+ [_cbix(__B2000000)] = 2000000,
+#ifdef __B7200
+ [_cbix(__B7200)] = 7200,
+#endif
+#ifdef __B14400
+ [_cbix(__B14400)] = 14400,
+#endif
+#ifdef __B28800
+ [_cbix(__B28800)] = 28800,
+#endif
+#ifdef __B76800
+ [_cbix(__B76800)] = 76800,
+#endif
+#ifdef __B153600
+ [_cbix(__B153600)] = 153600,
+#endif
+#ifdef __B307200
+ [_cbix(__B307200)] = 307200,
+#endif
+#ifdef __B614400
+ [_cbix(__B614400)] = 614400,
+#endif
+#ifdef __B2500000
+ [_cbix(__B2500000)] = 2500000,
+#endif
+#ifdef __B3000000
+ [_cbix(__B3000000)] = 3000000,
+#endif
+#ifdef __B3500000
+ [_cbix(__B3500000)] = 3500000,
+#endif
+#ifdef __B4000000
+ [_cbix(__B4000000)] = 4000000,
+#endif
+ };
+ speed_t speed;
+
+ if (c_cflag & (tcflag_t)(~CBAUDMASK))
+ return other;
+
+ speed = cbaudix_to_speed[_cbix(c_cflag)];
+ return speed == (speed_t)-1 ? other : speed;
+}
+
+tcflag_t
+___speed_to_cbaud (speed_t speed)
+{
+ switch (speed) {
+ case 0:
+ return __B0;
+ case 50:
+ return __B50;
+ case 75:
+ return __B75;
+ case 110:
+ return __B110;
+ case 134:
+ return __B134;
+ case 150:
+ return __B150;
+ case 200:
+ return __B200;
+ case 300:
+ return __B300;
+ case 600:
+ return __B600;
+ case 1200:
+ return __B1200;
+ case 1800:
+ return __B1800;
+ case 2400:
+ return __B2400;
+ case 4800:
+ return __B4800;
+ case 9600:
+ return __B9600;
+ case 19200:
+ return __B19200;
+ case 38400:
+ return __B38400;
+ case 57600:
+ return __B57600;
+ case 115200:
+ return __B115200;
+ case 230400:
+ return __B230400;
+ case 460800:
+ return __B460800;
+ case 500000:
+ return __B500000;
+ case 576000:
+ return __B576000;
+ case 921600:
+ return __B921600;
+ case 1000000:
+ return __B1000000;
+ case 1152000:
+ return __B1152000;
+ case 1500000:
+ return __B1500000;
+ case 2000000:
+ return __B2000000;
+#ifdef __B76800
+ case 76800:
+ return __B76800;
+#endif
+#ifdef __B153600
+ case 153600:
+ return __B153600;
+#endif
+#ifdef __B307200
+ case 307200:
+ return __B307200;
+#endif
+#ifdef __B614400
+ case 614400:
+ return __B614400;
+#endif
+#ifdef __B2500000
+ case 2500000:
+ return __B2500000;
+#endif
+#ifdef __B3000000
+ case 3000000:
+ return __B3000000;
+#endif
+#ifdef __B3500000
+ case 3500000:
+ return __B3500000;
+#endif
+#ifdef __B4000000
+ case 4000000:
+ return __B4000000;
+#endif
+ default:
+ return __BOTHER;
+ }
+}
+
+
+/* Canonicalize the representation of speed fields in a kernel
+ termios2 structure. Specifically, if there is a valid legacy cbaud
+ representation (not __BOTHER), use it and propagate the
+ corresponding speed value to ispeed/ospeed, otherwise the other way
+ around if possible. Finally, if the input speed is zero, copy the
+ output speed to the input speed.
+
+ The kernel doesn't do this canonicalization, which can affect
+ legacy utilities, so do it here.
+
+ This is used by tcgetattr() and tcsetattr(). */
+void
+___termios2_canonicalize_speeds (struct termios2 *k_termios_p)
+{
+ k_termios_p->c_ospeed =
+ ___cbaud_to_speed (cbaud (k_termios_p->c_cflag), k_termios_p->c_ospeed);
+ k_termios_p->c_ispeed =
+ ___cbaud_to_speed (cibaud (k_termios_p->c_cflag), k_termios_p->c_ispeed);
+
+ if (!k_termios_p->c_ispeed)
+ k_termios_p->c_ispeed = k_termios_p->c_ospeed;
+
+ k_termios_p->c_cflag &= ~(CBAUD | CIBAUD);
+ k_termios_p->c_cflag |= ___speed_to_cbaud (k_termios_p->c_ospeed);
+ k_termios_p->c_cflag |= ___speed_to_cbaud (k_termios_p->c_ispeed) << IBSHIFT;
+}
/* Return the output baud rate stored in *TERMIOS_P. */
speed_t
-cfgetospeed (const struct termios *termios_p)
+__cfgetospeed (const struct termios *termios_p)
{
- return termios_p->c_cflag & (CBAUD | CBAUDEX);
+ return termios_p->c_ospeed;
}
+libc_hidden_def (__cfgetospeed)
+versioned_symbol (libc, __cfgetospeed, cfgetospeed, GLIBC_2_42);
-/* Return the input baud rate stored in *TERMIOS_P.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
+/* Return the input baud rate stored in *TERMIOS_P. */
speed_t
-cfgetispeed (const struct termios *termios_p)
+__cfgetispeed (const struct termios *termios_p)
{
- return ((termios_p->c_iflag & IBAUD0)
- ? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
+ return termios_p->c_ispeed;
}
+libc_hidden_def (__cfgetispeed)
+versioned_symbol (libc, __cfgetispeed, cfgetispeed, GLIBC_2_42);
/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
int
-cfsetospeed (struct termios *termios_p, speed_t speed)
+__cfsetospeed (struct termios *termios_p, speed_t speed)
{
- if ((speed & ~CBAUD) != 0
- && (speed < B57600 || speed > __MAX_BAUD))
- return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+ tcflag_t cbaud = ___speed_to_cbaud (speed);
-#if _HAVE_STRUCT_TERMIOS_C_OSPEED
termios_p->c_ospeed = speed;
+ termios_p->c_cflag &= ~CBAUD;
+ termios_p->c_cflag |= cbaud;
+
+ return 0;
+}
+libc_hidden_def (__cfsetospeed)
+versioned_symbol (libc, __cfsetospeed, cfsetospeed, GLIBC_2_42);
+
+/* Set the input baud rate stored in *TERMIOS_P to SPEED. */
+int
+__cfsetispeed (struct termios *termios_p, speed_t speed)
+{
+ tcflag_t cbaud = ___speed_to_cbaud (speed);
+
+ termios_p->c_ispeed = speed;
+ termios_p->c_cflag &= ~CIBAUD;
+ termios_p->c_cflag |= cbaud << IBSHIFT;
+
+ return 0;
+}
+libc_hidden_def (__cfsetispeed)
+versioned_symbol (libc, __cfsetispeed, cfsetispeed, GLIBC_2_42);
+
+#if _TERMIOS_OLD_COMPAT
+
+/* Legacy versions which returns cbaud-encoded speed_t values */
+
+speed_t
+attribute_compat_text_section
+__old_cfgetospeed (const old_termios_t *termios_p)
+{
+ return cbaud (termios_p->c_cflag);
+}
+compat_symbol (libc, __old_cfgetospeed, cfgetospeed, GLIBC_2_0);
+
+speed_t
+attribute_compat_text_section
+__old_cfgetispeed (const old_termios_t *termios_p)
+{
+ return cibaud (termios_p->c_cflag);
+}
+compat_symbol (libc, __old_cfgetispeed, cfgetispeed, GLIBC_2_0);
+
+int
+attribute_compat_text_section
+__old_cfsetospeed (old_termios_t *termios_p, speed_t speed)
+{
+ speed_t real_speed = ___cbaud_to_speed (speed, -1);
+ if (real_speed == (speed_t)-1)
+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#if !_HAVE_STRUCT_OLD_TERMIOS
+ /* Otherwise this field doesn't exist in old_termios_t */
+ termios_p->c_ospeed = real_speed;
#endif
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
+ termios_p->c_cflag &= ~CBAUD;
termios_p->c_cflag |= speed;
return 0;
}
-libc_hidden_def (cfsetospeed)
+compat_symbol (libc, __old_cfsetospeed, cfsetospeed, GLIBC_2_0);
-
-/* Set the input baud rate stored in *TERMIOS_P to SPEED.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
int
-cfsetispeed (struct termios *termios_p, speed_t speed)
+attribute_compat_text_section
+__old_cfsetispeed (old_termios_t *termios_p, speed_t speed)
{
- if ((speed & ~CBAUD) != 0
- && (speed < B57600 || speed > __MAX_BAUD))
+ speed_t real_speed = ___cbaud_to_speed (speed, -1);
+ if (real_speed == (speed_t)-1)
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
-#if _HAVE_STRUCT_TERMIOS_C_ISPEED
- termios_p->c_ispeed = speed;
+#if !_HAVE_STRUCT_OLD_TERMIOS
+ /* Otherwise this field doesn't exist in old_termios_t */
+ termios_p->c_ispeed = real_speed;
#endif
- if (speed == 0)
- termios_p->c_iflag |= IBAUD0;
- else
- {
- termios_p->c_iflag &= ~IBAUD0;
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
- }
+ termios_p->c_cflag &= ~CIBAUD;
+ termios_p->c_cflag |= speed << IBSHIFT;
return 0;
}
-libc_hidden_def (cfsetispeed)
+compat_symbol (libc, __old_cfsetispeed, cfsetispeed, GLIBC_2_0);
+
+#endif /* _TERMIOS_OLD_COMPAT */
diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list
index 6f3351a..bde20e4 100644
--- a/sysdeps/unix/sysv/linux/syscall-names.list
+++ b/sysdeps/unix/sysv/linux/syscall-names.list
@@ -21,8 +21,8 @@
# This file can list all potential system calls. The names are only
# used if the installed kernel headers also provide them.
-# The list of system calls is current as of Linux 6.14.
-kernel 6.14
+# The list of system calls is current as of Linux 6.15.
+kernel 6.15
FAST_atomic_update
FAST_cmpxchg
@@ -316,6 +316,7 @@ olduname
open
open_by_handle_at
open_tree
+open_tree_attr
openat
openat2
or1k_atomic
diff --git a/sysdeps/unix/sysv/linux/tcgetattr.c b/sysdeps/unix/sysv/linux/tcgetattr.c
index d672e0c..ca17569 100644
--- a/sysdeps/unix/sysv/linux/tcgetattr.c
+++ b/sysdeps/unix/sysv/linux/tcgetattr.c
@@ -15,66 +15,56 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <errno.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sysdep.h>
-
-/* The difference here is that the termios structure used in the
- kernel is not the same as we use in the libc. Therefore we must
- translate it here. */
-#include <kernel_termios.h>
+#include <termios_internals.h>
/* Put the state of FD into *TERMIOS_P. */
int
__tcgetattr (int fd, struct termios *termios_p)
{
- struct __kernel_termios k_termios;
- int retval;
-
- retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
+ struct termios2 k_termios;
+ long int retval = INLINE_SYSCALL_CALL (ioctl, fd, TCGETS2, &k_termios);
- if (__glibc_likely (retval == 0))
+ if (__glibc_likely (retval != -1))
{
- termios_p->c_iflag = k_termios.c_iflag;
- termios_p->c_oflag = k_termios.c_oflag;
- termios_p->c_cflag = k_termios.c_cflag;
- termios_p->c_lflag = k_termios.c_lflag;
- termios_p->c_line = k_termios.c_line;
-#if _HAVE_STRUCT_TERMIOS_C_ISPEED
-# if _HAVE_C_ISPEED
- termios_p->c_ispeed = k_termios.c_ispeed;
-# else
- termios_p->c_ispeed = k_termios.c_cflag & (CBAUD | CBAUDEX);
-# endif
-#endif
-#if _HAVE_STRUCT_TERMIOS_C_OSPEED
-# if _HAVE_C_OSPEED
+ ___termios2_canonicalize_speeds (&k_termios);
+
+ memset (termios_p, 0, sizeof (*termios_p));
+ termios_p->c_iflag = k_termios.c_iflag;
+ termios_p->c_oflag = k_termios.c_oflag;
+ termios_p->c_cflag = k_termios.c_cflag;
+ termios_p->c_lflag = k_termios.c_lflag;
+ termios_p->c_line = k_termios.c_line;
termios_p->c_ospeed = k_termios.c_ospeed;
-# else
- termios_p->c_ospeed = k_termios.c_cflag & (CBAUD | CBAUDEX);
-# endif
-#endif
- if (sizeof (cc_t) == 1 || _POSIX_VDISABLE == 0
- || (unsigned char) _POSIX_VDISABLE == (unsigned char) -1)
- memset (__mempcpy (&termios_p->c_cc[0], &k_termios.c_cc[0],
- __KERNEL_NCCS * sizeof (cc_t)),
- _POSIX_VDISABLE, (NCCS - __KERNEL_NCCS) * sizeof (cc_t));
- else
- {
- memcpy (&termios_p->c_cc[0], &k_termios.c_cc[0],
- __KERNEL_NCCS * sizeof (cc_t));
+ termios_p->c_ispeed = k_termios.c_ispeed;
- for (size_t cnt = __KERNEL_NCCS; cnt < NCCS; ++cnt)
- termios_p->c_cc[cnt] = _POSIX_VDISABLE;
- }
+ copy_c_cc (termios_p->c_cc, NCCS, k_termios.c_cc, _TERMIOS2_NCCS);
}
return retval;
}
-
libc_hidden_def (__tcgetattr)
+
+#if _TERMIOS_OLD_COMPAT && _HAVE_STRUCT_OLD_TERMIOS
+
+versioned_symbol (libc, __tcgetattr, tcgetattr, GLIBC_2_42);
+
+/* Legacy version for shorter struct termios */
+int
+attribute_compat_text_section
+__old_tcgetattr (int fd, old_termios_t *termios_p)
+{
+ struct termios new_termios;
+ int retval = __tcgetattr (fd, &new_termios);
+ if (__glibc_likely (retval != -1))
+ {
+ memcpy (termios_p, &new_termios, sizeof (*termios_p));
+ }
+ return retval;
+}
+compat_symbol (libc, __old_tcgetattr, tcgetattr, GLIBC_2_0);
+
+#else
+
weak_alias (__tcgetattr, tcgetattr)
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcsetattr.c
index 5a13ad8..4f07a03 100644
--- a/sysdeps/unix/sysv/linux/tcsetattr.c
+++ b/sysdeps/unix/sysv/linux/tcsetattr.c
@@ -15,67 +15,94 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <errno.h>
-#include <string.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sysdep.h>
-
-/* The difference here is that the termios structure used in the
- kernel is not the same as we use in the libc. Therefore we must
- translate it here. */
-#include <kernel_termios.h>
-
-
-/* This is a gross hack around a kernel bug. If the cfsetispeed functions
- is called with the SPEED argument set to zero this means use the same
- speed as for output. But we don't have independent input and output
- speeds and therefore cannot record this.
-
- We use an unused bit in the `c_iflag' field to keep track of this
- use of `cfsetispeed'. The value here must correspond to the one used
- in `speed.c'. */
-#define IBAUD0 020000000000
+#include <termios_internals.h>
+#define static_assert_equal(x,y) _Static_assert ((x) == (y), #x " != " #y)
/* Set the state of FD to *TERMIOS_P. */
int
__tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{
- struct __kernel_termios k_termios;
- unsigned long int cmd;
+ struct termios2 k_termios;
+ unsigned long cmd;
- switch (optional_actions)
- {
- case TCSANOW:
- cmd = TCSETS;
- break;
- case TCSADRAIN:
- cmd = TCSETSW;
- break;
- case TCSAFLUSH:
- cmd = TCSETSF;
- break;
- default:
- return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
- }
+ memset (&k_termios, 0, sizeof k_termios);
- k_termios.c_iflag = termios_p->c_iflag & ~IBAUD0;
+ k_termios.c_iflag = termios_p->c_iflag;
k_termios.c_oflag = termios_p->c_oflag;
k_termios.c_cflag = termios_p->c_cflag;
k_termios.c_lflag = termios_p->c_lflag;
- k_termios.c_line = termios_p->c_line;
-#if _HAVE_C_ISPEED && _HAVE_STRUCT_TERMIOS_C_ISPEED
- k_termios.c_ispeed = termios_p->c_ispeed;
-#endif
-#if _HAVE_C_OSPEED && _HAVE_STRUCT_TERMIOS_C_OSPEED
+ k_termios.c_line = termios_p->c_line;
+
k_termios.c_ospeed = termios_p->c_ospeed;
-#endif
- memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
- __KERNEL_NCCS * sizeof (cc_t));
+ k_termios.c_ispeed = termios_p->c_ispeed;
+
+ ___termios2_canonicalize_speeds (&k_termios);
+
+ copy_c_cc (k_termios.c_cc, _TERMIOS2_NCCS, termios_p->c_cc, NCCS);
+
+ /*
+ * Choose the proper ioctl number to invoke.
+ *
+ * Alpha got TCSETS2 late (Linux 4.20), but has the same structure
+ * format, and it only needs TCSETS2 if either it needs to use
+ * __BOTHER or split speed. All other architectures have TCSETS2 as
+ * far back as the current glibc supports. Calling TCSETS with
+ * __BOTHER causes unpredictable results on old Alpha kernels and
+ * could even crash them.
+ */
+ static_assert_equal(TCSADRAIN, TCSANOW + 1);
+ static_assert_equal(TCSAFLUSH, TCSANOW + 2);
+ static_assert_equal(TCSETSW2, TCSETS2 + 1);
+ static_assert_equal(TCSETSF2, TCSETS2 + 2);
+ static_assert_equal(TCSETSW, TCSETS + 1);
+ static_assert_equal(TCSETSF, TCSETS + 2);
+
+ cmd = (long)optional_actions - TCSANOW;
+ if (cmd > 2)
+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+ if (__ASSUME_TERMIOS2 ||
+ k_termios.c_ospeed != k_termios.c_ispeed ||
+ cbaud (k_termios.c_cflag) == __BOTHER)
+ {
+ cmd += TCSETS2;
+ }
+ else
+ {
+ cmd += TCSETS;
+ k_termios.c_cflag &= ~CIBAUD;
+ }
+
+ return INLINE_SYSCALL_CALL (ioctl, fd, cmd, &k_termios);
+}
+libc_hidden_def (__tcsetattr)
+
+#if _HAVE_STRUCT_OLD_TERMIOS && _TERMIOS_OLD_COMPAT
+
+versioned_symbol (libc, __tcsetattr, tcsetattr, GLIBC_2_42);
- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+/* Legacy version for shorter struct termios without speed fields */
+int
+attribute_compat_text_section
+__old_tcsetattr (int fd, int optional_actions, const old_termios_t *termios_p)
+{
+ struct termios new_termios;
+
+ memset (&new_termios, 0, sizeof (new_termios));
+ new_termios.c_iflag = termios_p->c_iflag;
+ new_termios.c_oflag = termios_p->c_oflag;
+ new_termios.c_cflag = termios_p->c_cflag;
+ new_termios.c_lflag = termios_p->c_lflag;
+ new_termios.c_line = termios_p->c_line;
+ copy_c_cc(new_termios.c_cc, NCCS, termios_p->c_cc, OLD_NCCS);
+
+ return __tcsetattr (fd, optional_actions, &new_termios);
}
+compat_symbol (libc, __old_tcsetattr, tcsetattr, GLIBC_2_0);
+
+#else
+
weak_alias (__tcsetattr, tcsetattr)
-libc_hidden_def (tcsetattr)
+
+#endif
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S b/sysdeps/unix/sysv/linux/termios_arch.h
index 4387908..8dbf420 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S
+++ b/sysdeps/unix/sysv/linux/termios_arch.h
@@ -1,4 +1,6 @@
-/* Copyright (C) 2024-2025 Free Software Foundation, Inc.
+/* Architectural parameters for Linux termios - generic version
+
+ Copyright (C) 1997-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,11 +17,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#if defined __LITTLE_ENDIAN__ && IS_IN (libc)
-#define STRNCMP __strncmp_power10
-
-#undef libc_hidden_builtin_def
-#define libc_hidden_builtin_def(name)
+#define _TERMIOS2_NCCS 19
+#define _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE 0
-#include <sysdeps/powerpc/powerpc64/le/power10/strncmp.S>
-#endif
+#define _HAVE_STRUCT_OLD_TERMIOS 0
diff --git a/sysdeps/unix/sysv/linux/termios_internals.h b/sysdeps/unix/sysv/linux/termios_internals.h
new file mode 100644
index 0000000..10b6732
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/termios_internals.h
@@ -0,0 +1,143 @@
+/* termios functions internal implementation header for Linux
+
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef TERMIOS_INTERNALS_H
+#define TERMIOS_INTERNALS_H 1
+
+#include <stddef.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sysdep.h>
+#include <shlib-compat.h>
+
+#include <termios_arch.h>
+
+/* ---- Kernel interface definitions ---- */
+
+/* The the termios2 structure used in the kernel interfaces is not the
+ same as the termios structure we use in the libc. Therefore we
+ must translate it here. */
+
+struct termios2
+{
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+#if _HAVE_TERMIOS2_C_CC_BEFORE_C_LINE
+ cc_t c_cc[_TERMIOS2_NCCS]; /* control characters */
+ cc_t c_line; /* line discipline */
+#else
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[_TERMIOS2_NCCS]; /* control characters */
+#endif
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
+/* Alpha got termios2 late, but TCGETS has exactly the same structure
+ format and function as TCGETS2. On all other platforms, the termios2
+ interface exists as far back as this version of glibc supports.
+
+ For TCGETS* it is more complicated; this is handled in tcsetattr.c.
+
+ Some other architectures only have the equivalent of the termios2
+ interface, in which case the old ioctl names are the only ones
+ presented, but are equivalent to the new ones. */
+#ifndef TCGETS2
+# define TCGETS2 TCGETS
+# define TCSETS2 TCSETS
+# define TCSETSW2 TCSETSW
+# define TCSETSF2 TCSETSF
+#elif !__ASSUME_TERMIOS2
+/* Hack for Alpha */
+# undef TCGETS2
+# define TCGETS2 TCGETS
+#endif
+
+/* ---- Application interface definitions ---- */
+
+/*
+ * Should old speed_t and struct termios (if applicable) compatibility
+ * functions be included?
+ */
+#define _TERMIOS_OLD_COMPAT SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_42)
+
+/*
+ * Old struct termios (without c_ispeed and c_ospeed fields) if
+ * applicable. The new struct termios *must* be binary identical up to
+ * the sizeof the old structure.
+ *
+ * This only applies to SPARC and MIPS; for other architectures the
+ * new and old speed_t interfaces both use the same struct termios.
+ */
+#if _HAVE_STRUCT_OLD_TERMIOS
+typedef struct old_termios old_termios_t;
+#else
+# define OLD_NCCS NCCS
+typedef struct termios old_termios_t;
+#endif
+
+/* ---- Internal function definitions ---- */
+
+/*
+ * Copy a set of c_cc fields of possibly different width. If the target
+ * field is longer, then fill with _POSIX_VDISABLE == -1.
+ */
+static inline void
+copy_c_cc (cc_t *to, size_t nto, const cc_t *from, size_t nfrom)
+{
+ if (nto < nfrom)
+ nfrom = nto;
+
+ to = __mempcpy (to, from, nfrom * sizeof(cc_t));
+ if (nto > nfrom)
+ memset (to, _POSIX_VDISABLE, (nto - nfrom) * sizeof(cc_t));
+}
+
+/* Extract the output and input legacy speed fields from c_cflag. */
+static inline tcflag_t
+cbaud (tcflag_t c_cflag)
+{
+ return c_cflag & CBAUD;
+}
+
+static inline tcflag_t
+cibaud (tcflag_t c_cflag)
+{
+ return cbaud (c_cflag >> IBSHIFT);
+}
+
+extern speed_t
+___cbaud_to_speed (tcflag_t c_cflag, speed_t other)
+ __attribute_const__ attribute_hidden;
+
+extern tcflag_t
+___speed_to_cbaud (speed_t speed)
+ __attribute_const__ attribute_hidden;
+
+extern void
+___termios2_canonicalize_speeds (struct termios2 *k_termios_p)
+ attribute_hidden;
+
+#endif /* TERMIOS_INTERNALS_H */
diff --git a/sysdeps/unix/sysv/linux/tst-pkey.c b/sysdeps/unix/sysv/linux/tst-pkey.c
index 4d12d2e..1000d8f 100644
--- a/sysdeps/unix/sysv/linux/tst-pkey.c
+++ b/sysdeps/unix/sysv/linux/tst-pkey.c
@@ -191,7 +191,7 @@ do_test (void)
pthread_t delayed_thread = xpthread_create
(NULL, &delayed_thread_func, &delayed_thread_check_access);
- keys[0] = pkey_alloc (0, 0);
+ keys[0] = pkey_alloc (0, PKEY_UNRESTRICTED);
if (keys[0] < 0)
{
if (errno == ENOSYS)
@@ -333,7 +333,7 @@ do_test (void)
if (i == allowed_key)
{
if (do_write)
- TEST_COMPARE (pkey_set (keys[i], 0), 0);
+ TEST_COMPARE (pkey_set (keys[i], PKEY_UNRESTRICTED), 0);
else
TEST_COMPARE (pkey_set (keys[i], PKEY_DISABLE_WRITE), 0);
}
@@ -360,7 +360,7 @@ do_test (void)
inherit that access. */
for (int i = 0; i < key_count; ++i)
{
- TEST_COMPARE (pkey_set (keys[i], 0), 0);
+ TEST_COMPARE (pkey_set (keys[i], PKEY_UNRESTRICTED), 0);
TEST_VERIFY (check_page_access (i, false));
TEST_VERIFY (check_page_access (i, true));
}
diff --git a/sysdeps/unix/sysv/linux/tst-termios-linux.c b/sysdeps/unix/sysv/linux/tst-termios-linux.c
new file mode 100644
index 0000000..e4b0c8b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-termios-linux.c
@@ -0,0 +1,592 @@
+/* Linux termios regression tests
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include <shlib-compat.h>
+#include <array_length.h>
+
+#include <support/check.h>
+#include <support/namespace.h>
+#include <support/support.h>
+#include <support/temp_file.h>
+#include <support/test-driver.h>
+#include <support/tty.h>
+
+/* Evaluate an expression and make sure errno did not get set; return
+ the value of the expression */
+#define CHECKERR(expr) \
+ ({ \
+ errno = 0; \
+ const __typeof (expr) _val = (expr); \
+ TEST_COMPARE(errno, 0); \
+ _val; \
+ })
+
+/* Evaluate an expression and verify that is return a specific value,
+ as well as errno not having been set. */
+#define VERIFY(expr,val) TEST_COMPARE(CHECKERR(expr), val)
+/* Check for zero and errno not set */
+#define CHECKZERO(expr) VERIFY(expr, 0)
+
+/* Table of legacy speed constants */
+
+#define BOGUS ((speed_t)-1)
+#define ANY ((speed_t)-2)
+
+struct cbaud_table
+{
+ speed_t speed;
+ speed_t cbaud;
+ const char *name;
+};
+
+static const struct cbaud_table cbaud_table [] =
+{
+ { 0, __B0, "__B0" },
+ { 50, __B50, "__B50" },
+ { 75, __B75, "__B75" },
+ { 110, __B110, "__B110" },
+ { 134, __B134, "__B134" },
+ { 150, __B150, "__B150" },
+ { 200, __B200, "__B200" },
+ { 300, __B300, "__B300" },
+ { 600, __B600, "__B600" },
+ { 1200, __B1200, "__B1200" },
+ { 1800, __B1800, "__B1800" },
+ { 2400, __B2400, "__B2400" },
+ { 4800, __B4800, "__B4800" },
+#ifdef __B7200
+ { 7200, __B7200, "__B7200" },
+#endif
+ { 9600, __B9600, "__B9600" },
+#ifdef __B14400
+ { 14400, __B14400, "__B14400" },
+#endif
+ { 19200, __B19200, "__B19200" },
+#ifdef __B28800
+ { 28800, __B28800, "__B28800" },
+#endif
+ { 38400, __B38400, "__B38400" },
+ { 57600, __B57600, "__B57600" },
+#ifdef __B76800
+ { 76800, __B76800, "__B76800" },
+#endif
+ { 115200, __B115200, "__B115200" },
+#ifdef __B153600
+ { 153600, __B153600, "__B153600" },
+#endif
+ { 230400, __B230400, "__B230400" },
+#ifdef __B307200
+ { 307200, __B307200, "__B307200" },
+#endif
+ { 460800, __B460800, "__B460800" },
+ { 500000, __B500000, "__B500000" },
+ { 576000, __B576000, "__B576000" },
+#ifdef __B614400
+ { 614400, __B614400, "__B614400" },
+#endif
+ { 921600, __B921600, "__B921600" },
+ { 1000000, __B1000000, "__B1000000" },
+ { 1152000, __B1152000, "__B1152000" },
+ { 1500000, __B1500000, "__B1500000" },
+ { 2000000, __B2000000, "__B2000000" },
+#ifdef __B2500000
+ { 2500000, __B2500000, "__B2500000" },
+#endif
+#ifdef __B3000000
+ { 3000000, __B3000000, "__B3000000" },
+#endif
+#ifdef __B3500000
+ { 3500000, __B3500000, "__B3500000" },
+#endif
+#ifdef __B4000000
+ { 4000000, __B4000000, "__B4000000" },
+#endif
+ { ANY, __BOTHER, "__BOTHER" },
+ { BOGUS, BOGUS, "invalid" }
+};
+
+/* List of common speeds to test */
+
+static const speed_t test_speeds [] =
+{
+ 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400,
+ 4800, 7200, 9600, 14400, 19200, 28800, 33600, 38400, 57600,
+ 76800, 115200, 153600, 230400, 307200, 460800, 500000,
+ 576000, 614400, 921600, 1000000, 1152000, 1500000, 2000000,
+ 2500000, 3000000, 3500000, 4000000, 5000000, 10000000
+};
+
+/* Speed function tests */
+
+/* These intentionally are a separate implementation from speed.c;
+ these should be "trivially correct" and don't need to be optimized
+ in any way */
+
+/* Returns __BOTHER if there is no legacy value for this speed */
+static speed_t speed_to_cbaud (speed_t speed)
+{
+ const struct cbaud_table *ct;
+ for (ct = cbaud_table; ct->speed != ANY; ct++)
+ {
+ if (ct->speed == speed)
+ break;
+ }
+ return ct->cbaud;
+}
+
+/* Returns ANY if cbaud is __BOTHER, or BOGUS if invalid */
+static speed_t cbaud_to_speed (speed_t cbaud)
+{
+ const struct cbaud_table *ct;
+ for (ct = cbaud_table; ct->cbaud != BOGUS; ct++)
+ {
+ if (ct->cbaud == cbaud)
+ break;
+ }
+ return ct->speed;
+}
+
+static const char *cbaud_name (speed_t cbaud)
+{
+ const struct cbaud_table *ct;
+ for (ct = cbaud_table; ct->cbaud != BOGUS; ct++)
+ {
+ if (ct->cbaud == cbaud)
+ break;
+ }
+ return ct->name;
+}
+
+static int check_speed (speed_t expected, speed_t speed, speed_t cbaud,
+ speed_t cfspeed, baud_t cfbaud, char io)
+{
+ speed_t want_cbaud;
+ cbaud &= CBAUD;
+
+ if (expected != ANY && speed != expected)
+ FAIL_RET ("c_%cspeed = %u, expected %u", io, speed, expected);
+
+ if (cfspeed != speed)
+ FAIL_RET ("cfget%cspeed = %u, expected %u", io, cfspeed, speed);
+
+ if (cfbaud != cfspeed)
+ FAIL_RET ("cfget%cbaud = %u, but cfget%cspeed = %u",
+ io, cfbaud, io, cfspeed);
+
+ want_cbaud = speed_to_cbaud (speed);
+
+ if (cbaud != want_cbaud)
+ FAIL_RET ("c_%cspeed = %u: %s = %s (%06o), should be %s (%06o)",
+ io, speed,
+ io == 'o' ? "CBAUD" : "CIBAUD", cbaud_name (cbaud), cbaud,
+ cbaud_name (want_cbaud), want_cbaud);
+
+ return 0;
+}
+
+/* Validate that the speeds in the struct termios are properly normalized.
+ The difference is the handling of ispeed == 0. */
+
+/* Use this after cfset* () */
+static void check_speeds_cf (const struct termios *tio_p,
+ speed_t ospeed, speed_t ispeed)
+{
+ check_speed (ospeed, tio_p->c_ospeed, tio_p->c_cflag,
+ CHECKERR (cfgetospeed (tio_p)),
+ CHECKERR (cfgetobaud (tio_p)), 'o');
+ check_speed (ispeed, tio_p->c_ispeed, tio_p->c_cflag >> IBSHIFT,
+ CHECKERR (cfgetispeed (tio_p)),
+ CHECKERR (cfgetibaud (tio_p)), 'i');
+}
+
+/* Use this after tc[gs]etattr () */
+static void check_speeds_tc (int fd, speed_t ospeed, speed_t ispeed)
+{
+ struct termios tio;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ check_speeds_cf (&tio, ospeed, ispeed ? ispeed : ospeed);
+}
+
+/* For search and replace convenience */
+#define check_bauds_cf check_speeds_cf
+#define check_bauds_tc check_speeds_tc
+
+/* Common routine for setting speeds, with checking */
+static void
+set_speeds (int fd, speed_t ospeed, speed_t ispeed)
+{
+ struct termios tio;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ CHECKZERO (cfsetospeed (&tio, ospeed));
+ CHECKZERO (cfsetispeed (&tio, ispeed));
+ check_speeds_cf (&tio, ospeed, ispeed);
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, ospeed, ispeed ? ispeed : ospeed);
+}
+
+/* Actual tests */
+
+typedef void (*speed_test_t)(int ttyfd, speed_t speed);
+static void
+run_speed_test (int fd, speed_test_t test);
+
+/* New interface cfset*speed test */
+static void
+new_cfspeed_test (int fd, speed_t speed)
+{
+ struct termios tio;
+ speed_t old_ospeed, old_ispeed;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ old_ospeed = CHECKERR (cfgetospeed (&tio));
+ old_ispeed = CHECKERR (cfgetispeed (&tio));
+
+ /* Check initial normalization */
+ check_speeds_cf (&tio, old_ospeed, old_ispeed);
+
+ /* Check cfset*speed normalization */
+ CHECKZERO (cfsetospeed (&tio, speed));
+ check_speeds_cf (&tio, speed, old_ispeed);
+ CHECKZERO (cfsetispeed (&tio, speed));
+ check_speeds_cf (&tio, speed, speed);
+ CHECKZERO (cfsetospeed (&tio, old_ospeed));
+ check_speeds_cf (&tio, old_ospeed, speed);
+ CHECKZERO (cfsetispeed (&tio, B0));
+ check_speeds_cf (&tio, old_ospeed, B0);
+ CHECKZERO (cfsetspeed (&tio, speed));
+ check_speeds_cf (&tio, speed, speed);
+ CHECKZERO (cfsetospeed (&tio, old_ospeed));
+ CHECKZERO (cfsetispeed (&tio, old_ispeed));
+ check_speeds_cf (&tio, old_ospeed, old_ispeed);
+}
+
+/* New interface cfset*speed test with tcsetattr */
+static void
+new_tcspeed_test (int fd, speed_t speed)
+{
+ struct termios tio;
+ speed_t old_ospeed, old_ispeed;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ old_ospeed = CHECKERR (cfgetospeed (&tio));
+ old_ispeed = CHECKERR (cfgetispeed (&tio));
+
+ /* Check initial normalization */
+ check_speeds_cf (&tio, old_ospeed, old_ispeed);
+
+ /* Check cfset*speed normalization */
+ CHECKZERO (cfsetospeed (&tio, speed));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, speed, old_ispeed);
+ CHECKZERO (cfsetispeed (&tio, speed));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, speed, speed);
+ CHECKZERO (cfsetospeed (&tio, old_ospeed));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, old_ospeed, speed);
+ CHECKZERO (cfsetispeed (&tio, B0));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, old_ospeed, B0);
+ CHECKZERO (cfsetspeed (&tio, speed));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, speed, speed);
+ CHECKZERO (cfsetospeed (&tio, old_ospeed));
+ CHECKZERO (cfsetispeed (&tio, old_ispeed));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_speeds_tc (fd, old_ospeed, old_ispeed);
+}
+
+/* New interface cfset*baud test */
+static void
+new_cfbaud_test (int fd, baud_t baud)
+{
+ struct termios tio;
+ baud_t old_obaud, old_ibaud;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ old_obaud = CHECKERR (cfgetobaud (&tio));
+ old_ibaud = CHECKERR (cfgetibaud (&tio));
+
+ /* Check initial normalization */
+ check_bauds_cf (&tio, old_obaud, old_ibaud);
+
+ /* Check cfset*baud normalization */
+ CHECKZERO (cfsetobaud (&tio, baud));
+ check_bauds_cf (&tio, baud, old_ibaud);
+ CHECKZERO (cfsetibaud (&tio, baud));
+ check_bauds_cf (&tio, baud, baud);
+ CHECKZERO (cfsetobaud (&tio, old_obaud));
+ check_bauds_cf (&tio, old_obaud, baud);
+ CHECKZERO (cfsetibaud (&tio, B0));
+ check_bauds_cf (&tio, old_obaud, B0);
+ CHECKZERO (cfsetbaud (&tio, baud));
+ check_bauds_cf (&tio, baud, baud);
+ CHECKZERO (cfsetobaud (&tio, old_obaud));
+ CHECKZERO (cfsetibaud (&tio, old_ibaud));
+ check_bauds_cf (&tio, old_obaud, old_ibaud);
+}
+
+/* New interface cfset*baud test with tcsetattr */
+static void
+new_tcbaud_test (int fd, baud_t baud)
+{
+ struct termios tio;
+ baud_t old_obaud, old_ibaud;
+
+ CHECKZERO (tcgetattr (fd, &tio));
+ old_obaud = CHECKERR (cfgetobaud (&tio));
+ old_ibaud = CHECKERR (cfgetibaud (&tio));
+
+ /* Check initial normalization */
+ check_bauds_cf (&tio, old_obaud, old_ibaud);
+
+ /* Check cfset*baud normalization */
+ CHECKZERO (cfsetobaud (&tio, baud));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, baud, old_ibaud);
+ CHECKZERO (cfsetibaud (&tio, baud));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, baud, baud);
+ CHECKZERO (cfsetobaud (&tio, old_obaud));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, old_obaud, baud);
+ CHECKZERO (cfsetibaud (&tio, B0));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, old_obaud, B0);
+ CHECKZERO (cfsetbaud (&tio, baud));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, baud, baud);
+ CHECKZERO (cfsetobaud (&tio, old_obaud));
+ CHECKZERO (cfsetibaud (&tio, old_ibaud));
+ CHECKZERO (tcsetattr (fd, TCSANOW, &tio));
+ check_bauds_tc (fd, old_obaud, old_ibaud);
+}
+
+/*
+ * Old interface tests. This depends critically on the new struct
+ * termios being guaranteed to be a superset of the legacy struct
+ * termios.
+ */
+#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_42)
+extern int __old_cfsetospeed (struct termios *tio_p, speed_t speed);
+compat_symbol_reference (libc, __old_cfsetospeed, cfsetospeed, GLIBC_2_0);
+extern int __old_cfsetispeed (struct termios *tio_p, speed_t speed);
+compat_symbol_reference (libc, __old_cfsetispeed, cfsetispeed, GLIBC_2_0);
+extern speed_t __old_cfgetospeed (const struct termios *tio_p);
+compat_symbol_reference (libc, __old_cfgetospeed, cfgetospeed, GLIBC_2_0);
+extern speed_t __old_cfgetispeed (const struct termios *tio_p);
+compat_symbol_reference (libc, __old_cfgetispeed, cfgetispeed, GLIBC_2_0);
+extern int __old_tcsetattr (int fd, int act, const struct termios *tio_p);
+compat_symbol_reference (libc, __old_tcsetattr, tcsetattr, GLIBC_2_0);
+extern int __old_tcgetattr (int fd, struct termios *tio_p);
+compat_symbol_reference (libc, __old_tcgetattr, tcgetattr, GLIBC_2_0);
+
+static int old_tcsetattr (int fd, const struct termios *tio_p)
+{
+ struct termios old_tio = *tio_p;
+
+ /* Deliberately corrupt c_ispeed and c_ospeed */
+ old_tio.c_ispeed = 0xdeadbeef;
+ old_tio.c_ospeed = 0xfeedface;
+ return __old_tcsetattr (fd, TCSANOW, &old_tio);
+}
+static int old_tcgetattr (int fd, struct termios *tio_p)
+{
+ int rv;
+ memset (tio_p, 0xde, sizeof *tio_p);
+ rv = __old_tcgetattr (fd, tio_p);
+ if (rv)
+ return rv;
+
+ /* Deliberately corrupt c_ispeed and c_ospeed */
+ tio_p->c_ispeed = 0xdeadbeef;
+ tio_p->c_ospeed = 0xfeedface;
+ return 0;
+}
+
+/* Old interface test. This relies on the new struct termios always
+ being a binary superset of the old one.
+ This doesn't bother testing split speed, since that never worked
+ on the old glibc. */
+static void
+old_tcspeed_test (int fd, speed_t speed)
+{
+ struct termios tio;
+ speed_t cbaud;
+
+ if (!speed)
+ return; /* Skip B0 for this test */
+
+ cbaud = speed_to_cbaud (speed);
+ if (cbaud == __BOTHER)
+ return;
+
+ CHECKZERO (old_tcgetattr (fd, &tio));
+ CHECKZERO (__old_cfsetospeed (&tio, cbaud));
+ VERIFY (__old_cfgetospeed (&tio), cbaud);
+ CHECKZERO (__old_cfsetispeed (&tio, cbaud));
+ VERIFY (__old_cfgetispeed (&tio), cbaud);
+ CHECKZERO (old_tcsetattr (fd, &tio));
+ check_speeds_tc (fd, speed, speed);
+}
+
+/* Verify that invalid CBAUD values return error for the old interfaces */
+static void
+old_invalid_speeds_test (int fd)
+{
+ struct termios tio;
+ speed_t cbaud;
+
+ for (cbaud = 0 ; cbaud ; cbaud > 0xffff ? (cbaud <<= 1) : cbaud++) {
+ speed_t realspeed;
+ realspeed = (cbaud & ~CBAUD) ? BOGUS : cbaud_to_speed (cbaud);
+ if (realspeed >= ANY)
+ {
+ int rv;
+
+ errno = 0;
+ rv = __old_cfsetospeed (&tio, cbaud);
+ if (rv != -1 || errno != EINVAL)
+ FAIL("__old_cfsetospeed() accepted invalid value %06o", cbaud);
+
+ errno = 0;
+ rv = __old_cfsetispeed (&tio, cbaud);
+ if (rv != -1 || errno != EINVAL)
+ FAIL("__old_cfsetispeed() accepted invalid value %06o", cbaud);
+ }
+ else
+ {
+ CHECKZERO (__old_cfsetospeed (&tio, cbaud));
+ VERIFY (__old_cfgetospeed (&tio), cbaud);
+ CHECKZERO (__old_cfsetispeed (&tio, cbaud));
+ VERIFY (__old_cfgetispeed (&tio), cbaud);
+ if (cbaud)
+ {
+ CHECKZERO (old_tcsetattr (fd, &tio));
+ check_speeds_tc (fd, realspeed, realspeed);
+ }
+ }
+ }
+}
+
+static void
+compat_tests (int fd)
+{
+ run_speed_test (fd, old_tcspeed_test);
+ old_invalid_speeds_test (fd);
+}
+#else /* No TEST_COMPAT */
+#define compat_tests(fd) ((void)(fd))
+#endif
+
+static void
+run_speed_test (int fd, speed_test_t test)
+{
+ unsigned short seed [3] = { 0x1234, 0x5678, 0x9abc };
+ struct speeds {
+ speed_t ospeed, ispeed;
+ };
+ static const struct speeds initial_speeds [] = {
+ { 2400, 2400 }, /* Standard speed, non-split */
+ { 123456, 123456 }, /* Nonstandard speed, non-split */
+ { 75, 1200 }, /* Standard split speeds */
+ { 9600, 456789 }, /* One standard, one nonstandard */
+ { 54321, 1234567890 } /* Nonstandard, one very high */
+ };
+
+ array_foreach_const (is, initial_speeds)
+ {
+ /* Set up initial conditions */
+ set_speeds (fd, is->ospeed, is->ispeed);
+
+ /* Test all common speeds */
+ array_foreach_const (ts, test_speeds)
+ test (fd, *ts);
+
+ /* Test pseudorandom speeds; array_length(test_speeds)
+ here is an arbitrary value */
+ const size_t random_test_count = array_length(test_speeds);
+ for (size_t i = 0 ; i < random_test_count ; i++)
+ test (fd, (speed_t) jrand48 (seed));
+
+ /* Test power-of-2 speeds */
+ for (speed_t s = 1 ; s ; s <<= 1)
+ test (fd, s);
+
+ /* Test power of 2 multiples of 75; 75 << 25 is the maximum below 2^32 */
+ for (int i = 0 ; i < 26 ; i++)
+ test (fd, (speed_t)75 << i);
+ }
+}
+
+static void
+run_speed_tests (int fd)
+{
+ /* Test proper canonicalization using the new interface */
+ run_speed_test (fd, new_cfspeed_test);
+ run_speed_test (fd, new_tcspeed_test);
+
+ /* Try the new cfset*baud() functions */
+ run_speed_test (fd, new_cfbaud_test);
+ run_speed_test (fd, new_tcbaud_test);
+
+ /* Tests of the legacy functions */
+ compat_tests (fd);
+}
+
+/* test dispatch */
+
+static void
+run_in_chroot (void)
+{
+ /* Create a pty slave to use as a tty. Most of the termios settings,
+ including the speeds, have no impact on a pty, but they are still
+ settable like for any other tty, which makes them very convenient
+ for testing. */
+ int ptmfd, ttyfd;
+
+ support_openpty (&ptmfd, &ttyfd, NULL, NULL, NULL);
+ run_speed_tests (ttyfd);
+ close (ttyfd);
+ close (ptmfd);
+}
+
+static int
+do_test (void)
+{
+ support_become_root ();
+ run_in_chroot ();
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
index 17b84c7..06fbae5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
@@ -207,6 +207,7 @@
#define __NR_open 2
#define __NR_open_by_handle_at 304
#define __NR_open_tree 428
+#define __NR_open_tree_attr 467
#define __NR_openat 257
#define __NR_openat2 437
#define __NR_pause 34
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 7ab9073..5648772 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2748,6 +2748,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 11c5ebc..6719814 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1302,6 +1302,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile
index fb834a7..6938382 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Makefile
+++ b/sysdeps/unix/sysv/linux/x86_64/Makefile
@@ -87,10 +87,10 @@ $(objpfx)tst-gnu2-tls2-amx-mod0.so: $(libsupport)
$(objpfx)tst-gnu2-tls2-amx-mod1.so: $(libsupport)
$(objpfx)tst-gnu2-tls2-amx-mod2.so: $(libsupport)
-CFLAGS-tst-gnu2-tls2-amx.c += -mamx-tile
-CFLAGS-tst-gnu2-tls2-amx-mod0.c += -mamx-tile -mtls-dialect=gnu2
-CFLAGS-tst-gnu2-tls2-amx-mod1.c += -mamx-tile -mtls-dialect=gnu2
-CFLAGS-tst-gnu2-tls2-amx-mod2.c += -mamx-tile -mtls-dialect=gnu2
+CFLAGS-tst-gnu2-tls2-amx.c += -mamx-tile -DTEST_AMX
+CFLAGS-tst-gnu2-tls2-amx-mod0.c += -mamx-tile -DTEST_AMX -mtls-dialect=gnu2
+CFLAGS-tst-gnu2-tls2-amx-mod1.c += -mamx-tile -DTEST_AMX -mtls-dialect=gnu2
+CFLAGS-tst-gnu2-tls2-amx-mod2.c += -mamx-tile -DTEST_AMX -mtls-dialect=gnu2
endif
endif # $(subdir) == elf
diff --git a/sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c b/sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c
index 006c532..812e023 100644
--- a/sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c
+++ b/sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c
@@ -22,7 +22,7 @@
extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
#define SET_SA_RESTORER(kact, act) \
- (kact)->sa_flags = (act)->sa_flags | SA_RESTORER; \
+ (kact)->sa_flags |= SA_RESTORER; \
(kact)->sa_restorer = &restore_rt
#define RESET_SA_RESTORER(act, kact) \
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
index 1dcd6ab..135ef3d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
@@ -200,6 +200,7 @@
#define __NR_open 1073741826
#define __NR_open_by_handle_at 1073742128
#define __NR_open_tree 1073742252
+#define __NR_open_tree_attr 1073742291
#define __NR_openat 1073742081
#define __NR_openat2 1073742261
#define __NR_pause 1073741858
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index e11876f..25a39d0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2767,6 +2767,16 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 cfgetibaud F
+GLIBC_2.42 cfgetispeed F
+GLIBC_2.42 cfgetobaud F
+GLIBC_2.42 cfgetospeed F
+GLIBC_2.42 cfsetbaud F
+GLIBC_2.42 cfsetibaud F
+GLIBC_2.42 cfsetispeed F
+GLIBC_2.42 cfsetobaud F
+GLIBC_2.42 cfsetospeed F
+GLIBC_2.42 cfsetspeed F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.42 uabs F
GLIBC_2.42 uimaxabs F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 2b1b75e..1a1069a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1302,6 +1302,14 @@ GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
+GLIBC_2.42 rootn F
+GLIBC_2.42 rootnf F
+GLIBC_2.42 rootnf128 F
+GLIBC_2.42 rootnf32 F
+GLIBC_2.42 rootnf32x F
+GLIBC_2.42 rootnf64 F
+GLIBC_2.42 rootnf64x F
+GLIBC_2.42 rootnl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
index 01b0192..2aca36c 100644
--- a/sysdeps/x86/Makefile
+++ b/sysdeps/x86/Makefile
@@ -4,7 +4,13 @@ endif
ifeq ($(subdir),elf)
sysdep_routines += get-cpuid-feature-leaf
-sysdep-dl-routines += dl-get-cpu-features
+sysdep-dl-routines += \
+ dl-get-cpu-features \
+ dl-tlsdesc \
+ tls_get_addr \
+ tlsdesc \
+# sysdep-dl-routines
+
sysdep_headers += \
bits/platform/features.h \
bits/platform/x86.h \
@@ -90,14 +96,22 @@ tst-ifunc-isa-2-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-SSE4_2,-AVX,-AVX2,-AVX512
tst-ifunc-isa-2-static-ENV = $(tst-ifunc-isa-2-ENV)
tst-hwcap-tunables-ARGS = -- $(host-test-program-cmd)
-CFLAGS-tst-gnu2-tls2.c += -msse
+CFLAGS-tst-gnu2-tls2.c += -msse2
CFLAGS-tst-gnu2-tls2mod0.c += -msse2 -mtune=haswell
CFLAGS-tst-gnu2-tls2mod1.c += -msse2 -mtune=haswell
CFLAGS-tst-gnu2-tls2mod2.c += -msse2 -mtune=haswell
-LDFLAGS-tst-gnu2-tls2-x86-noxsave += -Wl,-z,lazy
-LDFLAGS-tst-gnu2-tls2-x86-noxsavec += -Wl,-z,lazy
-LDFLAGS-tst-gnu2-tls2-x86-noxsavexsavec += -Wl,-z,lazy
+LDFLAGS-tst-gnu2-tls2 += -rdynamic
+LDFLAGS-tst-gnu2-tls2mod0.so += -Wl,-z,undefs
+LDFLAGS-tst-gnu2-tls2mod1.so += -Wl,-z,undefs
+LDFLAGS-tst-gnu2-tls2mod2.so += -Wl,-z,undefs
+
+CFLAGS-tst-gnu2-tls2-x86-noxsave.c += -msse2
+CFLAGS-tst-gnu2-tls2-x86-noxsavec.c += -msse2
+CFLAGS-tst-gnu2-tls2-x86-noxsavexsavec.c += -msse2
+LDFLAGS-tst-gnu2-tls2-x86-noxsave += -Wl,-z,lazy -rdynamic
+LDFLAGS-tst-gnu2-tls2-x86-noxsavec += -Wl,-z,lazy -rdynamic
+LDFLAGS-tst-gnu2-tls2-x86-noxsavexsavec += -Wl,-z,lazy -rdynamic
# Test for bug 32810: incorrect XSAVE state size if XSAVEC is disabled
# via tunable.
@@ -113,6 +127,14 @@ $(objpfx)tst-gnu2-tls2-x86-noxsavexsavec.out: \
$(objpfx)tst-gnu2-tls2mod0.so \
$(objpfx)tst-gnu2-tls2mod1.so \
$(objpfx)tst-gnu2-tls2mod2.so
+
+CFLAGS-tst-tls23.c += -msse2
+CFLAGS-tst-tls23-mod.c += -msse2 -mtune=haswell
+
+LDFLAGS-tst-tls23 += -rdynamic
+tst-tls23-mod.so-no-z-defs = yes
+
+$(objpfx)tst-tls23-mod.so: $(libsupport)
endif
ifeq ($(subdir),math)
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index e50f1d6..b7d1506 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -1256,7 +1256,7 @@ no_cpuid:
#endif
if (MINIMUM_X86_ISA_LEVEL >= AVX_X86_ISA_LEVEL
- || (GLRO(dl_x86_cpu_features).xsave_state_size != 0))
+ || cpu_features->xsave_state_size != 0)
{
if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC))
{
diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
index c3c73e7..b8e963b 100644
--- a/sysdeps/x86/sysdep.h
+++ b/sysdeps/x86/sysdep.h
@@ -183,6 +183,29 @@
#define atom_text_section .section ".text.atom", "ax"
+#ifndef DL_STACK_ALIGNMENT
+/* Due to GCC bug:
+
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
+
+ __tls_get_addr may be called with 8-byte/4-byte stack alignment.
+ Although this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't
+ assume that stack will be always aligned at 16 bytes. */
+# ifdef __x86_64__
+# define DL_STACK_ALIGNMENT 8
+# define MINIMUM_ALIGNMENT 16
+# else
+# define DL_STACK_ALIGNMENT 4
+# endif
+#endif
+
+/* True if _dl_runtime_resolve/_dl_tlsdesc_dynamic should align stack for
+ STATE_SAVE or align stack to MINIMUM_ALIGNMENT bytes before calling
+ _dl_fixup/__tls_get_addr. */
+#define DL_RUNTIME_RESOLVE_REALIGN_STACK \
+ (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \
+ || MINIMUM_ALIGNMENT > DL_STACK_ALIGNMENT)
+
#endif /* __ASSEMBLER__ */
#endif /* _X86_SYSDEP_H */
diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c
index f0024c1..963c4f3 100644
--- a/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c
+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c
@@ -1 +1 @@
-#include <elf/tst-gnu2-tls2.c>
+#include <tst-gnu2-tls2.c>
diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c
index f0024c1..963c4f3 100644
--- a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c
+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c
@@ -1 +1 @@
-#include <elf/tst-gnu2-tls2.c>
+#include <tst-gnu2-tls2.c>
diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c
index f0024c1..963c4f3 100644
--- a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c
+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c
@@ -1 +1 @@
-#include <elf/tst-gnu2-tls2.c>
+#include <tst-gnu2-tls2.c>
diff --git a/sysdeps/x86/tst-gnu2-tls2.c b/sysdeps/x86/tst-gnu2-tls2.c
index de900a4..b3195ff 100644
--- a/sysdeps/x86/tst-gnu2-tls2.c
+++ b/sysdeps/x86/tst-gnu2-tls2.c
@@ -1,20 +1,26 @@
-#ifndef __x86_64__
-#include <sys/platform/x86.h>
+#ifndef TEST_AMX
+# ifndef __x86_64__
+# include <sys/platform/x86.h>
-#define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2)
-#endif
+# define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2)
+# endif
-/* Clear XMM0...XMM7 */
-#define PREPARE_MALLOC() \
-{ \
- asm volatile ("xorps %%xmm0, %%xmm0" : : : "xmm0" ); \
- asm volatile ("xorps %%xmm1, %%xmm1" : : : "xmm1" ); \
- asm volatile ("xorps %%xmm2, %%xmm2" : : : "xmm2" ); \
- asm volatile ("xorps %%xmm3, %%xmm3" : : : "xmm3" ); \
- asm volatile ("xorps %%xmm4, %%xmm4" : : : "xmm4" ); \
- asm volatile ("xorps %%xmm5, %%xmm5" : : : "xmm5" ); \
- asm volatile ("xorps %%xmm6, %%xmm6" : : : "xmm6" ); \
- asm volatile ("xorps %%xmm7, %%xmm7" : : : "xmm7" ); \
+/* Set XMM0...XMM7 to all 1s. */
+# define PREPARE_MALLOC() \
+{ \
+ asm volatile ("pcmpeqd %%xmm0, %%xmm0" : : : "xmm0" ); \
+ asm volatile ("pcmpeqd %%xmm1, %%xmm1" : : : "xmm1" ); \
+ asm volatile ("pcmpeqd %%xmm2, %%xmm2" : : : "xmm2" ); \
+ asm volatile ("pcmpeqd %%xmm3, %%xmm3" : : : "xmm3" ); \
+ asm volatile ("pcmpeqd %%xmm4, %%xmm4" : : : "xmm4" ); \
+ asm volatile ("pcmpeqd %%xmm5, %%xmm5" : : : "xmm5" ); \
+ asm volatile ("pcmpeqd %%xmm6, %%xmm6" : : : "xmm6" ); \
+ asm volatile ("pcmpeqd %%xmm7, %%xmm7" : : : "xmm7" ); \
}
+#endif
#include <elf/tst-gnu2-tls2.c>
+
+#ifndef TEST_AMX
+v2di v1, v2, v3;
+#endif
diff --git a/sysdeps/x86/tst-gnu2-tls2.h b/sysdeps/x86/tst-gnu2-tls2.h
new file mode 100644
index 0000000..fdbb565
--- /dev/null
+++ b/sysdeps/x86/tst-gnu2-tls2.h
@@ -0,0 +1,37 @@
+/* Test TLSDESC relocation, x86 version.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef TEST_AMX
+# include <support/check.h>
+
+typedef long long v2di __attribute__((vector_size(16)));
+extern v2di v1, v2, v3;
+
+# define BEFORE_TLSDESC_CALL() \
+ v1 = __extension__(v2di){0, 0}; \
+ v2 = __extension__(v2di){0, 0};
+
+# define AFTER_TLSDESC_CALL() \
+ v3 = __extension__(v2di){0, 0}; \
+ asm volatile ("" : "+x" (v3)); \
+ union { v2di x; long long a[2]; } u; \
+ u.x = v3; \
+ TEST_VERIFY_EXIT (u.a[0] == 0 && u.a[1] == 0);
+#endif
+
+#include <elf/tst-gnu2-tls2.h>
diff --git a/sysdeps/x86/tst-tls23.c b/sysdeps/x86/tst-tls23.c
new file mode 100644
index 0000000..6130d91
--- /dev/null
+++ b/sysdeps/x86/tst-tls23.c
@@ -0,0 +1,22 @@
+#ifndef __x86_64__
+#include <sys/platform/x86.h>
+
+#define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2)
+#endif
+
+/* Set XMM0...XMM7 to all 1s. */
+#define PREPARE_MALLOC() \
+{ \
+ asm volatile ("pcmpeqd %%xmm0, %%xmm0" : : : "xmm0" ); \
+ asm volatile ("pcmpeqd %%xmm1, %%xmm1" : : : "xmm1" ); \
+ asm volatile ("pcmpeqd %%xmm2, %%xmm2" : : : "xmm2" ); \
+ asm volatile ("pcmpeqd %%xmm3, %%xmm3" : : : "xmm3" ); \
+ asm volatile ("pcmpeqd %%xmm4, %%xmm4" : : : "xmm4" ); \
+ asm volatile ("pcmpeqd %%xmm5, %%xmm5" : : : "xmm5" ); \
+ asm volatile ("pcmpeqd %%xmm6, %%xmm6" : : : "xmm6" ); \
+ asm volatile ("pcmpeqd %%xmm7, %%xmm7" : : : "xmm7" ); \
+}
+
+#include <elf/tst-tls23.c>
+
+v2di v1, v2, v3;
diff --git a/sysdeps/x86/tst-tls23.h b/sysdeps/x86/tst-tls23.h
new file mode 100644
index 0000000..21cee4c
--- /dev/null
+++ b/sysdeps/x86/tst-tls23.h
@@ -0,0 +1,35 @@
+/* Test that __tls_get_addr preserves XMM registers.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <support/check.h>
+
+typedef long long v2di __attribute__((vector_size(16)));
+extern v2di v1, v2, v3;
+
+#define BEFORE_TLS_CALL() \
+ v1 = __extension__(v2di){0, 0}; \
+ v2 = __extension__(v2di){0, 0};
+
+#define AFTER_TLS_CALL() \
+ v3 = __extension__(v2di){0, 0}; \
+ asm volatile ("" : "+x" (v3)); \
+ union { v2di x; long long a[2]; } u; \
+ u.x = v3; \
+ TEST_VERIFY_EXIT (u.a[0] == 0 && u.a[1] == 0);
+
+#include <elf/tst-tls23.h>
diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile
index 5723ec1..be64eb2 100644
--- a/sysdeps/x86_64/Makefile
+++ b/sysdeps/x86_64/Makefile
@@ -41,9 +41,6 @@ ifeq ($(subdir),elf)
CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
-mno-mmx)
-sysdep-dl-routines += tlsdesc dl-tlsdesc tls_get_addr
-
-tests += ifuncmain8
modules-names += ifuncmod8
$(objpfx)ifuncmain8: $(objpfx)ifuncmod8.so
@@ -214,6 +211,24 @@ $(objpfx)tst-plt-rewrite2: $(objpfx)tst-plt-rewritemod2.so
endif
test-internal-extras += tst-gnu2-tls2mod1
+
+tests-special += $(objpfx)check-rtld.out
+
+$(objpfx)rtld.reloc: $(objpfx)rtld.os
+ @rm -f $@T
+ LC_ALL=C $(READELF) -rW $< > $@T
+ test -s $@T
+ mv -f $@T $@
+common-generated += $(objpfx)rtld.reloc
+
+# Verify that there are no run-time relocations against __ehdr_start nor
+# _end.
+$(objpfx)check-rtld.out: $(objpfx)rtld.reloc
+ LC_ALL=C; \
+ if grep -E "R_X86_64_64.*(__ehdr_start|_end)" $^ > $@; \
+ then false; else true; fi; \
+ $(evaluate-test)
+generated += check-rtld.out
endif # $(subdir) == elf
ifeq ($(subdir),csu)
diff --git a/sysdeps/x86_64/dl-tlsdesc.S b/sysdeps/x86_64/dl-tlsdesc.S
index d1bb125..9a55fc5 100644
--- a/sysdeps/x86_64/dl-tlsdesc.S
+++ b/sysdeps/x86_64/dl-tlsdesc.S
@@ -22,7 +22,6 @@
#include <features-offsets.h>
#include <isa-level.h>
#include "tlsdesc.h"
-#include "dl-trampoline-save.h"
/* Area on stack to save and restore registers used for parameter
passing when calling _dl_tlsdesc_dynamic. */
diff --git a/sysdeps/x86_64/dl-trampoline-save.h b/sysdeps/x86_64/dl-trampoline-save.h
deleted file mode 100644
index 761128d..0000000
--- a/sysdeps/x86_64/dl-trampoline-save.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* x86-64 PLT trampoline register save macros.
- Copyright (C) 2024-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef DL_STACK_ALIGNMENT
-/* Due to GCC bug:
-
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
-
- __tls_get_addr may be called with 8-byte stack alignment. Although
- this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume
- that stack will be always aligned at 16 bytes. */
-# define DL_STACK_ALIGNMENT 8
-#endif
-
-/* True if _dl_runtime_resolve should align stack for STATE_SAVE or align
- stack to 16 bytes before calling _dl_fixup. */
-#define DL_RUNTIME_RESOLVE_REALIGN_STACK \
- (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \
- || 16 > DL_STACK_ALIGNMENT)
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index a055722..ac85f96 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -22,7 +22,6 @@
#include <features-offsets.h>
#include <link-defines.h>
#include <isa-level.h>
-#include "dl-trampoline-save.h"
/* Area on stack to save and restore registers used for parameter
passing when calling _dl_fixup. */
diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
index a834977..c2dcadd 100644
--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
@@ -922,7 +922,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
(CPU_FEATURE_USABLE (AVX2)
&& CPU_FEATURE_USABLE (BMI2)),
__wcsncpy_avx2)
- X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy,
+ X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy,
1,
__wcsncpy_generic))
@@ -952,7 +952,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
(CPU_FEATURE_USABLE (AVX2)
&& CPU_FEATURE_USABLE (BMI2)),
__wcpncpy_avx2)
- X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy,
+ X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy,
1,
__wcpncpy_generic))
diff --git a/termios/Makefile b/termios/Makefile
index 0807542..7dc3830 100644
--- a/termios/Makefile
+++ b/termios/Makefile
@@ -22,11 +22,12 @@ subdir := termios
include ../Makeconfig
-headers := termios.h bits/termios.h sys/ttydefaults.h sys/termios.h \
- sys/ttychars.h
+headers := termios.h bits/termios.h bits/termios-baud.h \
+ sys/ttydefaults.h sys/termios.h sys/ttychars.h
routines := speed cfsetspeed tcsetattr tcgetattr tcgetpgrp tcsetpgrp \
- tcdrain tcflow tcflush tcsendbrk cfmakeraw tcgetsid
+ tcdrain tcflow tcflush tcsendbrk cfmakeraw tcgetsid \
+ baud cfsetbaud
include ../Rules
diff --git a/termios/Versions b/termios/Versions
index 711ed03..a5eec83 100644
--- a/termios/Versions
+++ b/termios/Versions
@@ -11,4 +11,8 @@ libc {
# t*
tcgetsid;
}
+ GLIBC_2.42 {
+ # cf*baud
+ cfgetibaud; cfgetobaud; cfsetibaud; cfsetobaud; cfsetbaud;
+ }
}
diff --git a/termios/baud.c b/termios/baud.c
new file mode 100644
index 0000000..27c06e9
--- /dev/null
+++ b/termios/baud.c
@@ -0,0 +1,56 @@
+/* `struct termios' speed frobnication functions, baud rate wrappers.
+ Any platform which doesn't have Bxxx == xxx for all baud rate
+ constants will need to override this file.
+
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stddef.h>
+#include <errno.h>
+#include <termios.h>
+
+baud_t
+__cfgetobaud (const struct termios *termios_p)
+{
+ return __cfgetospeed (termios_p);
+}
+libc_hidden_def (__cfgetobaud)
+weak_alias (__cfgetobaud, cfgetobaud)
+
+baud_t
+__cfgetibaud (const struct termios *termios_p)
+{
+ return __cfgetispeed (termios_p);
+}
+libc_hidden_def (__cfgetibaud)
+weak_alias (__cfgetibaud, cfgetibaud)
+
+int
+__cfsetobaud (struct termios *termios_p, baud_t baud)
+{
+ return __cfsetospeed (termios_p, baud);
+}
+libc_hidden_def (__cfsetobaud)
+weak_alias (__cfsetobaud, cfsetobaud)
+
+int
+__cfsetibaud (struct termios *termios_p, baud_t baud)
+{
+ return __cfsetispeed (termios_p, baud);
+}
+libc_hidden_def (__cfsetibaud)
+weak_alias (__cfsetibaud, cfsetibaud)
diff --git a/termios/cfsetbaud.c b/termios/cfsetbaud.c
new file mode 100644
index 0000000..b76b51e
--- /dev/null
+++ b/termios/cfsetbaud.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 1992-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <termios.h>
+#include <errno.h>
+#include <stddef.h>
+
+/* Set both the input and output baud rates stored in *TERMIOS_P to BAUD. */
+int
+__cfsetbaud (struct termios *termios_p, baud_t baud)
+{
+ return __cfsetspeed (termios_p, baud);
+}
+libc_hidden_def (__cfsetbaud)
+weak_alias (__cfsetbaud, cfsetbaud)
diff --git a/termios/cfsetspeed.c b/termios/cfsetspeed.c
index 053e394..a68e63a 100644
--- a/termios/cfsetspeed.c
+++ b/termios/cfsetspeed.c
@@ -19,143 +19,17 @@
#include <errno.h>
#include <stddef.h>
-struct speed_struct
-{
- speed_t value;
- speed_t internal;
-};
-
-static const struct speed_struct speeds[] =
- {
-#ifdef B0
- { 0, B0 },
-#endif
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef B153600
- { 153600, B153600 },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B307200
- { 307200, B307200 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
-#ifdef B500000
- { 500000, B500000 },
-#endif
-#ifdef B576000
- { 576000, B576000 },
-#endif
-#ifdef B921600
- { 921600, B921600 },
-#endif
-#ifdef B1000000
- { 1000000, B1000000 },
-#endif
-#ifdef B1152000
- { 1152000, B1152000 },
-#endif
-#ifdef B1500000
- { 1500000, B1500000 },
-#endif
-#ifdef B2000000
- { 2000000, B2000000 },
-#endif
-#ifdef B2500000
- { 2500000, B2500000 },
-#endif
-#ifdef B3000000
- { 3000000, B3000000 },
-#endif
-#ifdef B3500000
- { 3500000, B3500000 },
-#endif
-#ifdef B4000000
- { 4000000, B4000000 },
-#endif
- };
-
-
/* Set both the input and output baud rates stored in *TERMIOS_P to SPEED. */
int
-cfsetspeed (struct termios *termios_p, speed_t speed)
+__cfsetspeed (struct termios *termios_p, speed_t speed)
{
- size_t cnt;
-
- for (cnt = 0; cnt < sizeof (speeds) / sizeof (speeds[0]); ++cnt)
- if (speed == speeds[cnt].internal)
- {
- cfsetispeed (termios_p, speed);
- cfsetospeed (termios_p, speed);
- return 0;
- }
- else if (speed == speeds[cnt].value)
- {
- cfsetispeed (termios_p, speeds[cnt].internal);
- cfsetospeed (termios_p, speeds[cnt].internal);
- return 0;
- }
+ int rv;
- __set_errno (EINVAL);
+ rv = __cfsetospeed (termios_p, speed);
+ if (rv)
+ return rv;
- return -1;
+ return __cfsetispeed (termios_p, speed);
}
+libc_hidden_def (__cfsetspeed)
+weak_alias (__cfsetspeed, cfsetspeed)
diff --git a/termios/speed.c b/termios/speed.c
index d65bf03..5030621 100644
--- a/termios/speed.c
+++ b/termios/speed.c
@@ -22,21 +22,25 @@
/* Return the output baud rate stored in *TERMIOS_P. */
speed_t
-cfgetospeed (const struct termios *termios_p)
+__cfgetospeed (const struct termios *termios_p)
{
return termios_p->__ospeed;
}
+libc_hidden_def (__cfgetospeed)
+weak_alias (__cfgetospeed, cfgetospeed)
/* Return the input baud rate stored in *TERMIOS_P. */
speed_t
-cfgetispeed (const struct termios *termios_p)
+__cfgetispeed (const struct termios *termios_p)
{
return termios_p->__ispeed;
}
+libc_hidden_def (__cfgetispeed)
+weak_alias (__cfgetispeed, cfgetispeed)
/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
int
-cfsetospeed (struct termios *termios_p, speed_t speed)
+__cfsetospeed (struct termios *termios_p, speed_t speed)
{
if (termios_p == NULL)
{
@@ -47,11 +51,12 @@ cfsetospeed (struct termios *termios_p, speed_t speed)
termios_p->__ospeed = speed;
return 0;
}
-libc_hidden_def (cfsetospeed)
+libc_hidden_def (__cfsetospeed)
+weak_alias (__cfsetospeed, cfsetospeed)
/* Set the input baud rate stored in *TERMIOS_P to SPEED. */
int
-cfsetispeed (struct termios *termios_p, speed_t speed)
+__cfsetispeed (struct termios *termios_p, speed_t speed)
{
if (termios_p == NULL)
{
@@ -62,4 +67,5 @@ cfsetispeed (struct termios *termios_p, speed_t speed)
termios_p->__ispeed = speed;
return 0;
}
-libc_hidden_def (cfsetispeed)
+libc_hidden_def (__cfsetispeed)
+weak_alias (__cfsetispeed, cfsetispeed)
diff --git a/termios/sys/ttychars.h b/termios/sys/ttychars.h
index 7043f60..eb1a815 100644
--- a/termios/sys/ttychars.h
+++ b/termios/sys/ttychars.h
@@ -54,8 +54,4 @@ struct ttychars {
char tc_lnextc; /* literal next character */
};
-#ifdef __USE_OLD_TTY
-#include <sys/ttydefaults.h> /* to pick up character defaults */
-#endif
-
#endif /* sys/ttychars.h */
diff --git a/termios/tcsetattr.c b/termios/tcsetattr.c
index 30bc6d6..f0756be 100644
--- a/termios/tcsetattr.c
+++ b/termios/tcsetattr.c
@@ -23,7 +23,7 @@ static int bad_speed (speed_t speed);
/* Set the state of FD to *TERMIOS_P. */
int
-tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+__tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{
if (fd < 0)
{
@@ -57,7 +57,8 @@ tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
__set_errno (ENOSYS);
return -1;
}
-libc_hidden_def (tcsetattr)
+libc_hidden_def (__tcsetattr)
+weak_alias (__tcsetattr, tcsetattr)
/* Strychnine checking. */
static int
diff --git a/termios/termios.h b/termios/termios.h
index 1755c50..788c982 100644
--- a/termios/termios.h
+++ b/termios/termios.h
@@ -59,8 +59,25 @@ extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) __THROW;
#ifdef __USE_MISC
/* Set both the input and output baud rates in *TERMIOS_OP to SPEED. */
extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) __THROW;
-#endif
+/* Interfaces that are explicitly numeric representations of baud rates */
+typedef speed_t baud_t;
+
+/* Return the output baud rate stored in *TERMIOS_P. */
+extern baud_t cfgetobaud (const struct termios *__termios_p) __THROW;
+
+/* Return the input baud rate stored in *TERMIOS_P. */
+extern baud_t cfgetibaud (const struct termios *__termios_p) __THROW;
+
+/* Set the output baud rate stored in *TERMIOS_P to BAUD. */
+extern int cfsetobaud (struct termios *__termios_p, baud_t __baud) __THROW;
+
+/* Set the input baud rate stored in *TERMIOS_P to BAUD. */
+extern int cfsetibaud (struct termios *__termios_p, baud_t __baud) __THROW;
+
+/* Set both the input and output baud rates in *TERMIOS_OP to BAUD. */
+extern int cfsetbaud (struct termios *__termios_p, baud_t __baud) __THROW;
+#endif
/* Put the state of FD into *TERMIOS_P. */
extern int tcgetattr (int __fd, struct termios *__termios_p) __THROW;
diff --git a/time/strftime_l.c b/time/strftime_l.c
index f51d926..5cb5f5d 100644
--- a/time/strftime_l.c
+++ b/time/strftime_l.c
@@ -40,6 +40,7 @@
#endif
#include <ctype.h>
+#include <errno.h>
#include <sys/types.h> /* Some systems define `time_t' here. */
#ifdef TIME_WITH_SYS_TIME