about summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/Makefile4
-rw-r--r--stdlib/arc4random.c2
-rw-r--r--stdlib/bits/stdlib.h10
-rw-r--r--stdlib/exit.c10
-rw-r--r--stdlib/gen-tst-strtod-round.c43
-rw-r--r--stdlib/stdlib.h2
-rw-r--r--stdlib/strtod_l.c2
-rw-r--r--stdlib/strtod_nan_main.c3
-rw-r--r--stdlib/tst-concurrent-exit-skeleton.c160
-rw-r--r--stdlib/tst-concurrent-exit.c22
-rw-r--r--stdlib/tst-concurrent-quick_exit.c22
-rw-r--r--stdlib/tst-strtod-round-data12
-rw-r--r--stdlib/tst-strtod-round-data.h15858
-rw-r--r--stdlib/tst-strtod-round-skeleton.c98
-rw-r--r--stdlib/tst-strtod-underflow.c357
-rw-r--r--stdlib/tst-strtod1i.c129
-rw-r--r--stdlib/tst-strtod2.c135
-rw-r--r--stdlib/tst-strtod3.c102
-rw-r--r--stdlib/tst-strtod4.c104
-rw-r--r--stdlib/tst-strtod5.c116
-rw-r--r--stdlib/tst-strtod5i.c158
-rw-r--r--stdlib/tst-swapcontext2.c4
-rw-r--r--stdlib/tst-system.c2
23 files changed, 9263 insertions, 8092 deletions
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 8b0ac63ddb..347491de53 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -273,6 +273,8 @@ tests := \
   tst-bsearch \
   tst-bz20544 \
   tst-canon-bz26341 \
+  tst-concurrent-exit \
+  tst-concurrent-quick_exit \
   tst-cxa_atexit \
   tst-environ \
   tst-getrandom \
@@ -623,3 +625,5 @@ $(objpfx)tst-setcontext3.out: tst-setcontext3.sh $(objpfx)tst-setcontext3
 	$(evaluate-test)
 
 $(objpfx)tst-qsort5: $(libm)
+$(objpfx)tst-concurrent-exit: $(shared-thread-library)
+$(objpfx)tst-concurrent-quick_exit: $(shared-thread-library)
diff --git a/stdlib/arc4random.c b/stdlib/arc4random.c
index 3ae8fc1302..7818cb9cf6 100644
--- a/stdlib/arc4random.c
+++ b/stdlib/arc4random.c
@@ -51,7 +51,7 @@ __arc4random_buf (void *p, size_t n)
 	  n -= l;
 	  continue; /* Interrupted by a signal; keep going.  */
 	}
-      else if (l == -ENOSYS)
+      else if (l < 0 && errno == ENOSYS)
 	break; /* No syscall, so fallback to /dev/urandom.  */
       arc4random_getrandom_failure ();
     }
diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h
index 1557b862b1..9c78ecf458 100644
--- a/stdlib/bits/stdlib.h
+++ b/stdlib/bits/stdlib.h
@@ -43,16 +43,16 @@ __NTH (realpath (const char *__restrict __name,
 					     "bytes long buffer")
 #endif
 {
-  size_t sz = __glibc_objsize (__resolved);
+  size_t __sz = __glibc_objsize (__resolved);
 
-  if (sz == (size_t) -1)
+  if (__sz == (size_t) -1)
     return __realpath_alias (__name, __resolved);
 
 #if !__fortify_use_clang && defined _LIBC_LIMITS_H_ && defined PATH_MAX
-  if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz))
-    return __realpath_chk_warn (__name, __resolved, sz);
+  if (__glibc_unsafe_len (PATH_MAX, sizeof (char), __sz))
+    return __realpath_chk_warn (__name, __resolved, __sz);
 #endif
-  return __realpath_chk (__name, __resolved, sz);
+  return __realpath_chk (__name, __resolved, __sz);
 }
 
 
diff --git a/stdlib/exit.c b/stdlib/exit.c
index 5166c78044..8d7e2e53d0 100644
--- a/stdlib/exit.c
+++ b/stdlib/exit.c
@@ -28,6 +28,13 @@
    __exit_funcs_lock is declared.  */
 bool __exit_funcs_done = false;
 
+/* The lock handles concurrent exit() and quick_exit(), even though the
+   C/POSIX standard states that calling exit() more than once is UB.  The
+   recursive lock allows atexit() handlers or destructors to call exit()
+   itself.  In this case, the  handler list execution will resume at the
+   point of the current handler.  */
+__libc_lock_define_initialized_recursive (static, __exit_lock)
+
 /* Call all functions registered with `atexit' and `on_exit',
    in the reverse of the order in which they were registered
    perform stdio cleanup, and terminate program execution with STATUS.  */
@@ -36,6 +43,9 @@ attribute_hidden
 __run_exit_handlers (int status, struct exit_function_list **listp,
 		     bool run_list_atexit, bool run_dtors)
 {
+  /* The exit should never return, so there is no need to unlock it.  */
+  __libc_lock_lock_recursive (__exit_lock);
+
   /* First, call the TLS destructors.  */
   if (run_dtors)
     call_function_static_weak (__call_tls_dtors);
diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c
index e48bf4d6ea..7ce735f81d 100644
--- a/stdlib/gen-tst-strtod-round.c
+++ b/stdlib/gen-tst-strtod-round.c
@@ -46,6 +46,7 @@ static int
 string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd)
 {
   mpfr_clear_overflow ();
+  mpfr_clear_underflow ();
 #ifdef WORKAROUND
   mpfr_t f2;
   mpfr_init2 (f2, 100000);
@@ -53,12 +54,16 @@ string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd)
   int r = mpfr_set (f, f2, rnd);
   r |= mpfr_subnormalize (f, r, rnd);
   mpfr_clear (f2);
-  return r0 | r;
+  r |= r0;
 #else
   int r = mpfr_strtofr (f, s, NULL, 0, rnd);
   r |= mpfr_subnormalize (f, r, rnd);
-  return r;
 #endif
+  if (r == 0)
+    /* The MPFR underflow flag is set for exact subnormal results,
+       which is not wanted here.  */
+    mpfr_clear_underflow ();
+  return r;
 }
 
 void
@@ -70,6 +75,21 @@ print_fp (FILE *fout, mpfr_t f, const char *suffix)
     mpfr_fprintf (fout, "\t%Ra%s", f, suffix);
 }
 
+static const char *
+suffix_to_print (bool overflow, bool underflow, bool underflow_before_rounding,
+		 bool with_comma)
+{
+  if (overflow)
+    return with_comma ? ", true, false,\n" : ", true, false";
+  if (underflow)
+    return with_comma ? ", false, true,\n" : ", false, true";
+  if (underflow_before_rounding)
+    return (with_comma
+	    ? ", false, !TININESS_AFTER_ROUNDING,\n"
+	    : ", false, !TININESS_AFTER_ROUNDING");
+  return with_comma ? ", false, false,\n" : ", false, false";
+}
+
 static void
 round_str (FILE *fout, const char *s, int prec, int emin, int emax,
 	   bool ibm_ld)
@@ -80,8 +100,11 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax,
   mpfr_set_emin (emin);
   mpfr_set_emax (emax);
   mpfr_init (f);
+  string_to_fp (f, s, MPFR_RNDZ);
+  bool underflow_before_rounding = mpfr_underflow_p () != 0;
   int r = string_to_fp (f, s, MPFR_RNDD);
   bool overflow = mpfr_overflow_p () != 0;
+  bool underflow = mpfr_underflow_p () != 0;
   if (ibm_ld)
     {
       assert (prec == 106 && emin == -1073 && emax == 1024);
@@ -97,19 +120,27 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax,
 	}
     }
   mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true");
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDN);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDZ);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDU);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true" : ", false");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     false));
   mpfr_clear (f);
   if (ibm_ld)
     mpfr_clear (max_value);
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 901926e893..17487c6640 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -727,7 +727,7 @@ extern void *aligned_alloc (size_t __alignment, size_t __size)
 #endif
 
 /* Abort execution and generate a core-dump.  */
-extern void abort (void) __THROW __attribute__ ((__noreturn__));
+extern void abort (void) __THROW __attribute__ ((__noreturn__)) __COLD;
 
 
 /* Register a function to be called when `exit' is called.  */
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index be515ce659..beb97b3d0c 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -222,6 +222,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
 
       mp_size_t shift = MIN_EXP - 1 - exponent;
       bool is_tiny = true;
+      bool old_half_bit = (round_limb & (((mp_limb_t) 1) << round_bit)) != 0;
 
       more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
       if (shift == MANT_DIG)
@@ -292,6 +293,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
 	  round_bit = shift - 1;
 	  (void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, shift);
 	}
+      more_bits |= old_half_bit;
       /* This is a hook for the m68k long double format, where the
 	 exponent bias is the same for normalized and denormalized
 	 numbers.  */
diff --git a/stdlib/strtod_nan_main.c b/stdlib/strtod_nan_main.c
index 4cb286d2b3..39fb7e9f75 100644
--- a/stdlib/strtod_nan_main.c
+++ b/stdlib/strtod_nan_main.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <errno.h>
 #include <ieee754.h>
 #include <locale.h>
 #include <math.h>
@@ -50,7 +51,9 @@ STRTOD_NAN (const STRING_TYPE *str, STRING_TYPE **endptr, STRING_TYPE endc)
   STRING_TYPE *endp;
   unsigned long long int mant;
 
+  int save_errno = errno;
   mant = STRTOULL (str, &endp, 0);
+  __set_errno (save_errno);
   if (endp == cp)
     SET_NAN_PAYLOAD (retval, mant);
 
diff --git a/stdlib/tst-concurrent-exit-skeleton.c b/stdlib/tst-concurrent-exit-skeleton.c
new file mode 100644
index 0000000000..cfd5140466
--- /dev/null
+++ b/stdlib/tst-concurrent-exit-skeleton.c
@@ -0,0 +1,160 @@
+/* Check if exit/quick_exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 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 <array_length.h>
+#include <stdlib.h>
+#include <support/check.h>
+#include <support/xthread.h>
+#include <stdio.h>
+#include <support/xunistd.h>
+#include <string.h>
+
+/* A value larger than the minimum required by C/POSIX (32), to trigger a
+   new block memory allocation.  */
+#define MAX_atexit 64
+
+static pthread_barrier_t barrier;
+
+static void *
+tf (void *closure)
+{
+  xpthread_barrier_wait (&barrier);
+  EXIT (0);
+
+  return NULL;
+}
+
+static const char expected[] = "00000000000000000000000000000000000"
+			       "00000000000000000000003021121130211";
+static char crumbs[sizeof (expected)];
+static int next_slot = 0;
+
+static void
+exit_with_flush (int code)
+{
+  fflush (stdout);
+  /* glibc allows recursive EXIT, the ATEXIT handlers execution will be
+     resumed from the where the previous EXIT was interrupted.  */
+  EXIT (code);
+}
+
+/* Take some time, so another thread potentially issue EXIT.  */
+#define SETUP_NANOSLEEP \
+  if (nanosleep (&(struct timespec) { .tv_sec = 0, .tv_nsec = 1000L },	\
+		 NULL) != 0)						\
+    FAIL_EXIT1 ("nanosleep: %m")
+
+static void
+fn0 (void)
+{
+  crumbs[next_slot++] = '0';
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn1 (void)
+{
+  crumbs[next_slot++] = '1';
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn2 (void)
+{
+  crumbs[next_slot++] = '2';
+  ATEXIT (fn1);
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn3 (void)
+{
+  crumbs[next_slot++] = '3';
+  ATEXIT (fn2);
+  ATEXIT (fn0);
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn_final (void)
+{
+  TEST_COMPARE_STRING (crumbs, expected);
+  exit_with_flush (0);
+}
+
+_Noreturn static void
+child (void)
+{
+  enum { nthreads = 8 };
+
+  xpthread_barrier_init (&barrier, NULL, nthreads + 1);
+
+  pthread_t thr[nthreads];
+  for (int i = 0; i < nthreads; i++)
+    thr[i] = xpthread_create (NULL, tf, NULL);
+
+  xpthread_barrier_wait (&barrier);
+
+  for (int i = 0; i < nthreads; i++)
+    {
+      pthread_join (thr[i], NULL);
+      /* It should not be reached, it means that thread did not exit for
+	 some reason.  */
+      support_record_failure ();
+    }
+
+  EXIT (2);
+}
+
+static int
+do_test (void)
+{
+  /* Register a large number of handler that will trigger a heap allocation
+     for the handle state.  On EXIT, each block will be freed after the
+     handle is processed.  */
+  int slots_remaining = MAX_atexit;
+
+  /* Register this first so it can verify expected order of the rest.  */
+  ATEXIT (fn_final); --slots_remaining;
+
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn3) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn2) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn3) == 0); --slots_remaining;
+
+  while (slots_remaining > 0)
+    {
+      TEST_VERIFY_EXIT (ATEXIT (fn0) == 0); --slots_remaining;
+    }
+
+  pid_t pid = xfork ();
+  if (pid != 0)
+    {
+      int status;
+      xwaitpid (pid, &status, 0);
+      TEST_VERIFY (WIFEXITED (status));
+    }
+  else
+    child ();
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/tst-concurrent-exit.c b/stdlib/tst-concurrent-exit.c
new file mode 100644
index 0000000000..421c39d631
--- /dev/null
+++ b/stdlib/tst-concurrent-exit.c
@@ -0,0 +1,22 @@
+/* Check if exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 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 EXIT(__r)    exit (__r)
+#define ATEXIT(__f)  atexit (__f)
+
+#include "tst-concurrent-exit-skeleton.c"
diff --git a/stdlib/tst-concurrent-quick_exit.c b/stdlib/tst-concurrent-quick_exit.c
new file mode 100644
index 0000000000..3f321668d6
--- /dev/null
+++ b/stdlib/tst-concurrent-quick_exit.c
@@ -0,0 +1,22 @@
+/* Check if quick_exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 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 EXIT(__r)    quick_exit (__r)
+#define ATEXIT(__f)  at_quick_exit (__f)
+
+#include "tst-concurrent-exit-skeleton.c"
diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data
index 84ab705709..9489fbcc9c 100644
--- a/stdlib/tst-strtod-round-data
+++ b/stdlib/tst-strtod-round-data
@@ -265,3 +265,15 @@
 1.000000000000000000000000000000000385185988877447170611195588516985463707620329643077639047987759113311767578125
 1.0000000000000000000000000000000001925929944387235853055977942584927318538101648215388195239938795566558837890625
 1.00000000000000000000000000000000009629649721936179265279889712924636592690508241076940976199693977832794189453125
+0x30000002222225p-1077
+0x0.7fffffffffffeap-1022
+0x0.7fffffffffffe9p-1022
+0x0.7ffffd4p-126
+0x0.7ffffffffffffffd4p-16382
+0x0.7ffffffffffffffd4p-16383
+0x0.7ffffffffffffffffffffffffffeap-16382
+0x0.7000004p-126
+0x0.70000000000002p-1022
+0x0.70000000000000004p-16382
+0x0.70000000000000004p-16383
+0x0.70000000000000000000000000002p-16382
diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h
index 8899d15f9b..ed50eb2537 100644
--- a/stdlib/tst-strtod-round-data.h
+++ b/stdlib/tst-strtod-round-data.h
@@ -2,1852 +2,1852 @@
 static const struct test tests[] = {
   TEST ("3.518437208883201171875E+013",
 	false,
-	0x2p+44, false,
-	0x2p+44, false,
-	0x2p+44, false,
-	0x2.000004p+44, false,
-	false,
-	0x2.0000000000002p+44, false,
-	0x2.0000000000004p+44, false,
-	0x2.0000000000002p+44, false,
-	0x2.0000000000004p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false),
+	0x2p+44, false, false,
+	0x2p+44, false, false,
+	0x2p+44, false, false,
+	0x2.000004p+44, false, false,
+	false,
+	0x2.0000000000002p+44, false, false,
+	0x2.0000000000004p+44, false, false,
+	0x2.0000000000002p+44, false, false,
+	0x2.0000000000004p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false),
   TEST ("1.00000005960464477550",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false),
   TEST ("1.0000000596046447755",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false),
   TEST ("1.000000059604644776",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc218p+0, false,
-	false,
-	0x1.000001000000000b3db12bdc213cp+0, false,
-	0x1.000001000000000b3db12bdc213dp+0, false,
-	0x1.000001000000000b3db12bdc213cp+0, false,
-	0x1.000001000000000b3db12bdc213dp+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc218p+0, false, false,
+	false,
+	0x1.000001000000000b3db12bdc213cp+0, false, false,
+	0x1.000001000000000b3db12bdc213dp+0, false, false,
+	0x1.000001000000000b3db12bdc213cp+0, false, false,
+	0x1.000001000000000b3db12bdc213dp+0, false, false),
   TEST ("1.000000059604644775",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffffap+0, false,
-	false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffffap+0, false,
-	false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dep+0, false,
-	false,
-	0x1.000000fffffffff8cb535a09dd9p+0, false,
-	0x1.000000fffffffff8cb535a09dd91p+0, false,
-	0x1.000000fffffffff8cb535a09dd9p+0, false,
-	0x1.000000fffffffff8cb535a09dd91p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffffap+0, false, false,
+	false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffffap+0, false, false,
+	false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dep+0, false, false,
+	false,
+	0x1.000000fffffffff8cb535a09dd9p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd91p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd9p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd91p+0, false, false),
   TEST ("1.00000005960464478",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	false,
-	0x1.0000010000000055072873252f8p+0, false,
-	0x1.0000010000000055072873253p+0, false,
-	0x1.0000010000000055072873252f8p+0, false,
-	0x1.0000010000000055072873253p+0, false,
-	false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252fecp+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	false,
+	0x1.0000010000000055072873252f8p+0, false, false,
+	0x1.0000010000000055072873253p+0, false, false,
+	0x1.0000010000000055072873252f8p+0, false, false,
+	0x1.0000010000000055072873253p+0, false, false,
+	false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252fecp+0, false, false),
   TEST ("1.0000000596046448",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	false,
-	0x1.00000100000001c5f67cd79279p+0, false,
-	0x1.00000100000001c5f67cd792798p+0, false,
-	0x1.00000100000001c5f67cd79279p+0, false,
-	0x1.00000100000001c5f67cd792798p+0, false,
-	false,
-	0x1.00000100000001c5f67cd7927953p+0, false,
-	0x1.00000100000001c5f67cd7927954p+0, false,
-	0x1.00000100000001c5f67cd7927953p+0, false,
-	0x1.00000100000001c5f67cd7927954p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	false,
+	0x1.00000100000001c5f67cd79279p+0, false, false,
+	0x1.00000100000001c5f67cd792798p+0, false, false,
+	0x1.00000100000001c5f67cd79279p+0, false, false,
+	0x1.00000100000001c5f67cd792798p+0, false, false,
+	false,
+	0x1.00000100000001c5f67cd7927953p+0, false, false,
+	0x1.00000100000001c5f67cd7927954p+0, false, false,
+	0x1.00000100000001c5f67cd7927953p+0, false, false,
+	0x1.00000100000001c5f67cd7927954p+0, false, false),
   TEST ("1.000000059604645",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000002p+0, false,
-	false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	false,
-	0x1.000001000000102f4fc8c3d757p+0, false,
-	0x1.000001000000102f4fc8c3d7578p+0, false,
-	0x1.000001000000102f4fc8c3d757p+0, false,
-	0x1.000001000000102f4fc8c3d7578p+0, false,
-	false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d7576ap+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000002p+0, false, false,
+	false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	false,
+	0x1.000001000000102f4fc8c3d757p+0, false, false,
+	0x1.000001000000102f4fc8c3d7578p+0, false, false,
+	0x1.000001000000102f4fc8c3d757p+0, false, false,
+	0x1.000001000000102f4fc8c3d7578p+0, false, false,
+	false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d7576ap+0, false, false),
   TEST ("1.00000005960464",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffebp+0, false,
-	false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	false,
-	0x1.000000fffffea7e5975eb11da7p+0, false,
-	0x1.000000fffffea7e5975eb11da78p+0, false,
-	0x1.000000fffffea7e5975eb11da7p+0, false,
-	0x1.000000fffffea7e5975eb11da78p+0, false,
-	false,
-	0x1.000000fffffea7e5975eb11da74ap+0, false,
-	0x1.000000fffffea7e5975eb11da74bp+0, false,
-	0x1.000000fffffea7e5975eb11da74ap+0, false,
-	0x1.000000fffffea7e5975eb11da74bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffebp+0, false, false,
+	false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	false,
+	0x1.000000fffffea7e5975eb11da7p+0, false, false,
+	0x1.000000fffffea7e5975eb11da78p+0, false, false,
+	0x1.000000fffffea7e5975eb11da7p+0, false, false,
+	0x1.000000fffffea7e5975eb11da78p+0, false, false,
+	false,
+	0x1.000000fffffea7e5975eb11da74ap+0, false, false,
+	0x1.000000fffffea7e5975eb11da74bp+0, false, false,
+	0x1.000000fffffea7e5975eb11da74ap+0, false, false,
+	0x1.000000fffffea7e5975eb11da74bp+0, false, false),
   TEST ("1.0000000596046",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff37p+0, false,
-	false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	false,
-	0x1.000000fffff36597d40e1b5026p+0, false,
-	0x1.000000fffff36597d40e1b50268p+0, false,
-	0x1.000000fffff36597d40e1b5026p+0, false,
-	0x1.000000fffff36597d40e1b50268p+0, false,
-	false,
-	0x1.000000fffff36597d40e1b502655p+0, false,
-	0x1.000000fffff36597d40e1b502656p+0, false,
-	0x1.000000fffff36597d40e1b502655p+0, false,
-	0x1.000000fffff36597d40e1b502656p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff37p+0, false, false,
+	false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	false,
+	0x1.000000fffff36597d40e1b5026p+0, false, false,
+	0x1.000000fffff36597d40e1b50268p+0, false, false,
+	0x1.000000fffff36597d40e1b5026p+0, false, false,
+	0x1.000000fffff36597d40e1b50268p+0, false, false,
+	false,
+	0x1.000000fffff36597d40e1b502655p+0, false, false,
+	0x1.000000fffff36597d40e1b502656p+0, false, false,
+	0x1.000000fffff36597d40e1b502655p+0, false, false,
+	0x1.000000fffff36597d40e1b502656p+0, false, false),
   TEST ("1.000000059605",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001000063fp+0, false,
-	0x1.000001000064p+0, false,
-	0x1.000001000063fp+0, false,
-	0x1.000001000064p+0, false,
-	false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	false,
-	0x1.000001000063fca17533f5572f8p+0, false,
-	0x1.000001000063fca17533f5573p+0, false,
-	0x1.000001000063fca17533f5572f8p+0, false,
-	0x1.000001000063fca17533f5573p+0, false,
-	false,
-	0x1.000001000063fca17533f5572fe9p+0, false,
-	0x1.000001000063fca17533f5572feap+0, false,
-	0x1.000001000063fca17533f5572fe9p+0, false,
-	0x1.000001000063fca17533f5572feap+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001000063fp+0, false, false,
+	0x1.000001000064p+0, false, false,
+	0x1.000001000063fp+0, false, false,
+	0x1.000001000064p+0, false, false,
+	false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	false,
+	0x1.000001000063fca17533f5572f8p+0, false, false,
+	0x1.000001000063fca17533f5573p+0, false, false,
+	0x1.000001000063fca17533f5572f8p+0, false, false,
+	0x1.000001000063fca17533f5573p+0, false, false,
+	false,
+	0x1.000001000063fca17533f5572fe9p+0, false, false,
+	0x1.000001000063fca17533f5572feap+0, false, false,
+	0x1.000001000063fca17533f5572fe9p+0, false, false,
+	0x1.000001000063fca17533f5572feap+0, false, false),
   TEST ("1.00000005960",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff388p+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382ep+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff388p+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382ep+0, false, false),
   TEST ("1.0000000596",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff388p+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382ep+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff388p+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382ep+0, false, false),
   TEST ("1.000000060",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca38p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca38p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false),
   TEST ("1.00000006",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca38p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca38p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false),
   TEST ("1.0000001",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001ad7f29ap+0, false,
-	0x1.000001ad7f29bp+0, false,
-	0x1.000001ad7f29ap+0, false,
-	0x1.000001ad7f29bp+0, false,
-	false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abccp+0, false,
-	false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abccp+0, false,
-	false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a658p+0, false,
-	false,
-	0x1.000001ad7f29abcaf485787a652p+0, false,
-	0x1.000001ad7f29abcaf485787a6521p+0, false,
-	0x1.000001ad7f29abcaf485787a652p+0, false,
-	0x1.000001ad7f29abcaf485787a6521p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001ad7f29ap+0, false, false,
+	0x1.000001ad7f29bp+0, false, false,
+	0x1.000001ad7f29ap+0, false, false,
+	0x1.000001ad7f29bp+0, false, false,
+	false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abccp+0, false, false,
+	false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abccp+0, false, false,
+	false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a658p+0, false, false,
+	false,
+	0x1.000001ad7f29abcaf485787a652p+0, false, false,
+	0x1.000001ad7f29abcaf485787a6521p+0, false, false,
+	0x1.000001ad7f29abcaf485787a652p+0, false, false,
+	0x1.000001ad7f29abcaf485787a6521p+0, false, false),
   TEST ("1.000000",
 	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false),
   TEST ("1.00000000000000011113",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc965572328p+0, false,
-	false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723223p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc965572328p+0, false, false,
+	false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723223p+0, false, false),
   TEST ("1.00000000000000011103",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008002459c076c48p+0, false,
-	0x1.00000000000008002459c076c5p+0, false,
-	0x1.00000000000008002459c076c48p+0, false,
-	0x1.00000000000008002459c076c5p+0, false,
-	false,
-	0x1.00000000000008002459c076c4f7p+0, false,
-	0x1.00000000000008002459c076c4f8p+0, false,
-	0x1.00000000000008002459c076c4f7p+0, false,
-	0x1.00000000000008002459c076c4f8p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008002459c076c48p+0, false, false,
+	0x1.00000000000008002459c076c5p+0, false, false,
+	0x1.00000000000008002459c076c48p+0, false, false,
+	0x1.00000000000008002459c076c5p+0, false, false,
+	false,
+	0x1.00000000000008002459c076c4f7p+0, false, false,
+	0x1.00000000000008002459c076c4f8p+0, false, false,
+	0x1.00000000000008002459c076c4f7p+0, false, false,
+	0x1.00000000000008002459c076c4f8p+0, false, false),
   TEST ("1.00000000000000011102",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fff5207e5dap+0, false,
-	0x1.00000000000007fff5207e5da08p+0, false,
-	0x1.00000000000007fff5207e5dap+0, false,
-	0x1.00000000000007fff5207e5da08p+0, false,
-	false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da074p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fff5207e5dap+0, false, false,
+	0x1.00000000000007fff5207e5da08p+0, false, false,
+	0x1.00000000000007fff5207e5dap+0, false, false,
+	0x1.00000000000007fff5207e5da08p+0, false, false,
+	false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da074p+0, false, false),
   TEST ("1.00000000000000011101",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007ffc5e73c447b8p+0, false,
-	0x1.00000000000007ffc5e73c447cp+0, false,
-	0x1.00000000000007ffc5e73c447b8p+0, false,
-	0x1.00000000000007ffc5e73c447cp+0, false,
-	false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447bfp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007ffc5e73c447b8p+0, false, false,
+	0x1.00000000000007ffc5e73c447cp+0, false, false,
+	0x1.00000000000007ffc5e73c447b8p+0, false, false,
+	0x1.00000000000007ffc5e73c447cp+0, false, false,
+	false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447bfp+0, false, false),
   TEST ("1.0000000000000001111",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c5p+0, false,
-	false,
-	0x1.00000000000008016eea8f26c495p+0, false,
-	0x1.00000000000008016eea8f26c496p+0, false,
-	0x1.00000000000008016eea8f26c495p+0, false,
-	0x1.00000000000008016eea8f26c496p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c5p+0, false, false,
+	false,
+	0x1.00000000000008016eea8f26c495p+0, false, false,
+	0x1.00000000000008016eea8f26c496p+0, false, false,
+	0x1.00000000000008016eea8f26c495p+0, false, false,
+	0x1.00000000000008016eea8f26c496p+0, false, false),
   TEST ("1.000000000000000111",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007ff96adfa2b57p+0, false,
-	0x1.00000000000007ff96adfa2b578p+0, false,
-	0x1.00000000000007ff96adfa2b57p+0, false,
-	0x1.00000000000007ff96adfa2b578p+0, false,
-	false,
-	0x1.00000000000007ff96adfa2b576ap+0, false,
-	0x1.00000000000007ff96adfa2b576bp+0, false,
-	0x1.00000000000007ff96adfa2b576ap+0, false,
-	0x1.00000000000007ff96adfa2b576bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007ff96adfa2b57p+0, false, false,
+	0x1.00000000000007ff96adfa2b578p+0, false, false,
+	0x1.00000000000007ff96adfa2b57p+0, false, false,
+	0x1.00000000000007ff96adfa2b578p+0, false, false,
+	false,
+	0x1.00000000000007ff96adfa2b576ap+0, false, false,
+	0x1.00000000000007ff96adfa2b576bp+0, false, false,
+	0x1.00000000000007ff96adfa2b576ap+0, false, false,
+	0x1.00000000000007ff96adfa2b576bp+0, false, false),
   TEST ("1.00000000000000011",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed2450285914p+0, false,
-	false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913cp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed2450285914p+0, false, false,
+	false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913cp+0, false, false),
   TEST ("1.0000000000000001",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000736p+0, false,
-	false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000736p+0, false,
-	false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226f8p+0, false,
-	false,
-	0x1.0000000000000734aca5f6226f0ap+0, false,
-	0x1.0000000000000734aca5f6226f0bp+0, false,
-	0x1.0000000000000734aca5f6226f0ap+0, false,
-	0x1.0000000000000734aca5f6226f0bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000736p+0, false, false,
+	false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000736p+0, false, false,
+	false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226f8p+0, false, false,
+	false,
+	0x1.0000000000000734aca5f6226f0ap+0, false, false,
+	0x1.0000000000000734aca5f6226f0bp+0, false, false,
+	0x1.0000000000000734aca5f6226f0ap+0, false, false,
+	0x1.0000000000000734aca5f6226f0bp+0, false, false),
   TEST ("3929201589819414e-25",
 	false,
-	0x1.b0053p-32, false,
-	0x1.b00532p-32, false,
-	0x1.b0053p-32, false,
-	0x1.b00532p-32, false,
-	false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421fp-32, false,
-	false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	false,
-	0x1.b005314e2421e7ffb472840c5ap-32, false,
-	0x1.b005314e2421e7ffb472840c5a8p-32, false,
-	0x1.b005314e2421e7ffb472840c5ap-32, false,
-	0x1.b005314e2421e7ffb472840c5a8p-32, false,
-	false,
-	0x1.b005314e2421e7ffb472840c5a6ep-32, false,
-	0x1.b005314e2421e7ffb472840c5a6fp-32, false,
-	0x1.b005314e2421e7ffb472840c5a6ep-32, false,
-	0x1.b005314e2421e7ffb472840c5a6fp-32, false),
+	0x1.b0053p-32, false, false,
+	0x1.b00532p-32, false, false,
+	0x1.b0053p-32, false, false,
+	0x1.b00532p-32, false, false,
+	false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421fp-32, false, false,
+	false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	false,
+	0x1.b005314e2421e7ffb472840c5ap-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a8p-32, false, false,
+	0x1.b005314e2421e7ffb472840c5ap-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a8p-32, false, false,
+	false,
+	0x1.b005314e2421e7ffb472840c5a6ep-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6fp-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6ep-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6fp-32, false, false),
   TEST ("0.0000000000000000000000000000000000000000000021019476964872"
 	"256063855943749348741969203929128147736576356024258346866240"
 	"28790902229957282543182373046875",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false),
   TEST ("1.00000005960464477539062499",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffffffffce7b78p+0, false,
-	0x1.000000fffffffffffffffce7b8p+0, false,
-	0x1.000000fffffffffffffffce7b78p+0, false,
-	0x1.000000fffffffffffffffce7b8p+0, false,
-	false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e8p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffffffffce7b78p+0, false, false,
+	0x1.000000fffffffffffffffce7b8p+0, false, false,
+	0x1.000000fffffffffffffffce7b78p+0, false, false,
+	0x1.000000fffffffffffffffce7b8p+0, false, false,
+	false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e8p+0, false, false),
   TEST ("1.000000059604644775390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false),
   TEST ("1.00000005960464477539062501",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000000002p+0, false,
-	false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.000001000000000000000318488p+0, false,
-	false,
-	0x1.0000010000000000000003184818p+0, false,
-	0x1.0000010000000000000003184819p+0, false,
-	0x1.0000010000000000000003184818p+0, false,
-	0x1.0000010000000000000003184819p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.000001000000000000000318488p+0, false, false,
+	false,
+	0x1.0000010000000000000003184818p+0, false, false,
+	0x1.0000010000000000000003184819p+0, false, false,
+	0x1.0000010000000000000003184818p+0, false, false,
+	0x1.0000010000000000000003184819p+0, false, false),
   TEST ("1.00000011920928955078125",
 	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false),
   TEST ("1.00000017881393432617187499",
 	false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	false,
-	0x1.000002fffffffp+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffp+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffffffffce7b78p+0, false,
-	0x1.000002fffffffffffffffce7b8p+0, false,
-	0x1.000002fffffffffffffffce7b78p+0, false,
-	0x1.000002fffffffffffffffce7b8p+0, false,
-	false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e8p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	false,
+	0x1.000002fffffffp+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffp+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffffffffce7b78p+0, false, false,
+	0x1.000002fffffffffffffffce7b8p+0, false, false,
+	0x1.000002fffffffffffffffce7b78p+0, false, false,
+	0x1.000002fffffffffffffffce7b8p+0, false, false,
+	false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e8p+0, false, false),
   TEST ("1.000000178813934326171875",
 	false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false),
   TEST ("1.00000017881393432617187501",
 	false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000001p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000000002p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000000002p+0, false,
-	false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.000003000000000000000318488p+0, false,
-	false,
-	0x1.0000030000000000000003184818p+0, false,
-	0x1.0000030000000000000003184819p+0, false,
-	0x1.0000030000000000000003184818p+0, false,
-	0x1.0000030000000000000003184819p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000001p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000000002p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000000002p+0, false, false,
+	false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.000003000000000000000318488p+0, false, false,
+	false,
+	0x1.0000030000000000000003184818p+0, false, false,
+	0x1.0000030000000000000003184819p+0, false, false,
+	0x1.0000030000000000000003184818p+0, false, false,
+	0x1.0000030000000000000003184819p+0, false, false),
   TEST ("1.0000002384185791015625",
 	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false),
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false),
   TEST ("1.08420217248550443400745280086994171142578125e-19",
 	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812499e-19",
 	false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	false,
-	0x2.000001ffffffep-64, false,
-	0x2.000002p-64, false,
-	0x2.000001ffffffep-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001ffffffffffffffffffffp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001ffffffffffffffffffffp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffffffffffffffep-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffffffffffffffep-64, false,
-	0x2.000002p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	false,
+	0x2.000001ffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001ffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001ffffffffffffffffffffp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001ffffffffffffffffffffp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffffffffffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffffffffffffffep-64, false, false,
+	0x2.000002p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"6455078125e-19",
 	false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812501e-19",
 	false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000002p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.00000200000000000000000001p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000000000000000002p-64, false),
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000002p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.00000200000000000000000001p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000000000000000002p-64, false, false),
   TEST ("1.0842023017324751454180269995275498473574771196581423282623"
 	"291015625e-19",
 	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437499e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	false,
-	0x2.000005ffffffep-64, false,
-	0x2.000006p-64, false,
-	0x2.000005ffffffep-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005ffffffffffffffffffffp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005ffffffffffffffffffffp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffffffffffffffep-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffffffffffffffep-64, false,
-	0x2.000006p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	false,
+	0x2.000005ffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005ffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005ffffffffffffffffffffp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005ffffffffffffffffffffp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffffffffffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffffffffffffffep-64, false, false,
+	0x2.000006p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"9365234375e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437501e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000002p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000004p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000004p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.00000600000000000000000001p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000000000000000002p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000002p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000004p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000004p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.00000600000000000000000001p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000000000000000002p-64, false, false),
   TEST ("1.0842024309794458568286011981851579832891729893162846565246"
 	"58203125e-19",
 	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false),
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false),
   TEST ("7.5231638452626400509999138382223723380394595633413601376560"
 	"1092018187046051025390625e-37",
 	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062499e-37",
 	false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	false,
-	0x1.000000fffffffp-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffp-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000ffffffffffffffffffff8p-120, false,
-	0x1.000001p-120, false,
-	0x1.000000ffffffffffffffffffff8p-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000ffffffffffffffffffffffp-120, false,
-	0x1.000001p-120, false,
-	0x1.000000ffffffffffffffffffffffp-120, false,
-	0x1.000001p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	false,
+	0x1.000000fffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000ffffffffffffffffffff8p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000ffffffffffffffffffff8p-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000ffffffffffffffffffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000ffffffffffffffffffffffp-120, false, false,
+	0x1.000001p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"5788244372130524340036572539247572422027587890625e-37",
 	false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062501e-37",
 	false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000001p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001000000000000000000008p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000000000000000001p-120, false),
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000001p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001000000000000000000008p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000000000000000001p-120, false, false),
   TEST ("7.5231647420936572188828392294093056435857835827090029386261"
 	"048447055721499765468252007849514484405517578125e-37",
 	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187499e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	false,
-	0x1.000002fffffffp-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffp-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002ffffffffffffffffffff8p-120, false,
-	0x1.000003p-120, false,
-	0x1.000002ffffffffffffffffffff8p-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002ffffffffffffffffffffffp-120, false,
-	0x1.000003p-120, false,
-	0x1.000002ffffffffffffffffffffffp-120, false,
-	0x1.000003p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	false,
+	0x1.000002fffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002ffffffffffffffffffff8p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002ffffffffffffffffffff8p-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002ffffffffffffffffffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002ffffffffffffffffffffffp-120, false, false,
+	0x1.000003p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"5180696742299470969328467617742717266082763671875e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187501e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000001p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000002p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000002p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003000000000000000000008p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000000000000000001p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000001p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000002p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000002p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003000000000000000000008p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000000000000000001p-120, false, false),
   TEST ("7.5231656389246743867657646205962389491321076020766457395961"
 	"98769229273839442839744151569902896881103515625e-37",
 	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false),
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false),
   TEST ("340282356779733661637539395458142568447.999",
 	false,
-	0xf.fffffp+124, false,
-	0xf.fffffp+124, false,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.fffff7ffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7ffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffffffffffffcp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffffffffffffcp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffffffffffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffffffffffffff8p+124, false,
-	0xf.fffff8p+124, false),
+	0xf.fffffp+124, false, false,
+	0xf.fffffp+124, false, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.fffff7ffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7ffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false),
   TEST ("340282356779733661637539395458142568448",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false),
   TEST ("340282356779733661637539395458142568448.001",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff80000008p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8000000001p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8000000001p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff800000000000000000004p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff80000000000000000000008p+124, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff80000008p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8000000001p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8000000001p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff800000000000000000004p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff80000000000000000000008p+124, false, false),
   TEST ("-340282356779733661637539395458142568447.999",
 	false,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7ffffff8p+124, false,
-	-0xf.fffff7ffffff8p+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffcp+124, false,
-	-0xf.fffff7fffffffffffffffffffcp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffff8p+124, false),
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7ffffff8p+124, false, false,
+	-0xf.fffff7ffffff8p+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	-0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffff8p+124, false, false),
   TEST ("-340282356779733661637539395458142568448",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false),
   TEST ("-340282356779733661637539395458142568448.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0xf.fffff80000008p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff8000000001p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff8000000001p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff800000000000000000004p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff80000000000000000000008p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0xf.fffff80000008p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff8000000001p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff8000000001p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff800000000000000000004p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff80000000000000000000008p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1855,35 +1855,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497791.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	0xf.ffffffffffff8p+1020, false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffbffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffbffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, true,
-	false,
-	0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	0xf.ffffffffffffcp+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	false,
+	0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1891,35 +1891,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1927,35 +1927,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc01p+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc01p+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffc0000000000004p+1020, true,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc000000000000008p+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc01p+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc01p+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffc0000000000004p+1020, true, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc000000000000008p+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1963,35 +1963,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497791.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffbffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	-0xf.ffffffffffffbffffffffffffff8p+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffff8p+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1999,35 +1999,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -2035,35 +2035,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0xf.ffffffffffffc01p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffc01p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffc0000000000004p+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	false,
-	-0xf.ffffffffffffc000000000000008p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0xf.ffffffffffffc01p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffc01p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffc0000000000004p+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	false,
+	-0xf.ffffffffffffc000000000000008p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2148,35 +2148,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918527.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2261,35 +2261,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	true,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	true,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2374,35 +2374,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8000000000008p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8000000000008p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2487,35 +2487,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918527.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	-0xf.fffffffffffffff7fffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff7fffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2600,35 +2600,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	true,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	true,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2713,35 +2713,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0xf.fffffffffffffff8000000000008p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0xf.fffffffffffffff8000000000008p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2826,35 +2826,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715391.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2939,35 +2939,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -3052,35 +3052,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3165,35 +3165,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715391.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3278,35 +3278,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3391,419 +3391,419 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687499e-45",
 	false,
-	0x8p-152, false,
-	0x8p-152, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	false,
-	0xb.ffffffffffff8p-152, false,
-	0xcp-152, false,
-	0xb.ffffffffffff8p-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffffffffffffcp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffffffffffffcp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffffffffffffff8p-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffffffffffffff8p-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x8p-152, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	false,
+	0xb.ffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	0xb.ffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffffffffffffcp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffffffffffffcp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	0xcp-152, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"02425834686624028790902229957282543182373046875e-45",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687501e-45",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.0000000000008p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.000000000000001p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.000000000000001p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.00000000000000000000000004p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.0000000000000000000000000008p-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.0000000000008p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.000000000000001p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.000000000000001p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.00000000000000000000000004p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.0000000000000000000000000008p-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687499e-45",
 	false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.ffffffffffff8p-152, false,
-	-0xb.ffffffffffff8p-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffffffffffffcp-152, false,
-	-0xb.fffffffffffffffffffffffffcp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffffffffffffff8p-152, false,
-	-0xb.fffffffffffffffffffffffffff8p-152, false),
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.ffffffffffff8p-152, false, false,
+	-0xb.ffffffffffff8p-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffcp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	-0xb.fffffffffffffffffffffffffff8p-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"602425834686624028790902229957282543182373046875e-45",
 	false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false),
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687501e-45",
 	false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	false,
-	-0xc.0000000000008p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.000000000000001p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.000000000000001p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.00000000000000000000000004p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.0000000000000000000000000008p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false),
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	false,
+	-0xc.0000000000008p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.000000000000001p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.000000000000001p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.00000000000000000000000004p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.0000000000000000000000000008p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812499e-45",
 	false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	false,
-	0x1.3ffffffffffffp-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffp-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3fffffffffffffffffffffffff8p-148, false,
-	0x1.4p-148, false,
-	0x1.3fffffffffffffffffffffffff8p-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3fffffffffffffffffffffffffffp-148, false,
-	0x1.4p-148, false,
-	0x1.3fffffffffffffffffffffffffffp-148, false,
-	0x1.4p-148, false),
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	false,
+	0x1.3ffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	0x1.4p-148, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"70709724477706714651503716595470905303955078125e-45",
 	false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false),
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812501e-45",
 	false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000001p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000002p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000002p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.400000000000000000000000008p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000000000000000001p-148, false),
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000001p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000002p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000002p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.400000000000000000000000008p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000000000000000001p-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812499e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffp-148, false,
-	-0x1.3ffffffffffffp-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3fffffffffffffffffffffffff8p-148, false,
-	-0x1.3fffffffffffffffffffffffff8p-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3fffffffffffffffffffffffffffp-148, false,
-	-0x1.3fffffffffffffffffffffffffffp-148, false),
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffp-148, false, false,
+	-0x1.3ffffffffffffp-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	-0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	-0x1.3fffffffffffffffffffffffffffp-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"670709724477706714651503716595470905303955078125e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false),
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812501e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	false,
-	-0x1.4000000000001p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000002p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000002p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.400000000000000000000000008p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000000000000000001p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false),
+	-0x1.8p-148, false, true,
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	false,
+	-0x1.4000000000001p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000002p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000002p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.400000000000000000000000008p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000000000000000001p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3818,35 +3818,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437499e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x5.fffffffffffffffffffffffffffcp-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffffffffffffffffcp-1076, false,
-	0x6p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	0x6p-1076, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3861,35 +3861,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"313080237596295773983001708984375e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3904,35 +3904,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437501e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000008p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000008p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000000000000000004p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000008p-1076, false, false,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000008p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000000000000000004p-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3947,35 +3947,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437499e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffffffffffffffffcp-1076, false,
-	-0x5.fffffffffffffffffffffffffffcp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	-0x5.fffffffffffffffffffffffffffcp-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3990,35 +3990,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"6313080237596295773983001708984375e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -4033,35 +4033,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437501e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6.0000000000000008p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x6.0000000000000008p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6.0000000000000000000000000004p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6.0000000000000008p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x6.0000000000000008p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6.0000000000000000000000000004p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4255,35 +4255,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4477,35 +4477,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4699,35 +4699,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0x1p-16444, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xc.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xc.000000000004p-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -4921,35 +4921,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xb.fffffffffffcp-16448, false,
-	-0xb.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5143,35 +5143,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5365,35 +5365,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x1p-16444, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xc.000000000004p-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xc.000000000004p-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5587,35 +5587,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5809,35 +5809,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -6031,35 +6031,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0x1p-16444, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xc.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xc.000000000004p-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6253,35 +6253,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xb.fffffffffffcp-16448, false,
-	-0xb.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6475,35 +6475,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6697,630 +6697,630 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x1p-16444, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xc.000000000004p-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xc.000000000004p-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true),
   TEST ("-0x0.7p-149",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false),
   TEST ("-0x0.7p-1074",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false),
   TEST ("-0x0.7p-16445",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false),
   TEST ("-0x0.7p-16494",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("0x1p-150",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false),
   TEST ("0x1p-1075",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("0x1p-16446",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false),
   TEST ("0x1p-16495",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("-0x1p-150",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("-0x1p-1075",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("-0x1p-16446",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false),
   TEST ("-0x1p-16495",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST (".70064923216240853546186479164495807e-45",
 	false,
-	0x0p+0, false,
-	0x8p-152, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000004p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.00000000000000000000000002p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000000000000000004p-152, false),
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000004p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.00000000000000000000000002p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000000000000000004p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015624e-46",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x3.ffffffffffffep-152, false,
-	0x4p-152, false,
-	0x3.ffffffffffffep-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.ffffffffffffffffffffffffffp-152, false,
-	0x4p-152, false,
-	0x3.ffffffffffffffffffffffffffp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffffffffffffffep-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffffffffffffffep-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x3.ffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	0x3.ffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.ffffffffffffffffffffffffffp-152, false, false,
+	0x4p-152, false, false,
+	0x3.ffffffffffffffffffffffffffp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffffffffffffffep-152, false, false,
+	0x4p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015625e-46",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015626e-46",
 	false,
-	0x0p+0, false,
-	0x8p-152, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000004p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.00000000000000000000000002p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000000000000000004p-152, false),
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000004p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.00000000000000000000000002p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000000000000000004p-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015624e-46",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.ffffffffffffep-152, false,
-	-0x3.ffffffffffffep-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.ffffffffffffffffffffffffffp-152, false,
-	-0x3.ffffffffffffffffffffffffffp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffffffffffffffep-152, false,
-	-0x3.fffffffffffffffffffffffffffep-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.ffffffffffffep-152, false, false,
+	-0x3.ffffffffffffep-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.ffffffffffffffffffffffffffp-152, false, false,
+	-0x3.ffffffffffffffffffffffffffp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffffffffffffffep-152, false, false,
+	-0x3.fffffffffffffffffffffffffffep-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015625e-46",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015626e-46",
 	false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4.0000000000004p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000008p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000008p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.00000000000000000000000002p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000000000000000004p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4.0000000000004p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000008p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000008p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.00000000000000000000000002p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000000000000000004p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7335,35 +7335,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328124e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.ffffffffffffffffffffffffffffp-1076, false,
-	0x2p-1076, false,
-	0x1.ffffffffffffffffffffffffffffp-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7378,35 +7378,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328125e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7421,35 +7421,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328126e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000004p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000004p-1076, false,
-	false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000000000000000002p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000004p-1076, false, false,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000004p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000000000000000002p-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7464,35 +7464,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328124e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.ffffffffffffffffffffffffffffp-1076, false,
-	-0x1.ffffffffffffffffffffffffffffp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	-0x1.ffffffffffffffffffffffffffffp-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7507,35 +7507,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328125e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7550,35 +7550,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328126e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.0000000000000004p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x2.0000000000000004p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.0000000000000000000000000002p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.0000000000000004p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x2.0000000000000004p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.0000000000000000000000000002p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7772,35 +7772,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515624e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x3.fffffffffffcp-16448, false,
-	0x4p-16448, false,
-	0x3.fffffffffffcp-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x3.fffffffffffcp-16448, false, true,
+	0x4p-16448, false, true,
+	0x3.fffffffffffcp-16448, false, true,
+	0x4p-16448, false, true),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7994,35 +7994,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515625e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -8216,35 +8216,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515626e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4.000000000004p-16448, false, true),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8438,35 +8438,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515624e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x3.fffffffffffcp-16448, false,
-	-0x3.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x3.fffffffffffcp-16448, false, true,
+	-0x3.fffffffffffcp-16448, false, true),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8660,35 +8660,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515625e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8882,35 +8882,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515626e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4.000000000004p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4.000000000004p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9104,35 +9104,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578124e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.fffffffffffcp-16448, false,
-	0x2p-16448, false,
-	0x1.fffffffffffcp-16448, false,
-	0x2p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffcp-16448, false, true,
+	0x2p-16448, false, true,
+	0x1.fffffffffffcp-16448, false, true,
+	0x2p-16448, false, true),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9326,35 +9326,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578125e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9548,35 +9548,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578126e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-16448, false, true,
+	0x2p-16448, false, true,
+	0x2p-16448, false, true,
+	0x2.000000000004p-16448, false, true),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9770,35 +9770,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578124e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x1.fffffffffffcp-16448, false,
-	-0x1.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x1.fffffffffffcp-16448, false, true,
+	-0x1.fffffffffffcp-16448, false, true),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9992,35 +9992,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578125e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -10214,35 +10214,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578126e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.000000000004p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.000000000004p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10437,35 +10437,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578124e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10660,35 +10660,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578125e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10883,35 +10883,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578126e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x4p-16496, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16496, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11106,35 +11106,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578124e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11329,35 +11329,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578125e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11552,66 +11552,66 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578126e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("340282366920938463463374607431768211455",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+124, false,
-	0x1p+128, false,
-	0xf.ffffffffffff8p+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffffffffffffcp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffffffffffffff8p+124, false,
-	0x1p+128, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	0xf.ffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffffffffffffcp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	0x1p+128, false, false),
   TEST ("179769313486231590772930519078902473361797697894230657273430"
 	"081157732675805500963132708477322407536021120113879871393357"
 	"658789768814416622492847430639474124377767893424865485276302"
@@ -11619,35 +11619,35 @@ static const struct test tests[] = {
 	"540827237163350510684586298239947245938479716304835356329624"
 	"224137215",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffffffffffffff8p+1020, false,
-	0x1p+1024, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	0x1p+1024, false, false),
   TEST ("118973149535723176508575932662800713076344468709651023747267"
 	"482123326135818048368690448859547261203991511543748483930925"
 	"889766738130868742627452469834156500608087163436600489752214"
@@ -11732,66 +11732,66 @@ static const struct test tests[] = {
 	"047398248889922809181821393428829567971736994315246044702729"
 	"0669964066815",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("-340282366920938463463374607431768211455",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.ffffffffffff8p+124, false,
-	-0xf.ffffffffffff8p+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffp+124, false,
-	-0xf.fffffffffffffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffp+124, false,
-	-0xf.fffffffffffffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffffffffffffcp+124, false,
-	-0xf.fffffffffffffffffffffffffcp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffffffffffffff8p+124, false,
-	-0xf.fffffffffffffffffffffffffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.ffffffffffff8p+124, false, false,
+	-0xf.ffffffffffff8p+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffffffffffffcp+124, false, false,
+	-0xf.fffffffffffffffffffffffffcp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+124, false, false),
   TEST ("-17976931348623159077293051907890247336179769789423065727343"
 	"008115773267580550096313270847732240753602112011387987139335"
 	"765878976881441662249284743063947412437776789342486548527630"
@@ -11799,35 +11799,35 @@ static const struct test tests[] = {
 	"054082723716335051068458629823994724593847971630483535632962"
 	"4224137215",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffp+1020, false,
-	-0xf.fffffffffffffffp+1020, false,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffp+1020, false,
-	-0xf.fffffffffffffffp+1020, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffffffffffffff8p+1020, false,
-	-0xf.fffffffffffffffffffffffffff8p+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+1020, false, false),
   TEST ("-11897314953572317650857593266280071307634446870965102374726"
 	"748212332613581804836869044885954726120399151154374848393092"
 	"588976673813086874262745246983415650060808716343660048975221"
@@ -11912,3529 +11912,3901 @@ static const struct test tests[] = {
 	"904739824888992280918182139342882956797173699431524604470272"
 	"90669964066815",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("+0x.80000000000000000000000000000001p1025",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000002p+1024, false,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000002p+1024, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000000000000000001p+1024, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000002p+1024, false, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000002p+1024, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000000000000000001p+1024, false, false),
   TEST ("1.5",
 	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false),
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false),
   TEST ("1.25",
 	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false),
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false),
   TEST ("1.125",
 	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false),
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false),
   TEST ("1.0625",
 	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false),
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false),
   TEST ("1.03125",
 	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false),
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false),
   TEST ("1.015625",
 	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false),
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false),
   TEST ("1.0078125",
 	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false),
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false),
   TEST ("1.00390625",
 	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false),
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false),
   TEST ("1.001953125",
 	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false),
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false),
   TEST ("1.0009765625",
 	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false),
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false),
   TEST ("1.00048828125",
 	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false),
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false),
   TEST ("1.000244140625",
 	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false),
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false),
   TEST ("1.0001220703125",
 	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false),
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false),
   TEST ("1.00006103515625",
 	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false),
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false),
   TEST ("1.000030517578125",
 	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false),
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false),
   TEST ("1.0000152587890625",
 	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false),
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false),
   TEST ("1.00000762939453125",
 	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false),
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false),
   TEST ("1.000003814697265625",
 	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false),
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false),
   TEST ("1.0000019073486328125",
 	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false),
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false),
   TEST ("1.00000095367431640625",
 	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false),
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false),
   TEST ("1.000000476837158203125",
 	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false),
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false),
   TEST ("1.0000000298023223876953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false),
   TEST ("1.00000001490116119384765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false),
   TEST ("1.000000007450580596923828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false),
   TEST ("1.0000000037252902984619140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false),
   TEST ("1.00000000186264514923095703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false),
   TEST ("1.000000000931322574615478515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false),
   TEST ("1.0000000004656612873077392578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false),
   TEST ("1.00000000023283064365386962890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false),
   TEST ("1.000000000116415321826934814453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false),
   TEST ("1.0000000000582076609134674072265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false),
   TEST ("1.00000000002910383045673370361328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false),
   TEST ("1.000000000014551915228366851806640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false),
   TEST ("1.0000000000072759576141834259033203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false),
   TEST ("1.00000000000363797880709171295166015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false),
   TEST ("1.000000000001818989403545856475830078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false),
   TEST ("1.0000000000009094947017729282379150390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false),
   TEST ("1.00000000000045474735088646411895751953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false),
   TEST ("1.000000000000227373675443232059478759765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false),
   TEST ("1.0000000000001136868377216160297393798828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false),
   TEST ("1.00000000000005684341886080801486968994140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false),
   TEST ("1.000000000000028421709430404007434844970703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false),
   TEST ("1.0000000000000142108547152020037174224853515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false),
   TEST ("1.00000000000000710542735760100185871124267578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false),
   TEST ("1.000000000000003552713678800500929355621337890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false),
   TEST ("1.0000000000000017763568394002504646778106689453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false),
   TEST ("1.00000000000000088817841970012523233890533447265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false),
   TEST ("1.000000000000000444089209850062616169452667236328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false),
   TEST ("1.0000000000000002220446049250313080847263336181640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false),
   TEST ("1.00000000000000011102230246251565404236316680908203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false),
   TEST ("1.000000000000000055511151231257827021181583404541015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false),
   TEST ("1.0000000000000000277555756156289135105907917022705078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false),
   TEST ("1.00000000000000001387778780781445675529539585113525390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false),
   TEST ("1.000000000000000006938893903907228377647697925567626953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false),
   TEST ("1.0000000000000000034694469519536141888238489627838134765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false),
   TEST ("1.0000000000000000017347234759768070944119244813919067382812"
 	"5",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false),
   TEST ("1.0000000000000000008673617379884035472059622406959533691406"
 	"25",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false),
   TEST ("1.0000000000000000004336808689942017736029811203479766845703"
 	"125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false),
   TEST ("1.0000000000000000002168404344971008868014905601739883422851"
 	"5625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false),
   TEST ("1.0000000000000000001084202172485504434007452800869941711425"
 	"78125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false),
   TEST ("1.0000000000000000000542101086242752217003726400434970855712"
 	"890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	true,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false),
   TEST ("1.0000000000000000000271050543121376108501863200217485427856"
 	"4453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	true,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false),
   TEST ("1.0000000000000000000135525271560688054250931600108742713928"
 	"22265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	true,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false),
   TEST ("1.0000000000000000000067762635780344027125465800054371356964"
 	"111328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	true,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false),
   TEST ("1.0000000000000000000033881317890172013562732900027185678482"
 	"0556640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	true,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false),
   TEST ("1.0000000000000000000016940658945086006781366450013592839241"
 	"02783203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	true,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000008470329472543003390683225006796419620"
 	"513916015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	true,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000004235164736271501695341612503398209810"
 	"2569580078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	true,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000002117582368135750847670806251699104905"
 	"12847900390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	true,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000001058791184067875423835403125849552452"
 	"564239501953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000529395592033937711917701562924776226"
 	"2821197509765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000264697796016968855958850781462388113"
 	"14105987548828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000132348898008484427979425390731194056"
 	"570529937744140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000066174449004242213989712695365597028"
 	"2852649688720703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000033087224502121106994856347682798514"
 	"14263248443603515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000016543612251060553497428173841399257"
 	"071316242218017578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000008271806125530276748714086920699628"
 	"5356581211090087890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000004135903062765138374357043460349814"
 	"26782906055450439453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000002067951531382569187178521730174907"
 	"133914530277252197265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	true,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000001033975765691284593589260865087453"
 	"5669572651386260986328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	true,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000516987882845642296794630432543726"
 	"78347863256931304931640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	true,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000258493941422821148397315216271863"
 	"391739316284656524658203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000129246970711410574198657608135931"
 	"6958696581423282623291015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000064623485355705287099328804067965"
 	"84793482907116413116455078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000032311742677852643549664402033982"
 	"923967414535582065582275390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000016155871338926321774832201016991"
 	"4619837072677910327911376953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000008077935669463160887416100508495"
 	"73099185363389551639556884765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000004038967834731580443708050254247"
 	"865495926816947758197784423828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000002019483917365790221854025127123"
 	"9327479634084738790988922119140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000001009741958682895110927012563561"
 	"96637398170423693954944610595703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000504870979341447555463506281780"
 	"983186990852118469774723052978515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	true,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000252435489670723777731753140890"
 	"4915934954260592348873615264892578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000126217744835361888865876570445"
 	"24579674771302961744368076324462890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	true,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000063108872417680944432938285222"
 	"622898373856514808721840381622314453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000031554436208840472216469142611"
 	"3114491869282574043609201908111572265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000015777218104420236108234571305"
 	"65572459346412870218046009540557861328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000007888609052210118054117285652"
 	"827862296732064351090230047702789306640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000003944304526105059027058642826"
 	"4139311483660321755451150238513946533203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000001972152263052529513529321413"
 	"20696557418301608777255751192569732666015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000986076131526264756764660706"
 	"603482787091508043886278755962848663330078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000493038065763132378382330353"
 	"3017413935457540219431393779814243316650390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000246519032881566189191165176"
 	"65087069677287701097156968899071216583251953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000000123259516440783094595582588"
 	"325435348386438505485784844495356082916259765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000061629758220391547297791294"
 	"1627176741932192527428924222476780414581298828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000030814879110195773648895647"
 	"08135883709660962637144621112383902072906494140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000015407439555097886824447823"
 	"540679418548304813185723105561919510364532470703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000000007703719777548943412223911"
 	"7703397092741524065928615527809597551822662353515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000003851859888774471706111955"
 	"88516985463707620329643077639047987759113311767578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000001925929944387235853055977"
 	"942584927318538101648215388195239938795566558837890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000000962964972193617926527988"
 	"9712924636592690508241076940976199693977832794189453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false),
+  TEST ("0x30000002222225p-1077",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	false,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false),
+  TEST ("0x0.7fffffffffffeap-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false),
+  TEST ("0x0.7fffffffffffe9p-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false),
+  TEST ("0x0.7ffffd4p-126",
+	false,
+	0x1.fffffp-128, false, true,
+	0x1.fffff8p-128, false, true,
+	0x1.fffffp-128, false, true,
+	0x1.fffff8p-128, false, true,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false),
+  TEST ("0x0.7ffffffffffffffd4p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffp-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffp-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	false,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false),
+  TEST ("0x0.7ffffffffffffffd4p-16383",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0x1p-16384, false, true,
+	false,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffffcp-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffffcp-16388, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false),
+  TEST ("0x0.7ffffffffffffffffffffffffffeap-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x2p-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x2p-16384, false, true,
+	false,
+	0x1.fffffffffffffffcp-16384, false, true,
+	0x2p-16384, false, true,
+	0x1.fffffffffffffffcp-16384, false, true,
+	0x2p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffffffffffffffcp-16384, false, true,
+	0x1.fffffffffffffffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffffffffffffffcp-16384, false, true),
+  TEST ("0x0.7000004p-126",
+	false,
+	0x1.cp-128, false, true,
+	0x1.cp-128, false, true,
+	0x1.cp-128, false, true,
+	0x1.c00008p-128, false, true,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false),
+  TEST ("0x0.70000000000002p-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.c000000000004p-1024, false, true,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	false,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.c000000000004p-1024, false, true,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false),
+  TEST ("0x0.70000000000000004p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000008p-16384, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000004p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false),
+  TEST ("0x0.70000000000000004p-16383",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xe.000000000000008p-16388, false, true,
+	false,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xe.000000000000004p-16388, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false),
+  TEST ("0x0.70000000000000000000000000002p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000008p-16384, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000004p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000000000000000004p-16384, false, true),
 };
diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c
index 6fba4b5228..be081ba416 100644
--- a/stdlib/tst-strtod-round-skeleton.c
+++ b/stdlib/tst-strtod-round-skeleton.c
@@ -21,6 +21,7 @@
    declared in the headers.  */
 #define _LIBC_TEST 1
 #define __STDC_WANT_IEC_60559_TYPES_EXT__
+#include <errno.h>
 #include <fenv.h>
 #include <float.h>
 #include <math.h>
@@ -29,6 +30,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <math-tests.h>
+#include <tininess.h>
 
 #include "tst-strtod.h"
 
@@ -138,16 +140,26 @@
    gen-tst-strtod-round utility to select the appropriately
    rounded long double value for a given format.  */
 #define TEST(s,							\
-	     fx, fd, fdo, fn, fno, fz, fzo, fu, fuo,		\
-	     dx, dd, ddo, dn, dno, dz, dzo, du, duo,		\
-	     ld64ix, ld64id, ld64ido, ld64in, ld64ino,		\
-	     ld64iz, ld64izo, ld64iu, ld64iuo,			\
-	     ld64mx, ld64md, ld64mdo, ld64mn, ld64mno,		\
-	     ld64mz, ld64mzo, ld64mu, ld64muo,			\
-	     ld106x, ld106d, ld106do, ld106n, ld106no,		\
-	     ld106z, ld106zo, ld106u, ld106uo,			\
-	     ld113x, ld113d, ld113do, ld113n, ld113no,		\
-	     ld113z, ld113zo, ld113u, ld113uo)			\
+	     fx, fd, fdo, fdu, fn, fno, fnu,			\
+	     fz, fzo, fzu, fu, fuo, fuu,			\
+	     dx, dd, ddo, ddu, dn, dno, dnu,			\
+	     dz, dzo, dzu, du, duo, duu,			\
+	     ld64ix, ld64id, ld64ido, ld64idu,			\
+	     ld64in, ld64ino, ld64inu,				\
+	     ld64iz, ld64izo, ld64izu,				\
+	     ld64iu, ld64iuo, ld64iuu,				\
+	     ld64mx, ld64md, ld64mdo, ld64mdu,			\
+	     ld64mn, ld64mno, ld64mnu,				\
+	     ld64mz, ld64mzo, ld64mzu,				\
+	     ld64mu, ld64muo, ld64muu,				\
+	     ld106x, ld106d, ld106do, ld106du,			\
+	     ld106n, ld106no, ld106nu,				\
+	     ld106z, ld106zo, ld106zu,				\
+	     ld106u, ld106uo, ld106uu,				\
+	     ld113x, ld113d, ld113do, ld113du,			\
+	     ld113n, ld113no, ld113nu,				\
+	     ld113z, ld113zo, ld113zu,				\
+	     ld113u, ld113uo, ld113uu)				\
   {								\
     L_ (s),							\
     { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) },		\
@@ -162,6 +174,12 @@
     { XNTRY (fdo, ddo, ld64ido, ld64mdo, ld106do, ld113do) },	\
     { XNTRY (fzo, dzo, ld64izo, ld64mzo, ld106zo, ld113zo) },	\
     { XNTRY (fuo, duo, ld64iuo, ld64muo, ld106uo, ld113uo) }	\
+    },								\
+    {								\
+    { XNTRY (fnu, dnu, ld64inu, ld64mnu, ld106nu, ld113nu) },	\
+    { XNTRY (fdu, ddu, ld64idu, ld64mdu, ld106du, ld113du) },	\
+    { XNTRY (fzu, dzu, ld64izu, ld64mzu, ld106zu, ld113zu) },	\
+    { XNTRY (fuu, duu, ld64iuu, ld64muu, ld106uu, ld113uu) }	\
     }								\
   }
 
@@ -180,11 +198,17 @@ struct test_overflow
   STRUCT_FOREACH_FLOAT_BOOL
   };
 
+struct test_underflow
+  {
+  STRUCT_FOREACH_FLOAT_BOOL
+  };
+
 struct test {
   const CHAR *s;
   struct test_exactness exact;
   struct test_results r[4];
   struct test_overflow o[4];
+  struct test_underflow u[4];
 };
 
 /* Include the generated test data.  */
@@ -202,10 +226,16 @@ struct test {
 # define FE_OVERFLOW 0
 #endif
 
+#ifndef FE_UNDERFLOW
+# define FE_UNDERFLOW 0
+#endif
+
 #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF)		\
 {								\
   feclearexcept (FE_ALL_EXCEPT);				\
+  errno = 12345;						\
   FTYPE f = STRTO (FSUF) (s, NULL);				\
+  int new_errno = errno;					\
   if (f != expected->FSUF					\
       || (copysign ## CSUF) (1.0 ## LSUF, f)			\
 	 != (copysign ## CSUF) (1.0 ## LSUF, expected->FSUF))	\
@@ -254,6 +284,48 @@ struct test {
 		printf ("ignoring this exception error\n");	\
 	    }							\
 	}							\
+      if (overflow->FSUF && new_errno != ERANGE)		\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") left errno == %d,"		\
+		  " not %d (ERANGE)\n",				\
+		  s, new_errno, ERANGE);			\
+	  result = 1;						\
+	}							\
+      if (FE_UNDERFLOW != 0)					\
+	{							\
+	  bool underflow_raised					\
+	    = fetestexcept (FE_UNDERFLOW) != 0;			\
+	  if (underflow_raised != underflow->FSUF)		\
+	    {							\
+	      printf (FNPFXS "to" #FSUF				\
+		      " (" STRM ") underflow %d "		\
+		      "not %d\n", s, underflow_raised,		\
+		      underflow->FSUF);				\
+	      if (EXCEPTION_TESTS (FTYPE))			\
+		result = 1;					\
+	      else						\
+		printf ("ignoring this exception error\n");	\
+	    }							\
+	}							\
+      if (underflow->FSUF && new_errno != ERANGE)		\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") left errno == %d,"		\
+		  " not %d (ERANGE)\n",				\
+		  s, new_errno, ERANGE);			\
+	  result = 1;						\
+	}							\
+      if (!overflow->FSUF					\
+	  && !underflow->FSUF					\
+	  && new_errno != 12345)				\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") set errno == %d,"		\
+		  " should be unchanged\n",			\
+		  s, new_errno);				\
+	  result = 1;						\
+	}							\
     }								\
 }
 
@@ -261,6 +333,7 @@ static int
 test_in_one_mode (const CHAR *s, const struct test_results *expected,
 		    const struct test_exactness *exact,
 		    const struct test_overflow *overflow,
+		    const struct test_underflow *underflow,
 		    const char *mode_name, int rnd_mode)
 {
   int result = 0;
@@ -296,6 +369,7 @@ do_test (void)
     {
       result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i],
 				  &tests[i].exact, &tests[i].o[modes[0].rnd_i],
+				  &tests[i].u[modes[0].rnd_i],
 				  modes[0].mode_name, modes[0].rnd_mode);
       for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++)
 	{
@@ -303,7 +377,9 @@ do_test (void)
 	    {
 	      result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i],
 					  &tests[i].exact,
-					  &tests[i].o[m->rnd_i], m->mode_name,
+					  &tests[i].o[m->rnd_i],
+					  &tests[i].u[m->rnd_i],
+					  m->mode_name,
 					  m->rnd_mode);
 	      fesetround (save_round_mode);
 	    }
diff --git a/stdlib/tst-strtod-underflow.c b/stdlib/tst-strtod-underflow.c
index a5ced18599..8598b95b6d 100644
--- a/stdlib/tst-strtod-underflow.c
+++ b/stdlib/tst-strtod-underflow.c
@@ -17,6 +17,10 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+/* Defining _LIBC_TEST ensures long double math functions are
+   declared in the headers.  */
+#define _LIBC_TEST 1
+#define __STDC_WANT_IEC_60559_TYPES_EXT__
 #include <errno.h>
 #include <fenv.h>
 #include <float.h>
@@ -25,6 +29,60 @@
 #include <stdlib.h>
 #include <tininess.h>
 
+#include "tst-strtod.h"
+
+/* Logic for selecting between tests for different formats is as in
+   tst-strtod-skeleton.c, but here it is selecting string inputs with
+   different underflow properties, rather than generated test
+   data.  */
+
+#define _CONCAT(a, b) a ## b
+#define CONCAT(a, b) _CONCAT (a, b)
+
+#define MEMBER(FSUF, FTYPE, FTOSTR, LSUF, CSUF)	\
+  const char *s_ ## FSUF;
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+# define CHOOSE_ld(f,d,...) d
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16381
+# define CHOOSE_ld(f,d,ld64i,...) ld64i
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16382
+# define CHOOSE_ld(f,d,ld64i,ld64m,...) ld64m
+#elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024
+# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,...) ld106
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
+# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,ld113,...) ld113
+#else
+# error "unknown long double format"
+#endif
+
+#define CHOOSE_f(f,...) f
+#define CHOOSE_f32(f,...) f
+#define CHOOSE_d(f,d,...) d
+#define CHOOSE_f64(f,d,...) d
+#define CHOOSE_f32x(f,d,...) d
+#define CHOOSE_f128(f,d,ld64i,ld64m,ld106,ld113,...) ld113
+
+#if __HAVE_FLOAT64X
+# if FLT64X_MANT_DIG == 113 && FLT64X_MAX_EXP == 16384
+#  define CHOOSE_f64x(f,d,ld64i,ld64m,ld106,ld113,...) ld113
+# elif (FLT64X_MANT_DIG == 64			\
+	&& FLT64X_MAX_EXP == 16384		\
+	&& FLT64X_MIN_EXP == -16381)
+#  define CHOOSE_f64x(f,d,ld64i,...) ld64i
+# else
+#  error "unknown _Float64x format"
+# endif
+#endif
+
+#define _XNTRY(FSUF, FTYPE, FTOSTR, LSUF, CSUF, ...)	\
+  CHOOSE_ ## FSUF (__VA_ARGS__),
+#define XNTRY(...) \
+  GEN_TEST_STRTOD_FOREACH (_XNTRY, __VA_ARGS__)
+
+#define TEST(f, d, ld64i, ld64m, ld106, ld113, u) \
+  { XNTRY(f, d, ld64i, ld64m, ld106, ld113) u }
+
 enum underflow_case
   {
     /* Result is exact or outside the subnormal range.  */
@@ -55,38 +113,194 @@ enum underflow_case
 
 struct test
 {
-  const char *s;
+  GEN_TEST_STRTOD_FOREACH (MEMBER)
   enum underflow_case c;
 };
 
 static const struct test tests[] =
   {
-    { "0x1p-1022", UNDERFLOW_NONE },
-    { "-0x1p-1022", UNDERFLOW_NONE },
-    { "0x0p-10000000000000000000000000", UNDERFLOW_NONE },
-    { "-0x0p-10000000000000000000000000", UNDERFLOW_NONE },
-    { "0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS },
-    { "-0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS },
-    { "0x1.000000000000000000001p-1022", UNDERFLOW_NONE },
-    { "-0x1.000000000000000000001p-1022", UNDERFLOW_NONE },
-    { "0x1p-1075", UNDERFLOW_ALWAYS },
-    { "-0x1p-1075", UNDERFLOW_ALWAYS },
-    { "0x1p-1023", UNDERFLOW_NONE },
-    { "-0x1p-1023", UNDERFLOW_NONE },
-    { "0x1p-1074", UNDERFLOW_NONE },
-    { "-0x1p-1074", UNDERFLOW_NONE },
-    { "0x1.ffffffffffffep-1023", UNDERFLOW_NONE },
-    { "-0x1.ffffffffffffep-1023", UNDERFLOW_NONE },
-    { "0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS },
-    { "-0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS },
-    { "0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_UPWARD },
-    { "-0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_DOWNWARD },
-    { "0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_UPWARD },
-    { "-0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_DOWNWARD },
-    { "0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO },
-    { "-0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_UPWARD_ZERO },
-    { "0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO },
-    { "-0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_UPWARD_ZERO },
+    TEST ("0x1p-126",
+	  "0x1p-1022",
+	  "0x1p-16382",
+	  "0x1p-16383",
+	  "0x1p-969",
+	  "0x1p-16382",
+	  UNDERFLOW_NONE),
+    TEST ("-0x1p-126",
+	  "-0x1p-1022",
+	  "-0x1p-16382",
+	  "-0x1p-16383",
+	  "-0x1p-969",
+	  "-0x1p-16382",
+	  UNDERFLOW_NONE),
+    TEST ("0x0p-10000000000000000000000000",
+	  "0x0p-10000000000000000000000000",
+	  "0x0p-10000000000000000000000000",
+	  "0x0p-10000000000000000000000000",
+	  "0x0p-10000000000000000000000000",
+	  "0x0p-10000000000000000000000000",
+	  UNDERFLOW_NONE),
+    TEST ("-0x0p-10000000000000000000000000",
+	  "-0x0p-10000000000000000000000000",
+	  "-0x0p-10000000000000000000000000",
+	  "-0x0p-10000000000000000000000000",
+	  "-0x0p-10000000000000000000000000",
+	  "-0x0p-10000000000000000000000000",
+	  UNDERFLOW_NONE),
+    TEST ("0x1p-10000000000000000000000000",
+	  "0x1p-10000000000000000000000000",
+	  "0x1p-10000000000000000000000000",
+	  "0x1p-10000000000000000000000000",
+	  "0x1p-10000000000000000000000000",
+	  "0x1p-10000000000000000000000000",
+	  UNDERFLOW_ALWAYS),
+    TEST ("-0x1p-10000000000000000000000000",
+	  "-0x1p-10000000000000000000000000",
+	  "-0x1p-10000000000000000000000000",
+	  "-0x1p-10000000000000000000000000",
+	  "-0x1p-10000000000000000000000000",
+	  "-0x1p-10000000000000000000000000",
+	  UNDERFLOW_ALWAYS),
+    TEST ("0x1.000000000000000000001p-126",
+	  "0x1.000000000000000000001p-1022",
+	  "0x1.000000000000000000001p-16382",
+	  "0x1.000000000000000000001p-16383",
+	  "0x1.000000000000000000001p-969",
+	  "0x1.00000000000000000000000000000000000000001p-16382",
+	  UNDERFLOW_NONE),
+    TEST ("-0x1.000000000000000000001p-126",
+	  "-0x1.000000000000000000001p-1022",
+	  "-0x1.000000000000000000001p-16382",
+	  "-0x1.000000000000000000001p-16383",
+	  "-0x1.000000000000000000001p-969",
+	  "-0x1.00000000000000000000000000000000000000001p-16382",
+	  UNDERFLOW_NONE),
+    TEST ("0x1p-150",
+	  "0x1p-1075",
+	  "0x1p-16446",
+	  "0x1p-16447",
+	  "0x1p-1075",
+	  "0x1p-16495",
+	  UNDERFLOW_ALWAYS),
+    TEST ("-0x1p-150",
+	  "-0x1p-1075",
+	  "-0x1p-16446",
+	  "-0x1p-16447",
+	  "-0x1p-1075",
+	  "-0x1p-16495",
+	  UNDERFLOW_ALWAYS),
+    TEST ("0x1p-127",
+	  "0x1p-1023",
+	  "0x1p-16383",
+	  "0x1p-16384",
+	  "0x1p-970",
+	  "0x1p-16383",
+	  UNDERFLOW_NONE),
+    TEST ("-0x1p-127",
+	  "-0x1p-1023",
+	  "-0x1p-16383",
+	  "-0x1p-16384",
+	  "-0x1p-970",
+	  "-0x1p-16383",
+	  UNDERFLOW_NONE),
+    TEST ("0x1p-149",
+	  "0x1p-1074",
+	  "0x1p-16445",
+	  "0x1p-16446",
+	  "0x1p-1074",
+	  "0x1p-16494",
+	  UNDERFLOW_NONE),
+    TEST ("-0x1p-149",
+	  "-0x1p-1074",
+	  "-0x1p-16445",
+	  "-0x1p-16446",
+	  "-0x1p-1074",
+	  "-0x1p-16494",
+	  UNDERFLOW_NONE),
+    TEST ("0x1.fffffcp-127",
+	  "0x1.ffffffffffffep-1023",
+	  "0x1.fffffffffffffffcp-16383",
+	  "0x1.fffffffffffffffcp-16384",
+	  "0x1.ffffffffffffffffffffffffffp-970",
+	  "0x1.fffffffffffffffffffffffffffep-16383",
+	  UNDERFLOW_NONE),
+    TEST ("-0x1.fffffcp-127",
+	  "-0x1.ffffffffffffep-1023",
+	  "-0x1.fffffffffffffffcp-16383",
+	  "-0x1.fffffffffffffffcp-16384",
+	  "-0x1.ffffffffffffffffffffffffffp-970",
+	  "-0x1.fffffffffffffffffffffffffffep-16383",
+	  UNDERFLOW_NONE),
+    TEST ("0x1.fffffep-127",
+	  "0x1.fffffffffffffp-1023",
+	  "0x1.fffffffffffffffep-16383",
+	  "0x1.fffffffffffffffep-16384",
+	  "0x1.ffffffffffffffffffffffffff8p-970",
+	  "0x1.ffffffffffffffffffffffffffffp-16383",
+	  UNDERFLOW_ALWAYS),
+    TEST ("-0x1.fffffep-127",
+	  "-0x1.fffffffffffffp-1023",
+	  "-0x1.fffffffffffffffep-16383",
+	  "-0x1.fffffffffffffffep-16384",
+	  "-0x1.ffffffffffffffffffffffffff8p-970",
+	  "-0x1.ffffffffffffffffffffffffffffp-16383",
+	  UNDERFLOW_ALWAYS),
+    TEST ("0x1.fffffe0001p-127",
+	  "0x1.fffffffffffff0001p-1023",
+	  "0x1.fffffffffffffffe0001p-16383",
+	  "0x1.fffffffffffffffe0001p-16384",
+	  "0x1.ffffffffffffffffffffffffff80001p-970",
+	  "0x1.ffffffffffffffffffffffffffff0001p-16383",
+	  UNDERFLOW_EXCEPT_UPWARD),
+    TEST ("-0x1.fffffe0001p-127",
+	  "-0x1.fffffffffffff0001p-1023",
+	  "-0x1.fffffffffffffffe0001p-16383",
+	  "-0x1.fffffffffffffffe0001p-16384",
+	  "-0x1.ffffffffffffffffffffffffff80001p-970",
+	  "-0x1.ffffffffffffffffffffffffffff0001p-16383",
+	  UNDERFLOW_EXCEPT_DOWNWARD),
+    TEST ("0x1.fffffeffffp-127",
+	  "0x1.fffffffffffff7fffp-1023",
+	  "0x1.fffffffffffffffeffffp-16383",
+	  "0x1.fffffffffffffffeffffp-16384",
+	  "0x1.ffffffffffffffffffffffffffbffffp-970",
+	  "0x1.ffffffffffffffffffffffffffff7fffp-16383",
+	  UNDERFLOW_EXCEPT_UPWARD),
+    TEST ("-0x1.fffffeffffp-127",
+	  "-0x1.fffffffffffff7fffp-1023",
+	  "-0x1.fffffffffffffffeffffp-16383",
+	  "-0x1.fffffffffffffffeffffp-16384",
+	  "-0x1.ffffffffffffffffffffffffffbffffp-970",
+	  "-0x1.ffffffffffffffffffffffffffff7fffp-16383",
+	  UNDERFLOW_EXCEPT_DOWNWARD),
+    TEST ("0x1.ffffffp-127",
+	  "0x1.fffffffffffff8p-1023",
+	  "0x1.ffffffffffffffffp-16383",
+	  "0x1.ffffffffffffffffp-16384",
+	  "0x1.ffffffffffffffffffffffffffcp-970",
+	  "0x1.ffffffffffffffffffffffffffff8p-16383",
+	  UNDERFLOW_ONLY_DOWNWARD_ZERO),
+    TEST ("-0x1.ffffffp-127",
+	  "-0x1.fffffffffffff8p-1023",
+	  "-0x1.ffffffffffffffffp-16383",
+	  "-0x1.ffffffffffffffffp-16384",
+	  "-0x1.ffffffffffffffffffffffffffcp-970",
+	  "-0x1.ffffffffffffffffffffffffffff8p-16383",
+	  UNDERFLOW_ONLY_UPWARD_ZERO),
+    TEST ("0x1.ffffffffffp-127",
+	  "0x1.fffffffffffffffffp-1023",
+	  "0x1.ffffffffffffffffffffp-16383",
+	  "0x1.ffffffffffffffffffffp-16384",
+	  "0x1.ffffffffffffffffffffffffffffffp-970",
+	  "0x1.ffffffffffffffffffffffffffffffffp-16383",
+	  UNDERFLOW_ONLY_DOWNWARD_ZERO),
+    TEST ("-0x1.ffffffffffp-127",
+	  "-0x1.fffffffffffffffffp-1023",
+	  "-0x1.ffffffffffffffffffffp-16383",
+	  "-0x1.ffffffffffffffffffffp-16384",
+	  "-0x1.ffffffffffffffffffffffffffffffp-970",
+	  "-0x1.ffffffffffffffffffffffffffffffffp-16383",
+	  UNDERFLOW_ONLY_UPWARD_ZERO),
   };
 
 /* Return whether to expect underflow from a particular testcase, in a
@@ -133,39 +347,62 @@ static bool support_underflow_exception = false;
 volatile double d = DBL_MIN;
 volatile double dd;
 
-static int
-test_in_one_mode (const char *s, enum underflow_case c, int rm,
-		  const char *mode_name)
+static bool
+test_got_fe_underflow (void)
 {
-  int result = 0;
-  feclearexcept (FE_ALL_EXCEPT);
-  errno = 0;
-  double d = strtod (s, NULL);
-  int got_errno = errno;
 #ifdef FE_UNDERFLOW
-  bool got_fe_underflow = fetestexcept (FE_UNDERFLOW) != 0;
+  return fetestexcept (FE_UNDERFLOW) != 0;
 #else
-  bool got_fe_underflow = false;
+  return false;
 #endif
-  printf ("strtod (%s) (%s) returned %a, errno = %d, %sunderflow exception\n",
-	  s, mode_name, d, got_errno, got_fe_underflow ? "" : "no ");
-  bool this_expect_underflow = expect_underflow (c, rm);
-  if (got_errno != 0 && got_errno != ERANGE)
-    {
-      puts ("FAIL: errno neither 0 nor ERANGE");
-      result = 1;
-    }
-  else if (this_expect_underflow != (errno == ERANGE))
-    {
-      puts ("FAIL: underflow from errno differs from expectations");
-      result = 1;
-    }
-  if (support_underflow_exception && got_fe_underflow != this_expect_underflow)
-    {
-      puts ("FAIL: underflow from exceptions differs from expectations");
-      result = 1;
-    }
-  return result;
+}
+
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static int								\
+test_strto ## FSUF (int i, int rm, const char *mode_name)		\
+{									\
+  const char *s = tests[i].s_ ## FSUF;					\
+  enum underflow_case c = tests[i].c;					\
+  int result = 0;							\
+  feclearexcept (FE_ALL_EXCEPT);					\
+  errno = 0;								\
+  FTYPE d = strto ## FSUF (s, NULL);					\
+  int got_errno = errno;						\
+  bool got_fe_underflow = test_got_fe_underflow ();			\
+  char buf[FSTRLENMAX];							\
+  FTOSTR (buf, sizeof (buf), "%a", d);					\
+  printf ("strto" #FSUF							\
+	  " (%s) (%s) returned %s, errno = %d, "			\
+	  "%sunderflow exception\n",					\
+	  s, mode_name, buf, got_errno,					\
+	  got_fe_underflow ? "" : "no ");				\
+  bool this_expect_underflow = expect_underflow (c, rm);		\
+  if (got_errno != 0 && got_errno != ERANGE)				\
+    {									\
+      puts ("FAIL: errno neither 0 nor ERANGE");			\
+      result = 1;							\
+    }									\
+  else if (this_expect_underflow != (errno == ERANGE))			\
+    {									\
+      puts ("FAIL: underflow from errno differs from expectations");	\
+      result = 1;							\
+    }									\
+  if (support_underflow_exception					\
+      && got_fe_underflow != this_expect_underflow)			\
+    {									\
+      puts ("FAIL: underflow from exceptions "				\
+	    "differs from expectations");				\
+      result = 1;							\
+    }									\
+  return result;							\
+}
+
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
+
+static int
+test_in_one_mode (size_t i, int rm, const char *mode_name)
+{
+  return STRTOD_TEST_FOREACH (test_strto, i, rm, mode_name);
 }
 
 static int
@@ -191,12 +428,12 @@ do_test (void)
 #endif
   for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
     {
-      result |= test_in_one_mode (tests[i].s, tests[i].c, fe_tonearest,
+      result |= test_in_one_mode (i, fe_tonearest,
 				  "default rounding mode");
 #ifdef FE_DOWNWARD
       if (!fesetround (FE_DOWNWARD))
 	{
-	  result |= test_in_one_mode (tests[i].s, tests[i].c, FE_DOWNWARD,
+	  result |= test_in_one_mode (i, FE_DOWNWARD,
 				      "FE_DOWNWARD");
 	  fesetround (save_round_mode);
 	}
@@ -204,7 +441,7 @@ do_test (void)
 #ifdef FE_TOWARDZERO
       if (!fesetround (FE_TOWARDZERO))
 	{
-	  result |= test_in_one_mode (tests[i].s, tests[i].c, FE_TOWARDZERO,
+	  result |= test_in_one_mode (i, FE_TOWARDZERO,
 				      "FE_TOWARDZERO");
 	  fesetround (save_round_mode);
 	}
@@ -212,7 +449,7 @@ do_test (void)
 #ifdef FE_UPWARD
       if (!fesetround (FE_UPWARD))
 	{
-	  result |= test_in_one_mode (tests[i].s, tests[i].c, FE_UPWARD,
+	  result |= test_in_one_mode (i, FE_UPWARD,
 				      "FE_UPWARD");
 	  fesetround (save_round_mode);
 	}
diff --git a/stdlib/tst-strtod1i.c b/stdlib/tst-strtod1i.c
index 9d6bb760fb..44ae0264f4 100644
--- a/stdlib/tst-strtod1i.c
+++ b/stdlib/tst-strtod1i.c
@@ -25,60 +25,91 @@
 #include <string.h>
 #include <math.h>
 
-/* Perform a few tests in a locale with thousands separators.  */
-static int
-do_test (void)
-{
-  static const struct
-  {
-    const char *loc;
-    const char *str;
-    double exp;
-    ptrdiff_t nread;
-  } tests[] =
-    {
-      { "de_DE.UTF-8", "1,5", 1.5, 3 },
-      { "de_DE.UTF-8", "1.5", 1.0, 1 },
-      { "de_DE.UTF-8", "1.500", 1500.0, 5 },
-      { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65, 26 }
-    };
-#define ntests (sizeof (tests) / sizeof (tests[0]))
-  size_t n;
-  int result = 0;
-
-  puts ("\nLocale tests");
+#include "tst-strtod.h"
 
-  for (n = 0; n < ntests; ++n)
-    {
-      double d;
-      char *endp;
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
 
-      if (setlocale (LC_ALL, tests[n].loc) == NULL)
-	{
-	  printf ("cannot set locale %s\n", tests[n].loc);
-	  result = 1;
-	  continue;
-	}
+#define ntests (sizeof (tests) / sizeof (tests[0]))
 
-      d = __strtod_internal (tests[n].str, &endp, 1);
-      if (d != tests[n].exp)
-	{
-	  printf ("strtod(\"%s\") returns %g and not %g\n",
-		  tests[n].str, d, tests[n].exp);
-	  result = 1;
-	}
-      else if (endp - tests[n].str != tests[n].nread)
-	{
-	  printf ("strtod(\"%s\") read %td bytes and not %td\n",
-		  tests[n].str, endp - tests[n].str, tests[n].nread);
-	  result = 1;
-	}
-    }
+/* Perform a few tests in a locale with thousands separators.  */
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  static const struct							\
+  {									\
+    const char *loc;							\
+    const char *str;							\
+    FTYPE exp;								\
+    ptrdiff_t nread;							\
+  } tests[] =								\
+    {									\
+      { "de_DE.UTF-8", "1,5", 1.5 ## LSUF, 3 },				\
+      { "de_DE.UTF-8", "1.5", 1.0 ## LSUF, 1 },				\
+      { "de_DE.UTF-8", "1.500", 1500.0 ## LSUF, 5 },			\
+      { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65 ## LSUF, 26 } \
+    };									\
+  size_t n;								\
+  int result = 0;							\
+									\
+  puts ("\nLocale tests");						\
+									\
+  for (n = 0; n < ntests; ++n)						\
+    {									\
+      FTYPE d;								\
+      char *endp;							\
+									\
+      if (setlocale (LC_ALL, tests[n].loc) == NULL)			\
+	{								\
+	  printf ("cannot set locale %s\n", tests[n].loc);		\
+	  result = 1;							\
+	  continue;							\
+	}								\
+									\
+      d = __strto ## FSUF ## _internal (tests[n].str, &endp, 1);	\
+      if (d != tests[n].exp)						\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", d);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g", tests[n].exp);		\
+	  printf ("strto" # FSUF "(\"%s\") returns %s and not %s\n",	\
+		  tests[n].str, buf1, buf2);				\
+	  result = 1;							\
+	}								\
+      else if (endp - tests[n].str != tests[n].nread)			\
+	{								\
+	  printf ("strto" # FSUF "(\"%s\") read %td bytes and not %td\n", \
+		  tests[n].str, endp - tests[n].str, tests[n].nread);	\
+	  result = 1;							\
+	}								\
+    }									\
+									\
+  if (result == 0)							\
+    puts ("all OK");							\
+									\
+  return result ? EXIT_FAILURE : EXIT_SUCCESS;				\
+}
 
-  if (result == 0)
-    puts ("all OK");
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
-  return result ? EXIT_FAILURE : EXIT_SUCCESS;
+static int
+do_test (void)
+{
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #include <support/test-driver.c>
diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c
index a7df82ebbd..d00bc13323 100644
--- a/stdlib/tst-strtod2.c
+++ b/stdlib/tst-strtod2.c
@@ -1,43 +1,112 @@
+#include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 
-struct test
-{
-  const char *str;
-  double result;
-  size_t offset;
-} tests[] =
-{
-  { "0xy", 0.0, 1 },
-  { "0x.y", 0.0, 1 },
-  { "0x0.y", 0.0, 4 },
-  { "0x.0y", 0.0, 4 },
-  { ".y", 0.0, 0 },
-  { "0.y", 0.0, 2 },
-  { ".0y", 0.0, 2 }
-};
+#include "tst-strtod.h"
+
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+struct test_strto ## FSUF						\
+{									\
+  const char *str;							\
+  FTYPE result;								\
+  size_t offset;							\
+} tests_strto ## FSUF[] =						\
+{									\
+  { "0xy", 0.0 ## LSUF, 1 },						\
+  { "0x.y", 0.0 ## LSUF, 1 },						\
+  { "0x0.y", 0.0 ## LSUF, 4 },						\
+  { "0x.0y", 0.0 ## LSUF, 4 },						\
+  { ".y", 0.0 ## LSUF, 0 },						\
+  { "0.y", 0.0 ## LSUF, 2 },						\
+  { ".0y", 0.0 ## LSUF, 2 },						\
+  { "1.0e", 1.0 ## LSUF, 3 },						\
+  { "1.0e+", 1.0 ## LSUF, 3 },						\
+  { "1.0e-", 1.0 ## LSUF, 3 },						\
+  { "1.0ex", 1.0 ## LSUF, 3 },						\
+  { "1.0e+x", 1.0 ## LSUF, 3 },						\
+  { "1.0e-x", 1.0 ## LSUF, 3 },						\
+  { "0x1p", 1.0 ## LSUF, 3 },						\
+  { "0x1p+", 1.0 ## LSUF, 3 },						\
+  { "0x1p-", 1.0 ## LSUF, 3 },						\
+  { "0x1px", 1.0 ## LSUF, 3 },						\
+  { "0x1p+x", 1.0 ## LSUF, 3 },						\
+  { "0x1p-x", 1.0 ## LSUF, 3 },						\
+  { "", 0.0 ## LSUF, 0 },						\
+  { ".", 0.0 ## LSUF, 0 },						\
+  { "-", 0.0 ## LSUF, 0 },						\
+  { "-.", 0.0 ## LSUF, 0 },						\
+  { ".e", 0.0 ## LSUF, 0 },						\
+  { "-.e", 0.0 ## LSUF, 0 },						\
+  { " \t", 0.0 ## LSUF, 0 },						\
+  { " \t.", 0.0 ## LSUF, 0 },						\
+  { " \t-", 0.0 ## LSUF, 0 },						\
+  { " \t-.", 0.0 ## LSUF, 0 },						\
+  { " \t.e", 0.0 ## LSUF, 0 },						\
+  { " \t-.e", 0.0 ## LSUF, 0 },						\
+  { " \t\f\r\n\v1", 1.0 ## LSUF, 7 },					\
+  { " \t\f\r\n\v-1.5e2", -150.0 ## LSUF, 12 },				\
+  { "INFx", INFINITY, 3 },						\
+  { "infx", INFINITY, 3 },						\
+  { "INFINITx", INFINITY, 3 },						\
+  { "infinitx", INFINITY, 3 },						\
+  { "INFINITYY", INFINITY, 8 },						\
+  { "infinityy", INFINITY, 8 },						\
+  { "NANx", NAN, 3 },							\
+  { "nanx", NAN, 3 },							\
+  { "NAN(", NAN, 3 },							\
+  { "nan(", NAN, 3 },							\
+  { "NAN(x", NAN, 3 },							\
+  { "nan(x", NAN, 3 },							\
+  { "NAN(x)y", NAN, 6 },						\
+  { "nan(x)y", NAN, 6 },						\
+  { "NAN(*)y", NAN, 3 },						\
+  { "nan(*)y", NAN, 3 }							\
+};									\
+									\
+static int								\
+compare_strto ## FSUF (FTYPE x, FTYPE y)				\
+{									\
+  if (isnan (x) && isnan (y))						\
+    return 1;								\
+  return x == y;							\
+}									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+  for (size_t i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].str, &ep);	\
+      if (!compare_strto ## FSUF (r, tests_strto ## FSUF[i].result))	\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g", tests_strto ## FSUF[i].result); \
+	  printf ("test %zu r = %s, expect %s\n", i, buf1, buf2);	\
+	  status = 1;							\
+	}								\
+      if (ep != tests_strto ## FSUF[i].str + tests_strto ## FSUF[i].offset) \
+	{								\
+	  printf ("test %zu strto" #FSUF				\
+		  " parsed %tu characters, expected %zu\n",		\
+		  i, ep - tests_strto ## FSUF[i].str,			\
+		  tests_strto ## FSUF[i].offset);			\
+	  status = 1;							\
+	}								\
+    }									\
+  return status;							\
+}
+
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
 {
-  int status = 0;
-  for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i)
-    {
-      char *ep;
-      double r = strtod (tests[i].str, &ep);
-      if (r != tests[i].result)
-	{
-	  printf ("test %zu r = %g, expect %g\n", i, r, tests[i].result);
-	  status = 1;
-	}
-      if (ep != tests[i].str + tests[i].offset)
-	{
-	  printf ("test %zu strtod parsed %tu characters, expected %zu\n",
-		  i, ep - tests[i].str, tests[i].offset);
-	  status = 1;
-	}
-    }
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #define TEST_FUNCTION do_test ()
diff --git a/stdlib/tst-strtod3.c b/stdlib/tst-strtod3.c
index 23abec1896..0d662d8be8 100644
--- a/stdlib/tst-strtod3.c
+++ b/stdlib/tst-strtod3.c
@@ -3,19 +3,73 @@
 #include <stdlib.h>
 #include <string.h>
 
-static const struct
-{
-  const char *in;
-  const char *out;
-  double expected;
-} tests[] =
-  {
-    { "000,,,e1", ",,,e1", 0.0 },
-    { "000e1", "", 0.0 },
-    { "000,1e1", ",1e1", 0.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
 
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  const char *out;							\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "000,,,e1", ",,,e1", 0.0 ## LSUF },				\
+    { "000e1", "", 0.0 ## LSUF },					\
+    { "000,1e1", ",1e1", 0.0 ## LSUF }					\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep, 1);			\
+									\
+      if (strcmp (ep, tests_strto ## FSUF[i].out) != 0)			\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",	\
+		  i, ep, tests_strto ## FSUF[i].out);			\
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected)				\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
+
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -26,29 +80,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, 1);
-
-      if (strcmp (ep, tests[i].out) != 0)
-	{
-	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",
-		  i, ep, tests[i].out);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected)
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #define TEST_FUNCTION do_test ()
diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c
index 6cc4e843c7..dfd3f05027 100644
--- a/stdlib/tst-strtod4.c
+++ b/stdlib/tst-strtod4.c
@@ -3,22 +3,76 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
+
 #define NNBSP "\xe2\x80\xaf"
 
-static const struct
-{
-  const char *in;
-  const char *out;
-  double expected;
-} tests[] =
-  {
-    { "000"NNBSP"000"NNBSP"000", "", 0.0 },
-    { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 },
-    /* Bug 30964 */
-    { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  const char *out;							\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "000"NNBSP"000"NNBSP"000", "", 0.0 ## LSUF },			\
+    { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 ## LSUF },		\
+    /* Bug 30964 */							\
+    { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 ## LSUF }		\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep, 1);			\
+									\
+      if (strcmp (ep, tests_strto ## FSUF[i].out) != 0)			\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",	\
+		  i, ep, tests_strto ## FSUF[i].out);			\
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected)				\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
 
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -29,29 +83,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, 1);
-
-      if (strcmp (ep, tests[i].out) != 0)
-	{
-	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",
-		  i, ep, tests[i].out);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected)
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #define TEST_FUNCTION do_test ()
diff --git a/stdlib/tst-strtod5.c b/stdlib/tst-strtod5.c
index 29153ec005..7eb9b3a2d7 100644
--- a/stdlib/tst-strtod5.c
+++ b/stdlib/tst-strtod5.c
@@ -22,35 +22,75 @@
 #include <string.h>
 #include <math.h>
 
+#include "tst-strtod.h"
+
 #define NBSP "\xc2\xa0"
 
-static const struct
-{
-  const char *in;
-  double expected;
-} tests[] =
-  {
-    { "0", 0.0 },
-    { "000", 0.0 },
-    { "-0", -0.0 },
-    { "-000", -0.0 },
-    { "0,", 0.0 },
-    { "-0,", -0.0 },
-    { "0,0", 0.0 },
-    { "-0,0", -0.0 },
-    { "0e-10", 0.0 },
-    { "-0e-10", -0.0 },
-    { "0,e-10", 0.0 },
-    { "-0,e-10", -0.0 },
-    { "0,0e-10", 0.0 },
-    { "-0,0e-10", -0.0 },
-    { "0e-1000000", 0.0 },
-    { "-0e-1000000", -0.0 },
-    { "0,0e-1000000", 0.0 },
-    { "-0,0e-1000000", -0.0 },
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "0", 0.0 ## LSUF },						\
+    { "000", 0.0 ## LSUF },						\
+    { "-0", -0.0 ## LSUF },						\
+    { "-000", -0.0 ## LSUF },						\
+    { "0,", 0.0 ## LSUF },						\
+    { "-0,", -0.0 ## LSUF },						\
+    { "0,0", 0.0 ## LSUF },						\
+    { "-0,0", -0.0 ## LSUF },						\
+    { "0e-10", 0.0 ## LSUF },						\
+    { "-0e-10", -0.0 ## LSUF },						\
+    { "0,e-10", 0.0 ## LSUF },						\
+    { "-0,e-10", -0.0 ## LSUF },					\
+    { "0,0e-10", 0.0 ## LSUF },						\
+    { "-0,0e-10", -0.0 ## LSUF },					\
+    { "0e-1000000", 0.0 ## LSUF },					\
+    { "-0e-1000000", -0.0 ## LSUF },					\
+    { "0,0e-1000000", 0.0 ## LSUF },					\
+    { "-0,0e-1000000", -0.0 ## LSUF },					\
+  };									\
+									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].in, &ep);		\
+									\
+      if (*ep != '\0')							\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected				\
+	  || (copysign ## CSUF (10.0 ## LSUF, r)			\
+	      != copysign ## CSUF (10.0 ## LSUF,			\
+				   tests_strto ## FSUF[i].expected)))	\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
 
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -61,29 +101,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = strtod (tests[i].in, &ep);
-
-      if (*ep != '\0')
-	{
-	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected
-	  || copysign (10.0, r) != copysign (10.0, tests[i].expected))
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #include <support/test-driver.c>
diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c
index ee54e3404c..136aedea68 100644
--- a/stdlib/tst-strtod5i.c
+++ b/stdlib/tst-strtod5i.c
@@ -16,52 +16,112 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+/* Defining _LIBC_TEST ensures long double math functions are
+   declared in the headers.  */
+#define _LIBC_TEST 1
 #include <locale.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
 
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
+
 #define NNBSP "\xe2\x80\xaf"
 
-static const struct
-{
-  const char *in;
-  int group;
-  double expected;
-} tests[] =
-  {
-    { "0", 0, 0.0 },
-    { "000", 0, 0.0 },
-    { "-0", 0, -0.0 },
-    { "-000", 0, -0.0 },
-    { "0,", 0, 0.0 },
-    { "-0,", 0, -0.0 },
-    { "0,0", 0, 0.0 },
-    { "-0,0", 0, -0.0 },
-    { "0e-10", 0, 0.0 },
-    { "-0e-10", 0, -0.0 },
-    { "0,e-10", 0, 0.0 },
-    { "-0,e-10", 0, -0.0 },
-    { "0,0e-10", 0, 0.0 },
-    { "-0,0e-10", 0, -0.0 },
-    { "0e-1000000", 0, 0.0 },
-    { "-0e-1000000", 0, -0.0 },
-    { "0,0e-1000000", 0, 0.0 },
-    { "-0,0e-1000000", 0, -0.0 },
-    { "0", 1, 0.0 },
-    { "000", 1, 0.0 },
-    { "-0", 1, -0.0 },
-    { "-000", 1, -0.0 },
-    { "0e-10", 1, 0.0 },
-    { "-0e-10", 1, -0.0 },
-    { "0e-1000000", 1, 0.0 },
-    { "-0e-1000000", 1, -0.0 },
-    { "000"NNBSP"000"NNBSP"000", 1, 0.0 },
-    { "-000"NNBSP"000"NNBSP"000", 1, -0.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  int group;								\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "0", 0, 0.0 ## LSUF },						\
+    { "000", 0, 0.0 ## LSUF },						\
+    { "-0", 0, -0.0 ## LSUF },						\
+    { "-000", 0, -0.0 ## LSUF },					\
+    { "0,", 0, 0.0 ## LSUF },						\
+    { "-0,", 0, -0.0 ## LSUF },						\
+    { "0,0", 0, 0.0 ## LSUF },						\
+    { "-0,0", 0, -0.0 ## LSUF },					\
+    { "0e-10", 0, 0.0 ## LSUF },					\
+    { "-0e-10", 0, -0.0 ## LSUF },					\
+    { "0,e-10", 0, 0.0 ## LSUF },					\
+    { "-0,e-10", 0, -0.0 ## LSUF },					\
+    { "0,0e-10", 0, 0.0 ## LSUF },					\
+    { "-0,0e-10", 0, -0.0 ## LSUF },					\
+    { "0e-1000000", 0, 0.0 ## LSUF },					\
+    { "-0e-1000000", 0, -0.0 ## LSUF },					\
+    { "0,0e-1000000", 0, 0.0 ## LSUF },					\
+    { "-0,0e-1000000", 0, -0.0 ## LSUF },				\
+    { "0", 1, 0.0 ## LSUF },						\
+    { "000", 1, 0.0 ## LSUF },						\
+    { "-0", 1, -0.0 ## LSUF },						\
+    { "-000", 1, -0.0 ## LSUF },					\
+    { "0e-10", 1, 0.0 ## LSUF },					\
+    { "-0e-10", 1, -0.0 ## LSUF },					\
+    { "0e-1000000", 1, 0.0 ## LSUF },					\
+    { "-0e-1000000", 1, -0.0 ## LSUF },					\
+    { "000"NNBSP"000"NNBSP"000", 1, 0.0 ## LSUF },			\
+    { "-000"NNBSP"000"NNBSP"000", 1, -0.0 ## LSUF }			\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep,			\
+					      tests_strto ## FSUF[i].group); \
+									\
+      if (*ep != '\0')							\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected				\
+	  || (copysign ## CSUF (10.0 ## LSUF, r)			\
+	      != copysign ## CSUF (10.0 ## LSUF,			\
+				   tests_strto ## FSUF[i].expected)))	\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
 
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -72,29 +132,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, tests[i].group);
-
-      if (*ep != '\0')
-	{
-	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected
-	  || copysign (10.0, r) != copysign (10.0, tests[i].expected))
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #include <support/test-driver.c>
diff --git a/stdlib/tst-swapcontext2.c b/stdlib/tst-swapcontext2.c
index f679755649..a9c1dc827c 100644
--- a/stdlib/tst-swapcontext2.c
+++ b/stdlib/tst-swapcontext2.c
@@ -85,7 +85,7 @@ do_test (void)
 {
   /* ____longjmp_chk has  */
 #if 0
-#ifdef _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN
 #define called_from(this, saved) ((this) < (saved))
 #else
 #define called_from(this, saved) ((this) > (saved))
@@ -98,7 +98,7 @@ do_test (void)
   /* Arrange stacks for uctx_func1 and uctx_func2 so that called_from
      is true when setjmp is called from uctx_func1 and longjmp is called
      from uctx_func2.  */
-#ifdef _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN
 # define UCTX_FUNC1_STACK	1
 # define UCTX_FUNC2_STACK	0
 #else
diff --git a/stdlib/tst-system.c b/stdlib/tst-system.c
index 47c742f963..b5b630a41b 100644
--- a/stdlib/tst-system.c
+++ b/stdlib/tst-system.c
@@ -169,7 +169,7 @@ do_test (void)
 
   {
     struct stat64 st;
-    xstat (_PATH_BSHELL, &st);
+    xstat64 (_PATH_BSHELL, &st);
     mode_t mode = st.st_mode;
     xchmod (_PATH_BSHELL, mode & ~(S_IXUSR | S_IXGRP | S_IXOTH));