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>2018-06-13 16:06:14 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-06-13 16:06:14 +0000
commitfcd6b5ac36a49e83e27e9186ded04329d3b0b0d9 (patch)
tree79886f0f215a5537318cdd5175211214ead0bbb7 /stdlib/tst-strtod-round-data.h
parenta745c837cb51c2efe8900740548cb68ec2a2f7ab (diff)
downloadglibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.tar.gz
glibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.tar.xz
glibc-fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9.zip
Fix strtod overflow detection (bug 23279).
As shown by bug 23279, strtod's round_and_return has an off-by-one
error in its overflow detection, only counting an exponent greater
than MAX_EXP as overflowing when an exponent of MAX_EXP also means
overflow (recall the ISO C definition of DBL_MAX_EXP etc. is based on
a floating-point model where 2^exp is multiplied by a value in the
interval [0.5, 1), so 2^MAX_EXP is not representable).

For decimal arguments to strtod, a separate overflow check in the main
implementation covers the case where the integer part of the argument
(truncated to the nearest integer towards zero) has more than MAX_EXP
bits, meaning that this issue in round_and_return only affects cases
(arguments with absolute value strictly between the maximum
representable value and 2^MAX_EXP) where overflow depends on the
rounding mode; in such cases, the returned value would still have been
correct on overflow but without the overflow exception being raised or
errno being set to ERANGE.  For hex float arguments, however, other
cases can arise, as shown in bug 23279, where a value with exponent
already set to MAX_EXP is passed into round_and_return and a result
can wrongly end up being NaN, or infinity instead of the largest
finite value.

This patch fixes the off-by-one error, adds testing of overflow
exceptions to the tst-strtod-round framework, and adds tests of these
issues.

Tested for x86_64.  Also ran the tst-strtod-round tests for powerpc to
make sure the new tests didn't introduce any new failures for IBM long
double.

	[BZ #23279]
	* stdlib/strtod_l.c (round_and_return): Handle an exponent of
	MAX_EXP as overflowing.
	* stdlib/gen-tst-strtod-round.c (string_to_fp): Clear MPFR
	overflow flag.
	(round_str): Output also whether result overflows in each rounding
	mode.
	* stdlib/tst-strtod-round-data: Add more tests.
	* stdlib/tst-strtod-round-data.h: Regenerated.
	* stdlib/tst-strtod-round-skeleton.c (_XNTRY): Update comment.
	(TEST): Handle extra arguments for overflow flags.
	(struct test_overflow): New type.
	[!FE_OVERFLOW] (FE_OVERFLOW): Define to 0.
	(GEN_ONE_TEST): Clear all exceptions.  Test overflow flag.
	(test_in_one_mode): Take argument with overflow information.
	(do_test): Update calls to test_in_one_mode.
Diffstat (limited to 'stdlib/tst-strtod-round-data.h')
-rw-r--r--stdlib/tst-strtod-round-data.h9091
1 files changed, 4741 insertions, 4350 deletions
diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h
index fc09bc9117..5ac25f7b29 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,
-	0x2p+44,
-	0x2p+44,
-	0x2.000004p+44,
-	false,
-	0x2.0000000000002p+44,
-	0x2.0000000000004p+44,
-	0x2.0000000000002p+44,
-	0x2.0000000000004p+44,
-	true,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	true,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	true,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	true,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44,
-	0x2.0000000000003p+44),
+	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),
   TEST ("1.00000005960464477550",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000004p+0,
-	false,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000004p+0,
-	false,
-	0x1.0000010000000002048242f2ffp+0,
-	0x1.0000010000000002048242f2ff8p+0,
-	0x1.0000010000000002048242f2ffp+0,
-	0x1.0000010000000002048242f2ff8p+0,
-	false,
-	0x1.0000010000000002048242f2ff66p+0,
-	0x1.0000010000000002048242f2ff67p+0,
-	0x1.0000010000000002048242f2ff66p+0,
-	0x1.0000010000000002048242f2ff67p+0),
+	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),
   TEST ("1.0000000596046447755",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000004p+0,
-	false,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000002p+0,
-	0x1.0000010000000004p+0,
-	false,
-	0x1.0000010000000002048242f2ffp+0,
-	0x1.0000010000000002048242f2ff8p+0,
-	0x1.0000010000000002048242f2ffp+0,
-	0x1.0000010000000002048242f2ff8p+0,
-	false,
-	0x1.0000010000000002048242f2ff66p+0,
-	0x1.0000010000000002048242f2ff67p+0,
-	0x1.0000010000000002048242f2ff66p+0,
-	0x1.0000010000000002048242f2ff67p+0),
+	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),
   TEST ("1.000000059604644776",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.000001000000000ap+0,
-	0x1.000001000000000cp+0,
-	0x1.000001000000000ap+0,
-	0x1.000001000000000cp+0,
-	false,
-	0x1.000001000000000ap+0,
-	0x1.000001000000000cp+0,
-	0x1.000001000000000ap+0,
-	0x1.000001000000000cp+0,
-	false,
-	0x1.000001000000000b3db12bdc21p+0,
-	0x1.000001000000000b3db12bdc21p+0,
-	0x1.000001000000000b3db12bdc21p+0,
-	0x1.000001000000000b3db12bdc218p+0,
-	false,
-	0x1.000001000000000b3db12bdc213cp+0,
-	0x1.000001000000000b3db12bdc213dp+0,
-	0x1.000001000000000b3db12bdc213cp+0,
-	0x1.000001000000000b3db12bdc213dp+0),
+	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),
   TEST ("1.000000059604644775",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffffffp+0,
-	0x1.000001p+0,
-	0x1.000000fffffffp+0,
-	0x1.000001p+0,
-	false,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffffap+0,
-	false,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffff8p+0,
-	0x1.000000fffffffffap+0,
-	false,
-	0x1.000000fffffffff8cb535a09dd8p+0,
-	0x1.000000fffffffff8cb535a09dd8p+0,
-	0x1.000000fffffffff8cb535a09dd8p+0,
-	0x1.000000fffffffff8cb535a09dep+0,
-	false,
-	0x1.000000fffffffff8cb535a09dd9p+0,
-	0x1.000000fffffffff8cb535a09dd91p+0,
-	0x1.000000fffffffff8cb535a09dd9p+0,
-	0x1.000000fffffffff8cb535a09dd91p+0),
+	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),
   TEST ("1.00000005960464478",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.0000010000000054p+0,
-	0x1.0000010000000056p+0,
-	0x1.0000010000000054p+0,
-	0x1.0000010000000056p+0,
-	false,
-	0x1.0000010000000054p+0,
-	0x1.0000010000000056p+0,
-	0x1.0000010000000054p+0,
-	0x1.0000010000000056p+0,
-	false,
-	0x1.0000010000000055072873252f8p+0,
-	0x1.0000010000000055072873253p+0,
-	0x1.0000010000000055072873252f8p+0,
-	0x1.0000010000000055072873253p+0,
-	false,
-	0x1.0000010000000055072873252febp+0,
-	0x1.0000010000000055072873252febp+0,
-	0x1.0000010000000055072873252febp+0,
-	0x1.0000010000000055072873252fecp+0),
+	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),
   TEST ("1.0000000596046448",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.00000100000001c4p+0,
-	0x1.00000100000001c6p+0,
-	0x1.00000100000001c4p+0,
-	0x1.00000100000001c6p+0,
-	false,
-	0x1.00000100000001c4p+0,
-	0x1.00000100000001c6p+0,
-	0x1.00000100000001c4p+0,
-	0x1.00000100000001c6p+0,
-	false,
-	0x1.00000100000001c5f67cd79279p+0,
-	0x1.00000100000001c5f67cd792798p+0,
-	0x1.00000100000001c5f67cd79279p+0,
-	0x1.00000100000001c5f67cd792798p+0,
-	false,
-	0x1.00000100000001c5f67cd7927953p+0,
-	0x1.00000100000001c5f67cd7927954p+0,
-	0x1.00000100000001c5f67cd7927953p+0,
-	0x1.00000100000001c5f67cd7927954p+0),
+	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),
   TEST ("1.000000059604645",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.0000010000001p+0,
-	0x1.0000010000001p+0,
-	0x1.0000010000001p+0,
-	0x1.0000010000002p+0,
-	false,
-	0x1.000001000000102ep+0,
-	0x1.000001000000103p+0,
-	0x1.000001000000102ep+0,
-	0x1.000001000000103p+0,
-	false,
-	0x1.000001000000102ep+0,
-	0x1.000001000000103p+0,
-	0x1.000001000000102ep+0,
-	0x1.000001000000103p+0,
-	false,
-	0x1.000001000000102f4fc8c3d757p+0,
-	0x1.000001000000102f4fc8c3d7578p+0,
-	0x1.000001000000102f4fc8c3d757p+0,
-	0x1.000001000000102f4fc8c3d7578p+0,
-	false,
-	0x1.000001000000102f4fc8c3d75769p+0,
-	0x1.000001000000102f4fc8c3d75769p+0,
-	0x1.000001000000102f4fc8c3d75769p+0,
-	0x1.000001000000102f4fc8c3d7576ap+0),
+	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),
   TEST ("1.00000005960464",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffffeap+0,
-	0x1.000000fffffeap+0,
-	0x1.000000fffffeap+0,
-	0x1.000000fffffebp+0,
-	false,
-	0x1.000000fffffea7e4p+0,
-	0x1.000000fffffea7e6p+0,
-	0x1.000000fffffea7e4p+0,
-	0x1.000000fffffea7e6p+0,
-	false,
-	0x1.000000fffffea7e4p+0,
-	0x1.000000fffffea7e6p+0,
-	0x1.000000fffffea7e4p+0,
-	0x1.000000fffffea7e6p+0,
-	false,
-	0x1.000000fffffea7e5975eb11da7p+0,
-	0x1.000000fffffea7e5975eb11da78p+0,
-	0x1.000000fffffea7e5975eb11da7p+0,
-	0x1.000000fffffea7e5975eb11da78p+0,
-	false,
-	0x1.000000fffffea7e5975eb11da74ap+0,
-	0x1.000000fffffea7e5975eb11da74bp+0,
-	0x1.000000fffffea7e5975eb11da74ap+0,
-	0x1.000000fffffea7e5975eb11da74bp+0),
+	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),
   TEST ("1.0000000596046",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffff36p+0,
-	0x1.000000fffff36p+0,
-	0x1.000000fffff36p+0,
-	0x1.000000fffff37p+0,
-	false,
-	0x1.000000fffff36596p+0,
-	0x1.000000fffff36598p+0,
-	0x1.000000fffff36596p+0,
-	0x1.000000fffff36598p+0,
-	false,
-	0x1.000000fffff36596p+0,
-	0x1.000000fffff36598p+0,
-	0x1.000000fffff36596p+0,
-	0x1.000000fffff36598p+0,
-	false,
-	0x1.000000fffff36597d40e1b5026p+0,
-	0x1.000000fffff36597d40e1b50268p+0,
-	0x1.000000fffff36597d40e1b5026p+0,
-	0x1.000000fffff36597d40e1b50268p+0,
-	false,
-	0x1.000000fffff36597d40e1b502655p+0,
-	0x1.000000fffff36597d40e1b502656p+0,
-	0x1.000000fffff36597d40e1b502655p+0,
-	0x1.000000fffff36597d40e1b502656p+0),
+	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),
   TEST ("1.000000059605",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001000063fp+0,
-	0x1.000001000064p+0,
-	0x1.000001000063fp+0,
-	0x1.000001000064p+0,
-	false,
-	0x1.000001000063fcap+0,
-	0x1.000001000063fca2p+0,
-	0x1.000001000063fcap+0,
-	0x1.000001000063fca2p+0,
-	false,
-	0x1.000001000063fcap+0,
-	0x1.000001000063fca2p+0,
-	0x1.000001000063fcap+0,
-	0x1.000001000063fca2p+0,
-	false,
-	0x1.000001000063fca17533f5572f8p+0,
-	0x1.000001000063fca17533f5573p+0,
-	0x1.000001000063fca17533f5572f8p+0,
-	0x1.000001000063fca17533f5573p+0,
-	false,
-	0x1.000001000063fca17533f5572fe9p+0,
-	0x1.000001000063fca17533f5572feap+0,
-	0x1.000001000063fca17533f5572fe9p+0,
-	0x1.000001000063fca17533f5572feap+0),
+	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),
   TEST ("1.00000005960",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffae49p+0,
-	0x1.000000fffae4ap+0,
-	0x1.000000fffae49p+0,
-	0x1.000000fffae4ap+0,
-	false,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	false,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff388p+0,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382ep+0),
+	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),
   TEST ("1.0000000596",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffae49p+0,
-	0x1.000000fffae4ap+0,
-	0x1.000000fffae49p+0,
-	0x1.000000fffae4ap+0,
-	false,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	false,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	0x1.000000fffae49ca8p+0,
-	0x1.000000fffae49caap+0,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff38p+0,
-	0x1.000000fffae49ca916dacfff388p+0,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382dp+0,
-	0x1.000000fffae49ca916dacfff382ep+0),
+	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),
   TEST ("1.000000060",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.00000101b2b29p+0,
-	0x1.00000101b2b2ap+0,
-	0x1.00000101b2b29p+0,
-	0x1.00000101b2b2ap+0,
-	false,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a48p+0,
-	false,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a48p+0,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca38p+0,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0,
-	0x1.00000101b2b29a4692b67b7ca314p+0,
-	0x1.00000101b2b29a4692b67b7ca313p+0,
-	0x1.00000101b2b29a4692b67b7ca314p+0),
+	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),
   TEST ("1.00000006",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.00000101b2b29p+0,
-	0x1.00000101b2b2ap+0,
-	0x1.00000101b2b29p+0,
-	0x1.00000101b2b2ap+0,
-	false,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a48p+0,
-	false,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a46p+0,
-	0x1.00000101b2b29a48p+0,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca3p+0,
-	0x1.00000101b2b29a4692b67b7ca38p+0,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0,
-	0x1.00000101b2b29a4692b67b7ca314p+0,
-	0x1.00000101b2b29a4692b67b7ca313p+0,
-	0x1.00000101b2b29a4692b67b7ca314p+0),
+	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),
   TEST ("1.0000001",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001ad7f29ap+0,
-	0x1.000001ad7f29bp+0,
-	0x1.000001ad7f29ap+0,
-	0x1.000001ad7f29bp+0,
-	false,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abccp+0,
-	false,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abcap+0,
-	0x1.000001ad7f29abccp+0,
-	false,
-	0x1.000001ad7f29abcaf485787a65p+0,
-	0x1.000001ad7f29abcaf485787a65p+0,
-	0x1.000001ad7f29abcaf485787a65p+0,
-	0x1.000001ad7f29abcaf485787a658p+0,
-	false,
-	0x1.000001ad7f29abcaf485787a652p+0,
-	0x1.000001ad7f29abcaf485787a6521p+0,
-	0x1.000001ad7f29abcaf485787a652p+0,
-	0x1.000001ad7f29abcaf485787a6521p+0),
+	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),
   TEST ("1.000000",
 	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	true,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0),
+	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),
   TEST ("1.00000000000000011113",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.0000000000000801fc96557232p+0,
-	0x1.0000000000000801fc96557232p+0,
-	0x1.0000000000000801fc96557232p+0,
-	0x1.0000000000000801fc965572328p+0,
-	false,
-	0x1.0000000000000801fc9655723222p+0,
-	0x1.0000000000000801fc9655723222p+0,
-	0x1.0000000000000801fc9655723222p+0,
-	0x1.0000000000000801fc9655723223p+0),
+	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),
   TEST ("1.00000000000000011103",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.00000000000008002459c076c48p+0,
-	0x1.00000000000008002459c076c5p+0,
-	0x1.00000000000008002459c076c48p+0,
-	0x1.00000000000008002459c076c5p+0,
-	false,
-	0x1.00000000000008002459c076c4f7p+0,
-	0x1.00000000000008002459c076c4f8p+0,
-	0x1.00000000000008002459c076c4f7p+0,
-	0x1.00000000000008002459c076c4f8p+0),
+	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),
   TEST ("1.00000000000000011102",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007fff5207e5dap+0,
-	0x1.00000000000007fff5207e5da08p+0,
-	0x1.00000000000007fff5207e5dap+0,
-	0x1.00000000000007fff5207e5da08p+0,
-	false,
-	0x1.00000000000007fff5207e5da073p+0,
-	0x1.00000000000007fff5207e5da073p+0,
-	0x1.00000000000007fff5207e5da073p+0,
-	0x1.00000000000007fff5207e5da074p+0),
+	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),
   TEST ("1.00000000000000011101",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007ffc5e73c447b8p+0,
-	0x1.00000000000007ffc5e73c447cp+0,
-	0x1.00000000000007ffc5e73c447b8p+0,
-	0x1.00000000000007ffc5e73c447cp+0,
-	false,
-	0x1.00000000000007ffc5e73c447befp+0,
-	0x1.00000000000007ffc5e73c447befp+0,
-	0x1.00000000000007ffc5e73c447befp+0,
-	0x1.00000000000007ffc5e73c447bfp+0),
+	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),
   TEST ("1.0000000000000001111",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	0x1.00000000000008p+0,
-	0x1.0000000000000802p+0,
-	false,
-	0x1.00000000000008016eea8f26c48p+0,
-	0x1.00000000000008016eea8f26c48p+0,
-	0x1.00000000000008016eea8f26c48p+0,
-	0x1.00000000000008016eea8f26c5p+0,
-	false,
-	0x1.00000000000008016eea8f26c495p+0,
-	0x1.00000000000008016eea8f26c496p+0,
-	0x1.00000000000008016eea8f26c495p+0,
-	0x1.00000000000008016eea8f26c496p+0),
+	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),
   TEST ("1.000000000000000111",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	0x1.00000000000007fep+0,
-	0x1.00000000000008p+0,
-	false,
-	0x1.00000000000007ff96adfa2b57p+0,
-	0x1.00000000000007ff96adfa2b578p+0,
-	0x1.00000000000007ff96adfa2b57p+0,
-	0x1.00000000000007ff96adfa2b578p+0,
-	false,
-	0x1.00000000000007ff96adfa2b576ap+0,
-	0x1.00000000000007ff96adfa2b576bp+0,
-	0x1.00000000000007ff96adfa2b576ap+0,
-	0x1.00000000000007ff96adfa2b576bp+0),
+	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),
   TEST ("1.00000000000000011",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.00000000000007ecp+0,
-	0x1.00000000000007eep+0,
-	0x1.00000000000007ecp+0,
-	0x1.00000000000007eep+0,
-	false,
-	0x1.00000000000007ecp+0,
-	0x1.00000000000007eep+0,
-	0x1.00000000000007ecp+0,
-	0x1.00000000000007eep+0,
-	false,
-	0x1.00000000000007ed24502859138p+0,
-	0x1.00000000000007ed24502859138p+0,
-	0x1.00000000000007ed24502859138p+0,
-	0x1.00000000000007ed2450285914p+0,
-	false,
-	0x1.00000000000007ed2450285913bfp+0,
-	0x1.00000000000007ed2450285913bfp+0,
-	0x1.00000000000007ed2450285913bfp+0,
-	0x1.00000000000007ed2450285913cp+0),
+	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),
   TEST ("1.0000000000000001",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.0000000000001p+0,
-	false,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000736p+0,
-	false,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000734p+0,
-	0x1.0000000000000736p+0,
-	false,
-	0x1.0000000000000734aca5f6226fp+0,
-	0x1.0000000000000734aca5f6226fp+0,
-	0x1.0000000000000734aca5f6226fp+0,
-	0x1.0000000000000734aca5f6226f8p+0,
-	false,
-	0x1.0000000000000734aca5f6226f0ap+0,
-	0x1.0000000000000734aca5f6226f0bp+0,
-	0x1.0000000000000734aca5f6226f0ap+0,
-	0x1.0000000000000734aca5f6226f0bp+0),
+	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),
   TEST ("3929201589819414e-25",
 	false,
-	0x1.b0053p-32,
-	0x1.b00532p-32,
-	0x1.b0053p-32,
-	0x1.b00532p-32,
-	false,
-	0x1.b005314e2421ep-32,
-	0x1.b005314e2421ep-32,
-	0x1.b005314e2421ep-32,
-	0x1.b005314e2421fp-32,
-	false,
-	0x1.b005314e2421e7fep-32,
-	0x1.b005314e2421e8p-32,
-	0x1.b005314e2421e7fep-32,
-	0x1.b005314e2421e8p-32,
-	false,
-	0x1.b005314e2421e7fep-32,
-	0x1.b005314e2421e8p-32,
-	0x1.b005314e2421e7fep-32,
-	0x1.b005314e2421e8p-32,
-	false,
-	0x1.b005314e2421e7ffb472840c5ap-32,
-	0x1.b005314e2421e7ffb472840c5a8p-32,
-	0x1.b005314e2421e7ffb472840c5ap-32,
-	0x1.b005314e2421e7ffb472840c5a8p-32,
-	false,
-	0x1.b005314e2421e7ffb472840c5a6ep-32,
-	0x1.b005314e2421e7ffb472840c5a6fp-32,
-	0x1.b005314e2421e7ffb472840c5a6ep-32,
-	0x1.b005314e2421e7ffb472840c5a6fp-32),
+	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),
   TEST ("0.0000000000000000000000000000000000000000000021019476964872"
 	"256063855943749348741969203929128147736576356024258346866240"
 	"28790902229957282543182373046875",
 	false,
-	0x8p-152,
-	0x1p-148,
-	0x8p-152,
-	0x1p-148,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152),
+	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),
   TEST ("1.00000005960464477539062499",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000000fffffffp+0,
-	0x1.000001p+0,
-	0x1.000000fffffffp+0,
-	0x1.000001p+0,
-	false,
-	0x1.000000fffffffffep+0,
-	0x1.000001p+0,
-	0x1.000000fffffffffep+0,
-	0x1.000001p+0,
-	false,
-	0x1.000000fffffffffep+0,
-	0x1.000001p+0,
-	0x1.000000fffffffffep+0,
-	0x1.000001p+0,
-	false,
-	0x1.000000fffffffffffffffce7b78p+0,
-	0x1.000000fffffffffffffffce7b8p+0,
-	0x1.000000fffffffffffffffce7b78p+0,
-	0x1.000000fffffffffffffffce7b8p+0,
-	false,
-	0x1.000000fffffffffffffffce7b7e7p+0,
-	0x1.000000fffffffffffffffce7b7e7p+0,
-	0x1.000000fffffffffffffffce7b7e7p+0,
-	0x1.000000fffffffffffffffce7b7e8p+0),
+	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),
   TEST ("1.000000059604644775390625",
 	false,
-	0x1p+0,
-	0x1p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	true,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	true,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	true,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	true,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0),
+	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),
   TEST ("1.00000005960464477539062501",
 	false,
-	0x1p+0,
-	0x1.000002p+0,
-	0x1p+0,
-	0x1.000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000001p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000000002p+0,
-	false,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.000001p+0,
-	0x1.0000010000000002p+0,
-	false,
-	0x1.00000100000000000000031848p+0,
-	0x1.00000100000000000000031848p+0,
-	0x1.00000100000000000000031848p+0,
-	0x1.000001000000000000000318488p+0,
-	false,
-	0x1.0000010000000000000003184818p+0,
-	0x1.0000010000000000000003184819p+0,
-	0x1.0000010000000000000003184818p+0,
-	0x1.0000010000000000000003184819p+0),
+	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),
   TEST ("1.00000011920928955078125",
 	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	true,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0),
+	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),
   TEST ("1.00000017881393432617187499",
 	false,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000002p+0,
-	0x1.000004p+0,
-	false,
-	0x1.000002fffffffp+0,
-	0x1.000003p+0,
-	0x1.000002fffffffp+0,
-	0x1.000003p+0,
-	false,
-	0x1.000002fffffffffep+0,
-	0x1.000003p+0,
-	0x1.000002fffffffffep+0,
-	0x1.000003p+0,
-	false,
-	0x1.000002fffffffffep+0,
-	0x1.000003p+0,
-	0x1.000002fffffffffep+0,
-	0x1.000003p+0,
-	false,
-	0x1.000002fffffffffffffffce7b78p+0,
-	0x1.000002fffffffffffffffce7b8p+0,
-	0x1.000002fffffffffffffffce7b78p+0,
-	0x1.000002fffffffffffffffce7b8p+0,
-	false,
-	0x1.000002fffffffffffffffce7b7e7p+0,
-	0x1.000002fffffffffffffffce7b7e7p+0,
-	0x1.000002fffffffffffffffce7b7e7p+0,
-	0x1.000002fffffffffffffffce7b7e8p+0),
+	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),
   TEST ("1.000000178813934326171875",
 	false,
-	0x1.000002p+0,
-	0x1.000004p+0,
-	0x1.000002p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	true,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	true,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	true,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	true,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0),
+	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),
   TEST ("1.00000017881393432617187501",
 	false,
-	0x1.000002p+0,
-	0x1.000004p+0,
-	0x1.000002p+0,
-	0x1.000004p+0,
-	false,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.0000030000001p+0,
-	false,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.0000030000000002p+0,
-	false,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.000003p+0,
-	0x1.0000030000000002p+0,
-	false,
-	0x1.00000300000000000000031848p+0,
-	0x1.00000300000000000000031848p+0,
-	0x1.00000300000000000000031848p+0,
-	0x1.000003000000000000000318488p+0,
-	false,
-	0x1.0000030000000000000003184818p+0,
-	0x1.0000030000000000000003184819p+0,
-	0x1.0000030000000000000003184818p+0,
-	0x1.0000030000000000000003184819p+0),
+	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),
   TEST ("1.0000002384185791015625",
 	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	true,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0,
-	0x1.000004p+0),
+	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),
   TEST ("1.08420217248550443400745280086994171142578125e-19",
 	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	true,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64),
+	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),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812499e-19",
 	false,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2.000004p-64,
-	false,
-	0x2.000001ffffffep-64,
-	0x2.000002p-64,
-	0x2.000001ffffffep-64,
-	0x2.000002p-64,
-	false,
-	0x2.000001fffffffffcp-64,
-	0x2.000002p-64,
-	0x2.000001fffffffffcp-64,
-	0x2.000002p-64,
-	false,
-	0x2.000001fffffffffcp-64,
-	0x2.000002p-64,
-	0x2.000001fffffffffcp-64,
-	0x2.000002p-64,
-	false,
-	0x2.000001ffffffffffffffffffffp-64,
-	0x2.000002p-64,
-	0x2.000001ffffffffffffffffffffp-64,
-	0x2.000002p-64,
-	false,
-	0x2.000001fffffffffffffffffffffep-64,
-	0x2.000002p-64,
-	0x2.000001fffffffffffffffffffffep-64,
-	0x2.000002p-64),
+	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),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"6455078125e-19",
 	false,
-	0x2p-64,
-	0x2p-64,
-	0x2p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	true,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	true,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	true,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	true,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64),
+	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),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812501e-19",
 	false,
-	0x2p-64,
-	0x2.000004p-64,
-	0x2p-64,
-	0x2.000004p-64,
-	false,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.0000020000002p-64,
-	false,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.0000020000000004p-64,
-	false,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.0000020000000004p-64,
-	false,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.00000200000000000000000001p-64,
-	false,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.000002p-64,
-	0x2.0000020000000000000000000002p-64),
+	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),
   TEST ("1.0842023017324751454180269995275498473574771196581423282623"
 	"291015625e-19",
 	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	true,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64),
+	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),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437499e-19",
 	false,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000004p-64,
-	0x2.000008p-64,
-	false,
-	0x2.000005ffffffep-64,
-	0x2.000006p-64,
-	0x2.000005ffffffep-64,
-	0x2.000006p-64,
-	false,
-	0x2.000005fffffffffcp-64,
-	0x2.000006p-64,
-	0x2.000005fffffffffcp-64,
-	0x2.000006p-64,
-	false,
-	0x2.000005fffffffffcp-64,
-	0x2.000006p-64,
-	0x2.000005fffffffffcp-64,
-	0x2.000006p-64,
-	false,
-	0x2.000005ffffffffffffffffffffp-64,
-	0x2.000006p-64,
-	0x2.000005ffffffffffffffffffffp-64,
-	0x2.000006p-64,
-	false,
-	0x2.000005fffffffffffffffffffffep-64,
-	0x2.000006p-64,
-	0x2.000005fffffffffffffffffffffep-64,
-	0x2.000006p-64),
+	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),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"9365234375e-19",
 	false,
-	0x2.000004p-64,
-	0x2.000008p-64,
-	0x2.000004p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	true,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	true,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	true,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	true,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64),
+	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),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437501e-19",
 	false,
-	0x2.000004p-64,
-	0x2.000008p-64,
-	0x2.000004p-64,
-	0x2.000008p-64,
-	false,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.0000060000002p-64,
-	false,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.0000060000000004p-64,
-	false,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.0000060000000004p-64,
-	false,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.00000600000000000000000001p-64,
-	false,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.000006p-64,
-	0x2.0000060000000000000000000002p-64),
+	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),
   TEST ("1.0842024309794458568286011981851579832891729893162846565246"
 	"58203125e-19",
 	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	true,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64,
-	0x2.000008p-64),
+	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),
   TEST ("7.5231638452626400509999138382223723380394595633413601376560"
 	"1092018187046051025390625e-37",
 	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	true,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120),
+	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),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062499e-37",
 	false,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1.000002p-120,
-	false,
-	0x1.000000fffffffp-120,
-	0x1.000001p-120,
-	0x1.000000fffffffp-120,
-	0x1.000001p-120,
-	false,
-	0x1.000000fffffffffep-120,
-	0x1.000001p-120,
-	0x1.000000fffffffffep-120,
-	0x1.000001p-120,
-	false,
-	0x1.000000fffffffffep-120,
-	0x1.000001p-120,
-	0x1.000000fffffffffep-120,
-	0x1.000001p-120,
-	false,
-	0x1.000000ffffffffffffffffffff8p-120,
-	0x1.000001p-120,
-	0x1.000000ffffffffffffffffffff8p-120,
-	0x1.000001p-120,
-	false,
-	0x1.000000ffffffffffffffffffffffp-120,
-	0x1.000001p-120,
-	0x1.000000ffffffffffffffffffffffp-120,
-	0x1.000001p-120),
+	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),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"5788244372130524340036572539247572422027587890625e-37",
 	false,
-	0x1p-120,
-	0x1p-120,
-	0x1p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	true,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	true,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	true,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	true,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120),
+	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),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062501e-37",
 	false,
-	0x1p-120,
-	0x1.000002p-120,
-	0x1p-120,
-	0x1.000002p-120,
-	false,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.0000010000001p-120,
-	false,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.0000010000000002p-120,
-	false,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.0000010000000002p-120,
-	false,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001000000000000000000008p-120,
-	false,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.000001p-120,
-	0x1.0000010000000000000000000001p-120),
+	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),
   TEST ("7.5231647420936572188828392294093056435857835827090029386261"
 	"048447055721499765468252007849514484405517578125e-37",
 	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	true,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120),
+	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),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187499e-37",
 	false,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000002p-120,
-	0x1.000004p-120,
-	false,
-	0x1.000002fffffffp-120,
-	0x1.000003p-120,
-	0x1.000002fffffffp-120,
-	0x1.000003p-120,
-	false,
-	0x1.000002fffffffffep-120,
-	0x1.000003p-120,
-	0x1.000002fffffffffep-120,
-	0x1.000003p-120,
-	false,
-	0x1.000002fffffffffep-120,
-	0x1.000003p-120,
-	0x1.000002fffffffffep-120,
-	0x1.000003p-120,
-	false,
-	0x1.000002ffffffffffffffffffff8p-120,
-	0x1.000003p-120,
-	0x1.000002ffffffffffffffffffff8p-120,
-	0x1.000003p-120,
-	false,
-	0x1.000002ffffffffffffffffffffffp-120,
-	0x1.000003p-120,
-	0x1.000002ffffffffffffffffffffffp-120,
-	0x1.000003p-120),
+	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),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"5180696742299470969328467617742717266082763671875e-37",
 	false,
-	0x1.000002p-120,
-	0x1.000004p-120,
-	0x1.000002p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	true,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	true,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	true,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	true,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120),
+	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),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187501e-37",
 	false,
-	0x1.000002p-120,
-	0x1.000004p-120,
-	0x1.000002p-120,
-	0x1.000004p-120,
-	false,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.0000030000001p-120,
-	false,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.0000030000000002p-120,
-	false,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.0000030000000002p-120,
-	false,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003000000000000000000008p-120,
-	false,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.000003p-120,
-	0x1.0000030000000000000000000001p-120),
+	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),
   TEST ("7.5231656389246743867657646205962389491321076020766457395961"
 	"98769229273839442839744151569902896881103515625e-37",
 	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	true,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120,
-	0x1.000004p-120),
+	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),
   TEST ("340282356779733661637539395458142568447.999",
 	false,
-	0xf.fffffp+124,
-	0xf.fffffp+124,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.fffff7ffffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff7ffffff8p+124,
-	0xf.fffff8p+124,
-	false,
-	0xf.fffff7fffffffffp+124,
-	0xf.fffff8p+124,
-	0xf.fffff7fffffffffp+124,
-	0xf.fffff8p+124,
-	false,
-	0xf.fffff7fffffffffp+124,
-	0xf.fffff8p+124,
-	0xf.fffff7fffffffffp+124,
-	0xf.fffff8p+124,
-	false,
-	0xf.fffff7fffffffffffffffffffcp+124,
-	0xf.fffff8p+124,
-	0xf.fffff7fffffffffffffffffffcp+124,
-	0xf.fffff8p+124,
-	false,
-	0xf.fffff7fffffffffffffffffffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff7fffffffffffffffffffff8p+124,
-	0xf.fffff8p+124),
+	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),
   TEST ("340282356779733661637539395458142568448",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	true,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	true,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	true,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	true,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	true,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124),
+	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),
   TEST ("340282356779733661637539395458142568448.001",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff80000008p+124,
-	false,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8000000001p+124,
-	false,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8000000001p+124,
-	false,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff800000000000000000004p+124,
-	false,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff8p+124,
-	0xf.fffff80000000000000000000008p+124),
+	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),
   TEST ("-340282356779733661637539395458142568447.999",
 	false,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff7ffffff8p+124,
-	-0xf.fffff7ffffff8p+124,
-	false,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff7fffffffffp+124,
-	-0xf.fffff7fffffffffp+124,
-	false,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff7fffffffffp+124,
-	-0xf.fffff7fffffffffp+124,
-	false,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff7fffffffffffffffffffcp+124,
-	-0xf.fffff7fffffffffffffffffffcp+124,
-	false,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff7fffffffffffffffffffff8p+124,
-	-0xf.fffff7fffffffffffffffffffff8p+124),
+	-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),
   TEST ("-340282356779733661637539395458142568448",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	true,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	true,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	true,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	true,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	true,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124),
+	-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),
   TEST ("-340282356779733661637539395458142568448.001",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-0xf.fffff80000008p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	false,
-	-0xf.fffff8000000001p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	false,
-	-0xf.fffff8000000001p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	false,
-	-0xf.fffff800000000000000000004p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	false,
-	-0xf.fffff80000000000000000000008p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124,
-	-0xf.fffff8p+124),
+	-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),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1855,35 +1855,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497791.999",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	0xf.ffffffffffff8p+1020,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.ffffffffffffbffp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffbffp+1020,
-	0xf.ffffffffffffcp+1020,
-	false,
-	0xf.ffffffffffffbffp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffbffp+1020,
-	0xf.ffffffffffffcp+1020,
-	false,
-	0xf.ffffffffffffbffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffbffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	false,
-	0xf.ffffffffffffbffffffffffffff8p+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffbffffffffffffff8p+1020,
-	0xf.ffffffffffffcp+1020),
+	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),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1891,35 +1891,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	true,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	true,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	false,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	true,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020),
+	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),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1927,35 +1927,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792.001",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffc01p+1020,
-	false,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffc01p+1020,
-	false,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffc0000000000004p+1020,
-	false,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffcp+1020,
-	0xf.ffffffffffffc000000000000008p+1020),
+	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),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1963,35 +1963,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497791.999",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffbffp+1020,
-	-0xf.ffffffffffffbffp+1020,
-	false,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffbffp+1020,
-	-0xf.ffffffffffffbffp+1020,
-	false,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffbffffffffffffcp+1020,
-	-0xf.ffffffffffffbffffffffffffcp+1020,
-	false,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffbffffffffffffff8p+1020,
-	-0xf.ffffffffffffbffffffffffffff8p+1020),
+	-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),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1999,35 +1999,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	true,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	true,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	false,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	true,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020),
+	-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),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -2035,35 +2035,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792.001",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-0xf.ffffffffffffc01p+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	false,
-	-0xf.ffffffffffffc01p+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	false,
-	-0xf.ffffffffffffc0000000000004p+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	false,
-	-0xf.ffffffffffffc000000000000008p+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020,
-	-0xf.ffffffffffffcp+1020),
+	-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),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2148,35 +2148,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918527.999",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	0xf.fffffffffffffffp+16380,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	0xf.fffffffffffffffp+16380,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	false,
-	0xf.fffffffffffffff7fffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff7fffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380),
+	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),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2261,35 +2261,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	true,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380),
+	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),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2374,35 +2374,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528.001",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	false,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8p+16380,
-	0xf.fffffffffffffff8000000000008p+16380),
+	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),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2487,35 +2487,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918527.999",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	false,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff7fffffffffff8p+16380,
-	-0xf.fffffffffffffff7fffffffffff8p+16380),
+	-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),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2600,35 +2600,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	true,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380),
+	-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),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2713,35 +2713,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528.001",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	false,
-	-0xf.fffffffffffffff8000000000008p+16380,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380,
-	-0xf.fffffffffffffff8p+16380),
+	-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),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2826,35 +2826,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715391.999",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	INF),
+	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),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2939,35 +2939,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	INF,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	INF),
+	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),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -3052,35 +3052,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392.001",
 	false,
-	0xf.fffffp+124,
-	INF,
-	0xf.fffffp+124,
-	INF,
-	false,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	0xf.ffffffffffff8p+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	0xf.fffffffffffffffp+16380,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	0xf.fffffffffffffffffffffffffcp+1020,
-	INF,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	INF,
-	0xf.fffffffffffffffffffffffffff8p+16380,
-	INF),
+	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),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3165,35 +3165,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715391.999",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	false,
-	-INF,
-	-0xf.fffffffffffffffffffffffffff8p+16380,
-	-0xf.fffffffffffffffffffffffffff8p+16380,
-	-0xf.fffffffffffffffffffffffffff8p+16380),
+	-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),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3278,35 +3278,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffff8p+16380,
-	-0xf.fffffffffffffffffffffffffff8p+16380),
+	-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),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3391,419 +3391,419 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392.001",
 	false,
-	-INF,
-	-INF,
-	-0xf.fffffp+124,
-	-0xf.fffffp+124,
-	false,
-	-INF,
-	-INF,
-	-0xf.ffffffffffff8p+1020,
-	-0xf.ffffffffffff8p+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffp+16380,
-	-0xf.fffffffffffffffp+16380,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	-0xf.fffffffffffffffffffffffffcp+1020,
-	false,
-	-INF,
-	-INF,
-	-0xf.fffffffffffffffffffffffffff8p+16380,
-	-0xf.fffffffffffffffffffffffffff8p+16380),
+	-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),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687499e-45",
 	false,
-	0x8p-152,
-	0x8p-152,
-	0x8p-152,
-	0x1p-148,
-	false,
-	0xb.ffffffffffff8p-152,
-	0xcp-152,
-	0xb.ffffffffffff8p-152,
-	0xcp-152,
-	false,
-	0xb.fffffffffffffffp-152,
-	0xcp-152,
-	0xb.fffffffffffffffp-152,
-	0xcp-152,
-	false,
-	0xb.fffffffffffffffp-152,
-	0xcp-152,
-	0xb.fffffffffffffffp-152,
-	0xcp-152,
-	false,
-	0xb.fffffffffffffffffffffffffcp-152,
-	0xcp-152,
-	0xb.fffffffffffffffffffffffffcp-152,
-	0xcp-152,
-	false,
-	0xb.fffffffffffffffffffffffffff8p-152,
-	0xcp-152,
-	0xb.fffffffffffffffffffffffffff8p-152,
-	0xcp-152),
+	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),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"02425834686624028790902229957282543182373046875e-45",
 	false,
-	0x8p-152,
-	0x1p-148,
-	0x8p-152,
-	0x1p-148,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	true,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152),
+	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),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687501e-45",
 	false,
-	0x8p-152,
-	0x1p-148,
-	0x8p-152,
-	0x1p-148,
-	false,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xc.0000000000008p-152,
-	false,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xc.000000000000001p-152,
-	false,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xc.000000000000001p-152,
-	false,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xc.00000000000000000000000004p-152,
-	false,
-	0xcp-152,
-	0xcp-152,
-	0xcp-152,
-	0xc.0000000000000000000000000008p-152),
+	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),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687499e-45",
 	false,
-	-0x1p-148,
-	-0x8p-152,
-	-0x8p-152,
-	-0x8p-152,
-	false,
-	-0xcp-152,
-	-0xcp-152,
-	-0xb.ffffffffffff8p-152,
-	-0xb.ffffffffffff8p-152,
-	false,
-	-0xcp-152,
-	-0xcp-152,
-	-0xb.fffffffffffffffp-152,
-	-0xb.fffffffffffffffp-152,
-	false,
-	-0xcp-152,
-	-0xcp-152,
-	-0xb.fffffffffffffffp-152,
-	-0xb.fffffffffffffffp-152,
-	false,
-	-0xcp-152,
-	-0xcp-152,
-	-0xb.fffffffffffffffffffffffffcp-152,
-	-0xb.fffffffffffffffffffffffffcp-152,
-	false,
-	-0xcp-152,
-	-0xcp-152,
-	-0xb.fffffffffffffffffffffffffff8p-152,
-	-0xb.fffffffffffffffffffffffffff8p-152),
+	-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),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"602425834686624028790902229957282543182373046875e-45",
 	false,
-	-0x1p-148,
-	-0x1p-148,
-	-0x8p-152,
-	-0x8p-152,
-	true,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	true,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	true,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	true,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	true,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152),
+	-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),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687501e-45",
 	false,
-	-0x1p-148,
-	-0x1p-148,
-	-0x8p-152,
-	-0x8p-152,
-	false,
-	-0xc.0000000000008p-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	false,
-	-0xc.000000000000001p-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	false,
-	-0xc.000000000000001p-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	false,
-	-0xc.00000000000000000000000004p-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152,
-	false,
-	-0xc.0000000000000000000000000008p-152,
-	-0xcp-152,
-	-0xcp-152,
-	-0xcp-152),
+	-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),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812499e-45",
 	false,
-	0x1p-148,
-	0x1p-148,
-	0x1p-148,
-	0x1.8p-148,
-	false,
-	0x1.3ffffffffffffp-148,
-	0x1.4p-148,
-	0x1.3ffffffffffffp-148,
-	0x1.4p-148,
-	false,
-	0x1.3ffffffffffffffep-148,
-	0x1.4p-148,
-	0x1.3ffffffffffffffep-148,
-	0x1.4p-148,
-	false,
-	0x1.3ffffffffffffffep-148,
-	0x1.4p-148,
-	0x1.3ffffffffffffffep-148,
-	0x1.4p-148,
-	false,
-	0x1.3fffffffffffffffffffffffff8p-148,
-	0x1.4p-148,
-	0x1.3fffffffffffffffffffffffff8p-148,
-	0x1.4p-148,
-	false,
-	0x1.3fffffffffffffffffffffffffffp-148,
-	0x1.4p-148,
-	0x1.3fffffffffffffffffffffffffffp-148,
-	0x1.4p-148),
+	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),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"70709724477706714651503716595470905303955078125e-45",
 	false,
-	0x1p-148,
-	0x1p-148,
-	0x1p-148,
-	0x1.8p-148,
-	true,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	true,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	true,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	true,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	true,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148),
+	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),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812501e-45",
 	false,
-	0x1p-148,
-	0x1.8p-148,
-	0x1p-148,
-	0x1.8p-148,
-	false,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4000000000001p-148,
-	false,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4000000000000002p-148,
-	false,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4000000000000002p-148,
-	false,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.400000000000000000000000008p-148,
-	false,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4p-148,
-	0x1.4000000000000000000000000001p-148),
+	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),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812499e-45",
 	false,
-	-0x1.8p-148,
-	-0x1p-148,
-	-0x1p-148,
-	-0x1p-148,
-	false,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.3ffffffffffffp-148,
-	-0x1.3ffffffffffffp-148,
-	false,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.3ffffffffffffffep-148,
-	-0x1.3ffffffffffffffep-148,
-	false,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.3ffffffffffffffep-148,
-	-0x1.3ffffffffffffffep-148,
-	false,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.3fffffffffffffffffffffffff8p-148,
-	-0x1.3fffffffffffffffffffffffff8p-148,
-	false,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.3fffffffffffffffffffffffffffp-148,
-	-0x1.3fffffffffffffffffffffffffffp-148),
+	-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),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"670709724477706714651503716595470905303955078125e-45",
 	false,
-	-0x1.8p-148,
-	-0x1p-148,
-	-0x1p-148,
-	-0x1p-148,
-	true,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	true,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	true,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	true,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	true,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148),
+	-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),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812501e-45",
 	false,
-	-0x1.8p-148,
-	-0x1.8p-148,
-	-0x1p-148,
-	-0x1p-148,
-	false,
-	-0x1.4000000000001p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	false,
-	-0x1.4000000000000002p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	false,
-	-0x1.4000000000000002p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	false,
-	-0x1.400000000000000000000000008p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	false,
-	-0x1.4000000000000000000000000001p-148,
-	-0x1.4p-148,
-	-0x1.4p-148,
-	-0x1.4p-148),
+	-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),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3818,35 +3818,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437499e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x4p-1076,
-	0x4p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	false,
-	0x5.fffffffffffffff8p-1076,
-	0x6p-1076,
-	0x5.fffffffffffffff8p-1076,
-	0x6p-1076,
-	false,
-	0x5.fffffffffffffff8p-1076,
-	0x6p-1076,
-	0x5.fffffffffffffff8p-1076,
-	0x6p-1076,
-	false,
-	0x4p-1076,
-	0x4p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	false,
-	0x5.fffffffffffffffffffffffffffcp-1076,
-	0x6p-1076,
-	0x5.fffffffffffffffffffffffffffcp-1076,
-	0x6p-1076),
+	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),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3861,35 +3861,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"313080237596295773983001708984375e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x4p-1076,
-	0x8p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	true,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	true,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	false,
-	0x4p-1076,
-	0x8p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	true,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076),
+	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),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3904,35 +3904,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437501e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x4p-1076,
-	0x8p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	false,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6.0000000000000008p-1076,
-	false,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6.0000000000000008p-1076,
-	false,
-	0x4p-1076,
-	0x8p-1076,
-	0x4p-1076,
-	0x8p-1076,
-	false,
-	0x6p-1076,
-	0x6p-1076,
-	0x6p-1076,
-	0x6.0000000000000000000000000004p-1076),
+	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),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3947,35 +3947,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437499e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	false,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x5.fffffffffffffff8p-1076,
-	-0x5.fffffffffffffff8p-1076,
-	false,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x5.fffffffffffffff8p-1076,
-	-0x5.fffffffffffffff8p-1076,
-	false,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	false,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x5.fffffffffffffffffffffffffffcp-1076,
-	-0x5.fffffffffffffffffffffffffffcp-1076),
+	-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),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3990,35 +3990,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"6313080237596295773983001708984375e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-1076,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	true,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	true,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	false,
-	-0x8p-1076,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	true,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076),
+	-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),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -4033,35 +4033,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437501e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-1076,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	false,
-	-0x6.0000000000000008p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	false,
-	-0x6.0000000000000008p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	false,
-	-0x8p-1076,
-	-0x8p-1076,
-	-0x4p-1076,
-	-0x4p-1076,
-	false,
-	-0x6.0000000000000000000000000004p-1076,
-	-0x6p-1076,
-	-0x6p-1076,
-	-0x6p-1076),
+	-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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4255,35 +4255,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x8p-16448,
-	0x8p-16448,
-	0x1p-16444,
-	false,
-	0x8p-16448,
-	0xcp-16448,
-	0x8p-16448,
-	0xcp-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0xb.fffffffffffcp-16448,
-	0xcp-16448,
-	0xb.fffffffffffcp-16448,
-	0xcp-16448),
+	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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4477,35 +4477,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x1p-16444,
-	0x8p-16448,
-	0x1p-16444,
-	true,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448),
+	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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4699,35 +4699,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x1p-16444,
-	0x8p-16448,
-	0x1p-16444,
-	false,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0x1p-16444,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xc.000000000004p-16448),
+	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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -4921,35 +4921,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xb.fffffffffffcp-16448,
-	-0xb.fffffffffffcp-16448),
+	-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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5143,35 +5143,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	true,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448),
+	-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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5365,35 +5365,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0x1p-16444,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0xc.000000000004p-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448),
+	-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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5587,35 +5587,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x8p-16448,
-	0x8p-16448,
-	0x1p-16444,
-	false,
-	0x8p-16448,
-	0xcp-16448,
-	0x8p-16448,
-	0xcp-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0xb.fffffffffffcp-16448,
-	0xcp-16448,
-	0xb.fffffffffffcp-16448,
-	0xcp-16448),
+	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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5809,35 +5809,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x1p-16444,
-	0x8p-16448,
-	0x1p-16444,
-	true,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448),
+	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),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -6031,35 +6031,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x8p-16448,
-	0x1p-16444,
-	0x8p-16448,
-	0x1p-16444,
-	false,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0x1p-16444,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0xcp-16448,
-	0xcp-16448,
-	0xcp-16448,
-	0xc.000000000004p-16448),
+	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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6253,35 +6253,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xb.fffffffffffcp-16448,
-	-0xb.fffffffffffcp-16448),
+	-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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6475,35 +6475,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	true,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448),
+	-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),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6697,630 +6697,630 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x1p-16444,
-	-0x1p-16444,
-	-0x8p-16448,
-	-0x8p-16448,
-	false,
-	-0x1p-16444,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0xc.000000000004p-16448,
-	-0xcp-16448,
-	-0xcp-16448,
-	-0xcp-16448),
+	-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),
   TEST ("-0x0.7p-149",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	true,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	true,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	true,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	true,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152,
-	-0x3.8p-152),
+	-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),
   TEST ("-0x0.7p-1074",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	true,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076,
-	-0x1.cp-1076),
+	-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),
   TEST ("-0x0.7p-16445",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x3.8p-16448,
-	-0x3.8p-16448,
-	-0x3.8p-16448,
-	-0x3.8p-16448),
+	-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),
   TEST ("-0x0.7p-16494",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16496,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0),
+	-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),
   TEST ("0x1p-150",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152),
+	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),
   TEST ("0x1p-1075",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076),
+	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),
   TEST ("0x1p-16446",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	true,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448),
+	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),
   TEST ("0x1p-16495",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16496),
+	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),
   TEST ("-0x1p-150",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152),
+	-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),
   TEST ("-0x1p-1075",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076),
+	-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),
   TEST ("-0x1p-16446",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448),
+	-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),
   TEST ("-0x1p-16495",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16496,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0),
+	-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),
   TEST (".70064923216240853546186479164495807e-45",
 	false,
-	0x0p+0,
-	0x8p-152,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000004p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000008p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000008p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.00000000000000000000000002p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000000000000000004p-152),
+	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),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015624e-46",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x3.ffffffffffffep-152,
-	0x4p-152,
-	0x3.ffffffffffffep-152,
-	0x4p-152,
-	false,
-	0x3.fffffffffffffffcp-152,
-	0x4p-152,
-	0x3.fffffffffffffffcp-152,
-	0x4p-152,
-	false,
-	0x3.fffffffffffffffcp-152,
-	0x4p-152,
-	0x3.fffffffffffffffcp-152,
-	0x4p-152,
-	false,
-	0x3.ffffffffffffffffffffffffffp-152,
-	0x4p-152,
-	0x3.ffffffffffffffffffffffffffp-152,
-	0x4p-152,
-	false,
-	0x3.fffffffffffffffffffffffffffep-152,
-	0x4p-152,
-	0x3.fffffffffffffffffffffffffffep-152,
-	0x4p-152),
+	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),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015625e-46",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	true,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152),
+	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),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015626e-46",
 	false,
-	0x0p+0,
-	0x8p-152,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000004p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000008p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000008p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.00000000000000000000000002p-152,
-	false,
-	0x4p-152,
-	0x4p-152,
-	0x4p-152,
-	0x4.0000000000000000000000000004p-152),
+	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),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015624e-46",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-152,
-	-0x4p-152,
-	-0x3.ffffffffffffep-152,
-	-0x3.ffffffffffffep-152,
-	false,
-	-0x4p-152,
-	-0x4p-152,
-	-0x3.fffffffffffffffcp-152,
-	-0x3.fffffffffffffffcp-152,
-	false,
-	-0x4p-152,
-	-0x4p-152,
-	-0x3.fffffffffffffffcp-152,
-	-0x3.fffffffffffffffcp-152,
-	false,
-	-0x4p-152,
-	-0x4p-152,
-	-0x3.ffffffffffffffffffffffffffp-152,
-	-0x3.ffffffffffffffffffffffffffp-152,
-	false,
-	-0x4p-152,
-	-0x4p-152,
-	-0x3.fffffffffffffffffffffffffffep-152,
-	-0x3.fffffffffffffffffffffffffffep-152),
+	-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),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015625e-46",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	true,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152),
+	-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),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015626e-46",
 	false,
-	-0x8p-152,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4.0000000000004p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	false,
-	-0x4.0000000000000008p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	false,
-	-0x4.0000000000000008p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	false,
-	-0x4.00000000000000000000000002p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152,
-	false,
-	-0x4.0000000000000000000000000004p-152,
-	-0x4p-152,
-	-0x4p-152,
-	-0x4p-152),
+	-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),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7335,35 +7335,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328124e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x1.fffffffffffffffep-1076,
-	0x2p-1076,
-	0x1.fffffffffffffffep-1076,
-	0x2p-1076,
-	false,
-	0x1.fffffffffffffffep-1076,
-	0x2p-1076,
-	0x1.fffffffffffffffep-1076,
-	0x2p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x1.ffffffffffffffffffffffffffffp-1076,
-	0x2p-1076,
-	0x1.ffffffffffffffffffffffffffffp-1076,
-	0x2p-1076),
+	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),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7378,35 +7378,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328125e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076),
+	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),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7421,35 +7421,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328126e-324",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x4p-1076,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2.0000000000000004p-1076,
-	false,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2.0000000000000004p-1076,
-	false,
-	0x0p+0,
-	0x4p-1076,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x2p-1076,
-	0x2p-1076,
-	0x2p-1076,
-	0x2.0000000000000000000000000002p-1076),
+	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),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7464,35 +7464,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328124e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x1.fffffffffffffffep-1076,
-	-0x1.fffffffffffffffep-1076,
-	false,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x1.fffffffffffffffep-1076,
-	-0x1.fffffffffffffffep-1076,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x1.ffffffffffffffffffffffffffffp-1076,
-	-0x1.ffffffffffffffffffffffffffffp-1076),
+	-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),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7507,35 +7507,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328125e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076),
+	-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),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7550,35 +7550,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328126e-324",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2.0000000000000004p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	false,
-	-0x2.0000000000000004p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	false,
-	-0x4p-1076,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2.0000000000000000000000000002p-1076,
-	-0x2p-1076,
-	-0x2p-1076,
-	-0x2p-1076),
+	-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),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7772,35 +7772,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515624e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x4p-16448,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x3.fffffffffffcp-16448,
-	0x4p-16448,
-	0x3.fffffffffffcp-16448,
-	0x4p-16448),
+	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),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7994,35 +7994,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515625e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	true,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448),
+	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),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -8216,35 +8216,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515626e-4951",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x8p-16448,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x4p-16448,
-	0x4p-16448,
-	0x4p-16448,
-	0x4.000000000004p-16448),
+	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),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8438,35 +8438,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515624e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x3.fffffffffffcp-16448,
-	-0x3.fffffffffffcp-16448),
+	-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),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8660,35 +8660,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515625e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448),
+	-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),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8882,35 +8882,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515626e-4951",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4.000000000004p-16448,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x4p-16448),
+	-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),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9104,35 +9104,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578124e-4952",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x1.fffffffffffcp-16448,
-	0x2p-16448,
-	0x1.fffffffffffcp-16448,
-	0x2p-16448),
+	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),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9326,35 +9326,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578125e-4952",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	true,
-	0x2p-16448,
-	0x2p-16448,
-	0x2p-16448,
-	0x2p-16448),
+	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),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9548,35 +9548,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578126e-4952",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x4p-16448,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x2p-16448,
-	0x2p-16448,
-	0x2p-16448,
-	0x2.000000000004p-16448),
+	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),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9770,35 +9770,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578124e-4952",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2p-16448,
-	-0x2p-16448,
-	-0x1.fffffffffffcp-16448,
-	-0x1.fffffffffffcp-16448),
+	-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),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9992,35 +9992,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578125e-4952",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	true,
-	-0x2p-16448,
-	-0x2p-16448,
-	-0x2p-16448,
-	-0x2p-16448),
+	-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),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -10214,35 +10214,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578126e-4952",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x2.000000000004p-16448,
-	-0x2p-16448,
-	-0x2p-16448,
-	-0x2p-16448),
+	-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),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10437,35 +10437,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578124e-4966",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16496),
+	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),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10660,35 +10660,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578125e-4966",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16496),
+	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),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10883,35 +10883,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578126e-4966",
 	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-152,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x8p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-16448,
-	false,
-	0x0p+0,
-	0x0p+0,
-	0x0p+0,
-	0x4p-1076,
-	false,
-	0x0p+0,
-	0x4p-16496,
-	0x0p+0,
-	0x4p-16496),
+	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),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11106,35 +11106,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578124e-4966",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16496,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0),
+	-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),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11329,35 +11329,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578125e-4966",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16496,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0),
+	-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),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11552,33 +11552,424 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578126e-4966",
 	false,
-	-0x8p-152,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x8p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16448,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-1076,
-	-0x0p+0,
-	-0x0p+0,
-	-0x0p+0,
-	false,
-	-0x4p-16496,
-	-0x4p-16496,
-	-0x0p+0,
-	-0x0p+0),
+	-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),
+  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),
+  TEST ("179769313486231590772930519078902473361797697894230657273430"
+	"081157732675805500963132708477322407536021120113879871393357"
+	"658789768814416622492847430639474124377767893424865485276302"
+	"219601246094119453082952085005768838150682342462881473913110"
+	"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),
+  TEST ("118973149535723176508575932662800713076344468709651023747267"
+	"482123326135818048368690448859547261203991511543748483930925"
+	"889766738130868742627452469834156500608087163436600489752214"
+	"325161953144684595234570948213584703664746483098478471428096"
+	"784561413847604433840488612290528685531323615869599988579010"
+	"635701812081536332078096432371275716429061340687520241736532"
+	"395026788008906751737227061083564754575578079343162221345190"
+	"381785963069031134385065753936064964519328317829176765896540"
+	"528511355613436979328172588801590841467528983253806341923488"
+	"859989898062311402512167447205187243932132319840294270534136"
+	"695127473901459381689828899444517340036461792837713807441134"
+	"579184857359507717043764419174388964488537768473832224060823"
+	"907906139947567533473978401649174262148522901484767233597789"
+	"715839733422634973481144165307775825098892603089478960467615"
+	"310425726014180682302758800344195145532770159807128158959716"
+	"941396560843950498317125506228202662620004804214980820000206"
+	"099343368123762385788062747972707287748283843870504803416463"
+	"333701338540599804070190866238730160501818826257372376627924"
+	"079893171770880790174026540793097641964887786960401751769193"
+	"868798808800894425125882696968836419413394578015784436494605"
+	"271365545490632718742853189510027869511932349680870363043619"
+	"392759269234482081283429736447868686206416904245855513653205"
+	"505050818989186684686379991764754729137157350070101519755909"
+	"745304003303152068351821649419563669607774811059828490134361"
+	"146921427412181049507797927555664516498385006205106651708464"
+	"736946403664056933946483717218335295687391204264000361161878"
+	"927819571005209456276130670355184033011064510199543516762668"
+	"866962776382060434248035790641535421273294675607300690708887"
+	"049612505006815665925276129766406549834749266179882406231221"
+	"040927458456558726484641765016012317587403472626195728908146"
+	"619765155383074442470969863475362777035622712614505254912522"
+	"944804014911479568135987596851280857524427187145545408489498"
+	"615502079480698093921565805531916564168110596645415995147690"
+	"858312972150329881658514207306148088802176981833841712939687"
+	"837145957584605258314292844724970369854812529577592093645002"
+	"265142724994958070820396608284755092189115213332104801197388"
+	"363657782553332598885215632543933502131531213408139045102125"
+	"536370790349591696312592420116787719010893525591453948821689"
+	"711794326937360863907447279275111671512710639642508135355313"
+	"721355289053980260297864531979510097643293909192466022887891"
+	"290065421011828729829870738215971718456954051540302917330729"
+	"245439178956867421964076145117360061775218699191336683703388"
+	"720158207162586824713310451331509727471344272834060664289040"
+	"649663610444321775281122747002916285809372770104964649954022"
+	"098398193278661320425422646424368961010742992319763868154583"
+	"756177353556898453605362723442427710576092486402378162966552"
+	"631491090696048807347521700512113631187043992576250866603256"
+	"621375041669571991967422321060672472137347123402161354071218"
+	"823990970197194394434748031421790388631776777992153989217733"
+	"434436890755031880083354685234437032708928414750164058944848"
+	"200125423738668007445734191093377489195968101651606910614990"
+	"557242581089558693883306749020490036862416630196855300568704"
+	"028509545048484007352864382657040376715728651238025510995451"
+	"885701347658818930000413884971588313986607154757481647672763"
+	"511643546280440111271139252918057079419342268681835321279906"
+	"897224769719147426815791219597379419280729888695236110088026"
+	"425880132092804001192815397080113074133955000329901592497825"
+	"993697435872628614398052011245436927111408374791900780340659"
+	"632135341700406886944340547214067596364099740500922580350567"
+	"272646509550626733926889242436456189766190689842418677049103"
+	"534408039924832709791171288114017038418205860161475828420075"
+	"018350032935849969186406659053966070906953738160188767904665"
+	"775965458800193711777134469832642879262289433801611244553353"
+	"944708746204976340914754209924881552139592938800771117201789"
+	"489779370660427348098516102881545878791116097911342243355754"
+	"917090544202639727569528320730533184541999074934781052400619"
+	"419720059165214786719369625433786498160383314635420170062881"
+	"794717751811521767435201651117234772772707522005617774821892"
+	"859715834674454133710735842775791966056258388382326217896169"
+	"178722611886563276493428877240585975487775986923553065392993"
+	"790119361166900747235474636076460187244203137994413982436682"
+	"869879021292299617419272862589172005761250934910048254596415"
+	"204647792511444650073216410909934525979945569009557678868639"
+	"748706194885474902486360792185783420579379718883477965627347"
+	"911238858570642483637907235541028678701852740165393421988836"
+	"106194967196105506868696146801903562974942408658719504100440"
+	"491526647627276107051156838706340126413651723721140991645879"
+	"634762494921590453393721093752046579830017540801753886231271"
+	"904236103712933889658602815004659607887244436556448054568903"
+	"357595570298839671974452821298414257848395400508426432773084"
+	"098542002140906948541232080526852009414679887611041458317039"
+	"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),
+  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),
+  TEST ("-17976931348623159077293051907890247336179769789423065727343"
+	"008115773267580550096313270847732240753602112011387987139335"
+	"765878976881441662249284743063947412437776789342486548527630"
+	"221960124609411945308295208500576883815068234246288147391311"
+	"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),
+  TEST ("-11897314953572317650857593266280071307634446870965102374726"
+	"748212332613581804836869044885954726120399151154374848393092"
+	"588976673813086874262745246983415650060808716343660048975221"
+	"432516195314468459523457094821358470366474648309847847142809"
+	"678456141384760443384048861229052868553132361586959998857901"
+	"063570181208153633207809643237127571642906134068752024173653"
+	"239502678800890675173722706108356475457557807934316222134519"
+	"038178596306903113438506575393606496451932831782917676589654"
+	"052851135561343697932817258880159084146752898325380634192348"
+	"885998989806231140251216744720518724393213231984029427053413"
+	"669512747390145938168982889944451734003646179283771380744113"
+	"457918485735950771704376441917438896448853776847383222406082"
+	"390790613994756753347397840164917426214852290148476723359778"
+	"971583973342263497348114416530777582509889260308947896046761"
+	"531042572601418068230275880034419514553277015980712815895971"
+	"694139656084395049831712550622820266262000480421498082000020"
+	"609934336812376238578806274797270728774828384387050480341646"
+	"333370133854059980407019086623873016050181882625737237662792"
+	"407989317177088079017402654079309764196488778696040175176919"
+	"386879880880089442512588269696883641941339457801578443649460"
+	"527136554549063271874285318951002786951193234968087036304361"
+	"939275926923448208128342973644786868620641690424585551365320"
+	"550505081898918668468637999176475472913715735007010151975590"
+	"974530400330315206835182164941956366960777481105982849013436"
+	"114692142741218104950779792755566451649838500620510665170846"
+	"473694640366405693394648371721833529568739120426400036116187"
+	"892781957100520945627613067035518403301106451019954351676266"
+	"886696277638206043424803579064153542127329467560730069070888"
+	"704961250500681566592527612976640654983474926617988240623122"
+	"104092745845655872648464176501601231758740347262619572890814"
+	"661976515538307444247096986347536277703562271261450525491252"
+	"294480401491147956813598759685128085752442718714554540848949"
+	"861550207948069809392156580553191656416811059664541599514769"
+	"085831297215032988165851420730614808880217698183384171293968"
+	"783714595758460525831429284472497036985481252957759209364500"
+	"226514272499495807082039660828475509218911521333210480119738"
+	"836365778255333259888521563254393350213153121340813904510212"
+	"553637079034959169631259242011678771901089352559145394882168"
+	"971179432693736086390744727927511167151271063964250813535531"
+	"372135528905398026029786453197951009764329390919246602288789"
+	"129006542101182872982987073821597171845695405154030291733072"
+	"924543917895686742196407614511736006177521869919133668370338"
+	"872015820716258682471331045133150972747134427283406066428904"
+	"064966361044432177528112274700291628580937277010496464995402"
+	"209839819327866132042542264642436896101074299231976386815458"
+	"375617735355689845360536272344242771057609248640237816296655"
+	"263149109069604880734752170051211363118704399257625086660325"
+	"662137504166957199196742232106067247213734712340216135407121"
+	"882399097019719439443474803142179038863177677799215398921773"
+	"343443689075503188008335468523443703270892841475016405894484"
+	"820012542373866800744573419109337748919596810165160691061499"
+	"055724258108955869388330674902049003686241663019685530056870"
+	"402850954504848400735286438265704037671572865123802551099545"
+	"188570134765881893000041388497158831398660715475748164767276"
+	"351164354628044011127113925291805707941934226868183532127990"
+	"689722476971914742681579121959737941928072988869523611008802"
+	"642588013209280400119281539708011307413395500032990159249782"
+	"599369743587262861439805201124543692711140837479190078034065"
+	"963213534170040688694434054721406759636409974050092258035056"
+	"727264650955062673392688924243645618976619068984241867704910"
+	"353440803992483270979117128811401703841820586016147582842007"
+	"501835003293584996918640665905396607090695373816018876790466"
+	"577596545880019371177713446983264287926228943380161124455335"
+	"394470874620497634091475420992488155213959293880077111720178"
+	"948977937066042734809851610288154587879111609791134224335575"
+	"491709054420263972756952832073053318454199907493478105240061"
+	"941972005916521478671936962543378649816038331463542017006288"
+	"179471775181152176743520165111723477277270752200561777482189"
+	"285971583467445413371073584277579196605625838838232621789616"
+	"917872261188656327649342887724058597548777598692355306539299"
+	"379011936116690074723547463607646018724420313799441398243668"
+	"286987902129229961741927286258917200576125093491004825459641"
+	"520464779251144465007321641090993452597994556900955767886863"
+	"974870619488547490248636079218578342057937971888347796562734"
+	"791123885857064248363790723554102867870185274016539342198883"
+	"610619496719610550686869614680190356297494240865871950410044"
+	"049152664762727610705115683870634012641365172372114099164587"
+	"963476249492159045339372109375204657983001754080175388623127"
+	"190423610371293388965860281500465960788724443655644805456890"
+	"335759557029883967197445282129841425784839540050842643277308"
+	"409854200214090694854123208052685200941467988761104145831703"
+	"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),
+  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),
 };