about summary refs log tree commit diff
path: root/stdlib/tst-strtod-round.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-08-27 16:01:27 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-08-27 16:02:07 +0000
commitaf92131a8eb7c2661a5bb0e31dc4cb028c85e0c6 (patch)
tree314e393e8358ea722cc43c6a6ac8660fa5e71e6b /stdlib/tst-strtod-round.c
parentd6e70f4368533224e66d10b7f2126b899a3fd5e4 (diff)
downloadglibc-af92131a8eb7c2661a5bb0e31dc4cb028c85e0c6.tar.gz
glibc-af92131a8eb7c2661a5bb0e31dc4cb028c85e0c6.tar.xz
glibc-af92131a8eb7c2661a5bb0e31dc4cb028c85e0c6.zip
Fix strtod rounding (bug 3479).
Diffstat (limited to 'stdlib/tst-strtod-round.c')
-rw-r--r--stdlib/tst-strtod-round.c6298
1 files changed, 6298 insertions, 0 deletions
diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c
new file mode 100644
index 0000000000..74385000c8
--- /dev/null
+++ b/stdlib/tst-strtod-round.c
@@ -0,0 +1,6298 @@
+/* Test for correct rounding of results of strtod and related
+   functions.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <float.h>
+#include <math.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+struct test {
+  const char *s;
+  float f;
+  double d;
+  bool ld_ok;
+  long double ld;
+};
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \
+	      ld64d, ld64n, ld64z, ld64u, ld106exact,			\
+	      ld106d, ld106n, ld106z, ld106u,				\
+	      ld113d, ld113n, ld113z, ld113u)				\
+  { s, fn, dn, true, ld53n }
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
+# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \
+	      ld64d, ld64n, ld64z, ld64u, ld106exact,			\
+	      ld106d, ld106n, ld106z, ld106u,				\
+	      ld113d, ld113n, ld113z, ld113u)				\
+  { s, fn, dn, true, ld64n }
+#elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024
+# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \
+	      ld64d, ld64n, ld64z, ld64u, ld106exact,			\
+	      ld106d, ld106n, ld106z, ld106u,				\
+	      ld113d, ld113n, ld113z, ld113u)				\
+  { s, fn, dn, ld106exact, ld106n }
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
+# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \
+	      ld64d, ld64n, ld64z, ld64u, ld106exact,			\
+	      ld106d, ld106n, ld106z, ld106u,				\
+	      ld113d, ld113n, ld113z, ld113u)				\
+  { s, fn, dn, true, ld113n }
+#else
+# error "unknown long double format"
+#endif
+
+/* These tests are generated by gen-tst-strtod-round.c from
+   tst-strtod-round-data.  */
+
+static const struct test tests[] = {
+  TEST ("3.518437208883201171875E+013",
+	0x2p+44f,
+	0x2p+44f,
+	0x2p+44f,
+	0x2.000004p+44f,
+	0x2.0000000000002p+44,
+	0x2.0000000000004p+44,
+	0x2.0000000000002p+44,
+	0x2.0000000000004p+44,
+	0x2.0000000000002p+44L,
+	0x2.0000000000004p+44L,
+	0x2.0000000000002p+44L,
+	0x2.0000000000004p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	true,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L,
+	0x2.0000000000003p+44L),
+  TEST ("1.00000005960464477550",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000004p+0L,
+	false,
+	0x1.0000010000000002048242f2ffp+0L,
+	0x1.0000010000000002048242f2ff8p+0L,
+	0x1.0000010000000002048242f2ffp+0L,
+	0x1.0000010000000002048242f2ff8p+0L,
+	0x1.0000010000000002048242f2ff66p+0L,
+	0x1.0000010000000002048242f2ff67p+0L,
+	0x1.0000010000000002048242f2ff66p+0L,
+	0x1.0000010000000002048242f2ff67p+0L),
+  TEST ("1.0000000596046447755",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000002p+0L,
+	0x1.0000010000000004p+0L,
+	false,
+	0x1.0000010000000002048242f2ffp+0L,
+	0x1.0000010000000002048242f2ff8p+0L,
+	0x1.0000010000000002048242f2ffp+0L,
+	0x1.0000010000000002048242f2ff8p+0L,
+	0x1.0000010000000002048242f2ff66p+0L,
+	0x1.0000010000000002048242f2ff67p+0L,
+	0x1.0000010000000002048242f2ff66p+0L,
+	0x1.0000010000000002048242f2ff67p+0L),
+  TEST ("1.000000059604644776",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.000001000000000ap+0L,
+	0x1.000001000000000cp+0L,
+	0x1.000001000000000ap+0L,
+	0x1.000001000000000cp+0L,
+	false,
+	0x1.000001000000000b3db12bdc21p+0L,
+	0x1.000001000000000b3db12bdc21p+0L,
+	0x1.000001000000000b3db12bdc21p+0L,
+	0x1.000001000000000b3db12bdc218p+0L,
+	0x1.000001000000000b3db12bdc213cp+0L,
+	0x1.000001000000000b3db12bdc213dp+0L,
+	0x1.000001000000000b3db12bdc213cp+0L,
+	0x1.000001000000000b3db12bdc213dp+0L),
+  TEST ("1.000000059604644775",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffffffp+0,
+	0x1.000001p+0,
+	0x1.000000fffffffp+0,
+	0x1.000001p+0,
+	0x1.000000fffffffp+0L,
+	0x1.000001p+0L,
+	0x1.000000fffffffp+0L,
+	0x1.000001p+0L,
+	0x1.000000fffffffff8p+0L,
+	0x1.000000fffffffff8p+0L,
+	0x1.000000fffffffff8p+0L,
+	0x1.000000fffffffffap+0L,
+	false,
+	0x1.000000fffffffff8cb535a09dd8p+0L,
+	0x1.000000fffffffff8cb535a09dd8p+0L,
+	0x1.000000fffffffff8cb535a09dd8p+0L,
+	0x1.000000fffffffff8cb535a09dep+0L,
+	0x1.000000fffffffff8cb535a09dd9p+0L,
+	0x1.000000fffffffff8cb535a09dd91p+0L,
+	0x1.000000fffffffff8cb535a09dd9p+0L,
+	0x1.000000fffffffff8cb535a09dd91p+0L),
+  TEST ("1.00000005960464478",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.0000010000000054p+0L,
+	0x1.0000010000000056p+0L,
+	0x1.0000010000000054p+0L,
+	0x1.0000010000000056p+0L,
+	false,
+	0x1.0000010000000055072873252f8p+0L,
+	0x1.0000010000000055072873253p+0L,
+	0x1.0000010000000055072873252f8p+0L,
+	0x1.0000010000000055072873253p+0L,
+	0x1.0000010000000055072873252febp+0L,
+	0x1.0000010000000055072873252febp+0L,
+	0x1.0000010000000055072873252febp+0L,
+	0x1.0000010000000055072873252fecp+0L),
+  TEST ("1.0000000596046448",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.00000100000001c4p+0L,
+	0x1.00000100000001c6p+0L,
+	0x1.00000100000001c4p+0L,
+	0x1.00000100000001c6p+0L,
+	false,
+	0x1.00000100000001c5f67cd79279p+0L,
+	0x1.00000100000001c5f67cd792798p+0L,
+	0x1.00000100000001c5f67cd79279p+0L,
+	0x1.00000100000001c5f67cd792798p+0L,
+	0x1.00000100000001c5f67cd7927953p+0L,
+	0x1.00000100000001c5f67cd7927954p+0L,
+	0x1.00000100000001c5f67cd7927953p+0L,
+	0x1.00000100000001c5f67cd7927954p+0L),
+  TEST ("1.000000059604645",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.0000010000001p+0,
+	0x1.0000010000001p+0,
+	0x1.0000010000001p+0,
+	0x1.0000010000002p+0,
+	0x1.0000010000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.0000010000002p+0L,
+	0x1.000001000000102ep+0L,
+	0x1.000001000000103p+0L,
+	0x1.000001000000102ep+0L,
+	0x1.000001000000103p+0L,
+	false,
+	0x1.000001000000102f4fc8c3d757p+0L,
+	0x1.000001000000102f4fc8c3d7578p+0L,
+	0x1.000001000000102f4fc8c3d757p+0L,
+	0x1.000001000000102f4fc8c3d7578p+0L,
+	0x1.000001000000102f4fc8c3d75769p+0L,
+	0x1.000001000000102f4fc8c3d75769p+0L,
+	0x1.000001000000102f4fc8c3d75769p+0L,
+	0x1.000001000000102f4fc8c3d7576ap+0L),
+  TEST ("1.00000005960464",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffffeap+0,
+	0x1.000000fffffeap+0,
+	0x1.000000fffffeap+0,
+	0x1.000000fffffebp+0,
+	0x1.000000fffffeap+0L,
+	0x1.000000fffffeap+0L,
+	0x1.000000fffffeap+0L,
+	0x1.000000fffffebp+0L,
+	0x1.000000fffffea7e4p+0L,
+	0x1.000000fffffea7e6p+0L,
+	0x1.000000fffffea7e4p+0L,
+	0x1.000000fffffea7e6p+0L,
+	false,
+	0x1.000000fffffea7e5975eb11da7p+0L,
+	0x1.000000fffffea7e5975eb11da78p+0L,
+	0x1.000000fffffea7e5975eb11da7p+0L,
+	0x1.000000fffffea7e5975eb11da78p+0L,
+	0x1.000000fffffea7e5975eb11da74ap+0L,
+	0x1.000000fffffea7e5975eb11da74bp+0L,
+	0x1.000000fffffea7e5975eb11da74ap+0L,
+	0x1.000000fffffea7e5975eb11da74bp+0L),
+  TEST ("1.0000000596046",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffff36p+0,
+	0x1.000000fffff36p+0,
+	0x1.000000fffff36p+0,
+	0x1.000000fffff37p+0,
+	0x1.000000fffff36p+0L,
+	0x1.000000fffff36p+0L,
+	0x1.000000fffff36p+0L,
+	0x1.000000fffff37p+0L,
+	0x1.000000fffff36596p+0L,
+	0x1.000000fffff36598p+0L,
+	0x1.000000fffff36596p+0L,
+	0x1.000000fffff36598p+0L,
+	false,
+	0x1.000000fffff36597d40e1b5026p+0L,
+	0x1.000000fffff36597d40e1b50268p+0L,
+	0x1.000000fffff36597d40e1b5026p+0L,
+	0x1.000000fffff36597d40e1b50268p+0L,
+	0x1.000000fffff36597d40e1b502655p+0L,
+	0x1.000000fffff36597d40e1b502656p+0L,
+	0x1.000000fffff36597d40e1b502655p+0L,
+	0x1.000000fffff36597d40e1b502656p+0L),
+  TEST ("1.000000059605",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001000063fp+0,
+	0x1.000001000064p+0,
+	0x1.000001000063fp+0,
+	0x1.000001000064p+0,
+	0x1.000001000063fp+0L,
+	0x1.000001000064p+0L,
+	0x1.000001000063fp+0L,
+	0x1.000001000064p+0L,
+	0x1.000001000063fcap+0L,
+	0x1.000001000063fca2p+0L,
+	0x1.000001000063fcap+0L,
+	0x1.000001000063fca2p+0L,
+	false,
+	0x1.000001000063fca17533f5572f8p+0L,
+	0x1.000001000063fca17533f5573p+0L,
+	0x1.000001000063fca17533f5572f8p+0L,
+	0x1.000001000063fca17533f5573p+0L,
+	0x1.000001000063fca17533f5572fe9p+0L,
+	0x1.000001000063fca17533f5572feap+0L,
+	0x1.000001000063fca17533f5572fe9p+0L,
+	0x1.000001000063fca17533f5572feap+0L),
+  TEST ("1.00000005960",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffae49p+0,
+	0x1.000000fffae4ap+0,
+	0x1.000000fffae49p+0,
+	0x1.000000fffae4ap+0,
+	0x1.000000fffae49p+0L,
+	0x1.000000fffae4ap+0L,
+	0x1.000000fffae49p+0L,
+	0x1.000000fffae4ap+0L,
+	0x1.000000fffae49ca8p+0L,
+	0x1.000000fffae49caap+0L,
+	0x1.000000fffae49ca8p+0L,
+	0x1.000000fffae49caap+0L,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff388p+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382ep+0L),
+  TEST ("1.0000000596",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffae49p+0,
+	0x1.000000fffae4ap+0,
+	0x1.000000fffae49p+0,
+	0x1.000000fffae4ap+0,
+	0x1.000000fffae49p+0L,
+	0x1.000000fffae4ap+0L,
+	0x1.000000fffae49p+0L,
+	0x1.000000fffae4ap+0L,
+	0x1.000000fffae49ca8p+0L,
+	0x1.000000fffae49caap+0L,
+	0x1.000000fffae49ca8p+0L,
+	0x1.000000fffae49caap+0L,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff38p+0L,
+	0x1.000000fffae49ca916dacfff388p+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382dp+0L,
+	0x1.000000fffae49ca916dacfff382ep+0L),
+  TEST ("1.000000060",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.00000101b2b29p+0,
+	0x1.00000101b2b2ap+0,
+	0x1.00000101b2b29p+0,
+	0x1.00000101b2b2ap+0,
+	0x1.00000101b2b29p+0L,
+	0x1.00000101b2b2ap+0L,
+	0x1.00000101b2b29p+0L,
+	0x1.00000101b2b2ap+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a48p+0L,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca38p+0L,
+	0x1.00000101b2b29a4692b67b7ca313p+0L,
+	0x1.00000101b2b29a4692b67b7ca314p+0L,
+	0x1.00000101b2b29a4692b67b7ca313p+0L,
+	0x1.00000101b2b29a4692b67b7ca314p+0L),
+  TEST ("1.00000006",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.00000101b2b29p+0,
+	0x1.00000101b2b2ap+0,
+	0x1.00000101b2b29p+0,
+	0x1.00000101b2b2ap+0,
+	0x1.00000101b2b29p+0L,
+	0x1.00000101b2b2ap+0L,
+	0x1.00000101b2b29p+0L,
+	0x1.00000101b2b2ap+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a46p+0L,
+	0x1.00000101b2b29a48p+0L,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca3p+0L,
+	0x1.00000101b2b29a4692b67b7ca38p+0L,
+	0x1.00000101b2b29a4692b67b7ca313p+0L,
+	0x1.00000101b2b29a4692b67b7ca314p+0L,
+	0x1.00000101b2b29a4692b67b7ca313p+0L,
+	0x1.00000101b2b29a4692b67b7ca314p+0L),
+  TEST ("1.0000001",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001ad7f29ap+0,
+	0x1.000001ad7f29bp+0,
+	0x1.000001ad7f29ap+0,
+	0x1.000001ad7f29bp+0,
+	0x1.000001ad7f29ap+0L,
+	0x1.000001ad7f29bp+0L,
+	0x1.000001ad7f29ap+0L,
+	0x1.000001ad7f29bp+0L,
+	0x1.000001ad7f29abcap+0L,
+	0x1.000001ad7f29abcap+0L,
+	0x1.000001ad7f29abcap+0L,
+	0x1.000001ad7f29abccp+0L,
+	false,
+	0x1.000001ad7f29abcaf485787a65p+0L,
+	0x1.000001ad7f29abcaf485787a65p+0L,
+	0x1.000001ad7f29abcaf485787a65p+0L,
+	0x1.000001ad7f29abcaf485787a658p+0L,
+	0x1.000001ad7f29abcaf485787a652p+0L,
+	0x1.000001ad7f29abcaf485787a6521p+0L,
+	0x1.000001ad7f29abcaf485787a652p+0L,
+	0x1.000001ad7f29abcaf485787a6521p+0L),
+  TEST ("1.000000",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	true,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L),
+  TEST ("1.00000000000000011113",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000008p+0L,
+	0x1.0000000000000802p+0L,
+	0x1.00000000000008p+0L,
+	0x1.0000000000000802p+0L,
+	false,
+	0x1.0000000000000801fc96557232p+0L,
+	0x1.0000000000000801fc96557232p+0L,
+	0x1.0000000000000801fc96557232p+0L,
+	0x1.0000000000000801fc965572328p+0L,
+	0x1.0000000000000801fc9655723222p+0L,
+	0x1.0000000000000801fc9655723222p+0L,
+	0x1.0000000000000801fc9655723222p+0L,
+	0x1.0000000000000801fc9655723223p+0L),
+  TEST ("1.00000000000000011103",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000008p+0L,
+	0x1.00000000000008p+0L,
+	0x1.00000000000008p+0L,
+	0x1.0000000000000802p+0L,
+	false,
+	0x1.00000000000008002459c076c48p+0L,
+	0x1.00000000000008002459c076c5p+0L,
+	0x1.00000000000008002459c076c48p+0L,
+	0x1.00000000000008002459c076c5p+0L,
+	0x1.00000000000008002459c076c4f7p+0L,
+	0x1.00000000000008002459c076c4f8p+0L,
+	0x1.00000000000008002459c076c4f7p+0L,
+	0x1.00000000000008002459c076c4f8p+0L),
+  TEST ("1.00000000000000011102",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	false,
+	0x1.00000000000007fff5207e5dap+0L,
+	0x1.00000000000007fff5207e5da08p+0L,
+	0x1.00000000000007fff5207e5dap+0L,
+	0x1.00000000000007fff5207e5da08p+0L,
+	0x1.00000000000007fff5207e5da073p+0L,
+	0x1.00000000000007fff5207e5da073p+0L,
+	0x1.00000000000007fff5207e5da073p+0L,
+	0x1.00000000000007fff5207e5da074p+0L),
+  TEST ("1.00000000000000011101",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	false,
+	0x1.00000000000007ffc5e73c447b8p+0L,
+	0x1.00000000000007ffc5e73c447cp+0L,
+	0x1.00000000000007ffc5e73c447b8p+0L,
+	0x1.00000000000007ffc5e73c447cp+0L,
+	0x1.00000000000007ffc5e73c447befp+0L,
+	0x1.00000000000007ffc5e73c447befp+0L,
+	0x1.00000000000007ffc5e73c447befp+0L,
+	0x1.00000000000007ffc5e73c447bfp+0L),
+  TEST ("1.0000000000000001111",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000008p+0L,
+	0x1.0000000000000802p+0L,
+	0x1.00000000000008p+0L,
+	0x1.0000000000000802p+0L,
+	false,
+	0x1.00000000000008016eea8f26c48p+0L,
+	0x1.00000000000008016eea8f26c48p+0L,
+	0x1.00000000000008016eea8f26c48p+0L,
+	0x1.00000000000008016eea8f26c5p+0L,
+	0x1.00000000000008016eea8f26c495p+0L,
+	0x1.00000000000008016eea8f26c496p+0L,
+	0x1.00000000000008016eea8f26c495p+0L,
+	0x1.00000000000008016eea8f26c496p+0L),
+  TEST ("1.000000000000000111",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	0x1.00000000000007fep+0L,
+	0x1.00000000000008p+0L,
+	false,
+	0x1.00000000000007ff96adfa2b57p+0L,
+	0x1.00000000000007ff96adfa2b578p+0L,
+	0x1.00000000000007ff96adfa2b57p+0L,
+	0x1.00000000000007ff96adfa2b578p+0L,
+	0x1.00000000000007ff96adfa2b576ap+0L,
+	0x1.00000000000007ff96adfa2b576bp+0L,
+	0x1.00000000000007ff96adfa2b576ap+0L,
+	0x1.00000000000007ff96adfa2b576bp+0L),
+  TEST ("1.00000000000000011",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.00000000000007ecp+0L,
+	0x1.00000000000007eep+0L,
+	0x1.00000000000007ecp+0L,
+	0x1.00000000000007eep+0L,
+	false,
+	0x1.00000000000007ed24502859138p+0L,
+	0x1.00000000000007ed24502859138p+0L,
+	0x1.00000000000007ed24502859138p+0L,
+	0x1.00000000000007ed2450285914p+0L,
+	0x1.00000000000007ed2450285913bfp+0L,
+	0x1.00000000000007ed2450285913bfp+0L,
+	0x1.00000000000007ed2450285913bfp+0L,
+	0x1.00000000000007ed2450285913cp+0L),
+  TEST ("1.0000000000000001",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0,
+	0x1p+0,
+	0x1p+0,
+	0x1.0000000000001p+0,
+	0x1p+0L,
+	0x1p+0L,
+	0x1p+0L,
+	0x1.0000000000001p+0L,
+	0x1.0000000000000734p+0L,
+	0x1.0000000000000734p+0L,
+	0x1.0000000000000734p+0L,
+	0x1.0000000000000736p+0L,
+	false,
+	0x1.0000000000000734aca5f6226fp+0L,
+	0x1.0000000000000734aca5f6226fp+0L,
+	0x1.0000000000000734aca5f6226fp+0L,
+	0x1.0000000000000734aca5f6226f8p+0L,
+	0x1.0000000000000734aca5f6226f0ap+0L,
+	0x1.0000000000000734aca5f6226f0bp+0L,
+	0x1.0000000000000734aca5f6226f0ap+0L,
+	0x1.0000000000000734aca5f6226f0bp+0L),
+  TEST ("3929201589819414e-25",
+	0x1.b0053p-32f,
+	0x1.b00532p-32f,
+	0x1.b0053p-32f,
+	0x1.b00532p-32f,
+	0x1.b005314e2421ep-32,
+	0x1.b005314e2421ep-32,
+	0x1.b005314e2421ep-32,
+	0x1.b005314e2421fp-32,
+	0x1.b005314e2421ep-32L,
+	0x1.b005314e2421ep-32L,
+	0x1.b005314e2421ep-32L,
+	0x1.b005314e2421fp-32L,
+	0x1.b005314e2421e7fep-32L,
+	0x1.b005314e2421e8p-32L,
+	0x1.b005314e2421e7fep-32L,
+	0x1.b005314e2421e8p-32L,
+	false,
+	0x1.b005314e2421e7ffb472840c5ap-32L,
+	0x1.b005314e2421e7ffb472840c5a8p-32L,
+	0x1.b005314e2421e7ffb472840c5ap-32L,
+	0x1.b005314e2421e7ffb472840c5a8p-32L,
+	0x1.b005314e2421e7ffb472840c5a6ep-32L,
+	0x1.b005314e2421e7ffb472840c5a6fp-32L,
+	0x1.b005314e2421e7ffb472840c5a6ep-32L,
+	0x1.b005314e2421e7ffb472840c5a6fp-32L),
+  TEST ("0.0000000000000000000000000000000000000000000021019476964872"
+	"256063855943749348741969203929128147736576356024258346866240"
+	"28790902229957282543182373046875",
+	0x8p-152f,
+	0x1p-148f,
+	0x8p-152f,
+	0x1p-148f,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	true,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L),
+  TEST ("1.00000005960464477539062499",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000000fffffffp+0,
+	0x1.000001p+0,
+	0x1.000000fffffffp+0,
+	0x1.000001p+0,
+	0x1.000000fffffffp+0L,
+	0x1.000001p+0L,
+	0x1.000000fffffffp+0L,
+	0x1.000001p+0L,
+	0x1.000000fffffffffep+0L,
+	0x1.000001p+0L,
+	0x1.000000fffffffffep+0L,
+	0x1.000001p+0L,
+	false,
+	0x1.000000fffffffffffffffce7b78p+0L,
+	0x1.000000fffffffffffffffce7b8p+0L,
+	0x1.000000fffffffffffffffce7b78p+0L,
+	0x1.000000fffffffffffffffce7b8p+0L,
+	0x1.000000fffffffffffffffce7b7e7p+0L,
+	0x1.000000fffffffffffffffce7b7e7p+0L,
+	0x1.000000fffffffffffffffce7b7e7p+0L,
+	0x1.000000fffffffffffffffce7b7e8p+0L),
+  TEST ("1.000000059604644775390625",
+	0x1p+0f,
+	0x1p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	true,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L),
+  TEST ("1.00000005960464477539062501",
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1p+0f,
+	0x1.000002p+0f,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.000001p+0,
+	0x1.0000010000001p+0,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.000001p+0L,
+	0x1.0000010000000002p+0L,
+	false,
+	0x1.00000100000000000000031848p+0L,
+	0x1.00000100000000000000031848p+0L,
+	0x1.00000100000000000000031848p+0L,
+	0x1.000001000000000000000318488p+0L,
+	0x1.0000010000000000000003184818p+0L,
+	0x1.0000010000000000000003184819p+0L,
+	0x1.0000010000000000000003184818p+0L,
+	0x1.0000010000000000000003184819p+0L),
+  TEST ("1.00000011920928955078125",
+	0x1.000002p+0f,
+	0x1.000002p+0f,
+	0x1.000002p+0f,
+	0x1.000002p+0f,
+	0x1.000002p+0,
+	0x1.000002p+0,
+	0x1.000002p+0,
+	0x1.000002p+0,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	true,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L,
+	0x1.000002p+0L),
+  TEST ("1.00000017881393432617187499",
+	0x1.000002p+0f,
+	0x1.000002p+0f,
+	0x1.000002p+0f,
+	0x1.000004p+0f,
+	0x1.000002fffffffp+0,
+	0x1.000003p+0,
+	0x1.000002fffffffp+0,
+	0x1.000003p+0,
+	0x1.000002fffffffp+0L,
+	0x1.000003p+0L,
+	0x1.000002fffffffp+0L,
+	0x1.000003p+0L,
+	0x1.000002fffffffffep+0L,
+	0x1.000003p+0L,
+	0x1.000002fffffffffep+0L,
+	0x1.000003p+0L,
+	false,
+	0x1.000002fffffffffffffffce7b78p+0L,
+	0x1.000002fffffffffffffffce7b8p+0L,
+	0x1.000002fffffffffffffffce7b78p+0L,
+	0x1.000002fffffffffffffffce7b8p+0L,
+	0x1.000002fffffffffffffffce7b7e7p+0L,
+	0x1.000002fffffffffffffffce7b7e7p+0L,
+	0x1.000002fffffffffffffffce7b7e7p+0L,
+	0x1.000002fffffffffffffffce7b7e8p+0L),
+  TEST ("1.000000178813934326171875",
+	0x1.000002p+0f,
+	0x1.000004p+0f,
+	0x1.000002p+0f,
+	0x1.000004p+0f,
+	0x1.000003p+0,
+	0x1.000003p+0,
+	0x1.000003p+0,
+	0x1.000003p+0,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	true,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L),
+  TEST ("1.00000017881393432617187501",
+	0x1.000002p+0f,
+	0x1.000004p+0f,
+	0x1.000002p+0f,
+	0x1.000004p+0f,
+	0x1.000003p+0,
+	0x1.000003p+0,
+	0x1.000003p+0,
+	0x1.0000030000001p+0,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.0000030000001p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.000003p+0L,
+	0x1.0000030000000002p+0L,
+	false,
+	0x1.00000300000000000000031848p+0L,
+	0x1.00000300000000000000031848p+0L,
+	0x1.00000300000000000000031848p+0L,
+	0x1.000003000000000000000318488p+0L,
+	0x1.0000030000000000000003184818p+0L,
+	0x1.0000030000000000000003184819p+0L,
+	0x1.0000030000000000000003184818p+0L,
+	0x1.0000030000000000000003184819p+0L),
+  TEST ("1.0000002384185791015625",
+	0x1.000004p+0f,
+	0x1.000004p+0f,
+	0x1.000004p+0f,
+	0x1.000004p+0f,
+	0x1.000004p+0,
+	0x1.000004p+0,
+	0x1.000004p+0,
+	0x1.000004p+0,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	true,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L,
+	0x1.000004p+0L),
+  TEST ("1.08420217248550443400745280086994171142578125e-19",
+	0x2p-64f,
+	0x2p-64f,
+	0x2p-64f,
+	0x2p-64f,
+	0x2p-64,
+	0x2p-64,
+	0x2p-64,
+	0x2p-64,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	true,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L,
+	0x2p-64L),
+  TEST ("1.0842022371089897897127399001987457793916291848290711641311"
+	"645507812499e-19",
+	0x2p-64f,
+	0x2p-64f,
+	0x2p-64f,
+	0x2.000004p-64f,
+	0x2.000001ffffffep-64,
+	0x2.000002p-64,
+	0x2.000001ffffffep-64,
+	0x2.000002p-64,
+	0x2.000001ffffffep-64L,
+	0x2.000002p-64L,
+	0x2.000001ffffffep-64L,
+	0x2.000002p-64L,
+	0x2.000001fffffffffcp-64L,
+	0x2.000002p-64L,
+	0x2.000001fffffffffcp-64L,
+	0x2.000002p-64L,
+	false,
+	0x2.000001ffffffffffffffffffffp-64L,
+	0x2.000002p-64L,
+	0x2.000001ffffffffffffffffffffp-64L,
+	0x2.000002p-64L,
+	0x2.000001fffffffffffffffffffffep-64L,
+	0x2.000002p-64L,
+	0x2.000001fffffffffffffffffffffep-64L,
+	0x2.000002p-64L),
+  TEST ("1.0842022371089897897127399001987457793916291848290711641311"
+	"6455078125e-19",
+	0x2p-64f,
+	0x2p-64f,
+	0x2p-64f,
+	0x2.000004p-64f,
+	0x2.000002p-64,
+	0x2.000002p-64,
+	0x2.000002p-64,
+	0x2.000002p-64,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	true,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L),
+  TEST ("1.0842022371089897897127399001987457793916291848290711641311"
+	"645507812501e-19",
+	0x2p-64f,
+	0x2.000004p-64f,
+	0x2p-64f,
+	0x2.000004p-64f,
+	0x2.000002p-64,
+	0x2.000002p-64,
+	0x2.000002p-64,
+	0x2.0000020000002p-64,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.0000020000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.0000020000000004p-64L,
+	false,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.00000200000000000000000001p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.000002p-64L,
+	0x2.0000020000000000000000000002p-64L),
+  TEST ("1.0842023017324751454180269995275498473574771196581423282623"
+	"291015625e-19",
+	0x2.000004p-64f,
+	0x2.000004p-64f,
+	0x2.000004p-64f,
+	0x2.000004p-64f,
+	0x2.000004p-64,
+	0x2.000004p-64,
+	0x2.000004p-64,
+	0x2.000004p-64,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	true,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L,
+	0x2.000004p-64L),
+  TEST ("1.0842023663559605011233140988563539153233250544872134923934"
+	"936523437499e-19",
+	0x2.000004p-64f,
+	0x2.000004p-64f,
+	0x2.000004p-64f,
+	0x2.000008p-64f,
+	0x2.000005ffffffep-64,
+	0x2.000006p-64,
+	0x2.000005ffffffep-64,
+	0x2.000006p-64,
+	0x2.000005ffffffep-64L,
+	0x2.000006p-64L,
+	0x2.000005ffffffep-64L,
+	0x2.000006p-64L,
+	0x2.000005fffffffffcp-64L,
+	0x2.000006p-64L,
+	0x2.000005fffffffffcp-64L,
+	0x2.000006p-64L,
+	false,
+	0x2.000005ffffffffffffffffffffp-64L,
+	0x2.000006p-64L,
+	0x2.000005ffffffffffffffffffffp-64L,
+	0x2.000006p-64L,
+	0x2.000005fffffffffffffffffffffep-64L,
+	0x2.000006p-64L,
+	0x2.000005fffffffffffffffffffffep-64L,
+	0x2.000006p-64L),
+  TEST ("1.0842023663559605011233140988563539153233250544872134923934"
+	"9365234375e-19",
+	0x2.000004p-64f,
+	0x2.000008p-64f,
+	0x2.000004p-64f,
+	0x2.000008p-64f,
+	0x2.000006p-64,
+	0x2.000006p-64,
+	0x2.000006p-64,
+	0x2.000006p-64,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	true,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L),
+  TEST ("1.0842023663559605011233140988563539153233250544872134923934"
+	"936523437501e-19",
+	0x2.000004p-64f,
+	0x2.000008p-64f,
+	0x2.000004p-64f,
+	0x2.000008p-64f,
+	0x2.000006p-64,
+	0x2.000006p-64,
+	0x2.000006p-64,
+	0x2.0000060000002p-64,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.0000060000002p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.0000060000000004p-64L,
+	false,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.00000600000000000000000001p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.000006p-64L,
+	0x2.0000060000000000000000000002p-64L),
+  TEST ("1.0842024309794458568286011981851579832891729893162846565246"
+	"58203125e-19",
+	0x2.000008p-64f,
+	0x2.000008p-64f,
+	0x2.000008p-64f,
+	0x2.000008p-64f,
+	0x2.000008p-64,
+	0x2.000008p-64,
+	0x2.000008p-64,
+	0x2.000008p-64,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	true,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L,
+	0x2.000008p-64L),
+  TEST ("7.5231638452626400509999138382223723380394595633413601376560"
+	"1092018187046051025390625e-37",
+	0x1p-120f,
+	0x1p-120f,
+	0x1p-120f,
+	0x1p-120f,
+	0x1p-120,
+	0x1p-120,
+	0x1p-120,
+	0x1p-120,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	true,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L,
+	0x1p-120L),
+  TEST ("7.5231642936781486349413765338158389908126215730251815381410"
+	"578824437213052434003657253924757242202758789062499e-37",
+	0x1p-120f,
+	0x1p-120f,
+	0x1p-120f,
+	0x1.000002p-120f,
+	0x1.000000fffffffp-120,
+	0x1.000001p-120,
+	0x1.000000fffffffp-120,
+	0x1.000001p-120,
+	0x1.000000fffffffp-120L,
+	0x1.000001p-120L,
+	0x1.000000fffffffp-120L,
+	0x1.000001p-120L,
+	0x1.000000fffffffffep-120L,
+	0x1.000001p-120L,
+	0x1.000000fffffffffep-120L,
+	0x1.000001p-120L,
+	false,
+	0x1.000000ffffffffffffffffffff8p-120L,
+	0x1.000001p-120L,
+	0x1.000000ffffffffffffffffffff8p-120L,
+	0x1.000001p-120L,
+	0x1.000000ffffffffffffffffffffffp-120L,
+	0x1.000001p-120L,
+	0x1.000000ffffffffffffffffffffffp-120L,
+	0x1.000001p-120L),
+  TEST ("7.5231642936781486349413765338158389908126215730251815381410"
+	"5788244372130524340036572539247572422027587890625e-37",
+	0x1p-120f,
+	0x1p-120f,
+	0x1p-120f,
+	0x1.000002p-120f,
+	0x1.000001p-120,
+	0x1.000001p-120,
+	0x1.000001p-120,
+	0x1.000001p-120,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	true,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L),
+  TEST ("7.5231642936781486349413765338158389908126215730251815381410"
+	"578824437213052434003657253924757242202758789062501e-37",
+	0x1p-120f,
+	0x1.000002p-120f,
+	0x1p-120f,
+	0x1.000002p-120f,
+	0x1.000001p-120,
+	0x1.000001p-120,
+	0x1.000001p-120,
+	0x1.0000010000001p-120,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.0000010000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.0000010000000002p-120L,
+	false,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001000000000000000000008p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.000001p-120L,
+	0x1.0000010000000000000000000001p-120L),
+  TEST ("7.5231647420936572188828392294093056435857835827090029386261"
+	"048447055721499765468252007849514484405517578125e-37",
+	0x1.000002p-120f,
+	0x1.000002p-120f,
+	0x1.000002p-120f,
+	0x1.000002p-120f,
+	0x1.000002p-120,
+	0x1.000002p-120,
+	0x1.000002p-120,
+	0x1.000002p-120,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	true,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L,
+	0x1.000002p-120L),
+  TEST ("7.5231651905091658028243019250027722963589455923928243391111"
+	"518069674229947096932846761774271726608276367187499e-37",
+	0x1.000002p-120f,
+	0x1.000002p-120f,
+	0x1.000002p-120f,
+	0x1.000004p-120f,
+	0x1.000002fffffffp-120,
+	0x1.000003p-120,
+	0x1.000002fffffffp-120,
+	0x1.000003p-120,
+	0x1.000002fffffffp-120L,
+	0x1.000003p-120L,
+	0x1.000002fffffffp-120L,
+	0x1.000003p-120L,
+	0x1.000002fffffffffep-120L,
+	0x1.000003p-120L,
+	0x1.000002fffffffffep-120L,
+	0x1.000003p-120L,
+	false,
+	0x1.000002ffffffffffffffffffff8p-120L,
+	0x1.000003p-120L,
+	0x1.000002ffffffffffffffffffff8p-120L,
+	0x1.000003p-120L,
+	0x1.000002ffffffffffffffffffffffp-120L,
+	0x1.000003p-120L,
+	0x1.000002ffffffffffffffffffffffp-120L,
+	0x1.000003p-120L),
+  TEST ("7.5231651905091658028243019250027722963589455923928243391111"
+	"5180696742299470969328467617742717266082763671875e-37",
+	0x1.000002p-120f,
+	0x1.000004p-120f,
+	0x1.000002p-120f,
+	0x1.000004p-120f,
+	0x1.000003p-120,
+	0x1.000003p-120,
+	0x1.000003p-120,
+	0x1.000003p-120,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	true,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L),
+  TEST ("7.5231651905091658028243019250027722963589455923928243391111"
+	"518069674229947096932846761774271726608276367187501e-37",
+	0x1.000002p-120f,
+	0x1.000004p-120f,
+	0x1.000002p-120f,
+	0x1.000004p-120f,
+	0x1.000003p-120,
+	0x1.000003p-120,
+	0x1.000003p-120,
+	0x1.0000030000001p-120,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.0000030000001p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.0000030000000002p-120L,
+	false,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003000000000000000000008p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.000003p-120L,
+	0x1.0000030000000000000000000001p-120L),
+  TEST ("7.5231656389246743867657646205962389491321076020766457395961"
+	"98769229273839442839744151569902896881103515625e-37",
+	0x1.000004p-120f,
+	0x1.000004p-120f,
+	0x1.000004p-120f,
+	0x1.000004p-120f,
+	0x1.000004p-120,
+	0x1.000004p-120,
+	0x1.000004p-120,
+	0x1.000004p-120,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	true,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L,
+	0x1.000004p-120L),
+  TEST ("340282356779733661637539395458142568447.999",
+	0xf.fffffp+124f,
+	0xf.fffffp+124f,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffff7ffffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff7ffffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff7ffffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7ffffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7fffffffffp+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7fffffffffp+124L,
+	0xf.fffff8p+124L,
+	false,
+	0xf.fffff7fffffffffffffffffffcp+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7fffffffffffffffffffcp+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7fffffffffffffffffffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff7fffffffffffffffffffff8p+124L,
+	0xf.fffff8p+124L),
+  TEST ("340282356779733661637539395458142568448",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	true,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L),
+  TEST ("340282356779733661637539395458142568448.001",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff8p+124,
+	0xf.fffff80000008p+124,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff80000008p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8000000001p+124L,
+	false,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff800000000000000000004p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff8p+124L,
+	0xf.fffff80000000000000000000008p+124L),
+  TEST ("-340282356779733661637539395458142568447.999",
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff7ffffff8p+124,
+	-0xf.fffff7ffffff8p+124,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff7ffffff8p+124L,
+	-0xf.fffff7ffffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff7fffffffffp+124L,
+	-0xf.fffff7fffffffffp+124L,
+	false,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff7fffffffffffffffffffcp+124L,
+	-0xf.fffff7fffffffffffffffffffcp+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff7fffffffffffffffffffff8p+124L,
+	-0xf.fffff7fffffffffffffffffffff8p+124L),
+  TEST ("-340282356779733661637539395458142568448",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	true,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L),
+  TEST ("-340282356779733661637539395458142568448.001",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-0xf.fffff80000008p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff8p+124,
+	-0xf.fffff80000008p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8000000001p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	false,
+	-0xf.fffff800000000000000000004p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff80000000000000000000008p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L,
+	-0xf.fffff8p+124L),
+  TEST ("179769313486231580793728971405303415079934132710037826936173"
+	"778980444968292764750946649017977587207096330286416692887910"
+	"946555547851940402630657488671505820681908902000708383676273"
+	"854845817711531764475730270069855571366959622842914819860834"
+	"936475292719074168444365510704342711559699508093042880177904"
+	"174497791.999",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	0xf.ffffffffffff8p+1020,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	0xf.ffffffffffff8p+1020L,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffffbffp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffbffp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	false,
+	0xf.ffffffffffffbffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffbffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffbffffffffffffff8p+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffbffffffffffffff8p+1020L,
+	0xf.ffffffffffffcp+1020L),
+  TEST ("179769313486231580793728971405303415079934132710037826936173"
+	"778980444968292764750946649017977587207096330286416692887910"
+	"946555547851940402630657488671505820681908902000708383676273"
+	"854845817711531764475730270069855571366959622842914819860834"
+	"936475292719074168444365510704342711559699508093042880177904"
+	"174497792",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	true,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L),
+  TEST ("179769313486231580793728971405303415079934132710037826936173"
+	"778980444968292764750946649017977587207096330286416692887910"
+	"946555547851940402630657488671505820681908902000708383676273"
+	"854845817711531764475730270069855571366959622842914819860834"
+	"936475292719074168444365510704342711559699508093042880177904"
+	"174497792.001",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffc01p+1020L,
+	false,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffc0000000000004p+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffcp+1020L,
+	0xf.ffffffffffffc000000000000008p+1020L),
+  TEST ("-17976931348623158079372897140530341507993413271003782693617"
+	"377898044496829276475094664901797758720709633028641669288791"
+	"094655554785194040263065748867150582068190890200070838367627"
+	"385484581771153176447573027006985557136695962284291481986083"
+	"493647529271907416844436551070434271155969950809304288017790"
+	"4174497791.999",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffbffp+1020L,
+	-0xf.ffffffffffffbffp+1020L,
+	false,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffbffffffffffffcp+1020L,
+	-0xf.ffffffffffffbffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffbffffffffffffff8p+1020L,
+	-0xf.ffffffffffffbffffffffffffff8p+1020L),
+  TEST ("-17976931348623158079372897140530341507993413271003782693617"
+	"377898044496829276475094664901797758720709633028641669288791"
+	"094655554785194040263065748867150582068190890200070838367627"
+	"385484581771153176447573027006985557136695962284291481986083"
+	"493647529271907416844436551070434271155969950809304288017790"
+	"4174497792",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	true,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L),
+  TEST ("-17976931348623158079372897140530341507993413271003782693617"
+	"377898044496829276475094664901797758720709633028641669288791"
+	"094655554785194040263065748867150582068190890200070838367627"
+	"385484581771153176447573027006985557136695962284291481986083"
+	"493647529271907416844436551070434271155969950809304288017790"
+	"4174497792.001",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffffc01p+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	false,
+	-0xf.ffffffffffffc0000000000004p+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffc000000000000008p+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L,
+	-0xf.ffffffffffffcp+1020L),
+  TEST ("118973149535723176505351158982948866796625400469556721895649"
+	"927756249918185172720476044944290457046138433056764616744328"
+	"666255526748948793023632513609765434237723241753648908036202"
+	"958495124648560574092817813661123067421904850038181180520787"
+	"720310726881239888580817051703268776757919551260442611296993"
+	"969730906497042135737359373754818979106457807539652027804156"
+	"491987771033211787185996492320631117543475322122625353433719"
+	"930462950413766867781210335973022293561007134342532563356262"
+	"609267460063335819387905541393759243547993474715549691352074"
+	"891450084783459970660481689991674771307443551458551137274603"
+	"094678907537177579699931235422786658780337099286207273033150"
+	"295133847635735008945346069635452157254692607776538304457707"
+	"598289220004738023060594798392660507455937428888763514661408"
+	"758068906506527143720723156203739676372818578090840614216621"
+	"704787774611256823213431325634056809505691175988424606654072"
+	"823115950827627377808673574181547198668714142143234447550206"
+	"269197545774263993130119778810659043621312707109068433886162"
+	"877222844491518930341896313561238988520360803607534987178305"
+	"043520937299838173444083502027340452162582038296009574808809"
+	"658742434897860755961343752419543802653239216337103370292742"
+	"935497502474626454559729017094560234867236701379230234809843"
+	"263739640909561388493227725171983531003154799850580375254640"
+	"686684370650275318316632539920970969803838872914424760535111"
+	"444864748847573042963569291679400178896696862026500700279826"
+	"635302471702206627303799047632971460017199544567373231610376"
+	"256879987134317934150014443436145710546137924490489525241523"
+	"018271239906743645663976778059895127442517397682525944430951"
+	"907648109952479454685655581652571021331761401038962049122047"
+	"111009185757383743827811254014770944602713378187451095200132"
+	"611700632386420792585207954137064426995712656449343534120120"
+	"770857498813673742586478583964512406030930704197486727636333"
+	"837001863610516286928300891774383071105022919314408502968809"
+	"463848377324668014115592383521324785361676372582468085716775"
+	"183709078048790084022838728361454734650904480489014369184979"
+	"256497738392744524915616501449487520501300124861778269881261"
+	"335544037735715125808986359728419859776521586683035924100574"
+	"850554368935873803132428446524362913648833348768663733118103"
+	"918959060412499201797234385239260504905744357611987327994540"
+	"083286019952793692265006211633524675976369938866409689573287"
+	"599490442761701229217689614343727392339547174221615984024864"
+	"635625680108391566720681134647098412863051374760613506003971"
+	"759070209697293081442875903240426975910170967179075646317814"
+	"394978762382183679266247724762405284284971833355044962214065"
+	"895558105408175131247181971272672247996246595857705695208092"
+	"816044125822560989770526261449460733912621692806952140652061"
+	"911968824328747339453822511902787546522099225623311147726504"
+	"972617425102845212076162056723650625826928778132002074035405"
+	"250631109426611640681070927283430486232053929420514345435713"
+	"131387967949326001734866894273047449417824913738789829732833"
+	"683358900903818016968127085077418070951770702999663693968324"
+	"004781728763310108379440442854174041581191669623267749855519"
+	"774427387794278666183504498843857475877442235608736818515722"
+	"862733587905866015455830953591207040129558473662150426884726"
+	"759522376583586317425575669726781893104752341432891868770513"
+	"406836036136374264038296610854599454591170582569741798904328"
+	"676755131072831974295435585611673171096113833795735888591844"
+	"569864166955969416680807491722688418115891753669917660968752"
+	"228842669182040018336152355940915579955628386232949747891257"
+	"526145783057949776122896048841308261113063674538553146663451"
+	"574384023903569848640351704415703922683108552880537081027404"
+	"397775617608412295293311763789489900990611859125572525530349"
+	"278319943261304784125553748811339225969956465404836696490782"
+	"500903694674135036899321686023782466034636817818347651623601"
+	"663129318574761269352028560641266614840108083315301260274558"
+	"575087296910384815285134460531715154639604115052348665171547"
+	"251609075784863196403541944155425166776423403472211742139313"
+	"210299896884252707306862499895115691675551238140467142819537"
+	"867343414276518703858928008759955391140729958278175965217739"
+	"826511218924463113077693598006228365514899236789515147503266"
+	"616268809617626228164916917150602464494142485507467876173251"
+	"398398846807079309227567538802476335624194115637802439400050"
+	"221934368975949846684026462252790745597563393487879954351820"
+	"652138303761879543933808642920064500206512003954563931569820"
+	"114768348051593629274325149906343853129692245386396887281599"
+	"735312588117968646270517005121997466606469447530616465384255"
+	"826304380842850779833108567141643769616400809617173972138187"
+	"711971431230616321035038259922624655396612597024040812967444"
+	"207673594478417900666764580589685104809363813759667069693701"
+	"069921295791929938093722225050956280798177934138468414654728"
+	"631498256418191041953123619406060363406390776140155709737059"
+	"125898120366007955506160309553860446596202876233728025871625"
+	"578031503869424406179027994752890226443351619365453243328968"
+	"8740976918527.999",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	0xf.fffffffffffffffp+16380L,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffff7fffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff7fffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L),
+  TEST ("118973149535723176505351158982948866796625400469556721895649"
+	"927756249918185172720476044944290457046138433056764616744328"
+	"666255526748948793023632513609765434237723241753648908036202"
+	"958495124648560574092817813661123067421904850038181180520787"
+	"720310726881239888580817051703268776757919551260442611296993"
+	"969730906497042135737359373754818979106457807539652027804156"
+	"491987771033211787185996492320631117543475322122625353433719"
+	"930462950413766867781210335973022293561007134342532563356262"
+	"609267460063335819387905541393759243547993474715549691352074"
+	"891450084783459970660481689991674771307443551458551137274603"
+	"094678907537177579699931235422786658780337099286207273033150"
+	"295133847635735008945346069635452157254692607776538304457707"
+	"598289220004738023060594798392660507455937428888763514661408"
+	"758068906506527143720723156203739676372818578090840614216621"
+	"704787774611256823213431325634056809505691175988424606654072"
+	"823115950827627377808673574181547198668714142143234447550206"
+	"269197545774263993130119778810659043621312707109068433886162"
+	"877222844491518930341896313561238988520360803607534987178305"
+	"043520937299838173444083502027340452162582038296009574808809"
+	"658742434897860755961343752419543802653239216337103370292742"
+	"935497502474626454559729017094560234867236701379230234809843"
+	"263739640909561388493227725171983531003154799850580375254640"
+	"686684370650275318316632539920970969803838872914424760535111"
+	"444864748847573042963569291679400178896696862026500700279826"
+	"635302471702206627303799047632971460017199544567373231610376"
+	"256879987134317934150014443436145710546137924490489525241523"
+	"018271239906743645663976778059895127442517397682525944430951"
+	"907648109952479454685655581652571021331761401038962049122047"
+	"111009185757383743827811254014770944602713378187451095200132"
+	"611700632386420792585207954137064426995712656449343534120120"
+	"770857498813673742586478583964512406030930704197486727636333"
+	"837001863610516286928300891774383071105022919314408502968809"
+	"463848377324668014115592383521324785361676372582468085716775"
+	"183709078048790084022838728361454734650904480489014369184979"
+	"256497738392744524915616501449487520501300124861778269881261"
+	"335544037735715125808986359728419859776521586683035924100574"
+	"850554368935873803132428446524362913648833348768663733118103"
+	"918959060412499201797234385239260504905744357611987327994540"
+	"083286019952793692265006211633524675976369938866409689573287"
+	"599490442761701229217689614343727392339547174221615984024864"
+	"635625680108391566720681134647098412863051374760613506003971"
+	"759070209697293081442875903240426975910170967179075646317814"
+	"394978762382183679266247724762405284284971833355044962214065"
+	"895558105408175131247181971272672247996246595857705695208092"
+	"816044125822560989770526261449460733912621692806952140652061"
+	"911968824328747339453822511902787546522099225623311147726504"
+	"972617425102845212076162056723650625826928778132002074035405"
+	"250631109426611640681070927283430486232053929420514345435713"
+	"131387967949326001734866894273047449417824913738789829732833"
+	"683358900903818016968127085077418070951770702999663693968324"
+	"004781728763310108379440442854174041581191669623267749855519"
+	"774427387794278666183504498843857475877442235608736818515722"
+	"862733587905866015455830953591207040129558473662150426884726"
+	"759522376583586317425575669726781893104752341432891868770513"
+	"406836036136374264038296610854599454591170582569741798904328"
+	"676755131072831974295435585611673171096113833795735888591844"
+	"569864166955969416680807491722688418115891753669917660968752"
+	"228842669182040018336152355940915579955628386232949747891257"
+	"526145783057949776122896048841308261113063674538553146663451"
+	"574384023903569848640351704415703922683108552880537081027404"
+	"397775617608412295293311763789489900990611859125572525530349"
+	"278319943261304784125553748811339225969956465404836696490782"
+	"500903694674135036899321686023782466034636817818347651623601"
+	"663129318574761269352028560641266614840108083315301260274558"
+	"575087296910384815285134460531715154639604115052348665171547"
+	"251609075784863196403541944155425166776423403472211742139313"
+	"210299896884252707306862499895115691675551238140467142819537"
+	"867343414276518703858928008759955391140729958278175965217739"
+	"826511218924463113077693598006228365514899236789515147503266"
+	"616268809617626228164916917150602464494142485507467876173251"
+	"398398846807079309227567538802476335624194115637802439400050"
+	"221934368975949846684026462252790745597563393487879954351820"
+	"652138303761879543933808642920064500206512003954563931569820"
+	"114768348051593629274325149906343853129692245386396887281599"
+	"735312588117968646270517005121997466606469447530616465384255"
+	"826304380842850779833108567141643769616400809617173972138187"
+	"711971431230616321035038259922624655396612597024040812967444"
+	"207673594478417900666764580589685104809363813759667069693701"
+	"069921295791929938093722225050956280798177934138468414654728"
+	"631498256418191041953123619406060363406390776140155709737059"
+	"125898120366007955506160309553860446596202876233728025871625"
+	"578031503869424406179027994752890226443351619365453243328968"
+	"8740976918528",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L),
+  TEST ("118973149535723176505351158982948866796625400469556721895649"
+	"927756249918185172720476044944290457046138433056764616744328"
+	"666255526748948793023632513609765434237723241753648908036202"
+	"958495124648560574092817813661123067421904850038181180520787"
+	"720310726881239888580817051703268776757919551260442611296993"
+	"969730906497042135737359373754818979106457807539652027804156"
+	"491987771033211787185996492320631117543475322122625353433719"
+	"930462950413766867781210335973022293561007134342532563356262"
+	"609267460063335819387905541393759243547993474715549691352074"
+	"891450084783459970660481689991674771307443551458551137274603"
+	"094678907537177579699931235422786658780337099286207273033150"
+	"295133847635735008945346069635452157254692607776538304457707"
+	"598289220004738023060594798392660507455937428888763514661408"
+	"758068906506527143720723156203739676372818578090840614216621"
+	"704787774611256823213431325634056809505691175988424606654072"
+	"823115950827627377808673574181547198668714142143234447550206"
+	"269197545774263993130119778810659043621312707109068433886162"
+	"877222844491518930341896313561238988520360803607534987178305"
+	"043520937299838173444083502027340452162582038296009574808809"
+	"658742434897860755961343752419543802653239216337103370292742"
+	"935497502474626454559729017094560234867236701379230234809843"
+	"263739640909561388493227725171983531003154799850580375254640"
+	"686684370650275318316632539920970969803838872914424760535111"
+	"444864748847573042963569291679400178896696862026500700279826"
+	"635302471702206627303799047632971460017199544567373231610376"
+	"256879987134317934150014443436145710546137924490489525241523"
+	"018271239906743645663976778059895127442517397682525944430951"
+	"907648109952479454685655581652571021331761401038962049122047"
+	"111009185757383743827811254014770944602713378187451095200132"
+	"611700632386420792585207954137064426995712656449343534120120"
+	"770857498813673742586478583964512406030930704197486727636333"
+	"837001863610516286928300891774383071105022919314408502968809"
+	"463848377324668014115592383521324785361676372582468085716775"
+	"183709078048790084022838728361454734650904480489014369184979"
+	"256497738392744524915616501449487520501300124861778269881261"
+	"335544037735715125808986359728419859776521586683035924100574"
+	"850554368935873803132428446524362913648833348768663733118103"
+	"918959060412499201797234385239260504905744357611987327994540"
+	"083286019952793692265006211633524675976369938866409689573287"
+	"599490442761701229217689614343727392339547174221615984024864"
+	"635625680108391566720681134647098412863051374760613506003971"
+	"759070209697293081442875903240426975910170967179075646317814"
+	"394978762382183679266247724762405284284971833355044962214065"
+	"895558105408175131247181971272672247996246595857705695208092"
+	"816044125822560989770526261449460733912621692806952140652061"
+	"911968824328747339453822511902787546522099225623311147726504"
+	"972617425102845212076162056723650625826928778132002074035405"
+	"250631109426611640681070927283430486232053929420514345435713"
+	"131387967949326001734866894273047449417824913738789829732833"
+	"683358900903818016968127085077418070951770702999663693968324"
+	"004781728763310108379440442854174041581191669623267749855519"
+	"774427387794278666183504498843857475877442235608736818515722"
+	"862733587905866015455830953591207040129558473662150426884726"
+	"759522376583586317425575669726781893104752341432891868770513"
+	"406836036136374264038296610854599454591170582569741798904328"
+	"676755131072831974295435585611673171096113833795735888591844"
+	"569864166955969416680807491722688418115891753669917660968752"
+	"228842669182040018336152355940915579955628386232949747891257"
+	"526145783057949776122896048841308261113063674538553146663451"
+	"574384023903569848640351704415703922683108552880537081027404"
+	"397775617608412295293311763789489900990611859125572525530349"
+	"278319943261304784125553748811339225969956465404836696490782"
+	"500903694674135036899321686023782466034636817818347651623601"
+	"663129318574761269352028560641266614840108083315301260274558"
+	"575087296910384815285134460531715154639604115052348665171547"
+	"251609075784863196403541944155425166776423403472211742139313"
+	"210299896884252707306862499895115691675551238140467142819537"
+	"867343414276518703858928008759955391140729958278175965217739"
+	"826511218924463113077693598006228365514899236789515147503266"
+	"616268809617626228164916917150602464494142485507467876173251"
+	"398398846807079309227567538802476335624194115637802439400050"
+	"221934368975949846684026462252790745597563393487879954351820"
+	"652138303761879543933808642920064500206512003954563931569820"
+	"114768348051593629274325149906343853129692245386396887281599"
+	"735312588117968646270517005121997466606469447530616465384255"
+	"826304380842850779833108567141643769616400809617173972138187"
+	"711971431230616321035038259922624655396612597024040812967444"
+	"207673594478417900666764580589685104809363813759667069693701"
+	"069921295791929938093722225050956280798177934138468414654728"
+	"631498256418191041953123619406060363406390776140155709737059"
+	"125898120366007955506160309553860446596202876233728025871625"
+	"578031503869424406179027994752890226443351619365453243328968"
+	"8740976918528.001",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8p+16380L,
+	0xf.fffffffffffffff8000000000008p+16380L),
+  TEST ("-11897314953572317650535115898294886679662540046955672189564"
+	"992775624991818517272047604494429045704613843305676461674432"
+	"866625552674894879302363251360976543423772324175364890803620"
+	"295849512464856057409281781366112306742190485003818118052078"
+	"772031072688123988858081705170326877675791955126044261129699"
+	"396973090649704213573735937375481897910645780753965202780415"
+	"649198777103321178718599649232063111754347532212262535343371"
+	"993046295041376686778121033597302229356100713434253256335626"
+	"260926746006333581938790554139375924354799347471554969135207"
+	"489145008478345997066048168999167477130744355145855113727460"
+	"309467890753717757969993123542278665878033709928620727303315"
+	"029513384763573500894534606963545215725469260777653830445770"
+	"759828922000473802306059479839266050745593742888876351466140"
+	"875806890650652714372072315620373967637281857809084061421662"
+	"170478777461125682321343132563405680950569117598842460665407"
+	"282311595082762737780867357418154719866871414214323444755020"
+	"626919754577426399313011977881065904362131270710906843388616"
+	"287722284449151893034189631356123898852036080360753498717830"
+	"504352093729983817344408350202734045216258203829600957480880"
+	"965874243489786075596134375241954380265323921633710337029274"
+	"293549750247462645455972901709456023486723670137923023480984"
+	"326373964090956138849322772517198353100315479985058037525464"
+	"068668437065027531831663253992097096980383887291442476053511"
+	"144486474884757304296356929167940017889669686202650070027982"
+	"663530247170220662730379904763297146001719954456737323161037"
+	"625687998713431793415001444343614571054613792449048952524152"
+	"301827123990674364566397677805989512744251739768252594443095"
+	"190764810995247945468565558165257102133176140103896204912204"
+	"711100918575738374382781125401477094460271337818745109520013"
+	"261170063238642079258520795413706442699571265644934353412012"
+	"077085749881367374258647858396451240603093070419748672763633"
+	"383700186361051628692830089177438307110502291931440850296880"
+	"946384837732466801411559238352132478536167637258246808571677"
+	"518370907804879008402283872836145473465090448048901436918497"
+	"925649773839274452491561650144948752050130012486177826988126"
+	"133554403773571512580898635972841985977652158668303592410057"
+	"485055436893587380313242844652436291364883334876866373311810"
+	"391895906041249920179723438523926050490574435761198732799454"
+	"008328601995279369226500621163352467597636993886640968957328"
+	"759949044276170122921768961434372739233954717422161598402486"
+	"463562568010839156672068113464709841286305137476061350600397"
+	"175907020969729308144287590324042697591017096717907564631781"
+	"439497876238218367926624772476240528428497183335504496221406"
+	"589555810540817513124718197127267224799624659585770569520809"
+	"281604412582256098977052626144946073391262169280695214065206"
+	"191196882432874733945382251190278754652209922562331114772650"
+	"497261742510284521207616205672365062582692877813200207403540"
+	"525063110942661164068107092728343048623205392942051434543571"
+	"313138796794932600173486689427304744941782491373878982973283"
+	"368335890090381801696812708507741807095177070299966369396832"
+	"400478172876331010837944044285417404158119166962326774985551"
+	"977442738779427866618350449884385747587744223560873681851572"
+	"286273358790586601545583095359120704012955847366215042688472"
+	"675952237658358631742557566972678189310475234143289186877051"
+	"340683603613637426403829661085459945459117058256974179890432"
+	"867675513107283197429543558561167317109611383379573588859184"
+	"456986416695596941668080749172268841811589175366991766096875"
+	"222884266918204001833615235594091557995562838623294974789125"
+	"752614578305794977612289604884130826111306367453855314666345"
+	"157438402390356984864035170441570392268310855288053708102740"
+	"439777561760841229529331176378948990099061185912557252553034"
+	"927831994326130478412555374881133922596995646540483669649078"
+	"250090369467413503689932168602378246603463681781834765162360"
+	"166312931857476126935202856064126661484010808331530126027455"
+	"857508729691038481528513446053171515463960411505234866517154"
+	"725160907578486319640354194415542516677642340347221174213931"
+	"321029989688425270730686249989511569167555123814046714281953"
+	"786734341427651870385892800875995539114072995827817596521773"
+	"982651121892446311307769359800622836551489923678951514750326"
+	"661626880961762622816491691715060246449414248550746787617325"
+	"139839884680707930922756753880247633562419411563780243940005"
+	"022193436897594984668402646225279074559756339348787995435182"
+	"065213830376187954393380864292006450020651200395456393156982"
+	"011476834805159362927432514990634385312969224538639688728159"
+	"973531258811796864627051700512199746660646944753061646538425"
+	"582630438084285077983310856714164376961640080961717397213818"
+	"771197143123061632103503825992262465539661259702404081296744"
+	"420767359447841790066676458058968510480936381375966706969370"
+	"106992129579192993809372222505095628079817793413846841465472"
+	"863149825641819104195312361940606036340639077614015570973705"
+	"912589812036600795550616030955386044659620287623372802587162"
+	"557803150386942440617902799475289022644335161936545324332896"
+	"88740976918527.999",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff7fffffffffff8p+16380L,
+	-0xf.fffffffffffffff7fffffffffff8p+16380L),
+  TEST ("-11897314953572317650535115898294886679662540046955672189564"
+	"992775624991818517272047604494429045704613843305676461674432"
+	"866625552674894879302363251360976543423772324175364890803620"
+	"295849512464856057409281781366112306742190485003818118052078"
+	"772031072688123988858081705170326877675791955126044261129699"
+	"396973090649704213573735937375481897910645780753965202780415"
+	"649198777103321178718599649232063111754347532212262535343371"
+	"993046295041376686778121033597302229356100713434253256335626"
+	"260926746006333581938790554139375924354799347471554969135207"
+	"489145008478345997066048168999167477130744355145855113727460"
+	"309467890753717757969993123542278665878033709928620727303315"
+	"029513384763573500894534606963545215725469260777653830445770"
+	"759828922000473802306059479839266050745593742888876351466140"
+	"875806890650652714372072315620373967637281857809084061421662"
+	"170478777461125682321343132563405680950569117598842460665407"
+	"282311595082762737780867357418154719866871414214323444755020"
+	"626919754577426399313011977881065904362131270710906843388616"
+	"287722284449151893034189631356123898852036080360753498717830"
+	"504352093729983817344408350202734045216258203829600957480880"
+	"965874243489786075596134375241954380265323921633710337029274"
+	"293549750247462645455972901709456023486723670137923023480984"
+	"326373964090956138849322772517198353100315479985058037525464"
+	"068668437065027531831663253992097096980383887291442476053511"
+	"144486474884757304296356929167940017889669686202650070027982"
+	"663530247170220662730379904763297146001719954456737323161037"
+	"625687998713431793415001444343614571054613792449048952524152"
+	"301827123990674364566397677805989512744251739768252594443095"
+	"190764810995247945468565558165257102133176140103896204912204"
+	"711100918575738374382781125401477094460271337818745109520013"
+	"261170063238642079258520795413706442699571265644934353412012"
+	"077085749881367374258647858396451240603093070419748672763633"
+	"383700186361051628692830089177438307110502291931440850296880"
+	"946384837732466801411559238352132478536167637258246808571677"
+	"518370907804879008402283872836145473465090448048901436918497"
+	"925649773839274452491561650144948752050130012486177826988126"
+	"133554403773571512580898635972841985977652158668303592410057"
+	"485055436893587380313242844652436291364883334876866373311810"
+	"391895906041249920179723438523926050490574435761198732799454"
+	"008328601995279369226500621163352467597636993886640968957328"
+	"759949044276170122921768961434372739233954717422161598402486"
+	"463562568010839156672068113464709841286305137476061350600397"
+	"175907020969729308144287590324042697591017096717907564631781"
+	"439497876238218367926624772476240528428497183335504496221406"
+	"589555810540817513124718197127267224799624659585770569520809"
+	"281604412582256098977052626144946073391262169280695214065206"
+	"191196882432874733945382251190278754652209922562331114772650"
+	"497261742510284521207616205672365062582692877813200207403540"
+	"525063110942661164068107092728343048623205392942051434543571"
+	"313138796794932600173486689427304744941782491373878982973283"
+	"368335890090381801696812708507741807095177070299966369396832"
+	"400478172876331010837944044285417404158119166962326774985551"
+	"977442738779427866618350449884385747587744223560873681851572"
+	"286273358790586601545583095359120704012955847366215042688472"
+	"675952237658358631742557566972678189310475234143289186877051"
+	"340683603613637426403829661085459945459117058256974179890432"
+	"867675513107283197429543558561167317109611383379573588859184"
+	"456986416695596941668080749172268841811589175366991766096875"
+	"222884266918204001833615235594091557995562838623294974789125"
+	"752614578305794977612289604884130826111306367453855314666345"
+	"157438402390356984864035170441570392268310855288053708102740"
+	"439777561760841229529331176378948990099061185912557252553034"
+	"927831994326130478412555374881133922596995646540483669649078"
+	"250090369467413503689932168602378246603463681781834765162360"
+	"166312931857476126935202856064126661484010808331530126027455"
+	"857508729691038481528513446053171515463960411505234866517154"
+	"725160907578486319640354194415542516677642340347221174213931"
+	"321029989688425270730686249989511569167555123814046714281953"
+	"786734341427651870385892800875995539114072995827817596521773"
+	"982651121892446311307769359800622836551489923678951514750326"
+	"661626880961762622816491691715060246449414248550746787617325"
+	"139839884680707930922756753880247633562419411563780243940005"
+	"022193436897594984668402646225279074559756339348787995435182"
+	"065213830376187954393380864292006450020651200395456393156982"
+	"011476834805159362927432514990634385312969224538639688728159"
+	"973531258811796864627051700512199746660646944753061646538425"
+	"582630438084285077983310856714164376961640080961717397213818"
+	"771197143123061632103503825992262465539661259702404081296744"
+	"420767359447841790066676458058968510480936381375966706969370"
+	"106992129579192993809372222505095628079817793413846841465472"
+	"863149825641819104195312361940606036340639077614015570973705"
+	"912589812036600795550616030955386044659620287623372802587162"
+	"557803150386942440617902799475289022644335161936545324332896"
+	"88740976918528",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L),
+  TEST ("-11897314953572317650535115898294886679662540046955672189564"
+	"992775624991818517272047604494429045704613843305676461674432"
+	"866625552674894879302363251360976543423772324175364890803620"
+	"295849512464856057409281781366112306742190485003818118052078"
+	"772031072688123988858081705170326877675791955126044261129699"
+	"396973090649704213573735937375481897910645780753965202780415"
+	"649198777103321178718599649232063111754347532212262535343371"
+	"993046295041376686778121033597302229356100713434253256335626"
+	"260926746006333581938790554139375924354799347471554969135207"
+	"489145008478345997066048168999167477130744355145855113727460"
+	"309467890753717757969993123542278665878033709928620727303315"
+	"029513384763573500894534606963545215725469260777653830445770"
+	"759828922000473802306059479839266050745593742888876351466140"
+	"875806890650652714372072315620373967637281857809084061421662"
+	"170478777461125682321343132563405680950569117598842460665407"
+	"282311595082762737780867357418154719866871414214323444755020"
+	"626919754577426399313011977881065904362131270710906843388616"
+	"287722284449151893034189631356123898852036080360753498717830"
+	"504352093729983817344408350202734045216258203829600957480880"
+	"965874243489786075596134375241954380265323921633710337029274"
+	"293549750247462645455972901709456023486723670137923023480984"
+	"326373964090956138849322772517198353100315479985058037525464"
+	"068668437065027531831663253992097096980383887291442476053511"
+	"144486474884757304296356929167940017889669686202650070027982"
+	"663530247170220662730379904763297146001719954456737323161037"
+	"625687998713431793415001444343614571054613792449048952524152"
+	"301827123990674364566397677805989512744251739768252594443095"
+	"190764810995247945468565558165257102133176140103896204912204"
+	"711100918575738374382781125401477094460271337818745109520013"
+	"261170063238642079258520795413706442699571265644934353412012"
+	"077085749881367374258647858396451240603093070419748672763633"
+	"383700186361051628692830089177438307110502291931440850296880"
+	"946384837732466801411559238352132478536167637258246808571677"
+	"518370907804879008402283872836145473465090448048901436918497"
+	"925649773839274452491561650144948752050130012486177826988126"
+	"133554403773571512580898635972841985977652158668303592410057"
+	"485055436893587380313242844652436291364883334876866373311810"
+	"391895906041249920179723438523926050490574435761198732799454"
+	"008328601995279369226500621163352467597636993886640968957328"
+	"759949044276170122921768961434372739233954717422161598402486"
+	"463562568010839156672068113464709841286305137476061350600397"
+	"175907020969729308144287590324042697591017096717907564631781"
+	"439497876238218367926624772476240528428497183335504496221406"
+	"589555810540817513124718197127267224799624659585770569520809"
+	"281604412582256098977052626144946073391262169280695214065206"
+	"191196882432874733945382251190278754652209922562331114772650"
+	"497261742510284521207616205672365062582692877813200207403540"
+	"525063110942661164068107092728343048623205392942051434543571"
+	"313138796794932600173486689427304744941782491373878982973283"
+	"368335890090381801696812708507741807095177070299966369396832"
+	"400478172876331010837944044285417404158119166962326774985551"
+	"977442738779427866618350449884385747587744223560873681851572"
+	"286273358790586601545583095359120704012955847366215042688472"
+	"675952237658358631742557566972678189310475234143289186877051"
+	"340683603613637426403829661085459945459117058256974179890432"
+	"867675513107283197429543558561167317109611383379573588859184"
+	"456986416695596941668080749172268841811589175366991766096875"
+	"222884266918204001833615235594091557995562838623294974789125"
+	"752614578305794977612289604884130826111306367453855314666345"
+	"157438402390356984864035170441570392268310855288053708102740"
+	"439777561760841229529331176378948990099061185912557252553034"
+	"927831994326130478412555374881133922596995646540483669649078"
+	"250090369467413503689932168602378246603463681781834765162360"
+	"166312931857476126935202856064126661484010808331530126027455"
+	"857508729691038481528513446053171515463960411505234866517154"
+	"725160907578486319640354194415542516677642340347221174213931"
+	"321029989688425270730686249989511569167555123814046714281953"
+	"786734341427651870385892800875995539114072995827817596521773"
+	"982651121892446311307769359800622836551489923678951514750326"
+	"661626880961762622816491691715060246449414248550746787617325"
+	"139839884680707930922756753880247633562419411563780243940005"
+	"022193436897594984668402646225279074559756339348787995435182"
+	"065213830376187954393380864292006450020651200395456393156982"
+	"011476834805159362927432514990634385312969224538639688728159"
+	"973531258811796864627051700512199746660646944753061646538425"
+	"582630438084285077983310856714164376961640080961717397213818"
+	"771197143123061632103503825992262465539661259702404081296744"
+	"420767359447841790066676458058968510480936381375966706969370"
+	"106992129579192993809372222505095628079817793413846841465472"
+	"863149825641819104195312361940606036340639077614015570973705"
+	"912589812036600795550616030955386044659620287623372802587162"
+	"557803150386942440617902799475289022644335161936545324332896"
+	"88740976918528.001",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffff8000000000008p+16380L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L,
+	-0xf.fffffffffffffff8p+16380L),
+  TEST ("118973149535723176508575932662800707347995686986910214150118"
+	"685272271246896789803961473130416053705672050873552479421805"
+	"932646640744124594447361172514341324846716679654551308018400"
+	"452551246797021031695590308415421099521962856162050274568841"
+	"297915828747574343774874752902176710049525787625138678906010"
+	"048638212027057374683542842282633896097240913572043788690878"
+	"561421008447838407815393303366617352859876685151925036335142"
+	"606462825839541908847139311166770091872983498508632067665424"
+	"131663456011801988221011933744533095583591952713287509471572"
+	"005635584655570174753698625195967118200265238753375268656404"
+	"300638718932246773699829720984119713851462400809295266529707"
+	"450603039675996477317034685632764277790214944500590950459817"
+	"905458649624723235138950801408157339866516893477731877579183"
+	"713595679581558427625325833939652897845282019149923069371763"
+	"621014587926698827182969408373803807712292191282429102445352"
+	"493434039402290243933941906906661090602900960765874258303002"
+	"994639315656152078708796474719793763077934223746582725715380"
+	"546621026022818892467551940977566283266498758568504813830755"
+	"715585325649227824857891916443381390920079346240984072859876"
+	"394789650127468861490822526766717770136680743866932662343305"
+	"821821344306240809967537078707691232937387041140557168161956"
+	"672595323950666742010786584275766171661791973302251394804664"
+	"351065107886557299707326005651230394674710597929211000345040"
+	"748992483614253006562424867893567074606589931788062200063807"
+	"336740036940230215831403322125165368742446805152078682411506"
+	"081843753974005583111391605547148303480887461773984314393817"
+	"233328426227146997925421743280885595916487699461777590949432"
+	"536021389649845214065322016198143547250143861460313408300535"
+	"800647014276175548485543791298383644643679669618879907720347"
+	"361578030001247419574448359597988425487829219851305162204925"
+	"876422580754230478244492592334149461342828532046897137732862"
+	"560405101567370570895662663174689131741739602970845694214086"
+	"383402465037069569640956912385125748139813888875258203003486"
+	"978747055202810394072908580324008598756993885667142200558137"
+	"216665049755676940757442911860295559656788759871904662758651"
+	"106796978788783386988295123326864580419821595430891867179378"
+	"372968821128698879468814267529461494723425453808822356093436"
+	"114567635804621183162768389034017821036515461700163537265334"
+	"837042272659885702600247792917728828912373907035369136531164"
+	"551871575024551077026080114197652598224677403885378544255851"
+	"452142889211152237506343909351748731538683443195842912801950"
+	"740929058503113127929421291089844021925400931905939216271347"
+	"501989193058654389516377770771439860033940981826669939750630"
+	"966060749188986231404992238674933998516958950824840538996637"
+	"227947236848099456610159878061379742621311380927234118601003"
+	"068752002060437285024623575047782086630607224900910789188204"
+	"422115342157245494745974521832782208601602710639261482504706"
+	"793704189474198047840288064399210243702202724597107455534275"
+	"321401119382263147115748905050195256886082040192083380490209"
+	"648570353905656303876661710430922155024620842080323610266391"
+	"819853291160589645614945256684769911320943457402697573094119"
+	"430125589389298495428377185239916427991844172165080029177729"
+	"625180644077484441695092005844026411665118679537869781924378"
+	"377060887769389297625907410934020531742739577183152327119791"
+	"567636713426904553654134937766951789571845662564530364234831"
+	"655818811851573018210173773037253988893680153247404060131255"
+	"432297982534770778617218088583998040670598195597843579610890"
+	"315316606725381521608825464438386306376596459107591134507541"
+	"153403024199191222328259713530472683187873517955642380703639"
+	"029816037096049042094836437281075965243968431839386959736989"
+	"889027924230006904683050305965712585804355337311372959487108"
+	"794286031594805559334414767793211932142402860019029250966461"
+	"933621763149049802791695077716375242516443825235146860078555"
+	"453142397983479144560015010889077242726183149587493050950967"
+	"941488752366197740591478464591650201477772717579831983405962"
+	"171742164889284586217913115136227964861078958766284010901639"
+	"781256012341028188155836968476480842715858962105341815444164"
+	"696766584018508513610260777540911573496315580383328678958350"
+	"148157337222619548467971967434956296433870815461340134721800"
+	"205755114983399523323106573720732056659216468891205124203527"
+	"449961814733926916757607468806003312492414061695431041238453"
+	"023522795690830184799840657478014435335788410588338795921829"
+	"674102072285495410088727730494748054715270026371111466557692"
+	"092596172401951206117443077191868585496116051853795368595736"
+	"003882511620497061598923985774687093334185939744167238203676"
+	"453052472980823976562293117120372063945943890666325365061961"
+	"022928215929070357135085816756816486043117613837876554929621"
+	"856269743752885605649447338817178927896144473776360438797900"
+	"366212779802747593450564030114752479071739585723270865632758"
+	"495434839556211713523098602573445161475191311400514062427097"
+	"780117858230840648695846140902244217544683559565818359212130"
+	"972233447491583165728635513802591543441145939539353470970452"
+	"5536550715391.999",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	INFINITY),
+  TEST ("118973149535723176508575932662800707347995686986910214150118"
+	"685272271246896789803961473130416053705672050873552479421805"
+	"932646640744124594447361172514341324846716679654551308018400"
+	"452551246797021031695590308415421099521962856162050274568841"
+	"297915828747574343774874752902176710049525787625138678906010"
+	"048638212027057374683542842282633896097240913572043788690878"
+	"561421008447838407815393303366617352859876685151925036335142"
+	"606462825839541908847139311166770091872983498508632067665424"
+	"131663456011801988221011933744533095583591952713287509471572"
+	"005635584655570174753698625195967118200265238753375268656404"
+	"300638718932246773699829720984119713851462400809295266529707"
+	"450603039675996477317034685632764277790214944500590950459817"
+	"905458649624723235138950801408157339866516893477731877579183"
+	"713595679581558427625325833939652897845282019149923069371763"
+	"621014587926698827182969408373803807712292191282429102445352"
+	"493434039402290243933941906906661090602900960765874258303002"
+	"994639315656152078708796474719793763077934223746582725715380"
+	"546621026022818892467551940977566283266498758568504813830755"
+	"715585325649227824857891916443381390920079346240984072859876"
+	"394789650127468861490822526766717770136680743866932662343305"
+	"821821344306240809967537078707691232937387041140557168161956"
+	"672595323950666742010786584275766171661791973302251394804664"
+	"351065107886557299707326005651230394674710597929211000345040"
+	"748992483614253006562424867893567074606589931788062200063807"
+	"336740036940230215831403322125165368742446805152078682411506"
+	"081843753974005583111391605547148303480887461773984314393817"
+	"233328426227146997925421743280885595916487699461777590949432"
+	"536021389649845214065322016198143547250143861460313408300535"
+	"800647014276175548485543791298383644643679669618879907720347"
+	"361578030001247419574448359597988425487829219851305162204925"
+	"876422580754230478244492592334149461342828532046897137732862"
+	"560405101567370570895662663174689131741739602970845694214086"
+	"383402465037069569640956912385125748139813888875258203003486"
+	"978747055202810394072908580324008598756993885667142200558137"
+	"216665049755676940757442911860295559656788759871904662758651"
+	"106796978788783386988295123326864580419821595430891867179378"
+	"372968821128698879468814267529461494723425453808822356093436"
+	"114567635804621183162768389034017821036515461700163537265334"
+	"837042272659885702600247792917728828912373907035369136531164"
+	"551871575024551077026080114197652598224677403885378544255851"
+	"452142889211152237506343909351748731538683443195842912801950"
+	"740929058503113127929421291089844021925400931905939216271347"
+	"501989193058654389516377770771439860033940981826669939750630"
+	"966060749188986231404992238674933998516958950824840538996637"
+	"227947236848099456610159878061379742621311380927234118601003"
+	"068752002060437285024623575047782086630607224900910789188204"
+	"422115342157245494745974521832782208601602710639261482504706"
+	"793704189474198047840288064399210243702202724597107455534275"
+	"321401119382263147115748905050195256886082040192083380490209"
+	"648570353905656303876661710430922155024620842080323610266391"
+	"819853291160589645614945256684769911320943457402697573094119"
+	"430125589389298495428377185239916427991844172165080029177729"
+	"625180644077484441695092005844026411665118679537869781924378"
+	"377060887769389297625907410934020531742739577183152327119791"
+	"567636713426904553654134937766951789571845662564530364234831"
+	"655818811851573018210173773037253988893680153247404060131255"
+	"432297982534770778617218088583998040670598195597843579610890"
+	"315316606725381521608825464438386306376596459107591134507541"
+	"153403024199191222328259713530472683187873517955642380703639"
+	"029816037096049042094836437281075965243968431839386959736989"
+	"889027924230006904683050305965712585804355337311372959487108"
+	"794286031594805559334414767793211932142402860019029250966461"
+	"933621763149049802791695077716375242516443825235146860078555"
+	"453142397983479144560015010889077242726183149587493050950967"
+	"941488752366197740591478464591650201477772717579831983405962"
+	"171742164889284586217913115136227964861078958766284010901639"
+	"781256012341028188155836968476480842715858962105341815444164"
+	"696766584018508513610260777540911573496315580383328678958350"
+	"148157337222619548467971967434956296433870815461340134721800"
+	"205755114983399523323106573720732056659216468891205124203527"
+	"449961814733926916757607468806003312492414061695431041238453"
+	"023522795690830184799840657478014435335788410588338795921829"
+	"674102072285495410088727730494748054715270026371111466557692"
+	"092596172401951206117443077191868585496116051853795368595736"
+	"003882511620497061598923985774687093334185939744167238203676"
+	"453052472980823976562293117120372063945943890666325365061961"
+	"022928215929070357135085816756816486043117613837876554929621"
+	"856269743752885605649447338817178927896144473776360438797900"
+	"366212779802747593450564030114752479071739585723270865632758"
+	"495434839556211713523098602573445161475191311400514062427097"
+	"780117858230840648695846140902244217544683559565818359212130"
+	"972233447491583165728635513802591543441145939539353470970452"
+	"5536550715392",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	INFINITY),
+  TEST ("118973149535723176508575932662800707347995686986910214150118"
+	"685272271246896789803961473130416053705672050873552479421805"
+	"932646640744124594447361172514341324846716679654551308018400"
+	"452551246797021031695590308415421099521962856162050274568841"
+	"297915828747574343774874752902176710049525787625138678906010"
+	"048638212027057374683542842282633896097240913572043788690878"
+	"561421008447838407815393303366617352859876685151925036335142"
+	"606462825839541908847139311166770091872983498508632067665424"
+	"131663456011801988221011933744533095583591952713287509471572"
+	"005635584655570174753698625195967118200265238753375268656404"
+	"300638718932246773699829720984119713851462400809295266529707"
+	"450603039675996477317034685632764277790214944500590950459817"
+	"905458649624723235138950801408157339866516893477731877579183"
+	"713595679581558427625325833939652897845282019149923069371763"
+	"621014587926698827182969408373803807712292191282429102445352"
+	"493434039402290243933941906906661090602900960765874258303002"
+	"994639315656152078708796474719793763077934223746582725715380"
+	"546621026022818892467551940977566283266498758568504813830755"
+	"715585325649227824857891916443381390920079346240984072859876"
+	"394789650127468861490822526766717770136680743866932662343305"
+	"821821344306240809967537078707691232937387041140557168161956"
+	"672595323950666742010786584275766171661791973302251394804664"
+	"351065107886557299707326005651230394674710597929211000345040"
+	"748992483614253006562424867893567074606589931788062200063807"
+	"336740036940230215831403322125165368742446805152078682411506"
+	"081843753974005583111391605547148303480887461773984314393817"
+	"233328426227146997925421743280885595916487699461777590949432"
+	"536021389649845214065322016198143547250143861460313408300535"
+	"800647014276175548485543791298383644643679669618879907720347"
+	"361578030001247419574448359597988425487829219851305162204925"
+	"876422580754230478244492592334149461342828532046897137732862"
+	"560405101567370570895662663174689131741739602970845694214086"
+	"383402465037069569640956912385125748139813888875258203003486"
+	"978747055202810394072908580324008598756993885667142200558137"
+	"216665049755676940757442911860295559656788759871904662758651"
+	"106796978788783386988295123326864580419821595430891867179378"
+	"372968821128698879468814267529461494723425453808822356093436"
+	"114567635804621183162768389034017821036515461700163537265334"
+	"837042272659885702600247792917728828912373907035369136531164"
+	"551871575024551077026080114197652598224677403885378544255851"
+	"452142889211152237506343909351748731538683443195842912801950"
+	"740929058503113127929421291089844021925400931905939216271347"
+	"501989193058654389516377770771439860033940981826669939750630"
+	"966060749188986231404992238674933998516958950824840538996637"
+	"227947236848099456610159878061379742621311380927234118601003"
+	"068752002060437285024623575047782086630607224900910789188204"
+	"422115342157245494745974521832782208601602710639261482504706"
+	"793704189474198047840288064399210243702202724597107455534275"
+	"321401119382263147115748905050195256886082040192083380490209"
+	"648570353905656303876661710430922155024620842080323610266391"
+	"819853291160589645614945256684769911320943457402697573094119"
+	"430125589389298495428377185239916427991844172165080029177729"
+	"625180644077484441695092005844026411665118679537869781924378"
+	"377060887769389297625907410934020531742739577183152327119791"
+	"567636713426904553654134937766951789571845662564530364234831"
+	"655818811851573018210173773037253988893680153247404060131255"
+	"432297982534770778617218088583998040670598195597843579610890"
+	"315316606725381521608825464438386306376596459107591134507541"
+	"153403024199191222328259713530472683187873517955642380703639"
+	"029816037096049042094836437281075965243968431839386959736989"
+	"889027924230006904683050305965712585804355337311372959487108"
+	"794286031594805559334414767793211932142402860019029250966461"
+	"933621763149049802791695077716375242516443825235146860078555"
+	"453142397983479144560015010889077242726183149587493050950967"
+	"941488752366197740591478464591650201477772717579831983405962"
+	"171742164889284586217913115136227964861078958766284010901639"
+	"781256012341028188155836968476480842715858962105341815444164"
+	"696766584018508513610260777540911573496315580383328678958350"
+	"148157337222619548467971967434956296433870815461340134721800"
+	"205755114983399523323106573720732056659216468891205124203527"
+	"449961814733926916757607468806003312492414061695431041238453"
+	"023522795690830184799840657478014435335788410588338795921829"
+	"674102072285495410088727730494748054715270026371111466557692"
+	"092596172401951206117443077191868585496116051853795368595736"
+	"003882511620497061598923985774687093334185939744167238203676"
+	"453052472980823976562293117120372063945943890666325365061961"
+	"022928215929070357135085816756816486043117613837876554929621"
+	"856269743752885605649447338817178927896144473776360438797900"
+	"366212779802747593450564030114752479071739585723270865632758"
+	"495434839556211713523098602573445161475191311400514062427097"
+	"780117858230840648695846140902244217544683559565818359212130"
+	"972233447491583165728635513802591543441145939539353470970452"
+	"5536550715392.001",
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.fffffp+124f,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.ffffffffffff8p+1020L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	0xf.fffffffffffffffp+16380L,
+	INFINITY,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffcp+1020L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	INFINITY,
+	0xf.fffffffffffffffffffffffffff8p+16380L,
+	INFINITY),
+  TEST ("-11897314953572317650857593266280070734799568698691021415011"
+	"868527227124689678980396147313041605370567205087355247942180"
+	"593264664074412459444736117251434132484671667965455130801840"
+	"045255124679702103169559030841542109952196285616205027456884"
+	"129791582874757434377487475290217671004952578762513867890601"
+	"004863821202705737468354284228263389609724091357204378869087"
+	"856142100844783840781539330336661735285987668515192503633514"
+	"260646282583954190884713931116677009187298349850863206766542"
+	"413166345601180198822101193374453309558359195271328750947157"
+	"200563558465557017475369862519596711820026523875337526865640"
+	"430063871893224677369982972098411971385146240080929526652970"
+	"745060303967599647731703468563276427779021494450059095045981"
+	"790545864962472323513895080140815733986651689347773187757918"
+	"371359567958155842762532583393965289784528201914992306937176"
+	"362101458792669882718296940837380380771229219128242910244535"
+	"249343403940229024393394190690666109060290096076587425830300"
+	"299463931565615207870879647471979376307793422374658272571538"
+	"054662102602281889246755194097756628326649875856850481383075"
+	"571558532564922782485789191644338139092007934624098407285987"
+	"639478965012746886149082252676671777013668074386693266234330"
+	"582182134430624080996753707870769123293738704114055716816195"
+	"667259532395066674201078658427576617166179197330225139480466"
+	"435106510788655729970732600565123039467471059792921100034504"
+	"074899248361425300656242486789356707460658993178806220006380"
+	"733674003694023021583140332212516536874244680515207868241150"
+	"608184375397400558311139160554714830348088746177398431439381"
+	"723332842622714699792542174328088559591648769946177759094943"
+	"253602138964984521406532201619814354725014386146031340830053"
+	"580064701427617554848554379129838364464367966961887990772034"
+	"736157803000124741957444835959798842548782921985130516220492"
+	"587642258075423047824449259233414946134282853204689713773286"
+	"256040510156737057089566266317468913174173960297084569421408"
+	"638340246503706956964095691238512574813981388887525820300348"
+	"697874705520281039407290858032400859875699388566714220055813"
+	"721666504975567694075744291186029555965678875987190466275865"
+	"110679697878878338698829512332686458041982159543089186717937"
+	"837296882112869887946881426752946149472342545380882235609343"
+	"611456763580462118316276838903401782103651546170016353726533"
+	"483704227265988570260024779291772882891237390703536913653116"
+	"455187157502455107702608011419765259822467740388537854425585"
+	"145214288921115223750634390935174873153868344319584291280195"
+	"074092905850311312792942129108984402192540093190593921627134"
+	"750198919305865438951637777077143986003394098182666993975063"
+	"096606074918898623140499223867493399851695895082484053899663"
+	"722794723684809945661015987806137974262131138092723411860100"
+	"306875200206043728502462357504778208663060722490091078918820"
+	"442211534215724549474597452183278220860160271063926148250470"
+	"679370418947419804784028806439921024370220272459710745553427"
+	"532140111938226314711574890505019525688608204019208338049020"
+	"964857035390565630387666171043092215502462084208032361026639"
+	"181985329116058964561494525668476991132094345740269757309411"
+	"943012558938929849542837718523991642799184417216508002917772"
+	"962518064407748444169509200584402641166511867953786978192437"
+	"837706088776938929762590741093402053174273957718315232711979"
+	"156763671342690455365413493776695178957184566256453036423483"
+	"165581881185157301821017377303725398889368015324740406013125"
+	"543229798253477077861721808858399804067059819559784357961089"
+	"031531660672538152160882546443838630637659645910759113450754"
+	"115340302419919122232825971353047268318787351795564238070363"
+	"902981603709604904209483643728107596524396843183938695973698"
+	"988902792423000690468305030596571258580435533731137295948710"
+	"879428603159480555933441476779321193214240286001902925096646"
+	"193362176314904980279169507771637524251644382523514686007855"
+	"545314239798347914456001501088907724272618314958749305095096"
+	"794148875236619774059147846459165020147777271757983198340596"
+	"217174216488928458621791311513622796486107895876628401090163"
+	"978125601234102818815583696847648084271585896210534181544416"
+	"469676658401850851361026077754091157349631558038332867895835"
+	"014815733722261954846797196743495629643387081546134013472180"
+	"020575511498339952332310657372073205665921646889120512420352"
+	"744996181473392691675760746880600331249241406169543104123845"
+	"302352279569083018479984065747801443533578841058833879592182"
+	"967410207228549541008872773049474805471527002637111146655769"
+	"209259617240195120611744307719186858549611605185379536859573"
+	"600388251162049706159892398577468709333418593974416723820367"
+	"645305247298082397656229311712037206394594389066632536506196"
+	"102292821592907035713508581675681648604311761383787655492962"
+	"185626974375288560564944733881717892789614447377636043879790"
+	"036621277980274759345056403011475247907173958572327086563275"
+	"849543483955621171352309860257344516147519131140051406242709"
+	"778011785823084064869584614090224421754468355956581835921213"
+	"097223344749158316572863551380259154344114593953935347097045"
+	"25536550715391.999",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffff8p+16380L,
+	-0xf.fffffffffffffffffffffffffff8p+16380L,
+	-0xf.fffffffffffffffffffffffffff8p+16380L),
+  TEST ("-11897314953572317650857593266280070734799568698691021415011"
+	"868527227124689678980396147313041605370567205087355247942180"
+	"593264664074412459444736117251434132484671667965455130801840"
+	"045255124679702103169559030841542109952196285616205027456884"
+	"129791582874757434377487475290217671004952578762513867890601"
+	"004863821202705737468354284228263389609724091357204378869087"
+	"856142100844783840781539330336661735285987668515192503633514"
+	"260646282583954190884713931116677009187298349850863206766542"
+	"413166345601180198822101193374453309558359195271328750947157"
+	"200563558465557017475369862519596711820026523875337526865640"
+	"430063871893224677369982972098411971385146240080929526652970"
+	"745060303967599647731703468563276427779021494450059095045981"
+	"790545864962472323513895080140815733986651689347773187757918"
+	"371359567958155842762532583393965289784528201914992306937176"
+	"362101458792669882718296940837380380771229219128242910244535"
+	"249343403940229024393394190690666109060290096076587425830300"
+	"299463931565615207870879647471979376307793422374658272571538"
+	"054662102602281889246755194097756628326649875856850481383075"
+	"571558532564922782485789191644338139092007934624098407285987"
+	"639478965012746886149082252676671777013668074386693266234330"
+	"582182134430624080996753707870769123293738704114055716816195"
+	"667259532395066674201078658427576617166179197330225139480466"
+	"435106510788655729970732600565123039467471059792921100034504"
+	"074899248361425300656242486789356707460658993178806220006380"
+	"733674003694023021583140332212516536874244680515207868241150"
+	"608184375397400558311139160554714830348088746177398431439381"
+	"723332842622714699792542174328088559591648769946177759094943"
+	"253602138964984521406532201619814354725014386146031340830053"
+	"580064701427617554848554379129838364464367966961887990772034"
+	"736157803000124741957444835959798842548782921985130516220492"
+	"587642258075423047824449259233414946134282853204689713773286"
+	"256040510156737057089566266317468913174173960297084569421408"
+	"638340246503706956964095691238512574813981388887525820300348"
+	"697874705520281039407290858032400859875699388566714220055813"
+	"721666504975567694075744291186029555965678875987190466275865"
+	"110679697878878338698829512332686458041982159543089186717937"
+	"837296882112869887946881426752946149472342545380882235609343"
+	"611456763580462118316276838903401782103651546170016353726533"
+	"483704227265988570260024779291772882891237390703536913653116"
+	"455187157502455107702608011419765259822467740388537854425585"
+	"145214288921115223750634390935174873153868344319584291280195"
+	"074092905850311312792942129108984402192540093190593921627134"
+	"750198919305865438951637777077143986003394098182666993975063"
+	"096606074918898623140499223867493399851695895082484053899663"
+	"722794723684809945661015987806137974262131138092723411860100"
+	"306875200206043728502462357504778208663060722490091078918820"
+	"442211534215724549474597452183278220860160271063926148250470"
+	"679370418947419804784028806439921024370220272459710745553427"
+	"532140111938226314711574890505019525688608204019208338049020"
+	"964857035390565630387666171043092215502462084208032361026639"
+	"181985329116058964561494525668476991132094345740269757309411"
+	"943012558938929849542837718523991642799184417216508002917772"
+	"962518064407748444169509200584402641166511867953786978192437"
+	"837706088776938929762590741093402053174273957718315232711979"
+	"156763671342690455365413493776695178957184566256453036423483"
+	"165581881185157301821017377303725398889368015324740406013125"
+	"543229798253477077861721808858399804067059819559784357961089"
+	"031531660672538152160882546443838630637659645910759113450754"
+	"115340302419919122232825971353047268318787351795564238070363"
+	"902981603709604904209483643728107596524396843183938695973698"
+	"988902792423000690468305030596571258580435533731137295948710"
+	"879428603159480555933441476779321193214240286001902925096646"
+	"193362176314904980279169507771637524251644382523514686007855"
+	"545314239798347914456001501088907724272618314958749305095096"
+	"794148875236619774059147846459165020147777271757983198340596"
+	"217174216488928458621791311513622796486107895876628401090163"
+	"978125601234102818815583696847648084271585896210534181544416"
+	"469676658401850851361026077754091157349631558038332867895835"
+	"014815733722261954846797196743495629643387081546134013472180"
+	"020575511498339952332310657372073205665921646889120512420352"
+	"744996181473392691675760746880600331249241406169543104123845"
+	"302352279569083018479984065747801443533578841058833879592182"
+	"967410207228549541008872773049474805471527002637111146655769"
+	"209259617240195120611744307719186858549611605185379536859573"
+	"600388251162049706159892398577468709333418593974416723820367"
+	"645305247298082397656229311712037206394594389066632536506196"
+	"102292821592907035713508581675681648604311761383787655492962"
+	"185626974375288560564944733881717892789614447377636043879790"
+	"036621277980274759345056403011475247907173958572327086563275"
+	"849543483955621171352309860257344516147519131140051406242709"
+	"778011785823084064869584614090224421754468355956581835921213"
+	"097223344749158316572863551380259154344114593953935347097045"
+	"25536550715392",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffff8p+16380L,
+	-0xf.fffffffffffffffffffffffffff8p+16380L),
+  TEST ("-11897314953572317650857593266280070734799568698691021415011"
+	"868527227124689678980396147313041605370567205087355247942180"
+	"593264664074412459444736117251434132484671667965455130801840"
+	"045255124679702103169559030841542109952196285616205027456884"
+	"129791582874757434377487475290217671004952578762513867890601"
+	"004863821202705737468354284228263389609724091357204378869087"
+	"856142100844783840781539330336661735285987668515192503633514"
+	"260646282583954190884713931116677009187298349850863206766542"
+	"413166345601180198822101193374453309558359195271328750947157"
+	"200563558465557017475369862519596711820026523875337526865640"
+	"430063871893224677369982972098411971385146240080929526652970"
+	"745060303967599647731703468563276427779021494450059095045981"
+	"790545864962472323513895080140815733986651689347773187757918"
+	"371359567958155842762532583393965289784528201914992306937176"
+	"362101458792669882718296940837380380771229219128242910244535"
+	"249343403940229024393394190690666109060290096076587425830300"
+	"299463931565615207870879647471979376307793422374658272571538"
+	"054662102602281889246755194097756628326649875856850481383075"
+	"571558532564922782485789191644338139092007934624098407285987"
+	"639478965012746886149082252676671777013668074386693266234330"
+	"582182134430624080996753707870769123293738704114055716816195"
+	"667259532395066674201078658427576617166179197330225139480466"
+	"435106510788655729970732600565123039467471059792921100034504"
+	"074899248361425300656242486789356707460658993178806220006380"
+	"733674003694023021583140332212516536874244680515207868241150"
+	"608184375397400558311139160554714830348088746177398431439381"
+	"723332842622714699792542174328088559591648769946177759094943"
+	"253602138964984521406532201619814354725014386146031340830053"
+	"580064701427617554848554379129838364464367966961887990772034"
+	"736157803000124741957444835959798842548782921985130516220492"
+	"587642258075423047824449259233414946134282853204689713773286"
+	"256040510156737057089566266317468913174173960297084569421408"
+	"638340246503706956964095691238512574813981388887525820300348"
+	"697874705520281039407290858032400859875699388566714220055813"
+	"721666504975567694075744291186029555965678875987190466275865"
+	"110679697878878338698829512332686458041982159543089186717937"
+	"837296882112869887946881426752946149472342545380882235609343"
+	"611456763580462118316276838903401782103651546170016353726533"
+	"483704227265988570260024779291772882891237390703536913653116"
+	"455187157502455107702608011419765259822467740388537854425585"
+	"145214288921115223750634390935174873153868344319584291280195"
+	"074092905850311312792942129108984402192540093190593921627134"
+	"750198919305865438951637777077143986003394098182666993975063"
+	"096606074918898623140499223867493399851695895082484053899663"
+	"722794723684809945661015987806137974262131138092723411860100"
+	"306875200206043728502462357504778208663060722490091078918820"
+	"442211534215724549474597452183278220860160271063926148250470"
+	"679370418947419804784028806439921024370220272459710745553427"
+	"532140111938226314711574890505019525688608204019208338049020"
+	"964857035390565630387666171043092215502462084208032361026639"
+	"181985329116058964561494525668476991132094345740269757309411"
+	"943012558938929849542837718523991642799184417216508002917772"
+	"962518064407748444169509200584402641166511867953786978192437"
+	"837706088776938929762590741093402053174273957718315232711979"
+	"156763671342690455365413493776695178957184566256453036423483"
+	"165581881185157301821017377303725398889368015324740406013125"
+	"543229798253477077861721808858399804067059819559784357961089"
+	"031531660672538152160882546443838630637659645910759113450754"
+	"115340302419919122232825971353047268318787351795564238070363"
+	"902981603709604904209483643728107596524396843183938695973698"
+	"988902792423000690468305030596571258580435533731137295948710"
+	"879428603159480555933441476779321193214240286001902925096646"
+	"193362176314904980279169507771637524251644382523514686007855"
+	"545314239798347914456001501088907724272618314958749305095096"
+	"794148875236619774059147846459165020147777271757983198340596"
+	"217174216488928458621791311513622796486107895876628401090163"
+	"978125601234102818815583696847648084271585896210534181544416"
+	"469676658401850851361026077754091157349631558038332867895835"
+	"014815733722261954846797196743495629643387081546134013472180"
+	"020575511498339952332310657372073205665921646889120512420352"
+	"744996181473392691675760746880600331249241406169543104123845"
+	"302352279569083018479984065747801443533578841058833879592182"
+	"967410207228549541008872773049474805471527002637111146655769"
+	"209259617240195120611744307719186858549611605185379536859573"
+	"600388251162049706159892398577468709333418593974416723820367"
+	"645305247298082397656229311712037206394594389066632536506196"
+	"102292821592907035713508581675681648604311761383787655492962"
+	"185626974375288560564944733881717892789614447377636043879790"
+	"036621277980274759345056403011475247907173958572327086563275"
+	"849543483955621171352309860257344516147519131140051406242709"
+	"778011785823084064869584614090224421754468355956581835921213"
+	"097223344749158316572863551380259154344114593953935347097045"
+	"25536550715392.001",
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffp+124f,
+	-0xf.fffffp+124f,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020,
+	-0xf.ffffffffffff8p+1020,
+	-INFINITY,
+	-INFINITY,
+	-0xf.ffffffffffff8p+1020L,
+	-0xf.ffffffffffff8p+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffp+16380L,
+	-0xf.fffffffffffffffp+16380L,
+	false,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-0xf.fffffffffffffffffffffffffcp+1020L,
+	-INFINITY,
+	-INFINITY,
+	-0xf.fffffffffffffffffffffffffff8p+16380L,
+	-0xf.fffffffffffffffffffffffffff8p+16380L),
+  TEST ("2.1019476964872256063855943749348741969203929128147736576356"
+	"0242583468662402879090222995728254318237304687499e-45",
+	0x8p-152f,
+	0x8p-152f,
+	0x8p-152f,
+	0x1p-148f,
+	0xb.ffffffffffff8p-152,
+	0xcp-152,
+	0xb.ffffffffffff8p-152,
+	0xcp-152,
+	0xb.ffffffffffff8p-152L,
+	0xcp-152L,
+	0xb.ffffffffffff8p-152L,
+	0xcp-152L,
+	0xb.fffffffffffffffp-152L,
+	0xcp-152L,
+	0xb.fffffffffffffffp-152L,
+	0xcp-152L,
+	false,
+	0xb.fffffffffffffffffffffffffcp-152L,
+	0xcp-152L,
+	0xb.fffffffffffffffffffffffffcp-152L,
+	0xcp-152L,
+	0xb.fffffffffffffffffffffffffff8p-152L,
+	0xcp-152L,
+	0xb.fffffffffffffffffffffffffff8p-152L,
+	0xcp-152L),
+  TEST ("2.1019476964872256063855943749348741969203929128147736576356"
+	"02425834686624028790902229957282543182373046875e-45",
+	0x8p-152f,
+	0x1p-148f,
+	0x8p-152f,
+	0x1p-148f,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	true,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L),
+  TEST ("2.1019476964872256063855943749348741969203929128147736576356"
+	"0242583468662402879090222995728254318237304687501e-45",
+	0x8p-152f,
+	0x1p-148f,
+	0x8p-152f,
+	0x1p-148f,
+	0xcp-152,
+	0xcp-152,
+	0xcp-152,
+	0xc.0000000000008p-152,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xc.0000000000008p-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xc.000000000000001p-152L,
+	false,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xc.00000000000000000000000004p-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xcp-152L,
+	0xc.0000000000000000000000000008p-152L),
+  TEST ("-2.101947696487225606385594374934874196920392912814773657635"
+	"60242583468662402879090222995728254318237304687499e-45",
+	-0x1p-148f,
+	-0x8p-152f,
+	-0x8p-152f,
+	-0x8p-152f,
+	-0xcp-152,
+	-0xcp-152,
+	-0xb.ffffffffffff8p-152,
+	-0xb.ffffffffffff8p-152,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xb.ffffffffffff8p-152L,
+	-0xb.ffffffffffff8p-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xb.fffffffffffffffp-152L,
+	-0xb.fffffffffffffffp-152L,
+	false,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xb.fffffffffffffffffffffffffcp-152L,
+	-0xb.fffffffffffffffffffffffffcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xb.fffffffffffffffffffffffffff8p-152L,
+	-0xb.fffffffffffffffffffffffffff8p-152L),
+  TEST ("-2.101947696487225606385594374934874196920392912814773657635"
+	"602425834686624028790902229957282543182373046875e-45",
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x8p-152f,
+	-0x8p-152f,
+	-0xcp-152,
+	-0xcp-152,
+	-0xcp-152,
+	-0xcp-152,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	true,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L),
+  TEST ("-2.101947696487225606385594374934874196920392912814773657635"
+	"60242583468662402879090222995728254318237304687501e-45",
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x8p-152f,
+	-0x8p-152f,
+	-0xc.0000000000008p-152,
+	-0xcp-152,
+	-0xcp-152,
+	-0xcp-152,
+	-0xc.0000000000008p-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xc.000000000000001p-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	false,
+	-0xc.00000000000000000000000004p-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xc.0000000000000000000000000008p-152L,
+	-0xcp-152L,
+	-0xcp-152L,
+	-0xcp-152L),
+  TEST ("3.5032461608120426773093239582247903282006548546912894293926"
+	"7070972447770671465150371659547090530395507812499e-45",
+	0x1p-148f,
+	0x1p-148f,
+	0x1p-148f,
+	0x1.8p-148f,
+	0x1.3ffffffffffffp-148,
+	0x1.4p-148,
+	0x1.3ffffffffffffp-148,
+	0x1.4p-148,
+	0x1.3ffffffffffffp-148L,
+	0x1.4p-148L,
+	0x1.3ffffffffffffp-148L,
+	0x1.4p-148L,
+	0x1.3ffffffffffffffep-148L,
+	0x1.4p-148L,
+	0x1.3ffffffffffffffep-148L,
+	0x1.4p-148L,
+	false,
+	0x1.3fffffffffffffffffffffffff8p-148L,
+	0x1.4p-148L,
+	0x1.3fffffffffffffffffffffffff8p-148L,
+	0x1.4p-148L,
+	0x1.3fffffffffffffffffffffffffffp-148L,
+	0x1.4p-148L,
+	0x1.3fffffffffffffffffffffffffffp-148L,
+	0x1.4p-148L),
+  TEST ("3.5032461608120426773093239582247903282006548546912894293926"
+	"70709724477706714651503716595470905303955078125e-45",
+	0x1p-148f,
+	0x1p-148f,
+	0x1p-148f,
+	0x1.8p-148f,
+	0x1.4p-148,
+	0x1.4p-148,
+	0x1.4p-148,
+	0x1.4p-148,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	true,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L),
+  TEST ("3.5032461608120426773093239582247903282006548546912894293926"
+	"7070972447770671465150371659547090530395507812501e-45",
+	0x1p-148f,
+	0x1.8p-148f,
+	0x1p-148f,
+	0x1.8p-148f,
+	0x1.4p-148,
+	0x1.4p-148,
+	0x1.4p-148,
+	0x1.4000000000001p-148,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4000000000001p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4000000000000002p-148L,
+	false,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.400000000000000000000000008p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4p-148L,
+	0x1.4000000000000000000000000001p-148L),
+  TEST ("-3.503246160812042677309323958224790328200654854691289429392"
+	"67070972447770671465150371659547090530395507812499e-45",
+	-0x1.8p-148f,
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.3ffffffffffffp-148,
+	-0x1.3ffffffffffffp-148,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.3ffffffffffffp-148L,
+	-0x1.3ffffffffffffp-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.3ffffffffffffffep-148L,
+	-0x1.3ffffffffffffffep-148L,
+	false,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.3fffffffffffffffffffffffff8p-148L,
+	-0x1.3fffffffffffffffffffffffff8p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.3fffffffffffffffffffffffffffp-148L,
+	-0x1.3fffffffffffffffffffffffffffp-148L),
+  TEST ("-3.503246160812042677309323958224790328200654854691289429392"
+	"670709724477706714651503716595470905303955078125e-45",
+	-0x1.8p-148f,
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	true,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L),
+  TEST ("-3.503246160812042677309323958224790328200654854691289429392"
+	"67070972447770671465150371659547090530395507812501e-45",
+	-0x1.8p-148f,
+	-0x1.8p-148f,
+	-0x1p-148f,
+	-0x1p-148f,
+	-0x1.4000000000001p-148,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.4p-148,
+	-0x1.4000000000001p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4000000000000002p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	false,
+	-0x1.400000000000000000000000008p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4000000000000000000000000001p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L,
+	-0x1.4p-148L),
+  TEST ("7.4109846876186981626485318930233205854758970392148714663837"
+	"852375101326090531312779794975454245398856969484704316857659"
+	"638998506553390969459816219401617281718945106978546710679176"
+	"872575177347315553307795408549809608457500958111373034747658"
+	"096871009590975442271004757307809711118935784838675653998783"
+	"503015228055934046593739791790738723868299395818481660169122"
+	"019456499931289798411362062484498678713572180352209017023903"
+	"285791732520220528974020802906854021606612375549983402671300"
+	"035812486479041385743401875520901590172592547146296175134159"
+	"774938718574737870961645638908718119841271673056017045493004"
+	"705269590165763776884908267986972573366521765567941072508764"
+	"337560846003984904972149117463085539556354188641513168478436"
+	"31308023759629577398300170898437499e-324",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x4p-1076,
+	0x4p-1076,
+	0x4p-1076,
+	0x8p-1076,
+	0x4p-1076L,
+	0x4p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x5.fffffffffffffff8p-1076L,
+	0x6p-1076L,
+	0x5.fffffffffffffff8p-1076L,
+	0x6p-1076L,
+	false,
+	0x4p-1076L,
+	0x4p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x5.fffffffffffffffffffffffffffcp-1076L,
+	0x6p-1076L,
+	0x5.fffffffffffffffffffffffffffcp-1076L,
+	0x6p-1076L),
+  TEST ("7.4109846876186981626485318930233205854758970392148714663837"
+	"852375101326090531312779794975454245398856969484704316857659"
+	"638998506553390969459816219401617281718945106978546710679176"
+	"872575177347315553307795408549809608457500958111373034747658"
+	"096871009590975442271004757307809711118935784838675653998783"
+	"503015228055934046593739791790738723868299395818481660169122"
+	"019456499931289798411362062484498678713572180352209017023903"
+	"285791732520220528974020802906854021606612375549983402671300"
+	"035812486479041385743401875520901590172592547146296175134159"
+	"774938718574737870961645638908718119841271673056017045493004"
+	"705269590165763776884908267986972573366521765567941072508764"
+	"337560846003984904972149117463085539556354188641513168478436"
+	"313080237596295773983001708984375e-324",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x4p-1076,
+	0x8p-1076,
+	0x4p-1076,
+	0x8p-1076,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	true,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L),
+  TEST ("7.4109846876186981626485318930233205854758970392148714663837"
+	"852375101326090531312779794975454245398856969484704316857659"
+	"638998506553390969459816219401617281718945106978546710679176"
+	"872575177347315553307795408549809608457500958111373034747658"
+	"096871009590975442271004757307809711118935784838675653998783"
+	"503015228055934046593739791790738723868299395818481660169122"
+	"019456499931289798411362062484498678713572180352209017023903"
+	"285791732520220528974020802906854021606612375549983402671300"
+	"035812486479041385743401875520901590172592547146296175134159"
+	"774938718574737870961645638908718119841271673056017045493004"
+	"705269590165763776884908267986972573366521765567941072508764"
+	"337560846003984904972149117463085539556354188641513168478436"
+	"31308023759629577398300170898437501e-324",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x4p-1076,
+	0x8p-1076,
+	0x4p-1076,
+	0x8p-1076,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6.0000000000000008p-1076L,
+	false,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x4p-1076L,
+	0x8p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6p-1076L,
+	0x6.0000000000000000000000000004p-1076L),
+  TEST ("-7.410984687618698162648531893023320585475897039214871466383"
+	"785237510132609053131277979497545424539885696948470431685765"
+	"963899850655339096945981621940161728171894510697854671067917"
+	"687257517734731555330779540854980960845750095811137303474765"
+	"809687100959097544227100475730780971111893578483867565399878"
+	"350301522805593404659373979179073872386829939581848166016912"
+	"201945649993128979841136206248449867871357218035220901702390"
+	"328579173252022052897402080290685402160661237554998340267130"
+	"003581248647904138574340187552090159017259254714629617513415"
+	"977493871857473787096164563890871811984127167305601704549300"
+	"470526959016576377688490826798697257336652176556794107250876"
+	"433756084600398490497214911746308553955635418864151316847843"
+	"631308023759629577398300170898437499e-324",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x8p-1076,
+	-0x4p-1076,
+	-0x4p-1076,
+	-0x4p-1076,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x5.fffffffffffffff8p-1076L,
+	-0x5.fffffffffffffff8p-1076L,
+	false,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x5.fffffffffffffffffffffffffffcp-1076L,
+	-0x5.fffffffffffffffffffffffffffcp-1076L),
+  TEST ("-7.410984687618698162648531893023320585475897039214871466383"
+	"785237510132609053131277979497545424539885696948470431685765"
+	"963899850655339096945981621940161728171894510697854671067917"
+	"687257517734731555330779540854980960845750095811137303474765"
+	"809687100959097544227100475730780971111893578483867565399878"
+	"350301522805593404659373979179073872386829939581848166016912"
+	"201945649993128979841136206248449867871357218035220901702390"
+	"328579173252022052897402080290685402160661237554998340267130"
+	"003581248647904138574340187552090159017259254714629617513415"
+	"977493871857473787096164563890871811984127167305601704549300"
+	"470526959016576377688490826798697257336652176556794107250876"
+	"433756084600398490497214911746308553955635418864151316847843"
+	"6313080237596295773983001708984375e-324",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x8p-1076,
+	-0x8p-1076,
+	-0x4p-1076,
+	-0x4p-1076,
+	-0x8p-1076L,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	true,
+	-0x8p-1076L,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L),
+  TEST ("-7.410984687618698162648531893023320585475897039214871466383"
+	"785237510132609053131277979497545424539885696948470431685765"
+	"963899850655339096945981621940161728171894510697854671067917"
+	"687257517734731555330779540854980960845750095811137303474765"
+	"809687100959097544227100475730780971111893578483867565399878"
+	"350301522805593404659373979179073872386829939581848166016912"
+	"201945649993128979841136206248449867871357218035220901702390"
+	"328579173252022052897402080290685402160661237554998340267130"
+	"003581248647904138574340187552090159017259254714629617513415"
+	"977493871857473787096164563890871811984127167305601704549300"
+	"470526959016576377688490826798697257336652176556794107250876"
+	"433756084600398490497214911746308553955635418864151316847843"
+	"631308023759629577398300170898437501e-324",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x8p-1076,
+	-0x8p-1076,
+	-0x4p-1076,
+	-0x4p-1076,
+	-0x8p-1076L,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6.0000000000000008p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	false,
+	-0x8p-1076L,
+	-0x8p-1076L,
+	-0x4p-1076L,
+	-0x4p-1076L,
+	-0x6.0000000000000000000000000004p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L,
+	-0x6p-1076L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"683343374046671669930219650268554687499e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x8p-16448L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xb.fffffffffffcp-16448L,
+	0xcp-16448L,
+	0xb.fffffffffffcp-16448L,
+	0xcp-16448L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"6833433740466716699302196502685546875e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x1p-16444L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"683343374046671669930219650268554687501e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x1p-16444L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xc.000000000004p-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"2683343374046671669930219650268554687499e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xb.fffffffffffcp-16448L,
+	-0xb.fffffffffffcp-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"26833433740466716699302196502685546875e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"2683343374046671669930219650268554687501e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xc.000000000004p-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"683343374046671669930219650268554687499e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x8p-16448L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xb.fffffffffffcp-16448L,
+	0xcp-16448L,
+	0xb.fffffffffffcp-16448L,
+	0xcp-16448L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"6833433740466716699302196502685546875e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x1p-16444L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L),
+  TEST ("5.4677992978237119037926089004291297245985762235403450155814"
+	"707305425575329500966052143410629387408077958710210208052966"
+	"529504784489330482549602621133847135082257338717668975178538"
+	"378957084503396349323438489751160934104796903302909028868611"
+	"999312592165232778075745690821530731336739429587895774023213"
+	"939331012985331912661021188896306095323395084578542200319963"
+	"179359407180003251440084380484161504585462684082946932782829"
+	"488183829817567452314437076943950532707791252404699268678810"
+	"198502871250235796855577909830559749628817599194837522029036"
+	"891995648803056846354520653635957919882905363521007017169741"
+	"463296044392266269433408052686419017699718627761948763856040"
+	"592690841721239300491445991666051031755802326720329666454066"
+	"568630314348735511753639418257984253319063825247065727664852"
+	"328745422305642626091617823968872438962470092440688372515677"
+	"832232712866924800106797113478024083516199991991274936894113"
+	"006233377518471389394984262004503058455485659100090665241525"
+	"454803628182902241401701783637353179296850056973639305945938"
+	"813428953287892593620291195986011128990061888798763718548789"
+	"025717537674780281005583347165047846045925077914824515331335"
+	"131286063574407181821236377907693209224423490663289916878620"
+	"725507793163931390372011875799729330162278748985052557432333"
+	"005334989519381566364065326138465761456173231416844807264090"
+	"741841972247545424908843928136253653308813487994328446248389"
+	"608261444391573619177442907290731163188581917588219420107047"
+	"265367485141413919810885909689112244064797106324295291545892"
+	"937991321479061743491490060940946128274533657682130125169586"
+	"930571899403551122506297763180795732325134340989331155893724"
+	"289358918212707392997768032299997207208451112971425779939507"
+	"837165263255764268971211819536322993221774123134726665579460"
+	"265871378186589562858761835613344584269098062275786969729830"
+	"545786485401407774313414954958161677096004701941411411592755"
+	"485864471870515173326244464631295701572087440183178339987662"
+	"926763241220698078822661709054601073523477544653542795020468"
+	"256078409306409100874886828781860529824879343987945751252081"
+	"314345990313550683792348814627862441324030155730592166581251"
+	"009922787324590431548734575328663628650380722603024383412564"
+	"651446272117561042207738413114131099731016728935023152239431"
+	"311619533848376583687509108453086730196255111695352464186678"
+	"221927564757730319825223049341618853631333478241227227268084"
+	"583396688436229936266854011427192767039363517491659523133852"
+	"472534104124441112346615696891097070121463652258681270378076"
+	"538381697594264658479637863087159293838880752928175545408262"
+	"813403793568695416998388572304528748824756265665683890518422"
+	"696169422338806137532304784682662448207928681740476188343739"
+	"117833525916386815135793034906806117413105008719197882837614"
+	"738262050320291539494104952056471606645482046176634075459021"
+	"552555959590354956262127809953013679512507451424271839221946"
+	"794056861055980558363033732905772356986051180966474116423192"
+	"194741572438649215204229781279620370445373851348786918527399"
+	"785630808242657122705381806661616271132182017797793661244078"
+	"445747547535623384548769818529655539279036503234072455810991"
+	"588075181817695975173110136482659854557506203058080551018873"
+	"203138260451109855100526720073566126209666125604482413705611"
+	"996796777927332827103568863352291499261312290355143742018042"
+	"254470707107847293593205234049774839191754781030496978091006"
+	"099559675240966730110167624903610656473267105556155633783594"
+	"089546261107653110531808279445757724399186120387548675148632"
+	"176049190701680305210224388072261974806791922636412897526952"
+	"793677946622674149577084803568051242934076450942927092705684"
+	"547042915490323112457971853658760725588190377666477106903106"
+	"693847278847646032201293023329503348730723947218797410452333"
+	"910847913892827195814551858335519518939031446093385329182820"
+	"714173657946661746005901866885589732922652604573972842197231"
+	"187365263381958925227970038358064987248233271706462687651143"
+	"350472018043321314534759819524203308490914358596886150053406"
+	"629512434788155355109100540319857813535695923273426256911552"
+	"977539394209918630668466632881929661971212772444625151371953"
+	"428875491139683919687008724010475217255347915698820960215217"
+	"257390308560235323463096946442080548018754166369706161589705"
+	"215873687166365628787796501470056870127729464714362172216802"
+	"441045276911597009443281135389729130222603185665646434661947"
+	"627628077723219376892727386120519287577405410510114936151502"
+	"752997122750262781911372625997223415283516995479265631485799"
+	"456782561734766648462849641064097181818204279498552827825384"
+	"186202065516999362573388136163077477126602169410435905014077"
+	"049808497409025369325795765272066650278004200357878990911374"
+	"982857977108488482528354406313893864211497105765030504600982"
+	"253488805474531798742143374465080240030582370086699167937651"
+	"038307909706139327119325418854546478285735654541635477790346"
+	"964782617354265050767878335230272194896680141986745074630225"
+	"893106573559558843545841186025169531604151588481389164948914"
+	"823593944287133336263680358191369540321930649824471425485137"
+	"777984823525402115151171093313613251350685343824859052220126"
+	"891551966018355920872775724807128769003243129486808733796350"
+	"497668255116485157191011858830643898323628223472099280243583"
+	"164434348347014910398004439821970508280440872759395827943270"
+	"985008769143562351938091476215083548164137333541883808870019"
+	"116234099013452929807950151652297436436006149684939775781234"
+	"660954156154478642694176038524277810483833149798681345708089"
+	"152179193979463169402340611793486272301808073267534612685593"
+	"859596787866884211031341417903391749825320454663508370385251"
+	"831778477311017089729361152161928815389818579983544490982891"
+	"734081131312309744330960666031291451740885503458543884956367"
+	"654943799264600314531815427932691107874782328654759293575803"
+	"481929361961781073958502075438499070633193799699311694287183"
+	"299423475339817655608058724723221867087563064557636112380829"
+	"514501382073257737022472866608244164310385205213523702910787"
+	"182472517125030106491031844871593141759729773907719510044049"
+	"352857426592936763727969496103940591601975078602859660478614"
+	"119405428212830134490731706220583788265344728818766885126977"
+	"588151111984290444321648931907188080336064713873288834096229"
+	"203276676119810521851726133377700616341304257822975788967472"
+	"152742255041912584197045423031298506219011800240120182445838"
+	"590696647416285334515631019799007515682004250060857020904012"
+	"215375170479800482680554499806010766109655061507421747722461"
+	"180617361402575082294678925605271083587897845390768226405648"
+	"508518103525778638618195775128516073959272990148239415346263"
+	"486966573934577450787243667063244378381883115827207605856174"
+	"876350045086885320626669331311880593775916269643646395423220"
+	"549940790476989709243027420158390806135690975149384714684219"
+	"964938182719962913931464979458639185519531490009437619838306"
+	"362365453754807654884704163490469296444427144778593725687358"
+	"437087390151990694667516279202024332494828210657618261952038"
+	"597230263799412584275851667403910657370879707181053365818502"
+	"680037431560091209982641738995652793235851569372314130107647"
+	"166085235615697257094269133100914135783178856280392139325001"
+	"352841718610484616627448189556913621837791650699820323059708"
+	"766420810133584841826718631681683381743511974264126250984214"
+	"812397119978273917903889865891718836792263377888052458189238"
+	"746074986456016681098722869419588274020181430652732817858728"
+	"473849369539367463917171317324882099804999043054467247785592"
+	"038464723442276239896066431580123756428540074945472427752568"
+	"981171400621705853374875885943072600692576914790467205905272"
+	"372594740187988081900317493185005142913607163380720069786786"
+	"782095331840893694073778325119471833528492917081008547303414"
+	"509381563617864195257751546539575461435803625993888325647883"
+	"541039192368366987400263049681218831477776345118518503709588"
+	"840859023379762456561030683928115349942393963185677123055324"
+	"771693784214924931737043793679546051454845624150270955450608"
+	"318747395755728950832754611277041359602301205138509175543313"
+	"522772786504141007552691902249572375175731740923618769197304"
+	"652898352694386665448260033458575323252814233868098279476166"
+	"764258284911434288072243178941698347365985427696983129579496"
+	"059032032841281149923518087084876885114369033227736521245740"
+	"554711771423492719899982357711910225545480424688322195336240"
+	"492253136281857837808491795993788199125205555222116581071134"
+	"476787468430539307909617442106685159519071053844987343666452"
+	"494280317720153567054364117244775141336558406098548803924509"
+	"496052261825198043140272655303625315605326569530252885854991"
+	"822289219201218313590745412010446642247111703901991591338062"
+	"693320157180618736569439969283245279430312651192668788340033"
+	"626825194260296262959884258597703584888770801961209652822982"
+	"322376122303586169861685106043820510444293432856251210395693"
+	"261264867823980172683352796141772210301725997652373804152525"
+	"037162852291403804455997331367378463632437773242905518075065"
+	"414724295857460288225400061608664961649196400079359622673770"
+	"607898395269075056596627116148289491042491764170924014885106"
+	"158235482774778418134123293974436877051995673618683751115353"
+	"808771434984204447736174758316063096245047311279841579995578"
+	"186609402864244042751443128536278453430633423118662852688374"
+	"229600894418958824842459450540826176452145829389286103522774"
+	"101195556029650753254244433565937938526828990893149766298997"
+	"738359913887178888607190765709867052470880785937935110091424"
+	"743449966353497865681753841380246075612094033617488674676296"
+	"822570077027076266879557913673839341012099558043806442348798"
+	"053951239274913334631522409564461770434875790402230022872647"
+	"568436177018658068697071731879399180374560963492726714528729"
+	"224208938589940272515747888379118461617702271694075087419634"
+	"147298076764775745707026934442908236664400557265527951453482"
+	"191684597674273691978253678690951178777239573925410438679099"
+	"374700609973920128201422381329108236575369403675960765238333"
+	"778127017096574296148321075566959285042221837159799800133563"
+	"239963969638610872680393210300180152020613051613414547163713"
+	"772512617757277955979895866367571776456268564191092477027650"
+	"135832200376440239783726540552694851717269598489288851529660"
+	"975027775639565229734596726205832668434979354541943345062977"
+	"891187146561050118118108223323735210843681128615413601091222"
+	"007912350536959777114306541514511332368936078560929788143798"
+	"814391221507522370648646767364209132147312407014953113532379"
+	"838195728491128536978285918066991040993153064356179903885952"
+	"027952713749653604502053512355449916680887234238773855581636"
+	"172479594866871765094513940103284167914110196720261110812716"
+	"776424260154507395050380575452850420730818412994731079307343"
+	"538376880280124019321040198038723558784544408584344466090982"
+	"802067326529000931562048932875469079874956595180595395347093"
+	"285140279165467965596318365749701535812384333240968283640721"
+	"344003442002691613772056762099098025739332715913970186225176"
+	"459563484134139746647940170537900275350480490468851439300771"
+	"949915194703080576611022590670399844931867609777417528903454"
+	"731922206378932141464755402629420074293816349270038351339419"
+	"146768473851353171629153912238797141905920143036064131705230"
+	"421762305232861503856799511155936565169005916711845389135580"
+	"928162511912438531204156138447775120789548666143600293412065"
+	"767167106888509172568003530668539460588248316513392652567856"
+	"224602697296203328920073354425994044956624831346979458846837"
+	"597950064151867164583749203433942592178528868981311575331848"
+	"941597492470436782387502687532649093096498315347403977436001"
+	"399982102030846763698994785054617523241463186980898394504211"
+	"430763617825306895065661536045431497903759118007934839122881"
+	"885863091769469883539876840543521295706315919855784493235603"
+	"866268925981702690270202829595794350800918257913991744455922"
+	"683343374046671669930219650268554687501e-4951",
+	0x0p+0f,
+	0x0p+0f,
+	0x0p+0f,
+	0x8p-152f,
+	0x0p+0,
+	0x0p+0,
+	0x0p+0,
+	0x4p-1076,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0x8p-16448L,
+	0x1p-16444L,
+	0x8p-16448L,
+	0x1p-16444L,
+	false,
+	0x0p+0L,
+	0x0p+0L,
+	0x0p+0L,
+	0x4p-1076L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xcp-16448L,
+	0xc.000000000004p-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"2683343374046671669930219650268554687499e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xb.fffffffffffcp-16448L,
+	-0xb.fffffffffffcp-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"26833433740466716699302196502685546875e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L),
+  TEST ("-5.467799297823711903792608900429129724598576223540345015581"
+	"470730542557532950096605214341062938740807795871021020805296"
+	"652950478448933048254960262113384713508225733871766897517853"
+	"837895708450339634932343848975116093410479690330290902886861"
+	"199931259216523277807574569082153073133673942958789577402321"
+	"393933101298533191266102118889630609532339508457854220031996"
+	"317935940718000325144008438048416150458546268408294693278282"
+	"948818382981756745231443707694395053270779125240469926867881"
+	"019850287125023579685557790983055974962881759919483752202903"
+	"689199564880305684635452065363595791988290536352100701716974"
+	"146329604439226626943340805268641901769971862776194876385604"
+	"059269084172123930049144599166605103175580232672032966645406"
+	"656863031434873551175363941825798425331906382524706572766485"
+	"232874542230564262609161782396887243896247009244068837251567"
+	"783223271286692480010679711347802408351619999199127493689411"
+	"300623337751847138939498426200450305845548565910009066524152"
+	"545480362818290224140170178363735317929685005697363930594593"
+	"881342895328789259362029119598601112899006188879876371854878"
+	"902571753767478028100558334716504784604592507791482451533133"
+	"513128606357440718182123637790769320922442349066328991687862"
+	"072550779316393139037201187579972933016227874898505255743233"
+	"300533498951938156636406532613846576145617323141684480726409"
+	"074184197224754542490884392813625365330881348799432844624838"
+	"960826144439157361917744290729073116318858191758821942010704"
+	"726536748514141391981088590968911224406479710632429529154589"
+	"293799132147906174349149006094094612827453365768213012516958"
+	"693057189940355112250629776318079573232513434098933115589372"
+	"428935891821270739299776803229999720720845111297142577993950"
+	"783716526325576426897121181953632299322177412313472666557946"
+	"026587137818658956285876183561334458426909806227578696972983"
+	"054578648540140777431341495495816167709600470194141141159275"
+	"548586447187051517332624446463129570157208744018317833998766"
+	"292676324122069807882266170905460107352347754465354279502046"
+	"825607840930640910087488682878186052982487934398794575125208"
+	"131434599031355068379234881462786244132403015573059216658125"
+	"100992278732459043154873457532866362865038072260302438341256"
+	"465144627211756104220773841311413109973101672893502315223943"
+	"131161953384837658368750910845308673019625511169535246418667"
+	"822192756475773031982522304934161885363133347824122722726808"
+	"458339668843622993626685401142719276703936351749165952313385"
+	"247253410412444111234661569689109707012146365225868127037807"
+	"653838169759426465847963786308715929383888075292817554540826"
+	"281340379356869541699838857230452874882475626566568389051842"
+	"269616942233880613753230478468266244820792868174047618834373"
+	"911783352591638681513579303490680611741310500871919788283761"
+	"473826205032029153949410495205647160664548204617663407545902"
+	"155255595959035495626212780995301367951250745142427183922194"
+	"679405686105598055836303373290577235698605118096647411642319"
+	"219474157243864921520422978127962037044537385134878691852739"
+	"978563080824265712270538180666161627113218201779779366124407"
+	"844574754753562338454876981852965553927903650323407245581099"
+	"158807518181769597517311013648265985455750620305808055101887"
+	"320313826045110985510052672007356612620966612560448241370561"
+	"199679677792733282710356886335229149926131229035514374201804"
+	"225447070710784729359320523404977483919175478103049697809100"
+	"609955967524096673011016762490361065647326710555615563378359"
+	"408954626110765311053180827944575772439918612038754867514863"
+	"217604919070168030521022438807226197480679192263641289752695"
+	"279367794662267414957708480356805124293407645094292709270568"
+	"454704291549032311245797185365876072558819037766647710690310"
+	"669384727884764603220129302332950334873072394721879741045233"
+	"391084791389282719581455185833551951893903144609338532918282"
+	"071417365794666174600590186688558973292265260457397284219723"
+	"118736526338195892522797003835806498724823327170646268765114"
+	"335047201804332131453475981952420330849091435859688615005340"
+	"662951243478815535510910054031985781353569592327342625691155"
+	"297753939420991863066846663288192966197121277244462515137195"
+	"342887549113968391968700872401047521725534791569882096021521"
+	"725739030856023532346309694644208054801875416636970616158970"
+	"521587368716636562878779650147005687012772946471436217221680"
+	"244104527691159700944328113538972913022260318566564643466194"
+	"762762807772321937689272738612051928757740541051011493615150"
+	"275299712275026278191137262599722341528351699547926563148579"
+	"945678256173476664846284964106409718181820427949855282782538"
+	"418620206551699936257338813616307747712660216941043590501407"
+	"704980849740902536932579576527206665027800420035787899091137"
+	"498285797710848848252835440631389386421149710576503050460098"
+	"225348880547453179874214337446508024003058237008669916793765"
+	"103830790970613932711932541885454647828573565454163547779034"
+	"696478261735426505076787833523027219489668014198674507463022"
+	"589310657355955884354584118602516953160415158848138916494891"
+	"482359394428713333626368035819136954032193064982447142548513"
+	"777798482352540211515117109331361325135068534382485905222012"
+	"689155196601835592087277572480712876900324312948680873379635"
+	"049766825511648515719101185883064389832362822347209928024358"
+	"316443434834701491039800443982197050828044087275939582794327"
+	"098500876914356235193809147621508354816413733354188380887001"
+	"911623409901345292980795015165229743643600614968493977578123"
+	"466095415615447864269417603852427781048383314979868134570808"
+	"915217919397946316940234061179348627230180807326753461268559"
+	"385959678786688421103134141790339174982532045466350837038525"
+	"183177847731101708972936115216192881538981857998354449098289"
+	"173408113131230974433096066603129145174088550345854388495636"
+	"765494379926460031453181542793269110787478232865475929357580"
+	"348192936196178107395850207543849907063319379969931169428718"
+	"329942347533981765560805872472322186708756306455763611238082"
+	"951450138207325773702247286660824416431038520521352370291078"
+	"718247251712503010649103184487159314175972977390771951004404"
+	"935285742659293676372796949610394059160197507860285966047861"
+	"411940542821283013449073170622058378826534472881876688512697"
+	"758815111198429044432164893190718808033606471387328883409622"
+	"920327667611981052185172613337770061634130425782297578896747"
+	"215274225504191258419704542303129850621901180024012018244583"
+	"859069664741628533451563101979900751568200425006085702090401"
+	"221537517047980048268055449980601076610965506150742174772246"
+	"118061736140257508229467892560527108358789784539076822640564"
+	"850851810352577863861819577512851607395927299014823941534626"
+	"348696657393457745078724366706324437838188311582720760585617"
+	"487635004508688532062666933131188059377591626964364639542322"
+	"054994079047698970924302742015839080613569097514938471468421"
+	"996493818271996291393146497945863918551953149000943761983830"
+	"636236545375480765488470416349046929644442714477859372568735"
+	"843708739015199069466751627920202433249482821065761826195203"
+	"859723026379941258427585166740391065737087970718105336581850"
+	"268003743156009120998264173899565279323585156937231413010764"
+	"716608523561569725709426913310091413578317885628039213932500"
+	"135284171861048461662744818955691362183779165069982032305970"
+	"876642081013358484182671863168168338174351197426412625098421"
+	"481239711997827391790388986589171883679226337788805245818923"
+	"874607498645601668109872286941958827402018143065273281785872"
+	"847384936953936746391717131732488209980499904305446724778559"
+	"203846472344227623989606643158012375642854007494547242775256"
+	"898117140062170585337487588594307260069257691479046720590527"
+	"237259474018798808190031749318500514291360716338072006978678"
+	"678209533184089369407377832511947183352849291708100854730341"
+	"450938156361786419525775154653957546143580362599388832564788"
+	"354103919236836698740026304968121883147777634511851850370958"
+	"884085902337976245656103068392811534994239396318567712305532"
+	"477169378421492493173704379367954605145484562415027095545060"
+	"831874739575572895083275461127704135960230120513850917554331"
+	"352277278650414100755269190224957237517573174092361876919730"
+	"465289835269438666544826003345857532325281423386809827947616"
+	"676425828491143428807224317894169834736598542769698312957949"
+	"605903203284128114992351808708487688511436903322773652124574"
+	"055471177142349271989998235771191022554548042468832219533624"
+	"049225313628185783780849179599378819912520555522211658107113"
+	"447678746843053930790961744210668515951907105384498734366645"
+	"249428031772015356705436411724477514133655840609854880392450"
+	"949605226182519804314027265530362531560532656953025288585499"
+	"182228921920121831359074541201044664224711170390199159133806"
+	"269332015718061873656943996928324527943031265119266878834003"
+	"362682519426029626295988425859770358488877080196120965282298"
+	"232237612230358616986168510604382051044429343285625121039569"
+	"326126486782398017268335279614177221030172599765237380415252"
+	"503716285229140380445599733136737846363243777324290551807506"
+	"541472429585746028822540006160866496164919640007935962267377"
+	"060789839526907505659662711614828949104249176417092401488510"
+	"615823548277477841813412329397443687705199567361868375111535"
+	"380877143498420444773617475831606309624504731127984157999557"
+	"818660940286424404275144312853627845343063342311866285268837"
+	"422960089441895882484245945054082617645214582938928610352277"
+	"410119555602965075325424443356593793852682899089314976629899"
+	"773835991388717888860719076570986705247088078593793511009142"
+	"474344996635349786568175384138024607561209403361748867467629"
+	"682257007702707626687955791367383934101209955804380644234879"
+	"805395123927491333463152240956446177043487579040223002287264"
+	"756843617701865806869707173187939918037456096349272671452872"
+	"922420893858994027251574788837911846161770227169407508741963"
+	"414729807676477574570702693444290823666440055726552795145348"
+	"219168459767427369197825367869095117877723957392541043867909"
+	"937470060997392012820142238132910823657536940367596076523833"
+	"377812701709657429614832107556695928504222183715979980013356"
+	"323996396963861087268039321030018015202061305161341454716371"
+	"377251261775727795597989586636757177645626856419109247702765"
+	"013583220037644023978372654055269485171726959848928885152966"
+	"097502777563956522973459672620583266843497935454194334506297"
+	"789118714656105011811810822332373521084368112861541360109122"
+	"200791235053695977711430654151451133236893607856092978814379"
+	"881439122150752237064864676736420913214731240701495311353237"
+	"983819572849112853697828591806699104099315306435617990388595"
+	"202795271374965360450205351235544991668088723423877385558163"
+	"617247959486687176509451394010328416791411019672026111081271"
+	"677642426015450739505038057545285042073081841299473107930734"
+	"353837688028012401932104019803872355878454440858434446609098"
+	"280206732652900093156204893287546907987495659518059539534709"
+	"328514027916546796559631836574970153581238433324096828364072"
+	"134400344200269161377205676209909802573933271591397018622517"
+	"645956348413413974664794017053790027535048049046885143930077"
+	"194991519470308057661102259067039984493186760977741752890345"
+	"473192220637893214146475540262942007429381634927003835133941"
+	"914676847385135317162915391223879714190592014303606413170523"
+	"042176230523286150385679951115593656516900591671184538913558"
+	"092816251191243853120415613844777512078954866614360029341206"
+	"576716710688850917256800353066853946058824831651339265256785"
+	"622460269729620332892007335442599404495662483134697945884683"
+	"759795006415186716458374920343394259217852886898131157533184"
+	"894159749247043678238750268753264909309649831534740397743600"
+	"139998210203084676369899478505461752324146318698089839450421"
+	"143076361782530689506566153604543149790375911800793483912288"
+	"188586309176946988353987684054352129570631591985578449323560"
+	"386626892598170269027020282959579435080091825791399174445592"
+	"2683343374046671669930219650268554687501e-4951",
+	-0x8p-152f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x0p+0f,
+	-0x4p-1076,
+	-0x0p+0,
+	-0x0p+0,
+	-0x0p+0,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x1p-16444L,
+	-0x1p-16444L,
+	-0x8p-16448L,
+	-0x8p-16448L,
+	false,
+	-0x4p-1076L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0x0p+0L,
+	-0xc.000000000004p-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L,
+	-0xcp-16448L),
+};
+
+static int
+do_test (void)
+{
+  int result = 0;
+  for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
+    {
+      float f = strtof (tests[i].s, NULL);
+      double d = strtod (tests[i].s, NULL);
+      long double ld = strtold (tests[i].s, NULL);
+      if (f != tests[i].f
+	  || copysignf (1.0f, f) != copysignf (1.0f, tests[i].f))
+	{
+	  printf ("strtof (%s) returned %a not %a\n", tests[i].s, f,
+		  tests[i].f);
+	  result = 1;
+	}
+      if (d != tests[i].d
+	  || copysign (1.0, d) != copysign (1.0, tests[i].d))
+	{
+	  printf ("strtod (%s) returned %a not %a\n", tests[i].s, d,
+		  tests[i].d);
+	  result = 1;
+	}
+      if (ld != tests[i].ld
+	  || copysignl (1.0L, ld) != copysignl (1.0L, tests[i].ld))
+	{
+	  printf ("strtold (%s) returned %La not %La\n", tests[i].s, ld,
+		  tests[i].ld);
+	  if (tests[i].ld_ok)
+	    result = 1;
+	  else
+	    printf ("ignoring this inexact long double result\n");
+	}
+    }
+  return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"