about summary refs log tree commit diff
path: root/stdlib/tst-strtod-round-data.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2020-06-30 23:04:06 +0000
committerJoseph Myers <joseph@codesourcery.com>2020-06-30 23:04:06 +0000
commit09555b9721d090f7917f8221be2613a4d6a9b0f6 (patch)
treeabf1d8e3d22a0e111e882dc7954d36dec847e19a /stdlib/tst-strtod-round-data.h
parent5f40e4b1ba69a22923f6ec692d2d0f65733ccb0b (diff)
downloadglibc-09555b9721d090f7917f8221be2613a4d6a9b0f6.tar.gz
glibc-09555b9721d090f7917f8221be2613a4d6a9b0f6.tar.xz
glibc-09555b9721d090f7917f8221be2613a4d6a9b0f6.zip
Fix strtod multiple-precision division bug (bug 26137).
Bug 26137 reports spurious "inexact" exceptions from strtod, on 32-bit
systems only, for a decimal argument that is exactly 1 + 2^-32.  In
fact the same issue also appears for 1 + 2^-64 and 1 + 2^-96 as
arguments to strtof128 on 32-bit systems, and 1 + 2^-64 as an argument
to strtof128 on 64-bit systems.  In FE_DOWNWARD or FE_TOWARDZERO mode,
the return value is also incorrect.

The problem is in the multiple-precision division logic used in the
case of dividing by a denominator that occupies at least three GMP
limbs.  There was a comment "The division does not work if the upper
limb of the two-limb mumerator is greater than the denominator.", but
in fact there were problems for the case of equality (that is, where
the high limbs are equal, offset by some multiple of the GMP limb
size) as well.  In such cases, the code used "quot = ~(mp_limb_t) 0;"
(with subsequent correction if that is an overestimate), because
udiv_qrnnd does not support the case of equality, but it's possible
for the shifted numerator to be greater than or equal to the
denominator, in which case that is an underestimate.  To avoid that,
this patch changes the ">" condition to ">=", meaning the first
division is done with a zero high word.

The tests added are all 1 + 2^-n for n from 1 to 113 except for those
that were already present in tst-strtod-round-data.

Tested for x86_64 and x86.
Diffstat (limited to 'stdlib/tst-strtod-round-data.h')
-rw-r--r--stdlib/tst-strtod-round-data.h3465
1 files changed, 3465 insertions, 0 deletions
diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h
index 5ac25f7b29..8899d15f9b 100644
--- a/stdlib/tst-strtod-round-data.h
+++ b/stdlib/tst-strtod-round-data.h
@@ -11972,4 +11972,3469 @@ static const struct test tests[] = {
 	0x1p+1024, false,
 	0x1p+1024, false,
 	0x1.0000000000000000000000000001p+1024, 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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
+  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),
 };