glibc: 2.40-36 -> 2.40-66

Fixes CVE-2025-0395 / GLIBC-SA-2025-0001
https://sourceware.org/git/?p=glibc.git;a=blob;f=advisories/GLIBC-SA-2025-0001;h=45f8b8f181fa024611452518ca0147ede1b88c47;hb=d9dcfe766eb9adcf9b1143112b569ac34ea9a9e6
https://www.openwall.com/lists/oss-security/2025/01/22/4

+21094 -3
+21091
pkgs/development/libraries/glibc/2.40-master.patch
··· 5125 5125 _IO_free_wbackup_area (fp); 5126 5126 5127 5127 if (! (fp->_flags & _IO_UNBUFFERED) 5128 + 5129 + commit 77018fd9f99f86a354387219fdf099915857a527 5130 + Author: Sergey Kolosov <skolosov@redhat.com> 5131 + Date: Wed Sep 25 15:51:23 2024 +0200 5132 + 5133 + stdio-common: Add new test for fdopen 5134 + 5135 + This commit adds fdopen test with all modes. 5136 + Reviewed-by: DJ Delorie <dj@redhat.com> 5137 + 5138 + (cherry picked from commit 1d72fa3cfa046f7293421a7e58f2a272474ea901) 5139 + 5140 + diff --git a/stdio-common/Makefile b/stdio-common/Makefile 5141 + index a91754f52d..5af53d61fd 100644 5142 + --- a/stdio-common/Makefile 5143 + +++ b/stdio-common/Makefile 5144 + @@ -207,6 +207,7 @@ tests := \ 5145 + tst-cookie \ 5146 + tst-dprintf-length \ 5147 + tst-fdopen \ 5148 + + tst-fdopen2 \ 5149 + tst-ferror \ 5150 + tst-fgets \ 5151 + tst-fileno \ 5152 + diff --git a/stdio-common/tst-fdopen2.c b/stdio-common/tst-fdopen2.c 5153 + new file mode 100644 5154 + index 0000000000..0c6625f258 5155 + --- /dev/null 5156 + +++ b/stdio-common/tst-fdopen2.c 5157 + @@ -0,0 +1,246 @@ 5158 + +/* Test the fdopen function. 5159 + + Copyright (C) 2024 Free Software Foundation, Inc. 5160 + + This file is part of the GNU C Library. 5161 + + 5162 + + The GNU C Library is free software; you can redistribute it and/or 5163 + + modify it under the terms of the GNU Lesser General Public 5164 + + License as published by the Free Software Foundation; either 5165 + + version 2.1 of the License, or (at your option) any later version. 5166 + + 5167 + + The GNU C Library is distributed in the hope that it will be useful, 5168 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 5169 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5170 + + Lesser General Public License for more details. 5171 + + 5172 + + You should have received a copy of the GNU Lesser General Public 5173 + + License along with the GNU C Library; if not, see 5174 + + <https://www.gnu.org/licenses/>. */ 5175 + + 5176 + +#include <stdio.h> 5177 + +#include <errno.h> 5178 + +#include <fcntl.h> 5179 + +#include <support/check.h> 5180 + +#include <support/support.h> 5181 + +#include <support/xunistd.h> 5182 + +#include <support/temp_file.h> 5183 + + 5184 + +char *tmp_dir; 5185 + +char *path_to_file; 5186 + + 5187 + +void 5188 + +prepare_tmp_dir (void) 5189 + +{ 5190 + + tmp_dir = support_create_temp_directory ("tst-fdopen2"); 5191 + + path_to_file = xasprintf ("%s/tst-fdopen2.txt", tmp_dir); 5192 + +} 5193 + + 5194 + +/* open temp file descriptor with mode. */ 5195 + +int 5196 + +open_tmp_fd (int mode) 5197 + +{ 5198 + + int fd = xopen (path_to_file, mode, 0644); 5199 + + return fd; 5200 + +} 5201 + + 5202 + + 5203 + +/* close and remove temp file with close. */ 5204 + +void 5205 + +close_tmp_fd (int fd) 5206 + +{ 5207 + + xclose (fd); 5208 + + xunlink (path_to_file); 5209 + +} 5210 + + 5211 + +/* close and remove temp file with fclose. */ 5212 + +void 5213 + +close_tmp_fp (FILE *fp) 5214 + +{ 5215 + + fclose (fp); 5216 + + xunlink (path_to_file); 5217 + +} 5218 + + 5219 + +/* test "w" fdopen mode. */ 5220 + +void 5221 + +do_test_fdopen_w (void) 5222 + +{ 5223 + + int fd, ret; 5224 + + FILE *fp; 5225 + + fd = open_tmp_fd (O_WRONLY | O_CREAT | O_TRUNC); 5226 + + 5227 + + /* test mode mismatch. */ 5228 + + fp = fdopen (fd, "r"); 5229 + + if (fp != NULL || errno != EINVAL) 5230 + + { 5231 + + close_tmp_fd (fd); 5232 + + FAIL_EXIT1 ("fdopen (%d, r) should fail with EINVAL: %m", fd); 5233 + + } 5234 + + 5235 + + fp = fdopen (fd, "w"); 5236 + + if (fp == NULL) 5237 + + { 5238 + + close_tmp_fd (fd); 5239 + + FAIL_EXIT1 ("fdopen (%d, w): %m", fd); 5240 + + } 5241 + + 5242 + + const void *buf = "AAAA"; 5243 + + ret = fwrite (buf, 1, 4, fp); 5244 + + if (ret != 4) 5245 + + { 5246 + + close_tmp_fp (fp); 5247 + + FAIL_EXIT1 ("fwrite (): %m"); 5248 + + } 5249 + + 5250 + + unsigned char buf2[4]; 5251 + + rewind (fp); 5252 + + clearerr (fp); 5253 + + /* fread should fail in "w" mode */ 5254 + + ret = fread (buf2, 1, 4, fp); 5255 + + if (ret != 0 || ferror (fp) == 0) 5256 + + { 5257 + + close_tmp_fp (fp); 5258 + + FAIL_EXIT1 ("fread should fail in \"w\" mode"); 5259 + + } 5260 + + 5261 + + fclose (fp); 5262 + +} 5263 + + 5264 + +/* test "r" fdopen mode. */ 5265 + +void 5266 + +do_test_fdopen_r (void) 5267 + +{ 5268 + + int fd, ret; 5269 + + FILE *fp; 5270 + + fd = open_tmp_fd (O_RDONLY); 5271 + + 5272 + + /* test mode mismatch. */ 5273 + + fp = fdopen (fd, "w"); 5274 + + if (fp != NULL || errno != EINVAL) 5275 + + { 5276 + + close_tmp_fd (fd); 5277 + + FAIL_EXIT1 ("fdopen (%d, w) should fail with EINVAL: %m", fd); 5278 + + } 5279 + + 5280 + + fp = fdopen (fd, "r"); 5281 + + if (fp == NULL) 5282 + + { 5283 + + close_tmp_fd (fd); 5284 + + FAIL_EXIT1 ("fdopen (%d, w): %m", fd); 5285 + + } 5286 + + 5287 + + const void *buf = "BBBB"; 5288 + + /* fwrite should fail in "r" mode. */ 5289 + + ret = fwrite (buf, 1, 4, fp); 5290 + + if (ret != 0 || ferror (fp) == 0) 5291 + + { 5292 + + close_tmp_fp (fp); 5293 + + FAIL_EXIT1 ("fwrite should fail in \"r\" mode"); 5294 + + } 5295 + + 5296 + + unsigned char buf2[4]; 5297 + + ret = fread (buf2, 1, 4, fp); 5298 + + if (ret != 4) 5299 + + { 5300 + + close_tmp_fp (fp); 5301 + + FAIL_EXIT1 ("fread (): %m"); 5302 + + } 5303 + + 5304 + + fclose (fp); 5305 + +} 5306 + + 5307 + +/* test "a" fdopen mode. */ 5308 + +void 5309 + +do_test_fdopen_a (void) 5310 + +{ 5311 + + int fd, ret; 5312 + + FILE *fp; 5313 + + fd = open_tmp_fd (O_WRONLY | O_CREAT | O_APPEND); 5314 + + 5315 + + /* test mode mismatch. */ 5316 + + fp = fdopen (fd, "r+"); 5317 + + if (fp != NULL || errno != EINVAL) 5318 + + { 5319 + + close_tmp_fd (fd); 5320 + + FAIL_EXIT1 ("fdopen (%d, \"r+\") should fail with EINVAL: %m", fd); 5321 + + } 5322 + + 5323 + + fp = fdopen (fd, "a"); 5324 + + if (fp == NULL) 5325 + + { 5326 + + close_tmp_fd (fd); 5327 + + FAIL_EXIT1 ("fdopen (%d, w): %m", fd); 5328 + + } 5329 + + 5330 + + const void *buf = "CCCC"; 5331 + + ret = fwrite (buf, 1, 4, fp); 5332 + + if (ret != 4) 5333 + + { 5334 + + close_tmp_fp (fp); 5335 + + FAIL_EXIT1 ("fwrite (): %m"); 5336 + + } 5337 + + 5338 + + /* fread should fail in "a" mode. */ 5339 + + unsigned char buf2[4]; 5340 + + clearerr (fp); 5341 + + ret = fread (buf2, 1, 4, fp); 5342 + + if (ret != 0 || ferror (fp) == 0) 5343 + + { 5344 + + close_tmp_fp (fp); 5345 + + FAIL_EXIT1 ("fread should fail \"a\" mode"); 5346 + + } 5347 + + 5348 + + fclose (fp); 5349 + +} 5350 + + 5351 + +void 5352 + +do_test_fdopen_mode (int mode, const char *fmode) 5353 + +{ 5354 + + int fd, ret; 5355 + + FILE *fp; 5356 + + fd = open_tmp_fd (mode); 5357 + + 5358 + + fp = fdopen (fd, fmode); 5359 + + if (fp == NULL) 5360 + + { 5361 + + close_tmp_fd (fd); 5362 + + FAIL_EXIT1 ("fdopen (%d, %s): %m", fd, fmode); 5363 + + } 5364 + + 5365 + + const void *buf = "EEEE"; 5366 + + ret = fwrite (buf, 1, 4, fp); 5367 + + if (ret != 4) 5368 + + { 5369 + + close_tmp_fp (fp); 5370 + + FAIL_EXIT1 ("fwrite () in mode:%s returns %d: %m", fmode, ret); 5371 + + } 5372 + + 5373 + + rewind (fp); 5374 + + unsigned char buf2[4]; 5375 + + ret = fread (buf2, 1, 4, fp); 5376 + + if (ret != 4) 5377 + + { 5378 + + close_tmp_fp (fp); 5379 + + FAIL_EXIT1 ("fread () in mode:%s returns %d: %m", fmode, ret); 5380 + + } 5381 + + 5382 + + fclose (fp); 5383 + +} 5384 + + 5385 + +static int 5386 + +do_test (void) 5387 + +{ 5388 + + 5389 + + prepare_tmp_dir (); 5390 + + 5391 + + do_test_fdopen_w (); 5392 + + do_test_fdopen_r (); 5393 + + do_test_fdopen_a (); 5394 + + 5395 + + /* test r+ w+ a+ fdopen modes. */ 5396 + + do_test_fdopen_mode (O_RDWR, "r+"); 5397 + + do_test_fdopen_mode (O_RDWR | O_CREAT | O_TRUNC, "w+"); 5398 + + do_test_fdopen_mode (O_RDWR | O_CREAT | O_APPEND, "a+"); 5399 + + xunlink (path_to_file); 5400 + + return 0; 5401 + +} 5402 + + 5403 + +#include <support/test-driver.c> 5404 + 5405 + commit 61b6464f8d72aef520ee769a2ae317b4f68d5e1d 5406 + Author: Joseph Myers <josmyers@redhat.com> 5407 + Date: Tue Sep 24 14:06:22 2024 +0000 5408 + 5409 + Add tests of fread 5410 + 5411 + There seem to be no glibc tests specifically for the fread function. 5412 + Add basic tests of that function. 5413 + 5414 + Tested for x86_64. 5415 + 5416 + (cherry picked from commit d14c977c65aac7db35bb59380ef99d6582c4f930) 5417 + 5418 + diff --git a/stdio-common/Makefile b/stdio-common/Makefile 5419 + index 5af53d61fd..3396090be1 100644 5420 + --- a/stdio-common/Makefile 5421 + +++ b/stdio-common/Makefile 5422 + @@ -217,6 +217,7 @@ tests := \ 5423 + tst-fmemopen4 \ 5424 + tst-fphex \ 5425 + tst-fphex-wide \ 5426 + + tst-fread \ 5427 + tst-fseek \ 5428 + tst-fwrite \ 5429 + tst-gets \ 5430 + diff --git a/stdio-common/tst-fread.c b/stdio-common/tst-fread.c 5431 + new file mode 100644 5432 + index 0000000000..4d9a7895f6 5433 + --- /dev/null 5434 + +++ b/stdio-common/tst-fread.c 5435 + @@ -0,0 +1,134 @@ 5436 + +/* Test fread. 5437 + + Copyright (C) 2024 Free Software Foundation, Inc. 5438 + + This file is part of the GNU C Library. 5439 + + 5440 + + The GNU C Library is free software; you can redistribute it and/or 5441 + + modify it under the terms of the GNU Lesser General Public 5442 + + License as published by the Free Software Foundation; either 5443 + + version 2.1 of the License, or (at your option) any later version. 5444 + + 5445 + + The GNU C Library is distributed in the hope that it will be useful, 5446 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 5447 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5448 + + Lesser General Public License for more details. 5449 + + 5450 + + You should have received a copy of the GNU Lesser General Public 5451 + + License along with the GNU C Library; if not, see 5452 + + <https://www.gnu.org/licenses/>. */ 5453 + + 5454 + +#include <stdio.h> 5455 + +#include <stdlib.h> 5456 + +#include <string.h> 5457 + + 5458 + +#include <support/check.h> 5459 + +#include <support/support.h> 5460 + +#include <support/temp_file.h> 5461 + +#include <support/test-driver.h> 5462 + +#include <support/xstdio.h> 5463 + +#include <support/xunistd.h> 5464 + + 5465 + +int 5466 + +do_test (void) 5467 + +{ 5468 + + char *temp_dir = support_create_temp_directory ("tst-fread"); 5469 + + char *file1 = xasprintf ("%s/file1", temp_dir); 5470 + + support_write_file_string (file1, "file1"); 5471 + + add_temp_file (file1); 5472 + + FILE *fp; 5473 + + size_t ret; 5474 + + char buf[1024]; 5475 + + 5476 + + verbose_printf ("test single-byte reads\n"); 5477 + + fp = xfopen (file1, "r"); 5478 + + memset (buf, 0, sizeof buf); 5479 + + ret = fread (buf, 1, 2, fp); 5480 + + TEST_COMPARE (ret, 2); 5481 + + TEST_COMPARE (buf[0], 'f'); 5482 + + TEST_COMPARE (buf[1], 'i'); 5483 + + TEST_COMPARE (feof (fp), 0); 5484 + + TEST_COMPARE (ftell (fp), 2); 5485 + + memset (buf, 0, sizeof buf); 5486 + + ret = fread (buf, 1, 3, fp); 5487 + + TEST_COMPARE (ret, 3); 5488 + + TEST_COMPARE (buf[0], 'l'); 5489 + + TEST_COMPARE (buf[1], 'e'); 5490 + + TEST_COMPARE (buf[2], '1'); 5491 + + TEST_COMPARE (ftell (fp), 5); 5492 + + TEST_COMPARE (feof (fp), 0); 5493 + + memset (buf, 0, sizeof buf); 5494 + + ret = fread (buf, 1, 1, fp); 5495 + + TEST_COMPARE (ret, 0); 5496 + + TEST_COMPARE (!!feof (fp), 1); 5497 + + TEST_COMPARE (ferror (fp), 0); 5498 + + TEST_COMPARE (ftell (fp), 5); 5499 + + xfclose (fp); 5500 + + 5501 + + verbose_printf ("test single-byte reads, EOF part way through\n"); 5502 + + fp = xfopen (file1, "r"); 5503 + + memset (buf, 0, sizeof buf); 5504 + + ret = fread (buf, 1, sizeof buf, fp); 5505 + + TEST_COMPARE (ret, 5); 5506 + + TEST_COMPARE (buf[0], 'f'); 5507 + + TEST_COMPARE (buf[1], 'i'); 5508 + + TEST_COMPARE (buf[2], 'l'); 5509 + + TEST_COMPARE (buf[3], 'e'); 5510 + + TEST_COMPARE (buf[4], '1'); 5511 + + TEST_COMPARE (!!feof (fp), 1); 5512 + + TEST_COMPARE (ferror (fp), 0); 5513 + + TEST_COMPARE (ftell (fp), 5); 5514 + + xfclose (fp); 5515 + + 5516 + + verbose_printf ("test multi-byte reads\n"); 5517 + + fp = xfopen (file1, "r"); 5518 + + memset (buf, 0, sizeof buf); 5519 + + ret = fread (buf, 2, 2, fp); 5520 + + TEST_COMPARE (ret, 2); 5521 + + TEST_COMPARE (buf[0], 'f'); 5522 + + TEST_COMPARE (buf[1], 'i'); 5523 + + TEST_COMPARE (buf[2], 'l'); 5524 + + TEST_COMPARE (buf[3], 'e'); 5525 + + TEST_COMPARE (feof (fp), 0); 5526 + + TEST_COMPARE (ftell (fp), 4); 5527 + + memset (buf, 0, sizeof buf); 5528 + + ret = fread (buf, 3, 3, fp); 5529 + + TEST_COMPARE (ret, 0); 5530 + + /* The bytes written for a partial element read are unspecified. */ 5531 + + TEST_COMPARE (!!feof (fp), 1); 5532 + + TEST_COMPARE (ferror (fp), 0); 5533 + + TEST_COMPARE (ftell (fp), 5); 5534 + + xfclose (fp); 5535 + + 5536 + + verbose_printf ("test read error\n"); 5537 + + fp = xfopen (file1, "r"); 5538 + + xclose (fileno (fp)); 5539 + + memset (buf, 0, sizeof buf); 5540 + + ret = fread (buf, 1, sizeof buf, fp); 5541 + + TEST_COMPARE (ret, 0); 5542 + + TEST_COMPARE (feof (fp), 0); 5543 + + TEST_COMPARE (!!ferror (fp), 1); 5544 + + fclose (fp); 5545 + + 5546 + + verbose_printf ("test zero size\n"); 5547 + + fp = xfopen (file1, "r"); 5548 + + ret = fread (buf, 0, SIZE_MAX, fp); 5549 + + TEST_COMPARE (ret, 0); 5550 + + TEST_COMPARE (feof (fp), 0); 5551 + + TEST_COMPARE (ferror (fp), 0); 5552 + + TEST_COMPARE (ftell (fp), 0); 5553 + + xfclose (fp); 5554 + + 5555 + + verbose_printf ("test zero items\n"); 5556 + + fp = xfopen (file1, "r"); 5557 + + ret = fread (buf, SIZE_MAX, 0, fp); 5558 + + TEST_COMPARE (ret, 0); 5559 + + TEST_COMPARE (feof (fp), 0); 5560 + + TEST_COMPARE (ferror (fp), 0); 5561 + + TEST_COMPARE (ftell (fp), 0); 5562 + + xfclose (fp); 5563 + + 5564 + + free (temp_dir); 5565 + + free (file1); 5566 + + return 0; 5567 + +} 5568 + + 5569 + +#include <support/test-driver.c> 5570 + 5571 + commit 9bc76c7ca4d6022fd588c274d139813f99e04f35 5572 + Author: Joseph Myers <josmyers@redhat.com> 5573 + Date: Wed Aug 14 17:15:46 2024 +0000 5574 + 5575 + Test errno setting on strtod overflow in tst-strtod-round 5576 + 5577 + We have no tests that errno is set to ERANGE on overflow of 5578 + strtod-family functions (we do have some tests for underflow, in 5579 + tst-strtod-underflow). Add such tests to tst-strtod-round. 5580 + 5581 + Tested for x86_64. 5582 + 5583 + (cherry picked from commit 207d64feb26279e152c50744e3c37e68491aca99) 5584 + 5585 + diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c 5586 + index 6fba4b5228..c3cc0201d4 100644 5587 + --- a/stdlib/tst-strtod-round-skeleton.c 5588 + +++ b/stdlib/tst-strtod-round-skeleton.c 5589 + @@ -21,6 +21,7 @@ 5590 + declared in the headers. */ 5591 + #define _LIBC_TEST 1 5592 + #define __STDC_WANT_IEC_60559_TYPES_EXT__ 5593 + +#include <errno.h> 5594 + #include <fenv.h> 5595 + #include <float.h> 5596 + #include <math.h> 5597 + @@ -205,7 +206,9 @@ struct test { 5598 + #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 5599 + { \ 5600 + feclearexcept (FE_ALL_EXCEPT); \ 5601 + + errno = 0; \ 5602 + FTYPE f = STRTO (FSUF) (s, NULL); \ 5603 + + int new_errno = errno; \ 5604 + if (f != expected->FSUF \ 5605 + || (copysign ## CSUF) (1.0 ## LSUF, f) \ 5606 + != (copysign ## CSUF) (1.0 ## LSUF, expected->FSUF)) \ 5607 + @@ -254,6 +257,14 @@ struct test { 5608 + printf ("ignoring this exception error\n"); \ 5609 + } \ 5610 + } \ 5611 + + if (overflow->FSUF && new_errno != ERANGE) \ 5612 + + { \ 5613 + + printf (FNPFXS "to" #FSUF \ 5614 + + " (" STRM ") left errno == %d," \ 5615 + + " not %d (ERANGE)\n", \ 5616 + + s, new_errno, ERANGE); \ 5617 + + result = 1; \ 5618 + + } \ 5619 + } \ 5620 + } 5621 + 5622 + 5623 + commit e06153665fa931e4c7d2a3ecc14e5197e96143a7 5624 + Author: Joseph Myers <josmyers@redhat.com> 5625 + Date: Tue Aug 27 12:38:01 2024 +0000 5626 + 5627 + More thoroughly test underflow / errno in tst-strtod-round 5628 + 5629 + Add tests of underflow in tst-strtod-round, and thus also test for 5630 + errno being unchanged when there is neither overflow nor underflow. 5631 + The errno setting before the function call to test for being unchanged 5632 + is adjusted to set errno to 12345 instead of 0, so that any bugs where 5633 + strtod sets errno to 0 would be detected. 5634 + 5635 + This doesn't add any new test inputs for tst-strtod-round, and in 5636 + particular doesn't cover the edge cases of underflow the way 5637 + tst-strtod-underflow does (none of the existing test inputs for 5638 + tst-strtod-round actually exercise cases that have underflow with 5639 + before-rounding tininess detection but not with after-rounding 5640 + tininess detection), but at least it provides some coverage (as per 5641 + the recent discussions) that ordinary non-overflowing non-underflowing 5642 + inputs to these functions do not set errno. 5643 + 5644 + Tested for x86_64. 5645 + 5646 + (cherry picked from commit d73ed2601b7c3c93c3529149a3d7f7b6177900a8) 5647 + 5648 + diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c 5649 + index e48bf4d6ea..7ce735f81d 100644 5650 + --- a/stdlib/gen-tst-strtod-round.c 5651 + +++ b/stdlib/gen-tst-strtod-round.c 5652 + @@ -46,6 +46,7 @@ static int 5653 + string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) 5654 + { 5655 + mpfr_clear_overflow (); 5656 + + mpfr_clear_underflow (); 5657 + #ifdef WORKAROUND 5658 + mpfr_t f2; 5659 + mpfr_init2 (f2, 100000); 5660 + @@ -53,12 +54,16 @@ string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) 5661 + int r = mpfr_set (f, f2, rnd); 5662 + r |= mpfr_subnormalize (f, r, rnd); 5663 + mpfr_clear (f2); 5664 + - return r0 | r; 5665 + + r |= r0; 5666 + #else 5667 + int r = mpfr_strtofr (f, s, NULL, 0, rnd); 5668 + r |= mpfr_subnormalize (f, r, rnd); 5669 + - return r; 5670 + #endif 5671 + + if (r == 0) 5672 + + /* The MPFR underflow flag is set for exact subnormal results, 5673 + + which is not wanted here. */ 5674 + + mpfr_clear_underflow (); 5675 + + return r; 5676 + } 5677 + 5678 + void 5679 + @@ -70,6 +75,21 @@ print_fp (FILE *fout, mpfr_t f, const char *suffix) 5680 + mpfr_fprintf (fout, "\t%Ra%s", f, suffix); 5681 + } 5682 + 5683 + +static const char * 5684 + +suffix_to_print (bool overflow, bool underflow, bool underflow_before_rounding, 5685 + + bool with_comma) 5686 + +{ 5687 + + if (overflow) 5688 + + return with_comma ? ", true, false,\n" : ", true, false"; 5689 + + if (underflow) 5690 + + return with_comma ? ", false, true,\n" : ", false, true"; 5691 + + if (underflow_before_rounding) 5692 + + return (with_comma 5693 + + ? ", false, !TININESS_AFTER_ROUNDING,\n" 5694 + + : ", false, !TININESS_AFTER_ROUNDING"); 5695 + + return with_comma ? ", false, false,\n" : ", false, false"; 5696 + +} 5697 + + 5698 + static void 5699 + round_str (FILE *fout, const char *s, int prec, int emin, int emax, 5700 + bool ibm_ld) 5701 + @@ -80,8 +100,11 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax, 5702 + mpfr_set_emin (emin); 5703 + mpfr_set_emax (emax); 5704 + mpfr_init (f); 5705 + + string_to_fp (f, s, MPFR_RNDZ); 5706 + + bool underflow_before_rounding = mpfr_underflow_p () != 0; 5707 + int r = string_to_fp (f, s, MPFR_RNDD); 5708 + bool overflow = mpfr_overflow_p () != 0; 5709 + + bool underflow = mpfr_underflow_p () != 0; 5710 + if (ibm_ld) 5711 + { 5712 + assert (prec == 106 && emin == -1073 && emax == 1024); 5713 + @@ -97,19 +120,27 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax, 5714 + } 5715 + } 5716 + mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true"); 5717 + - print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); 5718 + + print_fp (fout, f, 5719 + + suffix_to_print (overflow, underflow, underflow_before_rounding, 5720 + + true)); 5721 + string_to_fp (f, s, MPFR_RNDN); 5722 + overflow = (mpfr_overflow_p () != 0 5723 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); 5724 + - print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); 5725 + + print_fp (fout, f, 5726 + + suffix_to_print (overflow, underflow, underflow_before_rounding, 5727 + + true)); 5728 + string_to_fp (f, s, MPFR_RNDZ); 5729 + overflow = (mpfr_overflow_p () != 0 5730 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); 5731 + - print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); 5732 + + print_fp (fout, f, 5733 + + suffix_to_print (overflow, underflow, underflow_before_rounding, 5734 + + true)); 5735 + string_to_fp (f, s, MPFR_RNDU); 5736 + overflow = (mpfr_overflow_p () != 0 5737 + || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); 5738 + - print_fp (fout, f, overflow ? ", true" : ", false"); 5739 + + print_fp (fout, f, 5740 + + suffix_to_print (overflow, underflow, underflow_before_rounding, 5741 + + false)); 5742 + mpfr_clear (f); 5743 + if (ibm_ld) 5744 + mpfr_clear (max_value); 5745 + diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h 5746 + index 8899d15f9b..13e62dd2b0 100644 5747 + --- a/stdlib/tst-strtod-round-data.h 5748 + +++ b/stdlib/tst-strtod-round-data.h 5749 + @@ -2,1852 +2,1852 @@ 5750 + static const struct test tests[] = { 5751 + TEST ("3.518437208883201171875E+013", 5752 + false, 5753 + - 0x2p+44, false, 5754 + - 0x2p+44, false, 5755 + - 0x2p+44, false, 5756 + - 0x2.000004p+44, false, 5757 + - false, 5758 + - 0x2.0000000000002p+44, false, 5759 + - 0x2.0000000000004p+44, false, 5760 + - 0x2.0000000000002p+44, false, 5761 + - 0x2.0000000000004p+44, false, 5762 + - true, 5763 + - 0x2.0000000000003p+44, false, 5764 + - 0x2.0000000000003p+44, false, 5765 + - 0x2.0000000000003p+44, false, 5766 + - 0x2.0000000000003p+44, false, 5767 + - true, 5768 + - 0x2.0000000000003p+44, false, 5769 + - 0x2.0000000000003p+44, false, 5770 + - 0x2.0000000000003p+44, false, 5771 + - 0x2.0000000000003p+44, false, 5772 + - true, 5773 + - 0x2.0000000000003p+44, false, 5774 + - 0x2.0000000000003p+44, false, 5775 + - 0x2.0000000000003p+44, false, 5776 + - 0x2.0000000000003p+44, false, 5777 + - true, 5778 + - 0x2.0000000000003p+44, false, 5779 + - 0x2.0000000000003p+44, false, 5780 + - 0x2.0000000000003p+44, false, 5781 + - 0x2.0000000000003p+44, false), 5782 + + 0x2p+44, false, false, 5783 + + 0x2p+44, false, false, 5784 + + 0x2p+44, false, false, 5785 + + 0x2.000004p+44, false, false, 5786 + + false, 5787 + + 0x2.0000000000002p+44, false, false, 5788 + + 0x2.0000000000004p+44, false, false, 5789 + + 0x2.0000000000002p+44, false, false, 5790 + + 0x2.0000000000004p+44, false, false, 5791 + + true, 5792 + + 0x2.0000000000003p+44, false, false, 5793 + + 0x2.0000000000003p+44, false, false, 5794 + + 0x2.0000000000003p+44, false, false, 5795 + + 0x2.0000000000003p+44, false, false, 5796 + + true, 5797 + + 0x2.0000000000003p+44, false, false, 5798 + + 0x2.0000000000003p+44, false, false, 5799 + + 0x2.0000000000003p+44, false, false, 5800 + + 0x2.0000000000003p+44, false, false, 5801 + + true, 5802 + + 0x2.0000000000003p+44, false, false, 5803 + + 0x2.0000000000003p+44, false, false, 5804 + + 0x2.0000000000003p+44, false, false, 5805 + + 0x2.0000000000003p+44, false, false, 5806 + + true, 5807 + + 0x2.0000000000003p+44, false, false, 5808 + + 0x2.0000000000003p+44, false, false, 5809 + + 0x2.0000000000003p+44, false, false, 5810 + + 0x2.0000000000003p+44, false, false), 5811 + TEST ("1.00000005960464477550", 5812 + false, 5813 + - 0x1p+0, false, 5814 + - 0x1.000002p+0, false, 5815 + - 0x1p+0, false, 5816 + - 0x1.000002p+0, false, 5817 + - false, 5818 + - 0x1.000001p+0, false, 5819 + - 0x1.000001p+0, false, 5820 + - 0x1.000001p+0, false, 5821 + - 0x1.0000010000001p+0, false, 5822 + - false, 5823 + - 0x1.0000010000000002p+0, false, 5824 + - 0x1.0000010000000002p+0, false, 5825 + - 0x1.0000010000000002p+0, false, 5826 + - 0x1.0000010000000004p+0, false, 5827 + - false, 5828 + - 0x1.0000010000000002p+0, false, 5829 + - 0x1.0000010000000002p+0, false, 5830 + - 0x1.0000010000000002p+0, false, 5831 + - 0x1.0000010000000004p+0, false, 5832 + - false, 5833 + - 0x1.0000010000000002048242f2ffp+0, false, 5834 + - 0x1.0000010000000002048242f2ff8p+0, false, 5835 + - 0x1.0000010000000002048242f2ffp+0, false, 5836 + - 0x1.0000010000000002048242f2ff8p+0, false, 5837 + - false, 5838 + - 0x1.0000010000000002048242f2ff66p+0, false, 5839 + - 0x1.0000010000000002048242f2ff67p+0, false, 5840 + - 0x1.0000010000000002048242f2ff66p+0, false, 5841 + - 0x1.0000010000000002048242f2ff67p+0, false), 5842 + + 0x1p+0, false, false, 5843 + + 0x1.000002p+0, false, false, 5844 + + 0x1p+0, false, false, 5845 + + 0x1.000002p+0, false, false, 5846 + + false, 5847 + + 0x1.000001p+0, false, false, 5848 + + 0x1.000001p+0, false, false, 5849 + + 0x1.000001p+0, false, false, 5850 + + 0x1.0000010000001p+0, false, false, 5851 + + false, 5852 + + 0x1.0000010000000002p+0, false, false, 5853 + + 0x1.0000010000000002p+0, false, false, 5854 + + 0x1.0000010000000002p+0, false, false, 5855 + + 0x1.0000010000000004p+0, false, false, 5856 + + false, 5857 + + 0x1.0000010000000002p+0, false, false, 5858 + + 0x1.0000010000000002p+0, false, false, 5859 + + 0x1.0000010000000002p+0, false, false, 5860 + + 0x1.0000010000000004p+0, false, false, 5861 + + false, 5862 + + 0x1.0000010000000002048242f2ffp+0, false, false, 5863 + + 0x1.0000010000000002048242f2ff8p+0, false, false, 5864 + + 0x1.0000010000000002048242f2ffp+0, false, false, 5865 + + 0x1.0000010000000002048242f2ff8p+0, false, false, 5866 + + false, 5867 + + 0x1.0000010000000002048242f2ff66p+0, false, false, 5868 + + 0x1.0000010000000002048242f2ff67p+0, false, false, 5869 + + 0x1.0000010000000002048242f2ff66p+0, false, false, 5870 + + 0x1.0000010000000002048242f2ff67p+0, false, false), 5871 + TEST ("1.0000000596046447755", 5872 + false, 5873 + - 0x1p+0, false, 5874 + - 0x1.000002p+0, false, 5875 + - 0x1p+0, false, 5876 + - 0x1.000002p+0, false, 5877 + - false, 5878 + - 0x1.000001p+0, false, 5879 + - 0x1.000001p+0, false, 5880 + - 0x1.000001p+0, false, 5881 + - 0x1.0000010000001p+0, false, 5882 + - false, 5883 + - 0x1.0000010000000002p+0, false, 5884 + - 0x1.0000010000000002p+0, false, 5885 + - 0x1.0000010000000002p+0, false, 5886 + - 0x1.0000010000000004p+0, false, 5887 + - false, 5888 + - 0x1.0000010000000002p+0, false, 5889 + - 0x1.0000010000000002p+0, false, 5890 + - 0x1.0000010000000002p+0, false, 5891 + - 0x1.0000010000000004p+0, false, 5892 + - false, 5893 + - 0x1.0000010000000002048242f2ffp+0, false, 5894 + - 0x1.0000010000000002048242f2ff8p+0, false, 5895 + - 0x1.0000010000000002048242f2ffp+0, false, 5896 + - 0x1.0000010000000002048242f2ff8p+0, false, 5897 + - false, 5898 + - 0x1.0000010000000002048242f2ff66p+0, false, 5899 + - 0x1.0000010000000002048242f2ff67p+0, false, 5900 + - 0x1.0000010000000002048242f2ff66p+0, false, 5901 + - 0x1.0000010000000002048242f2ff67p+0, false), 5902 + + 0x1p+0, false, false, 5903 + + 0x1.000002p+0, false, false, 5904 + + 0x1p+0, false, false, 5905 + + 0x1.000002p+0, false, false, 5906 + + false, 5907 + + 0x1.000001p+0, false, false, 5908 + + 0x1.000001p+0, false, false, 5909 + + 0x1.000001p+0, false, false, 5910 + + 0x1.0000010000001p+0, false, false, 5911 + + false, 5912 + + 0x1.0000010000000002p+0, false, false, 5913 + + 0x1.0000010000000002p+0, false, false, 5914 + + 0x1.0000010000000002p+0, false, false, 5915 + + 0x1.0000010000000004p+0, false, false, 5916 + + false, 5917 + + 0x1.0000010000000002p+0, false, false, 5918 + + 0x1.0000010000000002p+0, false, false, 5919 + + 0x1.0000010000000002p+0, false, false, 5920 + + 0x1.0000010000000004p+0, false, false, 5921 + + false, 5922 + + 0x1.0000010000000002048242f2ffp+0, false, false, 5923 + + 0x1.0000010000000002048242f2ff8p+0, false, false, 5924 + + 0x1.0000010000000002048242f2ffp+0, false, false, 5925 + + 0x1.0000010000000002048242f2ff8p+0, false, false, 5926 + + false, 5927 + + 0x1.0000010000000002048242f2ff66p+0, false, false, 5928 + + 0x1.0000010000000002048242f2ff67p+0, false, false, 5929 + + 0x1.0000010000000002048242f2ff66p+0, false, false, 5930 + + 0x1.0000010000000002048242f2ff67p+0, false, false), 5931 + TEST ("1.000000059604644776", 5932 + false, 5933 + - 0x1p+0, false, 5934 + - 0x1.000002p+0, false, 5935 + - 0x1p+0, false, 5936 + - 0x1.000002p+0, false, 5937 + - false, 5938 + - 0x1.000001p+0, false, 5939 + - 0x1.000001p+0, false, 5940 + - 0x1.000001p+0, false, 5941 + - 0x1.0000010000001p+0, false, 5942 + - false, 5943 + - 0x1.000001000000000ap+0, false, 5944 + - 0x1.000001000000000cp+0, false, 5945 + - 0x1.000001000000000ap+0, false, 5946 + - 0x1.000001000000000cp+0, false, 5947 + - false, 5948 + - 0x1.000001000000000ap+0, false, 5949 + - 0x1.000001000000000cp+0, false, 5950 + - 0x1.000001000000000ap+0, false, 5951 + - 0x1.000001000000000cp+0, false, 5952 + - false, 5953 + - 0x1.000001000000000b3db12bdc21p+0, false, 5954 + - 0x1.000001000000000b3db12bdc21p+0, false, 5955 + - 0x1.000001000000000b3db12bdc21p+0, false, 5956 + - 0x1.000001000000000b3db12bdc218p+0, false, 5957 + - false, 5958 + - 0x1.000001000000000b3db12bdc213cp+0, false, 5959 + - 0x1.000001000000000b3db12bdc213dp+0, false, 5960 + - 0x1.000001000000000b3db12bdc213cp+0, false, 5961 + - 0x1.000001000000000b3db12bdc213dp+0, false), 5962 + + 0x1p+0, false, false, 5963 + + 0x1.000002p+0, false, false, 5964 + + 0x1p+0, false, false, 5965 + + 0x1.000002p+0, false, false, 5966 + + false, 5967 + + 0x1.000001p+0, false, false, 5968 + + 0x1.000001p+0, false, false, 5969 + + 0x1.000001p+0, false, false, 5970 + + 0x1.0000010000001p+0, false, false, 5971 + + false, 5972 + + 0x1.000001000000000ap+0, false, false, 5973 + + 0x1.000001000000000cp+0, false, false, 5974 + + 0x1.000001000000000ap+0, false, false, 5975 + + 0x1.000001000000000cp+0, false, false, 5976 + + false, 5977 + + 0x1.000001000000000ap+0, false, false, 5978 + + 0x1.000001000000000cp+0, false, false, 5979 + + 0x1.000001000000000ap+0, false, false, 5980 + + 0x1.000001000000000cp+0, false, false, 5981 + + false, 5982 + + 0x1.000001000000000b3db12bdc21p+0, false, false, 5983 + + 0x1.000001000000000b3db12bdc21p+0, false, false, 5984 + + 0x1.000001000000000b3db12bdc21p+0, false, false, 5985 + + 0x1.000001000000000b3db12bdc218p+0, false, false, 5986 + + false, 5987 + + 0x1.000001000000000b3db12bdc213cp+0, false, false, 5988 + + 0x1.000001000000000b3db12bdc213dp+0, false, false, 5989 + + 0x1.000001000000000b3db12bdc213cp+0, false, false, 5990 + + 0x1.000001000000000b3db12bdc213dp+0, false, false), 5991 + TEST ("1.000000059604644775", 5992 + false, 5993 + - 0x1p+0, false, 5994 + - 0x1p+0, false, 5995 + - 0x1p+0, false, 5996 + - 0x1.000002p+0, false, 5997 + - false, 5998 + - 0x1.000000fffffffp+0, false, 5999 + - 0x1.000001p+0, false, 6000 + - 0x1.000000fffffffp+0, false, 6001 + - 0x1.000001p+0, false, 6002 + - false, 6003 + - 0x1.000000fffffffff8p+0, false, 6004 + - 0x1.000000fffffffff8p+0, false, 6005 + - 0x1.000000fffffffff8p+0, false, 6006 + - 0x1.000000fffffffffap+0, false, 6007 + - false, 6008 + - 0x1.000000fffffffff8p+0, false, 6009 + - 0x1.000000fffffffff8p+0, false, 6010 + - 0x1.000000fffffffff8p+0, false, 6011 + - 0x1.000000fffffffffap+0, false, 6012 + - false, 6013 + - 0x1.000000fffffffff8cb535a09dd8p+0, false, 6014 + - 0x1.000000fffffffff8cb535a09dd8p+0, false, 6015 + - 0x1.000000fffffffff8cb535a09dd8p+0, false, 6016 + - 0x1.000000fffffffff8cb535a09dep+0, false, 6017 + - false, 6018 + - 0x1.000000fffffffff8cb535a09dd9p+0, false, 6019 + - 0x1.000000fffffffff8cb535a09dd91p+0, false, 6020 + - 0x1.000000fffffffff8cb535a09dd9p+0, false, 6021 + - 0x1.000000fffffffff8cb535a09dd91p+0, false), 6022 + + 0x1p+0, false, false, 6023 + + 0x1p+0, false, false, 6024 + + 0x1p+0, false, false, 6025 + + 0x1.000002p+0, false, false, 6026 + + false, 6027 + + 0x1.000000fffffffp+0, false, false, 6028 + + 0x1.000001p+0, false, false, 6029 + + 0x1.000000fffffffp+0, false, false, 6030 + + 0x1.000001p+0, false, false, 6031 + + false, 6032 + + 0x1.000000fffffffff8p+0, false, false, 6033 + + 0x1.000000fffffffff8p+0, false, false, 6034 + + 0x1.000000fffffffff8p+0, false, false, 6035 + + 0x1.000000fffffffffap+0, false, false, 6036 + + false, 6037 + + 0x1.000000fffffffff8p+0, false, false, 6038 + + 0x1.000000fffffffff8p+0, false, false, 6039 + + 0x1.000000fffffffff8p+0, false, false, 6040 + + 0x1.000000fffffffffap+0, false, false, 6041 + + false, 6042 + + 0x1.000000fffffffff8cb535a09dd8p+0, false, false, 6043 + + 0x1.000000fffffffff8cb535a09dd8p+0, false, false, 6044 + + 0x1.000000fffffffff8cb535a09dd8p+0, false, false, 6045 + + 0x1.000000fffffffff8cb535a09dep+0, false, false, 6046 + + false, 6047 + + 0x1.000000fffffffff8cb535a09dd9p+0, false, false, 6048 + + 0x1.000000fffffffff8cb535a09dd91p+0, false, false, 6049 + + 0x1.000000fffffffff8cb535a09dd9p+0, false, false, 6050 + + 0x1.000000fffffffff8cb535a09dd91p+0, false, false), 6051 + TEST ("1.00000005960464478", 6052 + false, 6053 + - 0x1p+0, false, 6054 + - 0x1.000002p+0, false, 6055 + - 0x1p+0, false, 6056 + - 0x1.000002p+0, false, 6057 + - false, 6058 + - 0x1.000001p+0, false, 6059 + - 0x1.000001p+0, false, 6060 + - 0x1.000001p+0, false, 6061 + - 0x1.0000010000001p+0, false, 6062 + - false, 6063 + - 0x1.0000010000000054p+0, false, 6064 + - 0x1.0000010000000056p+0, false, 6065 + - 0x1.0000010000000054p+0, false, 6066 + - 0x1.0000010000000056p+0, false, 6067 + - false, 6068 + - 0x1.0000010000000054p+0, false, 6069 + - 0x1.0000010000000056p+0, false, 6070 + - 0x1.0000010000000054p+0, false, 6071 + - 0x1.0000010000000056p+0, false, 6072 + - false, 6073 + - 0x1.0000010000000055072873252f8p+0, false, 6074 + - 0x1.0000010000000055072873253p+0, false, 6075 + - 0x1.0000010000000055072873252f8p+0, false, 6076 + - 0x1.0000010000000055072873253p+0, false, 6077 + - false, 6078 + - 0x1.0000010000000055072873252febp+0, false, 6079 + - 0x1.0000010000000055072873252febp+0, false, 6080 + - 0x1.0000010000000055072873252febp+0, false, 6081 + - 0x1.0000010000000055072873252fecp+0, false), 6082 + + 0x1p+0, false, false, 6083 + + 0x1.000002p+0, false, false, 6084 + + 0x1p+0, false, false, 6085 + + 0x1.000002p+0, false, false, 6086 + + false, 6087 + + 0x1.000001p+0, false, false, 6088 + + 0x1.000001p+0, false, false, 6089 + + 0x1.000001p+0, false, false, 6090 + + 0x1.0000010000001p+0, false, false, 6091 + + false, 6092 + + 0x1.0000010000000054p+0, false, false, 6093 + + 0x1.0000010000000056p+0, false, false, 6094 + + 0x1.0000010000000054p+0, false, false, 6095 + + 0x1.0000010000000056p+0, false, false, 6096 + + false, 6097 + + 0x1.0000010000000054p+0, false, false, 6098 + + 0x1.0000010000000056p+0, false, false, 6099 + + 0x1.0000010000000054p+0, false, false, 6100 + + 0x1.0000010000000056p+0, false, false, 6101 + + false, 6102 + + 0x1.0000010000000055072873252f8p+0, false, false, 6103 + + 0x1.0000010000000055072873253p+0, false, false, 6104 + + 0x1.0000010000000055072873252f8p+0, false, false, 6105 + + 0x1.0000010000000055072873253p+0, false, false, 6106 + + false, 6107 + + 0x1.0000010000000055072873252febp+0, false, false, 6108 + + 0x1.0000010000000055072873252febp+0, false, false, 6109 + + 0x1.0000010000000055072873252febp+0, false, false, 6110 + + 0x1.0000010000000055072873252fecp+0, false, false), 6111 + TEST ("1.0000000596046448", 6112 + false, 6113 + - 0x1p+0, false, 6114 + - 0x1.000002p+0, false, 6115 + - 0x1p+0, false, 6116 + - 0x1.000002p+0, false, 6117 + - false, 6118 + - 0x1.000001p+0, false, 6119 + - 0x1.000001p+0, false, 6120 + - 0x1.000001p+0, false, 6121 + - 0x1.0000010000001p+0, false, 6122 + - false, 6123 + - 0x1.00000100000001c4p+0, false, 6124 + - 0x1.00000100000001c6p+0, false, 6125 + - 0x1.00000100000001c4p+0, false, 6126 + - 0x1.00000100000001c6p+0, false, 6127 + - false, 6128 + - 0x1.00000100000001c4p+0, false, 6129 + - 0x1.00000100000001c6p+0, false, 6130 + - 0x1.00000100000001c4p+0, false, 6131 + - 0x1.00000100000001c6p+0, false, 6132 + - false, 6133 + - 0x1.00000100000001c5f67cd79279p+0, false, 6134 + - 0x1.00000100000001c5f67cd792798p+0, false, 6135 + - 0x1.00000100000001c5f67cd79279p+0, false, 6136 + - 0x1.00000100000001c5f67cd792798p+0, false, 6137 + - false, 6138 + - 0x1.00000100000001c5f67cd7927953p+0, false, 6139 + - 0x1.00000100000001c5f67cd7927954p+0, false, 6140 + - 0x1.00000100000001c5f67cd7927953p+0, false, 6141 + - 0x1.00000100000001c5f67cd7927954p+0, false), 6142 + + 0x1p+0, false, false, 6143 + + 0x1.000002p+0, false, false, 6144 + + 0x1p+0, false, false, 6145 + + 0x1.000002p+0, false, false, 6146 + + false, 6147 + + 0x1.000001p+0, false, false, 6148 + + 0x1.000001p+0, false, false, 6149 + + 0x1.000001p+0, false, false, 6150 + + 0x1.0000010000001p+0, false, false, 6151 + + false, 6152 + + 0x1.00000100000001c4p+0, false, false, 6153 + + 0x1.00000100000001c6p+0, false, false, 6154 + + 0x1.00000100000001c4p+0, false, false, 6155 + + 0x1.00000100000001c6p+0, false, false, 6156 + + false, 6157 + + 0x1.00000100000001c4p+0, false, false, 6158 + + 0x1.00000100000001c6p+0, false, false, 6159 + + 0x1.00000100000001c4p+0, false, false, 6160 + + 0x1.00000100000001c6p+0, false, false, 6161 + + false, 6162 + + 0x1.00000100000001c5f67cd79279p+0, false, false, 6163 + + 0x1.00000100000001c5f67cd792798p+0, false, false, 6164 + + 0x1.00000100000001c5f67cd79279p+0, false, false, 6165 + + 0x1.00000100000001c5f67cd792798p+0, false, false, 6166 + + false, 6167 + + 0x1.00000100000001c5f67cd7927953p+0, false, false, 6168 + + 0x1.00000100000001c5f67cd7927954p+0, false, false, 6169 + + 0x1.00000100000001c5f67cd7927953p+0, false, false, 6170 + + 0x1.00000100000001c5f67cd7927954p+0, false, false), 6171 + TEST ("1.000000059604645", 6172 + false, 6173 + - 0x1p+0, false, 6174 + - 0x1.000002p+0, false, 6175 + - 0x1p+0, false, 6176 + - 0x1.000002p+0, false, 6177 + - false, 6178 + - 0x1.0000010000001p+0, false, 6179 + - 0x1.0000010000001p+0, false, 6180 + - 0x1.0000010000001p+0, false, 6181 + - 0x1.0000010000002p+0, false, 6182 + - false, 6183 + - 0x1.000001000000102ep+0, false, 6184 + - 0x1.000001000000103p+0, false, 6185 + - 0x1.000001000000102ep+0, false, 6186 + - 0x1.000001000000103p+0, false, 6187 + - false, 6188 + - 0x1.000001000000102ep+0, false, 6189 + - 0x1.000001000000103p+0, false, 6190 + - 0x1.000001000000102ep+0, false, 6191 + - 0x1.000001000000103p+0, false, 6192 + - false, 6193 + - 0x1.000001000000102f4fc8c3d757p+0, false, 6194 + - 0x1.000001000000102f4fc8c3d7578p+0, false, 6195 + - 0x1.000001000000102f4fc8c3d757p+0, false, 6196 + - 0x1.000001000000102f4fc8c3d7578p+0, false, 6197 + - false, 6198 + - 0x1.000001000000102f4fc8c3d75769p+0, false, 6199 + - 0x1.000001000000102f4fc8c3d75769p+0, false, 6200 + - 0x1.000001000000102f4fc8c3d75769p+0, false, 6201 + - 0x1.000001000000102f4fc8c3d7576ap+0, false), 6202 + + 0x1p+0, false, false, 6203 + + 0x1.000002p+0, false, false, 6204 + + 0x1p+0, false, false, 6205 + + 0x1.000002p+0, false, false, 6206 + + false, 6207 + + 0x1.0000010000001p+0, false, false, 6208 + + 0x1.0000010000001p+0, false, false, 6209 + + 0x1.0000010000001p+0, false, false, 6210 + + 0x1.0000010000002p+0, false, false, 6211 + + false, 6212 + + 0x1.000001000000102ep+0, false, false, 6213 + + 0x1.000001000000103p+0, false, false, 6214 + + 0x1.000001000000102ep+0, false, false, 6215 + + 0x1.000001000000103p+0, false, false, 6216 + + false, 6217 + + 0x1.000001000000102ep+0, false, false, 6218 + + 0x1.000001000000103p+0, false, false, 6219 + + 0x1.000001000000102ep+0, false, false, 6220 + + 0x1.000001000000103p+0, false, false, 6221 + + false, 6222 + + 0x1.000001000000102f4fc8c3d757p+0, false, false, 6223 + + 0x1.000001000000102f4fc8c3d7578p+0, false, false, 6224 + + 0x1.000001000000102f4fc8c3d757p+0, false, false, 6225 + + 0x1.000001000000102f4fc8c3d7578p+0, false, false, 6226 + + false, 6227 + + 0x1.000001000000102f4fc8c3d75769p+0, false, false, 6228 + + 0x1.000001000000102f4fc8c3d75769p+0, false, false, 6229 + + 0x1.000001000000102f4fc8c3d75769p+0, false, false, 6230 + + 0x1.000001000000102f4fc8c3d7576ap+0, false, false), 6231 + TEST ("1.00000005960464", 6232 + false, 6233 + - 0x1p+0, false, 6234 + - 0x1p+0, false, 6235 + - 0x1p+0, false, 6236 + - 0x1.000002p+0, false, 6237 + - false, 6238 + - 0x1.000000fffffeap+0, false, 6239 + - 0x1.000000fffffeap+0, false, 6240 + - 0x1.000000fffffeap+0, false, 6241 + - 0x1.000000fffffebp+0, false, 6242 + - false, 6243 + - 0x1.000000fffffea7e4p+0, false, 6244 + - 0x1.000000fffffea7e6p+0, false, 6245 + - 0x1.000000fffffea7e4p+0, false, 6246 + - 0x1.000000fffffea7e6p+0, false, 6247 + - false, 6248 + - 0x1.000000fffffea7e4p+0, false, 6249 + - 0x1.000000fffffea7e6p+0, false, 6250 + - 0x1.000000fffffea7e4p+0, false, 6251 + - 0x1.000000fffffea7e6p+0, false, 6252 + - false, 6253 + - 0x1.000000fffffea7e5975eb11da7p+0, false, 6254 + - 0x1.000000fffffea7e5975eb11da78p+0, false, 6255 + - 0x1.000000fffffea7e5975eb11da7p+0, false, 6256 + - 0x1.000000fffffea7e5975eb11da78p+0, false, 6257 + - false, 6258 + - 0x1.000000fffffea7e5975eb11da74ap+0, false, 6259 + - 0x1.000000fffffea7e5975eb11da74bp+0, false, 6260 + - 0x1.000000fffffea7e5975eb11da74ap+0, false, 6261 + - 0x1.000000fffffea7e5975eb11da74bp+0, false), 6262 + + 0x1p+0, false, false, 6263 + + 0x1p+0, false, false, 6264 + + 0x1p+0, false, false, 6265 + + 0x1.000002p+0, false, false, 6266 + + false, 6267 + + 0x1.000000fffffeap+0, false, false, 6268 + + 0x1.000000fffffeap+0, false, false, 6269 + + 0x1.000000fffffeap+0, false, false, 6270 + + 0x1.000000fffffebp+0, false, false, 6271 + + false, 6272 + + 0x1.000000fffffea7e4p+0, false, false, 6273 + + 0x1.000000fffffea7e6p+0, false, false, 6274 + + 0x1.000000fffffea7e4p+0, false, false, 6275 + + 0x1.000000fffffea7e6p+0, false, false, 6276 + + false, 6277 + + 0x1.000000fffffea7e4p+0, false, false, 6278 + + 0x1.000000fffffea7e6p+0, false, false, 6279 + + 0x1.000000fffffea7e4p+0, false, false, 6280 + + 0x1.000000fffffea7e6p+0, false, false, 6281 + + false, 6282 + + 0x1.000000fffffea7e5975eb11da7p+0, false, false, 6283 + + 0x1.000000fffffea7e5975eb11da78p+0, false, false, 6284 + + 0x1.000000fffffea7e5975eb11da7p+0, false, false, 6285 + + 0x1.000000fffffea7e5975eb11da78p+0, false, false, 6286 + + false, 6287 + + 0x1.000000fffffea7e5975eb11da74ap+0, false, false, 6288 + + 0x1.000000fffffea7e5975eb11da74bp+0, false, false, 6289 + + 0x1.000000fffffea7e5975eb11da74ap+0, false, false, 6290 + + 0x1.000000fffffea7e5975eb11da74bp+0, false, false), 6291 + TEST ("1.0000000596046", 6292 + false, 6293 + - 0x1p+0, false, 6294 + - 0x1p+0, false, 6295 + - 0x1p+0, false, 6296 + - 0x1.000002p+0, false, 6297 + - false, 6298 + - 0x1.000000fffff36p+0, false, 6299 + - 0x1.000000fffff36p+0, false, 6300 + - 0x1.000000fffff36p+0, false, 6301 + - 0x1.000000fffff37p+0, false, 6302 + - false, 6303 + - 0x1.000000fffff36596p+0, false, 6304 + - 0x1.000000fffff36598p+0, false, 6305 + - 0x1.000000fffff36596p+0, false, 6306 + - 0x1.000000fffff36598p+0, false, 6307 + - false, 6308 + - 0x1.000000fffff36596p+0, false, 6309 + - 0x1.000000fffff36598p+0, false, 6310 + - 0x1.000000fffff36596p+0, false, 6311 + - 0x1.000000fffff36598p+0, false, 6312 + - false, 6313 + - 0x1.000000fffff36597d40e1b5026p+0, false, 6314 + - 0x1.000000fffff36597d40e1b50268p+0, false, 6315 + - 0x1.000000fffff36597d40e1b5026p+0, false, 6316 + - 0x1.000000fffff36597d40e1b50268p+0, false, 6317 + - false, 6318 + - 0x1.000000fffff36597d40e1b502655p+0, false, 6319 + - 0x1.000000fffff36597d40e1b502656p+0, false, 6320 + - 0x1.000000fffff36597d40e1b502655p+0, false, 6321 + - 0x1.000000fffff36597d40e1b502656p+0, false), 6322 + + 0x1p+0, false, false, 6323 + + 0x1p+0, false, false, 6324 + + 0x1p+0, false, false, 6325 + + 0x1.000002p+0, false, false, 6326 + + false, 6327 + + 0x1.000000fffff36p+0, false, false, 6328 + + 0x1.000000fffff36p+0, false, false, 6329 + + 0x1.000000fffff36p+0, false, false, 6330 + + 0x1.000000fffff37p+0, false, false, 6331 + + false, 6332 + + 0x1.000000fffff36596p+0, false, false, 6333 + + 0x1.000000fffff36598p+0, false, false, 6334 + + 0x1.000000fffff36596p+0, false, false, 6335 + + 0x1.000000fffff36598p+0, false, false, 6336 + + false, 6337 + + 0x1.000000fffff36596p+0, false, false, 6338 + + 0x1.000000fffff36598p+0, false, false, 6339 + + 0x1.000000fffff36596p+0, false, false, 6340 + + 0x1.000000fffff36598p+0, false, false, 6341 + + false, 6342 + + 0x1.000000fffff36597d40e1b5026p+0, false, false, 6343 + + 0x1.000000fffff36597d40e1b50268p+0, false, false, 6344 + + 0x1.000000fffff36597d40e1b5026p+0, false, false, 6345 + + 0x1.000000fffff36597d40e1b50268p+0, false, false, 6346 + + false, 6347 + + 0x1.000000fffff36597d40e1b502655p+0, false, false, 6348 + + 0x1.000000fffff36597d40e1b502656p+0, false, false, 6349 + + 0x1.000000fffff36597d40e1b502655p+0, false, false, 6350 + + 0x1.000000fffff36597d40e1b502656p+0, false, false), 6351 + TEST ("1.000000059605", 6352 + false, 6353 + - 0x1p+0, false, 6354 + - 0x1.000002p+0, false, 6355 + - 0x1p+0, false, 6356 + - 0x1.000002p+0, false, 6357 + - false, 6358 + - 0x1.000001000063fp+0, false, 6359 + - 0x1.000001000064p+0, false, 6360 + - 0x1.000001000063fp+0, false, 6361 + - 0x1.000001000064p+0, false, 6362 + - false, 6363 + - 0x1.000001000063fcap+0, false, 6364 + - 0x1.000001000063fca2p+0, false, 6365 + - 0x1.000001000063fcap+0, false, 6366 + - 0x1.000001000063fca2p+0, false, 6367 + - false, 6368 + - 0x1.000001000063fcap+0, false, 6369 + - 0x1.000001000063fca2p+0, false, 6370 + - 0x1.000001000063fcap+0, false, 6371 + - 0x1.000001000063fca2p+0, false, 6372 + - false, 6373 + - 0x1.000001000063fca17533f5572f8p+0, false, 6374 + - 0x1.000001000063fca17533f5573p+0, false, 6375 + - 0x1.000001000063fca17533f5572f8p+0, false, 6376 + - 0x1.000001000063fca17533f5573p+0, false, 6377 + - false, 6378 + - 0x1.000001000063fca17533f5572fe9p+0, false, 6379 + - 0x1.000001000063fca17533f5572feap+0, false, 6380 + - 0x1.000001000063fca17533f5572fe9p+0, false, 6381 + - 0x1.000001000063fca17533f5572feap+0, false), 6382 + + 0x1p+0, false, false, 6383 + + 0x1.000002p+0, false, false, 6384 + + 0x1p+0, false, false, 6385 + + 0x1.000002p+0, false, false, 6386 + + false, 6387 + + 0x1.000001000063fp+0, false, false, 6388 + + 0x1.000001000064p+0, false, false, 6389 + + 0x1.000001000063fp+0, false, false, 6390 + + 0x1.000001000064p+0, false, false, 6391 + + false, 6392 + + 0x1.000001000063fcap+0, false, false, 6393 + + 0x1.000001000063fca2p+0, false, false, 6394 + + 0x1.000001000063fcap+0, false, false, 6395 + + 0x1.000001000063fca2p+0, false, false, 6396 + + false, 6397 + + 0x1.000001000063fcap+0, false, false, 6398 + + 0x1.000001000063fca2p+0, false, false, 6399 + + 0x1.000001000063fcap+0, false, false, 6400 + + 0x1.000001000063fca2p+0, false, false, 6401 + + false, 6402 + + 0x1.000001000063fca17533f5572f8p+0, false, false, 6403 + + 0x1.000001000063fca17533f5573p+0, false, false, 6404 + + 0x1.000001000063fca17533f5572f8p+0, false, false, 6405 + + 0x1.000001000063fca17533f5573p+0, false, false, 6406 + + false, 6407 + + 0x1.000001000063fca17533f5572fe9p+0, false, false, 6408 + + 0x1.000001000063fca17533f5572feap+0, false, false, 6409 + + 0x1.000001000063fca17533f5572fe9p+0, false, false, 6410 + + 0x1.000001000063fca17533f5572feap+0, false, false), 6411 + TEST ("1.00000005960", 6412 + false, 6413 + - 0x1p+0, false, 6414 + - 0x1p+0, false, 6415 + - 0x1p+0, false, 6416 + - 0x1.000002p+0, false, 6417 + - false, 6418 + - 0x1.000000fffae49p+0, false, 6419 + - 0x1.000000fffae4ap+0, false, 6420 + - 0x1.000000fffae49p+0, false, 6421 + - 0x1.000000fffae4ap+0, false, 6422 + - false, 6423 + - 0x1.000000fffae49ca8p+0, false, 6424 + - 0x1.000000fffae49caap+0, false, 6425 + - 0x1.000000fffae49ca8p+0, false, 6426 + - 0x1.000000fffae49caap+0, false, 6427 + - false, 6428 + - 0x1.000000fffae49ca8p+0, false, 6429 + - 0x1.000000fffae49caap+0, false, 6430 + - 0x1.000000fffae49ca8p+0, false, 6431 + - 0x1.000000fffae49caap+0, false, 6432 + - false, 6433 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6434 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6435 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6436 + - 0x1.000000fffae49ca916dacfff388p+0, false, 6437 + - false, 6438 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6439 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6440 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6441 + - 0x1.000000fffae49ca916dacfff382ep+0, false), 6442 + + 0x1p+0, false, false, 6443 + + 0x1p+0, false, false, 6444 + + 0x1p+0, false, false, 6445 + + 0x1.000002p+0, false, false, 6446 + + false, 6447 + + 0x1.000000fffae49p+0, false, false, 6448 + + 0x1.000000fffae4ap+0, false, false, 6449 + + 0x1.000000fffae49p+0, false, false, 6450 + + 0x1.000000fffae4ap+0, false, false, 6451 + + false, 6452 + + 0x1.000000fffae49ca8p+0, false, false, 6453 + + 0x1.000000fffae49caap+0, false, false, 6454 + + 0x1.000000fffae49ca8p+0, false, false, 6455 + + 0x1.000000fffae49caap+0, false, false, 6456 + + false, 6457 + + 0x1.000000fffae49ca8p+0, false, false, 6458 + + 0x1.000000fffae49caap+0, false, false, 6459 + + 0x1.000000fffae49ca8p+0, false, false, 6460 + + 0x1.000000fffae49caap+0, false, false, 6461 + + false, 6462 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6463 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6464 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6465 + + 0x1.000000fffae49ca916dacfff388p+0, false, false, 6466 + + false, 6467 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6468 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6469 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6470 + + 0x1.000000fffae49ca916dacfff382ep+0, false, false), 6471 + TEST ("1.0000000596", 6472 + false, 6473 + - 0x1p+0, false, 6474 + - 0x1p+0, false, 6475 + - 0x1p+0, false, 6476 + - 0x1.000002p+0, false, 6477 + - false, 6478 + - 0x1.000000fffae49p+0, false, 6479 + - 0x1.000000fffae4ap+0, false, 6480 + - 0x1.000000fffae49p+0, false, 6481 + - 0x1.000000fffae4ap+0, false, 6482 + - false, 6483 + - 0x1.000000fffae49ca8p+0, false, 6484 + - 0x1.000000fffae49caap+0, false, 6485 + - 0x1.000000fffae49ca8p+0, false, 6486 + - 0x1.000000fffae49caap+0, false, 6487 + - false, 6488 + - 0x1.000000fffae49ca8p+0, false, 6489 + - 0x1.000000fffae49caap+0, false, 6490 + - 0x1.000000fffae49ca8p+0, false, 6491 + - 0x1.000000fffae49caap+0, false, 6492 + - false, 6493 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6494 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6495 + - 0x1.000000fffae49ca916dacfff38p+0, false, 6496 + - 0x1.000000fffae49ca916dacfff388p+0, false, 6497 + - false, 6498 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6499 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6500 + - 0x1.000000fffae49ca916dacfff382dp+0, false, 6501 + - 0x1.000000fffae49ca916dacfff382ep+0, false), 6502 + + 0x1p+0, false, false, 6503 + + 0x1p+0, false, false, 6504 + + 0x1p+0, false, false, 6505 + + 0x1.000002p+0, false, false, 6506 + + false, 6507 + + 0x1.000000fffae49p+0, false, false, 6508 + + 0x1.000000fffae4ap+0, false, false, 6509 + + 0x1.000000fffae49p+0, false, false, 6510 + + 0x1.000000fffae4ap+0, false, false, 6511 + + false, 6512 + + 0x1.000000fffae49ca8p+0, false, false, 6513 + + 0x1.000000fffae49caap+0, false, false, 6514 + + 0x1.000000fffae49ca8p+0, false, false, 6515 + + 0x1.000000fffae49caap+0, false, false, 6516 + + false, 6517 + + 0x1.000000fffae49ca8p+0, false, false, 6518 + + 0x1.000000fffae49caap+0, false, false, 6519 + + 0x1.000000fffae49ca8p+0, false, false, 6520 + + 0x1.000000fffae49caap+0, false, false, 6521 + + false, 6522 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6523 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6524 + + 0x1.000000fffae49ca916dacfff38p+0, false, false, 6525 + + 0x1.000000fffae49ca916dacfff388p+0, false, false, 6526 + + false, 6527 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6528 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6529 + + 0x1.000000fffae49ca916dacfff382dp+0, false, false, 6530 + + 0x1.000000fffae49ca916dacfff382ep+0, false, false), 6531 + TEST ("1.000000060", 6532 + false, 6533 + - 0x1p+0, false, 6534 + - 0x1.000002p+0, false, 6535 + - 0x1p+0, false, 6536 + - 0x1.000002p+0, false, 6537 + - false, 6538 + - 0x1.00000101b2b29p+0, false, 6539 + - 0x1.00000101b2b2ap+0, false, 6540 + - 0x1.00000101b2b29p+0, false, 6541 + - 0x1.00000101b2b2ap+0, false, 6542 + - false, 6543 + - 0x1.00000101b2b29a46p+0, false, 6544 + - 0x1.00000101b2b29a46p+0, false, 6545 + - 0x1.00000101b2b29a46p+0, false, 6546 + - 0x1.00000101b2b29a48p+0, false, 6547 + - false, 6548 + - 0x1.00000101b2b29a46p+0, false, 6549 + - 0x1.00000101b2b29a46p+0, false, 6550 + - 0x1.00000101b2b29a46p+0, false, 6551 + - 0x1.00000101b2b29a48p+0, false, 6552 + - false, 6553 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6554 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6555 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6556 + - 0x1.00000101b2b29a4692b67b7ca38p+0, false, 6557 + - false, 6558 + - 0x1.00000101b2b29a4692b67b7ca313p+0, false, 6559 + - 0x1.00000101b2b29a4692b67b7ca314p+0, false, 6560 + - 0x1.00000101b2b29a4692b67b7ca313p+0, false, 6561 + - 0x1.00000101b2b29a4692b67b7ca314p+0, false), 6562 + + 0x1p+0, false, false, 6563 + + 0x1.000002p+0, false, false, 6564 + + 0x1p+0, false, false, 6565 + + 0x1.000002p+0, false, false, 6566 + + false, 6567 + + 0x1.00000101b2b29p+0, false, false, 6568 + + 0x1.00000101b2b2ap+0, false, false, 6569 + + 0x1.00000101b2b29p+0, false, false, 6570 + + 0x1.00000101b2b2ap+0, false, false, 6571 + + false, 6572 + + 0x1.00000101b2b29a46p+0, false, false, 6573 + + 0x1.00000101b2b29a46p+0, false, false, 6574 + + 0x1.00000101b2b29a46p+0, false, false, 6575 + + 0x1.00000101b2b29a48p+0, false, false, 6576 + + false, 6577 + + 0x1.00000101b2b29a46p+0, false, false, 6578 + + 0x1.00000101b2b29a46p+0, false, false, 6579 + + 0x1.00000101b2b29a46p+0, false, false, 6580 + + 0x1.00000101b2b29a48p+0, false, false, 6581 + + false, 6582 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6583 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6584 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6585 + + 0x1.00000101b2b29a4692b67b7ca38p+0, false, false, 6586 + + false, 6587 + + 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, 6588 + + 0x1.00000101b2b29a4692b67b7ca314p+0, false, false, 6589 + + 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, 6590 + + 0x1.00000101b2b29a4692b67b7ca314p+0, false, false), 6591 + TEST ("1.00000006", 6592 + false, 6593 + - 0x1p+0, false, 6594 + - 0x1.000002p+0, false, 6595 + - 0x1p+0, false, 6596 + - 0x1.000002p+0, false, 6597 + - false, 6598 + - 0x1.00000101b2b29p+0, false, 6599 + - 0x1.00000101b2b2ap+0, false, 6600 + - 0x1.00000101b2b29p+0, false, 6601 + - 0x1.00000101b2b2ap+0, false, 6602 + - false, 6603 + - 0x1.00000101b2b29a46p+0, false, 6604 + - 0x1.00000101b2b29a46p+0, false, 6605 + - 0x1.00000101b2b29a46p+0, false, 6606 + - 0x1.00000101b2b29a48p+0, false, 6607 + - false, 6608 + - 0x1.00000101b2b29a46p+0, false, 6609 + - 0x1.00000101b2b29a46p+0, false, 6610 + - 0x1.00000101b2b29a46p+0, false, 6611 + - 0x1.00000101b2b29a48p+0, false, 6612 + - false, 6613 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6614 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6615 + - 0x1.00000101b2b29a4692b67b7ca3p+0, false, 6616 + - 0x1.00000101b2b29a4692b67b7ca38p+0, false, 6617 + - false, 6618 + - 0x1.00000101b2b29a4692b67b7ca313p+0, false, 6619 + - 0x1.00000101b2b29a4692b67b7ca314p+0, false, 6620 + - 0x1.00000101b2b29a4692b67b7ca313p+0, false, 6621 + - 0x1.00000101b2b29a4692b67b7ca314p+0, false), 6622 + + 0x1p+0, false, false, 6623 + + 0x1.000002p+0, false, false, 6624 + + 0x1p+0, false, false, 6625 + + 0x1.000002p+0, false, false, 6626 + + false, 6627 + + 0x1.00000101b2b29p+0, false, false, 6628 + + 0x1.00000101b2b2ap+0, false, false, 6629 + + 0x1.00000101b2b29p+0, false, false, 6630 + + 0x1.00000101b2b2ap+0, false, false, 6631 + + false, 6632 + + 0x1.00000101b2b29a46p+0, false, false, 6633 + + 0x1.00000101b2b29a46p+0, false, false, 6634 + + 0x1.00000101b2b29a46p+0, false, false, 6635 + + 0x1.00000101b2b29a48p+0, false, false, 6636 + + false, 6637 + + 0x1.00000101b2b29a46p+0, false, false, 6638 + + 0x1.00000101b2b29a46p+0, false, false, 6639 + + 0x1.00000101b2b29a46p+0, false, false, 6640 + + 0x1.00000101b2b29a48p+0, false, false, 6641 + + false, 6642 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6643 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6644 + + 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, 6645 + + 0x1.00000101b2b29a4692b67b7ca38p+0, false, false, 6646 + + false, 6647 + + 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, 6648 + + 0x1.00000101b2b29a4692b67b7ca314p+0, false, false, 6649 + + 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, 6650 + + 0x1.00000101b2b29a4692b67b7ca314p+0, false, false), 6651 + TEST ("1.0000001", 6652 + false, 6653 + - 0x1p+0, false, 6654 + - 0x1.000002p+0, false, 6655 + - 0x1p+0, false, 6656 + - 0x1.000002p+0, false, 6657 + - false, 6658 + - 0x1.000001ad7f29ap+0, false, 6659 + - 0x1.000001ad7f29bp+0, false, 6660 + - 0x1.000001ad7f29ap+0, false, 6661 + - 0x1.000001ad7f29bp+0, false, 6662 + - false, 6663 + - 0x1.000001ad7f29abcap+0, false, 6664 + - 0x1.000001ad7f29abcap+0, false, 6665 + - 0x1.000001ad7f29abcap+0, false, 6666 + - 0x1.000001ad7f29abccp+0, false, 6667 + - false, 6668 + - 0x1.000001ad7f29abcap+0, false, 6669 + - 0x1.000001ad7f29abcap+0, false, 6670 + - 0x1.000001ad7f29abcap+0, false, 6671 + - 0x1.000001ad7f29abccp+0, false, 6672 + - false, 6673 + - 0x1.000001ad7f29abcaf485787a65p+0, false, 6674 + - 0x1.000001ad7f29abcaf485787a65p+0, false, 6675 + - 0x1.000001ad7f29abcaf485787a65p+0, false, 6676 + - 0x1.000001ad7f29abcaf485787a658p+0, false, 6677 + - false, 6678 + - 0x1.000001ad7f29abcaf485787a652p+0, false, 6679 + - 0x1.000001ad7f29abcaf485787a6521p+0, false, 6680 + - 0x1.000001ad7f29abcaf485787a652p+0, false, 6681 + - 0x1.000001ad7f29abcaf485787a6521p+0, false), 6682 + + 0x1p+0, false, false, 6683 + + 0x1.000002p+0, false, false, 6684 + + 0x1p+0, false, false, 6685 + + 0x1.000002p+0, false, false, 6686 + + false, 6687 + + 0x1.000001ad7f29ap+0, false, false, 6688 + + 0x1.000001ad7f29bp+0, false, false, 6689 + + 0x1.000001ad7f29ap+0, false, false, 6690 + + 0x1.000001ad7f29bp+0, false, false, 6691 + + false, 6692 + + 0x1.000001ad7f29abcap+0, false, false, 6693 + + 0x1.000001ad7f29abcap+0, false, false, 6694 + + 0x1.000001ad7f29abcap+0, false, false, 6695 + + 0x1.000001ad7f29abccp+0, false, false, 6696 + + false, 6697 + + 0x1.000001ad7f29abcap+0, false, false, 6698 + + 0x1.000001ad7f29abcap+0, false, false, 6699 + + 0x1.000001ad7f29abcap+0, false, false, 6700 + + 0x1.000001ad7f29abccp+0, false, false, 6701 + + false, 6702 + + 0x1.000001ad7f29abcaf485787a65p+0, false, false, 6703 + + 0x1.000001ad7f29abcaf485787a65p+0, false, false, 6704 + + 0x1.000001ad7f29abcaf485787a65p+0, false, false, 6705 + + 0x1.000001ad7f29abcaf485787a658p+0, false, false, 6706 + + false, 6707 + + 0x1.000001ad7f29abcaf485787a652p+0, false, false, 6708 + + 0x1.000001ad7f29abcaf485787a6521p+0, false, false, 6709 + + 0x1.000001ad7f29abcaf485787a652p+0, false, false, 6710 + + 0x1.000001ad7f29abcaf485787a6521p+0, false, false), 6711 + TEST ("1.000000", 6712 + true, 6713 + - 0x1p+0, false, 6714 + - 0x1p+0, false, 6715 + - 0x1p+0, false, 6716 + - 0x1p+0, false, 6717 + - true, 6718 + - 0x1p+0, false, 6719 + - 0x1p+0, false, 6720 + - 0x1p+0, false, 6721 + - 0x1p+0, false, 6722 + - true, 6723 + - 0x1p+0, false, 6724 + - 0x1p+0, false, 6725 + - 0x1p+0, false, 6726 + - 0x1p+0, false, 6727 + - true, 6728 + - 0x1p+0, false, 6729 + - 0x1p+0, false, 6730 + - 0x1p+0, false, 6731 + - 0x1p+0, false, 6732 + - true, 6733 + - 0x1p+0, false, 6734 + - 0x1p+0, false, 6735 + - 0x1p+0, false, 6736 + - 0x1p+0, false, 6737 + - true, 6738 + - 0x1p+0, false, 6739 + - 0x1p+0, false, 6740 + - 0x1p+0, false, 6741 + - 0x1p+0, false), 6742 + + 0x1p+0, false, false, 6743 + + 0x1p+0, false, false, 6744 + + 0x1p+0, false, false, 6745 + + 0x1p+0, false, false, 6746 + + true, 6747 + + 0x1p+0, false, false, 6748 + + 0x1p+0, false, false, 6749 + + 0x1p+0, false, false, 6750 + + 0x1p+0, false, false, 6751 + + true, 6752 + + 0x1p+0, false, false, 6753 + + 0x1p+0, false, false, 6754 + + 0x1p+0, false, false, 6755 + + 0x1p+0, false, false, 6756 + + true, 6757 + + 0x1p+0, false, false, 6758 + + 0x1p+0, false, false, 6759 + + 0x1p+0, false, false, 6760 + + 0x1p+0, false, false, 6761 + + true, 6762 + + 0x1p+0, false, false, 6763 + + 0x1p+0, false, false, 6764 + + 0x1p+0, false, false, 6765 + + 0x1p+0, false, false, 6766 + + true, 6767 + + 0x1p+0, false, false, 6768 + + 0x1p+0, false, false, 6769 + + 0x1p+0, false, false, 6770 + + 0x1p+0, false, false), 6771 + TEST ("1.00000000000000011113", 6772 + false, 6773 + - 0x1p+0, false, 6774 + - 0x1p+0, false, 6775 + - 0x1p+0, false, 6776 + - 0x1.000002p+0, false, 6777 + - false, 6778 + - 0x1p+0, false, 6779 + - 0x1.0000000000001p+0, false, 6780 + - 0x1p+0, false, 6781 + - 0x1.0000000000001p+0, false, 6782 + - false, 6783 + - 0x1.00000000000008p+0, false, 6784 + - 0x1.0000000000000802p+0, false, 6785 + - 0x1.00000000000008p+0, false, 6786 + - 0x1.0000000000000802p+0, false, 6787 + - false, 6788 + - 0x1.00000000000008p+0, false, 6789 + - 0x1.0000000000000802p+0, false, 6790 + - 0x1.00000000000008p+0, false, 6791 + - 0x1.0000000000000802p+0, false, 6792 + - false, 6793 + - 0x1.0000000000000801fc96557232p+0, false, 6794 + - 0x1.0000000000000801fc96557232p+0, false, 6795 + - 0x1.0000000000000801fc96557232p+0, false, 6796 + - 0x1.0000000000000801fc965572328p+0, false, 6797 + - false, 6798 + - 0x1.0000000000000801fc9655723222p+0, false, 6799 + - 0x1.0000000000000801fc9655723222p+0, false, 6800 + - 0x1.0000000000000801fc9655723222p+0, false, 6801 + - 0x1.0000000000000801fc9655723223p+0, false), 6802 + + 0x1p+0, false, false, 6803 + + 0x1p+0, false, false, 6804 + + 0x1p+0, false, false, 6805 + + 0x1.000002p+0, false, false, 6806 + + false, 6807 + + 0x1p+0, false, false, 6808 + + 0x1.0000000000001p+0, false, false, 6809 + + 0x1p+0, false, false, 6810 + + 0x1.0000000000001p+0, false, false, 6811 + + false, 6812 + + 0x1.00000000000008p+0, false, false, 6813 + + 0x1.0000000000000802p+0, false, false, 6814 + + 0x1.00000000000008p+0, false, false, 6815 + + 0x1.0000000000000802p+0, false, false, 6816 + + false, 6817 + + 0x1.00000000000008p+0, false, false, 6818 + + 0x1.0000000000000802p+0, false, false, 6819 + + 0x1.00000000000008p+0, false, false, 6820 + + 0x1.0000000000000802p+0, false, false, 6821 + + false, 6822 + + 0x1.0000000000000801fc96557232p+0, false, false, 6823 + + 0x1.0000000000000801fc96557232p+0, false, false, 6824 + + 0x1.0000000000000801fc96557232p+0, false, false, 6825 + + 0x1.0000000000000801fc965572328p+0, false, false, 6826 + + false, 6827 + + 0x1.0000000000000801fc9655723222p+0, false, false, 6828 + + 0x1.0000000000000801fc9655723222p+0, false, false, 6829 + + 0x1.0000000000000801fc9655723222p+0, false, false, 6830 + + 0x1.0000000000000801fc9655723223p+0, false, false), 6831 + TEST ("1.00000000000000011103", 6832 + false, 6833 + - 0x1p+0, false, 6834 + - 0x1p+0, false, 6835 + - 0x1p+0, false, 6836 + - 0x1.000002p+0, false, 6837 + - false, 6838 + - 0x1p+0, false, 6839 + - 0x1.0000000000001p+0, false, 6840 + - 0x1p+0, false, 6841 + - 0x1.0000000000001p+0, false, 6842 + - false, 6843 + - 0x1.00000000000008p+0, false, 6844 + - 0x1.00000000000008p+0, false, 6845 + - 0x1.00000000000008p+0, false, 6846 + - 0x1.0000000000000802p+0, false, 6847 + - false, 6848 + - 0x1.00000000000008p+0, false, 6849 + - 0x1.00000000000008p+0, false, 6850 + - 0x1.00000000000008p+0, false, 6851 + - 0x1.0000000000000802p+0, false, 6852 + - false, 6853 + - 0x1.00000000000008002459c076c48p+0, false, 6854 + - 0x1.00000000000008002459c076c5p+0, false, 6855 + - 0x1.00000000000008002459c076c48p+0, false, 6856 + - 0x1.00000000000008002459c076c5p+0, false, 6857 + - false, 6858 + - 0x1.00000000000008002459c076c4f7p+0, false, 6859 + - 0x1.00000000000008002459c076c4f8p+0, false, 6860 + - 0x1.00000000000008002459c076c4f7p+0, false, 6861 + - 0x1.00000000000008002459c076c4f8p+0, false), 6862 + + 0x1p+0, false, false, 6863 + + 0x1p+0, false, false, 6864 + + 0x1p+0, false, false, 6865 + + 0x1.000002p+0, false, false, 6866 + + false, 6867 + + 0x1p+0, false, false, 6868 + + 0x1.0000000000001p+0, false, false, 6869 + + 0x1p+0, false, false, 6870 + + 0x1.0000000000001p+0, false, false, 6871 + + false, 6872 + + 0x1.00000000000008p+0, false, false, 6873 + + 0x1.00000000000008p+0, false, false, 6874 + + 0x1.00000000000008p+0, false, false, 6875 + + 0x1.0000000000000802p+0, false, false, 6876 + + false, 6877 + + 0x1.00000000000008p+0, false, false, 6878 + + 0x1.00000000000008p+0, false, false, 6879 + + 0x1.00000000000008p+0, false, false, 6880 + + 0x1.0000000000000802p+0, false, false, 6881 + + false, 6882 + + 0x1.00000000000008002459c076c48p+0, false, false, 6883 + + 0x1.00000000000008002459c076c5p+0, false, false, 6884 + + 0x1.00000000000008002459c076c48p+0, false, false, 6885 + + 0x1.00000000000008002459c076c5p+0, false, false, 6886 + + false, 6887 + + 0x1.00000000000008002459c076c4f7p+0, false, false, 6888 + + 0x1.00000000000008002459c076c4f8p+0, false, false, 6889 + + 0x1.00000000000008002459c076c4f7p+0, false, false, 6890 + + 0x1.00000000000008002459c076c4f8p+0, false, false), 6891 + TEST ("1.00000000000000011102", 6892 + false, 6893 + - 0x1p+0, false, 6894 + - 0x1p+0, false, 6895 + - 0x1p+0, false, 6896 + - 0x1.000002p+0, false, 6897 + - false, 6898 + - 0x1p+0, false, 6899 + - 0x1p+0, false, 6900 + - 0x1p+0, false, 6901 + - 0x1.0000000000001p+0, false, 6902 + - false, 6903 + - 0x1.00000000000007fep+0, false, 6904 + - 0x1.00000000000008p+0, false, 6905 + - 0x1.00000000000007fep+0, false, 6906 + - 0x1.00000000000008p+0, false, 6907 + - false, 6908 + - 0x1.00000000000007fep+0, false, 6909 + - 0x1.00000000000008p+0, false, 6910 + - 0x1.00000000000007fep+0, false, 6911 + - 0x1.00000000000008p+0, false, 6912 + - false, 6913 + - 0x1.00000000000007fff5207e5dap+0, false, 6914 + - 0x1.00000000000007fff5207e5da08p+0, false, 6915 + - 0x1.00000000000007fff5207e5dap+0, false, 6916 + - 0x1.00000000000007fff5207e5da08p+0, false, 6917 + - false, 6918 + - 0x1.00000000000007fff5207e5da073p+0, false, 6919 + - 0x1.00000000000007fff5207e5da073p+0, false, 6920 + - 0x1.00000000000007fff5207e5da073p+0, false, 6921 + - 0x1.00000000000007fff5207e5da074p+0, false), 6922 + + 0x1p+0, false, false, 6923 + + 0x1p+0, false, false, 6924 + + 0x1p+0, false, false, 6925 + + 0x1.000002p+0, false, false, 6926 + + false, 6927 + + 0x1p+0, false, false, 6928 + + 0x1p+0, false, false, 6929 + + 0x1p+0, false, false, 6930 + + 0x1.0000000000001p+0, false, false, 6931 + + false, 6932 + + 0x1.00000000000007fep+0, false, false, 6933 + + 0x1.00000000000008p+0, false, false, 6934 + + 0x1.00000000000007fep+0, false, false, 6935 + + 0x1.00000000000008p+0, false, false, 6936 + + false, 6937 + + 0x1.00000000000007fep+0, false, false, 6938 + + 0x1.00000000000008p+0, false, false, 6939 + + 0x1.00000000000007fep+0, false, false, 6940 + + 0x1.00000000000008p+0, false, false, 6941 + + false, 6942 + + 0x1.00000000000007fff5207e5dap+0, false, false, 6943 + + 0x1.00000000000007fff5207e5da08p+0, false, false, 6944 + + 0x1.00000000000007fff5207e5dap+0, false, false, 6945 + + 0x1.00000000000007fff5207e5da08p+0, false, false, 6946 + + false, 6947 + + 0x1.00000000000007fff5207e5da073p+0, false, false, 6948 + + 0x1.00000000000007fff5207e5da073p+0, false, false, 6949 + + 0x1.00000000000007fff5207e5da073p+0, false, false, 6950 + + 0x1.00000000000007fff5207e5da074p+0, false, false), 6951 + TEST ("1.00000000000000011101", 6952 + false, 6953 + - 0x1p+0, false, 6954 + - 0x1p+0, false, 6955 + - 0x1p+0, false, 6956 + - 0x1.000002p+0, false, 6957 + - false, 6958 + - 0x1p+0, false, 6959 + - 0x1p+0, false, 6960 + - 0x1p+0, false, 6961 + - 0x1.0000000000001p+0, false, 6962 + - false, 6963 + - 0x1.00000000000007fep+0, false, 6964 + - 0x1.00000000000008p+0, false, 6965 + - 0x1.00000000000007fep+0, false, 6966 + - 0x1.00000000000008p+0, false, 6967 + - false, 6968 + - 0x1.00000000000007fep+0, false, 6969 + - 0x1.00000000000008p+0, false, 6970 + - 0x1.00000000000007fep+0, false, 6971 + - 0x1.00000000000008p+0, false, 6972 + - false, 6973 + - 0x1.00000000000007ffc5e73c447b8p+0, false, 6974 + - 0x1.00000000000007ffc5e73c447cp+0, false, 6975 + - 0x1.00000000000007ffc5e73c447b8p+0, false, 6976 + - 0x1.00000000000007ffc5e73c447cp+0, false, 6977 + - false, 6978 + - 0x1.00000000000007ffc5e73c447befp+0, false, 6979 + - 0x1.00000000000007ffc5e73c447befp+0, false, 6980 + - 0x1.00000000000007ffc5e73c447befp+0, false, 6981 + - 0x1.00000000000007ffc5e73c447bfp+0, false), 6982 + + 0x1p+0, false, false, 6983 + + 0x1p+0, false, false, 6984 + + 0x1p+0, false, false, 6985 + + 0x1.000002p+0, false, false, 6986 + + false, 6987 + + 0x1p+0, false, false, 6988 + + 0x1p+0, false, false, 6989 + + 0x1p+0, false, false, 6990 + + 0x1.0000000000001p+0, false, false, 6991 + + false, 6992 + + 0x1.00000000000007fep+0, false, false, 6993 + + 0x1.00000000000008p+0, false, false, 6994 + + 0x1.00000000000007fep+0, false, false, 6995 + + 0x1.00000000000008p+0, false, false, 6996 + + false, 6997 + + 0x1.00000000000007fep+0, false, false, 6998 + + 0x1.00000000000008p+0, false, false, 6999 + + 0x1.00000000000007fep+0, false, false, 7000 + + 0x1.00000000000008p+0, false, false, 7001 + + false, 7002 + + 0x1.00000000000007ffc5e73c447b8p+0, false, false, 7003 + + 0x1.00000000000007ffc5e73c447cp+0, false, false, 7004 + + 0x1.00000000000007ffc5e73c447b8p+0, false, false, 7005 + + 0x1.00000000000007ffc5e73c447cp+0, false, false, 7006 + + false, 7007 + + 0x1.00000000000007ffc5e73c447befp+0, false, false, 7008 + + 0x1.00000000000007ffc5e73c447befp+0, false, false, 7009 + + 0x1.00000000000007ffc5e73c447befp+0, false, false, 7010 + + 0x1.00000000000007ffc5e73c447bfp+0, false, false), 7011 + TEST ("1.0000000000000001111", 7012 + false, 7013 + - 0x1p+0, false, 7014 + - 0x1p+0, false, 7015 + - 0x1p+0, false, 7016 + - 0x1.000002p+0, false, 7017 + - false, 7018 + - 0x1p+0, false, 7019 + - 0x1.0000000000001p+0, false, 7020 + - 0x1p+0, false, 7021 + - 0x1.0000000000001p+0, false, 7022 + - false, 7023 + - 0x1.00000000000008p+0, false, 7024 + - 0x1.0000000000000802p+0, false, 7025 + - 0x1.00000000000008p+0, false, 7026 + - 0x1.0000000000000802p+0, false, 7027 + - false, 7028 + - 0x1.00000000000008p+0, false, 7029 + - 0x1.0000000000000802p+0, false, 7030 + - 0x1.00000000000008p+0, false, 7031 + - 0x1.0000000000000802p+0, false, 7032 + - false, 7033 + - 0x1.00000000000008016eea8f26c48p+0, false, 7034 + - 0x1.00000000000008016eea8f26c48p+0, false, 7035 + - 0x1.00000000000008016eea8f26c48p+0, false, 7036 + - 0x1.00000000000008016eea8f26c5p+0, false, 7037 + - false, 7038 + - 0x1.00000000000008016eea8f26c495p+0, false, 7039 + - 0x1.00000000000008016eea8f26c496p+0, false, 7040 + - 0x1.00000000000008016eea8f26c495p+0, false, 7041 + - 0x1.00000000000008016eea8f26c496p+0, false), 7042 + + 0x1p+0, false, false, 7043 + + 0x1p+0, false, false, 7044 + + 0x1p+0, false, false, 7045 + + 0x1.000002p+0, false, false, 7046 + + false, 7047 + + 0x1p+0, false, false, 7048 + + 0x1.0000000000001p+0, false, false, 7049 + + 0x1p+0, false, false, 7050 + + 0x1.0000000000001p+0, false, false, 7051 + + false, 7052 + + 0x1.00000000000008p+0, false, false, 7053 + + 0x1.0000000000000802p+0, false, false, 7054 + + 0x1.00000000000008p+0, false, false, 7055 + + 0x1.0000000000000802p+0, false, false, 7056 + + false, 7057 + + 0x1.00000000000008p+0, false, false, 7058 + + 0x1.0000000000000802p+0, false, false, 7059 + + 0x1.00000000000008p+0, false, false, 7060 + + 0x1.0000000000000802p+0, false, false, 7061 + + false, 7062 + + 0x1.00000000000008016eea8f26c48p+0, false, false, 7063 + + 0x1.00000000000008016eea8f26c48p+0, false, false, 7064 + + 0x1.00000000000008016eea8f26c48p+0, false, false, 7065 + + 0x1.00000000000008016eea8f26c5p+0, false, false, 7066 + + false, 7067 + + 0x1.00000000000008016eea8f26c495p+0, false, false, 7068 + + 0x1.00000000000008016eea8f26c496p+0, false, false, 7069 + + 0x1.00000000000008016eea8f26c495p+0, false, false, 7070 + + 0x1.00000000000008016eea8f26c496p+0, false, false), 7071 + TEST ("1.000000000000000111", 7072 + false, 7073 + - 0x1p+0, false, 7074 + - 0x1p+0, false, 7075 + - 0x1p+0, false, 7076 + - 0x1.000002p+0, false, 7077 + - false, 7078 + - 0x1p+0, false, 7079 + - 0x1p+0, false, 7080 + - 0x1p+0, false, 7081 + - 0x1.0000000000001p+0, false, 7082 + - false, 7083 + - 0x1.00000000000007fep+0, false, 7084 + - 0x1.00000000000008p+0, false, 7085 + - 0x1.00000000000007fep+0, false, 7086 + - 0x1.00000000000008p+0, false, 7087 + - false, 7088 + - 0x1.00000000000007fep+0, false, 7089 + - 0x1.00000000000008p+0, false, 7090 + - 0x1.00000000000007fep+0, false, 7091 + - 0x1.00000000000008p+0, false, 7092 + - false, 7093 + - 0x1.00000000000007ff96adfa2b57p+0, false, 7094 + - 0x1.00000000000007ff96adfa2b578p+0, false, 7095 + - 0x1.00000000000007ff96adfa2b57p+0, false, 7096 + - 0x1.00000000000007ff96adfa2b578p+0, false, 7097 + - false, 7098 + - 0x1.00000000000007ff96adfa2b576ap+0, false, 7099 + - 0x1.00000000000007ff96adfa2b576bp+0, false, 7100 + - 0x1.00000000000007ff96adfa2b576ap+0, false, 7101 + - 0x1.00000000000007ff96adfa2b576bp+0, false), 7102 + + 0x1p+0, false, false, 7103 + + 0x1p+0, false, false, 7104 + + 0x1p+0, false, false, 7105 + + 0x1.000002p+0, false, false, 7106 + + false, 7107 + + 0x1p+0, false, false, 7108 + + 0x1p+0, false, false, 7109 + + 0x1p+0, false, false, 7110 + + 0x1.0000000000001p+0, false, false, 7111 + + false, 7112 + + 0x1.00000000000007fep+0, false, false, 7113 + + 0x1.00000000000008p+0, false, false, 7114 + + 0x1.00000000000007fep+0, false, false, 7115 + + 0x1.00000000000008p+0, false, false, 7116 + + false, 7117 + + 0x1.00000000000007fep+0, false, false, 7118 + + 0x1.00000000000008p+0, false, false, 7119 + + 0x1.00000000000007fep+0, false, false, 7120 + + 0x1.00000000000008p+0, false, false, 7121 + + false, 7122 + + 0x1.00000000000007ff96adfa2b57p+0, false, false, 7123 + + 0x1.00000000000007ff96adfa2b578p+0, false, false, 7124 + + 0x1.00000000000007ff96adfa2b57p+0, false, false, 7125 + + 0x1.00000000000007ff96adfa2b578p+0, false, false, 7126 + + false, 7127 + + 0x1.00000000000007ff96adfa2b576ap+0, false, false, 7128 + + 0x1.00000000000007ff96adfa2b576bp+0, false, false, 7129 + + 0x1.00000000000007ff96adfa2b576ap+0, false, false, 7130 + + 0x1.00000000000007ff96adfa2b576bp+0, false, false), 7131 + TEST ("1.00000000000000011", 7132 + false, 7133 + - 0x1p+0, false, 7134 + - 0x1p+0, false, 7135 + - 0x1p+0, false, 7136 + - 0x1.000002p+0, false, 7137 + - false, 7138 + - 0x1p+0, false, 7139 + - 0x1p+0, false, 7140 + - 0x1p+0, false, 7141 + - 0x1.0000000000001p+0, false, 7142 + - false, 7143 + - 0x1.00000000000007ecp+0, false, 7144 + - 0x1.00000000000007eep+0, false, 7145 + - 0x1.00000000000007ecp+0, false, 7146 + - 0x1.00000000000007eep+0, false, 7147 + - false, 7148 + - 0x1.00000000000007ecp+0, false, 7149 + - 0x1.00000000000007eep+0, false, 7150 + - 0x1.00000000000007ecp+0, false, 7151 + - 0x1.00000000000007eep+0, false, 7152 + - false, 7153 + - 0x1.00000000000007ed24502859138p+0, false, 7154 + - 0x1.00000000000007ed24502859138p+0, false, 7155 + - 0x1.00000000000007ed24502859138p+0, false, 7156 + - 0x1.00000000000007ed2450285914p+0, false, 7157 + - false, 7158 + - 0x1.00000000000007ed2450285913bfp+0, false, 7159 + - 0x1.00000000000007ed2450285913bfp+0, false, 7160 + - 0x1.00000000000007ed2450285913bfp+0, false, 7161 + - 0x1.00000000000007ed2450285913cp+0, false), 7162 + + 0x1p+0, false, false, 7163 + + 0x1p+0, false, false, 7164 + + 0x1p+0, false, false, 7165 + + 0x1.000002p+0, false, false, 7166 + + false, 7167 + + 0x1p+0, false, false, 7168 + + 0x1p+0, false, false, 7169 + + 0x1p+0, false, false, 7170 + + 0x1.0000000000001p+0, false, false, 7171 + + false, 7172 + + 0x1.00000000000007ecp+0, false, false, 7173 + + 0x1.00000000000007eep+0, false, false, 7174 + + 0x1.00000000000007ecp+0, false, false, 7175 + + 0x1.00000000000007eep+0, false, false, 7176 + + false, 7177 + + 0x1.00000000000007ecp+0, false, false, 7178 + + 0x1.00000000000007eep+0, false, false, 7179 + + 0x1.00000000000007ecp+0, false, false, 7180 + + 0x1.00000000000007eep+0, false, false, 7181 + + false, 7182 + + 0x1.00000000000007ed24502859138p+0, false, false, 7183 + + 0x1.00000000000007ed24502859138p+0, false, false, 7184 + + 0x1.00000000000007ed24502859138p+0, false, false, 7185 + + 0x1.00000000000007ed2450285914p+0, false, false, 7186 + + false, 7187 + + 0x1.00000000000007ed2450285913bfp+0, false, false, 7188 + + 0x1.00000000000007ed2450285913bfp+0, false, false, 7189 + + 0x1.00000000000007ed2450285913bfp+0, false, false, 7190 + + 0x1.00000000000007ed2450285913cp+0, false, false), 7191 + TEST ("1.0000000000000001", 7192 + false, 7193 + - 0x1p+0, false, 7194 + - 0x1p+0, false, 7195 + - 0x1p+0, false, 7196 + - 0x1.000002p+0, false, 7197 + - false, 7198 + - 0x1p+0, false, 7199 + - 0x1p+0, false, 7200 + - 0x1p+0, false, 7201 + - 0x1.0000000000001p+0, false, 7202 + - false, 7203 + - 0x1.0000000000000734p+0, false, 7204 + - 0x1.0000000000000734p+0, false, 7205 + - 0x1.0000000000000734p+0, false, 7206 + - 0x1.0000000000000736p+0, false, 7207 + - false, 7208 + - 0x1.0000000000000734p+0, false, 7209 + - 0x1.0000000000000734p+0, false, 7210 + - 0x1.0000000000000734p+0, false, 7211 + - 0x1.0000000000000736p+0, false, 7212 + - false, 7213 + - 0x1.0000000000000734aca5f6226fp+0, false, 7214 + - 0x1.0000000000000734aca5f6226fp+0, false, 7215 + - 0x1.0000000000000734aca5f6226fp+0, false, 7216 + - 0x1.0000000000000734aca5f6226f8p+0, false, 7217 + - false, 7218 + - 0x1.0000000000000734aca5f6226f0ap+0, false, 7219 + - 0x1.0000000000000734aca5f6226f0bp+0, false, 7220 + - 0x1.0000000000000734aca5f6226f0ap+0, false, 7221 + - 0x1.0000000000000734aca5f6226f0bp+0, false), 7222 + + 0x1p+0, false, false, 7223 + + 0x1p+0, false, false, 7224 + + 0x1p+0, false, false, 7225 + + 0x1.000002p+0, false, false, 7226 + + false, 7227 + + 0x1p+0, false, false, 7228 + + 0x1p+0, false, false, 7229 + + 0x1p+0, false, false, 7230 + + 0x1.0000000000001p+0, false, false, 7231 + + false, 7232 + + 0x1.0000000000000734p+0, false, false, 7233 + + 0x1.0000000000000734p+0, false, false, 7234 + + 0x1.0000000000000734p+0, false, false, 7235 + + 0x1.0000000000000736p+0, false, false, 7236 + + false, 7237 + + 0x1.0000000000000734p+0, false, false, 7238 + + 0x1.0000000000000734p+0, false, false, 7239 + + 0x1.0000000000000734p+0, false, false, 7240 + + 0x1.0000000000000736p+0, false, false, 7241 + + false, 7242 + + 0x1.0000000000000734aca5f6226fp+0, false, false, 7243 + + 0x1.0000000000000734aca5f6226fp+0, false, false, 7244 + + 0x1.0000000000000734aca5f6226fp+0, false, false, 7245 + + 0x1.0000000000000734aca5f6226f8p+0, false, false, 7246 + + false, 7247 + + 0x1.0000000000000734aca5f6226f0ap+0, false, false, 7248 + + 0x1.0000000000000734aca5f6226f0bp+0, false, false, 7249 + + 0x1.0000000000000734aca5f6226f0ap+0, false, false, 7250 + + 0x1.0000000000000734aca5f6226f0bp+0, false, false), 7251 + TEST ("3929201589819414e-25", 7252 + false, 7253 + - 0x1.b0053p-32, false, 7254 + - 0x1.b00532p-32, false, 7255 + - 0x1.b0053p-32, false, 7256 + - 0x1.b00532p-32, false, 7257 + - false, 7258 + - 0x1.b005314e2421ep-32, false, 7259 + - 0x1.b005314e2421ep-32, false, 7260 + - 0x1.b005314e2421ep-32, false, 7261 + - 0x1.b005314e2421fp-32, false, 7262 + - false, 7263 + - 0x1.b005314e2421e7fep-32, false, 7264 + - 0x1.b005314e2421e8p-32, false, 7265 + - 0x1.b005314e2421e7fep-32, false, 7266 + - 0x1.b005314e2421e8p-32, false, 7267 + - false, 7268 + - 0x1.b005314e2421e7fep-32, false, 7269 + - 0x1.b005314e2421e8p-32, false, 7270 + - 0x1.b005314e2421e7fep-32, false, 7271 + - 0x1.b005314e2421e8p-32, false, 7272 + - false, 7273 + - 0x1.b005314e2421e7ffb472840c5ap-32, false, 7274 + - 0x1.b005314e2421e7ffb472840c5a8p-32, false, 7275 + - 0x1.b005314e2421e7ffb472840c5ap-32, false, 7276 + - 0x1.b005314e2421e7ffb472840c5a8p-32, false, 7277 + - false, 7278 + - 0x1.b005314e2421e7ffb472840c5a6ep-32, false, 7279 + - 0x1.b005314e2421e7ffb472840c5a6fp-32, false, 7280 + - 0x1.b005314e2421e7ffb472840c5a6ep-32, false, 7281 + - 0x1.b005314e2421e7ffb472840c5a6fp-32, false), 7282 + + 0x1.b0053p-32, false, false, 7283 + + 0x1.b00532p-32, false, false, 7284 + + 0x1.b0053p-32, false, false, 7285 + + 0x1.b00532p-32, false, false, 7286 + + false, 7287 + + 0x1.b005314e2421ep-32, false, false, 7288 + + 0x1.b005314e2421ep-32, false, false, 7289 + + 0x1.b005314e2421ep-32, false, false, 7290 + + 0x1.b005314e2421fp-32, false, false, 7291 + + false, 7292 + + 0x1.b005314e2421e7fep-32, false, false, 7293 + + 0x1.b005314e2421e8p-32, false, false, 7294 + + 0x1.b005314e2421e7fep-32, false, false, 7295 + + 0x1.b005314e2421e8p-32, false, false, 7296 + + false, 7297 + + 0x1.b005314e2421e7fep-32, false, false, 7298 + + 0x1.b005314e2421e8p-32, false, false, 7299 + + 0x1.b005314e2421e7fep-32, false, false, 7300 + + 0x1.b005314e2421e8p-32, false, false, 7301 + + false, 7302 + + 0x1.b005314e2421e7ffb472840c5ap-32, false, false, 7303 + + 0x1.b005314e2421e7ffb472840c5a8p-32, false, false, 7304 + + 0x1.b005314e2421e7ffb472840c5ap-32, false, false, 7305 + + 0x1.b005314e2421e7ffb472840c5a8p-32, false, false, 7306 + + false, 7307 + + 0x1.b005314e2421e7ffb472840c5a6ep-32, false, false, 7308 + + 0x1.b005314e2421e7ffb472840c5a6fp-32, false, false, 7309 + + 0x1.b005314e2421e7ffb472840c5a6ep-32, false, false, 7310 + + 0x1.b005314e2421e7ffb472840c5a6fp-32, false, false), 7311 + TEST ("0.0000000000000000000000000000000000000000000021019476964872" 7312 + "256063855943749348741969203929128147736576356024258346866240" 7313 + "28790902229957282543182373046875", 7314 + false, 7315 + - 0x8p-152, false, 7316 + - 0x1p-148, false, 7317 + - 0x8p-152, false, 7318 + - 0x1p-148, false, 7319 + - true, 7320 + - 0xcp-152, false, 7321 + - 0xcp-152, false, 7322 + - 0xcp-152, false, 7323 + - 0xcp-152, false, 7324 + - true, 7325 + - 0xcp-152, false, 7326 + - 0xcp-152, false, 7327 + - 0xcp-152, false, 7328 + - 0xcp-152, false, 7329 + - true, 7330 + - 0xcp-152, false, 7331 + - 0xcp-152, false, 7332 + - 0xcp-152, false, 7333 + - 0xcp-152, false, 7334 + - true, 7335 + - 0xcp-152, false, 7336 + - 0xcp-152, false, 7337 + - 0xcp-152, false, 7338 + - 0xcp-152, false, 7339 + - true, 7340 + - 0xcp-152, false, 7341 + - 0xcp-152, false, 7342 + - 0xcp-152, false, 7343 + - 0xcp-152, false), 7344 + + 0x8p-152, false, true, 7345 + + 0x1p-148, false, true, 7346 + + 0x8p-152, false, true, 7347 + + 0x1p-148, false, true, 7348 + + true, 7349 + + 0xcp-152, false, false, 7350 + + 0xcp-152, false, false, 7351 + + 0xcp-152, false, false, 7352 + + 0xcp-152, false, false, 7353 + + true, 7354 + + 0xcp-152, false, false, 7355 + + 0xcp-152, false, false, 7356 + + 0xcp-152, false, false, 7357 + + 0xcp-152, false, false, 7358 + + true, 7359 + + 0xcp-152, false, false, 7360 + + 0xcp-152, false, false, 7361 + + 0xcp-152, false, false, 7362 + + 0xcp-152, false, false, 7363 + + true, 7364 + + 0xcp-152, false, false, 7365 + + 0xcp-152, false, false, 7366 + + 0xcp-152, false, false, 7367 + + 0xcp-152, false, false, 7368 + + true, 7369 + + 0xcp-152, false, false, 7370 + + 0xcp-152, false, false, 7371 + + 0xcp-152, false, false, 7372 + + 0xcp-152, false, false), 7373 + TEST ("1.00000005960464477539062499", 7374 + false, 7375 + - 0x1p+0, false, 7376 + - 0x1p+0, false, 7377 + - 0x1p+0, false, 7378 + - 0x1.000002p+0, false, 7379 + - false, 7380 + - 0x1.000000fffffffp+0, false, 7381 + - 0x1.000001p+0, false, 7382 + - 0x1.000000fffffffp+0, false, 7383 + - 0x1.000001p+0, false, 7384 + - false, 7385 + - 0x1.000000fffffffffep+0, false, 7386 + - 0x1.000001p+0, false, 7387 + - 0x1.000000fffffffffep+0, false, 7388 + - 0x1.000001p+0, false, 7389 + - false, 7390 + - 0x1.000000fffffffffep+0, false, 7391 + - 0x1.000001p+0, false, 7392 + - 0x1.000000fffffffffep+0, false, 7393 + - 0x1.000001p+0, false, 7394 + - false, 7395 + - 0x1.000000fffffffffffffffce7b78p+0, false, 7396 + - 0x1.000000fffffffffffffffce7b8p+0, false, 7397 + - 0x1.000000fffffffffffffffce7b78p+0, false, 7398 + - 0x1.000000fffffffffffffffce7b8p+0, false, 7399 + - false, 7400 + - 0x1.000000fffffffffffffffce7b7e7p+0, false, 7401 + - 0x1.000000fffffffffffffffce7b7e7p+0, false, 7402 + - 0x1.000000fffffffffffffffce7b7e7p+0, false, 7403 + - 0x1.000000fffffffffffffffce7b7e8p+0, false), 7404 + + 0x1p+0, false, false, 7405 + + 0x1p+0, false, false, 7406 + + 0x1p+0, false, false, 7407 + + 0x1.000002p+0, false, false, 7408 + + false, 7409 + + 0x1.000000fffffffp+0, false, false, 7410 + + 0x1.000001p+0, false, false, 7411 + + 0x1.000000fffffffp+0, false, false, 7412 + + 0x1.000001p+0, false, false, 7413 + + false, 7414 + + 0x1.000000fffffffffep+0, false, false, 7415 + + 0x1.000001p+0, false, false, 7416 + + 0x1.000000fffffffffep+0, false, false, 7417 + + 0x1.000001p+0, false, false, 7418 + + false, 7419 + + 0x1.000000fffffffffep+0, false, false, 7420 + + 0x1.000001p+0, false, false, 7421 + + 0x1.000000fffffffffep+0, false, false, 7422 + + 0x1.000001p+0, false, false, 7423 + + false, 7424 + + 0x1.000000fffffffffffffffce7b78p+0, false, false, 7425 + + 0x1.000000fffffffffffffffce7b8p+0, false, false, 7426 + + 0x1.000000fffffffffffffffce7b78p+0, false, false, 7427 + + 0x1.000000fffffffffffffffce7b8p+0, false, false, 7428 + + false, 7429 + + 0x1.000000fffffffffffffffce7b7e7p+0, false, false, 7430 + + 0x1.000000fffffffffffffffce7b7e7p+0, false, false, 7431 + + 0x1.000000fffffffffffffffce7b7e7p+0, false, false, 7432 + + 0x1.000000fffffffffffffffce7b7e8p+0, false, false), 7433 + TEST ("1.000000059604644775390625", 7434 + false, 7435 + - 0x1p+0, false, 7436 + - 0x1p+0, false, 7437 + - 0x1p+0, false, 7438 + - 0x1.000002p+0, false, 7439 + - true, 7440 + - 0x1.000001p+0, false, 7441 + - 0x1.000001p+0, false, 7442 + - 0x1.000001p+0, false, 7443 + - 0x1.000001p+0, false, 7444 + - true, 7445 + - 0x1.000001p+0, false, 7446 + - 0x1.000001p+0, false, 7447 + - 0x1.000001p+0, false, 7448 + - 0x1.000001p+0, false, 7449 + - true, 7450 + - 0x1.000001p+0, false, 7451 + - 0x1.000001p+0, false, 7452 + - 0x1.000001p+0, false, 7453 + - 0x1.000001p+0, false, 7454 + - true, 7455 + - 0x1.000001p+0, false, 7456 + - 0x1.000001p+0, false, 7457 + - 0x1.000001p+0, false, 7458 + - 0x1.000001p+0, false, 7459 + - true, 7460 + - 0x1.000001p+0, false, 7461 + - 0x1.000001p+0, false, 7462 + - 0x1.000001p+0, false, 7463 + - 0x1.000001p+0, false), 7464 + + 0x1p+0, false, false, 7465 + + 0x1p+0, false, false, 7466 + + 0x1p+0, false, false, 7467 + + 0x1.000002p+0, false, false, 7468 + + true, 7469 + + 0x1.000001p+0, false, false, 7470 + + 0x1.000001p+0, false, false, 7471 + + 0x1.000001p+0, false, false, 7472 + + 0x1.000001p+0, false, false, 7473 + + true, 7474 + + 0x1.000001p+0, false, false, 7475 + + 0x1.000001p+0, false, false, 7476 + + 0x1.000001p+0, false, false, 7477 + + 0x1.000001p+0, false, false, 7478 + + true, 7479 + + 0x1.000001p+0, false, false, 7480 + + 0x1.000001p+0, false, false, 7481 + + 0x1.000001p+0, false, false, 7482 + + 0x1.000001p+0, false, false, 7483 + + true, 7484 + + 0x1.000001p+0, false, false, 7485 + + 0x1.000001p+0, false, false, 7486 + + 0x1.000001p+0, false, false, 7487 + + 0x1.000001p+0, false, false, 7488 + + true, 7489 + + 0x1.000001p+0, false, false, 7490 + + 0x1.000001p+0, false, false, 7491 + + 0x1.000001p+0, false, false, 7492 + + 0x1.000001p+0, false, false), 7493 + TEST ("1.00000005960464477539062501", 7494 + false, 7495 + - 0x1p+0, false, 7496 + - 0x1.000002p+0, false, 7497 + - 0x1p+0, false, 7498 + - 0x1.000002p+0, false, 7499 + - false, 7500 + - 0x1.000001p+0, false, 7501 + - 0x1.000001p+0, false, 7502 + - 0x1.000001p+0, false, 7503 + - 0x1.0000010000001p+0, false, 7504 + - false, 7505 + - 0x1.000001p+0, false, 7506 + - 0x1.000001p+0, false, 7507 + - 0x1.000001p+0, false, 7508 + - 0x1.0000010000000002p+0, false, 7509 + - false, 7510 + - 0x1.000001p+0, false, 7511 + - 0x1.000001p+0, false, 7512 + - 0x1.000001p+0, false, 7513 + - 0x1.0000010000000002p+0, false, 7514 + - false, 7515 + - 0x1.00000100000000000000031848p+0, false, 7516 + - 0x1.00000100000000000000031848p+0, false, 7517 + - 0x1.00000100000000000000031848p+0, false, 7518 + - 0x1.000001000000000000000318488p+0, false, 7519 + - false, 7520 + - 0x1.0000010000000000000003184818p+0, false, 7521 + - 0x1.0000010000000000000003184819p+0, false, 7522 + - 0x1.0000010000000000000003184818p+0, false, 7523 + - 0x1.0000010000000000000003184819p+0, false), 7524 + + 0x1p+0, false, false, 7525 + + 0x1.000002p+0, false, false, 7526 + + 0x1p+0, false, false, 7527 + + 0x1.000002p+0, false, false, 7528 + + false, 7529 + + 0x1.000001p+0, false, false, 7530 + + 0x1.000001p+0, false, false, 7531 + + 0x1.000001p+0, false, false, 7532 + + 0x1.0000010000001p+0, false, false, 7533 + + false, 7534 + + 0x1.000001p+0, false, false, 7535 + + 0x1.000001p+0, false, false, 7536 + + 0x1.000001p+0, false, false, 7537 + + 0x1.0000010000000002p+0, false, false, 7538 + + false, 7539 + + 0x1.000001p+0, false, false, 7540 + + 0x1.000001p+0, false, false, 7541 + + 0x1.000001p+0, false, false, 7542 + + 0x1.0000010000000002p+0, false, false, 7543 + + false, 7544 + + 0x1.00000100000000000000031848p+0, false, false, 7545 + + 0x1.00000100000000000000031848p+0, false, false, 7546 + + 0x1.00000100000000000000031848p+0, false, false, 7547 + + 0x1.000001000000000000000318488p+0, false, false, 7548 + + false, 7549 + + 0x1.0000010000000000000003184818p+0, false, false, 7550 + + 0x1.0000010000000000000003184819p+0, false, false, 7551 + + 0x1.0000010000000000000003184818p+0, false, false, 7552 + + 0x1.0000010000000000000003184819p+0, false, false), 7553 + TEST ("1.00000011920928955078125", 7554 + true, 7555 + - 0x1.000002p+0, false, 7556 + - 0x1.000002p+0, false, 7557 + - 0x1.000002p+0, false, 7558 + - 0x1.000002p+0, false, 7559 + - true, 7560 + - 0x1.000002p+0, false, 7561 + - 0x1.000002p+0, false, 7562 + - 0x1.000002p+0, false, 7563 + - 0x1.000002p+0, false, 7564 + - true, 7565 + - 0x1.000002p+0, false, 7566 + - 0x1.000002p+0, false, 7567 + - 0x1.000002p+0, false, 7568 + - 0x1.000002p+0, false, 7569 + - true, 7570 + - 0x1.000002p+0, false, 7571 + - 0x1.000002p+0, false, 7572 + - 0x1.000002p+0, false, 7573 + - 0x1.000002p+0, false, 7574 + - true, 7575 + - 0x1.000002p+0, false, 7576 + - 0x1.000002p+0, false, 7577 + - 0x1.000002p+0, false, 7578 + - 0x1.000002p+0, false, 7579 + - true, 7580 + - 0x1.000002p+0, false, 7581 + - 0x1.000002p+0, false, 7582 + - 0x1.000002p+0, false, 7583 + - 0x1.000002p+0, false), 7584 + + 0x1.000002p+0, false, false, 7585 + + 0x1.000002p+0, false, false, 7586 + + 0x1.000002p+0, false, false, 7587 + + 0x1.000002p+0, false, false, 7588 + + true, 7589 + + 0x1.000002p+0, false, false, 7590 + + 0x1.000002p+0, false, false, 7591 + + 0x1.000002p+0, false, false, 7592 + + 0x1.000002p+0, false, false, 7593 + + true, 7594 + + 0x1.000002p+0, false, false, 7595 + + 0x1.000002p+0, false, false, 7596 + + 0x1.000002p+0, false, false, 7597 + + 0x1.000002p+0, false, false, 7598 + + true, 7599 + + 0x1.000002p+0, false, false, 7600 + + 0x1.000002p+0, false, false, 7601 + + 0x1.000002p+0, false, false, 7602 + + 0x1.000002p+0, false, false, 7603 + + true, 7604 + + 0x1.000002p+0, false, false, 7605 + + 0x1.000002p+0, false, false, 7606 + + 0x1.000002p+0, false, false, 7607 + + 0x1.000002p+0, false, false, 7608 + + true, 7609 + + 0x1.000002p+0, false, false, 7610 + + 0x1.000002p+0, false, false, 7611 + + 0x1.000002p+0, false, false, 7612 + + 0x1.000002p+0, false, false), 7613 + TEST ("1.00000017881393432617187499", 7614 + false, 7615 + - 0x1.000002p+0, false, 7616 + - 0x1.000002p+0, false, 7617 + - 0x1.000002p+0, false, 7618 + - 0x1.000004p+0, false, 7619 + - false, 7620 + - 0x1.000002fffffffp+0, false, 7621 + - 0x1.000003p+0, false, 7622 + - 0x1.000002fffffffp+0, false, 7623 + - 0x1.000003p+0, false, 7624 + - false, 7625 + - 0x1.000002fffffffffep+0, false, 7626 + - 0x1.000003p+0, false, 7627 + - 0x1.000002fffffffffep+0, false, 7628 + - 0x1.000003p+0, false, 7629 + - false, 7630 + - 0x1.000002fffffffffep+0, false, 7631 + - 0x1.000003p+0, false, 7632 + - 0x1.000002fffffffffep+0, false, 7633 + - 0x1.000003p+0, false, 7634 + - false, 7635 + - 0x1.000002fffffffffffffffce7b78p+0, false, 7636 + - 0x1.000002fffffffffffffffce7b8p+0, false, 7637 + - 0x1.000002fffffffffffffffce7b78p+0, false, 7638 + - 0x1.000002fffffffffffffffce7b8p+0, false, 7639 + - false, 7640 + - 0x1.000002fffffffffffffffce7b7e7p+0, false, 7641 + - 0x1.000002fffffffffffffffce7b7e7p+0, false, 7642 + - 0x1.000002fffffffffffffffce7b7e7p+0, false, 7643 + - 0x1.000002fffffffffffffffce7b7e8p+0, false), 7644 + + 0x1.000002p+0, false, false, 7645 + + 0x1.000002p+0, false, false, 7646 + + 0x1.000002p+0, false, false, 7647 + + 0x1.000004p+0, false, false, 7648 + + false, 7649 + + 0x1.000002fffffffp+0, false, false, 7650 + + 0x1.000003p+0, false, false, 7651 + + 0x1.000002fffffffp+0, false, false, 7652 + + 0x1.000003p+0, false, false, 7653 + + false, 7654 + + 0x1.000002fffffffffep+0, false, false, 7655 + + 0x1.000003p+0, false, false, 7656 + + 0x1.000002fffffffffep+0, false, false, 7657 + + 0x1.000003p+0, false, false, 7658 + + false, 7659 + + 0x1.000002fffffffffep+0, false, false, 7660 + + 0x1.000003p+0, false, false, 7661 + + 0x1.000002fffffffffep+0, false, false, 7662 + + 0x1.000003p+0, false, false, 7663 + + false, 7664 + + 0x1.000002fffffffffffffffce7b78p+0, false, false, 7665 + + 0x1.000002fffffffffffffffce7b8p+0, false, false, 7666 + + 0x1.000002fffffffffffffffce7b78p+0, false, false, 7667 + + 0x1.000002fffffffffffffffce7b8p+0, false, false, 7668 + + false, 7669 + + 0x1.000002fffffffffffffffce7b7e7p+0, false, false, 7670 + + 0x1.000002fffffffffffffffce7b7e7p+0, false, false, 7671 + + 0x1.000002fffffffffffffffce7b7e7p+0, false, false, 7672 + + 0x1.000002fffffffffffffffce7b7e8p+0, false, false), 7673 + TEST ("1.000000178813934326171875", 7674 + false, 7675 + - 0x1.000002p+0, false, 7676 + - 0x1.000004p+0, false, 7677 + - 0x1.000002p+0, false, 7678 + - 0x1.000004p+0, false, 7679 + - true, 7680 + - 0x1.000003p+0, false, 7681 + - 0x1.000003p+0, false, 7682 + - 0x1.000003p+0, false, 7683 + - 0x1.000003p+0, false, 7684 + - true, 7685 + - 0x1.000003p+0, false, 7686 + - 0x1.000003p+0, false, 7687 + - 0x1.000003p+0, false, 7688 + - 0x1.000003p+0, false, 7689 + - true, 7690 + - 0x1.000003p+0, false, 7691 + - 0x1.000003p+0, false, 7692 + - 0x1.000003p+0, false, 7693 + - 0x1.000003p+0, false, 7694 + - true, 7695 + - 0x1.000003p+0, false, 7696 + - 0x1.000003p+0, false, 7697 + - 0x1.000003p+0, false, 7698 + - 0x1.000003p+0, false, 7699 + - true, 7700 + - 0x1.000003p+0, false, 7701 + - 0x1.000003p+0, false, 7702 + - 0x1.000003p+0, false, 7703 + - 0x1.000003p+0, false), 7704 + + 0x1.000002p+0, false, false, 7705 + + 0x1.000004p+0, false, false, 7706 + + 0x1.000002p+0, false, false, 7707 + + 0x1.000004p+0, false, false, 7708 + + true, 7709 + + 0x1.000003p+0, false, false, 7710 + + 0x1.000003p+0, false, false, 7711 + + 0x1.000003p+0, false, false, 7712 + + 0x1.000003p+0, false, false, 7713 + + true, 7714 + + 0x1.000003p+0, false, false, 7715 + + 0x1.000003p+0, false, false, 7716 + + 0x1.000003p+0, false, false, 7717 + + 0x1.000003p+0, false, false, 7718 + + true, 7719 + + 0x1.000003p+0, false, false, 7720 + + 0x1.000003p+0, false, false, 7721 + + 0x1.000003p+0, false, false, 7722 + + 0x1.000003p+0, false, false, 7723 + + true, 7724 + + 0x1.000003p+0, false, false, 7725 + + 0x1.000003p+0, false, false, 7726 + + 0x1.000003p+0, false, false, 7727 + + 0x1.000003p+0, false, false, 7728 + + true, 7729 + + 0x1.000003p+0, false, false, 7730 + + 0x1.000003p+0, false, false, 7731 + + 0x1.000003p+0, false, false, 7732 + + 0x1.000003p+0, false, false), 7733 + TEST ("1.00000017881393432617187501", 7734 + false, 7735 + - 0x1.000002p+0, false, 7736 + - 0x1.000004p+0, false, 7737 + - 0x1.000002p+0, false, 7738 + - 0x1.000004p+0, false, 7739 + - false, 7740 + - 0x1.000003p+0, false, 7741 + - 0x1.000003p+0, false, 7742 + - 0x1.000003p+0, false, 7743 + - 0x1.0000030000001p+0, false, 7744 + - false, 7745 + - 0x1.000003p+0, false, 7746 + - 0x1.000003p+0, false, 7747 + - 0x1.000003p+0, false, 7748 + - 0x1.0000030000000002p+0, false, 7749 + - false, 7750 + - 0x1.000003p+0, false, 7751 + - 0x1.000003p+0, false, 7752 + - 0x1.000003p+0, false, 7753 + - 0x1.0000030000000002p+0, false, 7754 + - false, 7755 + - 0x1.00000300000000000000031848p+0, false, 7756 + - 0x1.00000300000000000000031848p+0, false, 7757 + - 0x1.00000300000000000000031848p+0, false, 7758 + - 0x1.000003000000000000000318488p+0, false, 7759 + - false, 7760 + - 0x1.0000030000000000000003184818p+0, false, 7761 + - 0x1.0000030000000000000003184819p+0, false, 7762 + - 0x1.0000030000000000000003184818p+0, false, 7763 + - 0x1.0000030000000000000003184819p+0, false), 7764 + + 0x1.000002p+0, false, false, 7765 + + 0x1.000004p+0, false, false, 7766 + + 0x1.000002p+0, false, false, 7767 + + 0x1.000004p+0, false, false, 7768 + + false, 7769 + + 0x1.000003p+0, false, false, 7770 + + 0x1.000003p+0, false, false, 7771 + + 0x1.000003p+0, false, false, 7772 + + 0x1.0000030000001p+0, false, false, 7773 + + false, 7774 + + 0x1.000003p+0, false, false, 7775 + + 0x1.000003p+0, false, false, 7776 + + 0x1.000003p+0, false, false, 7777 + + 0x1.0000030000000002p+0, false, false, 7778 + + false, 7779 + + 0x1.000003p+0, false, false, 7780 + + 0x1.000003p+0, false, false, 7781 + + 0x1.000003p+0, false, false, 7782 + + 0x1.0000030000000002p+0, false, false, 7783 + + false, 7784 + + 0x1.00000300000000000000031848p+0, false, false, 7785 + + 0x1.00000300000000000000031848p+0, false, false, 7786 + + 0x1.00000300000000000000031848p+0, false, false, 7787 + + 0x1.000003000000000000000318488p+0, false, false, 7788 + + false, 7789 + + 0x1.0000030000000000000003184818p+0, false, false, 7790 + + 0x1.0000030000000000000003184819p+0, false, false, 7791 + + 0x1.0000030000000000000003184818p+0, false, false, 7792 + + 0x1.0000030000000000000003184819p+0, false, false), 7793 + TEST ("1.0000002384185791015625", 7794 + true, 7795 + - 0x1.000004p+0, false, 7796 + - 0x1.000004p+0, false, 7797 + - 0x1.000004p+0, false, 7798 + - 0x1.000004p+0, false, 7799 + - true, 7800 + - 0x1.000004p+0, false, 7801 + - 0x1.000004p+0, false, 7802 + - 0x1.000004p+0, false, 7803 + - 0x1.000004p+0, false, 7804 + - true, 7805 + - 0x1.000004p+0, false, 7806 + - 0x1.000004p+0, false, 7807 + - 0x1.000004p+0, false, 7808 + - 0x1.000004p+0, false, 7809 + - true, 7810 + - 0x1.000004p+0, false, 7811 + - 0x1.000004p+0, false, 7812 + - 0x1.000004p+0, false, 7813 + - 0x1.000004p+0, false, 7814 + - true, 7815 + - 0x1.000004p+0, false, 7816 + - 0x1.000004p+0, false, 7817 + - 0x1.000004p+0, false, 7818 + - 0x1.000004p+0, false, 7819 + - true, 7820 + - 0x1.000004p+0, false, 7821 + - 0x1.000004p+0, false, 7822 + - 0x1.000004p+0, false, 7823 + - 0x1.000004p+0, false), 7824 + + 0x1.000004p+0, false, false, 7825 + + 0x1.000004p+0, false, false, 7826 + + 0x1.000004p+0, false, false, 7827 + + 0x1.000004p+0, false, false, 7828 + + true, 7829 + + 0x1.000004p+0, false, false, 7830 + + 0x1.000004p+0, false, false, 7831 + + 0x1.000004p+0, false, false, 7832 + + 0x1.000004p+0, false, false, 7833 + + true, 7834 + + 0x1.000004p+0, false, false, 7835 + + 0x1.000004p+0, false, false, 7836 + + 0x1.000004p+0, false, false, 7837 + + 0x1.000004p+0, false, false, 7838 + + true, 7839 + + 0x1.000004p+0, false, false, 7840 + + 0x1.000004p+0, false, false, 7841 + + 0x1.000004p+0, false, false, 7842 + + 0x1.000004p+0, false, false, 7843 + + true, 7844 + + 0x1.000004p+0, false, false, 7845 + + 0x1.000004p+0, false, false, 7846 + + 0x1.000004p+0, false, false, 7847 + + 0x1.000004p+0, false, false, 7848 + + true, 7849 + + 0x1.000004p+0, false, false, 7850 + + 0x1.000004p+0, false, false, 7851 + + 0x1.000004p+0, false, false, 7852 + + 0x1.000004p+0, false, false), 7853 + TEST ("1.08420217248550443400745280086994171142578125e-19", 7854 + true, 7855 + - 0x2p-64, false, 7856 + - 0x2p-64, false, 7857 + - 0x2p-64, false, 7858 + - 0x2p-64, false, 7859 + - true, 7860 + - 0x2p-64, false, 7861 + - 0x2p-64, false, 7862 + - 0x2p-64, false, 7863 + - 0x2p-64, false, 7864 + - true, 7865 + - 0x2p-64, false, 7866 + - 0x2p-64, false, 7867 + - 0x2p-64, false, 7868 + - 0x2p-64, false, 7869 + - true, 7870 + - 0x2p-64, false, 7871 + - 0x2p-64, false, 7872 + - 0x2p-64, false, 7873 + - 0x2p-64, false, 7874 + - true, 7875 + - 0x2p-64, false, 7876 + - 0x2p-64, false, 7877 + - 0x2p-64, false, 7878 + - 0x2p-64, false, 7879 + - true, 7880 + - 0x2p-64, false, 7881 + - 0x2p-64, false, 7882 + - 0x2p-64, false, 7883 + - 0x2p-64, false), 7884 + + 0x2p-64, false, false, 7885 + + 0x2p-64, false, false, 7886 + + 0x2p-64, false, false, 7887 + + 0x2p-64, false, false, 7888 + + true, 7889 + + 0x2p-64, false, false, 7890 + + 0x2p-64, false, false, 7891 + + 0x2p-64, false, false, 7892 + + 0x2p-64, false, false, 7893 + + true, 7894 + + 0x2p-64, false, false, 7895 + + 0x2p-64, false, false, 7896 + + 0x2p-64, false, false, 7897 + + 0x2p-64, false, false, 7898 + + true, 7899 + + 0x2p-64, false, false, 7900 + + 0x2p-64, false, false, 7901 + + 0x2p-64, false, false, 7902 + + 0x2p-64, false, false, 7903 + + true, 7904 + + 0x2p-64, false, false, 7905 + + 0x2p-64, false, false, 7906 + + 0x2p-64, false, false, 7907 + + 0x2p-64, false, false, 7908 + + true, 7909 + + 0x2p-64, false, false, 7910 + + 0x2p-64, false, false, 7911 + + 0x2p-64, false, false, 7912 + + 0x2p-64, false, false), 7913 + TEST ("1.0842022371089897897127399001987457793916291848290711641311" 7914 + "645507812499e-19", 7915 + false, 7916 + - 0x2p-64, false, 7917 + - 0x2p-64, false, 7918 + - 0x2p-64, false, 7919 + - 0x2.000004p-64, false, 7920 + - false, 7921 + - 0x2.000001ffffffep-64, false, 7922 + - 0x2.000002p-64, false, 7923 + - 0x2.000001ffffffep-64, false, 7924 + - 0x2.000002p-64, false, 7925 + - false, 7926 + - 0x2.000001fffffffffcp-64, false, 7927 + - 0x2.000002p-64, false, 7928 + - 0x2.000001fffffffffcp-64, false, 7929 + - 0x2.000002p-64, false, 7930 + - false, 7931 + - 0x2.000001fffffffffcp-64, false, 7932 + - 0x2.000002p-64, false, 7933 + - 0x2.000001fffffffffcp-64, false, 7934 + - 0x2.000002p-64, false, 7935 + - false, 7936 + - 0x2.000001ffffffffffffffffffffp-64, false, 7937 + - 0x2.000002p-64, false, 7938 + - 0x2.000001ffffffffffffffffffffp-64, false, 7939 + - 0x2.000002p-64, false, 7940 + - false, 7941 + - 0x2.000001fffffffffffffffffffffep-64, false, 7942 + - 0x2.000002p-64, false, 7943 + - 0x2.000001fffffffffffffffffffffep-64, false, 7944 + - 0x2.000002p-64, false), 7945 + + 0x2p-64, false, false, 7946 + + 0x2p-64, false, false, 7947 + + 0x2p-64, false, false, 7948 + + 0x2.000004p-64, false, false, 7949 + + false, 7950 + + 0x2.000001ffffffep-64, false, false, 7951 + + 0x2.000002p-64, false, false, 7952 + + 0x2.000001ffffffep-64, false, false, 7953 + + 0x2.000002p-64, false, false, 7954 + + false, 7955 + + 0x2.000001fffffffffcp-64, false, false, 7956 + + 0x2.000002p-64, false, false, 7957 + + 0x2.000001fffffffffcp-64, false, false, 7958 + + 0x2.000002p-64, false, false, 7959 + + false, 7960 + + 0x2.000001fffffffffcp-64, false, false, 7961 + + 0x2.000002p-64, false, false, 7962 + + 0x2.000001fffffffffcp-64, false, false, 7963 + + 0x2.000002p-64, false, false, 7964 + + false, 7965 + + 0x2.000001ffffffffffffffffffffp-64, false, false, 7966 + + 0x2.000002p-64, false, false, 7967 + + 0x2.000001ffffffffffffffffffffp-64, false, false, 7968 + + 0x2.000002p-64, false, false, 7969 + + false, 7970 + + 0x2.000001fffffffffffffffffffffep-64, false, false, 7971 + + 0x2.000002p-64, false, false, 7972 + + 0x2.000001fffffffffffffffffffffep-64, false, false, 7973 + + 0x2.000002p-64, false, false), 7974 + TEST ("1.0842022371089897897127399001987457793916291848290711641311" 7975 + "6455078125e-19", 7976 + false, 7977 + - 0x2p-64, false, 7978 + - 0x2p-64, false, 7979 + - 0x2p-64, false, 7980 + - 0x2.000004p-64, false, 7981 + - true, 7982 + - 0x2.000002p-64, false, 7983 + - 0x2.000002p-64, false, 7984 + - 0x2.000002p-64, false, 7985 + - 0x2.000002p-64, false, 7986 + - true, 7987 + - 0x2.000002p-64, false, 7988 + - 0x2.000002p-64, false, 7989 + - 0x2.000002p-64, false, 7990 + - 0x2.000002p-64, false, 7991 + - true, 7992 + - 0x2.000002p-64, false, 7993 + - 0x2.000002p-64, false, 7994 + - 0x2.000002p-64, false, 7995 + - 0x2.000002p-64, false, 7996 + - true, 7997 + - 0x2.000002p-64, false, 7998 + - 0x2.000002p-64, false, 7999 + - 0x2.000002p-64, false, 8000 + - 0x2.000002p-64, false, 8001 + - true, 8002 + - 0x2.000002p-64, false, 8003 + - 0x2.000002p-64, false, 8004 + - 0x2.000002p-64, false, 8005 + - 0x2.000002p-64, false), 8006 + + 0x2p-64, false, false, 8007 + + 0x2p-64, false, false, 8008 + + 0x2p-64, false, false, 8009 + + 0x2.000004p-64, false, false, 8010 + + true, 8011 + + 0x2.000002p-64, false, false, 8012 + + 0x2.000002p-64, false, false, 8013 + + 0x2.000002p-64, false, false, 8014 + + 0x2.000002p-64, false, false, 8015 + + true, 8016 + + 0x2.000002p-64, false, false, 8017 + + 0x2.000002p-64, false, false, 8018 + + 0x2.000002p-64, false, false, 8019 + + 0x2.000002p-64, false, false, 8020 + + true, 8021 + + 0x2.000002p-64, false, false, 8022 + + 0x2.000002p-64, false, false, 8023 + + 0x2.000002p-64, false, false, 8024 + + 0x2.000002p-64, false, false, 8025 + + true, 8026 + + 0x2.000002p-64, false, false, 8027 + + 0x2.000002p-64, false, false, 8028 + + 0x2.000002p-64, false, false, 8029 + + 0x2.000002p-64, false, false, 8030 + + true, 8031 + + 0x2.000002p-64, false, false, 8032 + + 0x2.000002p-64, false, false, 8033 + + 0x2.000002p-64, false, false, 8034 + + 0x2.000002p-64, false, false), 8035 + TEST ("1.0842022371089897897127399001987457793916291848290711641311" 8036 + "645507812501e-19", 8037 + false, 8038 + - 0x2p-64, false, 8039 + - 0x2.000004p-64, false, 8040 + - 0x2p-64, false, 8041 + - 0x2.000004p-64, false, 8042 + - false, 8043 + - 0x2.000002p-64, false, 8044 + - 0x2.000002p-64, false, 8045 + - 0x2.000002p-64, false, 8046 + - 0x2.0000020000002p-64, false, 8047 + - false, 8048 + - 0x2.000002p-64, false, 8049 + - 0x2.000002p-64, false, 8050 + - 0x2.000002p-64, false, 8051 + - 0x2.0000020000000004p-64, false, 8052 + - false, 8053 + - 0x2.000002p-64, false, 8054 + - 0x2.000002p-64, false, 8055 + - 0x2.000002p-64, false, 8056 + - 0x2.0000020000000004p-64, false, 8057 + - false, 8058 + - 0x2.000002p-64, false, 8059 + - 0x2.000002p-64, false, 8060 + - 0x2.000002p-64, false, 8061 + - 0x2.00000200000000000000000001p-64, false, 8062 + - false, 8063 + - 0x2.000002p-64, false, 8064 + - 0x2.000002p-64, false, 8065 + - 0x2.000002p-64, false, 8066 + - 0x2.0000020000000000000000000002p-64, false), 8067 + + 0x2p-64, false, false, 8068 + + 0x2.000004p-64, false, false, 8069 + + 0x2p-64, false, false, 8070 + + 0x2.000004p-64, false, false, 8071 + + false, 8072 + + 0x2.000002p-64, false, false, 8073 + + 0x2.000002p-64, false, false, 8074 + + 0x2.000002p-64, false, false, 8075 + + 0x2.0000020000002p-64, false, false, 8076 + + false, 8077 + + 0x2.000002p-64, false, false, 8078 + + 0x2.000002p-64, false, false, 8079 + + 0x2.000002p-64, false, false, 8080 + + 0x2.0000020000000004p-64, false, false, 8081 + + false, 8082 + + 0x2.000002p-64, false, false, 8083 + + 0x2.000002p-64, false, false, 8084 + + 0x2.000002p-64, false, false, 8085 + + 0x2.0000020000000004p-64, false, false, 8086 + + false, 8087 + + 0x2.000002p-64, false, false, 8088 + + 0x2.000002p-64, false, false, 8089 + + 0x2.000002p-64, false, false, 8090 + + 0x2.00000200000000000000000001p-64, false, false, 8091 + + false, 8092 + + 0x2.000002p-64, false, false, 8093 + + 0x2.000002p-64, false, false, 8094 + + 0x2.000002p-64, false, false, 8095 + + 0x2.0000020000000000000000000002p-64, false, false), 8096 + TEST ("1.0842023017324751454180269995275498473574771196581423282623" 8097 + "291015625e-19", 8098 + true, 8099 + - 0x2.000004p-64, false, 8100 + - 0x2.000004p-64, false, 8101 + - 0x2.000004p-64, false, 8102 + - 0x2.000004p-64, false, 8103 + - true, 8104 + - 0x2.000004p-64, false, 8105 + - 0x2.000004p-64, false, 8106 + - 0x2.000004p-64, false, 8107 + - 0x2.000004p-64, false, 8108 + - true, 8109 + - 0x2.000004p-64, false, 8110 + - 0x2.000004p-64, false, 8111 + - 0x2.000004p-64, false, 8112 + - 0x2.000004p-64, false, 8113 + - true, 8114 + - 0x2.000004p-64, false, 8115 + - 0x2.000004p-64, false, 8116 + - 0x2.000004p-64, false, 8117 + - 0x2.000004p-64, false, 8118 + - true, 8119 + - 0x2.000004p-64, false, 8120 + - 0x2.000004p-64, false, 8121 + - 0x2.000004p-64, false, 8122 + - 0x2.000004p-64, false, 8123 + - true, 8124 + - 0x2.000004p-64, false, 8125 + - 0x2.000004p-64, false, 8126 + - 0x2.000004p-64, false, 8127 + - 0x2.000004p-64, false), 8128 + + 0x2.000004p-64, false, false, 8129 + + 0x2.000004p-64, false, false, 8130 + + 0x2.000004p-64, false, false, 8131 + + 0x2.000004p-64, false, false, 8132 + + true, 8133 + + 0x2.000004p-64, false, false, 8134 + + 0x2.000004p-64, false, false, 8135 + + 0x2.000004p-64, false, false, 8136 + + 0x2.000004p-64, false, false, 8137 + + true, 8138 + + 0x2.000004p-64, false, false, 8139 + + 0x2.000004p-64, false, false, 8140 + + 0x2.000004p-64, false, false, 8141 + + 0x2.000004p-64, false, false, 8142 + + true, 8143 + + 0x2.000004p-64, false, false, 8144 + + 0x2.000004p-64, false, false, 8145 + + 0x2.000004p-64, false, false, 8146 + + 0x2.000004p-64, false, false, 8147 + + true, 8148 + + 0x2.000004p-64, false, false, 8149 + + 0x2.000004p-64, false, false, 8150 + + 0x2.000004p-64, false, false, 8151 + + 0x2.000004p-64, false, false, 8152 + + true, 8153 + + 0x2.000004p-64, false, false, 8154 + + 0x2.000004p-64, false, false, 8155 + + 0x2.000004p-64, false, false, 8156 + + 0x2.000004p-64, false, false), 8157 + TEST ("1.0842023663559605011233140988563539153233250544872134923934" 8158 + "936523437499e-19", 8159 + false, 8160 + - 0x2.000004p-64, false, 8161 + - 0x2.000004p-64, false, 8162 + - 0x2.000004p-64, false, 8163 + - 0x2.000008p-64, false, 8164 + - false, 8165 + - 0x2.000005ffffffep-64, false, 8166 + - 0x2.000006p-64, false, 8167 + - 0x2.000005ffffffep-64, false, 8168 + - 0x2.000006p-64, false, 8169 + - false, 8170 + - 0x2.000005fffffffffcp-64, false, 8171 + - 0x2.000006p-64, false, 8172 + - 0x2.000005fffffffffcp-64, false, 8173 + - 0x2.000006p-64, false, 8174 + - false, 8175 + - 0x2.000005fffffffffcp-64, false, 8176 + - 0x2.000006p-64, false, 8177 + - 0x2.000005fffffffffcp-64, false, 8178 + - 0x2.000006p-64, false, 8179 + - false, 8180 + - 0x2.000005ffffffffffffffffffffp-64, false, 8181 + - 0x2.000006p-64, false, 8182 + - 0x2.000005ffffffffffffffffffffp-64, false, 8183 + - 0x2.000006p-64, false, 8184 + - false, 8185 + - 0x2.000005fffffffffffffffffffffep-64, false, 8186 + - 0x2.000006p-64, false, 8187 + - 0x2.000005fffffffffffffffffffffep-64, false, 8188 + - 0x2.000006p-64, false), 8189 + + 0x2.000004p-64, false, false, 8190 + + 0x2.000004p-64, false, false, 8191 + + 0x2.000004p-64, false, false, 8192 + + 0x2.000008p-64, false, false, 8193 + + false, 8194 + + 0x2.000005ffffffep-64, false, false, 8195 + + 0x2.000006p-64, false, false, 8196 + + 0x2.000005ffffffep-64, false, false, 8197 + + 0x2.000006p-64, false, false, 8198 + + false, 8199 + + 0x2.000005fffffffffcp-64, false, false, 8200 + + 0x2.000006p-64, false, false, 8201 + + 0x2.000005fffffffffcp-64, false, false, 8202 + + 0x2.000006p-64, false, false, 8203 + + false, 8204 + + 0x2.000005fffffffffcp-64, false, false, 8205 + + 0x2.000006p-64, false, false, 8206 + + 0x2.000005fffffffffcp-64, false, false, 8207 + + 0x2.000006p-64, false, false, 8208 + + false, 8209 + + 0x2.000005ffffffffffffffffffffp-64, false, false, 8210 + + 0x2.000006p-64, false, false, 8211 + + 0x2.000005ffffffffffffffffffffp-64, false, false, 8212 + + 0x2.000006p-64, false, false, 8213 + + false, 8214 + + 0x2.000005fffffffffffffffffffffep-64, false, false, 8215 + + 0x2.000006p-64, false, false, 8216 + + 0x2.000005fffffffffffffffffffffep-64, false, false, 8217 + + 0x2.000006p-64, false, false), 8218 + TEST ("1.0842023663559605011233140988563539153233250544872134923934" 8219 + "9365234375e-19", 8220 + false, 8221 + - 0x2.000004p-64, false, 8222 + - 0x2.000008p-64, false, 8223 + - 0x2.000004p-64, false, 8224 + - 0x2.000008p-64, false, 8225 + - true, 8226 + - 0x2.000006p-64, false, 8227 + - 0x2.000006p-64, false, 8228 + - 0x2.000006p-64, false, 8229 + - 0x2.000006p-64, false, 8230 + - true, 8231 + - 0x2.000006p-64, false, 8232 + - 0x2.000006p-64, false, 8233 + - 0x2.000006p-64, false, 8234 + - 0x2.000006p-64, false, 8235 + - true, 8236 + - 0x2.000006p-64, false, 8237 + - 0x2.000006p-64, false, 8238 + - 0x2.000006p-64, false, 8239 + - 0x2.000006p-64, false, 8240 + - true, 8241 + - 0x2.000006p-64, false, 8242 + - 0x2.000006p-64, false, 8243 + - 0x2.000006p-64, false, 8244 + - 0x2.000006p-64, false, 8245 + - true, 8246 + - 0x2.000006p-64, false, 8247 + - 0x2.000006p-64, false, 8248 + - 0x2.000006p-64, false, 8249 + - 0x2.000006p-64, false), 8250 + + 0x2.000004p-64, false, false, 8251 + + 0x2.000008p-64, false, false, 8252 + + 0x2.000004p-64, false, false, 8253 + + 0x2.000008p-64, false, false, 8254 + + true, 8255 + + 0x2.000006p-64, false, false, 8256 + + 0x2.000006p-64, false, false, 8257 + + 0x2.000006p-64, false, false, 8258 + + 0x2.000006p-64, false, false, 8259 + + true, 8260 + + 0x2.000006p-64, false, false, 8261 + + 0x2.000006p-64, false, false, 8262 + + 0x2.000006p-64, false, false, 8263 + + 0x2.000006p-64, false, false, 8264 + + true, 8265 + + 0x2.000006p-64, false, false, 8266 + + 0x2.000006p-64, false, false, 8267 + + 0x2.000006p-64, false, false, 8268 + + 0x2.000006p-64, false, false, 8269 + + true, 8270 + + 0x2.000006p-64, false, false, 8271 + + 0x2.000006p-64, false, false, 8272 + + 0x2.000006p-64, false, false, 8273 + + 0x2.000006p-64, false, false, 8274 + + true, 8275 + + 0x2.000006p-64, false, false, 8276 + + 0x2.000006p-64, false, false, 8277 + + 0x2.000006p-64, false, false, 8278 + + 0x2.000006p-64, false, false), 8279 + TEST ("1.0842023663559605011233140988563539153233250544872134923934" 8280 + "936523437501e-19", 8281 + false, 8282 + - 0x2.000004p-64, false, 8283 + - 0x2.000008p-64, false, 8284 + - 0x2.000004p-64, false, 8285 + - 0x2.000008p-64, false, 8286 + - false, 8287 + - 0x2.000006p-64, false, 8288 + - 0x2.000006p-64, false, 8289 + - 0x2.000006p-64, false, 8290 + - 0x2.0000060000002p-64, false, 8291 + - false, 8292 + - 0x2.000006p-64, false, 8293 + - 0x2.000006p-64, false, 8294 + - 0x2.000006p-64, false, 8295 + - 0x2.0000060000000004p-64, false, 8296 + - false, 8297 + - 0x2.000006p-64, false, 8298 + - 0x2.000006p-64, false, 8299 + - 0x2.000006p-64, false, 8300 + - 0x2.0000060000000004p-64, false, 8301 + - false, 8302 + - 0x2.000006p-64, false, 8303 + - 0x2.000006p-64, false, 8304 + - 0x2.000006p-64, false, 8305 + - 0x2.00000600000000000000000001p-64, false, 8306 + - false, 8307 + - 0x2.000006p-64, false, 8308 + - 0x2.000006p-64, false, 8309 + - 0x2.000006p-64, false, 8310 + - 0x2.0000060000000000000000000002p-64, false), 8311 + + 0x2.000004p-64, false, false, 8312 + + 0x2.000008p-64, false, false, 8313 + + 0x2.000004p-64, false, false, 8314 + + 0x2.000008p-64, false, false, 8315 + + false, 8316 + + 0x2.000006p-64, false, false, 8317 + + 0x2.000006p-64, false, false, 8318 + + 0x2.000006p-64, false, false, 8319 + + 0x2.0000060000002p-64, false, false, 8320 + + false, 8321 + + 0x2.000006p-64, false, false, 8322 + + 0x2.000006p-64, false, false, 8323 + + 0x2.000006p-64, false, false, 8324 + + 0x2.0000060000000004p-64, false, false, 8325 + + false, 8326 + + 0x2.000006p-64, false, false, 8327 + + 0x2.000006p-64, false, false, 8328 + + 0x2.000006p-64, false, false, 8329 + + 0x2.0000060000000004p-64, false, false, 8330 + + false, 8331 + + 0x2.000006p-64, false, false, 8332 + + 0x2.000006p-64, false, false, 8333 + + 0x2.000006p-64, false, false, 8334 + + 0x2.00000600000000000000000001p-64, false, false, 8335 + + false, 8336 + + 0x2.000006p-64, false, false, 8337 + + 0x2.000006p-64, false, false, 8338 + + 0x2.000006p-64, false, false, 8339 + + 0x2.0000060000000000000000000002p-64, false, false), 8340 + TEST ("1.0842024309794458568286011981851579832891729893162846565246" 8341 + "58203125e-19", 8342 + true, 8343 + - 0x2.000008p-64, false, 8344 + - 0x2.000008p-64, false, 8345 + - 0x2.000008p-64, false, 8346 + - 0x2.000008p-64, false, 8347 + - true, 8348 + - 0x2.000008p-64, false, 8349 + - 0x2.000008p-64, false, 8350 + - 0x2.000008p-64, false, 8351 + - 0x2.000008p-64, false, 8352 + - true, 8353 + - 0x2.000008p-64, false, 8354 + - 0x2.000008p-64, false, 8355 + - 0x2.000008p-64, false, 8356 + - 0x2.000008p-64, false, 8357 + - true, 8358 + - 0x2.000008p-64, false, 8359 + - 0x2.000008p-64, false, 8360 + - 0x2.000008p-64, false, 8361 + - 0x2.000008p-64, false, 8362 + - true, 8363 + - 0x2.000008p-64, false, 8364 + - 0x2.000008p-64, false, 8365 + - 0x2.000008p-64, false, 8366 + - 0x2.000008p-64, false, 8367 + - true, 8368 + - 0x2.000008p-64, false, 8369 + - 0x2.000008p-64, false, 8370 + - 0x2.000008p-64, false, 8371 + - 0x2.000008p-64, false), 8372 + + 0x2.000008p-64, false, false, 8373 + + 0x2.000008p-64, false, false, 8374 + + 0x2.000008p-64, false, false, 8375 + + 0x2.000008p-64, false, false, 8376 + + true, 8377 + + 0x2.000008p-64, false, false, 8378 + + 0x2.000008p-64, false, false, 8379 + + 0x2.000008p-64, false, false, 8380 + + 0x2.000008p-64, false, false, 8381 + + true, 8382 + + 0x2.000008p-64, false, false, 8383 + + 0x2.000008p-64, false, false, 8384 + + 0x2.000008p-64, false, false, 8385 + + 0x2.000008p-64, false, false, 8386 + + true, 8387 + + 0x2.000008p-64, false, false, 8388 + + 0x2.000008p-64, false, false, 8389 + + 0x2.000008p-64, false, false, 8390 + + 0x2.000008p-64, false, false, 8391 + + true, 8392 + + 0x2.000008p-64, false, false, 8393 + + 0x2.000008p-64, false, false, 8394 + + 0x2.000008p-64, false, false, 8395 + + 0x2.000008p-64, false, false, 8396 + + true, 8397 + + 0x2.000008p-64, false, false, 8398 + + 0x2.000008p-64, false, false, 8399 + + 0x2.000008p-64, false, false, 8400 + + 0x2.000008p-64, false, false), 8401 + TEST ("7.5231638452626400509999138382223723380394595633413601376560" 8402 + "1092018187046051025390625e-37", 8403 + true, 8404 + - 0x1p-120, false, 8405 + - 0x1p-120, false, 8406 + - 0x1p-120, false, 8407 + - 0x1p-120, false, 8408 + - true, 8409 + - 0x1p-120, false, 8410 + - 0x1p-120, false, 8411 + - 0x1p-120, false, 8412 + - 0x1p-120, false, 8413 + - true, 8414 + - 0x1p-120, false, 8415 + - 0x1p-120, false, 8416 + - 0x1p-120, false, 8417 + - 0x1p-120, false, 8418 + - true, 8419 + - 0x1p-120, false, 8420 + - 0x1p-120, false, 8421 + - 0x1p-120, false, 8422 + - 0x1p-120, false, 8423 + - true, 8424 + - 0x1p-120, false, 8425 + - 0x1p-120, false, 8426 + - 0x1p-120, false, 8427 + - 0x1p-120, false, 8428 + - true, 8429 + - 0x1p-120, false, 8430 + - 0x1p-120, false, 8431 + - 0x1p-120, false, 8432 + - 0x1p-120, false), 8433 + + 0x1p-120, false, false, 8434 + + 0x1p-120, false, false, 8435 + + 0x1p-120, false, false, 8436 + + 0x1p-120, false, false, 8437 + + true, 8438 + + 0x1p-120, false, false, 8439 + + 0x1p-120, false, false, 8440 + + 0x1p-120, false, false, 8441 + + 0x1p-120, false, false, 8442 + + true, 8443 + + 0x1p-120, false, false, 8444 + + 0x1p-120, false, false, 8445 + + 0x1p-120, false, false, 8446 + + 0x1p-120, false, false, 8447 + + true, 8448 + + 0x1p-120, false, false, 8449 + + 0x1p-120, false, false, 8450 + + 0x1p-120, false, false, 8451 + + 0x1p-120, false, false, 8452 + + true, 8453 + + 0x1p-120, false, false, 8454 + + 0x1p-120, false, false, 8455 + + 0x1p-120, false, false, 8456 + + 0x1p-120, false, false, 8457 + + true, 8458 + + 0x1p-120, false, false, 8459 + + 0x1p-120, false, false, 8460 + + 0x1p-120, false, false, 8461 + + 0x1p-120, false, false), 8462 + TEST ("7.5231642936781486349413765338158389908126215730251815381410" 8463 + "578824437213052434003657253924757242202758789062499e-37", 8464 + false, 8465 + - 0x1p-120, false, 8466 + - 0x1p-120, false, 8467 + - 0x1p-120, false, 8468 + - 0x1.000002p-120, false, 8469 + - false, 8470 + - 0x1.000000fffffffp-120, false, 8471 + - 0x1.000001p-120, false, 8472 + - 0x1.000000fffffffp-120, false, 8473 + - 0x1.000001p-120, false, 8474 + - false, 8475 + - 0x1.000000fffffffffep-120, false, 8476 + - 0x1.000001p-120, false, 8477 + - 0x1.000000fffffffffep-120, false, 8478 + - 0x1.000001p-120, false, 8479 + - false, 8480 + - 0x1.000000fffffffffep-120, false, 8481 + - 0x1.000001p-120, false, 8482 + - 0x1.000000fffffffffep-120, false, 8483 + - 0x1.000001p-120, false, 8484 + - false, 8485 + - 0x1.000000ffffffffffffffffffff8p-120, false, 8486 + - 0x1.000001p-120, false, 8487 + - 0x1.000000ffffffffffffffffffff8p-120, false, 8488 + - 0x1.000001p-120, false, 8489 + - false, 8490 + - 0x1.000000ffffffffffffffffffffffp-120, false, 8491 + - 0x1.000001p-120, false, 8492 + - 0x1.000000ffffffffffffffffffffffp-120, false, 8493 + - 0x1.000001p-120, false), 8494 + + 0x1p-120, false, false, 8495 + + 0x1p-120, false, false, 8496 + + 0x1p-120, false, false, 8497 + + 0x1.000002p-120, false, false, 8498 + + false, 8499 + + 0x1.000000fffffffp-120, false, false, 8500 + + 0x1.000001p-120, false, false, 8501 + + 0x1.000000fffffffp-120, false, false, 8502 + + 0x1.000001p-120, false, false, 8503 + + false, 8504 + + 0x1.000000fffffffffep-120, false, false, 8505 + + 0x1.000001p-120, false, false, 8506 + + 0x1.000000fffffffffep-120, false, false, 8507 + + 0x1.000001p-120, false, false, 8508 + + false, 8509 + + 0x1.000000fffffffffep-120, false, false, 8510 + + 0x1.000001p-120, false, false, 8511 + + 0x1.000000fffffffffep-120, false, false, 8512 + + 0x1.000001p-120, false, false, 8513 + + false, 8514 + + 0x1.000000ffffffffffffffffffff8p-120, false, false, 8515 + + 0x1.000001p-120, false, false, 8516 + + 0x1.000000ffffffffffffffffffff8p-120, false, false, 8517 + + 0x1.000001p-120, false, false, 8518 + + false, 8519 + + 0x1.000000ffffffffffffffffffffffp-120, false, false, 8520 + + 0x1.000001p-120, false, false, 8521 + + 0x1.000000ffffffffffffffffffffffp-120, false, false, 8522 + + 0x1.000001p-120, false, false), 8523 + TEST ("7.5231642936781486349413765338158389908126215730251815381410" 8524 + "5788244372130524340036572539247572422027587890625e-37", 8525 + false, 8526 + - 0x1p-120, false, 8527 + - 0x1p-120, false, 8528 + - 0x1p-120, false, 8529 + - 0x1.000002p-120, false, 8530 + - true, 8531 + - 0x1.000001p-120, false, 8532 + - 0x1.000001p-120, false, 8533 + - 0x1.000001p-120, false, 8534 + - 0x1.000001p-120, false, 8535 + - true, 8536 + - 0x1.000001p-120, false, 8537 + - 0x1.000001p-120, false, 8538 + - 0x1.000001p-120, false, 8539 + - 0x1.000001p-120, false, 8540 + - true, 8541 + - 0x1.000001p-120, false, 8542 + - 0x1.000001p-120, false, 8543 + - 0x1.000001p-120, false, 8544 + - 0x1.000001p-120, false, 8545 + - true, 8546 + - 0x1.000001p-120, false, 8547 + - 0x1.000001p-120, false, 8548 + - 0x1.000001p-120, false, 8549 + - 0x1.000001p-120, false, 8550 + - true, 8551 + - 0x1.000001p-120, false, 8552 + - 0x1.000001p-120, false, 8553 + - 0x1.000001p-120, false, 8554 + - 0x1.000001p-120, false), 8555 + + 0x1p-120, false, false, 8556 + + 0x1p-120, false, false, 8557 + + 0x1p-120, false, false, 8558 + + 0x1.000002p-120, false, false, 8559 + + true, 8560 + + 0x1.000001p-120, false, false, 8561 + + 0x1.000001p-120, false, false, 8562 + + 0x1.000001p-120, false, false, 8563 + + 0x1.000001p-120, false, false, 8564 + + true, 8565 + + 0x1.000001p-120, false, false, 8566 + + 0x1.000001p-120, false, false, 8567 + + 0x1.000001p-120, false, false, 8568 + + 0x1.000001p-120, false, false, 8569 + + true, 8570 + + 0x1.000001p-120, false, false, 8571 + + 0x1.000001p-120, false, false, 8572 + + 0x1.000001p-120, false, false, 8573 + + 0x1.000001p-120, false, false, 8574 + + true, 8575 + + 0x1.000001p-120, false, false, 8576 + + 0x1.000001p-120, false, false, 8577 + + 0x1.000001p-120, false, false, 8578 + + 0x1.000001p-120, false, false, 8579 + + true, 8580 + + 0x1.000001p-120, false, false, 8581 + + 0x1.000001p-120, false, false, 8582 + + 0x1.000001p-120, false, false, 8583 + + 0x1.000001p-120, false, false), 8584 + TEST ("7.5231642936781486349413765338158389908126215730251815381410" 8585 + "578824437213052434003657253924757242202758789062501e-37", 8586 + false, 8587 + - 0x1p-120, false, 8588 + - 0x1.000002p-120, false, 8589 + - 0x1p-120, false, 8590 + - 0x1.000002p-120, false, 8591 + - false, 8592 + - 0x1.000001p-120, false, 8593 + - 0x1.000001p-120, false, 8594 + - 0x1.000001p-120, false, 8595 + - 0x1.0000010000001p-120, false, 8596 + - false, 8597 + - 0x1.000001p-120, false, 8598 + - 0x1.000001p-120, false, 8599 + - 0x1.000001p-120, false, 8600 + - 0x1.0000010000000002p-120, false, 8601 + - false, 8602 + - 0x1.000001p-120, false, 8603 + - 0x1.000001p-120, false, 8604 + - 0x1.000001p-120, false, 8605 + - 0x1.0000010000000002p-120, false, 8606 + - false, 8607 + - 0x1.000001p-120, false, 8608 + - 0x1.000001p-120, false, 8609 + - 0x1.000001p-120, false, 8610 + - 0x1.000001000000000000000000008p-120, false, 8611 + - false, 8612 + - 0x1.000001p-120, false, 8613 + - 0x1.000001p-120, false, 8614 + - 0x1.000001p-120, false, 8615 + - 0x1.0000010000000000000000000001p-120, false), 8616 + + 0x1p-120, false, false, 8617 + + 0x1.000002p-120, false, false, 8618 + + 0x1p-120, false, false, 8619 + + 0x1.000002p-120, false, false, 8620 + + false, 8621 + + 0x1.000001p-120, false, false, 8622 + + 0x1.000001p-120, false, false, 8623 + + 0x1.000001p-120, false, false, 8624 + + 0x1.0000010000001p-120, false, false, 8625 + + false, 8626 + + 0x1.000001p-120, false, false, 8627 + + 0x1.000001p-120, false, false, 8628 + + 0x1.000001p-120, false, false, 8629 + + 0x1.0000010000000002p-120, false, false, 8630 + + false, 8631 + + 0x1.000001p-120, false, false, 8632 + + 0x1.000001p-120, false, false, 8633 + + 0x1.000001p-120, false, false, 8634 + + 0x1.0000010000000002p-120, false, false, 8635 + + false, 8636 + + 0x1.000001p-120, false, false, 8637 + + 0x1.000001p-120, false, false, 8638 + + 0x1.000001p-120, false, false, 8639 + + 0x1.000001000000000000000000008p-120, false, false, 8640 + + false, 8641 + + 0x1.000001p-120, false, false, 8642 + + 0x1.000001p-120, false, false, 8643 + + 0x1.000001p-120, false, false, 8644 + + 0x1.0000010000000000000000000001p-120, false, false), 8645 + TEST ("7.5231647420936572188828392294093056435857835827090029386261" 8646 + "048447055721499765468252007849514484405517578125e-37", 8647 + true, 8648 + - 0x1.000002p-120, false, 8649 + - 0x1.000002p-120, false, 8650 + - 0x1.000002p-120, false, 8651 + - 0x1.000002p-120, false, 8652 + - true, 8653 + - 0x1.000002p-120, false, 8654 + - 0x1.000002p-120, false, 8655 + - 0x1.000002p-120, false, 8656 + - 0x1.000002p-120, false, 8657 + - true, 8658 + - 0x1.000002p-120, false, 8659 + - 0x1.000002p-120, false, 8660 + - 0x1.000002p-120, false, 8661 + - 0x1.000002p-120, false, 8662 + - true, 8663 + - 0x1.000002p-120, false, 8664 + - 0x1.000002p-120, false, 8665 + - 0x1.000002p-120, false, 8666 + - 0x1.000002p-120, false, 8667 + - true, 8668 + - 0x1.000002p-120, false, 8669 + - 0x1.000002p-120, false, 8670 + - 0x1.000002p-120, false, 8671 + - 0x1.000002p-120, false, 8672 + - true, 8673 + - 0x1.000002p-120, false, 8674 + - 0x1.000002p-120, false, 8675 + - 0x1.000002p-120, false, 8676 + - 0x1.000002p-120, false), 8677 + + 0x1.000002p-120, false, false, 8678 + + 0x1.000002p-120, false, false, 8679 + + 0x1.000002p-120, false, false, 8680 + + 0x1.000002p-120, false, false, 8681 + + true, 8682 + + 0x1.000002p-120, false, false, 8683 + + 0x1.000002p-120, false, false, 8684 + + 0x1.000002p-120, false, false, 8685 + + 0x1.000002p-120, false, false, 8686 + + true, 8687 + + 0x1.000002p-120, false, false, 8688 + + 0x1.000002p-120, false, false, 8689 + + 0x1.000002p-120, false, false, 8690 + + 0x1.000002p-120, false, false, 8691 + + true, 8692 + + 0x1.000002p-120, false, false, 8693 + + 0x1.000002p-120, false, false, 8694 + + 0x1.000002p-120, false, false, 8695 + + 0x1.000002p-120, false, false, 8696 + + true, 8697 + + 0x1.000002p-120, false, false, 8698 + + 0x1.000002p-120, false, false, 8699 + + 0x1.000002p-120, false, false, 8700 + + 0x1.000002p-120, false, false, 8701 + + true, 8702 + + 0x1.000002p-120, false, false, 8703 + + 0x1.000002p-120, false, false, 8704 + + 0x1.000002p-120, false, false, 8705 + + 0x1.000002p-120, false, false), 8706 + TEST ("7.5231651905091658028243019250027722963589455923928243391111" 8707 + "518069674229947096932846761774271726608276367187499e-37", 8708 + false, 8709 + - 0x1.000002p-120, false, 8710 + - 0x1.000002p-120, false, 8711 + - 0x1.000002p-120, false, 8712 + - 0x1.000004p-120, false, 8713 + - false, 8714 + - 0x1.000002fffffffp-120, false, 8715 + - 0x1.000003p-120, false, 8716 + - 0x1.000002fffffffp-120, false, 8717 + - 0x1.000003p-120, false, 8718 + - false, 8719 + - 0x1.000002fffffffffep-120, false, 8720 + - 0x1.000003p-120, false, 8721 + - 0x1.000002fffffffffep-120, false, 8722 + - 0x1.000003p-120, false, 8723 + - false, 8724 + - 0x1.000002fffffffffep-120, false, 8725 + - 0x1.000003p-120, false, 8726 + - 0x1.000002fffffffffep-120, false, 8727 + - 0x1.000003p-120, false, 8728 + - false, 8729 + - 0x1.000002ffffffffffffffffffff8p-120, false, 8730 + - 0x1.000003p-120, false, 8731 + - 0x1.000002ffffffffffffffffffff8p-120, false, 8732 + - 0x1.000003p-120, false, 8733 + - false, 8734 + - 0x1.000002ffffffffffffffffffffffp-120, false, 8735 + - 0x1.000003p-120, false, 8736 + - 0x1.000002ffffffffffffffffffffffp-120, false, 8737 + - 0x1.000003p-120, false), 8738 + + 0x1.000002p-120, false, false, 8739 + + 0x1.000002p-120, false, false, 8740 + + 0x1.000002p-120, false, false, 8741 + + 0x1.000004p-120, false, false, 8742 + + false, 8743 + + 0x1.000002fffffffp-120, false, false, 8744 + + 0x1.000003p-120, false, false, 8745 + + 0x1.000002fffffffp-120, false, false, 8746 + + 0x1.000003p-120, false, false, 8747 + + false, 8748 + + 0x1.000002fffffffffep-120, false, false, 8749 + + 0x1.000003p-120, false, false, 8750 + + 0x1.000002fffffffffep-120, false, false, 8751 + + 0x1.000003p-120, false, false, 8752 + + false, 8753 + + 0x1.000002fffffffffep-120, false, false, 8754 + + 0x1.000003p-120, false, false, 8755 + + 0x1.000002fffffffffep-120, false, false, 8756 + + 0x1.000003p-120, false, false, 8757 + + false, 8758 + + 0x1.000002ffffffffffffffffffff8p-120, false, false, 8759 + + 0x1.000003p-120, false, false, 8760 + + 0x1.000002ffffffffffffffffffff8p-120, false, false, 8761 + + 0x1.000003p-120, false, false, 8762 + + false, 8763 + + 0x1.000002ffffffffffffffffffffffp-120, false, false, 8764 + + 0x1.000003p-120, false, false, 8765 + + 0x1.000002ffffffffffffffffffffffp-120, false, false, 8766 + + 0x1.000003p-120, false, false), 8767 + TEST ("7.5231651905091658028243019250027722963589455923928243391111" 8768 + "5180696742299470969328467617742717266082763671875e-37", 8769 + false, 8770 + - 0x1.000002p-120, false, 8771 + - 0x1.000004p-120, false, 8772 + - 0x1.000002p-120, false, 8773 + - 0x1.000004p-120, false, 8774 + - true, 8775 + - 0x1.000003p-120, false, 8776 + - 0x1.000003p-120, false, 8777 + - 0x1.000003p-120, false, 8778 + - 0x1.000003p-120, false, 8779 + - true, 8780 + - 0x1.000003p-120, false, 8781 + - 0x1.000003p-120, false, 8782 + - 0x1.000003p-120, false, 8783 + - 0x1.000003p-120, false, 8784 + - true, 8785 + - 0x1.000003p-120, false, 8786 + - 0x1.000003p-120, false, 8787 + - 0x1.000003p-120, false, 8788 + - 0x1.000003p-120, false, 8789 + - true, 8790 + - 0x1.000003p-120, false, 8791 + - 0x1.000003p-120, false, 8792 + - 0x1.000003p-120, false, 8793 + - 0x1.000003p-120, false, 8794 + - true, 8795 + - 0x1.000003p-120, false, 8796 + - 0x1.000003p-120, false, 8797 + - 0x1.000003p-120, false, 8798 + - 0x1.000003p-120, false), 8799 + + 0x1.000002p-120, false, false, 8800 + + 0x1.000004p-120, false, false, 8801 + + 0x1.000002p-120, false, false, 8802 + + 0x1.000004p-120, false, false, 8803 + + true, 8804 + + 0x1.000003p-120, false, false, 8805 + + 0x1.000003p-120, false, false, 8806 + + 0x1.000003p-120, false, false, 8807 + + 0x1.000003p-120, false, false, 8808 + + true, 8809 + + 0x1.000003p-120, false, false, 8810 + + 0x1.000003p-120, false, false, 8811 + + 0x1.000003p-120, false, false, 8812 + + 0x1.000003p-120, false, false, 8813 + + true, 8814 + + 0x1.000003p-120, false, false, 8815 + + 0x1.000003p-120, false, false, 8816 + + 0x1.000003p-120, false, false, 8817 + + 0x1.000003p-120, false, false, 8818 + + true, 8819 + + 0x1.000003p-120, false, false, 8820 + + 0x1.000003p-120, false, false, 8821 + + 0x1.000003p-120, false, false, 8822 + + 0x1.000003p-120, false, false, 8823 + + true, 8824 + + 0x1.000003p-120, false, false, 8825 + + 0x1.000003p-120, false, false, 8826 + + 0x1.000003p-120, false, false, 8827 + + 0x1.000003p-120, false, false), 8828 + TEST ("7.5231651905091658028243019250027722963589455923928243391111" 8829 + "518069674229947096932846761774271726608276367187501e-37", 8830 + false, 8831 + - 0x1.000002p-120, false, 8832 + - 0x1.000004p-120, false, 8833 + - 0x1.000002p-120, false, 8834 + - 0x1.000004p-120, false, 8835 + - false, 8836 + - 0x1.000003p-120, false, 8837 + - 0x1.000003p-120, false, 8838 + - 0x1.000003p-120, false, 8839 + - 0x1.0000030000001p-120, false, 8840 + - false, 8841 + - 0x1.000003p-120, false, 8842 + - 0x1.000003p-120, false, 8843 + - 0x1.000003p-120, false, 8844 + - 0x1.0000030000000002p-120, false, 8845 + - false, 8846 + - 0x1.000003p-120, false, 8847 + - 0x1.000003p-120, false, 8848 + - 0x1.000003p-120, false, 8849 + - 0x1.0000030000000002p-120, false, 8850 + - false, 8851 + - 0x1.000003p-120, false, 8852 + - 0x1.000003p-120, false, 8853 + - 0x1.000003p-120, false, 8854 + - 0x1.000003000000000000000000008p-120, false, 8855 + - false, 8856 + - 0x1.000003p-120, false, 8857 + - 0x1.000003p-120, false, 8858 + - 0x1.000003p-120, false, 8859 + - 0x1.0000030000000000000000000001p-120, false), 8860 + + 0x1.000002p-120, false, false, 8861 + + 0x1.000004p-120, false, false, 8862 + + 0x1.000002p-120, false, false, 8863 + + 0x1.000004p-120, false, false, 8864 + + false, 8865 + + 0x1.000003p-120, false, false, 8866 + + 0x1.000003p-120, false, false, 8867 + + 0x1.000003p-120, false, false, 8868 + + 0x1.0000030000001p-120, false, false, 8869 + + false, 8870 + + 0x1.000003p-120, false, false, 8871 + + 0x1.000003p-120, false, false, 8872 + + 0x1.000003p-120, false, false, 8873 + + 0x1.0000030000000002p-120, false, false, 8874 + + false, 8875 + + 0x1.000003p-120, false, false, 8876 + + 0x1.000003p-120, false, false, 8877 + + 0x1.000003p-120, false, false, 8878 + + 0x1.0000030000000002p-120, false, false, 8879 + + false, 8880 + + 0x1.000003p-120, false, false, 8881 + + 0x1.000003p-120, false, false, 8882 + + 0x1.000003p-120, false, false, 8883 + + 0x1.000003000000000000000000008p-120, false, false, 8884 + + false, 8885 + + 0x1.000003p-120, false, false, 8886 + + 0x1.000003p-120, false, false, 8887 + + 0x1.000003p-120, false, false, 8888 + + 0x1.0000030000000000000000000001p-120, false, false), 8889 + TEST ("7.5231656389246743867657646205962389491321076020766457395961" 8890 + "98769229273839442839744151569902896881103515625e-37", 8891 + true, 8892 + - 0x1.000004p-120, false, 8893 + - 0x1.000004p-120, false, 8894 + - 0x1.000004p-120, false, 8895 + - 0x1.000004p-120, false, 8896 + - true, 8897 + - 0x1.000004p-120, false, 8898 + - 0x1.000004p-120, false, 8899 + - 0x1.000004p-120, false, 8900 + - 0x1.000004p-120, false, 8901 + - true, 8902 + - 0x1.000004p-120, false, 8903 + - 0x1.000004p-120, false, 8904 + - 0x1.000004p-120, false, 8905 + - 0x1.000004p-120, false, 8906 + - true, 8907 + - 0x1.000004p-120, false, 8908 + - 0x1.000004p-120, false, 8909 + - 0x1.000004p-120, false, 8910 + - 0x1.000004p-120, false, 8911 + - true, 8912 + - 0x1.000004p-120, false, 8913 + - 0x1.000004p-120, false, 8914 + - 0x1.000004p-120, false, 8915 + - 0x1.000004p-120, false, 8916 + - true, 8917 + - 0x1.000004p-120, false, 8918 + - 0x1.000004p-120, false, 8919 + - 0x1.000004p-120, false, 8920 + - 0x1.000004p-120, false), 8921 + + 0x1.000004p-120, false, false, 8922 + + 0x1.000004p-120, false, false, 8923 + + 0x1.000004p-120, false, false, 8924 + + 0x1.000004p-120, false, false, 8925 + + true, 8926 + + 0x1.000004p-120, false, false, 8927 + + 0x1.000004p-120, false, false, 8928 + + 0x1.000004p-120, false, false, 8929 + + 0x1.000004p-120, false, false, 8930 + + true, 8931 + + 0x1.000004p-120, false, false, 8932 + + 0x1.000004p-120, false, false, 8933 + + 0x1.000004p-120, false, false, 8934 + + 0x1.000004p-120, false, false, 8935 + + true, 8936 + + 0x1.000004p-120, false, false, 8937 + + 0x1.000004p-120, false, false, 8938 + + 0x1.000004p-120, false, false, 8939 + + 0x1.000004p-120, false, false, 8940 + + true, 8941 + + 0x1.000004p-120, false, false, 8942 + + 0x1.000004p-120, false, false, 8943 + + 0x1.000004p-120, false, false, 8944 + + 0x1.000004p-120, false, false, 8945 + + true, 8946 + + 0x1.000004p-120, false, false, 8947 + + 0x1.000004p-120, false, false, 8948 + + 0x1.000004p-120, false, false, 8949 + + 0x1.000004p-120, false, false), 8950 + TEST ("340282356779733661637539395458142568447.999", 8951 + false, 8952 + - 0xf.fffffp+124, false, 8953 + - 0xf.fffffp+124, false, 8954 + - 0xf.fffffp+124, false, 8955 + - INF, true, 8956 + - false, 8957 + - 0xf.fffff7ffffff8p+124, false, 8958 + - 0xf.fffff8p+124, false, 8959 + - 0xf.fffff7ffffff8p+124, false, 8960 + - 0xf.fffff8p+124, false, 8961 + - false, 8962 + - 0xf.fffff7fffffffffp+124, false, 8963 + - 0xf.fffff8p+124, false, 8964 + - 0xf.fffff7fffffffffp+124, false, 8965 + - 0xf.fffff8p+124, false, 8966 + - false, 8967 + - 0xf.fffff7fffffffffp+124, false, 8968 + - 0xf.fffff8p+124, false, 8969 + - 0xf.fffff7fffffffffp+124, false, 8970 + - 0xf.fffff8p+124, false, 8971 + - false, 8972 + - 0xf.fffff7fffffffffffffffffffcp+124, false, 8973 + - 0xf.fffff8p+124, false, 8974 + - 0xf.fffff7fffffffffffffffffffcp+124, false, 8975 + - 0xf.fffff8p+124, false, 8976 + - false, 8977 + - 0xf.fffff7fffffffffffffffffffff8p+124, false, 8978 + - 0xf.fffff8p+124, false, 8979 + - 0xf.fffff7fffffffffffffffffffff8p+124, false, 8980 + - 0xf.fffff8p+124, false), 8981 + + 0xf.fffffp+124, false, false, 8982 + + 0xf.fffffp+124, false, false, 8983 + + 0xf.fffffp+124, false, false, 8984 + + INF, true, false, 8985 + + false, 8986 + + 0xf.fffff7ffffff8p+124, false, false, 8987 + + 0xf.fffff8p+124, false, false, 8988 + + 0xf.fffff7ffffff8p+124, false, false, 8989 + + 0xf.fffff8p+124, false, false, 8990 + + false, 8991 + + 0xf.fffff7fffffffffp+124, false, false, 8992 + + 0xf.fffff8p+124, false, false, 8993 + + 0xf.fffff7fffffffffp+124, false, false, 8994 + + 0xf.fffff8p+124, false, false, 8995 + + false, 8996 + + 0xf.fffff7fffffffffp+124, false, false, 8997 + + 0xf.fffff8p+124, false, false, 8998 + + 0xf.fffff7fffffffffp+124, false, false, 8999 + + 0xf.fffff8p+124, false, false, 9000 + + false, 9001 + + 0xf.fffff7fffffffffffffffffffcp+124, false, false, 9002 + + 0xf.fffff8p+124, false, false, 9003 + + 0xf.fffff7fffffffffffffffffffcp+124, false, false, 9004 + + 0xf.fffff8p+124, false, false, 9005 + + false, 9006 + + 0xf.fffff7fffffffffffffffffffff8p+124, false, false, 9007 + + 0xf.fffff8p+124, false, false, 9008 + + 0xf.fffff7fffffffffffffffffffff8p+124, false, false, 9009 + + 0xf.fffff8p+124, false, false), 9010 + TEST ("340282356779733661637539395458142568448", 9011 + false, 9012 + - 0xf.fffffp+124, false, 9013 + - INF, true, 9014 + - 0xf.fffffp+124, false, 9015 + - INF, true, 9016 + - true, 9017 + - 0xf.fffff8p+124, false, 9018 + - 0xf.fffff8p+124, false, 9019 + - 0xf.fffff8p+124, false, 9020 + - 0xf.fffff8p+124, false, 9021 + - true, 9022 + - 0xf.fffff8p+124, false, 9023 + - 0xf.fffff8p+124, false, 9024 + - 0xf.fffff8p+124, false, 9025 + - 0xf.fffff8p+124, false, 9026 + - true, 9027 + - 0xf.fffff8p+124, false, 9028 + - 0xf.fffff8p+124, false, 9029 + - 0xf.fffff8p+124, false, 9030 + - 0xf.fffff8p+124, false, 9031 + - true, 9032 + - 0xf.fffff8p+124, false, 9033 + - 0xf.fffff8p+124, false, 9034 + - 0xf.fffff8p+124, false, 9035 + - 0xf.fffff8p+124, false, 9036 + - true, 9037 + - 0xf.fffff8p+124, false, 9038 + - 0xf.fffff8p+124, false, 9039 + - 0xf.fffff8p+124, false, 9040 + - 0xf.fffff8p+124, false), 9041 + + 0xf.fffffp+124, false, false, 9042 + + INF, true, false, 9043 + + 0xf.fffffp+124, false, false, 9044 + + INF, true, false, 9045 + + true, 9046 + + 0xf.fffff8p+124, false, false, 9047 + + 0xf.fffff8p+124, false, false, 9048 + + 0xf.fffff8p+124, false, false, 9049 + + 0xf.fffff8p+124, false, false, 9050 + + true, 9051 + + 0xf.fffff8p+124, false, false, 9052 + + 0xf.fffff8p+124, false, false, 9053 + + 0xf.fffff8p+124, false, false, 9054 + + 0xf.fffff8p+124, false, false, 9055 + + true, 9056 + + 0xf.fffff8p+124, false, false, 9057 + + 0xf.fffff8p+124, false, false, 9058 + + 0xf.fffff8p+124, false, false, 9059 + + 0xf.fffff8p+124, false, false, 9060 + + true, 9061 + + 0xf.fffff8p+124, false, false, 9062 + + 0xf.fffff8p+124, false, false, 9063 + + 0xf.fffff8p+124, false, false, 9064 + + 0xf.fffff8p+124, false, false, 9065 + + true, 9066 + + 0xf.fffff8p+124, false, false, 9067 + + 0xf.fffff8p+124, false, false, 9068 + + 0xf.fffff8p+124, false, false, 9069 + + 0xf.fffff8p+124, false, false), 9070 + TEST ("340282356779733661637539395458142568448.001", 9071 + false, 9072 + - 0xf.fffffp+124, false, 9073 + - INF, true, 9074 + - 0xf.fffffp+124, false, 9075 + - INF, true, 9076 + - false, 9077 + - 0xf.fffff8p+124, false, 9078 + - 0xf.fffff8p+124, false, 9079 + - 0xf.fffff8p+124, false, 9080 + - 0xf.fffff80000008p+124, false, 9081 + - false, 9082 + - 0xf.fffff8p+124, false, 9083 + - 0xf.fffff8p+124, false, 9084 + - 0xf.fffff8p+124, false, 9085 + - 0xf.fffff8000000001p+124, false, 9086 + - false, 9087 + - 0xf.fffff8p+124, false, 9088 + - 0xf.fffff8p+124, false, 9089 + - 0xf.fffff8p+124, false, 9090 + - 0xf.fffff8000000001p+124, false, 9091 + - false, 9092 + - 0xf.fffff8p+124, false, 9093 + - 0xf.fffff8p+124, false, 9094 + - 0xf.fffff8p+124, false, 9095 + - 0xf.fffff800000000000000000004p+124, false, 9096 + - false, 9097 + - 0xf.fffff8p+124, false, 9098 + - 0xf.fffff8p+124, false, 9099 + - 0xf.fffff8p+124, false, 9100 + - 0xf.fffff80000000000000000000008p+124, false), 9101 + + 0xf.fffffp+124, false, false, 9102 + + INF, true, false, 9103 + + 0xf.fffffp+124, false, false, 9104 + + INF, true, false, 9105 + + false, 9106 + + 0xf.fffff8p+124, false, false, 9107 + + 0xf.fffff8p+124, false, false, 9108 + + 0xf.fffff8p+124, false, false, 9109 + + 0xf.fffff80000008p+124, false, false, 9110 + + false, 9111 + + 0xf.fffff8p+124, false, false, 9112 + + 0xf.fffff8p+124, false, false, 9113 + + 0xf.fffff8p+124, false, false, 9114 + + 0xf.fffff8000000001p+124, false, false, 9115 + + false, 9116 + + 0xf.fffff8p+124, false, false, 9117 + + 0xf.fffff8p+124, false, false, 9118 + + 0xf.fffff8p+124, false, false, 9119 + + 0xf.fffff8000000001p+124, false, false, 9120 + + false, 9121 + + 0xf.fffff8p+124, false, false, 9122 + + 0xf.fffff8p+124, false, false, 9123 + + 0xf.fffff8p+124, false, false, 9124 + + 0xf.fffff800000000000000000004p+124, false, false, 9125 + + false, 9126 + + 0xf.fffff8p+124, false, false, 9127 + + 0xf.fffff8p+124, false, false, 9128 + + 0xf.fffff8p+124, false, false, 9129 + + 0xf.fffff80000000000000000000008p+124, false, false), 9130 + TEST ("-340282356779733661637539395458142568447.999", 9131 + false, 9132 + - -INF, true, 9133 + - -0xf.fffffp+124, false, 9134 + - -0xf.fffffp+124, false, 9135 + - -0xf.fffffp+124, false, 9136 + - false, 9137 + - -0xf.fffff8p+124, false, 9138 + - -0xf.fffff8p+124, false, 9139 + - -0xf.fffff7ffffff8p+124, false, 9140 + - -0xf.fffff7ffffff8p+124, false, 9141 + - false, 9142 + - -0xf.fffff8p+124, false, 9143 + - -0xf.fffff8p+124, false, 9144 + - -0xf.fffff7fffffffffp+124, false, 9145 + - -0xf.fffff7fffffffffp+124, false, 9146 + - false, 9147 + - -0xf.fffff8p+124, false, 9148 + - -0xf.fffff8p+124, false, 9149 + - -0xf.fffff7fffffffffp+124, false, 9150 + - -0xf.fffff7fffffffffp+124, false, 9151 + - false, 9152 + - -0xf.fffff8p+124, false, 9153 + - -0xf.fffff8p+124, false, 9154 + - -0xf.fffff7fffffffffffffffffffcp+124, false, 9155 + - -0xf.fffff7fffffffffffffffffffcp+124, false, 9156 + - false, 9157 + - -0xf.fffff8p+124, false, 9158 + - -0xf.fffff8p+124, false, 9159 + - -0xf.fffff7fffffffffffffffffffff8p+124, false, 9160 + - -0xf.fffff7fffffffffffffffffffff8p+124, false), 9161 + + -INF, true, false, 9162 + + -0xf.fffffp+124, false, false, 9163 + + -0xf.fffffp+124, false, false, 9164 + + -0xf.fffffp+124, false, false, 9165 + + false, 9166 + + -0xf.fffff8p+124, false, false, 9167 + + -0xf.fffff8p+124, false, false, 9168 + + -0xf.fffff7ffffff8p+124, false, false, 9169 + + -0xf.fffff7ffffff8p+124, false, false, 9170 + + false, 9171 + + -0xf.fffff8p+124, false, false, 9172 + + -0xf.fffff8p+124, false, false, 9173 + + -0xf.fffff7fffffffffp+124, false, false, 9174 + + -0xf.fffff7fffffffffp+124, false, false, 9175 + + false, 9176 + + -0xf.fffff8p+124, false, false, 9177 + + -0xf.fffff8p+124, false, false, 9178 + + -0xf.fffff7fffffffffp+124, false, false, 9179 + + -0xf.fffff7fffffffffp+124, false, false, 9180 + + false, 9181 + + -0xf.fffff8p+124, false, false, 9182 + + -0xf.fffff8p+124, false, false, 9183 + + -0xf.fffff7fffffffffffffffffffcp+124, false, false, 9184 + + -0xf.fffff7fffffffffffffffffffcp+124, false, false, 9185 + + false, 9186 + + -0xf.fffff8p+124, false, false, 9187 + + -0xf.fffff8p+124, false, false, 9188 + + -0xf.fffff7fffffffffffffffffffff8p+124, false, false, 9189 + + -0xf.fffff7fffffffffffffffffffff8p+124, false, false), 9190 + TEST ("-340282356779733661637539395458142568448", 9191 + false, 9192 + - -INF, true, 9193 + - -INF, true, 9194 + - -0xf.fffffp+124, false, 9195 + - -0xf.fffffp+124, false, 9196 + - true, 9197 + - -0xf.fffff8p+124, false, 9198 + - -0xf.fffff8p+124, false, 9199 + - -0xf.fffff8p+124, false, 9200 + - -0xf.fffff8p+124, false, 9201 + - true, 9202 + - -0xf.fffff8p+124, false, 9203 + - -0xf.fffff8p+124, false, 9204 + - -0xf.fffff8p+124, false, 9205 + - -0xf.fffff8p+124, false, 9206 + - true, 9207 + - -0xf.fffff8p+124, false, 9208 + - -0xf.fffff8p+124, false, 9209 + - -0xf.fffff8p+124, false, 9210 + - -0xf.fffff8p+124, false, 9211 + - true, 9212 + - -0xf.fffff8p+124, false, 9213 + - -0xf.fffff8p+124, false, 9214 + - -0xf.fffff8p+124, false, 9215 + - -0xf.fffff8p+124, false, 9216 + - true, 9217 + - -0xf.fffff8p+124, false, 9218 + - -0xf.fffff8p+124, false, 9219 + - -0xf.fffff8p+124, false, 9220 + - -0xf.fffff8p+124, false), 9221 + + -INF, true, false, 9222 + + -INF, true, false, 9223 + + -0xf.fffffp+124, false, false, 9224 + + -0xf.fffffp+124, false, false, 9225 + + true, 9226 + + -0xf.fffff8p+124, false, false, 9227 + + -0xf.fffff8p+124, false, false, 9228 + + -0xf.fffff8p+124, false, false, 9229 + + -0xf.fffff8p+124, false, false, 9230 + + true, 9231 + + -0xf.fffff8p+124, false, false, 9232 + + -0xf.fffff8p+124, false, false, 9233 + + -0xf.fffff8p+124, false, false, 9234 + + -0xf.fffff8p+124, false, false, 9235 + + true, 9236 + + -0xf.fffff8p+124, false, false, 9237 + + -0xf.fffff8p+124, false, false, 9238 + + -0xf.fffff8p+124, false, false, 9239 + + -0xf.fffff8p+124, false, false, 9240 + + true, 9241 + + -0xf.fffff8p+124, false, false, 9242 + + -0xf.fffff8p+124, false, false, 9243 + + -0xf.fffff8p+124, false, false, 9244 + + -0xf.fffff8p+124, false, false, 9245 + + true, 9246 + + -0xf.fffff8p+124, false, false, 9247 + + -0xf.fffff8p+124, false, false, 9248 + + -0xf.fffff8p+124, false, false, 9249 + + -0xf.fffff8p+124, false, false), 9250 + TEST ("-340282356779733661637539395458142568448.001", 9251 + false, 9252 + - -INF, true, 9253 + - -INF, true, 9254 + - -0xf.fffffp+124, false, 9255 + - -0xf.fffffp+124, false, 9256 + - false, 9257 + - -0xf.fffff80000008p+124, false, 9258 + - -0xf.fffff8p+124, false, 9259 + - -0xf.fffff8p+124, false, 9260 + - -0xf.fffff8p+124, false, 9261 + - false, 9262 + - -0xf.fffff8000000001p+124, false, 9263 + - -0xf.fffff8p+124, false, 9264 + - -0xf.fffff8p+124, false, 9265 + - -0xf.fffff8p+124, false, 9266 + - false, 9267 + - -0xf.fffff8000000001p+124, false, 9268 + - -0xf.fffff8p+124, false, 9269 + - -0xf.fffff8p+124, false, 9270 + - -0xf.fffff8p+124, false, 9271 + - false, 9272 + - -0xf.fffff800000000000000000004p+124, false, 9273 + - -0xf.fffff8p+124, false, 9274 + - -0xf.fffff8p+124, false, 9275 + - -0xf.fffff8p+124, false, 9276 + - false, 9277 + - -0xf.fffff80000000000000000000008p+124, false, 9278 + - -0xf.fffff8p+124, false, 9279 + - -0xf.fffff8p+124, false, 9280 + - -0xf.fffff8p+124, false), 9281 + + -INF, true, false, 9282 + + -INF, true, false, 9283 + + -0xf.fffffp+124, false, false, 9284 + + -0xf.fffffp+124, false, false, 9285 + + false, 9286 + + -0xf.fffff80000008p+124, false, false, 9287 + + -0xf.fffff8p+124, false, false, 9288 + + -0xf.fffff8p+124, false, false, 9289 + + -0xf.fffff8p+124, false, false, 9290 + + false, 9291 + + -0xf.fffff8000000001p+124, false, false, 9292 + + -0xf.fffff8p+124, false, false, 9293 + + -0xf.fffff8p+124, false, false, 9294 + + -0xf.fffff8p+124, false, false, 9295 + + false, 9296 + + -0xf.fffff8000000001p+124, false, false, 9297 + + -0xf.fffff8p+124, false, false, 9298 + + -0xf.fffff8p+124, false, false, 9299 + + -0xf.fffff8p+124, false, false, 9300 + + false, 9301 + + -0xf.fffff800000000000000000004p+124, false, false, 9302 + + -0xf.fffff8p+124, false, false, 9303 + + -0xf.fffff8p+124, false, false, 9304 + + -0xf.fffff8p+124, false, false, 9305 + + false, 9306 + + -0xf.fffff80000000000000000000008p+124, false, false, 9307 + + -0xf.fffff8p+124, false, false, 9308 + + -0xf.fffff8p+124, false, false, 9309 + + -0xf.fffff8p+124, false, false), 9310 + TEST ("179769313486231580793728971405303415079934132710037826936173" 9311 + "778980444968292764750946649017977587207096330286416692887910" 9312 + "946555547851940402630657488671505820681908902000708383676273" 9313 + @@ -1855,35 +1855,35 @@ static const struct test tests[] = { 9314 + "936475292719074168444365510704342711559699508093042880177904" 9315 + "174497791.999", 9316 + false, 9317 + - 0xf.fffffp+124, true, 9318 + - INF, true, 9319 + - 0xf.fffffp+124, true, 9320 + - INF, true, 9321 + - false, 9322 + - 0xf.ffffffffffff8p+1020, false, 9323 + - 0xf.ffffffffffff8p+1020, false, 9324 + - 0xf.ffffffffffff8p+1020, false, 9325 + - INF, true, 9326 + - false, 9327 + - 0xf.ffffffffffffbffp+1020, false, 9328 + - 0xf.ffffffffffffcp+1020, false, 9329 + - 0xf.ffffffffffffbffp+1020, false, 9330 + - 0xf.ffffffffffffcp+1020, false, 9331 + - false, 9332 + - 0xf.ffffffffffffbffp+1020, false, 9333 + - 0xf.ffffffffffffcp+1020, false, 9334 + - 0xf.ffffffffffffbffp+1020, false, 9335 + - 0xf.ffffffffffffcp+1020, false, 9336 + - false, 9337 + - 0xf.ffffffffffffbffffffffffffcp+1020, false, 9338 + - 0xf.ffffffffffffcp+1020, true, 9339 + - 0xf.ffffffffffffbffffffffffffcp+1020, false, 9340 + - 0xf.ffffffffffffcp+1020, true, 9341 + - false, 9342 + - 0xf.ffffffffffffbffffffffffffff8p+1020, false, 9343 + - 0xf.ffffffffffffcp+1020, false, 9344 + - 0xf.ffffffffffffbffffffffffffff8p+1020, false, 9345 + - 0xf.ffffffffffffcp+1020, false), 9346 + + 0xf.fffffp+124, true, false, 9347 + + INF, true, false, 9348 + + 0xf.fffffp+124, true, false, 9349 + + INF, true, false, 9350 + + false, 9351 + + 0xf.ffffffffffff8p+1020, false, false, 9352 + + 0xf.ffffffffffff8p+1020, false, false, 9353 + + 0xf.ffffffffffff8p+1020, false, false, 9354 + + INF, true, false, 9355 + + false, 9356 + + 0xf.ffffffffffffbffp+1020, false, false, 9357 + + 0xf.ffffffffffffcp+1020, false, false, 9358 + + 0xf.ffffffffffffbffp+1020, false, false, 9359 + + 0xf.ffffffffffffcp+1020, false, false, 9360 + + false, 9361 + + 0xf.ffffffffffffbffp+1020, false, false, 9362 + + 0xf.ffffffffffffcp+1020, false, false, 9363 + + 0xf.ffffffffffffbffp+1020, false, false, 9364 + + 0xf.ffffffffffffcp+1020, false, false, 9365 + + false, 9366 + + 0xf.ffffffffffffbffffffffffffcp+1020, false, false, 9367 + + 0xf.ffffffffffffcp+1020, true, false, 9368 + + 0xf.ffffffffffffbffffffffffffcp+1020, false, false, 9369 + + 0xf.ffffffffffffcp+1020, true, false, 9370 + + false, 9371 + + 0xf.ffffffffffffbffffffffffffff8p+1020, false, false, 9372 + + 0xf.ffffffffffffcp+1020, false, false, 9373 + + 0xf.ffffffffffffbffffffffffffff8p+1020, false, false, 9374 + + 0xf.ffffffffffffcp+1020, false, false), 9375 + TEST ("179769313486231580793728971405303415079934132710037826936173" 9376 + "778980444968292764750946649017977587207096330286416692887910" 9377 + "946555547851940402630657488671505820681908902000708383676273" 9378 + @@ -1891,35 +1891,35 @@ static const struct test tests[] = { 9379 + "936475292719074168444365510704342711559699508093042880177904" 9380 + "174497792", 9381 + false, 9382 + - 0xf.fffffp+124, true, 9383 + - INF, true, 9384 + - 0xf.fffffp+124, true, 9385 + - INF, true, 9386 + - false, 9387 + - 0xf.ffffffffffff8p+1020, false, 9388 + - INF, true, 9389 + - 0xf.ffffffffffff8p+1020, false, 9390 + - INF, true, 9391 + - true, 9392 + - 0xf.ffffffffffffcp+1020, false, 9393 + - 0xf.ffffffffffffcp+1020, false, 9394 + - 0xf.ffffffffffffcp+1020, false, 9395 + - 0xf.ffffffffffffcp+1020, false, 9396 + - true, 9397 + - 0xf.ffffffffffffcp+1020, false, 9398 + - 0xf.ffffffffffffcp+1020, false, 9399 + - 0xf.ffffffffffffcp+1020, false, 9400 + - 0xf.ffffffffffffcp+1020, false, 9401 + - false, 9402 + - 0xf.ffffffffffffcp+1020, true, 9403 + - 0xf.ffffffffffffcp+1020, true, 9404 + - 0xf.ffffffffffffcp+1020, true, 9405 + - 0xf.ffffffffffffcp+1020, true, 9406 + - true, 9407 + - 0xf.ffffffffffffcp+1020, false, 9408 + - 0xf.ffffffffffffcp+1020, false, 9409 + - 0xf.ffffffffffffcp+1020, false, 9410 + - 0xf.ffffffffffffcp+1020, false), 9411 + + 0xf.fffffp+124, true, false, 9412 + + INF, true, false, 9413 + + 0xf.fffffp+124, true, false, 9414 + + INF, true, false, 9415 + + false, 9416 + + 0xf.ffffffffffff8p+1020, false, false, 9417 + + INF, true, false, 9418 + + 0xf.ffffffffffff8p+1020, false, false, 9419 + + INF, true, false, 9420 + + true, 9421 + + 0xf.ffffffffffffcp+1020, false, false, 9422 + + 0xf.ffffffffffffcp+1020, false, false, 9423 + + 0xf.ffffffffffffcp+1020, false, false, 9424 + + 0xf.ffffffffffffcp+1020, false, false, 9425 + + true, 9426 + + 0xf.ffffffffffffcp+1020, false, false, 9427 + + 0xf.ffffffffffffcp+1020, false, false, 9428 + + 0xf.ffffffffffffcp+1020, false, false, 9429 + + 0xf.ffffffffffffcp+1020, false, false, 9430 + + false, 9431 + + 0xf.ffffffffffffcp+1020, true, false, 9432 + + 0xf.ffffffffffffcp+1020, true, false, 9433 + + 0xf.ffffffffffffcp+1020, true, false, 9434 + + 0xf.ffffffffffffcp+1020, true, false, 9435 + + true, 9436 + + 0xf.ffffffffffffcp+1020, false, false, 9437 + + 0xf.ffffffffffffcp+1020, false, false, 9438 + + 0xf.ffffffffffffcp+1020, false, false, 9439 + + 0xf.ffffffffffffcp+1020, false, false), 9440 + TEST ("179769313486231580793728971405303415079934132710037826936173" 9441 + "778980444968292764750946649017977587207096330286416692887910" 9442 + "946555547851940402630657488671505820681908902000708383676273" 9443 + @@ -1927,35 +1927,35 @@ static const struct test tests[] = { 9444 + "936475292719074168444365510704342711559699508093042880177904" 9445 + "174497792.001", 9446 + false, 9447 + - 0xf.fffffp+124, true, 9448 + - INF, true, 9449 + - 0xf.fffffp+124, true, 9450 + - INF, true, 9451 + - false, 9452 + - 0xf.ffffffffffff8p+1020, false, 9453 + - INF, true, 9454 + - 0xf.ffffffffffff8p+1020, false, 9455 + - INF, true, 9456 + - false, 9457 + - 0xf.ffffffffffffcp+1020, false, 9458 + - 0xf.ffffffffffffcp+1020, false, 9459 + - 0xf.ffffffffffffcp+1020, false, 9460 + - 0xf.ffffffffffffc01p+1020, false, 9461 + - false, 9462 + - 0xf.ffffffffffffcp+1020, false, 9463 + - 0xf.ffffffffffffcp+1020, false, 9464 + - 0xf.ffffffffffffcp+1020, false, 9465 + - 0xf.ffffffffffffc01p+1020, false, 9466 + - false, 9467 + - 0xf.ffffffffffffcp+1020, true, 9468 + - 0xf.ffffffffffffcp+1020, true, 9469 + - 0xf.ffffffffffffcp+1020, true, 9470 + - 0xf.ffffffffffffc0000000000004p+1020, true, 9471 + - false, 9472 + - 0xf.ffffffffffffcp+1020, false, 9473 + - 0xf.ffffffffffffcp+1020, false, 9474 + - 0xf.ffffffffffffcp+1020, false, 9475 + - 0xf.ffffffffffffc000000000000008p+1020, false), 9476 + + 0xf.fffffp+124, true, false, 9477 + + INF, true, false, 9478 + + 0xf.fffffp+124, true, false, 9479 + + INF, true, false, 9480 + + false, 9481 + + 0xf.ffffffffffff8p+1020, false, false, 9482 + + INF, true, false, 9483 + + 0xf.ffffffffffff8p+1020, false, false, 9484 + + INF, true, false, 9485 + + false, 9486 + + 0xf.ffffffffffffcp+1020, false, false, 9487 + + 0xf.ffffffffffffcp+1020, false, false, 9488 + + 0xf.ffffffffffffcp+1020, false, false, 9489 + + 0xf.ffffffffffffc01p+1020, false, false, 9490 + + false, 9491 + + 0xf.ffffffffffffcp+1020, false, false, 9492 + + 0xf.ffffffffffffcp+1020, false, false, 9493 + + 0xf.ffffffffffffcp+1020, false, false, 9494 + + 0xf.ffffffffffffc01p+1020, false, false, 9495 + + false, 9496 + + 0xf.ffffffffffffcp+1020, true, false, 9497 + + 0xf.ffffffffffffcp+1020, true, false, 9498 + + 0xf.ffffffffffffcp+1020, true, false, 9499 + + 0xf.ffffffffffffc0000000000004p+1020, true, false, 9500 + + false, 9501 + + 0xf.ffffffffffffcp+1020, false, false, 9502 + + 0xf.ffffffffffffcp+1020, false, false, 9503 + + 0xf.ffffffffffffcp+1020, false, false, 9504 + + 0xf.ffffffffffffc000000000000008p+1020, false, false), 9505 + TEST ("-17976931348623158079372897140530341507993413271003782693617" 9506 + "377898044496829276475094664901797758720709633028641669288791" 9507 + "094655554785194040263065748867150582068190890200070838367627" 9508 + @@ -1963,35 +1963,35 @@ static const struct test tests[] = { 9509 + "493647529271907416844436551070434271155969950809304288017790" 9510 + "4174497791.999", 9511 + false, 9512 + - -INF, true, 9513 + - -INF, true, 9514 + - -0xf.fffffp+124, true, 9515 + - -0xf.fffffp+124, true, 9516 + - false, 9517 + - -INF, true, 9518 + - -0xf.ffffffffffff8p+1020, false, 9519 + - -0xf.ffffffffffff8p+1020, false, 9520 + - -0xf.ffffffffffff8p+1020, false, 9521 + - false, 9522 + - -0xf.ffffffffffffcp+1020, false, 9523 + - -0xf.ffffffffffffcp+1020, false, 9524 + - -0xf.ffffffffffffbffp+1020, false, 9525 + - -0xf.ffffffffffffbffp+1020, false, 9526 + - false, 9527 + - -0xf.ffffffffffffcp+1020, false, 9528 + - -0xf.ffffffffffffcp+1020, false, 9529 + - -0xf.ffffffffffffbffp+1020, false, 9530 + - -0xf.ffffffffffffbffp+1020, false, 9531 + - false, 9532 + - -0xf.ffffffffffffcp+1020, true, 9533 + - -0xf.ffffffffffffcp+1020, true, 9534 + - -0xf.ffffffffffffbffffffffffffcp+1020, false, 9535 + - -0xf.ffffffffffffbffffffffffffcp+1020, false, 9536 + - false, 9537 + - -0xf.ffffffffffffcp+1020, false, 9538 + - -0xf.ffffffffffffcp+1020, false, 9539 + - -0xf.ffffffffffffbffffffffffffff8p+1020, false, 9540 + - -0xf.ffffffffffffbffffffffffffff8p+1020, false), 9541 + + -INF, true, false, 9542 + + -INF, true, false, 9543 + + -0xf.fffffp+124, true, false, 9544 + + -0xf.fffffp+124, true, false, 9545 + + false, 9546 + + -INF, true, false, 9547 + + -0xf.ffffffffffff8p+1020, false, false, 9548 + + -0xf.ffffffffffff8p+1020, false, false, 9549 + + -0xf.ffffffffffff8p+1020, false, false, 9550 + + false, 9551 + + -0xf.ffffffffffffcp+1020, false, false, 9552 + + -0xf.ffffffffffffcp+1020, false, false, 9553 + + -0xf.ffffffffffffbffp+1020, false, false, 9554 + + -0xf.ffffffffffffbffp+1020, false, false, 9555 + + false, 9556 + + -0xf.ffffffffffffcp+1020, false, false, 9557 + + -0xf.ffffffffffffcp+1020, false, false, 9558 + + -0xf.ffffffffffffbffp+1020, false, false, 9559 + + -0xf.ffffffffffffbffp+1020, false, false, 9560 + + false, 9561 + + -0xf.ffffffffffffcp+1020, true, false, 9562 + + -0xf.ffffffffffffcp+1020, true, false, 9563 + + -0xf.ffffffffffffbffffffffffffcp+1020, false, false, 9564 + + -0xf.ffffffffffffbffffffffffffcp+1020, false, false, 9565 + + false, 9566 + + -0xf.ffffffffffffcp+1020, false, false, 9567 + + -0xf.ffffffffffffcp+1020, false, false, 9568 + + -0xf.ffffffffffffbffffffffffffff8p+1020, false, false, 9569 + + -0xf.ffffffffffffbffffffffffffff8p+1020, false, false), 9570 + TEST ("-17976931348623158079372897140530341507993413271003782693617" 9571 + "377898044496829276475094664901797758720709633028641669288791" 9572 + "094655554785194040263065748867150582068190890200070838367627" 9573 + @@ -1999,35 +1999,35 @@ static const struct test tests[] = { 9574 + "493647529271907416844436551070434271155969950809304288017790" 9575 + "4174497792", 9576 + false, 9577 + - -INF, true, 9578 + - -INF, true, 9579 + - -0xf.fffffp+124, true, 9580 + - -0xf.fffffp+124, true, 9581 + - false, 9582 + - -INF, true, 9583 + - -INF, true, 9584 + - -0xf.ffffffffffff8p+1020, false, 9585 + - -0xf.ffffffffffff8p+1020, false, 9586 + - true, 9587 + - -0xf.ffffffffffffcp+1020, false, 9588 + - -0xf.ffffffffffffcp+1020, false, 9589 + - -0xf.ffffffffffffcp+1020, false, 9590 + - -0xf.ffffffffffffcp+1020, false, 9591 + - true, 9592 + - -0xf.ffffffffffffcp+1020, false, 9593 + - -0xf.ffffffffffffcp+1020, false, 9594 + - -0xf.ffffffffffffcp+1020, false, 9595 + - -0xf.ffffffffffffcp+1020, false, 9596 + - false, 9597 + - -0xf.ffffffffffffcp+1020, true, 9598 + - -0xf.ffffffffffffcp+1020, true, 9599 + - -0xf.ffffffffffffcp+1020, true, 9600 + - -0xf.ffffffffffffcp+1020, true, 9601 + - true, 9602 + - -0xf.ffffffffffffcp+1020, false, 9603 + - -0xf.ffffffffffffcp+1020, false, 9604 + - -0xf.ffffffffffffcp+1020, false, 9605 + - -0xf.ffffffffffffcp+1020, false), 9606 + + -INF, true, false, 9607 + + -INF, true, false, 9608 + + -0xf.fffffp+124, true, false, 9609 + + -0xf.fffffp+124, true, false, 9610 + + false, 9611 + + -INF, true, false, 9612 + + -INF, true, false, 9613 + + -0xf.ffffffffffff8p+1020, false, false, 9614 + + -0xf.ffffffffffff8p+1020, false, false, 9615 + + true, 9616 + + -0xf.ffffffffffffcp+1020, false, false, 9617 + + -0xf.ffffffffffffcp+1020, false, false, 9618 + + -0xf.ffffffffffffcp+1020, false, false, 9619 + + -0xf.ffffffffffffcp+1020, false, false, 9620 + + true, 9621 + + -0xf.ffffffffffffcp+1020, false, false, 9622 + + -0xf.ffffffffffffcp+1020, false, false, 9623 + + -0xf.ffffffffffffcp+1020, false, false, 9624 + + -0xf.ffffffffffffcp+1020, false, false, 9625 + + false, 9626 + + -0xf.ffffffffffffcp+1020, true, false, 9627 + + -0xf.ffffffffffffcp+1020, true, false, 9628 + + -0xf.ffffffffffffcp+1020, true, false, 9629 + + -0xf.ffffffffffffcp+1020, true, false, 9630 + + true, 9631 + + -0xf.ffffffffffffcp+1020, false, false, 9632 + + -0xf.ffffffffffffcp+1020, false, false, 9633 + + -0xf.ffffffffffffcp+1020, false, false, 9634 + + -0xf.ffffffffffffcp+1020, false, false), 9635 + TEST ("-17976931348623158079372897140530341507993413271003782693617" 9636 + "377898044496829276475094664901797758720709633028641669288791" 9637 + "094655554785194040263065748867150582068190890200070838367627" 9638 + @@ -2035,35 +2035,35 @@ static const struct test tests[] = { 9639 + "493647529271907416844436551070434271155969950809304288017790" 9640 + "4174497792.001", 9641 + false, 9642 + - -INF, true, 9643 + - -INF, true, 9644 + - -0xf.fffffp+124, true, 9645 + - -0xf.fffffp+124, true, 9646 + - false, 9647 + - -INF, true, 9648 + - -INF, true, 9649 + - -0xf.ffffffffffff8p+1020, false, 9650 + - -0xf.ffffffffffff8p+1020, false, 9651 + - false, 9652 + - -0xf.ffffffffffffc01p+1020, false, 9653 + - -0xf.ffffffffffffcp+1020, false, 9654 + - -0xf.ffffffffffffcp+1020, false, 9655 + - -0xf.ffffffffffffcp+1020, false, 9656 + - false, 9657 + - -0xf.ffffffffffffc01p+1020, false, 9658 + - -0xf.ffffffffffffcp+1020, false, 9659 + - -0xf.ffffffffffffcp+1020, false, 9660 + - -0xf.ffffffffffffcp+1020, false, 9661 + - false, 9662 + - -0xf.ffffffffffffc0000000000004p+1020, true, 9663 + - -0xf.ffffffffffffcp+1020, true, 9664 + - -0xf.ffffffffffffcp+1020, true, 9665 + - -0xf.ffffffffffffcp+1020, true, 9666 + - false, 9667 + - -0xf.ffffffffffffc000000000000008p+1020, false, 9668 + - -0xf.ffffffffffffcp+1020, false, 9669 + - -0xf.ffffffffffffcp+1020, false, 9670 + - -0xf.ffffffffffffcp+1020, false), 9671 + + -INF, true, false, 9672 + + -INF, true, false, 9673 + + -0xf.fffffp+124, true, false, 9674 + + -0xf.fffffp+124, true, false, 9675 + + false, 9676 + + -INF, true, false, 9677 + + -INF, true, false, 9678 + + -0xf.ffffffffffff8p+1020, false, false, 9679 + + -0xf.ffffffffffff8p+1020, false, false, 9680 + + false, 9681 + + -0xf.ffffffffffffc01p+1020, false, false, 9682 + + -0xf.ffffffffffffcp+1020, false, false, 9683 + + -0xf.ffffffffffffcp+1020, false, false, 9684 + + -0xf.ffffffffffffcp+1020, false, false, 9685 + + false, 9686 + + -0xf.ffffffffffffc01p+1020, false, false, 9687 + + -0xf.ffffffffffffcp+1020, false, false, 9688 + + -0xf.ffffffffffffcp+1020, false, false, 9689 + + -0xf.ffffffffffffcp+1020, false, false, 9690 + + false, 9691 + + -0xf.ffffffffffffc0000000000004p+1020, true, false, 9692 + + -0xf.ffffffffffffcp+1020, true, false, 9693 + + -0xf.ffffffffffffcp+1020, true, false, 9694 + + -0xf.ffffffffffffcp+1020, true, false, 9695 + + false, 9696 + + -0xf.ffffffffffffc000000000000008p+1020, false, false, 9697 + + -0xf.ffffffffffffcp+1020, false, false, 9698 + + -0xf.ffffffffffffcp+1020, false, false, 9699 + + -0xf.ffffffffffffcp+1020, false, false), 9700 + TEST ("118973149535723176505351158982948866796625400469556721895649" 9701 + "927756249918185172720476044944290457046138433056764616744328" 9702 + "666255526748948793023632513609765434237723241753648908036202" 9703 + @@ -2148,35 +2148,35 @@ static const struct test tests[] = { 9704 + "578031503869424406179027994752890226443351619365453243328968" 9705 + "8740976918527.999", 9706 + false, 9707 + - 0xf.fffffp+124, true, 9708 + - INF, true, 9709 + - 0xf.fffffp+124, true, 9710 + - INF, true, 9711 + - false, 9712 + - 0xf.ffffffffffff8p+1020, true, 9713 + - INF, true, 9714 + - 0xf.ffffffffffff8p+1020, true, 9715 + - INF, true, 9716 + - false, 9717 + - 0xf.fffffffffffffffp+16380, false, 9718 + - 0xf.fffffffffffffffp+16380, false, 9719 + - 0xf.fffffffffffffffp+16380, false, 9720 + - INF, true, 9721 + - false, 9722 + - 0xf.fffffffffffffffp+16380, false, 9723 + - 0xf.fffffffffffffffp+16380, false, 9724 + - 0xf.fffffffffffffffp+16380, false, 9725 + - INF, true, 9726 + - false, 9727 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9728 + - INF, true, 9729 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9730 + - INF, true, 9731 + - false, 9732 + - 0xf.fffffffffffffff7fffffffffff8p+16380, false, 9733 + - 0xf.fffffffffffffff8p+16380, false, 9734 + - 0xf.fffffffffffffff7fffffffffff8p+16380, false, 9735 + - 0xf.fffffffffffffff8p+16380, false), 9736 + + 0xf.fffffp+124, true, false, 9737 + + INF, true, false, 9738 + + 0xf.fffffp+124, true, false, 9739 + + INF, true, false, 9740 + + false, 9741 + + 0xf.ffffffffffff8p+1020, true, false, 9742 + + INF, true, false, 9743 + + 0xf.ffffffffffff8p+1020, true, false, 9744 + + INF, true, false, 9745 + + false, 9746 + + 0xf.fffffffffffffffp+16380, false, false, 9747 + + 0xf.fffffffffffffffp+16380, false, false, 9748 + + 0xf.fffffffffffffffp+16380, false, false, 9749 + + INF, true, false, 9750 + + false, 9751 + + 0xf.fffffffffffffffp+16380, false, false, 9752 + + 0xf.fffffffffffffffp+16380, false, false, 9753 + + 0xf.fffffffffffffffp+16380, false, false, 9754 + + INF, true, false, 9755 + + false, 9756 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9757 + + INF, true, false, 9758 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9759 + + INF, true, false, 9760 + + false, 9761 + + 0xf.fffffffffffffff7fffffffffff8p+16380, false, false, 9762 + + 0xf.fffffffffffffff8p+16380, false, false, 9763 + + 0xf.fffffffffffffff7fffffffffff8p+16380, false, false, 9764 + + 0xf.fffffffffffffff8p+16380, false, false), 9765 + TEST ("118973149535723176505351158982948866796625400469556721895649" 9766 + "927756249918185172720476044944290457046138433056764616744328" 9767 + "666255526748948793023632513609765434237723241753648908036202" 9768 + @@ -2261,35 +2261,35 @@ static const struct test tests[] = { 9769 + "578031503869424406179027994752890226443351619365453243328968" 9770 + "8740976918528", 9771 + false, 9772 + - 0xf.fffffp+124, true, 9773 + - INF, true, 9774 + - 0xf.fffffp+124, true, 9775 + - INF, true, 9776 + - false, 9777 + - 0xf.ffffffffffff8p+1020, true, 9778 + - INF, true, 9779 + - 0xf.ffffffffffff8p+1020, true, 9780 + - INF, true, 9781 + - false, 9782 + - 0xf.fffffffffffffffp+16380, false, 9783 + - INF, true, 9784 + - 0xf.fffffffffffffffp+16380, false, 9785 + - INF, true, 9786 + - false, 9787 + - 0xf.fffffffffffffffp+16380, false, 9788 + - INF, true, 9789 + - 0xf.fffffffffffffffp+16380, false, 9790 + - INF, true, 9791 + - false, 9792 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9793 + - INF, true, 9794 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9795 + - INF, true, 9796 + - true, 9797 + - 0xf.fffffffffffffff8p+16380, false, 9798 + - 0xf.fffffffffffffff8p+16380, false, 9799 + - 0xf.fffffffffffffff8p+16380, false, 9800 + - 0xf.fffffffffffffff8p+16380, false), 9801 + + 0xf.fffffp+124, true, false, 9802 + + INF, true, false, 9803 + + 0xf.fffffp+124, true, false, 9804 + + INF, true, false, 9805 + + false, 9806 + + 0xf.ffffffffffff8p+1020, true, false, 9807 + + INF, true, false, 9808 + + 0xf.ffffffffffff8p+1020, true, false, 9809 + + INF, true, false, 9810 + + false, 9811 + + 0xf.fffffffffffffffp+16380, false, false, 9812 + + INF, true, false, 9813 + + 0xf.fffffffffffffffp+16380, false, false, 9814 + + INF, true, false, 9815 + + false, 9816 + + 0xf.fffffffffffffffp+16380, false, false, 9817 + + INF, true, false, 9818 + + 0xf.fffffffffffffffp+16380, false, false, 9819 + + INF, true, false, 9820 + + false, 9821 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9822 + + INF, true, false, 9823 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9824 + + INF, true, false, 9825 + + true, 9826 + + 0xf.fffffffffffffff8p+16380, false, false, 9827 + + 0xf.fffffffffffffff8p+16380, false, false, 9828 + + 0xf.fffffffffffffff8p+16380, false, false, 9829 + + 0xf.fffffffffffffff8p+16380, false, false), 9830 + TEST ("118973149535723176505351158982948866796625400469556721895649" 9831 + "927756249918185172720476044944290457046138433056764616744328" 9832 + "666255526748948793023632513609765434237723241753648908036202" 9833 + @@ -2374,35 +2374,35 @@ static const struct test tests[] = { 9834 + "578031503869424406179027994752890226443351619365453243328968" 9835 + "8740976918528.001", 9836 + false, 9837 + - 0xf.fffffp+124, true, 9838 + - INF, true, 9839 + - 0xf.fffffp+124, true, 9840 + - INF, true, 9841 + - false, 9842 + - 0xf.ffffffffffff8p+1020, true, 9843 + - INF, true, 9844 + - 0xf.ffffffffffff8p+1020, true, 9845 + - INF, true, 9846 + - false, 9847 + - 0xf.fffffffffffffffp+16380, false, 9848 + - INF, true, 9849 + - 0xf.fffffffffffffffp+16380, false, 9850 + - INF, true, 9851 + - false, 9852 + - 0xf.fffffffffffffffp+16380, false, 9853 + - INF, true, 9854 + - 0xf.fffffffffffffffp+16380, false, 9855 + - INF, true, 9856 + - false, 9857 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9858 + - INF, true, 9859 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 9860 + - INF, true, 9861 + - false, 9862 + - 0xf.fffffffffffffff8p+16380, false, 9863 + - 0xf.fffffffffffffff8p+16380, false, 9864 + - 0xf.fffffffffffffff8p+16380, false, 9865 + - 0xf.fffffffffffffff8000000000008p+16380, false), 9866 + + 0xf.fffffp+124, true, false, 9867 + + INF, true, false, 9868 + + 0xf.fffffp+124, true, false, 9869 + + INF, true, false, 9870 + + false, 9871 + + 0xf.ffffffffffff8p+1020, true, false, 9872 + + INF, true, false, 9873 + + 0xf.ffffffffffff8p+1020, true, false, 9874 + + INF, true, false, 9875 + + false, 9876 + + 0xf.fffffffffffffffp+16380, false, false, 9877 + + INF, true, false, 9878 + + 0xf.fffffffffffffffp+16380, false, false, 9879 + + INF, true, false, 9880 + + false, 9881 + + 0xf.fffffffffffffffp+16380, false, false, 9882 + + INF, true, false, 9883 + + 0xf.fffffffffffffffp+16380, false, false, 9884 + + INF, true, false, 9885 + + false, 9886 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9887 + + INF, true, false, 9888 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 9889 + + INF, true, false, 9890 + + false, 9891 + + 0xf.fffffffffffffff8p+16380, false, false, 9892 + + 0xf.fffffffffffffff8p+16380, false, false, 9893 + + 0xf.fffffffffffffff8p+16380, false, false, 9894 + + 0xf.fffffffffffffff8000000000008p+16380, false, false), 9895 + TEST ("-11897314953572317650535115898294886679662540046955672189564" 9896 + "992775624991818517272047604494429045704613843305676461674432" 9897 + "866625552674894879302363251360976543423772324175364890803620" 9898 + @@ -2487,35 +2487,35 @@ static const struct test tests[] = { 9899 + "557803150386942440617902799475289022644335161936545324332896" 9900 + "88740976918527.999", 9901 + false, 9902 + - -INF, true, 9903 + - -INF, true, 9904 + - -0xf.fffffp+124, true, 9905 + - -0xf.fffffp+124, true, 9906 + - false, 9907 + - -INF, true, 9908 + - -INF, true, 9909 + - -0xf.ffffffffffff8p+1020, true, 9910 + - -0xf.ffffffffffff8p+1020, true, 9911 + - false, 9912 + - -INF, true, 9913 + - -0xf.fffffffffffffffp+16380, false, 9914 + - -0xf.fffffffffffffffp+16380, false, 9915 + - -0xf.fffffffffffffffp+16380, false, 9916 + - false, 9917 + - -INF, true, 9918 + - -0xf.fffffffffffffffp+16380, false, 9919 + - -0xf.fffffffffffffffp+16380, false, 9920 + - -0xf.fffffffffffffffp+16380, false, 9921 + - false, 9922 + - -INF, true, 9923 + - -INF, true, 9924 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 9925 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 9926 + - false, 9927 + - -0xf.fffffffffffffff8p+16380, false, 9928 + - -0xf.fffffffffffffff8p+16380, false, 9929 + - -0xf.fffffffffffffff7fffffffffff8p+16380, false, 9930 + - -0xf.fffffffffffffff7fffffffffff8p+16380, false), 9931 + + -INF, true, false, 9932 + + -INF, true, false, 9933 + + -0xf.fffffp+124, true, false, 9934 + + -0xf.fffffp+124, true, false, 9935 + + false, 9936 + + -INF, true, false, 9937 + + -INF, true, false, 9938 + + -0xf.ffffffffffff8p+1020, true, false, 9939 + + -0xf.ffffffffffff8p+1020, true, false, 9940 + + false, 9941 + + -INF, true, false, 9942 + + -0xf.fffffffffffffffp+16380, false, false, 9943 + + -0xf.fffffffffffffffp+16380, false, false, 9944 + + -0xf.fffffffffffffffp+16380, false, false, 9945 + + false, 9946 + + -INF, true, false, 9947 + + -0xf.fffffffffffffffp+16380, false, false, 9948 + + -0xf.fffffffffffffffp+16380, false, false, 9949 + + -0xf.fffffffffffffffp+16380, false, false, 9950 + + false, 9951 + + -INF, true, false, 9952 + + -INF, true, false, 9953 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 9954 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 9955 + + false, 9956 + + -0xf.fffffffffffffff8p+16380, false, false, 9957 + + -0xf.fffffffffffffff8p+16380, false, false, 9958 + + -0xf.fffffffffffffff7fffffffffff8p+16380, false, false, 9959 + + -0xf.fffffffffffffff7fffffffffff8p+16380, false, false), 9960 + TEST ("-11897314953572317650535115898294886679662540046955672189564" 9961 + "992775624991818517272047604494429045704613843305676461674432" 9962 + "866625552674894879302363251360976543423772324175364890803620" 9963 + @@ -2600,35 +2600,35 @@ static const struct test tests[] = { 9964 + "557803150386942440617902799475289022644335161936545324332896" 9965 + "88740976918528", 9966 + false, 9967 + - -INF, true, 9968 + - -INF, true, 9969 + - -0xf.fffffp+124, true, 9970 + - -0xf.fffffp+124, true, 9971 + - false, 9972 + - -INF, true, 9973 + - -INF, true, 9974 + - -0xf.ffffffffffff8p+1020, true, 9975 + - -0xf.ffffffffffff8p+1020, true, 9976 + - false, 9977 + - -INF, true, 9978 + - -INF, true, 9979 + - -0xf.fffffffffffffffp+16380, false, 9980 + - -0xf.fffffffffffffffp+16380, false, 9981 + - false, 9982 + - -INF, true, 9983 + - -INF, true, 9984 + - -0xf.fffffffffffffffp+16380, false, 9985 + - -0xf.fffffffffffffffp+16380, false, 9986 + - false, 9987 + - -INF, true, 9988 + - -INF, true, 9989 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 9990 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 9991 + - true, 9992 + - -0xf.fffffffffffffff8p+16380, false, 9993 + - -0xf.fffffffffffffff8p+16380, false, 9994 + - -0xf.fffffffffffffff8p+16380, false, 9995 + - -0xf.fffffffffffffff8p+16380, false), 9996 + + -INF, true, false, 9997 + + -INF, true, false, 9998 + + -0xf.fffffp+124, true, false, 9999 + + -0xf.fffffp+124, true, false, 10000 + + false, 10001 + + -INF, true, false, 10002 + + -INF, true, false, 10003 + + -0xf.ffffffffffff8p+1020, true, false, 10004 + + -0xf.ffffffffffff8p+1020, true, false, 10005 + + false, 10006 + + -INF, true, false, 10007 + + -INF, true, false, 10008 + + -0xf.fffffffffffffffp+16380, false, false, 10009 + + -0xf.fffffffffffffffp+16380, false, false, 10010 + + false, 10011 + + -INF, true, false, 10012 + + -INF, true, false, 10013 + + -0xf.fffffffffffffffp+16380, false, false, 10014 + + -0xf.fffffffffffffffp+16380, false, false, 10015 + + false, 10016 + + -INF, true, false, 10017 + + -INF, true, false, 10018 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10019 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10020 + + true, 10021 + + -0xf.fffffffffffffff8p+16380, false, false, 10022 + + -0xf.fffffffffffffff8p+16380, false, false, 10023 + + -0xf.fffffffffffffff8p+16380, false, false, 10024 + + -0xf.fffffffffffffff8p+16380, false, false), 10025 + TEST ("-11897314953572317650535115898294886679662540046955672189564" 10026 + "992775624991818517272047604494429045704613843305676461674432" 10027 + "866625552674894879302363251360976543423772324175364890803620" 10028 + @@ -2713,35 +2713,35 @@ static const struct test tests[] = { 10029 + "557803150386942440617902799475289022644335161936545324332896" 10030 + "88740976918528.001", 10031 + false, 10032 + - -INF, true, 10033 + - -INF, true, 10034 + - -0xf.fffffp+124, true, 10035 + - -0xf.fffffp+124, true, 10036 + - false, 10037 + - -INF, true, 10038 + - -INF, true, 10039 + - -0xf.ffffffffffff8p+1020, true, 10040 + - -0xf.ffffffffffff8p+1020, true, 10041 + - false, 10042 + - -INF, true, 10043 + - -INF, true, 10044 + - -0xf.fffffffffffffffp+16380, false, 10045 + - -0xf.fffffffffffffffp+16380, false, 10046 + - false, 10047 + - -INF, true, 10048 + - -INF, true, 10049 + - -0xf.fffffffffffffffp+16380, false, 10050 + - -0xf.fffffffffffffffp+16380, false, 10051 + - false, 10052 + - -INF, true, 10053 + - -INF, true, 10054 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10055 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10056 + - false, 10057 + - -0xf.fffffffffffffff8000000000008p+16380, false, 10058 + - -0xf.fffffffffffffff8p+16380, false, 10059 + - -0xf.fffffffffffffff8p+16380, false, 10060 + - -0xf.fffffffffffffff8p+16380, false), 10061 + + -INF, true, false, 10062 + + -INF, true, false, 10063 + + -0xf.fffffp+124, true, false, 10064 + + -0xf.fffffp+124, true, false, 10065 + + false, 10066 + + -INF, true, false, 10067 + + -INF, true, false, 10068 + + -0xf.ffffffffffff8p+1020, true, false, 10069 + + -0xf.ffffffffffff8p+1020, true, false, 10070 + + false, 10071 + + -INF, true, false, 10072 + + -INF, true, false, 10073 + + -0xf.fffffffffffffffp+16380, false, false, 10074 + + -0xf.fffffffffffffffp+16380, false, false, 10075 + + false, 10076 + + -INF, true, false, 10077 + + -INF, true, false, 10078 + + -0xf.fffffffffffffffp+16380, false, false, 10079 + + -0xf.fffffffffffffffp+16380, false, false, 10080 + + false, 10081 + + -INF, true, false, 10082 + + -INF, true, false, 10083 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10084 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10085 + + false, 10086 + + -0xf.fffffffffffffff8000000000008p+16380, false, false, 10087 + + -0xf.fffffffffffffff8p+16380, false, false, 10088 + + -0xf.fffffffffffffff8p+16380, false, false, 10089 + + -0xf.fffffffffffffff8p+16380, false, false), 10090 + TEST ("118973149535723176508575932662800707347995686986910214150118" 10091 + "685272271246896789803961473130416053705672050873552479421805" 10092 + "932646640744124594447361172514341324846716679654551308018400" 10093 + @@ -2826,35 +2826,35 @@ static const struct test tests[] = { 10094 + "972233447491583165728635513802591543441145939539353470970452" 10095 + "5536550715391.999", 10096 + false, 10097 + - 0xf.fffffp+124, true, 10098 + - INF, true, 10099 + - 0xf.fffffp+124, true, 10100 + - INF, true, 10101 + - false, 10102 + - 0xf.ffffffffffff8p+1020, true, 10103 + - INF, true, 10104 + - 0xf.ffffffffffff8p+1020, true, 10105 + - INF, true, 10106 + - false, 10107 + - 0xf.fffffffffffffffp+16380, false, 10108 + - INF, true, 10109 + - 0xf.fffffffffffffffp+16380, false, 10110 + - INF, true, 10111 + - false, 10112 + - 0xf.fffffffffffffffp+16380, false, 10113 + - INF, true, 10114 + - 0xf.fffffffffffffffp+16380, false, 10115 + - INF, true, 10116 + - false, 10117 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10118 + - INF, true, 10119 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10120 + - INF, true, 10121 + - false, 10122 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10123 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10124 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10125 + - INF, true), 10126 + + 0xf.fffffp+124, true, false, 10127 + + INF, true, false, 10128 + + 0xf.fffffp+124, true, false, 10129 + + INF, true, false, 10130 + + false, 10131 + + 0xf.ffffffffffff8p+1020, true, false, 10132 + + INF, true, false, 10133 + + 0xf.ffffffffffff8p+1020, true, false, 10134 + + INF, true, false, 10135 + + false, 10136 + + 0xf.fffffffffffffffp+16380, false, false, 10137 + + INF, true, false, 10138 + + 0xf.fffffffffffffffp+16380, false, false, 10139 + + INF, true, false, 10140 + + false, 10141 + + 0xf.fffffffffffffffp+16380, false, false, 10142 + + INF, true, false, 10143 + + 0xf.fffffffffffffffp+16380, false, false, 10144 + + INF, true, false, 10145 + + false, 10146 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10147 + + INF, true, false, 10148 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10149 + + INF, true, false, 10150 + + false, 10151 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10152 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10153 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10154 + + INF, true, false), 10155 + TEST ("118973149535723176508575932662800707347995686986910214150118" 10156 + "685272271246896789803961473130416053705672050873552479421805" 10157 + "932646640744124594447361172514341324846716679654551308018400" 10158 + @@ -2939,35 +2939,35 @@ static const struct test tests[] = { 10159 + "972233447491583165728635513802591543441145939539353470970452" 10160 + "5536550715392", 10161 + false, 10162 + - 0xf.fffffp+124, true, 10163 + - INF, true, 10164 + - 0xf.fffffp+124, true, 10165 + - INF, true, 10166 + - false, 10167 + - 0xf.ffffffffffff8p+1020, true, 10168 + - INF, true, 10169 + - 0xf.ffffffffffff8p+1020, true, 10170 + - INF, true, 10171 + - false, 10172 + - 0xf.fffffffffffffffp+16380, false, 10173 + - INF, true, 10174 + - 0xf.fffffffffffffffp+16380, false, 10175 + - INF, true, 10176 + - false, 10177 + - 0xf.fffffffffffffffp+16380, false, 10178 + - INF, true, 10179 + - 0xf.fffffffffffffffp+16380, false, 10180 + - INF, true, 10181 + - false, 10182 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10183 + - INF, true, 10184 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10185 + - INF, true, 10186 + - false, 10187 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10188 + - INF, true, 10189 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10190 + - INF, true), 10191 + + 0xf.fffffp+124, true, false, 10192 + + INF, true, false, 10193 + + 0xf.fffffp+124, true, false, 10194 + + INF, true, false, 10195 + + false, 10196 + + 0xf.ffffffffffff8p+1020, true, false, 10197 + + INF, true, false, 10198 + + 0xf.ffffffffffff8p+1020, true, false, 10199 + + INF, true, false, 10200 + + false, 10201 + + 0xf.fffffffffffffffp+16380, false, false, 10202 + + INF, true, false, 10203 + + 0xf.fffffffffffffffp+16380, false, false, 10204 + + INF, true, false, 10205 + + false, 10206 + + 0xf.fffffffffffffffp+16380, false, false, 10207 + + INF, true, false, 10208 + + 0xf.fffffffffffffffp+16380, false, false, 10209 + + INF, true, false, 10210 + + false, 10211 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10212 + + INF, true, false, 10213 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10214 + + INF, true, false, 10215 + + false, 10216 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10217 + + INF, true, false, 10218 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10219 + + INF, true, false), 10220 + TEST ("118973149535723176508575932662800707347995686986910214150118" 10221 + "685272271246896789803961473130416053705672050873552479421805" 10222 + "932646640744124594447361172514341324846716679654551308018400" 10223 + @@ -3052,35 +3052,35 @@ static const struct test tests[] = { 10224 + "972233447491583165728635513802591543441145939539353470970452" 10225 + "5536550715392.001", 10226 + false, 10227 + - 0xf.fffffp+124, true, 10228 + - INF, true, 10229 + - 0xf.fffffp+124, true, 10230 + - INF, true, 10231 + - false, 10232 + - 0xf.ffffffffffff8p+1020, true, 10233 + - INF, true, 10234 + - 0xf.ffffffffffff8p+1020, true, 10235 + - INF, true, 10236 + - false, 10237 + - 0xf.fffffffffffffffp+16380, false, 10238 + - INF, true, 10239 + - 0xf.fffffffffffffffp+16380, false, 10240 + - INF, true, 10241 + - false, 10242 + - 0xf.fffffffffffffffp+16380, false, 10243 + - INF, true, 10244 + - 0xf.fffffffffffffffp+16380, false, 10245 + - INF, true, 10246 + - false, 10247 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10248 + - INF, true, 10249 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 10250 + - INF, true, 10251 + - false, 10252 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10253 + - INF, true, 10254 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 10255 + - INF, true), 10256 + + 0xf.fffffp+124, true, false, 10257 + + INF, true, false, 10258 + + 0xf.fffffp+124, true, false, 10259 + + INF, true, false, 10260 + + false, 10261 + + 0xf.ffffffffffff8p+1020, true, false, 10262 + + INF, true, false, 10263 + + 0xf.ffffffffffff8p+1020, true, false, 10264 + + INF, true, false, 10265 + + false, 10266 + + 0xf.fffffffffffffffp+16380, false, false, 10267 + + INF, true, false, 10268 + + 0xf.fffffffffffffffp+16380, false, false, 10269 + + INF, true, false, 10270 + + false, 10271 + + 0xf.fffffffffffffffp+16380, false, false, 10272 + + INF, true, false, 10273 + + 0xf.fffffffffffffffp+16380, false, false, 10274 + + INF, true, false, 10275 + + false, 10276 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10277 + + INF, true, false, 10278 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 10279 + + INF, true, false, 10280 + + false, 10281 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10282 + + INF, true, false, 10283 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10284 + + INF, true, false), 10285 + TEST ("-11897314953572317650857593266280070734799568698691021415011" 10286 + "868527227124689678980396147313041605370567205087355247942180" 10287 + "593264664074412459444736117251434132484671667965455130801840" 10288 + @@ -3165,35 +3165,35 @@ static const struct test tests[] = { 10289 + "097223344749158316572863551380259154344114593953935347097045" 10290 + "25536550715391.999", 10291 + false, 10292 + - -INF, true, 10293 + - -INF, true, 10294 + - -0xf.fffffp+124, true, 10295 + - -0xf.fffffp+124, true, 10296 + - false, 10297 + - -INF, true, 10298 + - -INF, true, 10299 + - -0xf.ffffffffffff8p+1020, true, 10300 + - -0xf.ffffffffffff8p+1020, true, 10301 + - false, 10302 + - -INF, true, 10303 + - -INF, true, 10304 + - -0xf.fffffffffffffffp+16380, false, 10305 + - -0xf.fffffffffffffffp+16380, false, 10306 + - false, 10307 + - -INF, true, 10308 + - -INF, true, 10309 + - -0xf.fffffffffffffffp+16380, false, 10310 + - -0xf.fffffffffffffffp+16380, false, 10311 + - false, 10312 + - -INF, true, 10313 + - -INF, true, 10314 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10315 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10316 + - false, 10317 + - -INF, true, 10318 + - -0xf.fffffffffffffffffffffffffff8p+16380, false, 10319 + - -0xf.fffffffffffffffffffffffffff8p+16380, false, 10320 + - -0xf.fffffffffffffffffffffffffff8p+16380, false), 10321 + + -INF, true, false, 10322 + + -INF, true, false, 10323 + + -0xf.fffffp+124, true, false, 10324 + + -0xf.fffffp+124, true, false, 10325 + + false, 10326 + + -INF, true, false, 10327 + + -INF, true, false, 10328 + + -0xf.ffffffffffff8p+1020, true, false, 10329 + + -0xf.ffffffffffff8p+1020, true, false, 10330 + + false, 10331 + + -INF, true, false, 10332 + + -INF, true, false, 10333 + + -0xf.fffffffffffffffp+16380, false, false, 10334 + + -0xf.fffffffffffffffp+16380, false, false, 10335 + + false, 10336 + + -INF, true, false, 10337 + + -INF, true, false, 10338 + + -0xf.fffffffffffffffp+16380, false, false, 10339 + + -0xf.fffffffffffffffp+16380, false, false, 10340 + + false, 10341 + + -INF, true, false, 10342 + + -INF, true, false, 10343 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10344 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10345 + + false, 10346 + + -INF, true, false, 10347 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10348 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10349 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false), 10350 + TEST ("-11897314953572317650857593266280070734799568698691021415011" 10351 + "868527227124689678980396147313041605370567205087355247942180" 10352 + "593264664074412459444736117251434132484671667965455130801840" 10353 + @@ -3278,35 +3278,35 @@ static const struct test tests[] = { 10354 + "097223344749158316572863551380259154344114593953935347097045" 10355 + "25536550715392", 10356 + false, 10357 + - -INF, true, 10358 + - -INF, true, 10359 + - -0xf.fffffp+124, true, 10360 + - -0xf.fffffp+124, true, 10361 + - false, 10362 + - -INF, true, 10363 + - -INF, true, 10364 + - -0xf.ffffffffffff8p+1020, true, 10365 + - -0xf.ffffffffffff8p+1020, true, 10366 + - false, 10367 + - -INF, true, 10368 + - -INF, true, 10369 + - -0xf.fffffffffffffffp+16380, false, 10370 + - -0xf.fffffffffffffffp+16380, false, 10371 + - false, 10372 + - -INF, true, 10373 + - -INF, true, 10374 + - -0xf.fffffffffffffffp+16380, false, 10375 + - -0xf.fffffffffffffffp+16380, false, 10376 + - false, 10377 + - -INF, true, 10378 + - -INF, true, 10379 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10380 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10381 + - false, 10382 + - -INF, true, 10383 + - -INF, true, 10384 + - -0xf.fffffffffffffffffffffffffff8p+16380, false, 10385 + - -0xf.fffffffffffffffffffffffffff8p+16380, false), 10386 + + -INF, true, false, 10387 + + -INF, true, false, 10388 + + -0xf.fffffp+124, true, false, 10389 + + -0xf.fffffp+124, true, false, 10390 + + false, 10391 + + -INF, true, false, 10392 + + -INF, true, false, 10393 + + -0xf.ffffffffffff8p+1020, true, false, 10394 + + -0xf.ffffffffffff8p+1020, true, false, 10395 + + false, 10396 + + -INF, true, false, 10397 + + -INF, true, false, 10398 + + -0xf.fffffffffffffffp+16380, false, false, 10399 + + -0xf.fffffffffffffffp+16380, false, false, 10400 + + false, 10401 + + -INF, true, false, 10402 + + -INF, true, false, 10403 + + -0xf.fffffffffffffffp+16380, false, false, 10404 + + -0xf.fffffffffffffffp+16380, false, false, 10405 + + false, 10406 + + -INF, true, false, 10407 + + -INF, true, false, 10408 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10409 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10410 + + false, 10411 + + -INF, true, false, 10412 + + -INF, true, false, 10413 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10414 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false), 10415 + TEST ("-11897314953572317650857593266280070734799568698691021415011" 10416 + "868527227124689678980396147313041605370567205087355247942180" 10417 + "593264664074412459444736117251434132484671667965455130801840" 10418 + @@ -3391,419 +3391,419 @@ static const struct test tests[] = { 10419 + "097223344749158316572863551380259154344114593953935347097045" 10420 + "25536550715392.001", 10421 + false, 10422 + - -INF, true, 10423 + - -INF, true, 10424 + - -0xf.fffffp+124, true, 10425 + - -0xf.fffffp+124, true, 10426 + - false, 10427 + - -INF, true, 10428 + - -INF, true, 10429 + - -0xf.ffffffffffff8p+1020, true, 10430 + - -0xf.ffffffffffff8p+1020, true, 10431 + - false, 10432 + - -INF, true, 10433 + - -INF, true, 10434 + - -0xf.fffffffffffffffp+16380, false, 10435 + - -0xf.fffffffffffffffp+16380, false, 10436 + - false, 10437 + - -INF, true, 10438 + - -INF, true, 10439 + - -0xf.fffffffffffffffp+16380, false, 10440 + - -0xf.fffffffffffffffp+16380, false, 10441 + - false, 10442 + - -INF, true, 10443 + - -INF, true, 10444 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10445 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 10446 + - false, 10447 + - -INF, true, 10448 + - -INF, true, 10449 + - -0xf.fffffffffffffffffffffffffff8p+16380, false, 10450 + - -0xf.fffffffffffffffffffffffffff8p+16380, false), 10451 + + -INF, true, false, 10452 + + -INF, true, false, 10453 + + -0xf.fffffp+124, true, false, 10454 + + -0xf.fffffp+124, true, false, 10455 + + false, 10456 + + -INF, true, false, 10457 + + -INF, true, false, 10458 + + -0xf.ffffffffffff8p+1020, true, false, 10459 + + -0xf.ffffffffffff8p+1020, true, false, 10460 + + false, 10461 + + -INF, true, false, 10462 + + -INF, true, false, 10463 + + -0xf.fffffffffffffffp+16380, false, false, 10464 + + -0xf.fffffffffffffffp+16380, false, false, 10465 + + false, 10466 + + -INF, true, false, 10467 + + -INF, true, false, 10468 + + -0xf.fffffffffffffffp+16380, false, false, 10469 + + -0xf.fffffffffffffffp+16380, false, false, 10470 + + false, 10471 + + -INF, true, false, 10472 + + -INF, true, false, 10473 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10474 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 10475 + + false, 10476 + + -INF, true, false, 10477 + + -INF, true, false, 10478 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false, 10479 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false), 10480 + TEST ("2.1019476964872256063855943749348741969203929128147736576356" 10481 + "0242583468662402879090222995728254318237304687499e-45", 10482 + false, 10483 + - 0x8p-152, false, 10484 + - 0x8p-152, false, 10485 + - 0x8p-152, false, 10486 + - 0x1p-148, false, 10487 + - false, 10488 + - 0xb.ffffffffffff8p-152, false, 10489 + - 0xcp-152, false, 10490 + - 0xb.ffffffffffff8p-152, false, 10491 + - 0xcp-152, false, 10492 + - false, 10493 + - 0xb.fffffffffffffffp-152, false, 10494 + - 0xcp-152, false, 10495 + - 0xb.fffffffffffffffp-152, false, 10496 + - 0xcp-152, false, 10497 + - false, 10498 + - 0xb.fffffffffffffffp-152, false, 10499 + - 0xcp-152, false, 10500 + - 0xb.fffffffffffffffp-152, false, 10501 + - 0xcp-152, false, 10502 + - false, 10503 + - 0xb.fffffffffffffffffffffffffcp-152, false, 10504 + - 0xcp-152, false, 10505 + - 0xb.fffffffffffffffffffffffffcp-152, false, 10506 + - 0xcp-152, false, 10507 + - false, 10508 + - 0xb.fffffffffffffffffffffffffff8p-152, false, 10509 + - 0xcp-152, false, 10510 + - 0xb.fffffffffffffffffffffffffff8p-152, false, 10511 + - 0xcp-152, false), 10512 + + 0x8p-152, false, true, 10513 + + 0x8p-152, false, true, 10514 + + 0x8p-152, false, true, 10515 + + 0x1p-148, false, true, 10516 + + false, 10517 + + 0xb.ffffffffffff8p-152, false, false, 10518 + + 0xcp-152, false, false, 10519 + + 0xb.ffffffffffff8p-152, false, false, 10520 + + 0xcp-152, false, false, 10521 + + false, 10522 + + 0xb.fffffffffffffffp-152, false, false, 10523 + + 0xcp-152, false, false, 10524 + + 0xb.fffffffffffffffp-152, false, false, 10525 + + 0xcp-152, false, false, 10526 + + false, 10527 + + 0xb.fffffffffffffffp-152, false, false, 10528 + + 0xcp-152, false, false, 10529 + + 0xb.fffffffffffffffp-152, false, false, 10530 + + 0xcp-152, false, false, 10531 + + false, 10532 + + 0xb.fffffffffffffffffffffffffcp-152, false, false, 10533 + + 0xcp-152, false, false, 10534 + + 0xb.fffffffffffffffffffffffffcp-152, false, false, 10535 + + 0xcp-152, false, false, 10536 + + false, 10537 + + 0xb.fffffffffffffffffffffffffff8p-152, false, false, 10538 + + 0xcp-152, false, false, 10539 + + 0xb.fffffffffffffffffffffffffff8p-152, false, false, 10540 + + 0xcp-152, false, false), 10541 + TEST ("2.1019476964872256063855943749348741969203929128147736576356" 10542 + "02425834686624028790902229957282543182373046875e-45", 10543 + false, 10544 + - 0x8p-152, false, 10545 + - 0x1p-148, false, 10546 + - 0x8p-152, false, 10547 + - 0x1p-148, false, 10548 + - true, 10549 + - 0xcp-152, false, 10550 + - 0xcp-152, false, 10551 + - 0xcp-152, false, 10552 + - 0xcp-152, false, 10553 + - true, 10554 + - 0xcp-152, false, 10555 + - 0xcp-152, false, 10556 + - 0xcp-152, false, 10557 + - 0xcp-152, false, 10558 + - true, 10559 + - 0xcp-152, false, 10560 + - 0xcp-152, false, 10561 + - 0xcp-152, false, 10562 + - 0xcp-152, false, 10563 + - true, 10564 + - 0xcp-152, false, 10565 + - 0xcp-152, false, 10566 + - 0xcp-152, false, 10567 + - 0xcp-152, false, 10568 + - true, 10569 + - 0xcp-152, false, 10570 + - 0xcp-152, false, 10571 + - 0xcp-152, false, 10572 + - 0xcp-152, false), 10573 + + 0x8p-152, false, true, 10574 + + 0x1p-148, false, true, 10575 + + 0x8p-152, false, true, 10576 + + 0x1p-148, false, true, 10577 + + true, 10578 + + 0xcp-152, false, false, 10579 + + 0xcp-152, false, false, 10580 + + 0xcp-152, false, false, 10581 + + 0xcp-152, false, false, 10582 + + true, 10583 + + 0xcp-152, false, false, 10584 + + 0xcp-152, false, false, 10585 + + 0xcp-152, false, false, 10586 + + 0xcp-152, false, false, 10587 + + true, 10588 + + 0xcp-152, false, false, 10589 + + 0xcp-152, false, false, 10590 + + 0xcp-152, false, false, 10591 + + 0xcp-152, false, false, 10592 + + true, 10593 + + 0xcp-152, false, false, 10594 + + 0xcp-152, false, false, 10595 + + 0xcp-152, false, false, 10596 + + 0xcp-152, false, false, 10597 + + true, 10598 + + 0xcp-152, false, false, 10599 + + 0xcp-152, false, false, 10600 + + 0xcp-152, false, false, 10601 + + 0xcp-152, false, false), 10602 + TEST ("2.1019476964872256063855943749348741969203929128147736576356" 10603 + "0242583468662402879090222995728254318237304687501e-45", 10604 + false, 10605 + - 0x8p-152, false, 10606 + - 0x1p-148, false, 10607 + - 0x8p-152, false, 10608 + - 0x1p-148, false, 10609 + - false, 10610 + - 0xcp-152, false, 10611 + - 0xcp-152, false, 10612 + - 0xcp-152, false, 10613 + - 0xc.0000000000008p-152, false, 10614 + - false, 10615 + - 0xcp-152, false, 10616 + - 0xcp-152, false, 10617 + - 0xcp-152, false, 10618 + - 0xc.000000000000001p-152, false, 10619 + - false, 10620 + - 0xcp-152, false, 10621 + - 0xcp-152, false, 10622 + - 0xcp-152, false, 10623 + - 0xc.000000000000001p-152, false, 10624 + - false, 10625 + - 0xcp-152, false, 10626 + - 0xcp-152, false, 10627 + - 0xcp-152, false, 10628 + - 0xc.00000000000000000000000004p-152, false, 10629 + - false, 10630 + - 0xcp-152, false, 10631 + - 0xcp-152, false, 10632 + - 0xcp-152, false, 10633 + - 0xc.0000000000000000000000000008p-152, false), 10634 + + 0x8p-152, false, true, 10635 + + 0x1p-148, false, true, 10636 + + 0x8p-152, false, true, 10637 + + 0x1p-148, false, true, 10638 + + false, 10639 + + 0xcp-152, false, false, 10640 + + 0xcp-152, false, false, 10641 + + 0xcp-152, false, false, 10642 + + 0xc.0000000000008p-152, false, false, 10643 + + false, 10644 + + 0xcp-152, false, false, 10645 + + 0xcp-152, false, false, 10646 + + 0xcp-152, false, false, 10647 + + 0xc.000000000000001p-152, false, false, 10648 + + false, 10649 + + 0xcp-152, false, false, 10650 + + 0xcp-152, false, false, 10651 + + 0xcp-152, false, false, 10652 + + 0xc.000000000000001p-152, false, false, 10653 + + false, 10654 + + 0xcp-152, false, false, 10655 + + 0xcp-152, false, false, 10656 + + 0xcp-152, false, false, 10657 + + 0xc.00000000000000000000000004p-152, false, false, 10658 + + false, 10659 + + 0xcp-152, false, false, 10660 + + 0xcp-152, false, false, 10661 + + 0xcp-152, false, false, 10662 + + 0xc.0000000000000000000000000008p-152, false, false), 10663 + TEST ("-2.101947696487225606385594374934874196920392912814773657635" 10664 + "60242583468662402879090222995728254318237304687499e-45", 10665 + false, 10666 + - -0x1p-148, false, 10667 + - -0x8p-152, false, 10668 + - -0x8p-152, false, 10669 + - -0x8p-152, false, 10670 + - false, 10671 + - -0xcp-152, false, 10672 + - -0xcp-152, false, 10673 + - -0xb.ffffffffffff8p-152, false, 10674 + - -0xb.ffffffffffff8p-152, false, 10675 + - false, 10676 + - -0xcp-152, false, 10677 + - -0xcp-152, false, 10678 + - -0xb.fffffffffffffffp-152, false, 10679 + - -0xb.fffffffffffffffp-152, false, 10680 + - false, 10681 + - -0xcp-152, false, 10682 + - -0xcp-152, false, 10683 + - -0xb.fffffffffffffffp-152, false, 10684 + - -0xb.fffffffffffffffp-152, false, 10685 + - false, 10686 + - -0xcp-152, false, 10687 + - -0xcp-152, false, 10688 + - -0xb.fffffffffffffffffffffffffcp-152, false, 10689 + - -0xb.fffffffffffffffffffffffffcp-152, false, 10690 + - false, 10691 + - -0xcp-152, false, 10692 + - -0xcp-152, false, 10693 + - -0xb.fffffffffffffffffffffffffff8p-152, false, 10694 + - -0xb.fffffffffffffffffffffffffff8p-152, false), 10695 + + -0x1p-148, false, true, 10696 + + -0x8p-152, false, true, 10697 + + -0x8p-152, false, true, 10698 + + -0x8p-152, false, true, 10699 + + false, 10700 + + -0xcp-152, false, false, 10701 + + -0xcp-152, false, false, 10702 + + -0xb.ffffffffffff8p-152, false, false, 10703 + + -0xb.ffffffffffff8p-152, false, false, 10704 + + false, 10705 + + -0xcp-152, false, false, 10706 + + -0xcp-152, false, false, 10707 + + -0xb.fffffffffffffffp-152, false, false, 10708 + + -0xb.fffffffffffffffp-152, false, false, 10709 + + false, 10710 + + -0xcp-152, false, false, 10711 + + -0xcp-152, false, false, 10712 + + -0xb.fffffffffffffffp-152, false, false, 10713 + + -0xb.fffffffffffffffp-152, false, false, 10714 + + false, 10715 + + -0xcp-152, false, false, 10716 + + -0xcp-152, false, false, 10717 + + -0xb.fffffffffffffffffffffffffcp-152, false, false, 10718 + + -0xb.fffffffffffffffffffffffffcp-152, false, false, 10719 + + false, 10720 + + -0xcp-152, false, false, 10721 + + -0xcp-152, false, false, 10722 + + -0xb.fffffffffffffffffffffffffff8p-152, false, false, 10723 + + -0xb.fffffffffffffffffffffffffff8p-152, false, false), 10724 + TEST ("-2.101947696487225606385594374934874196920392912814773657635" 10725 + "602425834686624028790902229957282543182373046875e-45", 10726 + false, 10727 + - -0x1p-148, false, 10728 + - -0x1p-148, false, 10729 + - -0x8p-152, false, 10730 + - -0x8p-152, false, 10731 + - true, 10732 + - -0xcp-152, false, 10733 + - -0xcp-152, false, 10734 + - -0xcp-152, false, 10735 + - -0xcp-152, false, 10736 + - true, 10737 + - -0xcp-152, false, 10738 + - -0xcp-152, false, 10739 + - -0xcp-152, false, 10740 + - -0xcp-152, false, 10741 + - true, 10742 + - -0xcp-152, false, 10743 + - -0xcp-152, false, 10744 + - -0xcp-152, false, 10745 + - -0xcp-152, false, 10746 + - true, 10747 + - -0xcp-152, false, 10748 + - -0xcp-152, false, 10749 + - -0xcp-152, false, 10750 + - -0xcp-152, false, 10751 + - true, 10752 + - -0xcp-152, false, 10753 + - -0xcp-152, false, 10754 + - -0xcp-152, false, 10755 + - -0xcp-152, false), 10756 + + -0x1p-148, false, true, 10757 + + -0x1p-148, false, true, 10758 + + -0x8p-152, false, true, 10759 + + -0x8p-152, false, true, 10760 + + true, 10761 + + -0xcp-152, false, false, 10762 + + -0xcp-152, false, false, 10763 + + -0xcp-152, false, false, 10764 + + -0xcp-152, false, false, 10765 + + true, 10766 + + -0xcp-152, false, false, 10767 + + -0xcp-152, false, false, 10768 + + -0xcp-152, false, false, 10769 + + -0xcp-152, false, false, 10770 + + true, 10771 + + -0xcp-152, false, false, 10772 + + -0xcp-152, false, false, 10773 + + -0xcp-152, false, false, 10774 + + -0xcp-152, false, false, 10775 + + true, 10776 + + -0xcp-152, false, false, 10777 + + -0xcp-152, false, false, 10778 + + -0xcp-152, false, false, 10779 + + -0xcp-152, false, false, 10780 + + true, 10781 + + -0xcp-152, false, false, 10782 + + -0xcp-152, false, false, 10783 + + -0xcp-152, false, false, 10784 + + -0xcp-152, false, false), 10785 + TEST ("-2.101947696487225606385594374934874196920392912814773657635" 10786 + "60242583468662402879090222995728254318237304687501e-45", 10787 + false, 10788 + - -0x1p-148, false, 10789 + - -0x1p-148, false, 10790 + - -0x8p-152, false, 10791 + - -0x8p-152, false, 10792 + - false, 10793 + - -0xc.0000000000008p-152, false, 10794 + - -0xcp-152, false, 10795 + - -0xcp-152, false, 10796 + - -0xcp-152, false, 10797 + - false, 10798 + - -0xc.000000000000001p-152, false, 10799 + - -0xcp-152, false, 10800 + - -0xcp-152, false, 10801 + - -0xcp-152, false, 10802 + - false, 10803 + - -0xc.000000000000001p-152, false, 10804 + - -0xcp-152, false, 10805 + - -0xcp-152, false, 10806 + - -0xcp-152, false, 10807 + - false, 10808 + - -0xc.00000000000000000000000004p-152, false, 10809 + - -0xcp-152, false, 10810 + - -0xcp-152, false, 10811 + - -0xcp-152, false, 10812 + - false, 10813 + - -0xc.0000000000000000000000000008p-152, false, 10814 + - -0xcp-152, false, 10815 + - -0xcp-152, false, 10816 + - -0xcp-152, false), 10817 + + -0x1p-148, false, true, 10818 + + -0x1p-148, false, true, 10819 + + -0x8p-152, false, true, 10820 + + -0x8p-152, false, true, 10821 + + false, 10822 + + -0xc.0000000000008p-152, false, false, 10823 + + -0xcp-152, false, false, 10824 + + -0xcp-152, false, false, 10825 + + -0xcp-152, false, false, 10826 + + false, 10827 + + -0xc.000000000000001p-152, false, false, 10828 + + -0xcp-152, false, false, 10829 + + -0xcp-152, false, false, 10830 + + -0xcp-152, false, false, 10831 + + false, 10832 + + -0xc.000000000000001p-152, false, false, 10833 + + -0xcp-152, false, false, 10834 + + -0xcp-152, false, false, 10835 + + -0xcp-152, false, false, 10836 + + false, 10837 + + -0xc.00000000000000000000000004p-152, false, false, 10838 + + -0xcp-152, false, false, 10839 + + -0xcp-152, false, false, 10840 + + -0xcp-152, false, false, 10841 + + false, 10842 + + -0xc.0000000000000000000000000008p-152, false, false, 10843 + + -0xcp-152, false, false, 10844 + + -0xcp-152, false, false, 10845 + + -0xcp-152, false, false), 10846 + TEST ("3.5032461608120426773093239582247903282006548546912894293926" 10847 + "7070972447770671465150371659547090530395507812499e-45", 10848 + false, 10849 + - 0x1p-148, false, 10850 + - 0x1p-148, false, 10851 + - 0x1p-148, false, 10852 + - 0x1.8p-148, false, 10853 + - false, 10854 + - 0x1.3ffffffffffffp-148, false, 10855 + - 0x1.4p-148, false, 10856 + - 0x1.3ffffffffffffp-148, false, 10857 + - 0x1.4p-148, false, 10858 + - false, 10859 + - 0x1.3ffffffffffffffep-148, false, 10860 + - 0x1.4p-148, false, 10861 + - 0x1.3ffffffffffffffep-148, false, 10862 + - 0x1.4p-148, false, 10863 + - false, 10864 + - 0x1.3ffffffffffffffep-148, false, 10865 + - 0x1.4p-148, false, 10866 + - 0x1.3ffffffffffffffep-148, false, 10867 + - 0x1.4p-148, false, 10868 + - false, 10869 + - 0x1.3fffffffffffffffffffffffff8p-148, false, 10870 + - 0x1.4p-148, false, 10871 + - 0x1.3fffffffffffffffffffffffff8p-148, false, 10872 + - 0x1.4p-148, false, 10873 + - false, 10874 + - 0x1.3fffffffffffffffffffffffffffp-148, false, 10875 + - 0x1.4p-148, false, 10876 + - 0x1.3fffffffffffffffffffffffffffp-148, false, 10877 + - 0x1.4p-148, false), 10878 + + 0x1p-148, false, true, 10879 + + 0x1p-148, false, true, 10880 + + 0x1p-148, false, true, 10881 + + 0x1.8p-148, false, true, 10882 + + false, 10883 + + 0x1.3ffffffffffffp-148, false, false, 10884 + + 0x1.4p-148, false, false, 10885 + + 0x1.3ffffffffffffp-148, false, false, 10886 + + 0x1.4p-148, false, false, 10887 + + false, 10888 + + 0x1.3ffffffffffffffep-148, false, false, 10889 + + 0x1.4p-148, false, false, 10890 + + 0x1.3ffffffffffffffep-148, false, false, 10891 + + 0x1.4p-148, false, false, 10892 + + false, 10893 + + 0x1.3ffffffffffffffep-148, false, false, 10894 + + 0x1.4p-148, false, false, 10895 + + 0x1.3ffffffffffffffep-148, false, false, 10896 + + 0x1.4p-148, false, false, 10897 + + false, 10898 + + 0x1.3fffffffffffffffffffffffff8p-148, false, false, 10899 + + 0x1.4p-148, false, false, 10900 + + 0x1.3fffffffffffffffffffffffff8p-148, false, false, 10901 + + 0x1.4p-148, false, false, 10902 + + false, 10903 + + 0x1.3fffffffffffffffffffffffffffp-148, false, false, 10904 + + 0x1.4p-148, false, false, 10905 + + 0x1.3fffffffffffffffffffffffffffp-148, false, false, 10906 + + 0x1.4p-148, false, false), 10907 + TEST ("3.5032461608120426773093239582247903282006548546912894293926" 10908 + "70709724477706714651503716595470905303955078125e-45", 10909 + false, 10910 + - 0x1p-148, false, 10911 + - 0x1p-148, false, 10912 + - 0x1p-148, false, 10913 + - 0x1.8p-148, false, 10914 + - true, 10915 + - 0x1.4p-148, false, 10916 + - 0x1.4p-148, false, 10917 + - 0x1.4p-148, false, 10918 + - 0x1.4p-148, false, 10919 + - true, 10920 + - 0x1.4p-148, false, 10921 + - 0x1.4p-148, false, 10922 + - 0x1.4p-148, false, 10923 + - 0x1.4p-148, false, 10924 + - true, 10925 + - 0x1.4p-148, false, 10926 + - 0x1.4p-148, false, 10927 + - 0x1.4p-148, false, 10928 + - 0x1.4p-148, false, 10929 + - true, 10930 + - 0x1.4p-148, false, 10931 + - 0x1.4p-148, false, 10932 + - 0x1.4p-148, false, 10933 + - 0x1.4p-148, false, 10934 + - true, 10935 + - 0x1.4p-148, false, 10936 + - 0x1.4p-148, false, 10937 + - 0x1.4p-148, false, 10938 + - 0x1.4p-148, false), 10939 + + 0x1p-148, false, true, 10940 + + 0x1p-148, false, true, 10941 + + 0x1p-148, false, true, 10942 + + 0x1.8p-148, false, true, 10943 + + true, 10944 + + 0x1.4p-148, false, false, 10945 + + 0x1.4p-148, false, false, 10946 + + 0x1.4p-148, false, false, 10947 + + 0x1.4p-148, false, false, 10948 + + true, 10949 + + 0x1.4p-148, false, false, 10950 + + 0x1.4p-148, false, false, 10951 + + 0x1.4p-148, false, false, 10952 + + 0x1.4p-148, false, false, 10953 + + true, 10954 + + 0x1.4p-148, false, false, 10955 + + 0x1.4p-148, false, false, 10956 + + 0x1.4p-148, false, false, 10957 + + 0x1.4p-148, false, false, 10958 + + true, 10959 + + 0x1.4p-148, false, false, 10960 + + 0x1.4p-148, false, false, 10961 + + 0x1.4p-148, false, false, 10962 + + 0x1.4p-148, false, false, 10963 + + true, 10964 + + 0x1.4p-148, false, false, 10965 + + 0x1.4p-148, false, false, 10966 + + 0x1.4p-148, false, false, 10967 + + 0x1.4p-148, false, false), 10968 + TEST ("3.5032461608120426773093239582247903282006548546912894293926" 10969 + "7070972447770671465150371659547090530395507812501e-45", 10970 + false, 10971 + - 0x1p-148, false, 10972 + - 0x1.8p-148, false, 10973 + - 0x1p-148, false, 10974 + - 0x1.8p-148, false, 10975 + - false, 10976 + - 0x1.4p-148, false, 10977 + - 0x1.4p-148, false, 10978 + - 0x1.4p-148, false, 10979 + - 0x1.4000000000001p-148, false, 10980 + - false, 10981 + - 0x1.4p-148, false, 10982 + - 0x1.4p-148, false, 10983 + - 0x1.4p-148, false, 10984 + - 0x1.4000000000000002p-148, false, 10985 + - false, 10986 + - 0x1.4p-148, false, 10987 + - 0x1.4p-148, false, 10988 + - 0x1.4p-148, false, 10989 + - 0x1.4000000000000002p-148, false, 10990 + - false, 10991 + - 0x1.4p-148, false, 10992 + - 0x1.4p-148, false, 10993 + - 0x1.4p-148, false, 10994 + - 0x1.400000000000000000000000008p-148, false, 10995 + - false, 10996 + - 0x1.4p-148, false, 10997 + - 0x1.4p-148, false, 10998 + - 0x1.4p-148, false, 10999 + - 0x1.4000000000000000000000000001p-148, false), 11000 + + 0x1p-148, false, true, 11001 + + 0x1.8p-148, false, true, 11002 + + 0x1p-148, false, true, 11003 + + 0x1.8p-148, false, true, 11004 + + false, 11005 + + 0x1.4p-148, false, false, 11006 + + 0x1.4p-148, false, false, 11007 + + 0x1.4p-148, false, false, 11008 + + 0x1.4000000000001p-148, false, false, 11009 + + false, 11010 + + 0x1.4p-148, false, false, 11011 + + 0x1.4p-148, false, false, 11012 + + 0x1.4p-148, false, false, 11013 + + 0x1.4000000000000002p-148, false, false, 11014 + + false, 11015 + + 0x1.4p-148, false, false, 11016 + + 0x1.4p-148, false, false, 11017 + + 0x1.4p-148, false, false, 11018 + + 0x1.4000000000000002p-148, false, false, 11019 + + false, 11020 + + 0x1.4p-148, false, false, 11021 + + 0x1.4p-148, false, false, 11022 + + 0x1.4p-148, false, false, 11023 + + 0x1.400000000000000000000000008p-148, false, false, 11024 + + false, 11025 + + 0x1.4p-148, false, false, 11026 + + 0x1.4p-148, false, false, 11027 + + 0x1.4p-148, false, false, 11028 + + 0x1.4000000000000000000000000001p-148, false, false), 11029 + TEST ("-3.503246160812042677309323958224790328200654854691289429392" 11030 + "67070972447770671465150371659547090530395507812499e-45", 11031 + false, 11032 + - -0x1.8p-148, false, 11033 + - -0x1p-148, false, 11034 + - -0x1p-148, false, 11035 + - -0x1p-148, false, 11036 + - false, 11037 + - -0x1.4p-148, false, 11038 + - -0x1.4p-148, false, 11039 + - -0x1.3ffffffffffffp-148, false, 11040 + - -0x1.3ffffffffffffp-148, false, 11041 + - false, 11042 + - -0x1.4p-148, false, 11043 + - -0x1.4p-148, false, 11044 + - -0x1.3ffffffffffffffep-148, false, 11045 + - -0x1.3ffffffffffffffep-148, false, 11046 + - false, 11047 + - -0x1.4p-148, false, 11048 + - -0x1.4p-148, false, 11049 + - -0x1.3ffffffffffffffep-148, false, 11050 + - -0x1.3ffffffffffffffep-148, false, 11051 + - false, 11052 + - -0x1.4p-148, false, 11053 + - -0x1.4p-148, false, 11054 + - -0x1.3fffffffffffffffffffffffff8p-148, false, 11055 + - -0x1.3fffffffffffffffffffffffff8p-148, false, 11056 + - false, 11057 + - -0x1.4p-148, false, 11058 + - -0x1.4p-148, false, 11059 + - -0x1.3fffffffffffffffffffffffffffp-148, false, 11060 + - -0x1.3fffffffffffffffffffffffffffp-148, false), 11061 + + -0x1.8p-148, false, true, 11062 + + -0x1p-148, false, true, 11063 + + -0x1p-148, false, true, 11064 + + -0x1p-148, false, true, 11065 + + false, 11066 + + -0x1.4p-148, false, false, 11067 + + -0x1.4p-148, false, false, 11068 + + -0x1.3ffffffffffffp-148, false, false, 11069 + + -0x1.3ffffffffffffp-148, false, false, 11070 + + false, 11071 + + -0x1.4p-148, false, false, 11072 + + -0x1.4p-148, false, false, 11073 + + -0x1.3ffffffffffffffep-148, false, false, 11074 + + -0x1.3ffffffffffffffep-148, false, false, 11075 + + false, 11076 + + -0x1.4p-148, false, false, 11077 + + -0x1.4p-148, false, false, 11078 + + -0x1.3ffffffffffffffep-148, false, false, 11079 + + -0x1.3ffffffffffffffep-148, false, false, 11080 + + false, 11081 + + -0x1.4p-148, false, false, 11082 + + -0x1.4p-148, false, false, 11083 + + -0x1.3fffffffffffffffffffffffff8p-148, false, false, 11084 + + -0x1.3fffffffffffffffffffffffff8p-148, false, false, 11085 + + false, 11086 + + -0x1.4p-148, false, false, 11087 + + -0x1.4p-148, false, false, 11088 + + -0x1.3fffffffffffffffffffffffffffp-148, false, false, 11089 + + -0x1.3fffffffffffffffffffffffffffp-148, false, false), 11090 + TEST ("-3.503246160812042677309323958224790328200654854691289429392" 11091 + "670709724477706714651503716595470905303955078125e-45", 11092 + false, 11093 + - -0x1.8p-148, false, 11094 + - -0x1p-148, false, 11095 + - -0x1p-148, false, 11096 + - -0x1p-148, false, 11097 + - true, 11098 + - -0x1.4p-148, false, 11099 + - -0x1.4p-148, false, 11100 + - -0x1.4p-148, false, 11101 + - -0x1.4p-148, false, 11102 + - true, 11103 + - -0x1.4p-148, false, 11104 + - -0x1.4p-148, false, 11105 + - -0x1.4p-148, false, 11106 + - -0x1.4p-148, false, 11107 + - true, 11108 + - -0x1.4p-148, false, 11109 + - -0x1.4p-148, false, 11110 + - -0x1.4p-148, false, 11111 + - -0x1.4p-148, false, 11112 + - true, 11113 + - -0x1.4p-148, false, 11114 + - -0x1.4p-148, false, 11115 + - -0x1.4p-148, false, 11116 + - -0x1.4p-148, false, 11117 + - true, 11118 + - -0x1.4p-148, false, 11119 + - -0x1.4p-148, false, 11120 + - -0x1.4p-148, false, 11121 + - -0x1.4p-148, false), 11122 + + -0x1.8p-148, false, true, 11123 + + -0x1p-148, false, true, 11124 + + -0x1p-148, false, true, 11125 + + -0x1p-148, false, true, 11126 + + true, 11127 + + -0x1.4p-148, false, false, 11128 + + -0x1.4p-148, false, false, 11129 + + -0x1.4p-148, false, false, 11130 + + -0x1.4p-148, false, false, 11131 + + true, 11132 + + -0x1.4p-148, false, false, 11133 + + -0x1.4p-148, false, false, 11134 + + -0x1.4p-148, false, false, 11135 + + -0x1.4p-148, false, false, 11136 + + true, 11137 + + -0x1.4p-148, false, false, 11138 + + -0x1.4p-148, false, false, 11139 + + -0x1.4p-148, false, false, 11140 + + -0x1.4p-148, false, false, 11141 + + true, 11142 + + -0x1.4p-148, false, false, 11143 + + -0x1.4p-148, false, false, 11144 + + -0x1.4p-148, false, false, 11145 + + -0x1.4p-148, false, false, 11146 + + true, 11147 + + -0x1.4p-148, false, false, 11148 + + -0x1.4p-148, false, false, 11149 + + -0x1.4p-148, false, false, 11150 + + -0x1.4p-148, false, false), 11151 + TEST ("-3.503246160812042677309323958224790328200654854691289429392" 11152 + "67070972447770671465150371659547090530395507812501e-45", 11153 + false, 11154 + - -0x1.8p-148, false, 11155 + - -0x1.8p-148, false, 11156 + - -0x1p-148, false, 11157 + - -0x1p-148, false, 11158 + - false, 11159 + - -0x1.4000000000001p-148, false, 11160 + - -0x1.4p-148, false, 11161 + - -0x1.4p-148, false, 11162 + - -0x1.4p-148, false, 11163 + - false, 11164 + - -0x1.4000000000000002p-148, false, 11165 + - -0x1.4p-148, false, 11166 + - -0x1.4p-148, false, 11167 + - -0x1.4p-148, false, 11168 + - false, 11169 + - -0x1.4000000000000002p-148, false, 11170 + - -0x1.4p-148, false, 11171 + - -0x1.4p-148, false, 11172 + - -0x1.4p-148, false, 11173 + - false, 11174 + - -0x1.400000000000000000000000008p-148, false, 11175 + - -0x1.4p-148, false, 11176 + - -0x1.4p-148, false, 11177 + - -0x1.4p-148, false, 11178 + - false, 11179 + - -0x1.4000000000000000000000000001p-148, false, 11180 + - -0x1.4p-148, false, 11181 + - -0x1.4p-148, false, 11182 + - -0x1.4p-148, false), 11183 + + -0x1.8p-148, false, true, 11184 + + -0x1.8p-148, false, true, 11185 + + -0x1p-148, false, true, 11186 + + -0x1p-148, false, true, 11187 + + false, 11188 + + -0x1.4000000000001p-148, false, false, 11189 + + -0x1.4p-148, false, false, 11190 + + -0x1.4p-148, false, false, 11191 + + -0x1.4p-148, false, false, 11192 + + false, 11193 + + -0x1.4000000000000002p-148, false, false, 11194 + + -0x1.4p-148, false, false, 11195 + + -0x1.4p-148, false, false, 11196 + + -0x1.4p-148, false, false, 11197 + + false, 11198 + + -0x1.4000000000000002p-148, false, false, 11199 + + -0x1.4p-148, false, false, 11200 + + -0x1.4p-148, false, false, 11201 + + -0x1.4p-148, false, false, 11202 + + false, 11203 + + -0x1.400000000000000000000000008p-148, false, false, 11204 + + -0x1.4p-148, false, false, 11205 + + -0x1.4p-148, false, false, 11206 + + -0x1.4p-148, false, false, 11207 + + false, 11208 + + -0x1.4000000000000000000000000001p-148, false, false, 11209 + + -0x1.4p-148, false, false, 11210 + + -0x1.4p-148, false, false, 11211 + + -0x1.4p-148, false, false), 11212 + TEST ("7.4109846876186981626485318930233205854758970392148714663837" 11213 + "852375101326090531312779794975454245398856969484704316857659" 11214 + "638998506553390969459816219401617281718945106978546710679176" 11215 + @@ -3818,35 +3818,35 @@ static const struct test tests[] = { 11216 + "337560846003984904972149117463085539556354188641513168478436" 11217 + "31308023759629577398300170898437499e-324", 11218 + false, 11219 + - 0x0p+0, false, 11220 + - 0x0p+0, false, 11221 + - 0x0p+0, false, 11222 + - 0x8p-152, false, 11223 + - false, 11224 + - 0x4p-1076, false, 11225 + - 0x4p-1076, false, 11226 + - 0x4p-1076, false, 11227 + - 0x8p-1076, false, 11228 + - false, 11229 + - 0x5.fffffffffffffff8p-1076, false, 11230 + - 0x6p-1076, false, 11231 + - 0x5.fffffffffffffff8p-1076, false, 11232 + - 0x6p-1076, false, 11233 + - false, 11234 + - 0x5.fffffffffffffff8p-1076, false, 11235 + - 0x6p-1076, false, 11236 + - 0x5.fffffffffffffff8p-1076, false, 11237 + - 0x6p-1076, false, 11238 + - false, 11239 + - 0x4p-1076, false, 11240 + - 0x4p-1076, false, 11241 + - 0x4p-1076, false, 11242 + - 0x8p-1076, false, 11243 + - false, 11244 + - 0x5.fffffffffffffffffffffffffffcp-1076, false, 11245 + - 0x6p-1076, false, 11246 + - 0x5.fffffffffffffffffffffffffffcp-1076, false, 11247 + - 0x6p-1076, false), 11248 + + 0x0p+0, false, true, 11249 + + 0x0p+0, false, true, 11250 + + 0x0p+0, false, true, 11251 + + 0x8p-152, false, true, 11252 + + false, 11253 + + 0x4p-1076, false, true, 11254 + + 0x4p-1076, false, true, 11255 + + 0x4p-1076, false, true, 11256 + + 0x8p-1076, false, true, 11257 + + false, 11258 + + 0x5.fffffffffffffff8p-1076, false, false, 11259 + + 0x6p-1076, false, false, 11260 + + 0x5.fffffffffffffff8p-1076, false, false, 11261 + + 0x6p-1076, false, false, 11262 + + false, 11263 + + 0x5.fffffffffffffff8p-1076, false, false, 11264 + + 0x6p-1076, false, false, 11265 + + 0x5.fffffffffffffff8p-1076, false, false, 11266 + + 0x6p-1076, false, false, 11267 + + false, 11268 + + 0x4p-1076, false, true, 11269 + + 0x4p-1076, false, true, 11270 + + 0x4p-1076, false, true, 11271 + + 0x8p-1076, false, true, 11272 + + false, 11273 + + 0x5.fffffffffffffffffffffffffffcp-1076, false, false, 11274 + + 0x6p-1076, false, false, 11275 + + 0x5.fffffffffffffffffffffffffffcp-1076, false, false, 11276 + + 0x6p-1076, false, false), 11277 + TEST ("7.4109846876186981626485318930233205854758970392148714663837" 11278 + "852375101326090531312779794975454245398856969484704316857659" 11279 + "638998506553390969459816219401617281718945106978546710679176" 11280 + @@ -3861,35 +3861,35 @@ static const struct test tests[] = { 11281 + "337560846003984904972149117463085539556354188641513168478436" 11282 + "313080237596295773983001708984375e-324", 11283 + false, 11284 + - 0x0p+0, false, 11285 + - 0x0p+0, false, 11286 + - 0x0p+0, false, 11287 + - 0x8p-152, false, 11288 + - false, 11289 + - 0x4p-1076, false, 11290 + - 0x8p-1076, false, 11291 + - 0x4p-1076, false, 11292 + - 0x8p-1076, false, 11293 + - true, 11294 + - 0x6p-1076, false, 11295 + - 0x6p-1076, false, 11296 + - 0x6p-1076, false, 11297 + - 0x6p-1076, false, 11298 + - true, 11299 + - 0x6p-1076, false, 11300 + - 0x6p-1076, false, 11301 + - 0x6p-1076, false, 11302 + - 0x6p-1076, false, 11303 + - false, 11304 + - 0x4p-1076, false, 11305 + - 0x8p-1076, false, 11306 + - 0x4p-1076, false, 11307 + - 0x8p-1076, false, 11308 + - true, 11309 + - 0x6p-1076, false, 11310 + - 0x6p-1076, false, 11311 + - 0x6p-1076, false, 11312 + - 0x6p-1076, false), 11313 + + 0x0p+0, false, true, 11314 + + 0x0p+0, false, true, 11315 + + 0x0p+0, false, true, 11316 + + 0x8p-152, false, true, 11317 + + false, 11318 + + 0x4p-1076, false, true, 11319 + + 0x8p-1076, false, true, 11320 + + 0x4p-1076, false, true, 11321 + + 0x8p-1076, false, true, 11322 + + true, 11323 + + 0x6p-1076, false, false, 11324 + + 0x6p-1076, false, false, 11325 + + 0x6p-1076, false, false, 11326 + + 0x6p-1076, false, false, 11327 + + true, 11328 + + 0x6p-1076, false, false, 11329 + + 0x6p-1076, false, false, 11330 + + 0x6p-1076, false, false, 11331 + + 0x6p-1076, false, false, 11332 + + false, 11333 + + 0x4p-1076, false, true, 11334 + + 0x8p-1076, false, true, 11335 + + 0x4p-1076, false, true, 11336 + + 0x8p-1076, false, true, 11337 + + true, 11338 + + 0x6p-1076, false, false, 11339 + + 0x6p-1076, false, false, 11340 + + 0x6p-1076, false, false, 11341 + + 0x6p-1076, false, false), 11342 + TEST ("7.4109846876186981626485318930233205854758970392148714663837" 11343 + "852375101326090531312779794975454245398856969484704316857659" 11344 + "638998506553390969459816219401617281718945106978546710679176" 11345 + @@ -3904,35 +3904,35 @@ static const struct test tests[] = { 11346 + "337560846003984904972149117463085539556354188641513168478436" 11347 + "31308023759629577398300170898437501e-324", 11348 + false, 11349 + - 0x0p+0, false, 11350 + - 0x0p+0, false, 11351 + - 0x0p+0, false, 11352 + - 0x8p-152, false, 11353 + - false, 11354 + - 0x4p-1076, false, 11355 + - 0x8p-1076, false, 11356 + - 0x4p-1076, false, 11357 + - 0x8p-1076, false, 11358 + - false, 11359 + - 0x6p-1076, false, 11360 + - 0x6p-1076, false, 11361 + - 0x6p-1076, false, 11362 + - 0x6.0000000000000008p-1076, false, 11363 + - false, 11364 + - 0x6p-1076, false, 11365 + - 0x6p-1076, false, 11366 + - 0x6p-1076, false, 11367 + - 0x6.0000000000000008p-1076, false, 11368 + - false, 11369 + - 0x4p-1076, false, 11370 + - 0x8p-1076, false, 11371 + - 0x4p-1076, false, 11372 + - 0x8p-1076, false, 11373 + - false, 11374 + - 0x6p-1076, false, 11375 + - 0x6p-1076, false, 11376 + - 0x6p-1076, false, 11377 + - 0x6.0000000000000000000000000004p-1076, false), 11378 + + 0x0p+0, false, true, 11379 + + 0x0p+0, false, true, 11380 + + 0x0p+0, false, true, 11381 + + 0x8p-152, false, true, 11382 + + false, 11383 + + 0x4p-1076, false, true, 11384 + + 0x8p-1076, false, true, 11385 + + 0x4p-1076, false, true, 11386 + + 0x8p-1076, false, true, 11387 + + false, 11388 + + 0x6p-1076, false, false, 11389 + + 0x6p-1076, false, false, 11390 + + 0x6p-1076, false, false, 11391 + + 0x6.0000000000000008p-1076, false, false, 11392 + + false, 11393 + + 0x6p-1076, false, false, 11394 + + 0x6p-1076, false, false, 11395 + + 0x6p-1076, false, false, 11396 + + 0x6.0000000000000008p-1076, false, false, 11397 + + false, 11398 + + 0x4p-1076, false, true, 11399 + + 0x8p-1076, false, true, 11400 + + 0x4p-1076, false, true, 11401 + + 0x8p-1076, false, true, 11402 + + false, 11403 + + 0x6p-1076, false, false, 11404 + + 0x6p-1076, false, false, 11405 + + 0x6p-1076, false, false, 11406 + + 0x6.0000000000000000000000000004p-1076, false, false), 11407 + TEST ("-7.410984687618698162648531893023320585475897039214871466383" 11408 + "785237510132609053131277979497545424539885696948470431685765" 11409 + "963899850655339096945981621940161728171894510697854671067917" 11410 + @@ -3947,35 +3947,35 @@ static const struct test tests[] = { 11411 + "433756084600398490497214911746308553955635418864151316847843" 11412 + "631308023759629577398300170898437499e-324", 11413 + false, 11414 + - -0x8p-152, false, 11415 + - -0x0p+0, false, 11416 + - -0x0p+0, false, 11417 + - -0x0p+0, false, 11418 + - false, 11419 + - -0x8p-1076, false, 11420 + - -0x4p-1076, false, 11421 + - -0x4p-1076, false, 11422 + - -0x4p-1076, false, 11423 + - false, 11424 + - -0x6p-1076, false, 11425 + - -0x6p-1076, false, 11426 + - -0x5.fffffffffffffff8p-1076, false, 11427 + - -0x5.fffffffffffffff8p-1076, false, 11428 + - false, 11429 + - -0x6p-1076, false, 11430 + - -0x6p-1076, false, 11431 + - -0x5.fffffffffffffff8p-1076, false, 11432 + - -0x5.fffffffffffffff8p-1076, false, 11433 + - false, 11434 + - -0x8p-1076, false, 11435 + - -0x4p-1076, false, 11436 + - -0x4p-1076, false, 11437 + - -0x4p-1076, false, 11438 + - false, 11439 + - -0x6p-1076, false, 11440 + - -0x6p-1076, false, 11441 + - -0x5.fffffffffffffffffffffffffffcp-1076, false, 11442 + - -0x5.fffffffffffffffffffffffffffcp-1076, false), 11443 + + -0x8p-152, false, true, 11444 + + -0x0p+0, false, true, 11445 + + -0x0p+0, false, true, 11446 + + -0x0p+0, false, true, 11447 + + false, 11448 + + -0x8p-1076, false, true, 11449 + + -0x4p-1076, false, true, 11450 + + -0x4p-1076, false, true, 11451 + + -0x4p-1076, false, true, 11452 + + false, 11453 + + -0x6p-1076, false, false, 11454 + + -0x6p-1076, false, false, 11455 + + -0x5.fffffffffffffff8p-1076, false, false, 11456 + + -0x5.fffffffffffffff8p-1076, false, false, 11457 + + false, 11458 + + -0x6p-1076, false, false, 11459 + + -0x6p-1076, false, false, 11460 + + -0x5.fffffffffffffff8p-1076, false, false, 11461 + + -0x5.fffffffffffffff8p-1076, false, false, 11462 + + false, 11463 + + -0x8p-1076, false, true, 11464 + + -0x4p-1076, false, true, 11465 + + -0x4p-1076, false, true, 11466 + + -0x4p-1076, false, true, 11467 + + false, 11468 + + -0x6p-1076, false, false, 11469 + + -0x6p-1076, false, false, 11470 + + -0x5.fffffffffffffffffffffffffffcp-1076, false, false, 11471 + + -0x5.fffffffffffffffffffffffffffcp-1076, false, false), 11472 + TEST ("-7.410984687618698162648531893023320585475897039214871466383" 11473 + "785237510132609053131277979497545424539885696948470431685765" 11474 + "963899850655339096945981621940161728171894510697854671067917" 11475 + @@ -3990,35 +3990,35 @@ static const struct test tests[] = { 11476 + "433756084600398490497214911746308553955635418864151316847843" 11477 + "6313080237596295773983001708984375e-324", 11478 + false, 11479 + - -0x8p-152, false, 11480 + - -0x0p+0, false, 11481 + - -0x0p+0, false, 11482 + - -0x0p+0, false, 11483 + - false, 11484 + - -0x8p-1076, false, 11485 + - -0x8p-1076, false, 11486 + - -0x4p-1076, false, 11487 + - -0x4p-1076, false, 11488 + - true, 11489 + - -0x6p-1076, false, 11490 + - -0x6p-1076, false, 11491 + - -0x6p-1076, false, 11492 + - -0x6p-1076, false, 11493 + - true, 11494 + - -0x6p-1076, false, 11495 + - -0x6p-1076, false, 11496 + - -0x6p-1076, false, 11497 + - -0x6p-1076, false, 11498 + - false, 11499 + - -0x8p-1076, false, 11500 + - -0x8p-1076, false, 11501 + - -0x4p-1076, false, 11502 + - -0x4p-1076, false, 11503 + - true, 11504 + - -0x6p-1076, false, 11505 + - -0x6p-1076, false, 11506 + - -0x6p-1076, false, 11507 + - -0x6p-1076, false), 11508 + + -0x8p-152, false, true, 11509 + + -0x0p+0, false, true, 11510 + + -0x0p+0, false, true, 11511 + + -0x0p+0, false, true, 11512 + + false, 11513 + + -0x8p-1076, false, true, 11514 + + -0x8p-1076, false, true, 11515 + + -0x4p-1076, false, true, 11516 + + -0x4p-1076, false, true, 11517 + + true, 11518 + + -0x6p-1076, false, false, 11519 + + -0x6p-1076, false, false, 11520 + + -0x6p-1076, false, false, 11521 + + -0x6p-1076, false, false, 11522 + + true, 11523 + + -0x6p-1076, false, false, 11524 + + -0x6p-1076, false, false, 11525 + + -0x6p-1076, false, false, 11526 + + -0x6p-1076, false, false, 11527 + + false, 11528 + + -0x8p-1076, false, true, 11529 + + -0x8p-1076, false, true, 11530 + + -0x4p-1076, false, true, 11531 + + -0x4p-1076, false, true, 11532 + + true, 11533 + + -0x6p-1076, false, false, 11534 + + -0x6p-1076, false, false, 11535 + + -0x6p-1076, false, false, 11536 + + -0x6p-1076, false, false), 11537 + TEST ("-7.410984687618698162648531893023320585475897039214871466383" 11538 + "785237510132609053131277979497545424539885696948470431685765" 11539 + "963899850655339096945981621940161728171894510697854671067917" 11540 + @@ -4033,35 +4033,35 @@ static const struct test tests[] = { 11541 + "433756084600398490497214911746308553955635418864151316847843" 11542 + "631308023759629577398300170898437501e-324", 11543 + false, 11544 + - -0x8p-152, false, 11545 + - -0x0p+0, false, 11546 + - -0x0p+0, false, 11547 + - -0x0p+0, false, 11548 + - false, 11549 + - -0x8p-1076, false, 11550 + - -0x8p-1076, false, 11551 + - -0x4p-1076, false, 11552 + - -0x4p-1076, false, 11553 + - false, 11554 + - -0x6.0000000000000008p-1076, false, 11555 + - -0x6p-1076, false, 11556 + - -0x6p-1076, false, 11557 + - -0x6p-1076, false, 11558 + - false, 11559 + - -0x6.0000000000000008p-1076, false, 11560 + - -0x6p-1076, false, 11561 + - -0x6p-1076, false, 11562 + - -0x6p-1076, false, 11563 + - false, 11564 + - -0x8p-1076, false, 11565 + - -0x8p-1076, false, 11566 + - -0x4p-1076, false, 11567 + - -0x4p-1076, false, 11568 + - false, 11569 + - -0x6.0000000000000000000000000004p-1076, false, 11570 + - -0x6p-1076, false, 11571 + - -0x6p-1076, false, 11572 + - -0x6p-1076, false), 11573 + + -0x8p-152, false, true, 11574 + + -0x0p+0, false, true, 11575 + + -0x0p+0, false, true, 11576 + + -0x0p+0, false, true, 11577 + + false, 11578 + + -0x8p-1076, false, true, 11579 + + -0x8p-1076, false, true, 11580 + + -0x4p-1076, false, true, 11581 + + -0x4p-1076, false, true, 11582 + + false, 11583 + + -0x6.0000000000000008p-1076, false, false, 11584 + + -0x6p-1076, false, false, 11585 + + -0x6p-1076, false, false, 11586 + + -0x6p-1076, false, false, 11587 + + false, 11588 + + -0x6.0000000000000008p-1076, false, false, 11589 + + -0x6p-1076, false, false, 11590 + + -0x6p-1076, false, false, 11591 + + -0x6p-1076, false, false, 11592 + + false, 11593 + + -0x8p-1076, false, true, 11594 + + -0x8p-1076, false, true, 11595 + + -0x4p-1076, false, true, 11596 + + -0x4p-1076, false, true, 11597 + + false, 11598 + + -0x6.0000000000000000000000000004p-1076, false, false, 11599 + + -0x6p-1076, false, false, 11600 + + -0x6p-1076, false, false, 11601 + + -0x6p-1076, false, false), 11602 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 11603 + "707305425575329500966052143410629387408077958710210208052966" 11604 + "529504784489330482549602621133847135082257338717668975178538" 11605 + @@ -4255,35 +4255,35 @@ static const struct test tests[] = { 11606 + "866268925981702690270202829595794350800918257913991744455922" 11607 + "683343374046671669930219650268554687499e-4951", 11608 + false, 11609 + - 0x0p+0, false, 11610 + - 0x0p+0, false, 11611 + - 0x0p+0, false, 11612 + - 0x8p-152, false, 11613 + - false, 11614 + - 0x0p+0, false, 11615 + - 0x0p+0, false, 11616 + - 0x0p+0, false, 11617 + - 0x4p-1076, false, 11618 + - false, 11619 + - 0x8p-16448, false, 11620 + - 0x8p-16448, false, 11621 + - 0x8p-16448, false, 11622 + - 0x1p-16444, false, 11623 + - false, 11624 + - 0x8p-16448, false, 11625 + - 0xcp-16448, false, 11626 + - 0x8p-16448, false, 11627 + - 0xcp-16448, false, 11628 + - false, 11629 + - 0x0p+0, false, 11630 + - 0x0p+0, false, 11631 + - 0x0p+0, false, 11632 + - 0x4p-1076, false, 11633 + - false, 11634 + - 0xb.fffffffffffcp-16448, false, 11635 + - 0xcp-16448, false, 11636 + - 0xb.fffffffffffcp-16448, false, 11637 + - 0xcp-16448, false), 11638 + + 0x0p+0, false, true, 11639 + + 0x0p+0, false, true, 11640 + + 0x0p+0, false, true, 11641 + + 0x8p-152, false, true, 11642 + + false, 11643 + + 0x0p+0, false, true, 11644 + + 0x0p+0, false, true, 11645 + + 0x0p+0, false, true, 11646 + + 0x4p-1076, false, true, 11647 + + false, 11648 + + 0x8p-16448, false, true, 11649 + + 0x8p-16448, false, true, 11650 + + 0x8p-16448, false, true, 11651 + + 0x1p-16444, false, true, 11652 + + false, 11653 + + 0x8p-16448, false, true, 11654 + + 0xcp-16448, false, true, 11655 + + 0x8p-16448, false, true, 11656 + + 0xcp-16448, false, true, 11657 + + false, 11658 + + 0x0p+0, false, true, 11659 + + 0x0p+0, false, true, 11660 + + 0x0p+0, false, true, 11661 + + 0x4p-1076, false, true, 11662 + + false, 11663 + + 0xb.fffffffffffcp-16448, false, true, 11664 + + 0xcp-16448, false, true, 11665 + + 0xb.fffffffffffcp-16448, false, true, 11666 + + 0xcp-16448, false, true), 11667 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 11668 + "707305425575329500966052143410629387408077958710210208052966" 11669 + "529504784489330482549602621133847135082257338717668975178538" 11670 + @@ -4477,35 +4477,35 @@ static const struct test tests[] = { 11671 + "866268925981702690270202829595794350800918257913991744455922" 11672 + "6833433740466716699302196502685546875e-4951", 11673 + false, 11674 + - 0x0p+0, false, 11675 + - 0x0p+0, false, 11676 + - 0x0p+0, false, 11677 + - 0x8p-152, false, 11678 + - false, 11679 + - 0x0p+0, false, 11680 + - 0x0p+0, false, 11681 + - 0x0p+0, false, 11682 + - 0x4p-1076, false, 11683 + - false, 11684 + - 0x8p-16448, false, 11685 + - 0x1p-16444, false, 11686 + - 0x8p-16448, false, 11687 + - 0x1p-16444, false, 11688 + - true, 11689 + - 0xcp-16448, false, 11690 + - 0xcp-16448, false, 11691 + - 0xcp-16448, false, 11692 + - 0xcp-16448, false, 11693 + - false, 11694 + - 0x0p+0, false, 11695 + - 0x0p+0, false, 11696 + - 0x0p+0, false, 11697 + - 0x4p-1076, false, 11698 + - true, 11699 + - 0xcp-16448, false, 11700 + - 0xcp-16448, false, 11701 + - 0xcp-16448, false, 11702 + - 0xcp-16448, false), 11703 + + 0x0p+0, false, true, 11704 + + 0x0p+0, false, true, 11705 + + 0x0p+0, false, true, 11706 + + 0x8p-152, false, true, 11707 + + false, 11708 + + 0x0p+0, false, true, 11709 + + 0x0p+0, false, true, 11710 + + 0x0p+0, false, true, 11711 + + 0x4p-1076, false, true, 11712 + + false, 11713 + + 0x8p-16448, false, true, 11714 + + 0x1p-16444, false, true, 11715 + + 0x8p-16448, false, true, 11716 + + 0x1p-16444, false, true, 11717 + + true, 11718 + + 0xcp-16448, false, false, 11719 + + 0xcp-16448, false, false, 11720 + + 0xcp-16448, false, false, 11721 + + 0xcp-16448, false, false, 11722 + + false, 11723 + + 0x0p+0, false, true, 11724 + + 0x0p+0, false, true, 11725 + + 0x0p+0, false, true, 11726 + + 0x4p-1076, false, true, 11727 + + true, 11728 + + 0xcp-16448, false, false, 11729 + + 0xcp-16448, false, false, 11730 + + 0xcp-16448, false, false, 11731 + + 0xcp-16448, false, false), 11732 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 11733 + "707305425575329500966052143410629387408077958710210208052966" 11734 + "529504784489330482549602621133847135082257338717668975178538" 11735 + @@ -4699,35 +4699,35 @@ static const struct test tests[] = { 11736 + "866268925981702690270202829595794350800918257913991744455922" 11737 + "683343374046671669930219650268554687501e-4951", 11738 + false, 11739 + - 0x0p+0, false, 11740 + - 0x0p+0, false, 11741 + - 0x0p+0, false, 11742 + - 0x8p-152, false, 11743 + - false, 11744 + - 0x0p+0, false, 11745 + - 0x0p+0, false, 11746 + - 0x0p+0, false, 11747 + - 0x4p-1076, false, 11748 + - false, 11749 + - 0x8p-16448, false, 11750 + - 0x1p-16444, false, 11751 + - 0x8p-16448, false, 11752 + - 0x1p-16444, false, 11753 + - false, 11754 + - 0xcp-16448, false, 11755 + - 0xcp-16448, false, 11756 + - 0xcp-16448, false, 11757 + - 0x1p-16444, false, 11758 + - false, 11759 + - 0x0p+0, false, 11760 + - 0x0p+0, false, 11761 + - 0x0p+0, false, 11762 + - 0x4p-1076, false, 11763 + - false, 11764 + - 0xcp-16448, false, 11765 + - 0xcp-16448, false, 11766 + - 0xcp-16448, false, 11767 + - 0xc.000000000004p-16448, false), 11768 + + 0x0p+0, false, true, 11769 + + 0x0p+0, false, true, 11770 + + 0x0p+0, false, true, 11771 + + 0x8p-152, false, true, 11772 + + false, 11773 + + 0x0p+0, false, true, 11774 + + 0x0p+0, false, true, 11775 + + 0x0p+0, false, true, 11776 + + 0x4p-1076, false, true, 11777 + + false, 11778 + + 0x8p-16448, false, true, 11779 + + 0x1p-16444, false, true, 11780 + + 0x8p-16448, false, true, 11781 + + 0x1p-16444, false, true, 11782 + + false, 11783 + + 0xcp-16448, false, true, 11784 + + 0xcp-16448, false, true, 11785 + + 0xcp-16448, false, true, 11786 + + 0x1p-16444, false, true, 11787 + + false, 11788 + + 0x0p+0, false, true, 11789 + + 0x0p+0, false, true, 11790 + + 0x0p+0, false, true, 11791 + + 0x4p-1076, false, true, 11792 + + false, 11793 + + 0xcp-16448, false, true, 11794 + + 0xcp-16448, false, true, 11795 + + 0xcp-16448, false, true, 11796 + + 0xc.000000000004p-16448, false, true), 11797 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 11798 + "470730542557532950096605214341062938740807795871021020805296" 11799 + "652950478448933048254960262113384713508225733871766897517853" 11800 + @@ -4921,35 +4921,35 @@ static const struct test tests[] = { 11801 + "386626892598170269027020282959579435080091825791399174445592" 11802 + "2683343374046671669930219650268554687499e-4951", 11803 + false, 11804 + - -0x8p-152, false, 11805 + - -0x0p+0, false, 11806 + - -0x0p+0, false, 11807 + - -0x0p+0, false, 11808 + - false, 11809 + - -0x4p-1076, false, 11810 + - -0x0p+0, false, 11811 + - -0x0p+0, false, 11812 + - -0x0p+0, false, 11813 + - false, 11814 + - -0x1p-16444, false, 11815 + - -0x8p-16448, false, 11816 + - -0x8p-16448, false, 11817 + - -0x8p-16448, false, 11818 + - false, 11819 + - -0xcp-16448, false, 11820 + - -0xcp-16448, false, 11821 + - -0x8p-16448, false, 11822 + - -0x8p-16448, false, 11823 + - false, 11824 + - -0x4p-1076, false, 11825 + - -0x0p+0, false, 11826 + - -0x0p+0, false, 11827 + - -0x0p+0, false, 11828 + - false, 11829 + - -0xcp-16448, false, 11830 + - -0xcp-16448, false, 11831 + - -0xb.fffffffffffcp-16448, false, 11832 + - -0xb.fffffffffffcp-16448, false), 11833 + + -0x8p-152, false, true, 11834 + + -0x0p+0, false, true, 11835 + + -0x0p+0, false, true, 11836 + + -0x0p+0, false, true, 11837 + + false, 11838 + + -0x4p-1076, false, true, 11839 + + -0x0p+0, false, true, 11840 + + -0x0p+0, false, true, 11841 + + -0x0p+0, false, true, 11842 + + false, 11843 + + -0x1p-16444, false, true, 11844 + + -0x8p-16448, false, true, 11845 + + -0x8p-16448, false, true, 11846 + + -0x8p-16448, false, true, 11847 + + false, 11848 + + -0xcp-16448, false, true, 11849 + + -0xcp-16448, false, true, 11850 + + -0x8p-16448, false, true, 11851 + + -0x8p-16448, false, true, 11852 + + false, 11853 + + -0x4p-1076, false, true, 11854 + + -0x0p+0, false, true, 11855 + + -0x0p+0, false, true, 11856 + + -0x0p+0, false, true, 11857 + + false, 11858 + + -0xcp-16448, false, true, 11859 + + -0xcp-16448, false, true, 11860 + + -0xb.fffffffffffcp-16448, false, true, 11861 + + -0xb.fffffffffffcp-16448, false, true), 11862 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 11863 + "470730542557532950096605214341062938740807795871021020805296" 11864 + "652950478448933048254960262113384713508225733871766897517853" 11865 + @@ -5143,35 +5143,35 @@ static const struct test tests[] = { 11866 + "386626892598170269027020282959579435080091825791399174445592" 11867 + "26833433740466716699302196502685546875e-4951", 11868 + false, 11869 + - -0x8p-152, false, 11870 + - -0x0p+0, false, 11871 + - -0x0p+0, false, 11872 + - -0x0p+0, false, 11873 + - false, 11874 + - -0x4p-1076, false, 11875 + - -0x0p+0, false, 11876 + - -0x0p+0, false, 11877 + - -0x0p+0, false, 11878 + - false, 11879 + - -0x1p-16444, false, 11880 + - -0x1p-16444, false, 11881 + - -0x8p-16448, false, 11882 + - -0x8p-16448, false, 11883 + - true, 11884 + - -0xcp-16448, false, 11885 + - -0xcp-16448, false, 11886 + - -0xcp-16448, false, 11887 + - -0xcp-16448, false, 11888 + - false, 11889 + - -0x4p-1076, false, 11890 + - -0x0p+0, false, 11891 + - -0x0p+0, false, 11892 + - -0x0p+0, false, 11893 + - true, 11894 + - -0xcp-16448, false, 11895 + - -0xcp-16448, false, 11896 + - -0xcp-16448, false, 11897 + - -0xcp-16448, false), 11898 + + -0x8p-152, false, true, 11899 + + -0x0p+0, false, true, 11900 + + -0x0p+0, false, true, 11901 + + -0x0p+0, false, true, 11902 + + false, 11903 + + -0x4p-1076, false, true, 11904 + + -0x0p+0, false, true, 11905 + + -0x0p+0, false, true, 11906 + + -0x0p+0, false, true, 11907 + + false, 11908 + + -0x1p-16444, false, true, 11909 + + -0x1p-16444, false, true, 11910 + + -0x8p-16448, false, true, 11911 + + -0x8p-16448, false, true, 11912 + + true, 11913 + + -0xcp-16448, false, false, 11914 + + -0xcp-16448, false, false, 11915 + + -0xcp-16448, false, false, 11916 + + -0xcp-16448, false, false, 11917 + + false, 11918 + + -0x4p-1076, false, true, 11919 + + -0x0p+0, false, true, 11920 + + -0x0p+0, false, true, 11921 + + -0x0p+0, false, true, 11922 + + true, 11923 + + -0xcp-16448, false, false, 11924 + + -0xcp-16448, false, false, 11925 + + -0xcp-16448, false, false, 11926 + + -0xcp-16448, false, false), 11927 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 11928 + "470730542557532950096605214341062938740807795871021020805296" 11929 + "652950478448933048254960262113384713508225733871766897517853" 11930 + @@ -5365,35 +5365,35 @@ static const struct test tests[] = { 11931 + "386626892598170269027020282959579435080091825791399174445592" 11932 + "2683343374046671669930219650268554687501e-4951", 11933 + false, 11934 + - -0x8p-152, false, 11935 + - -0x0p+0, false, 11936 + - -0x0p+0, false, 11937 + - -0x0p+0, false, 11938 + - false, 11939 + - -0x4p-1076, false, 11940 + - -0x0p+0, false, 11941 + - -0x0p+0, false, 11942 + - -0x0p+0, false, 11943 + - false, 11944 + - -0x1p-16444, false, 11945 + - -0x1p-16444, false, 11946 + - -0x8p-16448, false, 11947 + - -0x8p-16448, false, 11948 + - false, 11949 + - -0x1p-16444, false, 11950 + - -0xcp-16448, false, 11951 + - -0xcp-16448, false, 11952 + - -0xcp-16448, false, 11953 + - false, 11954 + - -0x4p-1076, false, 11955 + - -0x0p+0, false, 11956 + - -0x0p+0, false, 11957 + - -0x0p+0, false, 11958 + - false, 11959 + - -0xc.000000000004p-16448, false, 11960 + - -0xcp-16448, false, 11961 + - -0xcp-16448, false, 11962 + - -0xcp-16448, false), 11963 + + -0x8p-152, false, true, 11964 + + -0x0p+0, false, true, 11965 + + -0x0p+0, false, true, 11966 + + -0x0p+0, false, true, 11967 + + false, 11968 + + -0x4p-1076, false, true, 11969 + + -0x0p+0, false, true, 11970 + + -0x0p+0, false, true, 11971 + + -0x0p+0, false, true, 11972 + + false, 11973 + + -0x1p-16444, false, true, 11974 + + -0x1p-16444, false, true, 11975 + + -0x8p-16448, false, true, 11976 + + -0x8p-16448, false, true, 11977 + + false, 11978 + + -0x1p-16444, false, true, 11979 + + -0xcp-16448, false, true, 11980 + + -0xcp-16448, false, true, 11981 + + -0xcp-16448, false, true, 11982 + + false, 11983 + + -0x4p-1076, false, true, 11984 + + -0x0p+0, false, true, 11985 + + -0x0p+0, false, true, 11986 + + -0x0p+0, false, true, 11987 + + false, 11988 + + -0xc.000000000004p-16448, false, true, 11989 + + -0xcp-16448, false, true, 11990 + + -0xcp-16448, false, true, 11991 + + -0xcp-16448, false, true), 11992 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 11993 + "707305425575329500966052143410629387408077958710210208052966" 11994 + "529504784489330482549602621133847135082257338717668975178538" 11995 + @@ -5587,35 +5587,35 @@ static const struct test tests[] = { 11996 + "866268925981702690270202829595794350800918257913991744455922" 11997 + "683343374046671669930219650268554687499e-4951", 11998 + false, 11999 + - 0x0p+0, false, 12000 + - 0x0p+0, false, 12001 + - 0x0p+0, false, 12002 + - 0x8p-152, false, 12003 + - false, 12004 + - 0x0p+0, false, 12005 + - 0x0p+0, false, 12006 + - 0x0p+0, false, 12007 + - 0x4p-1076, false, 12008 + - false, 12009 + - 0x8p-16448, false, 12010 + - 0x8p-16448, false, 12011 + - 0x8p-16448, false, 12012 + - 0x1p-16444, false, 12013 + - false, 12014 + - 0x8p-16448, false, 12015 + - 0xcp-16448, false, 12016 + - 0x8p-16448, false, 12017 + - 0xcp-16448, false, 12018 + - false, 12019 + - 0x0p+0, false, 12020 + - 0x0p+0, false, 12021 + - 0x0p+0, false, 12022 + - 0x4p-1076, false, 12023 + - false, 12024 + - 0xb.fffffffffffcp-16448, false, 12025 + - 0xcp-16448, false, 12026 + - 0xb.fffffffffffcp-16448, false, 12027 + - 0xcp-16448, false), 12028 + + 0x0p+0, false, true, 12029 + + 0x0p+0, false, true, 12030 + + 0x0p+0, false, true, 12031 + + 0x8p-152, false, true, 12032 + + false, 12033 + + 0x0p+0, false, true, 12034 + + 0x0p+0, false, true, 12035 + + 0x0p+0, false, true, 12036 + + 0x4p-1076, false, true, 12037 + + false, 12038 + + 0x8p-16448, false, true, 12039 + + 0x8p-16448, false, true, 12040 + + 0x8p-16448, false, true, 12041 + + 0x1p-16444, false, true, 12042 + + false, 12043 + + 0x8p-16448, false, true, 12044 + + 0xcp-16448, false, true, 12045 + + 0x8p-16448, false, true, 12046 + + 0xcp-16448, false, true, 12047 + + false, 12048 + + 0x0p+0, false, true, 12049 + + 0x0p+0, false, true, 12050 + + 0x0p+0, false, true, 12051 + + 0x4p-1076, false, true, 12052 + + false, 12053 + + 0xb.fffffffffffcp-16448, false, true, 12054 + + 0xcp-16448, false, true, 12055 + + 0xb.fffffffffffcp-16448, false, true, 12056 + + 0xcp-16448, false, true), 12057 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 12058 + "707305425575329500966052143410629387408077958710210208052966" 12059 + "529504784489330482549602621133847135082257338717668975178538" 12060 + @@ -5809,35 +5809,35 @@ static const struct test tests[] = { 12061 + "866268925981702690270202829595794350800918257913991744455922" 12062 + "6833433740466716699302196502685546875e-4951", 12063 + false, 12064 + - 0x0p+0, false, 12065 + - 0x0p+0, false, 12066 + - 0x0p+0, false, 12067 + - 0x8p-152, false, 12068 + - false, 12069 + - 0x0p+0, false, 12070 + - 0x0p+0, false, 12071 + - 0x0p+0, false, 12072 + - 0x4p-1076, false, 12073 + - false, 12074 + - 0x8p-16448, false, 12075 + - 0x1p-16444, false, 12076 + - 0x8p-16448, false, 12077 + - 0x1p-16444, false, 12078 + - true, 12079 + - 0xcp-16448, false, 12080 + - 0xcp-16448, false, 12081 + - 0xcp-16448, false, 12082 + - 0xcp-16448, false, 12083 + - false, 12084 + - 0x0p+0, false, 12085 + - 0x0p+0, false, 12086 + - 0x0p+0, false, 12087 + - 0x4p-1076, false, 12088 + - true, 12089 + - 0xcp-16448, false, 12090 + - 0xcp-16448, false, 12091 + - 0xcp-16448, false, 12092 + - 0xcp-16448, false), 12093 + + 0x0p+0, false, true, 12094 + + 0x0p+0, false, true, 12095 + + 0x0p+0, false, true, 12096 + + 0x8p-152, false, true, 12097 + + false, 12098 + + 0x0p+0, false, true, 12099 + + 0x0p+0, false, true, 12100 + + 0x0p+0, false, true, 12101 + + 0x4p-1076, false, true, 12102 + + false, 12103 + + 0x8p-16448, false, true, 12104 + + 0x1p-16444, false, true, 12105 + + 0x8p-16448, false, true, 12106 + + 0x1p-16444, false, true, 12107 + + true, 12108 + + 0xcp-16448, false, false, 12109 + + 0xcp-16448, false, false, 12110 + + 0xcp-16448, false, false, 12111 + + 0xcp-16448, false, false, 12112 + + false, 12113 + + 0x0p+0, false, true, 12114 + + 0x0p+0, false, true, 12115 + + 0x0p+0, false, true, 12116 + + 0x4p-1076, false, true, 12117 + + true, 12118 + + 0xcp-16448, false, false, 12119 + + 0xcp-16448, false, false, 12120 + + 0xcp-16448, false, false, 12121 + + 0xcp-16448, false, false), 12122 + TEST ("5.4677992978237119037926089004291297245985762235403450155814" 12123 + "707305425575329500966052143410629387408077958710210208052966" 12124 + "529504784489330482549602621133847135082257338717668975178538" 12125 + @@ -6031,35 +6031,35 @@ static const struct test tests[] = { 12126 + "866268925981702690270202829595794350800918257913991744455922" 12127 + "683343374046671669930219650268554687501e-4951", 12128 + false, 12129 + - 0x0p+0, false, 12130 + - 0x0p+0, false, 12131 + - 0x0p+0, false, 12132 + - 0x8p-152, false, 12133 + - false, 12134 + - 0x0p+0, false, 12135 + - 0x0p+0, false, 12136 + - 0x0p+0, false, 12137 + - 0x4p-1076, false, 12138 + - false, 12139 + - 0x8p-16448, false, 12140 + - 0x1p-16444, false, 12141 + - 0x8p-16448, false, 12142 + - 0x1p-16444, false, 12143 + - false, 12144 + - 0xcp-16448, false, 12145 + - 0xcp-16448, false, 12146 + - 0xcp-16448, false, 12147 + - 0x1p-16444, false, 12148 + - false, 12149 + - 0x0p+0, false, 12150 + - 0x0p+0, false, 12151 + - 0x0p+0, false, 12152 + - 0x4p-1076, false, 12153 + - false, 12154 + - 0xcp-16448, false, 12155 + - 0xcp-16448, false, 12156 + - 0xcp-16448, false, 12157 + - 0xc.000000000004p-16448, false), 12158 + + 0x0p+0, false, true, 12159 + + 0x0p+0, false, true, 12160 + + 0x0p+0, false, true, 12161 + + 0x8p-152, false, true, 12162 + + false, 12163 + + 0x0p+0, false, true, 12164 + + 0x0p+0, false, true, 12165 + + 0x0p+0, false, true, 12166 + + 0x4p-1076, false, true, 12167 + + false, 12168 + + 0x8p-16448, false, true, 12169 + + 0x1p-16444, false, true, 12170 + + 0x8p-16448, false, true, 12171 + + 0x1p-16444, false, true, 12172 + + false, 12173 + + 0xcp-16448, false, true, 12174 + + 0xcp-16448, false, true, 12175 + + 0xcp-16448, false, true, 12176 + + 0x1p-16444, false, true, 12177 + + false, 12178 + + 0x0p+0, false, true, 12179 + + 0x0p+0, false, true, 12180 + + 0x0p+0, false, true, 12181 + + 0x4p-1076, false, true, 12182 + + false, 12183 + + 0xcp-16448, false, true, 12184 + + 0xcp-16448, false, true, 12185 + + 0xcp-16448, false, true, 12186 + + 0xc.000000000004p-16448, false, true), 12187 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 12188 + "470730542557532950096605214341062938740807795871021020805296" 12189 + "652950478448933048254960262113384713508225733871766897517853" 12190 + @@ -6253,35 +6253,35 @@ static const struct test tests[] = { 12191 + "386626892598170269027020282959579435080091825791399174445592" 12192 + "2683343374046671669930219650268554687499e-4951", 12193 + false, 12194 + - -0x8p-152, false, 12195 + - -0x0p+0, false, 12196 + - -0x0p+0, false, 12197 + - -0x0p+0, false, 12198 + - false, 12199 + - -0x4p-1076, false, 12200 + - -0x0p+0, false, 12201 + - -0x0p+0, false, 12202 + - -0x0p+0, false, 12203 + - false, 12204 + - -0x1p-16444, false, 12205 + - -0x8p-16448, false, 12206 + - -0x8p-16448, false, 12207 + - -0x8p-16448, false, 12208 + - false, 12209 + - -0xcp-16448, false, 12210 + - -0xcp-16448, false, 12211 + - -0x8p-16448, false, 12212 + - -0x8p-16448, false, 12213 + - false, 12214 + - -0x4p-1076, false, 12215 + - -0x0p+0, false, 12216 + - -0x0p+0, false, 12217 + - -0x0p+0, false, 12218 + - false, 12219 + - -0xcp-16448, false, 12220 + - -0xcp-16448, false, 12221 + - -0xb.fffffffffffcp-16448, false, 12222 + - -0xb.fffffffffffcp-16448, false), 12223 + + -0x8p-152, false, true, 12224 + + -0x0p+0, false, true, 12225 + + -0x0p+0, false, true, 12226 + + -0x0p+0, false, true, 12227 + + false, 12228 + + -0x4p-1076, false, true, 12229 + + -0x0p+0, false, true, 12230 + + -0x0p+0, false, true, 12231 + + -0x0p+0, false, true, 12232 + + false, 12233 + + -0x1p-16444, false, true, 12234 + + -0x8p-16448, false, true, 12235 + + -0x8p-16448, false, true, 12236 + + -0x8p-16448, false, true, 12237 + + false, 12238 + + -0xcp-16448, false, true, 12239 + + -0xcp-16448, false, true, 12240 + + -0x8p-16448, false, true, 12241 + + -0x8p-16448, false, true, 12242 + + false, 12243 + + -0x4p-1076, false, true, 12244 + + -0x0p+0, false, true, 12245 + + -0x0p+0, false, true, 12246 + + -0x0p+0, false, true, 12247 + + false, 12248 + + -0xcp-16448, false, true, 12249 + + -0xcp-16448, false, true, 12250 + + -0xb.fffffffffffcp-16448, false, true, 12251 + + -0xb.fffffffffffcp-16448, false, true), 12252 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 12253 + "470730542557532950096605214341062938740807795871021020805296" 12254 + "652950478448933048254960262113384713508225733871766897517853" 12255 + @@ -6475,35 +6475,35 @@ static const struct test tests[] = { 12256 + "386626892598170269027020282959579435080091825791399174445592" 12257 + "26833433740466716699302196502685546875e-4951", 12258 + false, 12259 + - -0x8p-152, false, 12260 + - -0x0p+0, false, 12261 + - -0x0p+0, false, 12262 + - -0x0p+0, false, 12263 + - false, 12264 + - -0x4p-1076, false, 12265 + - -0x0p+0, false, 12266 + - -0x0p+0, false, 12267 + - -0x0p+0, false, 12268 + - false, 12269 + - -0x1p-16444, false, 12270 + - -0x1p-16444, false, 12271 + - -0x8p-16448, false, 12272 + - -0x8p-16448, false, 12273 + - true, 12274 + - -0xcp-16448, false, 12275 + - -0xcp-16448, false, 12276 + - -0xcp-16448, false, 12277 + - -0xcp-16448, false, 12278 + - false, 12279 + - -0x4p-1076, false, 12280 + - -0x0p+0, false, 12281 + - -0x0p+0, false, 12282 + - -0x0p+0, false, 12283 + - true, 12284 + - -0xcp-16448, false, 12285 + - -0xcp-16448, false, 12286 + - -0xcp-16448, false, 12287 + - -0xcp-16448, false), 12288 + + -0x8p-152, false, true, 12289 + + -0x0p+0, false, true, 12290 + + -0x0p+0, false, true, 12291 + + -0x0p+0, false, true, 12292 + + false, 12293 + + -0x4p-1076, false, true, 12294 + + -0x0p+0, false, true, 12295 + + -0x0p+0, false, true, 12296 + + -0x0p+0, false, true, 12297 + + false, 12298 + + -0x1p-16444, false, true, 12299 + + -0x1p-16444, false, true, 12300 + + -0x8p-16448, false, true, 12301 + + -0x8p-16448, false, true, 12302 + + true, 12303 + + -0xcp-16448, false, false, 12304 + + -0xcp-16448, false, false, 12305 + + -0xcp-16448, false, false, 12306 + + -0xcp-16448, false, false, 12307 + + false, 12308 + + -0x4p-1076, false, true, 12309 + + -0x0p+0, false, true, 12310 + + -0x0p+0, false, true, 12311 + + -0x0p+0, false, true, 12312 + + true, 12313 + + -0xcp-16448, false, false, 12314 + + -0xcp-16448, false, false, 12315 + + -0xcp-16448, false, false, 12316 + + -0xcp-16448, false, false), 12317 + TEST ("-5.467799297823711903792608900429129724598576223540345015581" 12318 + "470730542557532950096605214341062938740807795871021020805296" 12319 + "652950478448933048254960262113384713508225733871766897517853" 12320 + @@ -6697,630 +6697,630 @@ static const struct test tests[] = { 12321 + "386626892598170269027020282959579435080091825791399174445592" 12322 + "2683343374046671669930219650268554687501e-4951", 12323 + false, 12324 + - -0x8p-152, false, 12325 + - -0x0p+0, false, 12326 + - -0x0p+0, false, 12327 + - -0x0p+0, false, 12328 + - false, 12329 + - -0x4p-1076, false, 12330 + - -0x0p+0, false, 12331 + - -0x0p+0, false, 12332 + - -0x0p+0, false, 12333 + - false, 12334 + - -0x1p-16444, false, 12335 + - -0x1p-16444, false, 12336 + - -0x8p-16448, false, 12337 + - -0x8p-16448, false, 12338 + - false, 12339 + - -0x1p-16444, false, 12340 + - -0xcp-16448, false, 12341 + - -0xcp-16448, false, 12342 + - -0xcp-16448, false, 12343 + - false, 12344 + - -0x4p-1076, false, 12345 + - -0x0p+0, false, 12346 + - -0x0p+0, false, 12347 + - -0x0p+0, false, 12348 + - false, 12349 + - -0xc.000000000004p-16448, false, 12350 + - -0xcp-16448, false, 12351 + - -0xcp-16448, false, 12352 + - -0xcp-16448, false), 12353 + + -0x8p-152, false, true, 12354 + + -0x0p+0, false, true, 12355 + + -0x0p+0, false, true, 12356 + + -0x0p+0, false, true, 12357 + + false, 12358 + + -0x4p-1076, false, true, 12359 + + -0x0p+0, false, true, 12360 + + -0x0p+0, false, true, 12361 + + -0x0p+0, false, true, 12362 + + false, 12363 + + -0x1p-16444, false, true, 12364 + + -0x1p-16444, false, true, 12365 + + -0x8p-16448, false, true, 12366 + + -0x8p-16448, false, true, 12367 + + false, 12368 + + -0x1p-16444, false, true, 12369 + + -0xcp-16448, false, true, 12370 + + -0xcp-16448, false, true, 12371 + + -0xcp-16448, false, true, 12372 + + false, 12373 + + -0x4p-1076, false, true, 12374 + + -0x0p+0, false, true, 12375 + + -0x0p+0, false, true, 12376 + + -0x0p+0, false, true, 12377 + + false, 12378 + + -0xc.000000000004p-16448, false, true, 12379 + + -0xcp-16448, false, true, 12380 + + -0xcp-16448, false, true, 12381 + + -0xcp-16448, false, true), 12382 + TEST ("-0x0.7p-149", 12383 + false, 12384 + - -0x8p-152, false, 12385 + - -0x0p+0, false, 12386 + - -0x0p+0, false, 12387 + - -0x0p+0, false, 12388 + - true, 12389 + - -0x3.8p-152, false, 12390 + - -0x3.8p-152, false, 12391 + - -0x3.8p-152, false, 12392 + - -0x3.8p-152, false, 12393 + - true, 12394 + - -0x3.8p-152, false, 12395 + - -0x3.8p-152, false, 12396 + - -0x3.8p-152, false, 12397 + - -0x3.8p-152, false, 12398 + - true, 12399 + - -0x3.8p-152, false, 12400 + - -0x3.8p-152, false, 12401 + - -0x3.8p-152, false, 12402 + - -0x3.8p-152, false, 12403 + - true, 12404 + - -0x3.8p-152, false, 12405 + - -0x3.8p-152, false, 12406 + - -0x3.8p-152, false, 12407 + - -0x3.8p-152, false, 12408 + - true, 12409 + - -0x3.8p-152, false, 12410 + - -0x3.8p-152, false, 12411 + - -0x3.8p-152, false, 12412 + - -0x3.8p-152, false), 12413 + + -0x8p-152, false, true, 12414 + + -0x0p+0, false, true, 12415 + + -0x0p+0, false, true, 12416 + + -0x0p+0, false, true, 12417 + + true, 12418 + + -0x3.8p-152, false, false, 12419 + + -0x3.8p-152, false, false, 12420 + + -0x3.8p-152, false, false, 12421 + + -0x3.8p-152, false, false, 12422 + + true, 12423 + + -0x3.8p-152, false, false, 12424 + + -0x3.8p-152, false, false, 12425 + + -0x3.8p-152, false, false, 12426 + + -0x3.8p-152, false, false, 12427 + + true, 12428 + + -0x3.8p-152, false, false, 12429 + + -0x3.8p-152, false, false, 12430 + + -0x3.8p-152, false, false, 12431 + + -0x3.8p-152, false, false, 12432 + + true, 12433 + + -0x3.8p-152, false, false, 12434 + + -0x3.8p-152, false, false, 12435 + + -0x3.8p-152, false, false, 12436 + + -0x3.8p-152, false, false, 12437 + + true, 12438 + + -0x3.8p-152, false, false, 12439 + + -0x3.8p-152, false, false, 12440 + + -0x3.8p-152, false, false, 12441 + + -0x3.8p-152, false, false), 12442 + TEST ("-0x0.7p-1074", 12443 + false, 12444 + - -0x8p-152, false, 12445 + - -0x0p+0, false, 12446 + - -0x0p+0, false, 12447 + - -0x0p+0, false, 12448 + - false, 12449 + - -0x4p-1076, false, 12450 + - -0x0p+0, false, 12451 + - -0x0p+0, false, 12452 + - -0x0p+0, false, 12453 + - true, 12454 + - -0x1.cp-1076, false, 12455 + - -0x1.cp-1076, false, 12456 + - -0x1.cp-1076, false, 12457 + - -0x1.cp-1076, false, 12458 + - true, 12459 + - -0x1.cp-1076, false, 12460 + - -0x1.cp-1076, false, 12461 + - -0x1.cp-1076, false, 12462 + - -0x1.cp-1076, false, 12463 + - false, 12464 + - -0x4p-1076, false, 12465 + - -0x0p+0, false, 12466 + - -0x0p+0, false, 12467 + - -0x0p+0, false, 12468 + - true, 12469 + - -0x1.cp-1076, false, 12470 + - -0x1.cp-1076, false, 12471 + - -0x1.cp-1076, false, 12472 + - -0x1.cp-1076, false), 12473 + + -0x8p-152, false, true, 12474 + + -0x0p+0, false, true, 12475 + + -0x0p+0, false, true, 12476 + + -0x0p+0, false, true, 12477 + + false, 12478 + + -0x4p-1076, false, true, 12479 + + -0x0p+0, false, true, 12480 + + -0x0p+0, false, true, 12481 + + -0x0p+0, false, true, 12482 + + true, 12483 + + -0x1.cp-1076, false, false, 12484 + + -0x1.cp-1076, false, false, 12485 + + -0x1.cp-1076, false, false, 12486 + + -0x1.cp-1076, false, false, 12487 + + true, 12488 + + -0x1.cp-1076, false, false, 12489 + + -0x1.cp-1076, false, false, 12490 + + -0x1.cp-1076, false, false, 12491 + + -0x1.cp-1076, false, false, 12492 + + false, 12493 + + -0x4p-1076, false, true, 12494 + + -0x0p+0, false, true, 12495 + + -0x0p+0, false, true, 12496 + + -0x0p+0, false, true, 12497 + + true, 12498 + + -0x1.cp-1076, false, false, 12499 + + -0x1.cp-1076, false, false, 12500 + + -0x1.cp-1076, false, false, 12501 + + -0x1.cp-1076, false, false), 12502 + TEST ("-0x0.7p-16445", 12503 + false, 12504 + - -0x8p-152, false, 12505 + - -0x0p+0, false, 12506 + - -0x0p+0, false, 12507 + - -0x0p+0, false, 12508 + - false, 12509 + - -0x4p-1076, false, 12510 + - -0x0p+0, false, 12511 + - -0x0p+0, false, 12512 + - -0x0p+0, false, 12513 + - false, 12514 + - -0x8p-16448, false, 12515 + - -0x0p+0, false, 12516 + - -0x0p+0, false, 12517 + - -0x0p+0, false, 12518 + - false, 12519 + - -0x4p-16448, false, 12520 + - -0x4p-16448, false, 12521 + - -0x0p+0, false, 12522 + - -0x0p+0, false, 12523 + - false, 12524 + - -0x4p-1076, false, 12525 + - -0x0p+0, false, 12526 + - -0x0p+0, false, 12527 + - -0x0p+0, false, 12528 + - true, 12529 + - -0x3.8p-16448, false, 12530 + - -0x3.8p-16448, false, 12531 + - -0x3.8p-16448, false, 12532 + - -0x3.8p-16448, false), 12533 + + -0x8p-152, false, true, 12534 + + -0x0p+0, false, true, 12535 + + -0x0p+0, false, true, 12536 + + -0x0p+0, false, true, 12537 + + false, 12538 + + -0x4p-1076, false, true, 12539 + + -0x0p+0, false, true, 12540 + + -0x0p+0, false, true, 12541 + + -0x0p+0, false, true, 12542 + + false, 12543 + + -0x8p-16448, false, true, 12544 + + -0x0p+0, false, true, 12545 + + -0x0p+0, false, true, 12546 + + -0x0p+0, false, true, 12547 + + false, 12548 + + -0x4p-16448, false, true, 12549 + + -0x4p-16448, false, true, 12550 + + -0x0p+0, false, true, 12551 + + -0x0p+0, false, true, 12552 + + false, 12553 + + -0x4p-1076, false, true, 12554 + + -0x0p+0, false, true, 12555 + + -0x0p+0, false, true, 12556 + + -0x0p+0, false, true, 12557 + + true, 12558 + + -0x3.8p-16448, false, false, 12559 + + -0x3.8p-16448, false, false, 12560 + + -0x3.8p-16448, false, false, 12561 + + -0x3.8p-16448, false, false), 12562 + TEST ("-0x0.7p-16494", 12563 + false, 12564 + - -0x8p-152, false, 12565 + - -0x0p+0, false, 12566 + - -0x0p+0, false, 12567 + - -0x0p+0, false, 12568 + - false, 12569 + - -0x4p-1076, false, 12570 + - -0x0p+0, false, 12571 + - -0x0p+0, false, 12572 + - -0x0p+0, false, 12573 + - false, 12574 + - -0x8p-16448, false, 12575 + - -0x0p+0, false, 12576 + - -0x0p+0, false, 12577 + - -0x0p+0, false, 12578 + - false, 12579 + - -0x4p-16448, false, 12580 + - -0x0p+0, false, 12581 + - -0x0p+0, false, 12582 + - -0x0p+0, false, 12583 + - false, 12584 + - -0x4p-1076, false, 12585 + - -0x0p+0, false, 12586 + - -0x0p+0, false, 12587 + - -0x0p+0, false, 12588 + - false, 12589 + - -0x4p-16496, false, 12590 + - -0x0p+0, false, 12591 + - -0x0p+0, false, 12592 + - -0x0p+0, false), 12593 + + -0x8p-152, false, true, 12594 + + -0x0p+0, false, true, 12595 + + -0x0p+0, false, true, 12596 + + -0x0p+0, false, true, 12597 + + false, 12598 + + -0x4p-1076, false, true, 12599 + + -0x0p+0, false, true, 12600 + + -0x0p+0, false, true, 12601 + + -0x0p+0, false, true, 12602 + + false, 12603 + + -0x8p-16448, false, true, 12604 + + -0x0p+0, false, true, 12605 + + -0x0p+0, false, true, 12606 + + -0x0p+0, false, true, 12607 + + false, 12608 + + -0x4p-16448, false, true, 12609 + + -0x0p+0, false, true, 12610 + + -0x0p+0, false, true, 12611 + + -0x0p+0, false, true, 12612 + + false, 12613 + + -0x4p-1076, false, true, 12614 + + -0x0p+0, false, true, 12615 + + -0x0p+0, false, true, 12616 + + -0x0p+0, false, true, 12617 + + false, 12618 + + -0x4p-16496, false, true, 12619 + + -0x0p+0, false, true, 12620 + + -0x0p+0, false, true, 12621 + + -0x0p+0, false, true), 12622 + TEST ("0x1p-150", 12623 + false, 12624 + - 0x0p+0, false, 12625 + - 0x0p+0, false, 12626 + - 0x0p+0, false, 12627 + - 0x8p-152, false, 12628 + - true, 12629 + - 0x4p-152, false, 12630 + - 0x4p-152, false, 12631 + - 0x4p-152, false, 12632 + - 0x4p-152, false, 12633 + - true, 12634 + - 0x4p-152, false, 12635 + - 0x4p-152, false, 12636 + - 0x4p-152, false, 12637 + - 0x4p-152, false, 12638 + - true, 12639 + - 0x4p-152, false, 12640 + - 0x4p-152, false, 12641 + - 0x4p-152, false, 12642 + - 0x4p-152, false, 12643 + - true, 12644 + - 0x4p-152, false, 12645 + - 0x4p-152, false, 12646 + - 0x4p-152, false, 12647 + - 0x4p-152, false, 12648 + - true, 12649 + - 0x4p-152, false, 12650 + - 0x4p-152, false, 12651 + - 0x4p-152, false, 12652 + - 0x4p-152, false), 12653 + + 0x0p+0, false, true, 12654 + + 0x0p+0, false, true, 12655 + + 0x0p+0, false, true, 12656 + + 0x8p-152, false, true, 12657 + + true, 12658 + + 0x4p-152, false, false, 12659 + + 0x4p-152, false, false, 12660 + + 0x4p-152, false, false, 12661 + + 0x4p-152, false, false, 12662 + + true, 12663 + + 0x4p-152, false, false, 12664 + + 0x4p-152, false, false, 12665 + + 0x4p-152, false, false, 12666 + + 0x4p-152, false, false, 12667 + + true, 12668 + + 0x4p-152, false, false, 12669 + + 0x4p-152, false, false, 12670 + + 0x4p-152, false, false, 12671 + + 0x4p-152, false, false, 12672 + + true, 12673 + + 0x4p-152, false, false, 12674 + + 0x4p-152, false, false, 12675 + + 0x4p-152, false, false, 12676 + + 0x4p-152, false, false, 12677 + + true, 12678 + + 0x4p-152, false, false, 12679 + + 0x4p-152, false, false, 12680 + + 0x4p-152, false, false, 12681 + + 0x4p-152, false, false), 12682 + TEST ("0x1p-1075", 12683 + false, 12684 + - 0x0p+0, false, 12685 + - 0x0p+0, false, 12686 + - 0x0p+0, false, 12687 + - 0x8p-152, false, 12688 + - false, 12689 + - 0x0p+0, false, 12690 + - 0x0p+0, false, 12691 + - 0x0p+0, false, 12692 + - 0x4p-1076, false, 12693 + - true, 12694 + - 0x2p-1076, false, 12695 + - 0x2p-1076, false, 12696 + - 0x2p-1076, false, 12697 + - 0x2p-1076, false, 12698 + - true, 12699 + - 0x2p-1076, false, 12700 + - 0x2p-1076, false, 12701 + - 0x2p-1076, false, 12702 + - 0x2p-1076, false, 12703 + - false, 12704 + - 0x0p+0, false, 12705 + - 0x0p+0, false, 12706 + - 0x0p+0, false, 12707 + - 0x4p-1076, false, 12708 + - true, 12709 + - 0x2p-1076, false, 12710 + - 0x2p-1076, false, 12711 + - 0x2p-1076, false, 12712 + - 0x2p-1076, false), 12713 + + 0x0p+0, false, true, 12714 + + 0x0p+0, false, true, 12715 + + 0x0p+0, false, true, 12716 + + 0x8p-152, false, true, 12717 + + false, 12718 + + 0x0p+0, false, true, 12719 + + 0x0p+0, false, true, 12720 + + 0x0p+0, false, true, 12721 + + 0x4p-1076, false, true, 12722 + + true, 12723 + + 0x2p-1076, false, false, 12724 + + 0x2p-1076, false, false, 12725 + + 0x2p-1076, false, false, 12726 + + 0x2p-1076, false, false, 12727 + + true, 12728 + + 0x2p-1076, false, false, 12729 + + 0x2p-1076, false, false, 12730 + + 0x2p-1076, false, false, 12731 + + 0x2p-1076, false, false, 12732 + + false, 12733 + + 0x0p+0, false, true, 12734 + + 0x0p+0, false, true, 12735 + + 0x0p+0, false, true, 12736 + + 0x4p-1076, false, true, 12737 + + true, 12738 + + 0x2p-1076, false, false, 12739 + + 0x2p-1076, false, false, 12740 + + 0x2p-1076, false, false, 12741 + + 0x2p-1076, false, false), 12742 + TEST ("0x1p-16446", 12743 + false, 12744 + - 0x0p+0, false, 12745 + - 0x0p+0, false, 12746 + - 0x0p+0, false, 12747 + - 0x8p-152, false, 12748 + - false, 12749 + - 0x0p+0, false, 12750 + - 0x0p+0, false, 12751 + - 0x0p+0, false, 12752 + - 0x4p-1076, false, 12753 + - false, 12754 + - 0x0p+0, false, 12755 + - 0x0p+0, false, 12756 + - 0x0p+0, false, 12757 + - 0x8p-16448, false, 12758 + - true, 12759 + - 0x4p-16448, false, 12760 + - 0x4p-16448, false, 12761 + - 0x4p-16448, false, 12762 + - 0x4p-16448, false, 12763 + - false, 12764 + - 0x0p+0, false, 12765 + - 0x0p+0, false, 12766 + - 0x0p+0, false, 12767 + - 0x4p-1076, false, 12768 + - true, 12769 + - 0x4p-16448, false, 12770 + - 0x4p-16448, false, 12771 + - 0x4p-16448, false, 12772 + - 0x4p-16448, false), 12773 + + 0x0p+0, false, true, 12774 + + 0x0p+0, false, true, 12775 + + 0x0p+0, false, true, 12776 + + 0x8p-152, false, true, 12777 + + false, 12778 + + 0x0p+0, false, true, 12779 + + 0x0p+0, false, true, 12780 + + 0x0p+0, false, true, 12781 + + 0x4p-1076, false, true, 12782 + + false, 12783 + + 0x0p+0, false, true, 12784 + + 0x0p+0, false, true, 12785 + + 0x0p+0, false, true, 12786 + + 0x8p-16448, false, true, 12787 + + true, 12788 + + 0x4p-16448, false, false, 12789 + + 0x4p-16448, false, false, 12790 + + 0x4p-16448, false, false, 12791 + + 0x4p-16448, false, false, 12792 + + false, 12793 + + 0x0p+0, false, true, 12794 + + 0x0p+0, false, true, 12795 + + 0x0p+0, false, true, 12796 + + 0x4p-1076, false, true, 12797 + + true, 12798 + + 0x4p-16448, false, false, 12799 + + 0x4p-16448, false, false, 12800 + + 0x4p-16448, false, false, 12801 + + 0x4p-16448, false, false), 12802 + TEST ("0x1p-16495", 12803 + false, 12804 + - 0x0p+0, false, 12805 + - 0x0p+0, false, 12806 + - 0x0p+0, false, 12807 + - 0x8p-152, false, 12808 + - false, 12809 + - 0x0p+0, false, 12810 + - 0x0p+0, false, 12811 + - 0x0p+0, false, 12812 + - 0x4p-1076, false, 12813 + - false, 12814 + - 0x0p+0, false, 12815 + - 0x0p+0, false, 12816 + - 0x0p+0, false, 12817 + - 0x8p-16448, false, 12818 + - false, 12819 + - 0x0p+0, false, 12820 + - 0x0p+0, false, 12821 + - 0x0p+0, false, 12822 + - 0x4p-16448, false, 12823 + - false, 12824 + - 0x0p+0, false, 12825 + - 0x0p+0, false, 12826 + - 0x0p+0, false, 12827 + - 0x4p-1076, false, 12828 + - false, 12829 + - 0x0p+0, false, 12830 + - 0x0p+0, false, 12831 + - 0x0p+0, false, 12832 + - 0x4p-16496, false), 12833 + + 0x0p+0, false, true, 12834 + + 0x0p+0, false, true, 12835 + + 0x0p+0, false, true, 12836 + + 0x8p-152, false, true, 12837 + + false, 12838 + + 0x0p+0, false, true, 12839 + + 0x0p+0, false, true, 12840 + + 0x0p+0, false, true, 12841 + + 0x4p-1076, false, true, 12842 + + false, 12843 + + 0x0p+0, false, true, 12844 + + 0x0p+0, false, true, 12845 + + 0x0p+0, false, true, 12846 + + 0x8p-16448, false, true, 12847 + + false, 12848 + + 0x0p+0, false, true, 12849 + + 0x0p+0, false, true, 12850 + + 0x0p+0, false, true, 12851 + + 0x4p-16448, false, true, 12852 + + false, 12853 + + 0x0p+0, false, true, 12854 + + 0x0p+0, false, true, 12855 + + 0x0p+0, false, true, 12856 + + 0x4p-1076, false, true, 12857 + + false, 12858 + + 0x0p+0, false, true, 12859 + + 0x0p+0, false, true, 12860 + + 0x0p+0, false, true, 12861 + + 0x4p-16496, false, true), 12862 + TEST ("-0x1p-150", 12863 + false, 12864 + - -0x8p-152, false, 12865 + - -0x0p+0, false, 12866 + - -0x0p+0, false, 12867 + - -0x0p+0, false, 12868 + - true, 12869 + - -0x4p-152, false, 12870 + - -0x4p-152, false, 12871 + - -0x4p-152, false, 12872 + - -0x4p-152, false, 12873 + - true, 12874 + - -0x4p-152, false, 12875 + - -0x4p-152, false, 12876 + - -0x4p-152, false, 12877 + - -0x4p-152, false, 12878 + - true, 12879 + - -0x4p-152, false, 12880 + - -0x4p-152, false, 12881 + - -0x4p-152, false, 12882 + - -0x4p-152, false, 12883 + - true, 12884 + - -0x4p-152, false, 12885 + - -0x4p-152, false, 12886 + - -0x4p-152, false, 12887 + - -0x4p-152, false, 12888 + - true, 12889 + - -0x4p-152, false, 12890 + - -0x4p-152, false, 12891 + - -0x4p-152, false, 12892 + - -0x4p-152, false), 12893 + + -0x8p-152, false, true, 12894 + + -0x0p+0, false, true, 12895 + + -0x0p+0, false, true, 12896 + + -0x0p+0, false, true, 12897 + + true, 12898 + + -0x4p-152, false, false, 12899 + + -0x4p-152, false, false, 12900 + + -0x4p-152, false, false, 12901 + + -0x4p-152, false, false, 12902 + + true, 12903 + + -0x4p-152, false, false, 12904 + + -0x4p-152, false, false, 12905 + + -0x4p-152, false, false, 12906 + + -0x4p-152, false, false, 12907 + + true, 12908 + + -0x4p-152, false, false, 12909 + + -0x4p-152, false, false, 12910 + + -0x4p-152, false, false, 12911 + + -0x4p-152, false, false, 12912 + + true, 12913 + + -0x4p-152, false, false, 12914 + + -0x4p-152, false, false, 12915 + + -0x4p-152, false, false, 12916 + + -0x4p-152, false, false, 12917 + + true, 12918 + + -0x4p-152, false, false, 12919 + + -0x4p-152, false, false, 12920 + + -0x4p-152, false, false, 12921 + + -0x4p-152, false, false), 12922 + TEST ("-0x1p-1075", 12923 + false, 12924 + - -0x8p-152, false, 12925 + - -0x0p+0, false, 12926 + - -0x0p+0, false, 12927 + - -0x0p+0, false, 12928 + - false, 12929 + - -0x4p-1076, false, 12930 + - -0x0p+0, false, 12931 + - -0x0p+0, false, 12932 + - -0x0p+0, false, 12933 + - true, 12934 + - -0x2p-1076, false, 12935 + - -0x2p-1076, false, 12936 + - -0x2p-1076, false, 12937 + - -0x2p-1076, false, 12938 + - true, 12939 + - -0x2p-1076, false, 12940 + - -0x2p-1076, false, 12941 + - -0x2p-1076, false, 12942 + - -0x2p-1076, false, 12943 + - false, 12944 + - -0x4p-1076, false, 12945 + - -0x0p+0, false, 12946 + - -0x0p+0, false, 12947 + - -0x0p+0, false, 12948 + - true, 12949 + - -0x2p-1076, false, 12950 + - -0x2p-1076, false, 12951 + - -0x2p-1076, false, 12952 + - -0x2p-1076, false), 12953 + + -0x8p-152, false, true, 12954 + + -0x0p+0, false, true, 12955 + + -0x0p+0, false, true, 12956 + + -0x0p+0, false, true, 12957 + + false, 12958 + + -0x4p-1076, false, true, 12959 + + -0x0p+0, false, true, 12960 + + -0x0p+0, false, true, 12961 + + -0x0p+0, false, true, 12962 + + true, 12963 + + -0x2p-1076, false, false, 12964 + + -0x2p-1076, false, false, 12965 + + -0x2p-1076, false, false, 12966 + + -0x2p-1076, false, false, 12967 + + true, 12968 + + -0x2p-1076, false, false, 12969 + + -0x2p-1076, false, false, 12970 + + -0x2p-1076, false, false, 12971 + + -0x2p-1076, false, false, 12972 + + false, 12973 + + -0x4p-1076, false, true, 12974 + + -0x0p+0, false, true, 12975 + + -0x0p+0, false, true, 12976 + + -0x0p+0, false, true, 12977 + + true, 12978 + + -0x2p-1076, false, false, 12979 + + -0x2p-1076, false, false, 12980 + + -0x2p-1076, false, false, 12981 + + -0x2p-1076, false, false), 12982 + TEST ("-0x1p-16446", 12983 + false, 12984 + - -0x8p-152, false, 12985 + - -0x0p+0, false, 12986 + - -0x0p+0, false, 12987 + - -0x0p+0, false, 12988 + - false, 12989 + - -0x4p-1076, false, 12990 + - -0x0p+0, false, 12991 + - -0x0p+0, false, 12992 + - -0x0p+0, false, 12993 + - false, 12994 + - -0x8p-16448, false, 12995 + - -0x0p+0, false, 12996 + - -0x0p+0, false, 12997 + - -0x0p+0, false, 12998 + - true, 12999 + - -0x4p-16448, false, 13000 + - -0x4p-16448, false, 13001 + - -0x4p-16448, false, 13002 + - -0x4p-16448, false, 13003 + - false, 13004 + - -0x4p-1076, false, 13005 + - -0x0p+0, false, 13006 + - -0x0p+0, false, 13007 + - -0x0p+0, false, 13008 + - true, 13009 + - -0x4p-16448, false, 13010 + - -0x4p-16448, false, 13011 + - -0x4p-16448, false, 13012 + - -0x4p-16448, false), 13013 + + -0x8p-152, false, true, 13014 + + -0x0p+0, false, true, 13015 + + -0x0p+0, false, true, 13016 + + -0x0p+0, false, true, 13017 + + false, 13018 + + -0x4p-1076, false, true, 13019 + + -0x0p+0, false, true, 13020 + + -0x0p+0, false, true, 13021 + + -0x0p+0, false, true, 13022 + + false, 13023 + + -0x8p-16448, false, true, 13024 + + -0x0p+0, false, true, 13025 + + -0x0p+0, false, true, 13026 + + -0x0p+0, false, true, 13027 + + true, 13028 + + -0x4p-16448, false, false, 13029 + + -0x4p-16448, false, false, 13030 + + -0x4p-16448, false, false, 13031 + + -0x4p-16448, false, false, 13032 + + false, 13033 + + -0x4p-1076, false, true, 13034 + + -0x0p+0, false, true, 13035 + + -0x0p+0, false, true, 13036 + + -0x0p+0, false, true, 13037 + + true, 13038 + + -0x4p-16448, false, false, 13039 + + -0x4p-16448, false, false, 13040 + + -0x4p-16448, false, false, 13041 + + -0x4p-16448, false, false), 13042 + TEST ("-0x1p-16495", 13043 + false, 13044 + - -0x8p-152, false, 13045 + - -0x0p+0, false, 13046 + - -0x0p+0, false, 13047 + - -0x0p+0, false, 13048 + - false, 13049 + - -0x4p-1076, false, 13050 + - -0x0p+0, false, 13051 + - -0x0p+0, false, 13052 + - -0x0p+0, false, 13053 + - false, 13054 + - -0x8p-16448, false, 13055 + - -0x0p+0, false, 13056 + - -0x0p+0, false, 13057 + - -0x0p+0, false, 13058 + - false, 13059 + - -0x4p-16448, false, 13060 + - -0x0p+0, false, 13061 + - -0x0p+0, false, 13062 + - -0x0p+0, false, 13063 + - false, 13064 + - -0x4p-1076, false, 13065 + - -0x0p+0, false, 13066 + - -0x0p+0, false, 13067 + - -0x0p+0, false, 13068 + - false, 13069 + - -0x4p-16496, false, 13070 + - -0x0p+0, false, 13071 + - -0x0p+0, false, 13072 + - -0x0p+0, false), 13073 + + -0x8p-152, false, true, 13074 + + -0x0p+0, false, true, 13075 + + -0x0p+0, false, true, 13076 + + -0x0p+0, false, true, 13077 + + false, 13078 + + -0x4p-1076, false, true, 13079 + + -0x0p+0, false, true, 13080 + + -0x0p+0, false, true, 13081 + + -0x0p+0, false, true, 13082 + + false, 13083 + + -0x8p-16448, false, true, 13084 + + -0x0p+0, false, true, 13085 + + -0x0p+0, false, true, 13086 + + -0x0p+0, false, true, 13087 + + false, 13088 + + -0x4p-16448, false, true, 13089 + + -0x0p+0, false, true, 13090 + + -0x0p+0, false, true, 13091 + + -0x0p+0, false, true, 13092 + + false, 13093 + + -0x4p-1076, false, true, 13094 + + -0x0p+0, false, true, 13095 + + -0x0p+0, false, true, 13096 + + -0x0p+0, false, true, 13097 + + false, 13098 + + -0x4p-16496, false, true, 13099 + + -0x0p+0, false, true, 13100 + + -0x0p+0, false, true, 13101 + + -0x0p+0, false, true), 13102 + TEST (".70064923216240853546186479164495807e-45", 13103 + false, 13104 + - 0x0p+0, false, 13105 + - 0x8p-152, false, 13106 + - 0x0p+0, false, 13107 + - 0x8p-152, false, 13108 + - false, 13109 + - 0x4p-152, false, 13110 + - 0x4p-152, false, 13111 + - 0x4p-152, false, 13112 + - 0x4.0000000000004p-152, false, 13113 + - false, 13114 + - 0x4p-152, false, 13115 + - 0x4p-152, false, 13116 + - 0x4p-152, false, 13117 + - 0x4.0000000000000008p-152, false, 13118 + - false, 13119 + - 0x4p-152, false, 13120 + - 0x4p-152, false, 13121 + - 0x4p-152, false, 13122 + - 0x4.0000000000000008p-152, false, 13123 + - false, 13124 + - 0x4p-152, false, 13125 + - 0x4p-152, false, 13126 + - 0x4p-152, false, 13127 + - 0x4.00000000000000000000000002p-152, false, 13128 + - false, 13129 + - 0x4p-152, false, 13130 + - 0x4p-152, false, 13131 + - 0x4p-152, false, 13132 + - 0x4.0000000000000000000000000004p-152, false), 13133 + + 0x0p+0, false, true, 13134 + + 0x8p-152, false, true, 13135 + + 0x0p+0, false, true, 13136 + + 0x8p-152, false, true, 13137 + + false, 13138 + + 0x4p-152, false, false, 13139 + + 0x4p-152, false, false, 13140 + + 0x4p-152, false, false, 13141 + + 0x4.0000000000004p-152, false, false, 13142 + + false, 13143 + + 0x4p-152, false, false, 13144 + + 0x4p-152, false, false, 13145 + + 0x4p-152, false, false, 13146 + + 0x4.0000000000000008p-152, false, false, 13147 + + false, 13148 + + 0x4p-152, false, false, 13149 + + 0x4p-152, false, false, 13150 + + 0x4p-152, false, false, 13151 + + 0x4.0000000000000008p-152, false, false, 13152 + + false, 13153 + + 0x4p-152, false, false, 13154 + + 0x4p-152, false, false, 13155 + + 0x4p-152, false, false, 13156 + + 0x4.00000000000000000000000002p-152, false, false, 13157 + + false, 13158 + + 0x4p-152, false, false, 13159 + + 0x4p-152, false, false, 13160 + + 0x4p-152, false, false, 13161 + + 0x4.0000000000000000000000000004p-152, false, false), 13162 + TEST ("7.0064923216240853546186479164495806564013097093825788587853" 13163 + "4141944895541342930300743319094181060791015624e-46", 13164 + false, 13165 + - 0x0p+0, false, 13166 + - 0x0p+0, false, 13167 + - 0x0p+0, false, 13168 + - 0x8p-152, false, 13169 + - false, 13170 + - 0x3.ffffffffffffep-152, false, 13171 + - 0x4p-152, false, 13172 + - 0x3.ffffffffffffep-152, false, 13173 + - 0x4p-152, false, 13174 + - false, 13175 + - 0x3.fffffffffffffffcp-152, false, 13176 + - 0x4p-152, false, 13177 + - 0x3.fffffffffffffffcp-152, false, 13178 + - 0x4p-152, false, 13179 + - false, 13180 + - 0x3.fffffffffffffffcp-152, false, 13181 + - 0x4p-152, false, 13182 + - 0x3.fffffffffffffffcp-152, false, 13183 + - 0x4p-152, false, 13184 + - false, 13185 + - 0x3.ffffffffffffffffffffffffffp-152, false, 13186 + - 0x4p-152, false, 13187 + - 0x3.ffffffffffffffffffffffffffp-152, false, 13188 + - 0x4p-152, false, 13189 + - false, 13190 + - 0x3.fffffffffffffffffffffffffffep-152, false, 13191 + - 0x4p-152, false, 13192 + - 0x3.fffffffffffffffffffffffffffep-152, false, 13193 + - 0x4p-152, false), 13194 + + 0x0p+0, false, true, 13195 + + 0x0p+0, false, true, 13196 + + 0x0p+0, false, true, 13197 + + 0x8p-152, false, true, 13198 + + false, 13199 + + 0x3.ffffffffffffep-152, false, false, 13200 + + 0x4p-152, false, false, 13201 + + 0x3.ffffffffffffep-152, false, false, 13202 + + 0x4p-152, false, false, 13203 + + false, 13204 + + 0x3.fffffffffffffffcp-152, false, false, 13205 + + 0x4p-152, false, false, 13206 + + 0x3.fffffffffffffffcp-152, false, false, 13207 + + 0x4p-152, false, false, 13208 + + false, 13209 + + 0x3.fffffffffffffffcp-152, false, false, 13210 + + 0x4p-152, false, false, 13211 + + 0x3.fffffffffffffffcp-152, false, false, 13212 + + 0x4p-152, false, false, 13213 + + false, 13214 + + 0x3.ffffffffffffffffffffffffffp-152, false, false, 13215 + + 0x4p-152, false, false, 13216 + + 0x3.ffffffffffffffffffffffffffp-152, false, false, 13217 + + 0x4p-152, false, false, 13218 + + false, 13219 + + 0x3.fffffffffffffffffffffffffffep-152, false, false, 13220 + + 0x4p-152, false, false, 13221 + + 0x3.fffffffffffffffffffffffffffep-152, false, false, 13222 + + 0x4p-152, false, false), 13223 + TEST ("7.0064923216240853546186479164495806564013097093825788587853" 13224 + "4141944895541342930300743319094181060791015625e-46", 13225 + false, 13226 + - 0x0p+0, false, 13227 + - 0x0p+0, false, 13228 + - 0x0p+0, false, 13229 + - 0x8p-152, false, 13230 + - true, 13231 + - 0x4p-152, false, 13232 + - 0x4p-152, false, 13233 + - 0x4p-152, false, 13234 + - 0x4p-152, false, 13235 + - true, 13236 + - 0x4p-152, false, 13237 + - 0x4p-152, false, 13238 + - 0x4p-152, false, 13239 + - 0x4p-152, false, 13240 + - true, 13241 + - 0x4p-152, false, 13242 + - 0x4p-152, false, 13243 + - 0x4p-152, false, 13244 + - 0x4p-152, false, 13245 + - true, 13246 + - 0x4p-152, false, 13247 + - 0x4p-152, false, 13248 + - 0x4p-152, false, 13249 + - 0x4p-152, false, 13250 + - true, 13251 + - 0x4p-152, false, 13252 + - 0x4p-152, false, 13253 + - 0x4p-152, false, 13254 + - 0x4p-152, false), 13255 + + 0x0p+0, false, true, 13256 + + 0x0p+0, false, true, 13257 + + 0x0p+0, false, true, 13258 + + 0x8p-152, false, true, 13259 + + true, 13260 + + 0x4p-152, false, false, 13261 + + 0x4p-152, false, false, 13262 + + 0x4p-152, false, false, 13263 + + 0x4p-152, false, false, 13264 + + true, 13265 + + 0x4p-152, false, false, 13266 + + 0x4p-152, false, false, 13267 + + 0x4p-152, false, false, 13268 + + 0x4p-152, false, false, 13269 + + true, 13270 + + 0x4p-152, false, false, 13271 + + 0x4p-152, false, false, 13272 + + 0x4p-152, false, false, 13273 + + 0x4p-152, false, false, 13274 + + true, 13275 + + 0x4p-152, false, false, 13276 + + 0x4p-152, false, false, 13277 + + 0x4p-152, false, false, 13278 + + 0x4p-152, false, false, 13279 + + true, 13280 + + 0x4p-152, false, false, 13281 + + 0x4p-152, false, false, 13282 + + 0x4p-152, false, false, 13283 + + 0x4p-152, false, false), 13284 + TEST ("7.0064923216240853546186479164495806564013097093825788587853" 13285 + "4141944895541342930300743319094181060791015626e-46", 13286 + false, 13287 + - 0x0p+0, false, 13288 + - 0x8p-152, false, 13289 + - 0x0p+0, false, 13290 + - 0x8p-152, false, 13291 + - false, 13292 + - 0x4p-152, false, 13293 + - 0x4p-152, false, 13294 + - 0x4p-152, false, 13295 + - 0x4.0000000000004p-152, false, 13296 + - false, 13297 + - 0x4p-152, false, 13298 + - 0x4p-152, false, 13299 + - 0x4p-152, false, 13300 + - 0x4.0000000000000008p-152, false, 13301 + - false, 13302 + - 0x4p-152, false, 13303 + - 0x4p-152, false, 13304 + - 0x4p-152, false, 13305 + - 0x4.0000000000000008p-152, false, 13306 + - false, 13307 + - 0x4p-152, false, 13308 + - 0x4p-152, false, 13309 + - 0x4p-152, false, 13310 + - 0x4.00000000000000000000000002p-152, false, 13311 + - false, 13312 + - 0x4p-152, false, 13313 + - 0x4p-152, false, 13314 + - 0x4p-152, false, 13315 + - 0x4.0000000000000000000000000004p-152, false), 13316 + + 0x0p+0, false, true, 13317 + + 0x8p-152, false, true, 13318 + + 0x0p+0, false, true, 13319 + + 0x8p-152, false, true, 13320 + + false, 13321 + + 0x4p-152, false, false, 13322 + + 0x4p-152, false, false, 13323 + + 0x4p-152, false, false, 13324 + + 0x4.0000000000004p-152, false, false, 13325 + + false, 13326 + + 0x4p-152, false, false, 13327 + + 0x4p-152, false, false, 13328 + + 0x4p-152, false, false, 13329 + + 0x4.0000000000000008p-152, false, false, 13330 + + false, 13331 + + 0x4p-152, false, false, 13332 + + 0x4p-152, false, false, 13333 + + 0x4p-152, false, false, 13334 + + 0x4.0000000000000008p-152, false, false, 13335 + + false, 13336 + + 0x4p-152, false, false, 13337 + + 0x4p-152, false, false, 13338 + + 0x4p-152, false, false, 13339 + + 0x4.00000000000000000000000002p-152, false, false, 13340 + + false, 13341 + + 0x4p-152, false, false, 13342 + + 0x4p-152, false, false, 13343 + + 0x4p-152, false, false, 13344 + + 0x4.0000000000000000000000000004p-152, false, false), 13345 + TEST ("-7.006492321624085354618647916449580656401309709382578858785" 13346 + "34141944895541342930300743319094181060791015624e-46", 13347 + false, 13348 + - -0x8p-152, false, 13349 + - -0x0p+0, false, 13350 + - -0x0p+0, false, 13351 + - -0x0p+0, false, 13352 + - false, 13353 + - -0x4p-152, false, 13354 + - -0x4p-152, false, 13355 + - -0x3.ffffffffffffep-152, false, 13356 + - -0x3.ffffffffffffep-152, false, 13357 + - false, 13358 + - -0x4p-152, false, 13359 + - -0x4p-152, false, 13360 + - -0x3.fffffffffffffffcp-152, false, 13361 + - -0x3.fffffffffffffffcp-152, false, 13362 + - false, 13363 + - -0x4p-152, false, 13364 + - -0x4p-152, false, 13365 + - -0x3.fffffffffffffffcp-152, false, 13366 + - -0x3.fffffffffffffffcp-152, false, 13367 + - false, 13368 + - -0x4p-152, false, 13369 + - -0x4p-152, false, 13370 + - -0x3.ffffffffffffffffffffffffffp-152, false, 13371 + - -0x3.ffffffffffffffffffffffffffp-152, false, 13372 + - false, 13373 + - -0x4p-152, false, 13374 + - -0x4p-152, false, 13375 + - -0x3.fffffffffffffffffffffffffffep-152, false, 13376 + - -0x3.fffffffffffffffffffffffffffep-152, false), 13377 + + -0x8p-152, false, true, 13378 + + -0x0p+0, false, true, 13379 + + -0x0p+0, false, true, 13380 + + -0x0p+0, false, true, 13381 + + false, 13382 + + -0x4p-152, false, false, 13383 + + -0x4p-152, false, false, 13384 + + -0x3.ffffffffffffep-152, false, false, 13385 + + -0x3.ffffffffffffep-152, false, false, 13386 + + false, 13387 + + -0x4p-152, false, false, 13388 + + -0x4p-152, false, false, 13389 + + -0x3.fffffffffffffffcp-152, false, false, 13390 + + -0x3.fffffffffffffffcp-152, false, false, 13391 + + false, 13392 + + -0x4p-152, false, false, 13393 + + -0x4p-152, false, false, 13394 + + -0x3.fffffffffffffffcp-152, false, false, 13395 + + -0x3.fffffffffffffffcp-152, false, false, 13396 + + false, 13397 + + -0x4p-152, false, false, 13398 + + -0x4p-152, false, false, 13399 + + -0x3.ffffffffffffffffffffffffffp-152, false, false, 13400 + + -0x3.ffffffffffffffffffffffffffp-152, false, false, 13401 + + false, 13402 + + -0x4p-152, false, false, 13403 + + -0x4p-152, false, false, 13404 + + -0x3.fffffffffffffffffffffffffffep-152, false, false, 13405 + + -0x3.fffffffffffffffffffffffffffep-152, false, false), 13406 + TEST ("-7.006492321624085354618647916449580656401309709382578858785" 13407 + "34141944895541342930300743319094181060791015625e-46", 13408 + false, 13409 + - -0x8p-152, false, 13410 + - -0x0p+0, false, 13411 + - -0x0p+0, false, 13412 + - -0x0p+0, false, 13413 + - true, 13414 + - -0x4p-152, false, 13415 + - -0x4p-152, false, 13416 + - -0x4p-152, false, 13417 + - -0x4p-152, false, 13418 + - true, 13419 + - -0x4p-152, false, 13420 + - -0x4p-152, false, 13421 + - -0x4p-152, false, 13422 + - -0x4p-152, false, 13423 + - true, 13424 + - -0x4p-152, false, 13425 + - -0x4p-152, false, 13426 + - -0x4p-152, false, 13427 + - -0x4p-152, false, 13428 + - true, 13429 + - -0x4p-152, false, 13430 + - -0x4p-152, false, 13431 + - -0x4p-152, false, 13432 + - -0x4p-152, false, 13433 + - true, 13434 + - -0x4p-152, false, 13435 + - -0x4p-152, false, 13436 + - -0x4p-152, false, 13437 + - -0x4p-152, false), 13438 + + -0x8p-152, false, true, 13439 + + -0x0p+0, false, true, 13440 + + -0x0p+0, false, true, 13441 + + -0x0p+0, false, true, 13442 + + true, 13443 + + -0x4p-152, false, false, 13444 + + -0x4p-152, false, false, 13445 + + -0x4p-152, false, false, 13446 + + -0x4p-152, false, false, 13447 + + true, 13448 + + -0x4p-152, false, false, 13449 + + -0x4p-152, false, false, 13450 + + -0x4p-152, false, false, 13451 + + -0x4p-152, false, false, 13452 + + true, 13453 + + -0x4p-152, false, false, 13454 + + -0x4p-152, false, false, 13455 + + -0x4p-152, false, false, 13456 + + -0x4p-152, false, false, 13457 + + true, 13458 + + -0x4p-152, false, false, 13459 + + -0x4p-152, false, false, 13460 + + -0x4p-152, false, false, 13461 + + -0x4p-152, false, false, 13462 + + true, 13463 + + -0x4p-152, false, false, 13464 + + -0x4p-152, false, false, 13465 + + -0x4p-152, false, false, 13466 + + -0x4p-152, false, false), 13467 + TEST ("-7.006492321624085354618647916449580656401309709382578858785" 13468 + "34141944895541342930300743319094181060791015626e-46", 13469 + false, 13470 + - -0x8p-152, false, 13471 + - -0x8p-152, false, 13472 + - -0x0p+0, false, 13473 + - -0x0p+0, false, 13474 + - false, 13475 + - -0x4.0000000000004p-152, false, 13476 + - -0x4p-152, false, 13477 + - -0x4p-152, false, 13478 + - -0x4p-152, false, 13479 + - false, 13480 + - -0x4.0000000000000008p-152, false, 13481 + - -0x4p-152, false, 13482 + - -0x4p-152, false, 13483 + - -0x4p-152, false, 13484 + - false, 13485 + - -0x4.0000000000000008p-152, false, 13486 + - -0x4p-152, false, 13487 + - -0x4p-152, false, 13488 + - -0x4p-152, false, 13489 + - false, 13490 + - -0x4.00000000000000000000000002p-152, false, 13491 + - -0x4p-152, false, 13492 + - -0x4p-152, false, 13493 + - -0x4p-152, false, 13494 + - false, 13495 + - -0x4.0000000000000000000000000004p-152, false, 13496 + - -0x4p-152, false, 13497 + - -0x4p-152, false, 13498 + - -0x4p-152, false), 13499 + + -0x8p-152, false, true, 13500 + + -0x8p-152, false, true, 13501 + + -0x0p+0, false, true, 13502 + + -0x0p+0, false, true, 13503 + + false, 13504 + + -0x4.0000000000004p-152, false, false, 13505 + + -0x4p-152, false, false, 13506 + + -0x4p-152, false, false, 13507 + + -0x4p-152, false, false, 13508 + + false, 13509 + + -0x4.0000000000000008p-152, false, false, 13510 + + -0x4p-152, false, false, 13511 + + -0x4p-152, false, false, 13512 + + -0x4p-152, false, false, 13513 + + false, 13514 + + -0x4.0000000000000008p-152, false, false, 13515 + + -0x4p-152, false, false, 13516 + + -0x4p-152, false, false, 13517 + + -0x4p-152, false, false, 13518 + + false, 13519 + + -0x4.00000000000000000000000002p-152, false, false, 13520 + + -0x4p-152, false, false, 13521 + + -0x4p-152, false, false, 13522 + + -0x4p-152, false, false, 13523 + + false, 13524 + + -0x4.0000000000000000000000000004p-152, false, false, 13525 + + -0x4p-152, false, false, 13526 + + -0x4p-152, false, false, 13527 + + -0x4p-152, false, false), 13528 + TEST ("2.4703282292062327208828439643411068618252990130716238221279" 13529 + "284125033775363510437593264991818081799618989828234772285886" 13530 + "546332835517796989819938739800539093906315035659515570226392" 13531 + @@ -7335,35 +7335,35 @@ static const struct test tests[] = { 13532 + "779186948667994968324049705821028513185451396213837722826145" 13533 + "437693412532098591327667236328124e-324", 13534 + false, 13535 + - 0x0p+0, false, 13536 + - 0x0p+0, false, 13537 + - 0x0p+0, false, 13538 + - 0x8p-152, false, 13539 + - false, 13540 + - 0x0p+0, false, 13541 + - 0x0p+0, false, 13542 + - 0x0p+0, false, 13543 + - 0x4p-1076, false, 13544 + - false, 13545 + - 0x1.fffffffffffffffep-1076, false, 13546 + - 0x2p-1076, false, 13547 + - 0x1.fffffffffffffffep-1076, false, 13548 + - 0x2p-1076, false, 13549 + - false, 13550 + - 0x1.fffffffffffffffep-1076, false, 13551 + - 0x2p-1076, false, 13552 + - 0x1.fffffffffffffffep-1076, false, 13553 + - 0x2p-1076, false, 13554 + - false, 13555 + - 0x0p+0, false, 13556 + - 0x0p+0, false, 13557 + - 0x0p+0, false, 13558 + - 0x4p-1076, false, 13559 + - false, 13560 + - 0x1.ffffffffffffffffffffffffffffp-1076, false, 13561 + - 0x2p-1076, false, 13562 + - 0x1.ffffffffffffffffffffffffffffp-1076, false, 13563 + - 0x2p-1076, false), 13564 + + 0x0p+0, false, true, 13565 + + 0x0p+0, false, true, 13566 + + 0x0p+0, false, true, 13567 + + 0x8p-152, false, true, 13568 + + false, 13569 + + 0x0p+0, false, true, 13570 + + 0x0p+0, false, true, 13571 + + 0x0p+0, false, true, 13572 + + 0x4p-1076, false, true, 13573 + + false, 13574 + + 0x1.fffffffffffffffep-1076, false, false, 13575 + + 0x2p-1076, false, false, 13576 + + 0x1.fffffffffffffffep-1076, false, false, 13577 + + 0x2p-1076, false, false, 13578 + + false, 13579 + + 0x1.fffffffffffffffep-1076, false, false, 13580 + + 0x2p-1076, false, false, 13581 + + 0x1.fffffffffffffffep-1076, false, false, 13582 + + 0x2p-1076, false, false, 13583 + + false, 13584 + + 0x0p+0, false, true, 13585 + + 0x0p+0, false, true, 13586 + + 0x0p+0, false, true, 13587 + + 0x4p-1076, false, true, 13588 + + false, 13589 + + 0x1.ffffffffffffffffffffffffffffp-1076, false, false, 13590 + + 0x2p-1076, false, false, 13591 + + 0x1.ffffffffffffffffffffffffffffp-1076, false, false, 13592 + + 0x2p-1076, false, false), 13593 + TEST ("2.4703282292062327208828439643411068618252990130716238221279" 13594 + "284125033775363510437593264991818081799618989828234772285886" 13595 + "546332835517796989819938739800539093906315035659515570226392" 13596 + @@ -7378,35 +7378,35 @@ static const struct test tests[] = { 13597 + "779186948667994968324049705821028513185451396213837722826145" 13598 + "437693412532098591327667236328125e-324", 13599 + false, 13600 + - 0x0p+0, false, 13601 + - 0x0p+0, false, 13602 + - 0x0p+0, false, 13603 + - 0x8p-152, false, 13604 + - false, 13605 + - 0x0p+0, false, 13606 + - 0x0p+0, false, 13607 + - 0x0p+0, false, 13608 + - 0x4p-1076, false, 13609 + - true, 13610 + - 0x2p-1076, false, 13611 + - 0x2p-1076, false, 13612 + - 0x2p-1076, false, 13613 + - 0x2p-1076, false, 13614 + - true, 13615 + - 0x2p-1076, false, 13616 + - 0x2p-1076, false, 13617 + - 0x2p-1076, false, 13618 + - 0x2p-1076, false, 13619 + - false, 13620 + - 0x0p+0, false, 13621 + - 0x0p+0, false, 13622 + - 0x0p+0, false, 13623 + - 0x4p-1076, false, 13624 + - true, 13625 + - 0x2p-1076, false, 13626 + - 0x2p-1076, false, 13627 + - 0x2p-1076, false, 13628 + - 0x2p-1076, false), 13629 + + 0x0p+0, false, true, 13630 + + 0x0p+0, false, true, 13631 + + 0x0p+0, false, true, 13632 + + 0x8p-152, false, true, 13633 + + false, 13634 + + 0x0p+0, false, true, 13635 + + 0x0p+0, false, true, 13636 + + 0x0p+0, false, true, 13637 + + 0x4p-1076, false, true, 13638 + + true, 13639 + + 0x2p-1076, false, false, 13640 + + 0x2p-1076, false, false, 13641 + + 0x2p-1076, false, false, 13642 + + 0x2p-1076, false, false, 13643 + + true, 13644 + + 0x2p-1076, false, false, 13645 + + 0x2p-1076, false, false, 13646 + + 0x2p-1076, false, false, 13647 + + 0x2p-1076, false, false, 13648 + + false, 13649 + + 0x0p+0, false, true, 13650 + + 0x0p+0, false, true, 13651 + + 0x0p+0, false, true, 13652 + + 0x4p-1076, false, true, 13653 + + true, 13654 + + 0x2p-1076, false, false, 13655 + + 0x2p-1076, false, false, 13656 + + 0x2p-1076, false, false, 13657 + + 0x2p-1076, false, false), 13658 + TEST ("2.4703282292062327208828439643411068618252990130716238221279" 13659 + "284125033775363510437593264991818081799618989828234772285886" 13660 + "546332835517796989819938739800539093906315035659515570226392" 13661 + @@ -7421,35 +7421,35 @@ static const struct test tests[] = { 13662 + "779186948667994968324049705821028513185451396213837722826145" 13663 + "437693412532098591327667236328126e-324", 13664 + false, 13665 + - 0x0p+0, false, 13666 + - 0x0p+0, false, 13667 + - 0x0p+0, false, 13668 + - 0x8p-152, false, 13669 + - false, 13670 + - 0x0p+0, false, 13671 + - 0x4p-1076, false, 13672 + - 0x0p+0, false, 13673 + - 0x4p-1076, false, 13674 + - false, 13675 + - 0x2p-1076, false, 13676 + - 0x2p-1076, false, 13677 + - 0x2p-1076, false, 13678 + - 0x2.0000000000000004p-1076, false, 13679 + - false, 13680 + - 0x2p-1076, false, 13681 + - 0x2p-1076, false, 13682 + - 0x2p-1076, false, 13683 + - 0x2.0000000000000004p-1076, false, 13684 + - false, 13685 + - 0x0p+0, false, 13686 + - 0x4p-1076, false, 13687 + - 0x0p+0, false, 13688 + - 0x4p-1076, false, 13689 + - false, 13690 + - 0x2p-1076, false, 13691 + - 0x2p-1076, false, 13692 + - 0x2p-1076, false, 13693 + - 0x2.0000000000000000000000000002p-1076, false), 13694 + + 0x0p+0, false, true, 13695 + + 0x0p+0, false, true, 13696 + + 0x0p+0, false, true, 13697 + + 0x8p-152, false, true, 13698 + + false, 13699 + + 0x0p+0, false, true, 13700 + + 0x4p-1076, false, true, 13701 + + 0x0p+0, false, true, 13702 + + 0x4p-1076, false, true, 13703 + + false, 13704 + + 0x2p-1076, false, false, 13705 + + 0x2p-1076, false, false, 13706 + + 0x2p-1076, false, false, 13707 + + 0x2.0000000000000004p-1076, false, false, 13708 + + false, 13709 + + 0x2p-1076, false, false, 13710 + + 0x2p-1076, false, false, 13711 + + 0x2p-1076, false, false, 13712 + + 0x2.0000000000000004p-1076, false, false, 13713 + + false, 13714 + + 0x0p+0, false, true, 13715 + + 0x4p-1076, false, true, 13716 + + 0x0p+0, false, true, 13717 + + 0x4p-1076, false, true, 13718 + + false, 13719 + + 0x2p-1076, false, false, 13720 + + 0x2p-1076, false, false, 13721 + + 0x2p-1076, false, false, 13722 + + 0x2.0000000000000000000000000002p-1076, false, false), 13723 + TEST ("-2.470328229206232720882843964341106861825299013071623822127" 13724 + "928412503377536351043759326499181808179961898982823477228588" 13725 + "654633283551779698981993873980053909390631503565951557022639" 13726 + @@ -7464,35 +7464,35 @@ static const struct test tests[] = { 13727 + "477918694866799496832404970582102851318545139621383772282614" 13728 + "5437693412532098591327667236328124e-324", 13729 + false, 13730 + - -0x8p-152, false, 13731 + - -0x0p+0, false, 13732 + - -0x0p+0, false, 13733 + - -0x0p+0, false, 13734 + - false, 13735 + - -0x4p-1076, false, 13736 + - -0x0p+0, false, 13737 + - -0x0p+0, false, 13738 + - -0x0p+0, false, 13739 + - false, 13740 + - -0x2p-1076, false, 13741 + - -0x2p-1076, false, 13742 + - -0x1.fffffffffffffffep-1076, false, 13743 + - -0x1.fffffffffffffffep-1076, false, 13744 + - false, 13745 + - -0x2p-1076, false, 13746 + - -0x2p-1076, false, 13747 + - -0x1.fffffffffffffffep-1076, false, 13748 + - -0x1.fffffffffffffffep-1076, false, 13749 + - false, 13750 + - -0x4p-1076, false, 13751 + - -0x0p+0, false, 13752 + - -0x0p+0, false, 13753 + - -0x0p+0, false, 13754 + - false, 13755 + - -0x2p-1076, false, 13756 + - -0x2p-1076, false, 13757 + - -0x1.ffffffffffffffffffffffffffffp-1076, false, 13758 + - -0x1.ffffffffffffffffffffffffffffp-1076, false), 13759 + + -0x8p-152, false, true, 13760 + + -0x0p+0, false, true, 13761 + + -0x0p+0, false, true, 13762 + + -0x0p+0, false, true, 13763 + + false, 13764 + + -0x4p-1076, false, true, 13765 + + -0x0p+0, false, true, 13766 + + -0x0p+0, false, true, 13767 + + -0x0p+0, false, true, 13768 + + false, 13769 + + -0x2p-1076, false, false, 13770 + + -0x2p-1076, false, false, 13771 + + -0x1.fffffffffffffffep-1076, false, false, 13772 + + -0x1.fffffffffffffffep-1076, false, false, 13773 + + false, 13774 + + -0x2p-1076, false, false, 13775 + + -0x2p-1076, false, false, 13776 + + -0x1.fffffffffffffffep-1076, false, false, 13777 + + -0x1.fffffffffffffffep-1076, false, false, 13778 + + false, 13779 + + -0x4p-1076, false, true, 13780 + + -0x0p+0, false, true, 13781 + + -0x0p+0, false, true, 13782 + + -0x0p+0, false, true, 13783 + + false, 13784 + + -0x2p-1076, false, false, 13785 + + -0x2p-1076, false, false, 13786 + + -0x1.ffffffffffffffffffffffffffffp-1076, false, false, 13787 + + -0x1.ffffffffffffffffffffffffffffp-1076, false, false), 13788 + TEST ("-2.470328229206232720882843964341106861825299013071623822127" 13789 + "928412503377536351043759326499181808179961898982823477228588" 13790 + "654633283551779698981993873980053909390631503565951557022639" 13791 + @@ -7507,35 +7507,35 @@ static const struct test tests[] = { 13792 + "477918694866799496832404970582102851318545139621383772282614" 13793 + "5437693412532098591327667236328125e-324", 13794 + false, 13795 + - -0x8p-152, false, 13796 + - -0x0p+0, false, 13797 + - -0x0p+0, false, 13798 + - -0x0p+0, false, 13799 + - false, 13800 + - -0x4p-1076, false, 13801 + - -0x0p+0, false, 13802 + - -0x0p+0, false, 13803 + - -0x0p+0, false, 13804 + - true, 13805 + - -0x2p-1076, false, 13806 + - -0x2p-1076, false, 13807 + - -0x2p-1076, false, 13808 + - -0x2p-1076, false, 13809 + - true, 13810 + - -0x2p-1076, false, 13811 + - -0x2p-1076, false, 13812 + - -0x2p-1076, false, 13813 + - -0x2p-1076, false, 13814 + - false, 13815 + - -0x4p-1076, false, 13816 + - -0x0p+0, false, 13817 + - -0x0p+0, false, 13818 + - -0x0p+0, false, 13819 + - true, 13820 + - -0x2p-1076, false, 13821 + - -0x2p-1076, false, 13822 + - -0x2p-1076, false, 13823 + - -0x2p-1076, false), 13824 + + -0x8p-152, false, true, 13825 + + -0x0p+0, false, true, 13826 + + -0x0p+0, false, true, 13827 + + -0x0p+0, false, true, 13828 + + false, 13829 + + -0x4p-1076, false, true, 13830 + + -0x0p+0, false, true, 13831 + + -0x0p+0, false, true, 13832 + + -0x0p+0, false, true, 13833 + + true, 13834 + + -0x2p-1076, false, false, 13835 + + -0x2p-1076, false, false, 13836 + + -0x2p-1076, false, false, 13837 + + -0x2p-1076, false, false, 13838 + + true, 13839 + + -0x2p-1076, false, false, 13840 + + -0x2p-1076, false, false, 13841 + + -0x2p-1076, false, false, 13842 + + -0x2p-1076, false, false, 13843 + + false, 13844 + + -0x4p-1076, false, true, 13845 + + -0x0p+0, false, true, 13846 + + -0x0p+0, false, true, 13847 + + -0x0p+0, false, true, 13848 + + true, 13849 + + -0x2p-1076, false, false, 13850 + + -0x2p-1076, false, false, 13851 + + -0x2p-1076, false, false, 13852 + + -0x2p-1076, false, false), 13853 + TEST ("-2.470328229206232720882843964341106861825299013071623822127" 13854 + "928412503377536351043759326499181808179961898982823477228588" 13855 + "654633283551779698981993873980053909390631503565951557022639" 13856 + @@ -7550,35 +7550,35 @@ static const struct test tests[] = { 13857 + "477918694866799496832404970582102851318545139621383772282614" 13858 + "5437693412532098591327667236328126e-324", 13859 + false, 13860 + - -0x8p-152, false, 13861 + - -0x0p+0, false, 13862 + - -0x0p+0, false, 13863 + - -0x0p+0, false, 13864 + - false, 13865 + - -0x4p-1076, false, 13866 + - -0x4p-1076, false, 13867 + - -0x0p+0, false, 13868 + - -0x0p+0, false, 13869 + - false, 13870 + - -0x2.0000000000000004p-1076, false, 13871 + - -0x2p-1076, false, 13872 + - -0x2p-1076, false, 13873 + - -0x2p-1076, false, 13874 + - false, 13875 + - -0x2.0000000000000004p-1076, false, 13876 + - -0x2p-1076, false, 13877 + - -0x2p-1076, false, 13878 + - -0x2p-1076, false, 13879 + - false, 13880 + - -0x4p-1076, false, 13881 + - -0x4p-1076, false, 13882 + - -0x0p+0, false, 13883 + - -0x0p+0, false, 13884 + - false, 13885 + - -0x2.0000000000000000000000000002p-1076, false, 13886 + - -0x2p-1076, false, 13887 + - -0x2p-1076, false, 13888 + - -0x2p-1076, false), 13889 + + -0x8p-152, false, true, 13890 + + -0x0p+0, false, true, 13891 + + -0x0p+0, false, true, 13892 + + -0x0p+0, false, true, 13893 + + false, 13894 + + -0x4p-1076, false, true, 13895 + + -0x4p-1076, false, true, 13896 + + -0x0p+0, false, true, 13897 + + -0x0p+0, false, true, 13898 + + false, 13899 + + -0x2.0000000000000004p-1076, false, false, 13900 + + -0x2p-1076, false, false, 13901 + + -0x2p-1076, false, false, 13902 + + -0x2p-1076, false, false, 13903 + + false, 13904 + + -0x2.0000000000000004p-1076, false, false, 13905 + + -0x2p-1076, false, false, 13906 + + -0x2p-1076, false, false, 13907 + + -0x2p-1076, false, false, 13908 + + false, 13909 + + -0x4p-1076, false, true, 13910 + + -0x4p-1076, false, true, 13911 + + -0x0p+0, false, true, 13912 + + -0x0p+0, false, true, 13913 + + false, 13914 + + -0x2.0000000000000000000000000002p-1076, false, false, 13915 + + -0x2p-1076, false, false, 13916 + + -0x2p-1076, false, false, 13917 + + -0x2p-1076, false, false), 13918 + TEST ("1.8225997659412373012642029668097099081995254078467816718604" 13919 + "902435141858443166988684047803543129136025986236736736017655" 13920 + "509834928163110160849867540377949045027419112905889658392846" 13921 + @@ -7772,35 +7772,35 @@ static const struct test tests[] = { 13922 + "622089641993900896756734276531931450266972752637997248151974" 13923 + "2277811246822238899767398834228515624e-4951", 13924 + false, 13925 + - 0x0p+0, false, 13926 + - 0x0p+0, false, 13927 + - 0x0p+0, false, 13928 + - 0x8p-152, false, 13929 + - false, 13930 + - 0x0p+0, false, 13931 + - 0x0p+0, false, 13932 + - 0x0p+0, false, 13933 + - 0x4p-1076, false, 13934 + - false, 13935 + - 0x0p+0, false, 13936 + - 0x0p+0, false, 13937 + - 0x0p+0, false, 13938 + - 0x8p-16448, false, 13939 + - false, 13940 + - 0x0p+0, false, 13941 + - 0x4p-16448, false, 13942 + - 0x0p+0, false, 13943 + - 0x4p-16448, false, 13944 + - false, 13945 + - 0x0p+0, false, 13946 + - 0x0p+0, false, 13947 + - 0x0p+0, false, 13948 + - 0x4p-1076, false, 13949 + - false, 13950 + - 0x3.fffffffffffcp-16448, false, 13951 + - 0x4p-16448, false, 13952 + - 0x3.fffffffffffcp-16448, false, 13953 + - 0x4p-16448, false), 13954 + + 0x0p+0, false, true, 13955 + + 0x0p+0, false, true, 13956 + + 0x0p+0, false, true, 13957 + + 0x8p-152, false, true, 13958 + + false, 13959 + + 0x0p+0, false, true, 13960 + + 0x0p+0, false, true, 13961 + + 0x0p+0, false, true, 13962 + + 0x4p-1076, false, true, 13963 + + false, 13964 + + 0x0p+0, false, true, 13965 + + 0x0p+0, false, true, 13966 + + 0x0p+0, false, true, 13967 + + 0x8p-16448, false, true, 13968 + + false, 13969 + + 0x0p+0, false, true, 13970 + + 0x4p-16448, false, true, 13971 + + 0x0p+0, false, true, 13972 + + 0x4p-16448, false, true, 13973 + + false, 13974 + + 0x0p+0, false, true, 13975 + + 0x0p+0, false, true, 13976 + + 0x0p+0, false, true, 13977 + + 0x4p-1076, false, true, 13978 + + false, 13979 + + 0x3.fffffffffffcp-16448, false, true, 13980 + + 0x4p-16448, false, true, 13981 + + 0x3.fffffffffffcp-16448, false, true, 13982 + + 0x4p-16448, false, true), 13983 + TEST ("1.8225997659412373012642029668097099081995254078467816718604" 13984 + "902435141858443166988684047803543129136025986236736736017655" 13985 + "509834928163110160849867540377949045027419112905889658392846" 13986 + @@ -7994,35 +7994,35 @@ static const struct test tests[] = { 13987 + "622089641993900896756734276531931450266972752637997248151974" 13988 + "2277811246822238899767398834228515625e-4951", 13989 + false, 13990 + - 0x0p+0, false, 13991 + - 0x0p+0, false, 13992 + - 0x0p+0, false, 13993 + - 0x8p-152, false, 13994 + - false, 13995 + - 0x0p+0, false, 13996 + - 0x0p+0, false, 13997 + - 0x0p+0, false, 13998 + - 0x4p-1076, false, 13999 + - false, 14000 + - 0x0p+0, false, 14001 + - 0x0p+0, false, 14002 + - 0x0p+0, false, 14003 + - 0x8p-16448, false, 14004 + - true, 14005 + - 0x4p-16448, false, 14006 + - 0x4p-16448, false, 14007 + - 0x4p-16448, false, 14008 + - 0x4p-16448, false, 14009 + - false, 14010 + - 0x0p+0, false, 14011 + - 0x0p+0, false, 14012 + - 0x0p+0, false, 14013 + - 0x4p-1076, false, 14014 + - true, 14015 + - 0x4p-16448, false, 14016 + - 0x4p-16448, false, 14017 + - 0x4p-16448, false, 14018 + - 0x4p-16448, false), 14019 + + 0x0p+0, false, true, 14020 + + 0x0p+0, false, true, 14021 + + 0x0p+0, false, true, 14022 + + 0x8p-152, false, true, 14023 + + false, 14024 + + 0x0p+0, false, true, 14025 + + 0x0p+0, false, true, 14026 + + 0x0p+0, false, true, 14027 + + 0x4p-1076, false, true, 14028 + + false, 14029 + + 0x0p+0, false, true, 14030 + + 0x0p+0, false, true, 14031 + + 0x0p+0, false, true, 14032 + + 0x8p-16448, false, true, 14033 + + true, 14034 + + 0x4p-16448, false, false, 14035 + + 0x4p-16448, false, false, 14036 + + 0x4p-16448, false, false, 14037 + + 0x4p-16448, false, false, 14038 + + false, 14039 + + 0x0p+0, false, true, 14040 + + 0x0p+0, false, true, 14041 + + 0x0p+0, false, true, 14042 + + 0x4p-1076, false, true, 14043 + + true, 14044 + + 0x4p-16448, false, false, 14045 + + 0x4p-16448, false, false, 14046 + + 0x4p-16448, false, false, 14047 + + 0x4p-16448, false, false), 14048 + TEST ("1.8225997659412373012642029668097099081995254078467816718604" 14049 + "902435141858443166988684047803543129136025986236736736017655" 14050 + "509834928163110160849867540377949045027419112905889658392846" 14051 + @@ -8216,35 +8216,35 @@ static const struct test tests[] = { 14052 + "622089641993900896756734276531931450266972752637997248151974" 14053 + "2277811246822238899767398834228515626e-4951", 14054 + false, 14055 + - 0x0p+0, false, 14056 + - 0x0p+0, false, 14057 + - 0x0p+0, false, 14058 + - 0x8p-152, false, 14059 + - false, 14060 + - 0x0p+0, false, 14061 + - 0x0p+0, false, 14062 + - 0x0p+0, false, 14063 + - 0x4p-1076, false, 14064 + - false, 14065 + - 0x0p+0, false, 14066 + - 0x8p-16448, false, 14067 + - 0x0p+0, false, 14068 + - 0x8p-16448, false, 14069 + - false, 14070 + - 0x4p-16448, false, 14071 + - 0x4p-16448, false, 14072 + - 0x4p-16448, false, 14073 + - 0x8p-16448, false, 14074 + - false, 14075 + - 0x0p+0, false, 14076 + - 0x0p+0, false, 14077 + - 0x0p+0, false, 14078 + - 0x4p-1076, false, 14079 + - false, 14080 + - 0x4p-16448, false, 14081 + - 0x4p-16448, false, 14082 + - 0x4p-16448, false, 14083 + - 0x4.000000000004p-16448, false), 14084 + + 0x0p+0, false, true, 14085 + + 0x0p+0, false, true, 14086 + + 0x0p+0, false, true, 14087 + + 0x8p-152, false, true, 14088 + + false, 14089 + + 0x0p+0, false, true, 14090 + + 0x0p+0, false, true, 14091 + + 0x0p+0, false, true, 14092 + + 0x4p-1076, false, true, 14093 + + false, 14094 + + 0x0p+0, false, true, 14095 + + 0x8p-16448, false, true, 14096 + + 0x0p+0, false, true, 14097 + + 0x8p-16448, false, true, 14098 + + false, 14099 + + 0x4p-16448, false, true, 14100 + + 0x4p-16448, false, true, 14101 + + 0x4p-16448, false, true, 14102 + + 0x8p-16448, false, true, 14103 + + false, 14104 + + 0x0p+0, false, true, 14105 + + 0x0p+0, false, true, 14106 + + 0x0p+0, false, true, 14107 + + 0x4p-1076, false, true, 14108 + + false, 14109 + + 0x4p-16448, false, true, 14110 + + 0x4p-16448, false, true, 14111 + + 0x4p-16448, false, true, 14112 + + 0x4.000000000004p-16448, false, true), 14113 + TEST ("-1.822599765941237301264202966809709908199525407846781671860" 14114 + "490243514185844316698868404780354312913602598623673673601765" 14115 + "550983492816311016084986754037794904502741911290588965839284" 14116 + @@ -8438,35 +8438,35 @@ static const struct test tests[] = { 14117 + "462208964199390089675673427653193145026697275263799724815197" 14118 + "42277811246822238899767398834228515624e-4951", 14119 + false, 14120 + - -0x8p-152, false, 14121 + - -0x0p+0, false, 14122 + - -0x0p+0, false, 14123 + - -0x0p+0, false, 14124 + - false, 14125 + - -0x4p-1076, false, 14126 + - -0x0p+0, false, 14127 + - -0x0p+0, false, 14128 + - -0x0p+0, false, 14129 + - false, 14130 + - -0x8p-16448, false, 14131 + - -0x0p+0, false, 14132 + - -0x0p+0, false, 14133 + - -0x0p+0, false, 14134 + - false, 14135 + - -0x4p-16448, false, 14136 + - -0x4p-16448, false, 14137 + - -0x0p+0, false, 14138 + - -0x0p+0, false, 14139 + - false, 14140 + - -0x4p-1076, false, 14141 + - -0x0p+0, false, 14142 + - -0x0p+0, false, 14143 + - -0x0p+0, false, 14144 + - false, 14145 + - -0x4p-16448, false, 14146 + - -0x4p-16448, false, 14147 + - -0x3.fffffffffffcp-16448, false, 14148 + - -0x3.fffffffffffcp-16448, false), 14149 + + -0x8p-152, false, true, 14150 + + -0x0p+0, false, true, 14151 + + -0x0p+0, false, true, 14152 + + -0x0p+0, false, true, 14153 + + false, 14154 + + -0x4p-1076, false, true, 14155 + + -0x0p+0, false, true, 14156 + + -0x0p+0, false, true, 14157 + + -0x0p+0, false, true, 14158 + + false, 14159 + + -0x8p-16448, false, true, 14160 + + -0x0p+0, false, true, 14161 + + -0x0p+0, false, true, 14162 + + -0x0p+0, false, true, 14163 + + false, 14164 + + -0x4p-16448, false, true, 14165 + + -0x4p-16448, false, true, 14166 + + -0x0p+0, false, true, 14167 + + -0x0p+0, false, true, 14168 + + false, 14169 + + -0x4p-1076, false, true, 14170 + + -0x0p+0, false, true, 14171 + + -0x0p+0, false, true, 14172 + + -0x0p+0, false, true, 14173 + + false, 14174 + + -0x4p-16448, false, true, 14175 + + -0x4p-16448, false, true, 14176 + + -0x3.fffffffffffcp-16448, false, true, 14177 + + -0x3.fffffffffffcp-16448, false, true), 14178 + TEST ("-1.822599765941237301264202966809709908199525407846781671860" 14179 + "490243514185844316698868404780354312913602598623673673601765" 14180 + "550983492816311016084986754037794904502741911290588965839284" 14181 + @@ -8660,35 +8660,35 @@ static const struct test tests[] = { 14182 + "462208964199390089675673427653193145026697275263799724815197" 14183 + "42277811246822238899767398834228515625e-4951", 14184 + false, 14185 + - -0x8p-152, false, 14186 + - -0x0p+0, false, 14187 + - -0x0p+0, false, 14188 + - -0x0p+0, false, 14189 + - false, 14190 + - -0x4p-1076, false, 14191 + - -0x0p+0, false, 14192 + - -0x0p+0, false, 14193 + - -0x0p+0, false, 14194 + - false, 14195 + - -0x8p-16448, false, 14196 + - -0x0p+0, false, 14197 + - -0x0p+0, false, 14198 + - -0x0p+0, false, 14199 + - true, 14200 + - -0x4p-16448, false, 14201 + - -0x4p-16448, false, 14202 + - -0x4p-16448, false, 14203 + - -0x4p-16448, false, 14204 + - false, 14205 + - -0x4p-1076, false, 14206 + - -0x0p+0, false, 14207 + - -0x0p+0, false, 14208 + - -0x0p+0, false, 14209 + - true, 14210 + - -0x4p-16448, false, 14211 + - -0x4p-16448, false, 14212 + - -0x4p-16448, false, 14213 + - -0x4p-16448, false), 14214 + + -0x8p-152, false, true, 14215 + + -0x0p+0, false, true, 14216 + + -0x0p+0, false, true, 14217 + + -0x0p+0, false, true, 14218 + + false, 14219 + + -0x4p-1076, false, true, 14220 + + -0x0p+0, false, true, 14221 + + -0x0p+0, false, true, 14222 + + -0x0p+0, false, true, 14223 + + false, 14224 + + -0x8p-16448, false, true, 14225 + + -0x0p+0, false, true, 14226 + + -0x0p+0, false, true, 14227 + + -0x0p+0, false, true, 14228 + + true, 14229 + + -0x4p-16448, false, false, 14230 + + -0x4p-16448, false, false, 14231 + + -0x4p-16448, false, false, 14232 + + -0x4p-16448, false, false, 14233 + + false, 14234 + + -0x4p-1076, false, true, 14235 + + -0x0p+0, false, true, 14236 + + -0x0p+0, false, true, 14237 + + -0x0p+0, false, true, 14238 + + true, 14239 + + -0x4p-16448, false, false, 14240 + + -0x4p-16448, false, false, 14241 + + -0x4p-16448, false, false, 14242 + + -0x4p-16448, false, false), 14243 + TEST ("-1.822599765941237301264202966809709908199525407846781671860" 14244 + "490243514185844316698868404780354312913602598623673673601765" 14245 + "550983492816311016084986754037794904502741911290588965839284" 14246 + @@ -8882,35 +8882,35 @@ static const struct test tests[] = { 14247 + "462208964199390089675673427653193145026697275263799724815197" 14248 + "42277811246822238899767398834228515626e-4951", 14249 + false, 14250 + - -0x8p-152, false, 14251 + - -0x0p+0, false, 14252 + - -0x0p+0, false, 14253 + - -0x0p+0, false, 14254 + - false, 14255 + - -0x4p-1076, false, 14256 + - -0x0p+0, false, 14257 + - -0x0p+0, false, 14258 + - -0x0p+0, false, 14259 + - false, 14260 + - -0x8p-16448, false, 14261 + - -0x8p-16448, false, 14262 + - -0x0p+0, false, 14263 + - -0x0p+0, false, 14264 + - false, 14265 + - -0x8p-16448, false, 14266 + - -0x4p-16448, false, 14267 + - -0x4p-16448, false, 14268 + - -0x4p-16448, false, 14269 + - false, 14270 + - -0x4p-1076, false, 14271 + - -0x0p+0, false, 14272 + - -0x0p+0, false, 14273 + - -0x0p+0, false, 14274 + - false, 14275 + - -0x4.000000000004p-16448, false, 14276 + - -0x4p-16448, false, 14277 + - -0x4p-16448, false, 14278 + - -0x4p-16448, false), 14279 + + -0x8p-152, false, true, 14280 + + -0x0p+0, false, true, 14281 + + -0x0p+0, false, true, 14282 + + -0x0p+0, false, true, 14283 + + false, 14284 + + -0x4p-1076, false, true, 14285 + + -0x0p+0, false, true, 14286 + + -0x0p+0, false, true, 14287 + + -0x0p+0, false, true, 14288 + + false, 14289 + + -0x8p-16448, false, true, 14290 + + -0x8p-16448, false, true, 14291 + + -0x0p+0, false, true, 14292 + + -0x0p+0, false, true, 14293 + + false, 14294 + + -0x8p-16448, false, true, 14295 + + -0x4p-16448, false, true, 14296 + + -0x4p-16448, false, true, 14297 + + -0x4p-16448, false, true, 14298 + + false, 14299 + + -0x4p-1076, false, true, 14300 + + -0x0p+0, false, true, 14301 + + -0x0p+0, false, true, 14302 + + -0x0p+0, false, true, 14303 + + false, 14304 + + -0x4.000000000004p-16448, false, true, 14305 + + -0x4p-16448, false, true, 14306 + + -0x4p-16448, false, true, 14307 + + -0x4p-16448, false, true), 14308 + TEST ("9.1129988297061865063210148340485495409976270392339083593024" 14309 + "512175709292215834943420239017715645680129931183683680088277" 14310 + "549174640815550804249337701889745225137095564529448291964230" 14311 + @@ -9104,35 +9104,35 @@ static const struct test tests[] = { 14312 + "110448209969504483783671382659657251334863763189986240759871" 14313 + "1389056234111194498836994171142578124e-4952", 14314 + false, 14315 + - 0x0p+0, false, 14316 + - 0x0p+0, false, 14317 + - 0x0p+0, false, 14318 + - 0x8p-152, false, 14319 + - false, 14320 + - 0x0p+0, false, 14321 + - 0x0p+0, false, 14322 + - 0x0p+0, false, 14323 + - 0x4p-1076, false, 14324 + - false, 14325 + - 0x0p+0, false, 14326 + - 0x0p+0, false, 14327 + - 0x0p+0, false, 14328 + - 0x8p-16448, false, 14329 + - false, 14330 + - 0x0p+0, false, 14331 + - 0x0p+0, false, 14332 + - 0x0p+0, false, 14333 + - 0x4p-16448, false, 14334 + - false, 14335 + - 0x0p+0, false, 14336 + - 0x0p+0, false, 14337 + - 0x0p+0, false, 14338 + - 0x4p-1076, false, 14339 + - false, 14340 + - 0x1.fffffffffffcp-16448, false, 14341 + - 0x2p-16448, false, 14342 + - 0x1.fffffffffffcp-16448, false, 14343 + - 0x2p-16448, false), 14344 + + 0x0p+0, false, true, 14345 + + 0x0p+0, false, true, 14346 + + 0x0p+0, false, true, 14347 + + 0x8p-152, false, true, 14348 + + false, 14349 + + 0x0p+0, false, true, 14350 + + 0x0p+0, false, true, 14351 + + 0x0p+0, false, true, 14352 + + 0x4p-1076, false, true, 14353 + + false, 14354 + + 0x0p+0, false, true, 14355 + + 0x0p+0, false, true, 14356 + + 0x0p+0, false, true, 14357 + + 0x8p-16448, false, true, 14358 + + false, 14359 + + 0x0p+0, false, true, 14360 + + 0x0p+0, false, true, 14361 + + 0x0p+0, false, true, 14362 + + 0x4p-16448, false, true, 14363 + + false, 14364 + + 0x0p+0, false, true, 14365 + + 0x0p+0, false, true, 14366 + + 0x0p+0, false, true, 14367 + + 0x4p-1076, false, true, 14368 + + false, 14369 + + 0x1.fffffffffffcp-16448, false, true, 14370 + + 0x2p-16448, false, true, 14371 + + 0x1.fffffffffffcp-16448, false, true, 14372 + + 0x2p-16448, false, true), 14373 + TEST ("9.1129988297061865063210148340485495409976270392339083593024" 14374 + "512175709292215834943420239017715645680129931183683680088277" 14375 + "549174640815550804249337701889745225137095564529448291964230" 14376 + @@ -9326,35 +9326,35 @@ static const struct test tests[] = { 14377 + "110448209969504483783671382659657251334863763189986240759871" 14378 + "1389056234111194498836994171142578125e-4952", 14379 + false, 14380 + - 0x0p+0, false, 14381 + - 0x0p+0, false, 14382 + - 0x0p+0, false, 14383 + - 0x8p-152, false, 14384 + - false, 14385 + - 0x0p+0, false, 14386 + - 0x0p+0, false, 14387 + - 0x0p+0, false, 14388 + - 0x4p-1076, false, 14389 + - false, 14390 + - 0x0p+0, false, 14391 + - 0x0p+0, false, 14392 + - 0x0p+0, false, 14393 + - 0x8p-16448, false, 14394 + - false, 14395 + - 0x0p+0, false, 14396 + - 0x0p+0, false, 14397 + - 0x0p+0, false, 14398 + - 0x4p-16448, false, 14399 + - false, 14400 + - 0x0p+0, false, 14401 + - 0x0p+0, false, 14402 + - 0x0p+0, false, 14403 + - 0x4p-1076, false, 14404 + - true, 14405 + - 0x2p-16448, false, 14406 + - 0x2p-16448, false, 14407 + - 0x2p-16448, false, 14408 + - 0x2p-16448, false), 14409 + + 0x0p+0, false, true, 14410 + + 0x0p+0, false, true, 14411 + + 0x0p+0, false, true, 14412 + + 0x8p-152, false, true, 14413 + + false, 14414 + + 0x0p+0, false, true, 14415 + + 0x0p+0, false, true, 14416 + + 0x0p+0, false, true, 14417 + + 0x4p-1076, false, true, 14418 + + false, 14419 + + 0x0p+0, false, true, 14420 + + 0x0p+0, false, true, 14421 + + 0x0p+0, false, true, 14422 + + 0x8p-16448, false, true, 14423 + + false, 14424 + + 0x0p+0, false, true, 14425 + + 0x0p+0, false, true, 14426 + + 0x0p+0, false, true, 14427 + + 0x4p-16448, false, true, 14428 + + false, 14429 + + 0x0p+0, false, true, 14430 + + 0x0p+0, false, true, 14431 + + 0x0p+0, false, true, 14432 + + 0x4p-1076, false, true, 14433 + + true, 14434 + + 0x2p-16448, false, false, 14435 + + 0x2p-16448, false, false, 14436 + + 0x2p-16448, false, false, 14437 + + 0x2p-16448, false, false), 14438 + TEST ("9.1129988297061865063210148340485495409976270392339083593024" 14439 + "512175709292215834943420239017715645680129931183683680088277" 14440 + "549174640815550804249337701889745225137095564529448291964230" 14441 + @@ -9548,35 +9548,35 @@ static const struct test tests[] = { 14442 + "110448209969504483783671382659657251334863763189986240759871" 14443 + "1389056234111194498836994171142578126e-4952", 14444 + false, 14445 + - 0x0p+0, false, 14446 + - 0x0p+0, false, 14447 + - 0x0p+0, false, 14448 + - 0x8p-152, false, 14449 + - false, 14450 + - 0x0p+0, false, 14451 + - 0x0p+0, false, 14452 + - 0x0p+0, false, 14453 + - 0x4p-1076, false, 14454 + - false, 14455 + - 0x0p+0, false, 14456 + - 0x0p+0, false, 14457 + - 0x0p+0, false, 14458 + - 0x8p-16448, false, 14459 + - false, 14460 + - 0x0p+0, false, 14461 + - 0x4p-16448, false, 14462 + - 0x0p+0, false, 14463 + - 0x4p-16448, false, 14464 + - false, 14465 + - 0x0p+0, false, 14466 + - 0x0p+0, false, 14467 + - 0x0p+0, false, 14468 + - 0x4p-1076, false, 14469 + - false, 14470 + - 0x2p-16448, false, 14471 + - 0x2p-16448, false, 14472 + - 0x2p-16448, false, 14473 + - 0x2.000000000004p-16448, false), 14474 + + 0x0p+0, false, true, 14475 + + 0x0p+0, false, true, 14476 + + 0x0p+0, false, true, 14477 + + 0x8p-152, false, true, 14478 + + false, 14479 + + 0x0p+0, false, true, 14480 + + 0x0p+0, false, true, 14481 + + 0x0p+0, false, true, 14482 + + 0x4p-1076, false, true, 14483 + + false, 14484 + + 0x0p+0, false, true, 14485 + + 0x0p+0, false, true, 14486 + + 0x0p+0, false, true, 14487 + + 0x8p-16448, false, true, 14488 + + false, 14489 + + 0x0p+0, false, true, 14490 + + 0x4p-16448, false, true, 14491 + + 0x0p+0, false, true, 14492 + + 0x4p-16448, false, true, 14493 + + false, 14494 + + 0x0p+0, false, true, 14495 + + 0x0p+0, false, true, 14496 + + 0x0p+0, false, true, 14497 + + 0x4p-1076, false, true, 14498 + + false, 14499 + + 0x2p-16448, false, true, 14500 + + 0x2p-16448, false, true, 14501 + + 0x2p-16448, false, true, 14502 + + 0x2.000000000004p-16448, false, true), 14503 + TEST ("-9.112998829706186506321014834048549540997627039233908359302" 14504 + "451217570929221583494342023901771564568012993118368368008827" 14505 + "754917464081555080424933770188974522513709556452944829196423" 14506 + @@ -9770,35 +9770,35 @@ static const struct test tests[] = { 14507 + "311044820996950448378367138265965725133486376318998624075987" 14508 + "11389056234111194498836994171142578124e-4952", 14509 + false, 14510 + - -0x8p-152, false, 14511 + - -0x0p+0, false, 14512 + - -0x0p+0, false, 14513 + - -0x0p+0, false, 14514 + - false, 14515 + - -0x4p-1076, false, 14516 + - -0x0p+0, false, 14517 + - -0x0p+0, false, 14518 + - -0x0p+0, false, 14519 + - false, 14520 + - -0x8p-16448, false, 14521 + - -0x0p+0, false, 14522 + - -0x0p+0, false, 14523 + - -0x0p+0, false, 14524 + - false, 14525 + - -0x4p-16448, false, 14526 + - -0x0p+0, false, 14527 + - -0x0p+0, false, 14528 + - -0x0p+0, false, 14529 + - false, 14530 + - -0x4p-1076, false, 14531 + - -0x0p+0, false, 14532 + - -0x0p+0, false, 14533 + - -0x0p+0, false, 14534 + - false, 14535 + - -0x2p-16448, false, 14536 + - -0x2p-16448, false, 14537 + - -0x1.fffffffffffcp-16448, false, 14538 + - -0x1.fffffffffffcp-16448, false), 14539 + + -0x8p-152, false, true, 14540 + + -0x0p+0, false, true, 14541 + + -0x0p+0, false, true, 14542 + + -0x0p+0, false, true, 14543 + + false, 14544 + + -0x4p-1076, false, true, 14545 + + -0x0p+0, false, true, 14546 + + -0x0p+0, false, true, 14547 + + -0x0p+0, false, true, 14548 + + false, 14549 + + -0x8p-16448, false, true, 14550 + + -0x0p+0, false, true, 14551 + + -0x0p+0, false, true, 14552 + + -0x0p+0, false, true, 14553 + + false, 14554 + + -0x4p-16448, false, true, 14555 + + -0x0p+0, false, true, 14556 + + -0x0p+0, false, true, 14557 + + -0x0p+0, false, true, 14558 + + false, 14559 + + -0x4p-1076, false, true, 14560 + + -0x0p+0, false, true, 14561 + + -0x0p+0, false, true, 14562 + + -0x0p+0, false, true, 14563 + + false, 14564 + + -0x2p-16448, false, true, 14565 + + -0x2p-16448, false, true, 14566 + + -0x1.fffffffffffcp-16448, false, true, 14567 + + -0x1.fffffffffffcp-16448, false, true), 14568 + TEST ("-9.112998829706186506321014834048549540997627039233908359302" 14569 + "451217570929221583494342023901771564568012993118368368008827" 14570 + "754917464081555080424933770188974522513709556452944829196423" 14571 + @@ -9992,35 +9992,35 @@ static const struct test tests[] = { 14572 + "311044820996950448378367138265965725133486376318998624075987" 14573 + "11389056234111194498836994171142578125e-4952", 14574 + false, 14575 + - -0x8p-152, false, 14576 + - -0x0p+0, false, 14577 + - -0x0p+0, false, 14578 + - -0x0p+0, false, 14579 + - false, 14580 + - -0x4p-1076, false, 14581 + - -0x0p+0, false, 14582 + - -0x0p+0, false, 14583 + - -0x0p+0, false, 14584 + - false, 14585 + - -0x8p-16448, false, 14586 + - -0x0p+0, false, 14587 + - -0x0p+0, false, 14588 + - -0x0p+0, false, 14589 + - false, 14590 + - -0x4p-16448, false, 14591 + - -0x0p+0, false, 14592 + - -0x0p+0, false, 14593 + - -0x0p+0, false, 14594 + - false, 14595 + - -0x4p-1076, false, 14596 + - -0x0p+0, false, 14597 + - -0x0p+0, false, 14598 + - -0x0p+0, false, 14599 + - true, 14600 + - -0x2p-16448, false, 14601 + - -0x2p-16448, false, 14602 + - -0x2p-16448, false, 14603 + - -0x2p-16448, false), 14604 + + -0x8p-152, false, true, 14605 + + -0x0p+0, false, true, 14606 + + -0x0p+0, false, true, 14607 + + -0x0p+0, false, true, 14608 + + false, 14609 + + -0x4p-1076, false, true, 14610 + + -0x0p+0, false, true, 14611 + + -0x0p+0, false, true, 14612 + + -0x0p+0, false, true, 14613 + + false, 14614 + + -0x8p-16448, false, true, 14615 + + -0x0p+0, false, true, 14616 + + -0x0p+0, false, true, 14617 + + -0x0p+0, false, true, 14618 + + false, 14619 + + -0x4p-16448, false, true, 14620 + + -0x0p+0, false, true, 14621 + + -0x0p+0, false, true, 14622 + + -0x0p+0, false, true, 14623 + + false, 14624 + + -0x4p-1076, false, true, 14625 + + -0x0p+0, false, true, 14626 + + -0x0p+0, false, true, 14627 + + -0x0p+0, false, true, 14628 + + true, 14629 + + -0x2p-16448, false, false, 14630 + + -0x2p-16448, false, false, 14631 + + -0x2p-16448, false, false, 14632 + + -0x2p-16448, false, false), 14633 + TEST ("-9.112998829706186506321014834048549540997627039233908359302" 14634 + "451217570929221583494342023901771564568012993118368368008827" 14635 + "754917464081555080424933770188974522513709556452944829196423" 14636 + @@ -10214,35 +10214,35 @@ static const struct test tests[] = { 14637 + "311044820996950448378367138265965725133486376318998624075987" 14638 + "11389056234111194498836994171142578126e-4952", 14639 + false, 14640 + - -0x8p-152, false, 14641 + - -0x0p+0, false, 14642 + - -0x0p+0, false, 14643 + - -0x0p+0, false, 14644 + - false, 14645 + - -0x4p-1076, false, 14646 + - -0x0p+0, false, 14647 + - -0x0p+0, false, 14648 + - -0x0p+0, false, 14649 + - false, 14650 + - -0x8p-16448, false, 14651 + - -0x0p+0, false, 14652 + - -0x0p+0, false, 14653 + - -0x0p+0, false, 14654 + - false, 14655 + - -0x4p-16448, false, 14656 + - -0x4p-16448, false, 14657 + - -0x0p+0, false, 14658 + - -0x0p+0, false, 14659 + - false, 14660 + - -0x4p-1076, false, 14661 + - -0x0p+0, false, 14662 + - -0x0p+0, false, 14663 + - -0x0p+0, false, 14664 + - false, 14665 + - -0x2.000000000004p-16448, false, 14666 + - -0x2p-16448, false, 14667 + - -0x2p-16448, false, 14668 + - -0x2p-16448, false), 14669 + + -0x8p-152, false, true, 14670 + + -0x0p+0, false, true, 14671 + + -0x0p+0, false, true, 14672 + + -0x0p+0, false, true, 14673 + + false, 14674 + + -0x4p-1076, false, true, 14675 + + -0x0p+0, false, true, 14676 + + -0x0p+0, false, true, 14677 + + -0x0p+0, false, true, 14678 + + false, 14679 + + -0x8p-16448, false, true, 14680 + + -0x0p+0, false, true, 14681 + + -0x0p+0, false, true, 14682 + + -0x0p+0, false, true, 14683 + + false, 14684 + + -0x4p-16448, false, true, 14685 + + -0x4p-16448, false, true, 14686 + + -0x0p+0, false, true, 14687 + + -0x0p+0, false, true, 14688 + + false, 14689 + + -0x4p-1076, false, true, 14690 + + -0x0p+0, false, true, 14691 + + -0x0p+0, false, true, 14692 + + -0x0p+0, false, true, 14693 + + false, 14694 + + -0x2.000000000004p-16448, false, true, 14695 + + -0x2p-16448, false, true, 14696 + + -0x2p-16448, false, true, 14697 + + -0x2p-16448, false, true), 14698 + TEST ("3.2375875597190125554622194791138232762497846690173405048449" 14699 + "421945985197700620596855088357456383249701279390707384240598" 14700 + "382936099431912710233425550359863089915213963553756674672083" 14701 + @@ -10437,35 +10437,35 @@ static const struct test tests[] = { 14702 + "182358152808745703724362178773168996492870519432472065091133" 14703 + "11767578124e-4966", 14704 + false, 14705 + - 0x0p+0, false, 14706 + - 0x0p+0, false, 14707 + - 0x0p+0, false, 14708 + - 0x8p-152, false, 14709 + - false, 14710 + - 0x0p+0, false, 14711 + - 0x0p+0, false, 14712 + - 0x0p+0, false, 14713 + - 0x4p-1076, false, 14714 + - false, 14715 + - 0x0p+0, false, 14716 + - 0x0p+0, false, 14717 + - 0x0p+0, false, 14718 + - 0x8p-16448, false, 14719 + - false, 14720 + - 0x0p+0, false, 14721 + - 0x0p+0, false, 14722 + - 0x0p+0, false, 14723 + - 0x4p-16448, false, 14724 + - false, 14725 + - 0x0p+0, false, 14726 + - 0x0p+0, false, 14727 + - 0x0p+0, false, 14728 + - 0x4p-1076, false, 14729 + - false, 14730 + - 0x0p+0, false, 14731 + - 0x0p+0, false, 14732 + - 0x0p+0, false, 14733 + - 0x4p-16496, false), 14734 + + 0x0p+0, false, true, 14735 + + 0x0p+0, false, true, 14736 + + 0x0p+0, false, true, 14737 + + 0x8p-152, false, true, 14738 + + false, 14739 + + 0x0p+0, false, true, 14740 + + 0x0p+0, false, true, 14741 + + 0x0p+0, false, true, 14742 + + 0x4p-1076, false, true, 14743 + + false, 14744 + + 0x0p+0, false, true, 14745 + + 0x0p+0, false, true, 14746 + + 0x0p+0, false, true, 14747 + + 0x8p-16448, false, true, 14748 + + false, 14749 + + 0x0p+0, false, true, 14750 + + 0x0p+0, false, true, 14751 + + 0x0p+0, false, true, 14752 + + 0x4p-16448, false, true, 14753 + + false, 14754 + + 0x0p+0, false, true, 14755 + + 0x0p+0, false, true, 14756 + + 0x0p+0, false, true, 14757 + + 0x4p-1076, false, true, 14758 + + false, 14759 + + 0x0p+0, false, true, 14760 + + 0x0p+0, false, true, 14761 + + 0x0p+0, false, true, 14762 + + 0x4p-16496, false, true), 14763 + TEST ("3.2375875597190125554622194791138232762497846690173405048449" 14764 + "421945985197700620596855088357456383249701279390707384240598" 14765 + "382936099431912710233425550359863089915213963553756674672083" 14766 + @@ -10660,35 +10660,35 @@ static const struct test tests[] = { 14767 + "182358152808745703724362178773168996492870519432472065091133" 14768 + "11767578125e-4966", 14769 + false, 14770 + - 0x0p+0, false, 14771 + - 0x0p+0, false, 14772 + - 0x0p+0, false, 14773 + - 0x8p-152, false, 14774 + - false, 14775 + - 0x0p+0, false, 14776 + - 0x0p+0, false, 14777 + - 0x0p+0, false, 14778 + - 0x4p-1076, false, 14779 + - false, 14780 + - 0x0p+0, false, 14781 + - 0x0p+0, false, 14782 + - 0x0p+0, false, 14783 + - 0x8p-16448, false, 14784 + - false, 14785 + - 0x0p+0, false, 14786 + - 0x0p+0, false, 14787 + - 0x0p+0, false, 14788 + - 0x4p-16448, false, 14789 + - false, 14790 + - 0x0p+0, false, 14791 + - 0x0p+0, false, 14792 + - 0x0p+0, false, 14793 + - 0x4p-1076, false, 14794 + - false, 14795 + - 0x0p+0, false, 14796 + - 0x0p+0, false, 14797 + - 0x0p+0, false, 14798 + - 0x4p-16496, false), 14799 + + 0x0p+0, false, true, 14800 + + 0x0p+0, false, true, 14801 + + 0x0p+0, false, true, 14802 + + 0x8p-152, false, true, 14803 + + false, 14804 + + 0x0p+0, false, true, 14805 + + 0x0p+0, false, true, 14806 + + 0x0p+0, false, true, 14807 + + 0x4p-1076, false, true, 14808 + + false, 14809 + + 0x0p+0, false, true, 14810 + + 0x0p+0, false, true, 14811 + + 0x0p+0, false, true, 14812 + + 0x8p-16448, false, true, 14813 + + false, 14814 + + 0x0p+0, false, true, 14815 + + 0x0p+0, false, true, 14816 + + 0x0p+0, false, true, 14817 + + 0x4p-16448, false, true, 14818 + + false, 14819 + + 0x0p+0, false, true, 14820 + + 0x0p+0, false, true, 14821 + + 0x0p+0, false, true, 14822 + + 0x4p-1076, false, true, 14823 + + false, 14824 + + 0x0p+0, false, true, 14825 + + 0x0p+0, false, true, 14826 + + 0x0p+0, false, true, 14827 + + 0x4p-16496, false, true), 14828 + TEST ("3.2375875597190125554622194791138232762497846690173405048449" 14829 + "421945985197700620596855088357456383249701279390707384240598" 14830 + "382936099431912710233425550359863089915213963553756674672083" 14831 + @@ -10883,35 +10883,35 @@ static const struct test tests[] = { 14832 + "182358152808745703724362178773168996492870519432472065091133" 14833 + "11767578126e-4966", 14834 + false, 14835 + - 0x0p+0, false, 14836 + - 0x0p+0, false, 14837 + - 0x0p+0, false, 14838 + - 0x8p-152, false, 14839 + - false, 14840 + - 0x0p+0, false, 14841 + - 0x0p+0, false, 14842 + - 0x0p+0, false, 14843 + - 0x4p-1076, false, 14844 + - false, 14845 + - 0x0p+0, false, 14846 + - 0x0p+0, false, 14847 + - 0x0p+0, false, 14848 + - 0x8p-16448, false, 14849 + - false, 14850 + - 0x0p+0, false, 14851 + - 0x0p+0, false, 14852 + - 0x0p+0, false, 14853 + - 0x4p-16448, false, 14854 + - false, 14855 + - 0x0p+0, false, 14856 + - 0x0p+0, false, 14857 + - 0x0p+0, false, 14858 + - 0x4p-1076, false, 14859 + - false, 14860 + - 0x0p+0, false, 14861 + - 0x4p-16496, false, 14862 + - 0x0p+0, false, 14863 + - 0x4p-16496, false), 14864 + + 0x0p+0, false, true, 14865 + + 0x0p+0, false, true, 14866 + + 0x0p+0, false, true, 14867 + + 0x8p-152, false, true, 14868 + + false, 14869 + + 0x0p+0, false, true, 14870 + + 0x0p+0, false, true, 14871 + + 0x0p+0, false, true, 14872 + + 0x4p-1076, false, true, 14873 + + false, 14874 + + 0x0p+0, false, true, 14875 + + 0x0p+0, false, true, 14876 + + 0x0p+0, false, true, 14877 + + 0x8p-16448, false, true, 14878 + + false, 14879 + + 0x0p+0, false, true, 14880 + + 0x0p+0, false, true, 14881 + + 0x0p+0, false, true, 14882 + + 0x4p-16448, false, true, 14883 + + false, 14884 + + 0x0p+0, false, true, 14885 + + 0x0p+0, false, true, 14886 + + 0x0p+0, false, true, 14887 + + 0x4p-1076, false, true, 14888 + + false, 14889 + + 0x0p+0, false, true, 14890 + + 0x4p-16496, false, true, 14891 + + 0x0p+0, false, true, 14892 + + 0x4p-16496, false, true), 14893 + TEST ("-3.237587559719012555462219479113823276249784669017340504844" 14894 + "942194598519770062059685508835745638324970127939070738424059" 14895 + "838293609943191271023342555035986308991521396355375667467208" 14896 + @@ -11106,35 +11106,35 @@ static const struct test tests[] = { 14897 + "218235815280874570372436217877316899649287051943247206509113" 14898 + "311767578124e-4966", 14899 + false, 14900 + - -0x8p-152, false, 14901 + - -0x0p+0, false, 14902 + - -0x0p+0, false, 14903 + - -0x0p+0, false, 14904 + - false, 14905 + - -0x4p-1076, false, 14906 + - -0x0p+0, false, 14907 + - -0x0p+0, false, 14908 + - -0x0p+0, false, 14909 + - false, 14910 + - -0x8p-16448, false, 14911 + - -0x0p+0, false, 14912 + - -0x0p+0, false, 14913 + - -0x0p+0, false, 14914 + - false, 14915 + - -0x4p-16448, false, 14916 + - -0x0p+0, false, 14917 + - -0x0p+0, false, 14918 + - -0x0p+0, false, 14919 + - false, 14920 + - -0x4p-1076, false, 14921 + - -0x0p+0, false, 14922 + - -0x0p+0, false, 14923 + - -0x0p+0, false, 14924 + - false, 14925 + - -0x4p-16496, false, 14926 + - -0x0p+0, false, 14927 + - -0x0p+0, false, 14928 + - -0x0p+0, false), 14929 + + -0x8p-152, false, true, 14930 + + -0x0p+0, false, true, 14931 + + -0x0p+0, false, true, 14932 + + -0x0p+0, false, true, 14933 + + false, 14934 + + -0x4p-1076, false, true, 14935 + + -0x0p+0, false, true, 14936 + + -0x0p+0, false, true, 14937 + + -0x0p+0, false, true, 14938 + + false, 14939 + + -0x8p-16448, false, true, 14940 + + -0x0p+0, false, true, 14941 + + -0x0p+0, false, true, 14942 + + -0x0p+0, false, true, 14943 + + false, 14944 + + -0x4p-16448, false, true, 14945 + + -0x0p+0, false, true, 14946 + + -0x0p+0, false, true, 14947 + + -0x0p+0, false, true, 14948 + + false, 14949 + + -0x4p-1076, false, true, 14950 + + -0x0p+0, false, true, 14951 + + -0x0p+0, false, true, 14952 + + -0x0p+0, false, true, 14953 + + false, 14954 + + -0x4p-16496, false, true, 14955 + + -0x0p+0, false, true, 14956 + + -0x0p+0, false, true, 14957 + + -0x0p+0, false, true), 14958 + TEST ("-3.237587559719012555462219479113823276249784669017340504844" 14959 + "942194598519770062059685508835745638324970127939070738424059" 14960 + "838293609943191271023342555035986308991521396355375667467208" 14961 + @@ -11329,35 +11329,35 @@ static const struct test tests[] = { 14962 + "218235815280874570372436217877316899649287051943247206509113" 14963 + "311767578125e-4966", 14964 + false, 14965 + - -0x8p-152, false, 14966 + - -0x0p+0, false, 14967 + - -0x0p+0, false, 14968 + - -0x0p+0, false, 14969 + - false, 14970 + - -0x4p-1076, false, 14971 + - -0x0p+0, false, 14972 + - -0x0p+0, false, 14973 + - -0x0p+0, false, 14974 + - false, 14975 + - -0x8p-16448, false, 14976 + - -0x0p+0, false, 14977 + - -0x0p+0, false, 14978 + - -0x0p+0, false, 14979 + - false, 14980 + - -0x4p-16448, false, 14981 + - -0x0p+0, false, 14982 + - -0x0p+0, false, 14983 + - -0x0p+0, false, 14984 + - false, 14985 + - -0x4p-1076, false, 14986 + - -0x0p+0, false, 14987 + - -0x0p+0, false, 14988 + - -0x0p+0, false, 14989 + - false, 14990 + - -0x4p-16496, false, 14991 + - -0x0p+0, false, 14992 + - -0x0p+0, false, 14993 + - -0x0p+0, false), 14994 + + -0x8p-152, false, true, 14995 + + -0x0p+0, false, true, 14996 + + -0x0p+0, false, true, 14997 + + -0x0p+0, false, true, 14998 + + false, 14999 + + -0x4p-1076, false, true, 15000 + + -0x0p+0, false, true, 15001 + + -0x0p+0, false, true, 15002 + + -0x0p+0, false, true, 15003 + + false, 15004 + + -0x8p-16448, false, true, 15005 + + -0x0p+0, false, true, 15006 + + -0x0p+0, false, true, 15007 + + -0x0p+0, false, true, 15008 + + false, 15009 + + -0x4p-16448, false, true, 15010 + + -0x0p+0, false, true, 15011 + + -0x0p+0, false, true, 15012 + + -0x0p+0, false, true, 15013 + + false, 15014 + + -0x4p-1076, false, true, 15015 + + -0x0p+0, false, true, 15016 + + -0x0p+0, false, true, 15017 + + -0x0p+0, false, true, 15018 + + false, 15019 + + -0x4p-16496, false, true, 15020 + + -0x0p+0, false, true, 15021 + + -0x0p+0, false, true, 15022 + + -0x0p+0, false, true), 15023 + TEST ("-3.237587559719012555462219479113823276249784669017340504844" 15024 + "942194598519770062059685508835745638324970127939070738424059" 15025 + "838293609943191271023342555035986308991521396355375667467208" 15026 + @@ -11552,66 +11552,66 @@ static const struct test tests[] = { 15027 + "218235815280874570372436217877316899649287051943247206509113" 15028 + "311767578126e-4966", 15029 + false, 15030 + - -0x8p-152, false, 15031 + - -0x0p+0, false, 15032 + - -0x0p+0, false, 15033 + - -0x0p+0, false, 15034 + - false, 15035 + - -0x4p-1076, false, 15036 + - -0x0p+0, false, 15037 + - -0x0p+0, false, 15038 + - -0x0p+0, false, 15039 + - false, 15040 + - -0x8p-16448, false, 15041 + - -0x0p+0, false, 15042 + - -0x0p+0, false, 15043 + - -0x0p+0, false, 15044 + - false, 15045 + - -0x4p-16448, false, 15046 + - -0x0p+0, false, 15047 + - -0x0p+0, false, 15048 + - -0x0p+0, false, 15049 + - false, 15050 + - -0x4p-1076, false, 15051 + - -0x0p+0, false, 15052 + - -0x0p+0, false, 15053 + - -0x0p+0, false, 15054 + - false, 15055 + - -0x4p-16496, false, 15056 + - -0x4p-16496, false, 15057 + - -0x0p+0, false, 15058 + - -0x0p+0, false), 15059 + + -0x8p-152, false, true, 15060 + + -0x0p+0, false, true, 15061 + + -0x0p+0, false, true, 15062 + + -0x0p+0, false, true, 15063 + + false, 15064 + + -0x4p-1076, false, true, 15065 + + -0x0p+0, false, true, 15066 + + -0x0p+0, false, true, 15067 + + -0x0p+0, false, true, 15068 + + false, 15069 + + -0x8p-16448, false, true, 15070 + + -0x0p+0, false, true, 15071 + + -0x0p+0, false, true, 15072 + + -0x0p+0, false, true, 15073 + + false, 15074 + + -0x4p-16448, false, true, 15075 + + -0x0p+0, false, true, 15076 + + -0x0p+0, false, true, 15077 + + -0x0p+0, false, true, 15078 + + false, 15079 + + -0x4p-1076, false, true, 15080 + + -0x0p+0, false, true, 15081 + + -0x0p+0, false, true, 15082 + + -0x0p+0, false, true, 15083 + + false, 15084 + + -0x4p-16496, false, true, 15085 + + -0x4p-16496, false, true, 15086 + + -0x0p+0, false, true, 15087 + + -0x0p+0, false, true), 15088 + TEST ("340282366920938463463374607431768211455", 15089 + false, 15090 + - 0xf.fffffp+124, false, 15091 + - INF, true, 15092 + - 0xf.fffffp+124, false, 15093 + - INF, true, 15094 + - false, 15095 + - 0xf.ffffffffffff8p+124, false, 15096 + - 0x1p+128, false, 15097 + - 0xf.ffffffffffff8p+124, false, 15098 + - 0x1p+128, false, 15099 + - false, 15100 + - 0xf.fffffffffffffffp+124, false, 15101 + - 0x1p+128, false, 15102 + - 0xf.fffffffffffffffp+124, false, 15103 + - 0x1p+128, false, 15104 + - false, 15105 + - 0xf.fffffffffffffffp+124, false, 15106 + - 0x1p+128, false, 15107 + - 0xf.fffffffffffffffp+124, false, 15108 + - 0x1p+128, false, 15109 + - false, 15110 + - 0xf.fffffffffffffffffffffffffcp+124, false, 15111 + - 0x1p+128, false, 15112 + - 0xf.fffffffffffffffffffffffffcp+124, false, 15113 + - 0x1p+128, false, 15114 + - false, 15115 + - 0xf.fffffffffffffffffffffffffff8p+124, false, 15116 + - 0x1p+128, false, 15117 + - 0xf.fffffffffffffffffffffffffff8p+124, false, 15118 + - 0x1p+128, false), 15119 + + 0xf.fffffp+124, false, false, 15120 + + INF, true, false, 15121 + + 0xf.fffffp+124, false, false, 15122 + + INF, true, false, 15123 + + false, 15124 + + 0xf.ffffffffffff8p+124, false, false, 15125 + + 0x1p+128, false, false, 15126 + + 0xf.ffffffffffff8p+124, false, false, 15127 + + 0x1p+128, false, false, 15128 + + false, 15129 + + 0xf.fffffffffffffffp+124, false, false, 15130 + + 0x1p+128, false, false, 15131 + + 0xf.fffffffffffffffp+124, false, false, 15132 + + 0x1p+128, false, false, 15133 + + false, 15134 + + 0xf.fffffffffffffffp+124, false, false, 15135 + + 0x1p+128, false, false, 15136 + + 0xf.fffffffffffffffp+124, false, false, 15137 + + 0x1p+128, false, false, 15138 + + false, 15139 + + 0xf.fffffffffffffffffffffffffcp+124, false, false, 15140 + + 0x1p+128, false, false, 15141 + + 0xf.fffffffffffffffffffffffffcp+124, false, false, 15142 + + 0x1p+128, false, false, 15143 + + false, 15144 + + 0xf.fffffffffffffffffffffffffff8p+124, false, false, 15145 + + 0x1p+128, false, false, 15146 + + 0xf.fffffffffffffffffffffffffff8p+124, false, false, 15147 + + 0x1p+128, false, false), 15148 + TEST ("179769313486231590772930519078902473361797697894230657273430" 15149 + "081157732675805500963132708477322407536021120113879871393357" 15150 + "658789768814416622492847430639474124377767893424865485276302" 15151 + @@ -11619,35 +11619,35 @@ static const struct test tests[] = { 15152 + "540827237163350510684586298239947245938479716304835356329624" 15153 + "224137215", 15154 + false, 15155 + - 0xf.fffffp+124, true, 15156 + - INF, true, 15157 + - 0xf.fffffp+124, true, 15158 + - INF, true, 15159 + - false, 15160 + - 0xf.ffffffffffff8p+1020, false, 15161 + - INF, true, 15162 + - 0xf.ffffffffffff8p+1020, false, 15163 + - INF, true, 15164 + - false, 15165 + - 0xf.fffffffffffffffp+1020, false, 15166 + - 0x1p+1024, false, 15167 + - 0xf.fffffffffffffffp+1020, false, 15168 + - 0x1p+1024, false, 15169 + - false, 15170 + - 0xf.fffffffffffffffp+1020, false, 15171 + - 0x1p+1024, false, 15172 + - 0xf.fffffffffffffffp+1020, false, 15173 + - 0x1p+1024, false, 15174 + - false, 15175 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15176 + - INF, true, 15177 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15178 + - INF, true, 15179 + - false, 15180 + - 0xf.fffffffffffffffffffffffffff8p+1020, false, 15181 + - 0x1p+1024, false, 15182 + - 0xf.fffffffffffffffffffffffffff8p+1020, false, 15183 + - 0x1p+1024, false), 15184 + + 0xf.fffffp+124, true, false, 15185 + + INF, true, false, 15186 + + 0xf.fffffp+124, true, false, 15187 + + INF, true, false, 15188 + + false, 15189 + + 0xf.ffffffffffff8p+1020, false, false, 15190 + + INF, true, false, 15191 + + 0xf.ffffffffffff8p+1020, false, false, 15192 + + INF, true, false, 15193 + + false, 15194 + + 0xf.fffffffffffffffp+1020, false, false, 15195 + + 0x1p+1024, false, false, 15196 + + 0xf.fffffffffffffffp+1020, false, false, 15197 + + 0x1p+1024, false, false, 15198 + + false, 15199 + + 0xf.fffffffffffffffp+1020, false, false, 15200 + + 0x1p+1024, false, false, 15201 + + 0xf.fffffffffffffffp+1020, false, false, 15202 + + 0x1p+1024, false, false, 15203 + + false, 15204 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15205 + + INF, true, false, 15206 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15207 + + INF, true, false, 15208 + + false, 15209 + + 0xf.fffffffffffffffffffffffffff8p+1020, false, false, 15210 + + 0x1p+1024, false, false, 15211 + + 0xf.fffffffffffffffffffffffffff8p+1020, false, false, 15212 + + 0x1p+1024, false, false), 15213 + TEST ("118973149535723176508575932662800713076344468709651023747267" 15214 + "482123326135818048368690448859547261203991511543748483930925" 15215 + "889766738130868742627452469834156500608087163436600489752214" 15216 + @@ -11732,66 +11732,66 @@ static const struct test tests[] = { 15217 + "047398248889922809181821393428829567971736994315246044702729" 15218 + "0669964066815", 15219 + false, 15220 + - 0xf.fffffp+124, true, 15221 + - INF, true, 15222 + - 0xf.fffffp+124, true, 15223 + - INF, true, 15224 + - false, 15225 + - 0xf.ffffffffffff8p+1020, true, 15226 + - INF, true, 15227 + - 0xf.ffffffffffff8p+1020, true, 15228 + - INF, true, 15229 + - false, 15230 + - 0xf.fffffffffffffffp+16380, false, 15231 + - INF, true, 15232 + - 0xf.fffffffffffffffp+16380, false, 15233 + - INF, true, 15234 + - false, 15235 + - 0xf.fffffffffffffffp+16380, false, 15236 + - INF, true, 15237 + - 0xf.fffffffffffffffp+16380, false, 15238 + - INF, true, 15239 + - false, 15240 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15241 + - INF, true, 15242 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15243 + - INF, true, 15244 + - false, 15245 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 15246 + - INF, true, 15247 + - 0xf.fffffffffffffffffffffffffff8p+16380, false, 15248 + - INF, true), 15249 + + 0xf.fffffp+124, true, false, 15250 + + INF, true, false, 15251 + + 0xf.fffffp+124, true, false, 15252 + + INF, true, false, 15253 + + false, 15254 + + 0xf.ffffffffffff8p+1020, true, false, 15255 + + INF, true, false, 15256 + + 0xf.ffffffffffff8p+1020, true, false, 15257 + + INF, true, false, 15258 + + false, 15259 + + 0xf.fffffffffffffffp+16380, false, false, 15260 + + INF, true, false, 15261 + + 0xf.fffffffffffffffp+16380, false, false, 15262 + + INF, true, false, 15263 + + false, 15264 + + 0xf.fffffffffffffffp+16380, false, false, 15265 + + INF, true, false, 15266 + + 0xf.fffffffffffffffp+16380, false, false, 15267 + + INF, true, false, 15268 + + false, 15269 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15270 + + INF, true, false, 15271 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15272 + + INF, true, false, 15273 + + false, 15274 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 15275 + + INF, true, false, 15276 + + 0xf.fffffffffffffffffffffffffff8p+16380, false, false, 15277 + + INF, true, false), 15278 + TEST ("-340282366920938463463374607431768211455", 15279 + false, 15280 + - -INF, true, 15281 + - -INF, true, 15282 + - -0xf.fffffp+124, false, 15283 + - -0xf.fffffp+124, false, 15284 + - false, 15285 + - -0x1p+128, false, 15286 + - -0x1p+128, false, 15287 + - -0xf.ffffffffffff8p+124, false, 15288 + - -0xf.ffffffffffff8p+124, false, 15289 + - false, 15290 + - -0x1p+128, false, 15291 + - -0x1p+128, false, 15292 + - -0xf.fffffffffffffffp+124, false, 15293 + - -0xf.fffffffffffffffp+124, false, 15294 + - false, 15295 + - -0x1p+128, false, 15296 + - -0x1p+128, false, 15297 + - -0xf.fffffffffffffffp+124, false, 15298 + - -0xf.fffffffffffffffp+124, false, 15299 + - false, 15300 + - -0x1p+128, false, 15301 + - -0x1p+128, false, 15302 + - -0xf.fffffffffffffffffffffffffcp+124, false, 15303 + - -0xf.fffffffffffffffffffffffffcp+124, false, 15304 + - false, 15305 + - -0x1p+128, false, 15306 + - -0x1p+128, false, 15307 + - -0xf.fffffffffffffffffffffffffff8p+124, false, 15308 + - -0xf.fffffffffffffffffffffffffff8p+124, false), 15309 + + -INF, true, false, 15310 + + -INF, true, false, 15311 + + -0xf.fffffp+124, false, false, 15312 + + -0xf.fffffp+124, false, false, 15313 + + false, 15314 + + -0x1p+128, false, false, 15315 + + -0x1p+128, false, false, 15316 + + -0xf.ffffffffffff8p+124, false, false, 15317 + + -0xf.ffffffffffff8p+124, false, false, 15318 + + false, 15319 + + -0x1p+128, false, false, 15320 + + -0x1p+128, false, false, 15321 + + -0xf.fffffffffffffffp+124, false, false, 15322 + + -0xf.fffffffffffffffp+124, false, false, 15323 + + false, 15324 + + -0x1p+128, false, false, 15325 + + -0x1p+128, false, false, 15326 + + -0xf.fffffffffffffffp+124, false, false, 15327 + + -0xf.fffffffffffffffp+124, false, false, 15328 + + false, 15329 + + -0x1p+128, false, false, 15330 + + -0x1p+128, false, false, 15331 + + -0xf.fffffffffffffffffffffffffcp+124, false, false, 15332 + + -0xf.fffffffffffffffffffffffffcp+124, false, false, 15333 + + false, 15334 + + -0x1p+128, false, false, 15335 + + -0x1p+128, false, false, 15336 + + -0xf.fffffffffffffffffffffffffff8p+124, false, false, 15337 + + -0xf.fffffffffffffffffffffffffff8p+124, false, false), 15338 + TEST ("-17976931348623159077293051907890247336179769789423065727343" 15339 + "008115773267580550096313270847732240753602112011387987139335" 15340 + "765878976881441662249284743063947412437776789342486548527630" 15341 + @@ -11799,35 +11799,35 @@ static const struct test tests[] = { 15342 + "054082723716335051068458629823994724593847971630483535632962" 15343 + "4224137215", 15344 + false, 15345 + - -INF, true, 15346 + - -INF, true, 15347 + - -0xf.fffffp+124, true, 15348 + - -0xf.fffffp+124, true, 15349 + - false, 15350 + - -INF, true, 15351 + - -INF, true, 15352 + - -0xf.ffffffffffff8p+1020, false, 15353 + - -0xf.ffffffffffff8p+1020, false, 15354 + - false, 15355 + - -0x1p+1024, false, 15356 + - -0x1p+1024, false, 15357 + - -0xf.fffffffffffffffp+1020, false, 15358 + - -0xf.fffffffffffffffp+1020, false, 15359 + - false, 15360 + - -0x1p+1024, false, 15361 + - -0x1p+1024, false, 15362 + - -0xf.fffffffffffffffp+1020, false, 15363 + - -0xf.fffffffffffffffp+1020, false, 15364 + - false, 15365 + - -INF, true, 15366 + - -INF, true, 15367 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 15368 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 15369 + - false, 15370 + - -0x1p+1024, false, 15371 + - -0x1p+1024, false, 15372 + - -0xf.fffffffffffffffffffffffffff8p+1020, false, 15373 + - -0xf.fffffffffffffffffffffffffff8p+1020, false), 15374 + + -INF, true, false, 15375 + + -INF, true, false, 15376 + + -0xf.fffffp+124, true, false, 15377 + + -0xf.fffffp+124, true, false, 15378 + + false, 15379 + + -INF, true, false, 15380 + + -INF, true, false, 15381 + + -0xf.ffffffffffff8p+1020, false, false, 15382 + + -0xf.ffffffffffff8p+1020, false, false, 15383 + + false, 15384 + + -0x1p+1024, false, false, 15385 + + -0x1p+1024, false, false, 15386 + + -0xf.fffffffffffffffp+1020, false, false, 15387 + + -0xf.fffffffffffffffp+1020, false, false, 15388 + + false, 15389 + + -0x1p+1024, false, false, 15390 + + -0x1p+1024, false, false, 15391 + + -0xf.fffffffffffffffp+1020, false, false, 15392 + + -0xf.fffffffffffffffp+1020, false, false, 15393 + + false, 15394 + + -INF, true, false, 15395 + + -INF, true, false, 15396 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 15397 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 15398 + + false, 15399 + + -0x1p+1024, false, false, 15400 + + -0x1p+1024, false, false, 15401 + + -0xf.fffffffffffffffffffffffffff8p+1020, false, false, 15402 + + -0xf.fffffffffffffffffffffffffff8p+1020, false, false), 15403 + TEST ("-11897314953572317650857593266280071307634446870965102374726" 15404 + "748212332613581804836869044885954726120399151154374848393092" 15405 + "588976673813086874262745246983415650060808716343660048975221" 15406 + @@ -11912,3529 +11912,3529 @@ static const struct test tests[] = { 15407 + "904739824888992280918182139342882956797173699431524604470272" 15408 + "90669964066815", 15409 + false, 15410 + - -INF, true, 15411 + - -INF, true, 15412 + - -0xf.fffffp+124, true, 15413 + - -0xf.fffffp+124, true, 15414 + - false, 15415 + - -INF, true, 15416 + - -INF, true, 15417 + - -0xf.ffffffffffff8p+1020, true, 15418 + - -0xf.ffffffffffff8p+1020, true, 15419 + - false, 15420 + - -INF, true, 15421 + - -INF, true, 15422 + - -0xf.fffffffffffffffp+16380, false, 15423 + - -0xf.fffffffffffffffp+16380, false, 15424 + - false, 15425 + - -INF, true, 15426 + - -INF, true, 15427 + - -0xf.fffffffffffffffp+16380, false, 15428 + - -0xf.fffffffffffffffp+16380, false, 15429 + - false, 15430 + - -INF, true, 15431 + - -INF, true, 15432 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 15433 + - -0xf.fffffffffffffffffffffffffcp+1020, true, 15434 + - false, 15435 + - -INF, true, 15436 + - -INF, true, 15437 + - -0xf.fffffffffffffffffffffffffff8p+16380, false, 15438 + - -0xf.fffffffffffffffffffffffffff8p+16380, false), 15439 + + -INF, true, false, 15440 + + -INF, true, false, 15441 + + -0xf.fffffp+124, true, false, 15442 + + -0xf.fffffp+124, true, false, 15443 + + false, 15444 + + -INF, true, false, 15445 + + -INF, true, false, 15446 + + -0xf.ffffffffffff8p+1020, true, false, 15447 + + -0xf.ffffffffffff8p+1020, true, false, 15448 + + false, 15449 + + -INF, true, false, 15450 + + -INF, true, false, 15451 + + -0xf.fffffffffffffffp+16380, false, false, 15452 + + -0xf.fffffffffffffffp+16380, false, false, 15453 + + false, 15454 + + -INF, true, false, 15455 + + -INF, true, false, 15456 + + -0xf.fffffffffffffffp+16380, false, false, 15457 + + -0xf.fffffffffffffffp+16380, false, false, 15458 + + false, 15459 + + -INF, true, false, 15460 + + -INF, true, false, 15461 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 15462 + + -0xf.fffffffffffffffffffffffffcp+1020, true, false, 15463 + + false, 15464 + + -INF, true, false, 15465 + + -INF, true, false, 15466 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false, 15467 + + -0xf.fffffffffffffffffffffffffff8p+16380, false, false), 15468 + TEST ("+0x.80000000000000000000000000000001p1025", 15469 + false, 15470 + - 0xf.fffffp+124, true, 15471 + - INF, true, 15472 + - 0xf.fffffp+124, true, 15473 + - INF, true, 15474 + - false, 15475 + - 0xf.ffffffffffff8p+1020, true, 15476 + - INF, true, 15477 + - 0xf.ffffffffffff8p+1020, true, 15478 + - INF, true, 15479 + - false, 15480 + - 0x1p+1024, false, 15481 + - 0x1p+1024, false, 15482 + - 0x1p+1024, false, 15483 + - 0x1.0000000000000002p+1024, false, 15484 + - false, 15485 + - 0x1p+1024, false, 15486 + - 0x1p+1024, false, 15487 + - 0x1p+1024, false, 15488 + - 0x1.0000000000000002p+1024, false, 15489 + - false, 15490 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15491 + - INF, true, 15492 + - 0xf.fffffffffffffffffffffffffcp+1020, true, 15493 + - INF, true, 15494 + - false, 15495 + - 0x1p+1024, false, 15496 + - 0x1p+1024, false, 15497 + - 0x1p+1024, false, 15498 + - 0x1.0000000000000000000000000001p+1024, false), 15499 + + 0xf.fffffp+124, true, false, 15500 + + INF, true, false, 15501 + + 0xf.fffffp+124, true, false, 15502 + + INF, true, false, 15503 + + false, 15504 + + 0xf.ffffffffffff8p+1020, true, false, 15505 + + INF, true, false, 15506 + + 0xf.ffffffffffff8p+1020, true, false, 15507 + + INF, true, false, 15508 + + false, 15509 + + 0x1p+1024, false, false, 15510 + + 0x1p+1024, false, false, 15511 + + 0x1p+1024, false, false, 15512 + + 0x1.0000000000000002p+1024, false, false, 15513 + + false, 15514 + + 0x1p+1024, false, false, 15515 + + 0x1p+1024, false, false, 15516 + + 0x1p+1024, false, false, 15517 + + 0x1.0000000000000002p+1024, false, false, 15518 + + false, 15519 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15520 + + INF, true, false, 15521 + + 0xf.fffffffffffffffffffffffffcp+1020, true, false, 15522 + + INF, true, false, 15523 + + false, 15524 + + 0x1p+1024, false, false, 15525 + + 0x1p+1024, false, false, 15526 + + 0x1p+1024, false, false, 15527 + + 0x1.0000000000000000000000000001p+1024, false, false), 15528 + TEST ("1.5", 15529 + true, 15530 + - 0x1.8p+0, false, 15531 + - 0x1.8p+0, false, 15532 + - 0x1.8p+0, false, 15533 + - 0x1.8p+0, false, 15534 + - true, 15535 + - 0x1.8p+0, false, 15536 + - 0x1.8p+0, false, 15537 + - 0x1.8p+0, false, 15538 + - 0x1.8p+0, false, 15539 + - true, 15540 + - 0x1.8p+0, false, 15541 + - 0x1.8p+0, false, 15542 + - 0x1.8p+0, false, 15543 + - 0x1.8p+0, false, 15544 + - true, 15545 + - 0x1.8p+0, false, 15546 + - 0x1.8p+0, false, 15547 + - 0x1.8p+0, false, 15548 + - 0x1.8p+0, false, 15549 + - true, 15550 + - 0x1.8p+0, false, 15551 + - 0x1.8p+0, false, 15552 + - 0x1.8p+0, false, 15553 + - 0x1.8p+0, false, 15554 + - true, 15555 + - 0x1.8p+0, false, 15556 + - 0x1.8p+0, false, 15557 + - 0x1.8p+0, false, 15558 + - 0x1.8p+0, false), 15559 + + 0x1.8p+0, false, false, 15560 + + 0x1.8p+0, false, false, 15561 + + 0x1.8p+0, false, false, 15562 + + 0x1.8p+0, false, false, 15563 + + true, 15564 + + 0x1.8p+0, false, false, 15565 + + 0x1.8p+0, false, false, 15566 + + 0x1.8p+0, false, false, 15567 + + 0x1.8p+0, false, false, 15568 + + true, 15569 + + 0x1.8p+0, false, false, 15570 + + 0x1.8p+0, false, false, 15571 + + 0x1.8p+0, false, false, 15572 + + 0x1.8p+0, false, false, 15573 + + true, 15574 + + 0x1.8p+0, false, false, 15575 + + 0x1.8p+0, false, false, 15576 + + 0x1.8p+0, false, false, 15577 + + 0x1.8p+0, false, false, 15578 + + true, 15579 + + 0x1.8p+0, false, false, 15580 + + 0x1.8p+0, false, false, 15581 + + 0x1.8p+0, false, false, 15582 + + 0x1.8p+0, false, false, 15583 + + true, 15584 + + 0x1.8p+0, false, false, 15585 + + 0x1.8p+0, false, false, 15586 + + 0x1.8p+0, false, false, 15587 + + 0x1.8p+0, false, false), 15588 + TEST ("1.25", 15589 + true, 15590 + - 0x1.4p+0, false, 15591 + - 0x1.4p+0, false, 15592 + - 0x1.4p+0, false, 15593 + - 0x1.4p+0, false, 15594 + - true, 15595 + - 0x1.4p+0, false, 15596 + - 0x1.4p+0, false, 15597 + - 0x1.4p+0, false, 15598 + - 0x1.4p+0, false, 15599 + - true, 15600 + - 0x1.4p+0, false, 15601 + - 0x1.4p+0, false, 15602 + - 0x1.4p+0, false, 15603 + - 0x1.4p+0, false, 15604 + - true, 15605 + - 0x1.4p+0, false, 15606 + - 0x1.4p+0, false, 15607 + - 0x1.4p+0, false, 15608 + - 0x1.4p+0, false, 15609 + - true, 15610 + - 0x1.4p+0, false, 15611 + - 0x1.4p+0, false, 15612 + - 0x1.4p+0, false, 15613 + - 0x1.4p+0, false, 15614 + - true, 15615 + - 0x1.4p+0, false, 15616 + - 0x1.4p+0, false, 15617 + - 0x1.4p+0, false, 15618 + - 0x1.4p+0, false), 15619 + + 0x1.4p+0, false, false, 15620 + + 0x1.4p+0, false, false, 15621 + + 0x1.4p+0, false, false, 15622 + + 0x1.4p+0, false, false, 15623 + + true, 15624 + + 0x1.4p+0, false, false, 15625 + + 0x1.4p+0, false, false, 15626 + + 0x1.4p+0, false, false, 15627 + + 0x1.4p+0, false, false, 15628 + + true, 15629 + + 0x1.4p+0, false, false, 15630 + + 0x1.4p+0, false, false, 15631 + + 0x1.4p+0, false, false, 15632 + + 0x1.4p+0, false, false, 15633 + + true, 15634 + + 0x1.4p+0, false, false, 15635 + + 0x1.4p+0, false, false, 15636 + + 0x1.4p+0, false, false, 15637 + + 0x1.4p+0, false, false, 15638 + + true, 15639 + + 0x1.4p+0, false, false, 15640 + + 0x1.4p+0, false, false, 15641 + + 0x1.4p+0, false, false, 15642 + + 0x1.4p+0, false, false, 15643 + + true, 15644 + + 0x1.4p+0, false, false, 15645 + + 0x1.4p+0, false, false, 15646 + + 0x1.4p+0, false, false, 15647 + + 0x1.4p+0, false, false), 15648 + TEST ("1.125", 15649 + true, 15650 + - 0x1.2p+0, false, 15651 + - 0x1.2p+0, false, 15652 + - 0x1.2p+0, false, 15653 + - 0x1.2p+0, false, 15654 + - true, 15655 + - 0x1.2p+0, false, 15656 + - 0x1.2p+0, false, 15657 + - 0x1.2p+0, false, 15658 + - 0x1.2p+0, false, 15659 + - true, 15660 + - 0x1.2p+0, false, 15661 + - 0x1.2p+0, false, 15662 + - 0x1.2p+0, false, 15663 + - 0x1.2p+0, false, 15664 + - true, 15665 + - 0x1.2p+0, false, 15666 + - 0x1.2p+0, false, 15667 + - 0x1.2p+0, false, 15668 + - 0x1.2p+0, false, 15669 + - true, 15670 + - 0x1.2p+0, false, 15671 + - 0x1.2p+0, false, 15672 + - 0x1.2p+0, false, 15673 + - 0x1.2p+0, false, 15674 + - true, 15675 + - 0x1.2p+0, false, 15676 + - 0x1.2p+0, false, 15677 + - 0x1.2p+0, false, 15678 + - 0x1.2p+0, false), 15679 + + 0x1.2p+0, false, false, 15680 + + 0x1.2p+0, false, false, 15681 + + 0x1.2p+0, false, false, 15682 + + 0x1.2p+0, false, false, 15683 + + true, 15684 + + 0x1.2p+0, false, false, 15685 + + 0x1.2p+0, false, false, 15686 + + 0x1.2p+0, false, false, 15687 + + 0x1.2p+0, false, false, 15688 + + true, 15689 + + 0x1.2p+0, false, false, 15690 + + 0x1.2p+0, false, false, 15691 + + 0x1.2p+0, false, false, 15692 + + 0x1.2p+0, false, false, 15693 + + true, 15694 + + 0x1.2p+0, false, false, 15695 + + 0x1.2p+0, false, false, 15696 + + 0x1.2p+0, false, false, 15697 + + 0x1.2p+0, false, false, 15698 + + true, 15699 + + 0x1.2p+0, false, false, 15700 + + 0x1.2p+0, false, false, 15701 + + 0x1.2p+0, false, false, 15702 + + 0x1.2p+0, false, false, 15703 + + true, 15704 + + 0x1.2p+0, false, false, 15705 + + 0x1.2p+0, false, false, 15706 + + 0x1.2p+0, false, false, 15707 + + 0x1.2p+0, false, false), 15708 + TEST ("1.0625", 15709 + true, 15710 + - 0x1.1p+0, false, 15711 + - 0x1.1p+0, false, 15712 + - 0x1.1p+0, false, 15713 + - 0x1.1p+0, false, 15714 + - true, 15715 + - 0x1.1p+0, false, 15716 + - 0x1.1p+0, false, 15717 + - 0x1.1p+0, false, 15718 + - 0x1.1p+0, false, 15719 + - true, 15720 + - 0x1.1p+0, false, 15721 + - 0x1.1p+0, false, 15722 + - 0x1.1p+0, false, 15723 + - 0x1.1p+0, false, 15724 + - true, 15725 + - 0x1.1p+0, false, 15726 + - 0x1.1p+0, false, 15727 + - 0x1.1p+0, false, 15728 + - 0x1.1p+0, false, 15729 + - true, 15730 + - 0x1.1p+0, false, 15731 + - 0x1.1p+0, false, 15732 + - 0x1.1p+0, false, 15733 + - 0x1.1p+0, false, 15734 + - true, 15735 + - 0x1.1p+0, false, 15736 + - 0x1.1p+0, false, 15737 + - 0x1.1p+0, false, 15738 + - 0x1.1p+0, false), 15739 + + 0x1.1p+0, false, false, 15740 + + 0x1.1p+0, false, false, 15741 + + 0x1.1p+0, false, false, 15742 + + 0x1.1p+0, false, false, 15743 + + true, 15744 + + 0x1.1p+0, false, false, 15745 + + 0x1.1p+0, false, false, 15746 + + 0x1.1p+0, false, false, 15747 + + 0x1.1p+0, false, false, 15748 + + true, 15749 + + 0x1.1p+0, false, false, 15750 + + 0x1.1p+0, false, false, 15751 + + 0x1.1p+0, false, false, 15752 + + 0x1.1p+0, false, false, 15753 + + true, 15754 + + 0x1.1p+0, false, false, 15755 + + 0x1.1p+0, false, false, 15756 + + 0x1.1p+0, false, false, 15757 + + 0x1.1p+0, false, false, 15758 + + true, 15759 + + 0x1.1p+0, false, false, 15760 + + 0x1.1p+0, false, false, 15761 + + 0x1.1p+0, false, false, 15762 + + 0x1.1p+0, false, false, 15763 + + true, 15764 + + 0x1.1p+0, false, false, 15765 + + 0x1.1p+0, false, false, 15766 + + 0x1.1p+0, false, false, 15767 + + 0x1.1p+0, false, false), 15768 + TEST ("1.03125", 15769 + true, 15770 + - 0x1.08p+0, false, 15771 + - 0x1.08p+0, false, 15772 + - 0x1.08p+0, false, 15773 + - 0x1.08p+0, false, 15774 + - true, 15775 + - 0x1.08p+0, false, 15776 + - 0x1.08p+0, false, 15777 + - 0x1.08p+0, false, 15778 + - 0x1.08p+0, false, 15779 + - true, 15780 + - 0x1.08p+0, false, 15781 + - 0x1.08p+0, false, 15782 + - 0x1.08p+0, false, 15783 + - 0x1.08p+0, false, 15784 + - true, 15785 + - 0x1.08p+0, false, 15786 + - 0x1.08p+0, false, 15787 + - 0x1.08p+0, false, 15788 + - 0x1.08p+0, false, 15789 + - true, 15790 + - 0x1.08p+0, false, 15791 + - 0x1.08p+0, false, 15792 + - 0x1.08p+0, false, 15793 + - 0x1.08p+0, false, 15794 + - true, 15795 + - 0x1.08p+0, false, 15796 + - 0x1.08p+0, false, 15797 + - 0x1.08p+0, false, 15798 + - 0x1.08p+0, false), 15799 + + 0x1.08p+0, false, false, 15800 + + 0x1.08p+0, false, false, 15801 + + 0x1.08p+0, false, false, 15802 + + 0x1.08p+0, false, false, 15803 + + true, 15804 + + 0x1.08p+0, false, false, 15805 + + 0x1.08p+0, false, false, 15806 + + 0x1.08p+0, false, false, 15807 + + 0x1.08p+0, false, false, 15808 + + true, 15809 + + 0x1.08p+0, false, false, 15810 + + 0x1.08p+0, false, false, 15811 + + 0x1.08p+0, false, false, 15812 + + 0x1.08p+0, false, false, 15813 + + true, 15814 + + 0x1.08p+0, false, false, 15815 + + 0x1.08p+0, false, false, 15816 + + 0x1.08p+0, false, false, 15817 + + 0x1.08p+0, false, false, 15818 + + true, 15819 + + 0x1.08p+0, false, false, 15820 + + 0x1.08p+0, false, false, 15821 + + 0x1.08p+0, false, false, 15822 + + 0x1.08p+0, false, false, 15823 + + true, 15824 + + 0x1.08p+0, false, false, 15825 + + 0x1.08p+0, false, false, 15826 + + 0x1.08p+0, false, false, 15827 + + 0x1.08p+0, false, false), 15828 + TEST ("1.015625", 15829 + true, 15830 + - 0x1.04p+0, false, 15831 + - 0x1.04p+0, false, 15832 + - 0x1.04p+0, false, 15833 + - 0x1.04p+0, false, 15834 + - true, 15835 + - 0x1.04p+0, false, 15836 + - 0x1.04p+0, false, 15837 + - 0x1.04p+0, false, 15838 + - 0x1.04p+0, false, 15839 + - true, 15840 + - 0x1.04p+0, false, 15841 + - 0x1.04p+0, false, 15842 + - 0x1.04p+0, false, 15843 + - 0x1.04p+0, false, 15844 + - true, 15845 + - 0x1.04p+0, false, 15846 + - 0x1.04p+0, false, 15847 + - 0x1.04p+0, false, 15848 + - 0x1.04p+0, false, 15849 + - true, 15850 + - 0x1.04p+0, false, 15851 + - 0x1.04p+0, false, 15852 + - 0x1.04p+0, false, 15853 + - 0x1.04p+0, false, 15854 + - true, 15855 + - 0x1.04p+0, false, 15856 + - 0x1.04p+0, false, 15857 + - 0x1.04p+0, false, 15858 + - 0x1.04p+0, false), 15859 + + 0x1.04p+0, false, false, 15860 + + 0x1.04p+0, false, false, 15861 + + 0x1.04p+0, false, false, 15862 + + 0x1.04p+0, false, false, 15863 + + true, 15864 + + 0x1.04p+0, false, false, 15865 + + 0x1.04p+0, false, false, 15866 + + 0x1.04p+0, false, false, 15867 + + 0x1.04p+0, false, false, 15868 + + true, 15869 + + 0x1.04p+0, false, false, 15870 + + 0x1.04p+0, false, false, 15871 + + 0x1.04p+0, false, false, 15872 + + 0x1.04p+0, false, false, 15873 + + true, 15874 + + 0x1.04p+0, false, false, 15875 + + 0x1.04p+0, false, false, 15876 + + 0x1.04p+0, false, false, 15877 + + 0x1.04p+0, false, false, 15878 + + true, 15879 + + 0x1.04p+0, false, false, 15880 + + 0x1.04p+0, false, false, 15881 + + 0x1.04p+0, false, false, 15882 + + 0x1.04p+0, false, false, 15883 + + true, 15884 + + 0x1.04p+0, false, false, 15885 + + 0x1.04p+0, false, false, 15886 + + 0x1.04p+0, false, false, 15887 + + 0x1.04p+0, false, false), 15888 + TEST ("1.0078125", 15889 + true, 15890 + - 0x1.02p+0, false, 15891 + - 0x1.02p+0, false, 15892 + - 0x1.02p+0, false, 15893 + - 0x1.02p+0, false, 15894 + - true, 15895 + - 0x1.02p+0, false, 15896 + - 0x1.02p+0, false, 15897 + - 0x1.02p+0, false, 15898 + - 0x1.02p+0, false, 15899 + - true, 15900 + - 0x1.02p+0, false, 15901 + - 0x1.02p+0, false, 15902 + - 0x1.02p+0, false, 15903 + - 0x1.02p+0, false, 15904 + - true, 15905 + - 0x1.02p+0, false, 15906 + - 0x1.02p+0, false, 15907 + - 0x1.02p+0, false, 15908 + - 0x1.02p+0, false, 15909 + - true, 15910 + - 0x1.02p+0, false, 15911 + - 0x1.02p+0, false, 15912 + - 0x1.02p+0, false, 15913 + - 0x1.02p+0, false, 15914 + - true, 15915 + - 0x1.02p+0, false, 15916 + - 0x1.02p+0, false, 15917 + - 0x1.02p+0, false, 15918 + - 0x1.02p+0, false), 15919 + + 0x1.02p+0, false, false, 15920 + + 0x1.02p+0, false, false, 15921 + + 0x1.02p+0, false, false, 15922 + + 0x1.02p+0, false, false, 15923 + + true, 15924 + + 0x1.02p+0, false, false, 15925 + + 0x1.02p+0, false, false, 15926 + + 0x1.02p+0, false, false, 15927 + + 0x1.02p+0, false, false, 15928 + + true, 15929 + + 0x1.02p+0, false, false, 15930 + + 0x1.02p+0, false, false, 15931 + + 0x1.02p+0, false, false, 15932 + + 0x1.02p+0, false, false, 15933 + + true, 15934 + + 0x1.02p+0, false, false, 15935 + + 0x1.02p+0, false, false, 15936 + + 0x1.02p+0, false, false, 15937 + + 0x1.02p+0, false, false, 15938 + + true, 15939 + + 0x1.02p+0, false, false, 15940 + + 0x1.02p+0, false, false, 15941 + + 0x1.02p+0, false, false, 15942 + + 0x1.02p+0, false, false, 15943 + + true, 15944 + + 0x1.02p+0, false, false, 15945 + + 0x1.02p+0, false, false, 15946 + + 0x1.02p+0, false, false, 15947 + + 0x1.02p+0, false, false), 15948 + TEST ("1.00390625", 15949 + true, 15950 + - 0x1.01p+0, false, 15951 + - 0x1.01p+0, false, 15952 + - 0x1.01p+0, false, 15953 + - 0x1.01p+0, false, 15954 + - true, 15955 + - 0x1.01p+0, false, 15956 + - 0x1.01p+0, false, 15957 + - 0x1.01p+0, false, 15958 + - 0x1.01p+0, false, 15959 + - true, 15960 + - 0x1.01p+0, false, 15961 + - 0x1.01p+0, false, 15962 + - 0x1.01p+0, false, 15963 + - 0x1.01p+0, false, 15964 + - true, 15965 + - 0x1.01p+0, false, 15966 + - 0x1.01p+0, false, 15967 + - 0x1.01p+0, false, 15968 + - 0x1.01p+0, false, 15969 + - true, 15970 + - 0x1.01p+0, false, 15971 + - 0x1.01p+0, false, 15972 + - 0x1.01p+0, false, 15973 + - 0x1.01p+0, false, 15974 + - true, 15975 + - 0x1.01p+0, false, 15976 + - 0x1.01p+0, false, 15977 + - 0x1.01p+0, false, 15978 + - 0x1.01p+0, false), 15979 + + 0x1.01p+0, false, false, 15980 + + 0x1.01p+0, false, false, 15981 + + 0x1.01p+0, false, false, 15982 + + 0x1.01p+0, false, false, 15983 + + true, 15984 + + 0x1.01p+0, false, false, 15985 + + 0x1.01p+0, false, false, 15986 + + 0x1.01p+0, false, false, 15987 + + 0x1.01p+0, false, false, 15988 + + true, 15989 + + 0x1.01p+0, false, false, 15990 + + 0x1.01p+0, false, false, 15991 + + 0x1.01p+0, false, false, 15992 + + 0x1.01p+0, false, false, 15993 + + true, 15994 + + 0x1.01p+0, false, false, 15995 + + 0x1.01p+0, false, false, 15996 + + 0x1.01p+0, false, false, 15997 + + 0x1.01p+0, false, false, 15998 + + true, 15999 + + 0x1.01p+0, false, false, 16000 + + 0x1.01p+0, false, false, 16001 + + 0x1.01p+0, false, false, 16002 + + 0x1.01p+0, false, false, 16003 + + true, 16004 + + 0x1.01p+0, false, false, 16005 + + 0x1.01p+0, false, false, 16006 + + 0x1.01p+0, false, false, 16007 + + 0x1.01p+0, false, false), 16008 + TEST ("1.001953125", 16009 + true, 16010 + - 0x1.008p+0, false, 16011 + - 0x1.008p+0, false, 16012 + - 0x1.008p+0, false, 16013 + - 0x1.008p+0, false, 16014 + - true, 16015 + - 0x1.008p+0, false, 16016 + - 0x1.008p+0, false, 16017 + - 0x1.008p+0, false, 16018 + - 0x1.008p+0, false, 16019 + - true, 16020 + - 0x1.008p+0, false, 16021 + - 0x1.008p+0, false, 16022 + - 0x1.008p+0, false, 16023 + - 0x1.008p+0, false, 16024 + - true, 16025 + - 0x1.008p+0, false, 16026 + - 0x1.008p+0, false, 16027 + - 0x1.008p+0, false, 16028 + - 0x1.008p+0, false, 16029 + - true, 16030 + - 0x1.008p+0, false, 16031 + - 0x1.008p+0, false, 16032 + - 0x1.008p+0, false, 16033 + - 0x1.008p+0, false, 16034 + - true, 16035 + - 0x1.008p+0, false, 16036 + - 0x1.008p+0, false, 16037 + - 0x1.008p+0, false, 16038 + - 0x1.008p+0, false), 16039 + + 0x1.008p+0, false, false, 16040 + + 0x1.008p+0, false, false, 16041 + + 0x1.008p+0, false, false, 16042 + + 0x1.008p+0, false, false, 16043 + + true, 16044 + + 0x1.008p+0, false, false, 16045 + + 0x1.008p+0, false, false, 16046 + + 0x1.008p+0, false, false, 16047 + + 0x1.008p+0, false, false, 16048 + + true, 16049 + + 0x1.008p+0, false, false, 16050 + + 0x1.008p+0, false, false, 16051 + + 0x1.008p+0, false, false, 16052 + + 0x1.008p+0, false, false, 16053 + + true, 16054 + + 0x1.008p+0, false, false, 16055 + + 0x1.008p+0, false, false, 16056 + + 0x1.008p+0, false, false, 16057 + + 0x1.008p+0, false, false, 16058 + + true, 16059 + + 0x1.008p+0, false, false, 16060 + + 0x1.008p+0, false, false, 16061 + + 0x1.008p+0, false, false, 16062 + + 0x1.008p+0, false, false, 16063 + + true, 16064 + + 0x1.008p+0, false, false, 16065 + + 0x1.008p+0, false, false, 16066 + + 0x1.008p+0, false, false, 16067 + + 0x1.008p+0, false, false), 16068 + TEST ("1.0009765625", 16069 + true, 16070 + - 0x1.004p+0, false, 16071 + - 0x1.004p+0, false, 16072 + - 0x1.004p+0, false, 16073 + - 0x1.004p+0, false, 16074 + - true, 16075 + - 0x1.004p+0, false, 16076 + - 0x1.004p+0, false, 16077 + - 0x1.004p+0, false, 16078 + - 0x1.004p+0, false, 16079 + - true, 16080 + - 0x1.004p+0, false, 16081 + - 0x1.004p+0, false, 16082 + - 0x1.004p+0, false, 16083 + - 0x1.004p+0, false, 16084 + - true, 16085 + - 0x1.004p+0, false, 16086 + - 0x1.004p+0, false, 16087 + - 0x1.004p+0, false, 16088 + - 0x1.004p+0, false, 16089 + - true, 16090 + - 0x1.004p+0, false, 16091 + - 0x1.004p+0, false, 16092 + - 0x1.004p+0, false, 16093 + - 0x1.004p+0, false, 16094 + - true, 16095 + - 0x1.004p+0, false, 16096 + - 0x1.004p+0, false, 16097 + - 0x1.004p+0, false, 16098 + - 0x1.004p+0, false), 16099 + + 0x1.004p+0, false, false, 16100 + + 0x1.004p+0, false, false, 16101 + + 0x1.004p+0, false, false, 16102 + + 0x1.004p+0, false, false, 16103 + + true, 16104 + + 0x1.004p+0, false, false, 16105 + + 0x1.004p+0, false, false, 16106 + + 0x1.004p+0, false, false, 16107 + + 0x1.004p+0, false, false, 16108 + + true, 16109 + + 0x1.004p+0, false, false, 16110 + + 0x1.004p+0, false, false, 16111 + + 0x1.004p+0, false, false, 16112 + + 0x1.004p+0, false, false, 16113 + + true, 16114 + + 0x1.004p+0, false, false, 16115 + + 0x1.004p+0, false, false, 16116 + + 0x1.004p+0, false, false, 16117 + + 0x1.004p+0, false, false, 16118 + + true, 16119 + + 0x1.004p+0, false, false, 16120 + + 0x1.004p+0, false, false, 16121 + + 0x1.004p+0, false, false, 16122 + + 0x1.004p+0, false, false, 16123 + + true, 16124 + + 0x1.004p+0, false, false, 16125 + + 0x1.004p+0, false, false, 16126 + + 0x1.004p+0, false, false, 16127 + + 0x1.004p+0, false, false), 16128 + TEST ("1.00048828125", 16129 + true, 16130 + - 0x1.002p+0, false, 16131 + - 0x1.002p+0, false, 16132 + - 0x1.002p+0, false, 16133 + - 0x1.002p+0, false, 16134 + - true, 16135 + - 0x1.002p+0, false, 16136 + - 0x1.002p+0, false, 16137 + - 0x1.002p+0, false, 16138 + - 0x1.002p+0, false, 16139 + - true, 16140 + - 0x1.002p+0, false, 16141 + - 0x1.002p+0, false, 16142 + - 0x1.002p+0, false, 16143 + - 0x1.002p+0, false, 16144 + - true, 16145 + - 0x1.002p+0, false, 16146 + - 0x1.002p+0, false, 16147 + - 0x1.002p+0, false, 16148 + - 0x1.002p+0, false, 16149 + - true, 16150 + - 0x1.002p+0, false, 16151 + - 0x1.002p+0, false, 16152 + - 0x1.002p+0, false, 16153 + - 0x1.002p+0, false, 16154 + - true, 16155 + - 0x1.002p+0, false, 16156 + - 0x1.002p+0, false, 16157 + - 0x1.002p+0, false, 16158 + - 0x1.002p+0, false), 16159 + + 0x1.002p+0, false, false, 16160 + + 0x1.002p+0, false, false, 16161 + + 0x1.002p+0, false, false, 16162 + + 0x1.002p+0, false, false, 16163 + + true, 16164 + + 0x1.002p+0, false, false, 16165 + + 0x1.002p+0, false, false, 16166 + + 0x1.002p+0, false, false, 16167 + + 0x1.002p+0, false, false, 16168 + + true, 16169 + + 0x1.002p+0, false, false, 16170 + + 0x1.002p+0, false, false, 16171 + + 0x1.002p+0, false, false, 16172 + + 0x1.002p+0, false, false, 16173 + + true, 16174 + + 0x1.002p+0, false, false, 16175 + + 0x1.002p+0, false, false, 16176 + + 0x1.002p+0, false, false, 16177 + + 0x1.002p+0, false, false, 16178 + + true, 16179 + + 0x1.002p+0, false, false, 16180 + + 0x1.002p+0, false, false, 16181 + + 0x1.002p+0, false, false, 16182 + + 0x1.002p+0, false, false, 16183 + + true, 16184 + + 0x1.002p+0, false, false, 16185 + + 0x1.002p+0, false, false, 16186 + + 0x1.002p+0, false, false, 16187 + + 0x1.002p+0, false, false), 16188 + TEST ("1.000244140625", 16189 + true, 16190 + - 0x1.001p+0, false, 16191 + - 0x1.001p+0, false, 16192 + - 0x1.001p+0, false, 16193 + - 0x1.001p+0, false, 16194 + - true, 16195 + - 0x1.001p+0, false, 16196 + - 0x1.001p+0, false, 16197 + - 0x1.001p+0, false, 16198 + - 0x1.001p+0, false, 16199 + - true, 16200 + - 0x1.001p+0, false, 16201 + - 0x1.001p+0, false, 16202 + - 0x1.001p+0, false, 16203 + - 0x1.001p+0, false, 16204 + - true, 16205 + - 0x1.001p+0, false, 16206 + - 0x1.001p+0, false, 16207 + - 0x1.001p+0, false, 16208 + - 0x1.001p+0, false, 16209 + - true, 16210 + - 0x1.001p+0, false, 16211 + - 0x1.001p+0, false, 16212 + - 0x1.001p+0, false, 16213 + - 0x1.001p+0, false, 16214 + - true, 16215 + - 0x1.001p+0, false, 16216 + - 0x1.001p+0, false, 16217 + - 0x1.001p+0, false, 16218 + - 0x1.001p+0, false), 16219 + + 0x1.001p+0, false, false, 16220 + + 0x1.001p+0, false, false, 16221 + + 0x1.001p+0, false, false, 16222 + + 0x1.001p+0, false, false, 16223 + + true, 16224 + + 0x1.001p+0, false, false, 16225 + + 0x1.001p+0, false, false, 16226 + + 0x1.001p+0, false, false, 16227 + + 0x1.001p+0, false, false, 16228 + + true, 16229 + + 0x1.001p+0, false, false, 16230 + + 0x1.001p+0, false, false, 16231 + + 0x1.001p+0, false, false, 16232 + + 0x1.001p+0, false, false, 16233 + + true, 16234 + + 0x1.001p+0, false, false, 16235 + + 0x1.001p+0, false, false, 16236 + + 0x1.001p+0, false, false, 16237 + + 0x1.001p+0, false, false, 16238 + + true, 16239 + + 0x1.001p+0, false, false, 16240 + + 0x1.001p+0, false, false, 16241 + + 0x1.001p+0, false, false, 16242 + + 0x1.001p+0, false, false, 16243 + + true, 16244 + + 0x1.001p+0, false, false, 16245 + + 0x1.001p+0, false, false, 16246 + + 0x1.001p+0, false, false, 16247 + + 0x1.001p+0, false, false), 16248 + TEST ("1.0001220703125", 16249 + true, 16250 + - 0x1.0008p+0, false, 16251 + - 0x1.0008p+0, false, 16252 + - 0x1.0008p+0, false, 16253 + - 0x1.0008p+0, false, 16254 + - true, 16255 + - 0x1.0008p+0, false, 16256 + - 0x1.0008p+0, false, 16257 + - 0x1.0008p+0, false, 16258 + - 0x1.0008p+0, false, 16259 + - true, 16260 + - 0x1.0008p+0, false, 16261 + - 0x1.0008p+0, false, 16262 + - 0x1.0008p+0, false, 16263 + - 0x1.0008p+0, false, 16264 + - true, 16265 + - 0x1.0008p+0, false, 16266 + - 0x1.0008p+0, false, 16267 + - 0x1.0008p+0, false, 16268 + - 0x1.0008p+0, false, 16269 + - true, 16270 + - 0x1.0008p+0, false, 16271 + - 0x1.0008p+0, false, 16272 + - 0x1.0008p+0, false, 16273 + - 0x1.0008p+0, false, 16274 + - true, 16275 + - 0x1.0008p+0, false, 16276 + - 0x1.0008p+0, false, 16277 + - 0x1.0008p+0, false, 16278 + - 0x1.0008p+0, false), 16279 + + 0x1.0008p+0, false, false, 16280 + + 0x1.0008p+0, false, false, 16281 + + 0x1.0008p+0, false, false, 16282 + + 0x1.0008p+0, false, false, 16283 + + true, 16284 + + 0x1.0008p+0, false, false, 16285 + + 0x1.0008p+0, false, false, 16286 + + 0x1.0008p+0, false, false, 16287 + + 0x1.0008p+0, false, false, 16288 + + true, 16289 + + 0x1.0008p+0, false, false, 16290 + + 0x1.0008p+0, false, false, 16291 + + 0x1.0008p+0, false, false, 16292 + + 0x1.0008p+0, false, false, 16293 + + true, 16294 + + 0x1.0008p+0, false, false, 16295 + + 0x1.0008p+0, false, false, 16296 + + 0x1.0008p+0, false, false, 16297 + + 0x1.0008p+0, false, false, 16298 + + true, 16299 + + 0x1.0008p+0, false, false, 16300 + + 0x1.0008p+0, false, false, 16301 + + 0x1.0008p+0, false, false, 16302 + + 0x1.0008p+0, false, false, 16303 + + true, 16304 + + 0x1.0008p+0, false, false, 16305 + + 0x1.0008p+0, false, false, 16306 + + 0x1.0008p+0, false, false, 16307 + + 0x1.0008p+0, false, false), 16308 + TEST ("1.00006103515625", 16309 + true, 16310 + - 0x1.0004p+0, false, 16311 + - 0x1.0004p+0, false, 16312 + - 0x1.0004p+0, false, 16313 + - 0x1.0004p+0, false, 16314 + - true, 16315 + - 0x1.0004p+0, false, 16316 + - 0x1.0004p+0, false, 16317 + - 0x1.0004p+0, false, 16318 + - 0x1.0004p+0, false, 16319 + - true, 16320 + - 0x1.0004p+0, false, 16321 + - 0x1.0004p+0, false, 16322 + - 0x1.0004p+0, false, 16323 + - 0x1.0004p+0, false, 16324 + - true, 16325 + - 0x1.0004p+0, false, 16326 + - 0x1.0004p+0, false, 16327 + - 0x1.0004p+0, false, 16328 + - 0x1.0004p+0, false, 16329 + - true, 16330 + - 0x1.0004p+0, false, 16331 + - 0x1.0004p+0, false, 16332 + - 0x1.0004p+0, false, 16333 + - 0x1.0004p+0, false, 16334 + - true, 16335 + - 0x1.0004p+0, false, 16336 + - 0x1.0004p+0, false, 16337 + - 0x1.0004p+0, false, 16338 + - 0x1.0004p+0, false), 16339 + + 0x1.0004p+0, false, false, 16340 + + 0x1.0004p+0, false, false, 16341 + + 0x1.0004p+0, false, false, 16342 + + 0x1.0004p+0, false, false, 16343 + + true, 16344 + + 0x1.0004p+0, false, false, 16345 + + 0x1.0004p+0, false, false, 16346 + + 0x1.0004p+0, false, false, 16347 + + 0x1.0004p+0, false, false, 16348 + + true, 16349 + + 0x1.0004p+0, false, false, 16350 + + 0x1.0004p+0, false, false, 16351 + + 0x1.0004p+0, false, false, 16352 + + 0x1.0004p+0, false, false, 16353 + + true, 16354 + + 0x1.0004p+0, false, false, 16355 + + 0x1.0004p+0, false, false, 16356 + + 0x1.0004p+0, false, false, 16357 + + 0x1.0004p+0, false, false, 16358 + + true, 16359 + + 0x1.0004p+0, false, false, 16360 + + 0x1.0004p+0, false, false, 16361 + + 0x1.0004p+0, false, false, 16362 + + 0x1.0004p+0, false, false, 16363 + + true, 16364 + + 0x1.0004p+0, false, false, 16365 + + 0x1.0004p+0, false, false, 16366 + + 0x1.0004p+0, false, false, 16367 + + 0x1.0004p+0, false, false), 16368 + TEST ("1.000030517578125", 16369 + true, 16370 + - 0x1.0002p+0, false, 16371 + - 0x1.0002p+0, false, 16372 + - 0x1.0002p+0, false, 16373 + - 0x1.0002p+0, false, 16374 + - true, 16375 + - 0x1.0002p+0, false, 16376 + - 0x1.0002p+0, false, 16377 + - 0x1.0002p+0, false, 16378 + - 0x1.0002p+0, false, 16379 + - true, 16380 + - 0x1.0002p+0, false, 16381 + - 0x1.0002p+0, false, 16382 + - 0x1.0002p+0, false, 16383 + - 0x1.0002p+0, false, 16384 + - true, 16385 + - 0x1.0002p+0, false, 16386 + - 0x1.0002p+0, false, 16387 + - 0x1.0002p+0, false, 16388 + - 0x1.0002p+0, false, 16389 + - true, 16390 + - 0x1.0002p+0, false, 16391 + - 0x1.0002p+0, false, 16392 + - 0x1.0002p+0, false, 16393 + - 0x1.0002p+0, false, 16394 + - true, 16395 + - 0x1.0002p+0, false, 16396 + - 0x1.0002p+0, false, 16397 + - 0x1.0002p+0, false, 16398 + - 0x1.0002p+0, false), 16399 + + 0x1.0002p+0, false, false, 16400 + + 0x1.0002p+0, false, false, 16401 + + 0x1.0002p+0, false, false, 16402 + + 0x1.0002p+0, false, false, 16403 + + true, 16404 + + 0x1.0002p+0, false, false, 16405 + + 0x1.0002p+0, false, false, 16406 + + 0x1.0002p+0, false, false, 16407 + + 0x1.0002p+0, false, false, 16408 + + true, 16409 + + 0x1.0002p+0, false, false, 16410 + + 0x1.0002p+0, false, false, 16411 + + 0x1.0002p+0, false, false, 16412 + + 0x1.0002p+0, false, false, 16413 + + true, 16414 + + 0x1.0002p+0, false, false, 16415 + + 0x1.0002p+0, false, false, 16416 + + 0x1.0002p+0, false, false, 16417 + + 0x1.0002p+0, false, false, 16418 + + true, 16419 + + 0x1.0002p+0, false, false, 16420 + + 0x1.0002p+0, false, false, 16421 + + 0x1.0002p+0, false, false, 16422 + + 0x1.0002p+0, false, false, 16423 + + true, 16424 + + 0x1.0002p+0, false, false, 16425 + + 0x1.0002p+0, false, false, 16426 + + 0x1.0002p+0, false, false, 16427 + + 0x1.0002p+0, false, false), 16428 + TEST ("1.0000152587890625", 16429 + true, 16430 + - 0x1.0001p+0, false, 16431 + - 0x1.0001p+0, false, 16432 + - 0x1.0001p+0, false, 16433 + - 0x1.0001p+0, false, 16434 + - true, 16435 + - 0x1.0001p+0, false, 16436 + - 0x1.0001p+0, false, 16437 + - 0x1.0001p+0, false, 16438 + - 0x1.0001p+0, false, 16439 + - true, 16440 + - 0x1.0001p+0, false, 16441 + - 0x1.0001p+0, false, 16442 + - 0x1.0001p+0, false, 16443 + - 0x1.0001p+0, false, 16444 + - true, 16445 + - 0x1.0001p+0, false, 16446 + - 0x1.0001p+0, false, 16447 + - 0x1.0001p+0, false, 16448 + - 0x1.0001p+0, false, 16449 + - true, 16450 + - 0x1.0001p+0, false, 16451 + - 0x1.0001p+0, false, 16452 + - 0x1.0001p+0, false, 16453 + - 0x1.0001p+0, false, 16454 + - true, 16455 + - 0x1.0001p+0, false, 16456 + - 0x1.0001p+0, false, 16457 + - 0x1.0001p+0, false, 16458 + - 0x1.0001p+0, false), 16459 + + 0x1.0001p+0, false, false, 16460 + + 0x1.0001p+0, false, false, 16461 + + 0x1.0001p+0, false, false, 16462 + + 0x1.0001p+0, false, false, 16463 + + true, 16464 + + 0x1.0001p+0, false, false, 16465 + + 0x1.0001p+0, false, false, 16466 + + 0x1.0001p+0, false, false, 16467 + + 0x1.0001p+0, false, false, 16468 + + true, 16469 + + 0x1.0001p+0, false, false, 16470 + + 0x1.0001p+0, false, false, 16471 + + 0x1.0001p+0, false, false, 16472 + + 0x1.0001p+0, false, false, 16473 + + true, 16474 + + 0x1.0001p+0, false, false, 16475 + + 0x1.0001p+0, false, false, 16476 + + 0x1.0001p+0, false, false, 16477 + + 0x1.0001p+0, false, false, 16478 + + true, 16479 + + 0x1.0001p+0, false, false, 16480 + + 0x1.0001p+0, false, false, 16481 + + 0x1.0001p+0, false, false, 16482 + + 0x1.0001p+0, false, false, 16483 + + true, 16484 + + 0x1.0001p+0, false, false, 16485 + + 0x1.0001p+0, false, false, 16486 + + 0x1.0001p+0, false, false, 16487 + + 0x1.0001p+0, false, false), 16488 + TEST ("1.00000762939453125", 16489 + true, 16490 + - 0x1.00008p+0, false, 16491 + - 0x1.00008p+0, false, 16492 + - 0x1.00008p+0, false, 16493 + - 0x1.00008p+0, false, 16494 + - true, 16495 + - 0x1.00008p+0, false, 16496 + - 0x1.00008p+0, false, 16497 + - 0x1.00008p+0, false, 16498 + - 0x1.00008p+0, false, 16499 + - true, 16500 + - 0x1.00008p+0, false, 16501 + - 0x1.00008p+0, false, 16502 + - 0x1.00008p+0, false, 16503 + - 0x1.00008p+0, false, 16504 + - true, 16505 + - 0x1.00008p+0, false, 16506 + - 0x1.00008p+0, false, 16507 + - 0x1.00008p+0, false, 16508 + - 0x1.00008p+0, false, 16509 + - true, 16510 + - 0x1.00008p+0, false, 16511 + - 0x1.00008p+0, false, 16512 + - 0x1.00008p+0, false, 16513 + - 0x1.00008p+0, false, 16514 + - true, 16515 + - 0x1.00008p+0, false, 16516 + - 0x1.00008p+0, false, 16517 + - 0x1.00008p+0, false, 16518 + - 0x1.00008p+0, false), 16519 + + 0x1.00008p+0, false, false, 16520 + + 0x1.00008p+0, false, false, 16521 + + 0x1.00008p+0, false, false, 16522 + + 0x1.00008p+0, false, false, 16523 + + true, 16524 + + 0x1.00008p+0, false, false, 16525 + + 0x1.00008p+0, false, false, 16526 + + 0x1.00008p+0, false, false, 16527 + + 0x1.00008p+0, false, false, 16528 + + true, 16529 + + 0x1.00008p+0, false, false, 16530 + + 0x1.00008p+0, false, false, 16531 + + 0x1.00008p+0, false, false, 16532 + + 0x1.00008p+0, false, false, 16533 + + true, 16534 + + 0x1.00008p+0, false, false, 16535 + + 0x1.00008p+0, false, false, 16536 + + 0x1.00008p+0, false, false, 16537 + + 0x1.00008p+0, false, false, 16538 + + true, 16539 + + 0x1.00008p+0, false, false, 16540 + + 0x1.00008p+0, false, false, 16541 + + 0x1.00008p+0, false, false, 16542 + + 0x1.00008p+0, false, false, 16543 + + true, 16544 + + 0x1.00008p+0, false, false, 16545 + + 0x1.00008p+0, false, false, 16546 + + 0x1.00008p+0, false, false, 16547 + + 0x1.00008p+0, false, false), 16548 + TEST ("1.000003814697265625", 16549 + true, 16550 + - 0x1.00004p+0, false, 16551 + - 0x1.00004p+0, false, 16552 + - 0x1.00004p+0, false, 16553 + - 0x1.00004p+0, false, 16554 + - true, 16555 + - 0x1.00004p+0, false, 16556 + - 0x1.00004p+0, false, 16557 + - 0x1.00004p+0, false, 16558 + - 0x1.00004p+0, false, 16559 + - true, 16560 + - 0x1.00004p+0, false, 16561 + - 0x1.00004p+0, false, 16562 + - 0x1.00004p+0, false, 16563 + - 0x1.00004p+0, false, 16564 + - true, 16565 + - 0x1.00004p+0, false, 16566 + - 0x1.00004p+0, false, 16567 + - 0x1.00004p+0, false, 16568 + - 0x1.00004p+0, false, 16569 + - true, 16570 + - 0x1.00004p+0, false, 16571 + - 0x1.00004p+0, false, 16572 + - 0x1.00004p+0, false, 16573 + - 0x1.00004p+0, false, 16574 + - true, 16575 + - 0x1.00004p+0, false, 16576 + - 0x1.00004p+0, false, 16577 + - 0x1.00004p+0, false, 16578 + - 0x1.00004p+0, false), 16579 + + 0x1.00004p+0, false, false, 16580 + + 0x1.00004p+0, false, false, 16581 + + 0x1.00004p+0, false, false, 16582 + + 0x1.00004p+0, false, false, 16583 + + true, 16584 + + 0x1.00004p+0, false, false, 16585 + + 0x1.00004p+0, false, false, 16586 + + 0x1.00004p+0, false, false, 16587 + + 0x1.00004p+0, false, false, 16588 + + true, 16589 + + 0x1.00004p+0, false, false, 16590 + + 0x1.00004p+0, false, false, 16591 + + 0x1.00004p+0, false, false, 16592 + + 0x1.00004p+0, false, false, 16593 + + true, 16594 + + 0x1.00004p+0, false, false, 16595 + + 0x1.00004p+0, false, false, 16596 + + 0x1.00004p+0, false, false, 16597 + + 0x1.00004p+0, false, false, 16598 + + true, 16599 + + 0x1.00004p+0, false, false, 16600 + + 0x1.00004p+0, false, false, 16601 + + 0x1.00004p+0, false, false, 16602 + + 0x1.00004p+0, false, false, 16603 + + true, 16604 + + 0x1.00004p+0, false, false, 16605 + + 0x1.00004p+0, false, false, 16606 + + 0x1.00004p+0, false, false, 16607 + + 0x1.00004p+0, false, false), 16608 + TEST ("1.0000019073486328125", 16609 + true, 16610 + - 0x1.00002p+0, false, 16611 + - 0x1.00002p+0, false, 16612 + - 0x1.00002p+0, false, 16613 + - 0x1.00002p+0, false, 16614 + - true, 16615 + - 0x1.00002p+0, false, 16616 + - 0x1.00002p+0, false, 16617 + - 0x1.00002p+0, false, 16618 + - 0x1.00002p+0, false, 16619 + - true, 16620 + - 0x1.00002p+0, false, 16621 + - 0x1.00002p+0, false, 16622 + - 0x1.00002p+0, false, 16623 + - 0x1.00002p+0, false, 16624 + - true, 16625 + - 0x1.00002p+0, false, 16626 + - 0x1.00002p+0, false, 16627 + - 0x1.00002p+0, false, 16628 + - 0x1.00002p+0, false, 16629 + - true, 16630 + - 0x1.00002p+0, false, 16631 + - 0x1.00002p+0, false, 16632 + - 0x1.00002p+0, false, 16633 + - 0x1.00002p+0, false, 16634 + - true, 16635 + - 0x1.00002p+0, false, 16636 + - 0x1.00002p+0, false, 16637 + - 0x1.00002p+0, false, 16638 + - 0x1.00002p+0, false), 16639 + + 0x1.00002p+0, false, false, 16640 + + 0x1.00002p+0, false, false, 16641 + + 0x1.00002p+0, false, false, 16642 + + 0x1.00002p+0, false, false, 16643 + + true, 16644 + + 0x1.00002p+0, false, false, 16645 + + 0x1.00002p+0, false, false, 16646 + + 0x1.00002p+0, false, false, 16647 + + 0x1.00002p+0, false, false, 16648 + + true, 16649 + + 0x1.00002p+0, false, false, 16650 + + 0x1.00002p+0, false, false, 16651 + + 0x1.00002p+0, false, false, 16652 + + 0x1.00002p+0, false, false, 16653 + + true, 16654 + + 0x1.00002p+0, false, false, 16655 + + 0x1.00002p+0, false, false, 16656 + + 0x1.00002p+0, false, false, 16657 + + 0x1.00002p+0, false, false, 16658 + + true, 16659 + + 0x1.00002p+0, false, false, 16660 + + 0x1.00002p+0, false, false, 16661 + + 0x1.00002p+0, false, false, 16662 + + 0x1.00002p+0, false, false, 16663 + + true, 16664 + + 0x1.00002p+0, false, false, 16665 + + 0x1.00002p+0, false, false, 16666 + + 0x1.00002p+0, false, false, 16667 + + 0x1.00002p+0, false, false), 16668 + TEST ("1.00000095367431640625", 16669 + true, 16670 + - 0x1.00001p+0, false, 16671 + - 0x1.00001p+0, false, 16672 + - 0x1.00001p+0, false, 16673 + - 0x1.00001p+0, false, 16674 + - true, 16675 + - 0x1.00001p+0, false, 16676 + - 0x1.00001p+0, false, 16677 + - 0x1.00001p+0, false, 16678 + - 0x1.00001p+0, false, 16679 + - true, 16680 + - 0x1.00001p+0, false, 16681 + - 0x1.00001p+0, false, 16682 + - 0x1.00001p+0, false, 16683 + - 0x1.00001p+0, false, 16684 + - true, 16685 + - 0x1.00001p+0, false, 16686 + - 0x1.00001p+0, false, 16687 + - 0x1.00001p+0, false, 16688 + - 0x1.00001p+0, false, 16689 + - true, 16690 + - 0x1.00001p+0, false, 16691 + - 0x1.00001p+0, false, 16692 + - 0x1.00001p+0, false, 16693 + - 0x1.00001p+0, false, 16694 + - true, 16695 + - 0x1.00001p+0, false, 16696 + - 0x1.00001p+0, false, 16697 + - 0x1.00001p+0, false, 16698 + - 0x1.00001p+0, false), 16699 + + 0x1.00001p+0, false, false, 16700 + + 0x1.00001p+0, false, false, 16701 + + 0x1.00001p+0, false, false, 16702 + + 0x1.00001p+0, false, false, 16703 + + true, 16704 + + 0x1.00001p+0, false, false, 16705 + + 0x1.00001p+0, false, false, 16706 + + 0x1.00001p+0, false, false, 16707 + + 0x1.00001p+0, false, false, 16708 + + true, 16709 + + 0x1.00001p+0, false, false, 16710 + + 0x1.00001p+0, false, false, 16711 + + 0x1.00001p+0, false, false, 16712 + + 0x1.00001p+0, false, false, 16713 + + true, 16714 + + 0x1.00001p+0, false, false, 16715 + + 0x1.00001p+0, false, false, 16716 + + 0x1.00001p+0, false, false, 16717 + + 0x1.00001p+0, false, false, 16718 + + true, 16719 + + 0x1.00001p+0, false, false, 16720 + + 0x1.00001p+0, false, false, 16721 + + 0x1.00001p+0, false, false, 16722 + + 0x1.00001p+0, false, false, 16723 + + true, 16724 + + 0x1.00001p+0, false, false, 16725 + + 0x1.00001p+0, false, false, 16726 + + 0x1.00001p+0, false, false, 16727 + + 0x1.00001p+0, false, false), 16728 + TEST ("1.000000476837158203125", 16729 + true, 16730 + - 0x1.000008p+0, false, 16731 + - 0x1.000008p+0, false, 16732 + - 0x1.000008p+0, false, 16733 + - 0x1.000008p+0, false, 16734 + - true, 16735 + - 0x1.000008p+0, false, 16736 + - 0x1.000008p+0, false, 16737 + - 0x1.000008p+0, false, 16738 + - 0x1.000008p+0, false, 16739 + - true, 16740 + - 0x1.000008p+0, false, 16741 + - 0x1.000008p+0, false, 16742 + - 0x1.000008p+0, false, 16743 + - 0x1.000008p+0, false, 16744 + - true, 16745 + - 0x1.000008p+0, false, 16746 + - 0x1.000008p+0, false, 16747 + - 0x1.000008p+0, false, 16748 + - 0x1.000008p+0, false, 16749 + - true, 16750 + - 0x1.000008p+0, false, 16751 + - 0x1.000008p+0, false, 16752 + - 0x1.000008p+0, false, 16753 + - 0x1.000008p+0, false, 16754 + - true, 16755 + - 0x1.000008p+0, false, 16756 + - 0x1.000008p+0, false, 16757 + - 0x1.000008p+0, false, 16758 + - 0x1.000008p+0, false), 16759 + + 0x1.000008p+0, false, false, 16760 + + 0x1.000008p+0, false, false, 16761 + + 0x1.000008p+0, false, false, 16762 + + 0x1.000008p+0, false, false, 16763 + + true, 16764 + + 0x1.000008p+0, false, false, 16765 + + 0x1.000008p+0, false, false, 16766 + + 0x1.000008p+0, false, false, 16767 + + 0x1.000008p+0, false, false, 16768 + + true, 16769 + + 0x1.000008p+0, false, false, 16770 + + 0x1.000008p+0, false, false, 16771 + + 0x1.000008p+0, false, false, 16772 + + 0x1.000008p+0, false, false, 16773 + + true, 16774 + + 0x1.000008p+0, false, false, 16775 + + 0x1.000008p+0, false, false, 16776 + + 0x1.000008p+0, false, false, 16777 + + 0x1.000008p+0, false, false, 16778 + + true, 16779 + + 0x1.000008p+0, false, false, 16780 + + 0x1.000008p+0, false, false, 16781 + + 0x1.000008p+0, false, false, 16782 + + 0x1.000008p+0, false, false, 16783 + + true, 16784 + + 0x1.000008p+0, false, false, 16785 + + 0x1.000008p+0, false, false, 16786 + + 0x1.000008p+0, false, false, 16787 + + 0x1.000008p+0, false, false), 16788 + TEST ("1.0000000298023223876953125", 16789 + false, 16790 + - 0x1p+0, false, 16791 + - 0x1p+0, false, 16792 + - 0x1p+0, false, 16793 + - 0x1.000002p+0, false, 16794 + - true, 16795 + - 0x1.0000008p+0, false, 16796 + - 0x1.0000008p+0, false, 16797 + - 0x1.0000008p+0, false, 16798 + - 0x1.0000008p+0, false, 16799 + - true, 16800 + - 0x1.0000008p+0, false, 16801 + - 0x1.0000008p+0, false, 16802 + - 0x1.0000008p+0, false, 16803 + - 0x1.0000008p+0, false, 16804 + - true, 16805 + - 0x1.0000008p+0, false, 16806 + - 0x1.0000008p+0, false, 16807 + - 0x1.0000008p+0, false, 16808 + - 0x1.0000008p+0, false, 16809 + - true, 16810 + - 0x1.0000008p+0, false, 16811 + - 0x1.0000008p+0, false, 16812 + - 0x1.0000008p+0, false, 16813 + - 0x1.0000008p+0, false, 16814 + - true, 16815 + - 0x1.0000008p+0, false, 16816 + - 0x1.0000008p+0, false, 16817 + - 0x1.0000008p+0, false, 16818 + - 0x1.0000008p+0, false), 16819 + + 0x1p+0, false, false, 16820 + + 0x1p+0, false, false, 16821 + + 0x1p+0, false, false, 16822 + + 0x1.000002p+0, false, false, 16823 + + true, 16824 + + 0x1.0000008p+0, false, false, 16825 + + 0x1.0000008p+0, false, false, 16826 + + 0x1.0000008p+0, false, false, 16827 + + 0x1.0000008p+0, false, false, 16828 + + true, 16829 + + 0x1.0000008p+0, false, false, 16830 + + 0x1.0000008p+0, false, false, 16831 + + 0x1.0000008p+0, false, false, 16832 + + 0x1.0000008p+0, false, false, 16833 + + true, 16834 + + 0x1.0000008p+0, false, false, 16835 + + 0x1.0000008p+0, false, false, 16836 + + 0x1.0000008p+0, false, false, 16837 + + 0x1.0000008p+0, false, false, 16838 + + true, 16839 + + 0x1.0000008p+0, false, false, 16840 + + 0x1.0000008p+0, false, false, 16841 + + 0x1.0000008p+0, false, false, 16842 + + 0x1.0000008p+0, false, false, 16843 + + true, 16844 + + 0x1.0000008p+0, false, false, 16845 + + 0x1.0000008p+0, false, false, 16846 + + 0x1.0000008p+0, false, false, 16847 + + 0x1.0000008p+0, false, false), 16848 + TEST ("1.00000001490116119384765625", 16849 + false, 16850 + - 0x1p+0, false, 16851 + - 0x1p+0, false, 16852 + - 0x1p+0, false, 16853 + - 0x1.000002p+0, false, 16854 + - true, 16855 + - 0x1.0000004p+0, false, 16856 + - 0x1.0000004p+0, false, 16857 + - 0x1.0000004p+0, false, 16858 + - 0x1.0000004p+0, false, 16859 + - true, 16860 + - 0x1.0000004p+0, false, 16861 + - 0x1.0000004p+0, false, 16862 + - 0x1.0000004p+0, false, 16863 + - 0x1.0000004p+0, false, 16864 + - true, 16865 + - 0x1.0000004p+0, false, 16866 + - 0x1.0000004p+0, false, 16867 + - 0x1.0000004p+0, false, 16868 + - 0x1.0000004p+0, false, 16869 + - true, 16870 + - 0x1.0000004p+0, false, 16871 + - 0x1.0000004p+0, false, 16872 + - 0x1.0000004p+0, false, 16873 + - 0x1.0000004p+0, false, 16874 + - true, 16875 + - 0x1.0000004p+0, false, 16876 + - 0x1.0000004p+0, false, 16877 + - 0x1.0000004p+0, false, 16878 + - 0x1.0000004p+0, false), 16879 + + 0x1p+0, false, false, 16880 + + 0x1p+0, false, false, 16881 + + 0x1p+0, false, false, 16882 + + 0x1.000002p+0, false, false, 16883 + + true, 16884 + + 0x1.0000004p+0, false, false, 16885 + + 0x1.0000004p+0, false, false, 16886 + + 0x1.0000004p+0, false, false, 16887 + + 0x1.0000004p+0, false, false, 16888 + + true, 16889 + + 0x1.0000004p+0, false, false, 16890 + + 0x1.0000004p+0, false, false, 16891 + + 0x1.0000004p+0, false, false, 16892 + + 0x1.0000004p+0, false, false, 16893 + + true, 16894 + + 0x1.0000004p+0, false, false, 16895 + + 0x1.0000004p+0, false, false, 16896 + + 0x1.0000004p+0, false, false, 16897 + + 0x1.0000004p+0, false, false, 16898 + + true, 16899 + + 0x1.0000004p+0, false, false, 16900 + + 0x1.0000004p+0, false, false, 16901 + + 0x1.0000004p+0, false, false, 16902 + + 0x1.0000004p+0, false, false, 16903 + + true, 16904 + + 0x1.0000004p+0, false, false, 16905 + + 0x1.0000004p+0, false, false, 16906 + + 0x1.0000004p+0, false, false, 16907 + + 0x1.0000004p+0, false, false), 16908 + TEST ("1.000000007450580596923828125", 16909 + false, 16910 + - 0x1p+0, false, 16911 + - 0x1p+0, false, 16912 + - 0x1p+0, false, 16913 + - 0x1.000002p+0, false, 16914 + - true, 16915 + - 0x1.0000002p+0, false, 16916 + - 0x1.0000002p+0, false, 16917 + - 0x1.0000002p+0, false, 16918 + - 0x1.0000002p+0, false, 16919 + - true, 16920 + - 0x1.0000002p+0, false, 16921 + - 0x1.0000002p+0, false, 16922 + - 0x1.0000002p+0, false, 16923 + - 0x1.0000002p+0, false, 16924 + - true, 16925 + - 0x1.0000002p+0, false, 16926 + - 0x1.0000002p+0, false, 16927 + - 0x1.0000002p+0, false, 16928 + - 0x1.0000002p+0, false, 16929 + - true, 16930 + - 0x1.0000002p+0, false, 16931 + - 0x1.0000002p+0, false, 16932 + - 0x1.0000002p+0, false, 16933 + - 0x1.0000002p+0, false, 16934 + - true, 16935 + - 0x1.0000002p+0, false, 16936 + - 0x1.0000002p+0, false, 16937 + - 0x1.0000002p+0, false, 16938 + - 0x1.0000002p+0, false), 16939 + + 0x1p+0, false, false, 16940 + + 0x1p+0, false, false, 16941 + + 0x1p+0, false, false, 16942 + + 0x1.000002p+0, false, false, 16943 + + true, 16944 + + 0x1.0000002p+0, false, false, 16945 + + 0x1.0000002p+0, false, false, 16946 + + 0x1.0000002p+0, false, false, 16947 + + 0x1.0000002p+0, false, false, 16948 + + true, 16949 + + 0x1.0000002p+0, false, false, 16950 + + 0x1.0000002p+0, false, false, 16951 + + 0x1.0000002p+0, false, false, 16952 + + 0x1.0000002p+0, false, false, 16953 + + true, 16954 + + 0x1.0000002p+0, false, false, 16955 + + 0x1.0000002p+0, false, false, 16956 + + 0x1.0000002p+0, false, false, 16957 + + 0x1.0000002p+0, false, false, 16958 + + true, 16959 + + 0x1.0000002p+0, false, false, 16960 + + 0x1.0000002p+0, false, false, 16961 + + 0x1.0000002p+0, false, false, 16962 + + 0x1.0000002p+0, false, false, 16963 + + true, 16964 + + 0x1.0000002p+0, false, false, 16965 + + 0x1.0000002p+0, false, false, 16966 + + 0x1.0000002p+0, false, false, 16967 + + 0x1.0000002p+0, false, false), 16968 + TEST ("1.0000000037252902984619140625", 16969 + false, 16970 + - 0x1p+0, false, 16971 + - 0x1p+0, false, 16972 + - 0x1p+0, false, 16973 + - 0x1.000002p+0, false, 16974 + - true, 16975 + - 0x1.0000001p+0, false, 16976 + - 0x1.0000001p+0, false, 16977 + - 0x1.0000001p+0, false, 16978 + - 0x1.0000001p+0, false, 16979 + - true, 16980 + - 0x1.0000001p+0, false, 16981 + - 0x1.0000001p+0, false, 16982 + - 0x1.0000001p+0, false, 16983 + - 0x1.0000001p+0, false, 16984 + - true, 16985 + - 0x1.0000001p+0, false, 16986 + - 0x1.0000001p+0, false, 16987 + - 0x1.0000001p+0, false, 16988 + - 0x1.0000001p+0, false, 16989 + - true, 16990 + - 0x1.0000001p+0, false, 16991 + - 0x1.0000001p+0, false, 16992 + - 0x1.0000001p+0, false, 16993 + - 0x1.0000001p+0, false, 16994 + - true, 16995 + - 0x1.0000001p+0, false, 16996 + - 0x1.0000001p+0, false, 16997 + - 0x1.0000001p+0, false, 16998 + - 0x1.0000001p+0, false), 16999 + + 0x1p+0, false, false, 17000 + + 0x1p+0, false, false, 17001 + + 0x1p+0, false, false, 17002 + + 0x1.000002p+0, false, false, 17003 + + true, 17004 + + 0x1.0000001p+0, false, false, 17005 + + 0x1.0000001p+0, false, false, 17006 + + 0x1.0000001p+0, false, false, 17007 + + 0x1.0000001p+0, false, false, 17008 + + true, 17009 + + 0x1.0000001p+0, false, false, 17010 + + 0x1.0000001p+0, false, false, 17011 + + 0x1.0000001p+0, false, false, 17012 + + 0x1.0000001p+0, false, false, 17013 + + true, 17014 + + 0x1.0000001p+0, false, false, 17015 + + 0x1.0000001p+0, false, false, 17016 + + 0x1.0000001p+0, false, false, 17017 + + 0x1.0000001p+0, false, false, 17018 + + true, 17019 + + 0x1.0000001p+0, false, false, 17020 + + 0x1.0000001p+0, false, false, 17021 + + 0x1.0000001p+0, false, false, 17022 + + 0x1.0000001p+0, false, false, 17023 + + true, 17024 + + 0x1.0000001p+0, false, false, 17025 + + 0x1.0000001p+0, false, false, 17026 + + 0x1.0000001p+0, false, false, 17027 + + 0x1.0000001p+0, false, false), 17028 + TEST ("1.00000000186264514923095703125", 17029 + false, 17030 + - 0x1p+0, false, 17031 + - 0x1p+0, false, 17032 + - 0x1p+0, false, 17033 + - 0x1.000002p+0, false, 17034 + - true, 17035 + - 0x1.00000008p+0, false, 17036 + - 0x1.00000008p+0, false, 17037 + - 0x1.00000008p+0, false, 17038 + - 0x1.00000008p+0, false, 17039 + - true, 17040 + - 0x1.00000008p+0, false, 17041 + - 0x1.00000008p+0, false, 17042 + - 0x1.00000008p+0, false, 17043 + - 0x1.00000008p+0, false, 17044 + - true, 17045 + - 0x1.00000008p+0, false, 17046 + - 0x1.00000008p+0, false, 17047 + - 0x1.00000008p+0, false, 17048 + - 0x1.00000008p+0, false, 17049 + - true, 17050 + - 0x1.00000008p+0, false, 17051 + - 0x1.00000008p+0, false, 17052 + - 0x1.00000008p+0, false, 17053 + - 0x1.00000008p+0, false, 17054 + - true, 17055 + - 0x1.00000008p+0, false, 17056 + - 0x1.00000008p+0, false, 17057 + - 0x1.00000008p+0, false, 17058 + - 0x1.00000008p+0, false), 17059 + + 0x1p+0, false, false, 17060 + + 0x1p+0, false, false, 17061 + + 0x1p+0, false, false, 17062 + + 0x1.000002p+0, false, false, 17063 + + true, 17064 + + 0x1.00000008p+0, false, false, 17065 + + 0x1.00000008p+0, false, false, 17066 + + 0x1.00000008p+0, false, false, 17067 + + 0x1.00000008p+0, false, false, 17068 + + true, 17069 + + 0x1.00000008p+0, false, false, 17070 + + 0x1.00000008p+0, false, false, 17071 + + 0x1.00000008p+0, false, false, 17072 + + 0x1.00000008p+0, false, false, 17073 + + true, 17074 + + 0x1.00000008p+0, false, false, 17075 + + 0x1.00000008p+0, false, false, 17076 + + 0x1.00000008p+0, false, false, 17077 + + 0x1.00000008p+0, false, false, 17078 + + true, 17079 + + 0x1.00000008p+0, false, false, 17080 + + 0x1.00000008p+0, false, false, 17081 + + 0x1.00000008p+0, false, false, 17082 + + 0x1.00000008p+0, false, false, 17083 + + true, 17084 + + 0x1.00000008p+0, false, false, 17085 + + 0x1.00000008p+0, false, false, 17086 + + 0x1.00000008p+0, false, false, 17087 + + 0x1.00000008p+0, false, false), 17088 + TEST ("1.000000000931322574615478515625", 17089 + false, 17090 + - 0x1p+0, false, 17091 + - 0x1p+0, false, 17092 + - 0x1p+0, false, 17093 + - 0x1.000002p+0, false, 17094 + - true, 17095 + - 0x1.00000004p+0, false, 17096 + - 0x1.00000004p+0, false, 17097 + - 0x1.00000004p+0, false, 17098 + - 0x1.00000004p+0, false, 17099 + - true, 17100 + - 0x1.00000004p+0, false, 17101 + - 0x1.00000004p+0, false, 17102 + - 0x1.00000004p+0, false, 17103 + - 0x1.00000004p+0, false, 17104 + - true, 17105 + - 0x1.00000004p+0, false, 17106 + - 0x1.00000004p+0, false, 17107 + - 0x1.00000004p+0, false, 17108 + - 0x1.00000004p+0, false, 17109 + - true, 17110 + - 0x1.00000004p+0, false, 17111 + - 0x1.00000004p+0, false, 17112 + - 0x1.00000004p+0, false, 17113 + - 0x1.00000004p+0, false, 17114 + - true, 17115 + - 0x1.00000004p+0, false, 17116 + - 0x1.00000004p+0, false, 17117 + - 0x1.00000004p+0, false, 17118 + - 0x1.00000004p+0, false), 17119 + + 0x1p+0, false, false, 17120 + + 0x1p+0, false, false, 17121 + + 0x1p+0, false, false, 17122 + + 0x1.000002p+0, false, false, 17123 + + true, 17124 + + 0x1.00000004p+0, false, false, 17125 + + 0x1.00000004p+0, false, false, 17126 + + 0x1.00000004p+0, false, false, 17127 + + 0x1.00000004p+0, false, false, 17128 + + true, 17129 + + 0x1.00000004p+0, false, false, 17130 + + 0x1.00000004p+0, false, false, 17131 + + 0x1.00000004p+0, false, false, 17132 + + 0x1.00000004p+0, false, false, 17133 + + true, 17134 + + 0x1.00000004p+0, false, false, 17135 + + 0x1.00000004p+0, false, false, 17136 + + 0x1.00000004p+0, false, false, 17137 + + 0x1.00000004p+0, false, false, 17138 + + true, 17139 + + 0x1.00000004p+0, false, false, 17140 + + 0x1.00000004p+0, false, false, 17141 + + 0x1.00000004p+0, false, false, 17142 + + 0x1.00000004p+0, false, false, 17143 + + true, 17144 + + 0x1.00000004p+0, false, false, 17145 + + 0x1.00000004p+0, false, false, 17146 + + 0x1.00000004p+0, false, false, 17147 + + 0x1.00000004p+0, false, false), 17148 + TEST ("1.0000000004656612873077392578125", 17149 + false, 17150 + - 0x1p+0, false, 17151 + - 0x1p+0, false, 17152 + - 0x1p+0, false, 17153 + - 0x1.000002p+0, false, 17154 + - true, 17155 + - 0x1.00000002p+0, false, 17156 + - 0x1.00000002p+0, false, 17157 + - 0x1.00000002p+0, false, 17158 + - 0x1.00000002p+0, false, 17159 + - true, 17160 + - 0x1.00000002p+0, false, 17161 + - 0x1.00000002p+0, false, 17162 + - 0x1.00000002p+0, false, 17163 + - 0x1.00000002p+0, false, 17164 + - true, 17165 + - 0x1.00000002p+0, false, 17166 + - 0x1.00000002p+0, false, 17167 + - 0x1.00000002p+0, false, 17168 + - 0x1.00000002p+0, false, 17169 + - true, 17170 + - 0x1.00000002p+0, false, 17171 + - 0x1.00000002p+0, false, 17172 + - 0x1.00000002p+0, false, 17173 + - 0x1.00000002p+0, false, 17174 + - true, 17175 + - 0x1.00000002p+0, false, 17176 + - 0x1.00000002p+0, false, 17177 + - 0x1.00000002p+0, false, 17178 + - 0x1.00000002p+0, false), 17179 + + 0x1p+0, false, false, 17180 + + 0x1p+0, false, false, 17181 + + 0x1p+0, false, false, 17182 + + 0x1.000002p+0, false, false, 17183 + + true, 17184 + + 0x1.00000002p+0, false, false, 17185 + + 0x1.00000002p+0, false, false, 17186 + + 0x1.00000002p+0, false, false, 17187 + + 0x1.00000002p+0, false, false, 17188 + + true, 17189 + + 0x1.00000002p+0, false, false, 17190 + + 0x1.00000002p+0, false, false, 17191 + + 0x1.00000002p+0, false, false, 17192 + + 0x1.00000002p+0, false, false, 17193 + + true, 17194 + + 0x1.00000002p+0, false, false, 17195 + + 0x1.00000002p+0, false, false, 17196 + + 0x1.00000002p+0, false, false, 17197 + + 0x1.00000002p+0, false, false, 17198 + + true, 17199 + + 0x1.00000002p+0, false, false, 17200 + + 0x1.00000002p+0, false, false, 17201 + + 0x1.00000002p+0, false, false, 17202 + + 0x1.00000002p+0, false, false, 17203 + + true, 17204 + + 0x1.00000002p+0, false, false, 17205 + + 0x1.00000002p+0, false, false, 17206 + + 0x1.00000002p+0, false, false, 17207 + + 0x1.00000002p+0, false, false), 17208 + TEST ("1.00000000023283064365386962890625", 17209 + false, 17210 + - 0x1p+0, false, 17211 + - 0x1p+0, false, 17212 + - 0x1p+0, false, 17213 + - 0x1.000002p+0, false, 17214 + - true, 17215 + - 0x1.00000001p+0, false, 17216 + - 0x1.00000001p+0, false, 17217 + - 0x1.00000001p+0, false, 17218 + - 0x1.00000001p+0, false, 17219 + - true, 17220 + - 0x1.00000001p+0, false, 17221 + - 0x1.00000001p+0, false, 17222 + - 0x1.00000001p+0, false, 17223 + - 0x1.00000001p+0, false, 17224 + - true, 17225 + - 0x1.00000001p+0, false, 17226 + - 0x1.00000001p+0, false, 17227 + - 0x1.00000001p+0, false, 17228 + - 0x1.00000001p+0, false, 17229 + - true, 17230 + - 0x1.00000001p+0, false, 17231 + - 0x1.00000001p+0, false, 17232 + - 0x1.00000001p+0, false, 17233 + - 0x1.00000001p+0, false, 17234 + - true, 17235 + - 0x1.00000001p+0, false, 17236 + - 0x1.00000001p+0, false, 17237 + - 0x1.00000001p+0, false, 17238 + - 0x1.00000001p+0, false), 17239 + + 0x1p+0, false, false, 17240 + + 0x1p+0, false, false, 17241 + + 0x1p+0, false, false, 17242 + + 0x1.000002p+0, false, false, 17243 + + true, 17244 + + 0x1.00000001p+0, false, false, 17245 + + 0x1.00000001p+0, false, false, 17246 + + 0x1.00000001p+0, false, false, 17247 + + 0x1.00000001p+0, false, false, 17248 + + true, 17249 + + 0x1.00000001p+0, false, false, 17250 + + 0x1.00000001p+0, false, false, 17251 + + 0x1.00000001p+0, false, false, 17252 + + 0x1.00000001p+0, false, false, 17253 + + true, 17254 + + 0x1.00000001p+0, false, false, 17255 + + 0x1.00000001p+0, false, false, 17256 + + 0x1.00000001p+0, false, false, 17257 + + 0x1.00000001p+0, false, false, 17258 + + true, 17259 + + 0x1.00000001p+0, false, false, 17260 + + 0x1.00000001p+0, false, false, 17261 + + 0x1.00000001p+0, false, false, 17262 + + 0x1.00000001p+0, false, false, 17263 + + true, 17264 + + 0x1.00000001p+0, false, false, 17265 + + 0x1.00000001p+0, false, false, 17266 + + 0x1.00000001p+0, false, false, 17267 + + 0x1.00000001p+0, false, false), 17268 + TEST ("1.000000000116415321826934814453125", 17269 + false, 17270 + - 0x1p+0, false, 17271 + - 0x1p+0, false, 17272 + - 0x1p+0, false, 17273 + - 0x1.000002p+0, false, 17274 + - true, 17275 + - 0x1.000000008p+0, false, 17276 + - 0x1.000000008p+0, false, 17277 + - 0x1.000000008p+0, false, 17278 + - 0x1.000000008p+0, false, 17279 + - true, 17280 + - 0x1.000000008p+0, false, 17281 + - 0x1.000000008p+0, false, 17282 + - 0x1.000000008p+0, false, 17283 + - 0x1.000000008p+0, false, 17284 + - true, 17285 + - 0x1.000000008p+0, false, 17286 + - 0x1.000000008p+0, false, 17287 + - 0x1.000000008p+0, false, 17288 + - 0x1.000000008p+0, false, 17289 + - true, 17290 + - 0x1.000000008p+0, false, 17291 + - 0x1.000000008p+0, false, 17292 + - 0x1.000000008p+0, false, 17293 + - 0x1.000000008p+0, false, 17294 + - true, 17295 + - 0x1.000000008p+0, false, 17296 + - 0x1.000000008p+0, false, 17297 + - 0x1.000000008p+0, false, 17298 + - 0x1.000000008p+0, false), 17299 + + 0x1p+0, false, false, 17300 + + 0x1p+0, false, false, 17301 + + 0x1p+0, false, false, 17302 + + 0x1.000002p+0, false, false, 17303 + + true, 17304 + + 0x1.000000008p+0, false, false, 17305 + + 0x1.000000008p+0, false, false, 17306 + + 0x1.000000008p+0, false, false, 17307 + + 0x1.000000008p+0, false, false, 17308 + + true, 17309 + + 0x1.000000008p+0, false, false, 17310 + + 0x1.000000008p+0, false, false, 17311 + + 0x1.000000008p+0, false, false, 17312 + + 0x1.000000008p+0, false, false, 17313 + + true, 17314 + + 0x1.000000008p+0, false, false, 17315 + + 0x1.000000008p+0, false, false, 17316 + + 0x1.000000008p+0, false, false, 17317 + + 0x1.000000008p+0, false, false, 17318 + + true, 17319 + + 0x1.000000008p+0, false, false, 17320 + + 0x1.000000008p+0, false, false, 17321 + + 0x1.000000008p+0, false, false, 17322 + + 0x1.000000008p+0, false, false, 17323 + + true, 17324 + + 0x1.000000008p+0, false, false, 17325 + + 0x1.000000008p+0, false, false, 17326 + + 0x1.000000008p+0, false, false, 17327 + + 0x1.000000008p+0, false, false), 17328 + TEST ("1.0000000000582076609134674072265625", 17329 + false, 17330 + - 0x1p+0, false, 17331 + - 0x1p+0, false, 17332 + - 0x1p+0, false, 17333 + - 0x1.000002p+0, false, 17334 + - true, 17335 + - 0x1.000000004p+0, false, 17336 + - 0x1.000000004p+0, false, 17337 + - 0x1.000000004p+0, false, 17338 + - 0x1.000000004p+0, false, 17339 + - true, 17340 + - 0x1.000000004p+0, false, 17341 + - 0x1.000000004p+0, false, 17342 + - 0x1.000000004p+0, false, 17343 + - 0x1.000000004p+0, false, 17344 + - true, 17345 + - 0x1.000000004p+0, false, 17346 + - 0x1.000000004p+0, false, 17347 + - 0x1.000000004p+0, false, 17348 + - 0x1.000000004p+0, false, 17349 + - true, 17350 + - 0x1.000000004p+0, false, 17351 + - 0x1.000000004p+0, false, 17352 + - 0x1.000000004p+0, false, 17353 + - 0x1.000000004p+0, false, 17354 + - true, 17355 + - 0x1.000000004p+0, false, 17356 + - 0x1.000000004p+0, false, 17357 + - 0x1.000000004p+0, false, 17358 + - 0x1.000000004p+0, false), 17359 + + 0x1p+0, false, false, 17360 + + 0x1p+0, false, false, 17361 + + 0x1p+0, false, false, 17362 + + 0x1.000002p+0, false, false, 17363 + + true, 17364 + + 0x1.000000004p+0, false, false, 17365 + + 0x1.000000004p+0, false, false, 17366 + + 0x1.000000004p+0, false, false, 17367 + + 0x1.000000004p+0, false, false, 17368 + + true, 17369 + + 0x1.000000004p+0, false, false, 17370 + + 0x1.000000004p+0, false, false, 17371 + + 0x1.000000004p+0, false, false, 17372 + + 0x1.000000004p+0, false, false, 17373 + + true, 17374 + + 0x1.000000004p+0, false, false, 17375 + + 0x1.000000004p+0, false, false, 17376 + + 0x1.000000004p+0, false, false, 17377 + + 0x1.000000004p+0, false, false, 17378 + + true, 17379 + + 0x1.000000004p+0, false, false, 17380 + + 0x1.000000004p+0, false, false, 17381 + + 0x1.000000004p+0, false, false, 17382 + + 0x1.000000004p+0, false, false, 17383 + + true, 17384 + + 0x1.000000004p+0, false, false, 17385 + + 0x1.000000004p+0, false, false, 17386 + + 0x1.000000004p+0, false, false, 17387 + + 0x1.000000004p+0, false, false), 17388 + TEST ("1.00000000002910383045673370361328125", 17389 + false, 17390 + - 0x1p+0, false, 17391 + - 0x1p+0, false, 17392 + - 0x1p+0, false, 17393 + - 0x1.000002p+0, false, 17394 + - true, 17395 + - 0x1.000000002p+0, false, 17396 + - 0x1.000000002p+0, false, 17397 + - 0x1.000000002p+0, false, 17398 + - 0x1.000000002p+0, false, 17399 + - true, 17400 + - 0x1.000000002p+0, false, 17401 + - 0x1.000000002p+0, false, 17402 + - 0x1.000000002p+0, false, 17403 + - 0x1.000000002p+0, false, 17404 + - true, 17405 + - 0x1.000000002p+0, false, 17406 + - 0x1.000000002p+0, false, 17407 + - 0x1.000000002p+0, false, 17408 + - 0x1.000000002p+0, false, 17409 + - true, 17410 + - 0x1.000000002p+0, false, 17411 + - 0x1.000000002p+0, false, 17412 + - 0x1.000000002p+0, false, 17413 + - 0x1.000000002p+0, false, 17414 + - true, 17415 + - 0x1.000000002p+0, false, 17416 + - 0x1.000000002p+0, false, 17417 + - 0x1.000000002p+0, false, 17418 + - 0x1.000000002p+0, false), 17419 + + 0x1p+0, false, false, 17420 + + 0x1p+0, false, false, 17421 + + 0x1p+0, false, false, 17422 + + 0x1.000002p+0, false, false, 17423 + + true, 17424 + + 0x1.000000002p+0, false, false, 17425 + + 0x1.000000002p+0, false, false, 17426 + + 0x1.000000002p+0, false, false, 17427 + + 0x1.000000002p+0, false, false, 17428 + + true, 17429 + + 0x1.000000002p+0, false, false, 17430 + + 0x1.000000002p+0, false, false, 17431 + + 0x1.000000002p+0, false, false, 17432 + + 0x1.000000002p+0, false, false, 17433 + + true, 17434 + + 0x1.000000002p+0, false, false, 17435 + + 0x1.000000002p+0, false, false, 17436 + + 0x1.000000002p+0, false, false, 17437 + + 0x1.000000002p+0, false, false, 17438 + + true, 17439 + + 0x1.000000002p+0, false, false, 17440 + + 0x1.000000002p+0, false, false, 17441 + + 0x1.000000002p+0, false, false, 17442 + + 0x1.000000002p+0, false, false, 17443 + + true, 17444 + + 0x1.000000002p+0, false, false, 17445 + + 0x1.000000002p+0, false, false, 17446 + + 0x1.000000002p+0, false, false, 17447 + + 0x1.000000002p+0, false, false), 17448 + TEST ("1.000000000014551915228366851806640625", 17449 + false, 17450 + - 0x1p+0, false, 17451 + - 0x1p+0, false, 17452 + - 0x1p+0, false, 17453 + - 0x1.000002p+0, false, 17454 + - true, 17455 + - 0x1.000000001p+0, false, 17456 + - 0x1.000000001p+0, false, 17457 + - 0x1.000000001p+0, false, 17458 + - 0x1.000000001p+0, false, 17459 + - true, 17460 + - 0x1.000000001p+0, false, 17461 + - 0x1.000000001p+0, false, 17462 + - 0x1.000000001p+0, false, 17463 + - 0x1.000000001p+0, false, 17464 + - true, 17465 + - 0x1.000000001p+0, false, 17466 + - 0x1.000000001p+0, false, 17467 + - 0x1.000000001p+0, false, 17468 + - 0x1.000000001p+0, false, 17469 + - true, 17470 + - 0x1.000000001p+0, false, 17471 + - 0x1.000000001p+0, false, 17472 + - 0x1.000000001p+0, false, 17473 + - 0x1.000000001p+0, false, 17474 + - true, 17475 + - 0x1.000000001p+0, false, 17476 + - 0x1.000000001p+0, false, 17477 + - 0x1.000000001p+0, false, 17478 + - 0x1.000000001p+0, false), 17479 + + 0x1p+0, false, false, 17480 + + 0x1p+0, false, false, 17481 + + 0x1p+0, false, false, 17482 + + 0x1.000002p+0, false, false, 17483 + + true, 17484 + + 0x1.000000001p+0, false, false, 17485 + + 0x1.000000001p+0, false, false, 17486 + + 0x1.000000001p+0, false, false, 17487 + + 0x1.000000001p+0, false, false, 17488 + + true, 17489 + + 0x1.000000001p+0, false, false, 17490 + + 0x1.000000001p+0, false, false, 17491 + + 0x1.000000001p+0, false, false, 17492 + + 0x1.000000001p+0, false, false, 17493 + + true, 17494 + + 0x1.000000001p+0, false, false, 17495 + + 0x1.000000001p+0, false, false, 17496 + + 0x1.000000001p+0, false, false, 17497 + + 0x1.000000001p+0, false, false, 17498 + + true, 17499 + + 0x1.000000001p+0, false, false, 17500 + + 0x1.000000001p+0, false, false, 17501 + + 0x1.000000001p+0, false, false, 17502 + + 0x1.000000001p+0, false, false, 17503 + + true, 17504 + + 0x1.000000001p+0, false, false, 17505 + + 0x1.000000001p+0, false, false, 17506 + + 0x1.000000001p+0, false, false, 17507 + + 0x1.000000001p+0, false, false), 17508 + TEST ("1.0000000000072759576141834259033203125", 17509 + false, 17510 + - 0x1p+0, false, 17511 + - 0x1p+0, false, 17512 + - 0x1p+0, false, 17513 + - 0x1.000002p+0, false, 17514 + - true, 17515 + - 0x1.0000000008p+0, false, 17516 + - 0x1.0000000008p+0, false, 17517 + - 0x1.0000000008p+0, false, 17518 + - 0x1.0000000008p+0, false, 17519 + - true, 17520 + - 0x1.0000000008p+0, false, 17521 + - 0x1.0000000008p+0, false, 17522 + - 0x1.0000000008p+0, false, 17523 + - 0x1.0000000008p+0, false, 17524 + - true, 17525 + - 0x1.0000000008p+0, false, 17526 + - 0x1.0000000008p+0, false, 17527 + - 0x1.0000000008p+0, false, 17528 + - 0x1.0000000008p+0, false, 17529 + - true, 17530 + - 0x1.0000000008p+0, false, 17531 + - 0x1.0000000008p+0, false, 17532 + - 0x1.0000000008p+0, false, 17533 + - 0x1.0000000008p+0, false, 17534 + - true, 17535 + - 0x1.0000000008p+0, false, 17536 + - 0x1.0000000008p+0, false, 17537 + - 0x1.0000000008p+0, false, 17538 + - 0x1.0000000008p+0, false), 17539 + + 0x1p+0, false, false, 17540 + + 0x1p+0, false, false, 17541 + + 0x1p+0, false, false, 17542 + + 0x1.000002p+0, false, false, 17543 + + true, 17544 + + 0x1.0000000008p+0, false, false, 17545 + + 0x1.0000000008p+0, false, false, 17546 + + 0x1.0000000008p+0, false, false, 17547 + + 0x1.0000000008p+0, false, false, 17548 + + true, 17549 + + 0x1.0000000008p+0, false, false, 17550 + + 0x1.0000000008p+0, false, false, 17551 + + 0x1.0000000008p+0, false, false, 17552 + + 0x1.0000000008p+0, false, false, 17553 + + true, 17554 + + 0x1.0000000008p+0, false, false, 17555 + + 0x1.0000000008p+0, false, false, 17556 + + 0x1.0000000008p+0, false, false, 17557 + + 0x1.0000000008p+0, false, false, 17558 + + true, 17559 + + 0x1.0000000008p+0, false, false, 17560 + + 0x1.0000000008p+0, false, false, 17561 + + 0x1.0000000008p+0, false, false, 17562 + + 0x1.0000000008p+0, false, false, 17563 + + true, 17564 + + 0x1.0000000008p+0, false, false, 17565 + + 0x1.0000000008p+0, false, false, 17566 + + 0x1.0000000008p+0, false, false, 17567 + + 0x1.0000000008p+0, false, false), 17568 + TEST ("1.00000000000363797880709171295166015625", 17569 + false, 17570 + - 0x1p+0, false, 17571 + - 0x1p+0, false, 17572 + - 0x1p+0, false, 17573 + - 0x1.000002p+0, false, 17574 + - true, 17575 + - 0x1.0000000004p+0, false, 17576 + - 0x1.0000000004p+0, false, 17577 + - 0x1.0000000004p+0, false, 17578 + - 0x1.0000000004p+0, false, 17579 + - true, 17580 + - 0x1.0000000004p+0, false, 17581 + - 0x1.0000000004p+0, false, 17582 + - 0x1.0000000004p+0, false, 17583 + - 0x1.0000000004p+0, false, 17584 + - true, 17585 + - 0x1.0000000004p+0, false, 17586 + - 0x1.0000000004p+0, false, 17587 + - 0x1.0000000004p+0, false, 17588 + - 0x1.0000000004p+0, false, 17589 + - true, 17590 + - 0x1.0000000004p+0, false, 17591 + - 0x1.0000000004p+0, false, 17592 + - 0x1.0000000004p+0, false, 17593 + - 0x1.0000000004p+0, false, 17594 + - true, 17595 + - 0x1.0000000004p+0, false, 17596 + - 0x1.0000000004p+0, false, 17597 + - 0x1.0000000004p+0, false, 17598 + - 0x1.0000000004p+0, false), 17599 + + 0x1p+0, false, false, 17600 + + 0x1p+0, false, false, 17601 + + 0x1p+0, false, false, 17602 + + 0x1.000002p+0, false, false, 17603 + + true, 17604 + + 0x1.0000000004p+0, false, false, 17605 + + 0x1.0000000004p+0, false, false, 17606 + + 0x1.0000000004p+0, false, false, 17607 + + 0x1.0000000004p+0, false, false, 17608 + + true, 17609 + + 0x1.0000000004p+0, false, false, 17610 + + 0x1.0000000004p+0, false, false, 17611 + + 0x1.0000000004p+0, false, false, 17612 + + 0x1.0000000004p+0, false, false, 17613 + + true, 17614 + + 0x1.0000000004p+0, false, false, 17615 + + 0x1.0000000004p+0, false, false, 17616 + + 0x1.0000000004p+0, false, false, 17617 + + 0x1.0000000004p+0, false, false, 17618 + + true, 17619 + + 0x1.0000000004p+0, false, false, 17620 + + 0x1.0000000004p+0, false, false, 17621 + + 0x1.0000000004p+0, false, false, 17622 + + 0x1.0000000004p+0, false, false, 17623 + + true, 17624 + + 0x1.0000000004p+0, false, false, 17625 + + 0x1.0000000004p+0, false, false, 17626 + + 0x1.0000000004p+0, false, false, 17627 + + 0x1.0000000004p+0, false, false), 17628 + TEST ("1.000000000001818989403545856475830078125", 17629 + false, 17630 + - 0x1p+0, false, 17631 + - 0x1p+0, false, 17632 + - 0x1p+0, false, 17633 + - 0x1.000002p+0, false, 17634 + - true, 17635 + - 0x1.0000000002p+0, false, 17636 + - 0x1.0000000002p+0, false, 17637 + - 0x1.0000000002p+0, false, 17638 + - 0x1.0000000002p+0, false, 17639 + - true, 17640 + - 0x1.0000000002p+0, false, 17641 + - 0x1.0000000002p+0, false, 17642 + - 0x1.0000000002p+0, false, 17643 + - 0x1.0000000002p+0, false, 17644 + - true, 17645 + - 0x1.0000000002p+0, false, 17646 + - 0x1.0000000002p+0, false, 17647 + - 0x1.0000000002p+0, false, 17648 + - 0x1.0000000002p+0, false, 17649 + - true, 17650 + - 0x1.0000000002p+0, false, 17651 + - 0x1.0000000002p+0, false, 17652 + - 0x1.0000000002p+0, false, 17653 + - 0x1.0000000002p+0, false, 17654 + - true, 17655 + - 0x1.0000000002p+0, false, 17656 + - 0x1.0000000002p+0, false, 17657 + - 0x1.0000000002p+0, false, 17658 + - 0x1.0000000002p+0, false), 17659 + + 0x1p+0, false, false, 17660 + + 0x1p+0, false, false, 17661 + + 0x1p+0, false, false, 17662 + + 0x1.000002p+0, false, false, 17663 + + true, 17664 + + 0x1.0000000002p+0, false, false, 17665 + + 0x1.0000000002p+0, false, false, 17666 + + 0x1.0000000002p+0, false, false, 17667 + + 0x1.0000000002p+0, false, false, 17668 + + true, 17669 + + 0x1.0000000002p+0, false, false, 17670 + + 0x1.0000000002p+0, false, false, 17671 + + 0x1.0000000002p+0, false, false, 17672 + + 0x1.0000000002p+0, false, false, 17673 + + true, 17674 + + 0x1.0000000002p+0, false, false, 17675 + + 0x1.0000000002p+0, false, false, 17676 + + 0x1.0000000002p+0, false, false, 17677 + + 0x1.0000000002p+0, false, false, 17678 + + true, 17679 + + 0x1.0000000002p+0, false, false, 17680 + + 0x1.0000000002p+0, false, false, 17681 + + 0x1.0000000002p+0, false, false, 17682 + + 0x1.0000000002p+0, false, false, 17683 + + true, 17684 + + 0x1.0000000002p+0, false, false, 17685 + + 0x1.0000000002p+0, false, false, 17686 + + 0x1.0000000002p+0, false, false, 17687 + + 0x1.0000000002p+0, false, false), 17688 + TEST ("1.0000000000009094947017729282379150390625", 17689 + false, 17690 + - 0x1p+0, false, 17691 + - 0x1p+0, false, 17692 + - 0x1p+0, false, 17693 + - 0x1.000002p+0, false, 17694 + - true, 17695 + - 0x1.0000000001p+0, false, 17696 + - 0x1.0000000001p+0, false, 17697 + - 0x1.0000000001p+0, false, 17698 + - 0x1.0000000001p+0, false, 17699 + - true, 17700 + - 0x1.0000000001p+0, false, 17701 + - 0x1.0000000001p+0, false, 17702 + - 0x1.0000000001p+0, false, 17703 + - 0x1.0000000001p+0, false, 17704 + - true, 17705 + - 0x1.0000000001p+0, false, 17706 + - 0x1.0000000001p+0, false, 17707 + - 0x1.0000000001p+0, false, 17708 + - 0x1.0000000001p+0, false, 17709 + - true, 17710 + - 0x1.0000000001p+0, false, 17711 + - 0x1.0000000001p+0, false, 17712 + - 0x1.0000000001p+0, false, 17713 + - 0x1.0000000001p+0, false, 17714 + - true, 17715 + - 0x1.0000000001p+0, false, 17716 + - 0x1.0000000001p+0, false, 17717 + - 0x1.0000000001p+0, false, 17718 + - 0x1.0000000001p+0, false), 17719 + + 0x1p+0, false, false, 17720 + + 0x1p+0, false, false, 17721 + + 0x1p+0, false, false, 17722 + + 0x1.000002p+0, false, false, 17723 + + true, 17724 + + 0x1.0000000001p+0, false, false, 17725 + + 0x1.0000000001p+0, false, false, 17726 + + 0x1.0000000001p+0, false, false, 17727 + + 0x1.0000000001p+0, false, false, 17728 + + true, 17729 + + 0x1.0000000001p+0, false, false, 17730 + + 0x1.0000000001p+0, false, false, 17731 + + 0x1.0000000001p+0, false, false, 17732 + + 0x1.0000000001p+0, false, false, 17733 + + true, 17734 + + 0x1.0000000001p+0, false, false, 17735 + + 0x1.0000000001p+0, false, false, 17736 + + 0x1.0000000001p+0, false, false, 17737 + + 0x1.0000000001p+0, false, false, 17738 + + true, 17739 + + 0x1.0000000001p+0, false, false, 17740 + + 0x1.0000000001p+0, false, false, 17741 + + 0x1.0000000001p+0, false, false, 17742 + + 0x1.0000000001p+0, false, false, 17743 + + true, 17744 + + 0x1.0000000001p+0, false, false, 17745 + + 0x1.0000000001p+0, false, false, 17746 + + 0x1.0000000001p+0, false, false, 17747 + + 0x1.0000000001p+0, false, false), 17748 + TEST ("1.00000000000045474735088646411895751953125", 17749 + false, 17750 + - 0x1p+0, false, 17751 + - 0x1p+0, false, 17752 + - 0x1p+0, false, 17753 + - 0x1.000002p+0, false, 17754 + - true, 17755 + - 0x1.00000000008p+0, false, 17756 + - 0x1.00000000008p+0, false, 17757 + - 0x1.00000000008p+0, false, 17758 + - 0x1.00000000008p+0, false, 17759 + - true, 17760 + - 0x1.00000000008p+0, false, 17761 + - 0x1.00000000008p+0, false, 17762 + - 0x1.00000000008p+0, false, 17763 + - 0x1.00000000008p+0, false, 17764 + - true, 17765 + - 0x1.00000000008p+0, false, 17766 + - 0x1.00000000008p+0, false, 17767 + - 0x1.00000000008p+0, false, 17768 + - 0x1.00000000008p+0, false, 17769 + - true, 17770 + - 0x1.00000000008p+0, false, 17771 + - 0x1.00000000008p+0, false, 17772 + - 0x1.00000000008p+0, false, 17773 + - 0x1.00000000008p+0, false, 17774 + - true, 17775 + - 0x1.00000000008p+0, false, 17776 + - 0x1.00000000008p+0, false, 17777 + - 0x1.00000000008p+0, false, 17778 + - 0x1.00000000008p+0, false), 17779 + + 0x1p+0, false, false, 17780 + + 0x1p+0, false, false, 17781 + + 0x1p+0, false, false, 17782 + + 0x1.000002p+0, false, false, 17783 + + true, 17784 + + 0x1.00000000008p+0, false, false, 17785 + + 0x1.00000000008p+0, false, false, 17786 + + 0x1.00000000008p+0, false, false, 17787 + + 0x1.00000000008p+0, false, false, 17788 + + true, 17789 + + 0x1.00000000008p+0, false, false, 17790 + + 0x1.00000000008p+0, false, false, 17791 + + 0x1.00000000008p+0, false, false, 17792 + + 0x1.00000000008p+0, false, false, 17793 + + true, 17794 + + 0x1.00000000008p+0, false, false, 17795 + + 0x1.00000000008p+0, false, false, 17796 + + 0x1.00000000008p+0, false, false, 17797 + + 0x1.00000000008p+0, false, false, 17798 + + true, 17799 + + 0x1.00000000008p+0, false, false, 17800 + + 0x1.00000000008p+0, false, false, 17801 + + 0x1.00000000008p+0, false, false, 17802 + + 0x1.00000000008p+0, false, false, 17803 + + true, 17804 + + 0x1.00000000008p+0, false, false, 17805 + + 0x1.00000000008p+0, false, false, 17806 + + 0x1.00000000008p+0, false, false, 17807 + + 0x1.00000000008p+0, false, false), 17808 + TEST ("1.000000000000227373675443232059478759765625", 17809 + false, 17810 + - 0x1p+0, false, 17811 + - 0x1p+0, false, 17812 + - 0x1p+0, false, 17813 + - 0x1.000002p+0, false, 17814 + - true, 17815 + - 0x1.00000000004p+0, false, 17816 + - 0x1.00000000004p+0, false, 17817 + - 0x1.00000000004p+0, false, 17818 + - 0x1.00000000004p+0, false, 17819 + - true, 17820 + - 0x1.00000000004p+0, false, 17821 + - 0x1.00000000004p+0, false, 17822 + - 0x1.00000000004p+0, false, 17823 + - 0x1.00000000004p+0, false, 17824 + - true, 17825 + - 0x1.00000000004p+0, false, 17826 + - 0x1.00000000004p+0, false, 17827 + - 0x1.00000000004p+0, false, 17828 + - 0x1.00000000004p+0, false, 17829 + - true, 17830 + - 0x1.00000000004p+0, false, 17831 + - 0x1.00000000004p+0, false, 17832 + - 0x1.00000000004p+0, false, 17833 + - 0x1.00000000004p+0, false, 17834 + - true, 17835 + - 0x1.00000000004p+0, false, 17836 + - 0x1.00000000004p+0, false, 17837 + - 0x1.00000000004p+0, false, 17838 + - 0x1.00000000004p+0, false), 17839 + + 0x1p+0, false, false, 17840 + + 0x1p+0, false, false, 17841 + + 0x1p+0, false, false, 17842 + + 0x1.000002p+0, false, false, 17843 + + true, 17844 + + 0x1.00000000004p+0, false, false, 17845 + + 0x1.00000000004p+0, false, false, 17846 + + 0x1.00000000004p+0, false, false, 17847 + + 0x1.00000000004p+0, false, false, 17848 + + true, 17849 + + 0x1.00000000004p+0, false, false, 17850 + + 0x1.00000000004p+0, false, false, 17851 + + 0x1.00000000004p+0, false, false, 17852 + + 0x1.00000000004p+0, false, false, 17853 + + true, 17854 + + 0x1.00000000004p+0, false, false, 17855 + + 0x1.00000000004p+0, false, false, 17856 + + 0x1.00000000004p+0, false, false, 17857 + + 0x1.00000000004p+0, false, false, 17858 + + true, 17859 + + 0x1.00000000004p+0, false, false, 17860 + + 0x1.00000000004p+0, false, false, 17861 + + 0x1.00000000004p+0, false, false, 17862 + + 0x1.00000000004p+0, false, false, 17863 + + true, 17864 + + 0x1.00000000004p+0, false, false, 17865 + + 0x1.00000000004p+0, false, false, 17866 + + 0x1.00000000004p+0, false, false, 17867 + + 0x1.00000000004p+0, false, false), 17868 + TEST ("1.0000000000001136868377216160297393798828125", 17869 + false, 17870 + - 0x1p+0, false, 17871 + - 0x1p+0, false, 17872 + - 0x1p+0, false, 17873 + - 0x1.000002p+0, false, 17874 + - true, 17875 + - 0x1.00000000002p+0, false, 17876 + - 0x1.00000000002p+0, false, 17877 + - 0x1.00000000002p+0, false, 17878 + - 0x1.00000000002p+0, false, 17879 + - true, 17880 + - 0x1.00000000002p+0, false, 17881 + - 0x1.00000000002p+0, false, 17882 + - 0x1.00000000002p+0, false, 17883 + - 0x1.00000000002p+0, false, 17884 + - true, 17885 + - 0x1.00000000002p+0, false, 17886 + - 0x1.00000000002p+0, false, 17887 + - 0x1.00000000002p+0, false, 17888 + - 0x1.00000000002p+0, false, 17889 + - true, 17890 + - 0x1.00000000002p+0, false, 17891 + - 0x1.00000000002p+0, false, 17892 + - 0x1.00000000002p+0, false, 17893 + - 0x1.00000000002p+0, false, 17894 + - true, 17895 + - 0x1.00000000002p+0, false, 17896 + - 0x1.00000000002p+0, false, 17897 + - 0x1.00000000002p+0, false, 17898 + - 0x1.00000000002p+0, false), 17899 + + 0x1p+0, false, false, 17900 + + 0x1p+0, false, false, 17901 + + 0x1p+0, false, false, 17902 + + 0x1.000002p+0, false, false, 17903 + + true, 17904 + + 0x1.00000000002p+0, false, false, 17905 + + 0x1.00000000002p+0, false, false, 17906 + + 0x1.00000000002p+0, false, false, 17907 + + 0x1.00000000002p+0, false, false, 17908 + + true, 17909 + + 0x1.00000000002p+0, false, false, 17910 + + 0x1.00000000002p+0, false, false, 17911 + + 0x1.00000000002p+0, false, false, 17912 + + 0x1.00000000002p+0, false, false, 17913 + + true, 17914 + + 0x1.00000000002p+0, false, false, 17915 + + 0x1.00000000002p+0, false, false, 17916 + + 0x1.00000000002p+0, false, false, 17917 + + 0x1.00000000002p+0, false, false, 17918 + + true, 17919 + + 0x1.00000000002p+0, false, false, 17920 + + 0x1.00000000002p+0, false, false, 17921 + + 0x1.00000000002p+0, false, false, 17922 + + 0x1.00000000002p+0, false, false, 17923 + + true, 17924 + + 0x1.00000000002p+0, false, false, 17925 + + 0x1.00000000002p+0, false, false, 17926 + + 0x1.00000000002p+0, false, false, 17927 + + 0x1.00000000002p+0, false, false), 17928 + TEST ("1.00000000000005684341886080801486968994140625", 17929 + false, 17930 + - 0x1p+0, false, 17931 + - 0x1p+0, false, 17932 + - 0x1p+0, false, 17933 + - 0x1.000002p+0, false, 17934 + - true, 17935 + - 0x1.00000000001p+0, false, 17936 + - 0x1.00000000001p+0, false, 17937 + - 0x1.00000000001p+0, false, 17938 + - 0x1.00000000001p+0, false, 17939 + - true, 17940 + - 0x1.00000000001p+0, false, 17941 + - 0x1.00000000001p+0, false, 17942 + - 0x1.00000000001p+0, false, 17943 + - 0x1.00000000001p+0, false, 17944 + - true, 17945 + - 0x1.00000000001p+0, false, 17946 + - 0x1.00000000001p+0, false, 17947 + - 0x1.00000000001p+0, false, 17948 + - 0x1.00000000001p+0, false, 17949 + - true, 17950 + - 0x1.00000000001p+0, false, 17951 + - 0x1.00000000001p+0, false, 17952 + - 0x1.00000000001p+0, false, 17953 + - 0x1.00000000001p+0, false, 17954 + - true, 17955 + - 0x1.00000000001p+0, false, 17956 + - 0x1.00000000001p+0, false, 17957 + - 0x1.00000000001p+0, false, 17958 + - 0x1.00000000001p+0, false), 17959 + + 0x1p+0, false, false, 17960 + + 0x1p+0, false, false, 17961 + + 0x1p+0, false, false, 17962 + + 0x1.000002p+0, false, false, 17963 + + true, 17964 + + 0x1.00000000001p+0, false, false, 17965 + + 0x1.00000000001p+0, false, false, 17966 + + 0x1.00000000001p+0, false, false, 17967 + + 0x1.00000000001p+0, false, false, 17968 + + true, 17969 + + 0x1.00000000001p+0, false, false, 17970 + + 0x1.00000000001p+0, false, false, 17971 + + 0x1.00000000001p+0, false, false, 17972 + + 0x1.00000000001p+0, false, false, 17973 + + true, 17974 + + 0x1.00000000001p+0, false, false, 17975 + + 0x1.00000000001p+0, false, false, 17976 + + 0x1.00000000001p+0, false, false, 17977 + + 0x1.00000000001p+0, false, false, 17978 + + true, 17979 + + 0x1.00000000001p+0, false, false, 17980 + + 0x1.00000000001p+0, false, false, 17981 + + 0x1.00000000001p+0, false, false, 17982 + + 0x1.00000000001p+0, false, false, 17983 + + true, 17984 + + 0x1.00000000001p+0, false, false, 17985 + + 0x1.00000000001p+0, false, false, 17986 + + 0x1.00000000001p+0, false, false, 17987 + + 0x1.00000000001p+0, false, false), 17988 + TEST ("1.000000000000028421709430404007434844970703125", 17989 + false, 17990 + - 0x1p+0, false, 17991 + - 0x1p+0, false, 17992 + - 0x1p+0, false, 17993 + - 0x1.000002p+0, false, 17994 + - true, 17995 + - 0x1.000000000008p+0, false, 17996 + - 0x1.000000000008p+0, false, 17997 + - 0x1.000000000008p+0, false, 17998 + - 0x1.000000000008p+0, false, 17999 + - true, 18000 + - 0x1.000000000008p+0, false, 18001 + - 0x1.000000000008p+0, false, 18002 + - 0x1.000000000008p+0, false, 18003 + - 0x1.000000000008p+0, false, 18004 + - true, 18005 + - 0x1.000000000008p+0, false, 18006 + - 0x1.000000000008p+0, false, 18007 + - 0x1.000000000008p+0, false, 18008 + - 0x1.000000000008p+0, false, 18009 + - true, 18010 + - 0x1.000000000008p+0, false, 18011 + - 0x1.000000000008p+0, false, 18012 + - 0x1.000000000008p+0, false, 18013 + - 0x1.000000000008p+0, false, 18014 + - true, 18015 + - 0x1.000000000008p+0, false, 18016 + - 0x1.000000000008p+0, false, 18017 + - 0x1.000000000008p+0, false, 18018 + - 0x1.000000000008p+0, false), 18019 + + 0x1p+0, false, false, 18020 + + 0x1p+0, false, false, 18021 + + 0x1p+0, false, false, 18022 + + 0x1.000002p+0, false, false, 18023 + + true, 18024 + + 0x1.000000000008p+0, false, false, 18025 + + 0x1.000000000008p+0, false, false, 18026 + + 0x1.000000000008p+0, false, false, 18027 + + 0x1.000000000008p+0, false, false, 18028 + + true, 18029 + + 0x1.000000000008p+0, false, false, 18030 + + 0x1.000000000008p+0, false, false, 18031 + + 0x1.000000000008p+0, false, false, 18032 + + 0x1.000000000008p+0, false, false, 18033 + + true, 18034 + + 0x1.000000000008p+0, false, false, 18035 + + 0x1.000000000008p+0, false, false, 18036 + + 0x1.000000000008p+0, false, false, 18037 + + 0x1.000000000008p+0, false, false, 18038 + + true, 18039 + + 0x1.000000000008p+0, false, false, 18040 + + 0x1.000000000008p+0, false, false, 18041 + + 0x1.000000000008p+0, false, false, 18042 + + 0x1.000000000008p+0, false, false, 18043 + + true, 18044 + + 0x1.000000000008p+0, false, false, 18045 + + 0x1.000000000008p+0, false, false, 18046 + + 0x1.000000000008p+0, false, false, 18047 + + 0x1.000000000008p+0, false, false), 18048 + TEST ("1.0000000000000142108547152020037174224853515625", 18049 + false, 18050 + - 0x1p+0, false, 18051 + - 0x1p+0, false, 18052 + - 0x1p+0, false, 18053 + - 0x1.000002p+0, false, 18054 + - true, 18055 + - 0x1.000000000004p+0, false, 18056 + - 0x1.000000000004p+0, false, 18057 + - 0x1.000000000004p+0, false, 18058 + - 0x1.000000000004p+0, false, 18059 + - true, 18060 + - 0x1.000000000004p+0, false, 18061 + - 0x1.000000000004p+0, false, 18062 + - 0x1.000000000004p+0, false, 18063 + - 0x1.000000000004p+0, false, 18064 + - true, 18065 + - 0x1.000000000004p+0, false, 18066 + - 0x1.000000000004p+0, false, 18067 + - 0x1.000000000004p+0, false, 18068 + - 0x1.000000000004p+0, false, 18069 + - true, 18070 + - 0x1.000000000004p+0, false, 18071 + - 0x1.000000000004p+0, false, 18072 + - 0x1.000000000004p+0, false, 18073 + - 0x1.000000000004p+0, false, 18074 + - true, 18075 + - 0x1.000000000004p+0, false, 18076 + - 0x1.000000000004p+0, false, 18077 + - 0x1.000000000004p+0, false, 18078 + - 0x1.000000000004p+0, false), 18079 + + 0x1p+0, false, false, 18080 + + 0x1p+0, false, false, 18081 + + 0x1p+0, false, false, 18082 + + 0x1.000002p+0, false, false, 18083 + + true, 18084 + + 0x1.000000000004p+0, false, false, 18085 + + 0x1.000000000004p+0, false, false, 18086 + + 0x1.000000000004p+0, false, false, 18087 + + 0x1.000000000004p+0, false, false, 18088 + + true, 18089 + + 0x1.000000000004p+0, false, false, 18090 + + 0x1.000000000004p+0, false, false, 18091 + + 0x1.000000000004p+0, false, false, 18092 + + 0x1.000000000004p+0, false, false, 18093 + + true, 18094 + + 0x1.000000000004p+0, false, false, 18095 + + 0x1.000000000004p+0, false, false, 18096 + + 0x1.000000000004p+0, false, false, 18097 + + 0x1.000000000004p+0, false, false, 18098 + + true, 18099 + + 0x1.000000000004p+0, false, false, 18100 + + 0x1.000000000004p+0, false, false, 18101 + + 0x1.000000000004p+0, false, false, 18102 + + 0x1.000000000004p+0, false, false, 18103 + + true, 18104 + + 0x1.000000000004p+0, false, false, 18105 + + 0x1.000000000004p+0, false, false, 18106 + + 0x1.000000000004p+0, false, false, 18107 + + 0x1.000000000004p+0, false, false), 18108 + TEST ("1.00000000000000710542735760100185871124267578125", 18109 + false, 18110 + - 0x1p+0, false, 18111 + - 0x1p+0, false, 18112 + - 0x1p+0, false, 18113 + - 0x1.000002p+0, false, 18114 + - true, 18115 + - 0x1.000000000002p+0, false, 18116 + - 0x1.000000000002p+0, false, 18117 + - 0x1.000000000002p+0, false, 18118 + - 0x1.000000000002p+0, false, 18119 + - true, 18120 + - 0x1.000000000002p+0, false, 18121 + - 0x1.000000000002p+0, false, 18122 + - 0x1.000000000002p+0, false, 18123 + - 0x1.000000000002p+0, false, 18124 + - true, 18125 + - 0x1.000000000002p+0, false, 18126 + - 0x1.000000000002p+0, false, 18127 + - 0x1.000000000002p+0, false, 18128 + - 0x1.000000000002p+0, false, 18129 + - true, 18130 + - 0x1.000000000002p+0, false, 18131 + - 0x1.000000000002p+0, false, 18132 + - 0x1.000000000002p+0, false, 18133 + - 0x1.000000000002p+0, false, 18134 + - true, 18135 + - 0x1.000000000002p+0, false, 18136 + - 0x1.000000000002p+0, false, 18137 + - 0x1.000000000002p+0, false, 18138 + - 0x1.000000000002p+0, false), 18139 + + 0x1p+0, false, false, 18140 + + 0x1p+0, false, false, 18141 + + 0x1p+0, false, false, 18142 + + 0x1.000002p+0, false, false, 18143 + + true, 18144 + + 0x1.000000000002p+0, false, false, 18145 + + 0x1.000000000002p+0, false, false, 18146 + + 0x1.000000000002p+0, false, false, 18147 + + 0x1.000000000002p+0, false, false, 18148 + + true, 18149 + + 0x1.000000000002p+0, false, false, 18150 + + 0x1.000000000002p+0, false, false, 18151 + + 0x1.000000000002p+0, false, false, 18152 + + 0x1.000000000002p+0, false, false, 18153 + + true, 18154 + + 0x1.000000000002p+0, false, false, 18155 + + 0x1.000000000002p+0, false, false, 18156 + + 0x1.000000000002p+0, false, false, 18157 + + 0x1.000000000002p+0, false, false, 18158 + + true, 18159 + + 0x1.000000000002p+0, false, false, 18160 + + 0x1.000000000002p+0, false, false, 18161 + + 0x1.000000000002p+0, false, false, 18162 + + 0x1.000000000002p+0, false, false, 18163 + + true, 18164 + + 0x1.000000000002p+0, false, false, 18165 + + 0x1.000000000002p+0, false, false, 18166 + + 0x1.000000000002p+0, false, false, 18167 + + 0x1.000000000002p+0, false, false), 18168 + TEST ("1.000000000000003552713678800500929355621337890625", 18169 + false, 18170 + - 0x1p+0, false, 18171 + - 0x1p+0, false, 18172 + - 0x1p+0, false, 18173 + - 0x1.000002p+0, false, 18174 + - true, 18175 + - 0x1.000000000001p+0, false, 18176 + - 0x1.000000000001p+0, false, 18177 + - 0x1.000000000001p+0, false, 18178 + - 0x1.000000000001p+0, false, 18179 + - true, 18180 + - 0x1.000000000001p+0, false, 18181 + - 0x1.000000000001p+0, false, 18182 + - 0x1.000000000001p+0, false, 18183 + - 0x1.000000000001p+0, false, 18184 + - true, 18185 + - 0x1.000000000001p+0, false, 18186 + - 0x1.000000000001p+0, false, 18187 + - 0x1.000000000001p+0, false, 18188 + - 0x1.000000000001p+0, false, 18189 + - true, 18190 + - 0x1.000000000001p+0, false, 18191 + - 0x1.000000000001p+0, false, 18192 + - 0x1.000000000001p+0, false, 18193 + - 0x1.000000000001p+0, false, 18194 + - true, 18195 + - 0x1.000000000001p+0, false, 18196 + - 0x1.000000000001p+0, false, 18197 + - 0x1.000000000001p+0, false, 18198 + - 0x1.000000000001p+0, false), 18199 + + 0x1p+0, false, false, 18200 + + 0x1p+0, false, false, 18201 + + 0x1p+0, false, false, 18202 + + 0x1.000002p+0, false, false, 18203 + + true, 18204 + + 0x1.000000000001p+0, false, false, 18205 + + 0x1.000000000001p+0, false, false, 18206 + + 0x1.000000000001p+0, false, false, 18207 + + 0x1.000000000001p+0, false, false, 18208 + + true, 18209 + + 0x1.000000000001p+0, false, false, 18210 + + 0x1.000000000001p+0, false, false, 18211 + + 0x1.000000000001p+0, false, false, 18212 + + 0x1.000000000001p+0, false, false, 18213 + + true, 18214 + + 0x1.000000000001p+0, false, false, 18215 + + 0x1.000000000001p+0, false, false, 18216 + + 0x1.000000000001p+0, false, false, 18217 + + 0x1.000000000001p+0, false, false, 18218 + + true, 18219 + + 0x1.000000000001p+0, false, false, 18220 + + 0x1.000000000001p+0, false, false, 18221 + + 0x1.000000000001p+0, false, false, 18222 + + 0x1.000000000001p+0, false, false, 18223 + + true, 18224 + + 0x1.000000000001p+0, false, false, 18225 + + 0x1.000000000001p+0, false, false, 18226 + + 0x1.000000000001p+0, false, false, 18227 + + 0x1.000000000001p+0, false, false), 18228 + TEST ("1.0000000000000017763568394002504646778106689453125", 18229 + false, 18230 + - 0x1p+0, false, 18231 + - 0x1p+0, false, 18232 + - 0x1p+0, false, 18233 + - 0x1.000002p+0, false, 18234 + - true, 18235 + - 0x1.0000000000008p+0, false, 18236 + - 0x1.0000000000008p+0, false, 18237 + - 0x1.0000000000008p+0, false, 18238 + - 0x1.0000000000008p+0, false, 18239 + - true, 18240 + - 0x1.0000000000008p+0, false, 18241 + - 0x1.0000000000008p+0, false, 18242 + - 0x1.0000000000008p+0, false, 18243 + - 0x1.0000000000008p+0, false, 18244 + - true, 18245 + - 0x1.0000000000008p+0, false, 18246 + - 0x1.0000000000008p+0, false, 18247 + - 0x1.0000000000008p+0, false, 18248 + - 0x1.0000000000008p+0, false, 18249 + - true, 18250 + - 0x1.0000000000008p+0, false, 18251 + - 0x1.0000000000008p+0, false, 18252 + - 0x1.0000000000008p+0, false, 18253 + - 0x1.0000000000008p+0, false, 18254 + - true, 18255 + - 0x1.0000000000008p+0, false, 18256 + - 0x1.0000000000008p+0, false, 18257 + - 0x1.0000000000008p+0, false, 18258 + - 0x1.0000000000008p+0, false), 18259 + + 0x1p+0, false, false, 18260 + + 0x1p+0, false, false, 18261 + + 0x1p+0, false, false, 18262 + + 0x1.000002p+0, false, false, 18263 + + true, 18264 + + 0x1.0000000000008p+0, false, false, 18265 + + 0x1.0000000000008p+0, false, false, 18266 + + 0x1.0000000000008p+0, false, false, 18267 + + 0x1.0000000000008p+0, false, false, 18268 + + true, 18269 + + 0x1.0000000000008p+0, false, false, 18270 + + 0x1.0000000000008p+0, false, false, 18271 + + 0x1.0000000000008p+0, false, false, 18272 + + 0x1.0000000000008p+0, false, false, 18273 + + true, 18274 + + 0x1.0000000000008p+0, false, false, 18275 + + 0x1.0000000000008p+0, false, false, 18276 + + 0x1.0000000000008p+0, false, false, 18277 + + 0x1.0000000000008p+0, false, false, 18278 + + true, 18279 + + 0x1.0000000000008p+0, false, false, 18280 + + 0x1.0000000000008p+0, false, false, 18281 + + 0x1.0000000000008p+0, false, false, 18282 + + 0x1.0000000000008p+0, false, false, 18283 + + true, 18284 + + 0x1.0000000000008p+0, false, false, 18285 + + 0x1.0000000000008p+0, false, false, 18286 + + 0x1.0000000000008p+0, false, false, 18287 + + 0x1.0000000000008p+0, false, false), 18288 + TEST ("1.00000000000000088817841970012523233890533447265625", 18289 + false, 18290 + - 0x1p+0, false, 18291 + - 0x1p+0, false, 18292 + - 0x1p+0, false, 18293 + - 0x1.000002p+0, false, 18294 + - true, 18295 + - 0x1.0000000000004p+0, false, 18296 + - 0x1.0000000000004p+0, false, 18297 + - 0x1.0000000000004p+0, false, 18298 + - 0x1.0000000000004p+0, false, 18299 + - true, 18300 + - 0x1.0000000000004p+0, false, 18301 + - 0x1.0000000000004p+0, false, 18302 + - 0x1.0000000000004p+0, false, 18303 + - 0x1.0000000000004p+0, false, 18304 + - true, 18305 + - 0x1.0000000000004p+0, false, 18306 + - 0x1.0000000000004p+0, false, 18307 + - 0x1.0000000000004p+0, false, 18308 + - 0x1.0000000000004p+0, false, 18309 + - true, 18310 + - 0x1.0000000000004p+0, false, 18311 + - 0x1.0000000000004p+0, false, 18312 + - 0x1.0000000000004p+0, false, 18313 + - 0x1.0000000000004p+0, false, 18314 + - true, 18315 + - 0x1.0000000000004p+0, false, 18316 + - 0x1.0000000000004p+0, false, 18317 + - 0x1.0000000000004p+0, false, 18318 + - 0x1.0000000000004p+0, false), 18319 + + 0x1p+0, false, false, 18320 + + 0x1p+0, false, false, 18321 + + 0x1p+0, false, false, 18322 + + 0x1.000002p+0, false, false, 18323 + + true, 18324 + + 0x1.0000000000004p+0, false, false, 18325 + + 0x1.0000000000004p+0, false, false, 18326 + + 0x1.0000000000004p+0, false, false, 18327 + + 0x1.0000000000004p+0, false, false, 18328 + + true, 18329 + + 0x1.0000000000004p+0, false, false, 18330 + + 0x1.0000000000004p+0, false, false, 18331 + + 0x1.0000000000004p+0, false, false, 18332 + + 0x1.0000000000004p+0, false, false, 18333 + + true, 18334 + + 0x1.0000000000004p+0, false, false, 18335 + + 0x1.0000000000004p+0, false, false, 18336 + + 0x1.0000000000004p+0, false, false, 18337 + + 0x1.0000000000004p+0, false, false, 18338 + + true, 18339 + + 0x1.0000000000004p+0, false, false, 18340 + + 0x1.0000000000004p+0, false, false, 18341 + + 0x1.0000000000004p+0, false, false, 18342 + + 0x1.0000000000004p+0, false, false, 18343 + + true, 18344 + + 0x1.0000000000004p+0, false, false, 18345 + + 0x1.0000000000004p+0, false, false, 18346 + + 0x1.0000000000004p+0, false, false, 18347 + + 0x1.0000000000004p+0, false, false), 18348 + TEST ("1.000000000000000444089209850062616169452667236328125", 18349 + false, 18350 + - 0x1p+0, false, 18351 + - 0x1p+0, false, 18352 + - 0x1p+0, false, 18353 + - 0x1.000002p+0, false, 18354 + - true, 18355 + - 0x1.0000000000002p+0, false, 18356 + - 0x1.0000000000002p+0, false, 18357 + - 0x1.0000000000002p+0, false, 18358 + - 0x1.0000000000002p+0, false, 18359 + - true, 18360 + - 0x1.0000000000002p+0, false, 18361 + - 0x1.0000000000002p+0, false, 18362 + - 0x1.0000000000002p+0, false, 18363 + - 0x1.0000000000002p+0, false, 18364 + - true, 18365 + - 0x1.0000000000002p+0, false, 18366 + - 0x1.0000000000002p+0, false, 18367 + - 0x1.0000000000002p+0, false, 18368 + - 0x1.0000000000002p+0, false, 18369 + - true, 18370 + - 0x1.0000000000002p+0, false, 18371 + - 0x1.0000000000002p+0, false, 18372 + - 0x1.0000000000002p+0, false, 18373 + - 0x1.0000000000002p+0, false, 18374 + - true, 18375 + - 0x1.0000000000002p+0, false, 18376 + - 0x1.0000000000002p+0, false, 18377 + - 0x1.0000000000002p+0, false, 18378 + - 0x1.0000000000002p+0, false), 18379 + + 0x1p+0, false, false, 18380 + + 0x1p+0, false, false, 18381 + + 0x1p+0, false, false, 18382 + + 0x1.000002p+0, false, false, 18383 + + true, 18384 + + 0x1.0000000000002p+0, false, false, 18385 + + 0x1.0000000000002p+0, false, false, 18386 + + 0x1.0000000000002p+0, false, false, 18387 + + 0x1.0000000000002p+0, false, false, 18388 + + true, 18389 + + 0x1.0000000000002p+0, false, false, 18390 + + 0x1.0000000000002p+0, false, false, 18391 + + 0x1.0000000000002p+0, false, false, 18392 + + 0x1.0000000000002p+0, false, false, 18393 + + true, 18394 + + 0x1.0000000000002p+0, false, false, 18395 + + 0x1.0000000000002p+0, false, false, 18396 + + 0x1.0000000000002p+0, false, false, 18397 + + 0x1.0000000000002p+0, false, false, 18398 + + true, 18399 + + 0x1.0000000000002p+0, false, false, 18400 + + 0x1.0000000000002p+0, false, false, 18401 + + 0x1.0000000000002p+0, false, false, 18402 + + 0x1.0000000000002p+0, false, false, 18403 + + true, 18404 + + 0x1.0000000000002p+0, false, false, 18405 + + 0x1.0000000000002p+0, false, false, 18406 + + 0x1.0000000000002p+0, false, false, 18407 + + 0x1.0000000000002p+0, false, false), 18408 + TEST ("1.0000000000000002220446049250313080847263336181640625", 18409 + false, 18410 + - 0x1p+0, false, 18411 + - 0x1p+0, false, 18412 + - 0x1p+0, false, 18413 + - 0x1.000002p+0, false, 18414 + - true, 18415 + - 0x1.0000000000001p+0, false, 18416 + - 0x1.0000000000001p+0, false, 18417 + - 0x1.0000000000001p+0, false, 18418 + - 0x1.0000000000001p+0, false, 18419 + - true, 18420 + - 0x1.0000000000001p+0, false, 18421 + - 0x1.0000000000001p+0, false, 18422 + - 0x1.0000000000001p+0, false, 18423 + - 0x1.0000000000001p+0, false, 18424 + - true, 18425 + - 0x1.0000000000001p+0, false, 18426 + - 0x1.0000000000001p+0, false, 18427 + - 0x1.0000000000001p+0, false, 18428 + - 0x1.0000000000001p+0, false, 18429 + - true, 18430 + - 0x1.0000000000001p+0, false, 18431 + - 0x1.0000000000001p+0, false, 18432 + - 0x1.0000000000001p+0, false, 18433 + - 0x1.0000000000001p+0, false, 18434 + - true, 18435 + - 0x1.0000000000001p+0, false, 18436 + - 0x1.0000000000001p+0, false, 18437 + - 0x1.0000000000001p+0, false, 18438 + - 0x1.0000000000001p+0, false), 18439 + + 0x1p+0, false, false, 18440 + + 0x1p+0, false, false, 18441 + + 0x1p+0, false, false, 18442 + + 0x1.000002p+0, false, false, 18443 + + true, 18444 + + 0x1.0000000000001p+0, false, false, 18445 + + 0x1.0000000000001p+0, false, false, 18446 + + 0x1.0000000000001p+0, false, false, 18447 + + 0x1.0000000000001p+0, false, false, 18448 + + true, 18449 + + 0x1.0000000000001p+0, false, false, 18450 + + 0x1.0000000000001p+0, false, false, 18451 + + 0x1.0000000000001p+0, false, false, 18452 + + 0x1.0000000000001p+0, false, false, 18453 + + true, 18454 + + 0x1.0000000000001p+0, false, false, 18455 + + 0x1.0000000000001p+0, false, false, 18456 + + 0x1.0000000000001p+0, false, false, 18457 + + 0x1.0000000000001p+0, false, false, 18458 + + true, 18459 + + 0x1.0000000000001p+0, false, false, 18460 + + 0x1.0000000000001p+0, false, false, 18461 + + 0x1.0000000000001p+0, false, false, 18462 + + 0x1.0000000000001p+0, false, false, 18463 + + true, 18464 + + 0x1.0000000000001p+0, false, false, 18465 + + 0x1.0000000000001p+0, false, false, 18466 + + 0x1.0000000000001p+0, false, false, 18467 + + 0x1.0000000000001p+0, false, false), 18468 + TEST ("1.00000000000000011102230246251565404236316680908203125", 18469 + false, 18470 + - 0x1p+0, false, 18471 + - 0x1p+0, false, 18472 + - 0x1p+0, false, 18473 + - 0x1.000002p+0, false, 18474 + - false, 18475 + - 0x1p+0, false, 18476 + - 0x1p+0, false, 18477 + - 0x1p+0, false, 18478 + - 0x1.0000000000001p+0, false, 18479 + - true, 18480 + - 0x1.00000000000008p+0, false, 18481 + - 0x1.00000000000008p+0, false, 18482 + - 0x1.00000000000008p+0, false, 18483 + - 0x1.00000000000008p+0, false, 18484 + - true, 18485 + - 0x1.00000000000008p+0, false, 18486 + - 0x1.00000000000008p+0, false, 18487 + - 0x1.00000000000008p+0, false, 18488 + - 0x1.00000000000008p+0, false, 18489 + - true, 18490 + - 0x1.00000000000008p+0, false, 18491 + - 0x1.00000000000008p+0, false, 18492 + - 0x1.00000000000008p+0, false, 18493 + - 0x1.00000000000008p+0, false, 18494 + - true, 18495 + - 0x1.00000000000008p+0, false, 18496 + - 0x1.00000000000008p+0, false, 18497 + - 0x1.00000000000008p+0, false, 18498 + - 0x1.00000000000008p+0, false), 18499 + + 0x1p+0, false, false, 18500 + + 0x1p+0, false, false, 18501 + + 0x1p+0, false, false, 18502 + + 0x1.000002p+0, false, false, 18503 + + false, 18504 + + 0x1p+0, false, false, 18505 + + 0x1p+0, false, false, 18506 + + 0x1p+0, false, false, 18507 + + 0x1.0000000000001p+0, false, false, 18508 + + true, 18509 + + 0x1.00000000000008p+0, false, false, 18510 + + 0x1.00000000000008p+0, false, false, 18511 + + 0x1.00000000000008p+0, false, false, 18512 + + 0x1.00000000000008p+0, false, false, 18513 + + true, 18514 + + 0x1.00000000000008p+0, false, false, 18515 + + 0x1.00000000000008p+0, false, false, 18516 + + 0x1.00000000000008p+0, false, false, 18517 + + 0x1.00000000000008p+0, false, false, 18518 + + true, 18519 + + 0x1.00000000000008p+0, false, false, 18520 + + 0x1.00000000000008p+0, false, false, 18521 + + 0x1.00000000000008p+0, false, false, 18522 + + 0x1.00000000000008p+0, false, false, 18523 + + true, 18524 + + 0x1.00000000000008p+0, false, false, 18525 + + 0x1.00000000000008p+0, false, false, 18526 + + 0x1.00000000000008p+0, false, false, 18527 + + 0x1.00000000000008p+0, false, false), 18528 + TEST ("1.000000000000000055511151231257827021181583404541015625", 18529 + false, 18530 + - 0x1p+0, false, 18531 + - 0x1p+0, false, 18532 + - 0x1p+0, false, 18533 + - 0x1.000002p+0, false, 18534 + - false, 18535 + - 0x1p+0, false, 18536 + - 0x1p+0, false, 18537 + - 0x1p+0, false, 18538 + - 0x1.0000000000001p+0, false, 18539 + - true, 18540 + - 0x1.00000000000004p+0, false, 18541 + - 0x1.00000000000004p+0, false, 18542 + - 0x1.00000000000004p+0, false, 18543 + - 0x1.00000000000004p+0, false, 18544 + - true, 18545 + - 0x1.00000000000004p+0, false, 18546 + - 0x1.00000000000004p+0, false, 18547 + - 0x1.00000000000004p+0, false, 18548 + - 0x1.00000000000004p+0, false, 18549 + - true, 18550 + - 0x1.00000000000004p+0, false, 18551 + - 0x1.00000000000004p+0, false, 18552 + - 0x1.00000000000004p+0, false, 18553 + - 0x1.00000000000004p+0, false, 18554 + - true, 18555 + - 0x1.00000000000004p+0, false, 18556 + - 0x1.00000000000004p+0, false, 18557 + - 0x1.00000000000004p+0, false, 18558 + - 0x1.00000000000004p+0, false), 18559 + + 0x1p+0, false, false, 18560 + + 0x1p+0, false, false, 18561 + + 0x1p+0, false, false, 18562 + + 0x1.000002p+0, false, false, 18563 + + false, 18564 + + 0x1p+0, false, false, 18565 + + 0x1p+0, false, false, 18566 + + 0x1p+0, false, false, 18567 + + 0x1.0000000000001p+0, false, false, 18568 + + true, 18569 + + 0x1.00000000000004p+0, false, false, 18570 + + 0x1.00000000000004p+0, false, false, 18571 + + 0x1.00000000000004p+0, false, false, 18572 + + 0x1.00000000000004p+0, false, false, 18573 + + true, 18574 + + 0x1.00000000000004p+0, false, false, 18575 + + 0x1.00000000000004p+0, false, false, 18576 + + 0x1.00000000000004p+0, false, false, 18577 + + 0x1.00000000000004p+0, false, false, 18578 + + true, 18579 + + 0x1.00000000000004p+0, false, false, 18580 + + 0x1.00000000000004p+0, false, false, 18581 + + 0x1.00000000000004p+0, false, false, 18582 + + 0x1.00000000000004p+0, false, false, 18583 + + true, 18584 + + 0x1.00000000000004p+0, false, false, 18585 + + 0x1.00000000000004p+0, false, false, 18586 + + 0x1.00000000000004p+0, false, false, 18587 + + 0x1.00000000000004p+0, false, false), 18588 + TEST ("1.0000000000000000277555756156289135105907917022705078125", 18589 + false, 18590 + - 0x1p+0, false, 18591 + - 0x1p+0, false, 18592 + - 0x1p+0, false, 18593 + - 0x1.000002p+0, false, 18594 + - false, 18595 + - 0x1p+0, false, 18596 + - 0x1p+0, false, 18597 + - 0x1p+0, false, 18598 + - 0x1.0000000000001p+0, false, 18599 + - true, 18600 + - 0x1.00000000000002p+0, false, 18601 + - 0x1.00000000000002p+0, false, 18602 + - 0x1.00000000000002p+0, false, 18603 + - 0x1.00000000000002p+0, false, 18604 + - true, 18605 + - 0x1.00000000000002p+0, false, 18606 + - 0x1.00000000000002p+0, false, 18607 + - 0x1.00000000000002p+0, false, 18608 + - 0x1.00000000000002p+0, false, 18609 + - true, 18610 + - 0x1.00000000000002p+0, false, 18611 + - 0x1.00000000000002p+0, false, 18612 + - 0x1.00000000000002p+0, false, 18613 + - 0x1.00000000000002p+0, false, 18614 + - true, 18615 + - 0x1.00000000000002p+0, false, 18616 + - 0x1.00000000000002p+0, false, 18617 + - 0x1.00000000000002p+0, false, 18618 + - 0x1.00000000000002p+0, false), 18619 + + 0x1p+0, false, false, 18620 + + 0x1p+0, false, false, 18621 + + 0x1p+0, false, false, 18622 + + 0x1.000002p+0, false, false, 18623 + + false, 18624 + + 0x1p+0, false, false, 18625 + + 0x1p+0, false, false, 18626 + + 0x1p+0, false, false, 18627 + + 0x1.0000000000001p+0, false, false, 18628 + + true, 18629 + + 0x1.00000000000002p+0, false, false, 18630 + + 0x1.00000000000002p+0, false, false, 18631 + + 0x1.00000000000002p+0, false, false, 18632 + + 0x1.00000000000002p+0, false, false, 18633 + + true, 18634 + + 0x1.00000000000002p+0, false, false, 18635 + + 0x1.00000000000002p+0, false, false, 18636 + + 0x1.00000000000002p+0, false, false, 18637 + + 0x1.00000000000002p+0, false, false, 18638 + + true, 18639 + + 0x1.00000000000002p+0, false, false, 18640 + + 0x1.00000000000002p+0, false, false, 18641 + + 0x1.00000000000002p+0, false, false, 18642 + + 0x1.00000000000002p+0, false, false, 18643 + + true, 18644 + + 0x1.00000000000002p+0, false, false, 18645 + + 0x1.00000000000002p+0, false, false, 18646 + + 0x1.00000000000002p+0, false, false, 18647 + + 0x1.00000000000002p+0, false, false), 18648 + TEST ("1.00000000000000001387778780781445675529539585113525390625", 18649 + false, 18650 + - 0x1p+0, false, 18651 + - 0x1p+0, false, 18652 + - 0x1p+0, false, 18653 + - 0x1.000002p+0, false, 18654 + - false, 18655 + - 0x1p+0, false, 18656 + - 0x1p+0, false, 18657 + - 0x1p+0, false, 18658 + - 0x1.0000000000001p+0, false, 18659 + - true, 18660 + - 0x1.00000000000001p+0, false, 18661 + - 0x1.00000000000001p+0, false, 18662 + - 0x1.00000000000001p+0, false, 18663 + - 0x1.00000000000001p+0, false, 18664 + - true, 18665 + - 0x1.00000000000001p+0, false, 18666 + - 0x1.00000000000001p+0, false, 18667 + - 0x1.00000000000001p+0, false, 18668 + - 0x1.00000000000001p+0, false, 18669 + - true, 18670 + - 0x1.00000000000001p+0, false, 18671 + - 0x1.00000000000001p+0, false, 18672 + - 0x1.00000000000001p+0, false, 18673 + - 0x1.00000000000001p+0, false, 18674 + - true, 18675 + - 0x1.00000000000001p+0, false, 18676 + - 0x1.00000000000001p+0, false, 18677 + - 0x1.00000000000001p+0, false, 18678 + - 0x1.00000000000001p+0, false), 18679 + + 0x1p+0, false, false, 18680 + + 0x1p+0, false, false, 18681 + + 0x1p+0, false, false, 18682 + + 0x1.000002p+0, false, false, 18683 + + false, 18684 + + 0x1p+0, false, false, 18685 + + 0x1p+0, false, false, 18686 + + 0x1p+0, false, false, 18687 + + 0x1.0000000000001p+0, false, false, 18688 + + true, 18689 + + 0x1.00000000000001p+0, false, false, 18690 + + 0x1.00000000000001p+0, false, false, 18691 + + 0x1.00000000000001p+0, false, false, 18692 + + 0x1.00000000000001p+0, false, false, 18693 + + true, 18694 + + 0x1.00000000000001p+0, false, false, 18695 + + 0x1.00000000000001p+0, false, false, 18696 + + 0x1.00000000000001p+0, false, false, 18697 + + 0x1.00000000000001p+0, false, false, 18698 + + true, 18699 + + 0x1.00000000000001p+0, false, false, 18700 + + 0x1.00000000000001p+0, false, false, 18701 + + 0x1.00000000000001p+0, false, false, 18702 + + 0x1.00000000000001p+0, false, false, 18703 + + true, 18704 + + 0x1.00000000000001p+0, false, false, 18705 + + 0x1.00000000000001p+0, false, false, 18706 + + 0x1.00000000000001p+0, false, false, 18707 + + 0x1.00000000000001p+0, false, false), 18708 + TEST ("1.000000000000000006938893903907228377647697925567626953125", 18709 + false, 18710 + - 0x1p+0, false, 18711 + - 0x1p+0, false, 18712 + - 0x1p+0, false, 18713 + - 0x1.000002p+0, false, 18714 + - false, 18715 + - 0x1p+0, false, 18716 + - 0x1p+0, false, 18717 + - 0x1p+0, false, 18718 + - 0x1.0000000000001p+0, false, 18719 + - true, 18720 + - 0x1.000000000000008p+0, false, 18721 + - 0x1.000000000000008p+0, false, 18722 + - 0x1.000000000000008p+0, false, 18723 + - 0x1.000000000000008p+0, false, 18724 + - true, 18725 + - 0x1.000000000000008p+0, false, 18726 + - 0x1.000000000000008p+0, false, 18727 + - 0x1.000000000000008p+0, false, 18728 + - 0x1.000000000000008p+0, false, 18729 + - true, 18730 + - 0x1.000000000000008p+0, false, 18731 + - 0x1.000000000000008p+0, false, 18732 + - 0x1.000000000000008p+0, false, 18733 + - 0x1.000000000000008p+0, false, 18734 + - true, 18735 + - 0x1.000000000000008p+0, false, 18736 + - 0x1.000000000000008p+0, false, 18737 + - 0x1.000000000000008p+0, false, 18738 + - 0x1.000000000000008p+0, false), 18739 + + 0x1p+0, false, false, 18740 + + 0x1p+0, false, false, 18741 + + 0x1p+0, false, false, 18742 + + 0x1.000002p+0, false, false, 18743 + + false, 18744 + + 0x1p+0, false, false, 18745 + + 0x1p+0, false, false, 18746 + + 0x1p+0, false, false, 18747 + + 0x1.0000000000001p+0, false, false, 18748 + + true, 18749 + + 0x1.000000000000008p+0, false, false, 18750 + + 0x1.000000000000008p+0, false, false, 18751 + + 0x1.000000000000008p+0, false, false, 18752 + + 0x1.000000000000008p+0, false, false, 18753 + + true, 18754 + + 0x1.000000000000008p+0, false, false, 18755 + + 0x1.000000000000008p+0, false, false, 18756 + + 0x1.000000000000008p+0, false, false, 18757 + + 0x1.000000000000008p+0, false, false, 18758 + + true, 18759 + + 0x1.000000000000008p+0, false, false, 18760 + + 0x1.000000000000008p+0, false, false, 18761 + + 0x1.000000000000008p+0, false, false, 18762 + + 0x1.000000000000008p+0, false, false, 18763 + + true, 18764 + + 0x1.000000000000008p+0, false, false, 18765 + + 0x1.000000000000008p+0, false, false, 18766 + + 0x1.000000000000008p+0, false, false, 18767 + + 0x1.000000000000008p+0, false, false), 18768 + TEST ("1.0000000000000000034694469519536141888238489627838134765625", 18769 + false, 18770 + - 0x1p+0, false, 18771 + - 0x1p+0, false, 18772 + - 0x1p+0, false, 18773 + - 0x1.000002p+0, false, 18774 + - false, 18775 + - 0x1p+0, false, 18776 + - 0x1p+0, false, 18777 + - 0x1p+0, false, 18778 + - 0x1.0000000000001p+0, false, 18779 + - true, 18780 + - 0x1.000000000000004p+0, false, 18781 + - 0x1.000000000000004p+0, false, 18782 + - 0x1.000000000000004p+0, false, 18783 + - 0x1.000000000000004p+0, false, 18784 + - true, 18785 + - 0x1.000000000000004p+0, false, 18786 + - 0x1.000000000000004p+0, false, 18787 + - 0x1.000000000000004p+0, false, 18788 + - 0x1.000000000000004p+0, false, 18789 + - true, 18790 + - 0x1.000000000000004p+0, false, 18791 + - 0x1.000000000000004p+0, false, 18792 + - 0x1.000000000000004p+0, false, 18793 + - 0x1.000000000000004p+0, false, 18794 + - true, 18795 + - 0x1.000000000000004p+0, false, 18796 + - 0x1.000000000000004p+0, false, 18797 + - 0x1.000000000000004p+0, false, 18798 + - 0x1.000000000000004p+0, false), 18799 + + 0x1p+0, false, false, 18800 + + 0x1p+0, false, false, 18801 + + 0x1p+0, false, false, 18802 + + 0x1.000002p+0, false, false, 18803 + + false, 18804 + + 0x1p+0, false, false, 18805 + + 0x1p+0, false, false, 18806 + + 0x1p+0, false, false, 18807 + + 0x1.0000000000001p+0, false, false, 18808 + + true, 18809 + + 0x1.000000000000004p+0, false, false, 18810 + + 0x1.000000000000004p+0, false, false, 18811 + + 0x1.000000000000004p+0, false, false, 18812 + + 0x1.000000000000004p+0, false, false, 18813 + + true, 18814 + + 0x1.000000000000004p+0, false, false, 18815 + + 0x1.000000000000004p+0, false, false, 18816 + + 0x1.000000000000004p+0, false, false, 18817 + + 0x1.000000000000004p+0, false, false, 18818 + + true, 18819 + + 0x1.000000000000004p+0, false, false, 18820 + + 0x1.000000000000004p+0, false, false, 18821 + + 0x1.000000000000004p+0, false, false, 18822 + + 0x1.000000000000004p+0, false, false, 18823 + + true, 18824 + + 0x1.000000000000004p+0, false, false, 18825 + + 0x1.000000000000004p+0, false, false, 18826 + + 0x1.000000000000004p+0, false, false, 18827 + + 0x1.000000000000004p+0, false, false), 18828 + TEST ("1.0000000000000000017347234759768070944119244813919067382812" 18829 + "5", 18830 + false, 18831 + - 0x1p+0, false, 18832 + - 0x1p+0, false, 18833 + - 0x1p+0, false, 18834 + - 0x1.000002p+0, false, 18835 + - false, 18836 + - 0x1p+0, false, 18837 + - 0x1p+0, false, 18838 + - 0x1p+0, false, 18839 + - 0x1.0000000000001p+0, false, 18840 + - true, 18841 + - 0x1.000000000000002p+0, false, 18842 + - 0x1.000000000000002p+0, false, 18843 + - 0x1.000000000000002p+0, false, 18844 + - 0x1.000000000000002p+0, false, 18845 + - true, 18846 + - 0x1.000000000000002p+0, false, 18847 + - 0x1.000000000000002p+0, false, 18848 + - 0x1.000000000000002p+0, false, 18849 + - 0x1.000000000000002p+0, false, 18850 + - true, 18851 + - 0x1.000000000000002p+0, false, 18852 + - 0x1.000000000000002p+0, false, 18853 + - 0x1.000000000000002p+0, false, 18854 + - 0x1.000000000000002p+0, false, 18855 + - true, 18856 + - 0x1.000000000000002p+0, false, 18857 + - 0x1.000000000000002p+0, false, 18858 + - 0x1.000000000000002p+0, false, 18859 + - 0x1.000000000000002p+0, false), 18860 + + 0x1p+0, false, false, 18861 + + 0x1p+0, false, false, 18862 + + 0x1p+0, false, false, 18863 + + 0x1.000002p+0, false, false, 18864 + + false, 18865 + + 0x1p+0, false, false, 18866 + + 0x1p+0, false, false, 18867 + + 0x1p+0, false, false, 18868 + + 0x1.0000000000001p+0, false, false, 18869 + + true, 18870 + + 0x1.000000000000002p+0, false, false, 18871 + + 0x1.000000000000002p+0, false, false, 18872 + + 0x1.000000000000002p+0, false, false, 18873 + + 0x1.000000000000002p+0, false, false, 18874 + + true, 18875 + + 0x1.000000000000002p+0, false, false, 18876 + + 0x1.000000000000002p+0, false, false, 18877 + + 0x1.000000000000002p+0, false, false, 18878 + + 0x1.000000000000002p+0, false, false, 18879 + + true, 18880 + + 0x1.000000000000002p+0, false, false, 18881 + + 0x1.000000000000002p+0, false, false, 18882 + + 0x1.000000000000002p+0, false, false, 18883 + + 0x1.000000000000002p+0, false, false, 18884 + + true, 18885 + + 0x1.000000000000002p+0, false, false, 18886 + + 0x1.000000000000002p+0, false, false, 18887 + + 0x1.000000000000002p+0, false, false, 18888 + + 0x1.000000000000002p+0, false, false), 18889 + TEST ("1.0000000000000000008673617379884035472059622406959533691406" 18890 + "25", 18891 + false, 18892 + - 0x1p+0, false, 18893 + - 0x1p+0, false, 18894 + - 0x1p+0, false, 18895 + - 0x1.000002p+0, false, 18896 + - false, 18897 + - 0x1p+0, false, 18898 + - 0x1p+0, false, 18899 + - 0x1p+0, false, 18900 + - 0x1.0000000000001p+0, false, 18901 + - true, 18902 + - 0x1.000000000000001p+0, false, 18903 + - 0x1.000000000000001p+0, false, 18904 + - 0x1.000000000000001p+0, false, 18905 + - 0x1.000000000000001p+0, false, 18906 + - true, 18907 + - 0x1.000000000000001p+0, false, 18908 + - 0x1.000000000000001p+0, false, 18909 + - 0x1.000000000000001p+0, false, 18910 + - 0x1.000000000000001p+0, false, 18911 + - true, 18912 + - 0x1.000000000000001p+0, false, 18913 + - 0x1.000000000000001p+0, false, 18914 + - 0x1.000000000000001p+0, false, 18915 + - 0x1.000000000000001p+0, false, 18916 + - true, 18917 + - 0x1.000000000000001p+0, false, 18918 + - 0x1.000000000000001p+0, false, 18919 + - 0x1.000000000000001p+0, false, 18920 + - 0x1.000000000000001p+0, false), 18921 + + 0x1p+0, false, false, 18922 + + 0x1p+0, false, false, 18923 + + 0x1p+0, false, false, 18924 + + 0x1.000002p+0, false, false, 18925 + + false, 18926 + + 0x1p+0, false, false, 18927 + + 0x1p+0, false, false, 18928 + + 0x1p+0, false, false, 18929 + + 0x1.0000000000001p+0, false, false, 18930 + + true, 18931 + + 0x1.000000000000001p+0, false, false, 18932 + + 0x1.000000000000001p+0, false, false, 18933 + + 0x1.000000000000001p+0, false, false, 18934 + + 0x1.000000000000001p+0, false, false, 18935 + + true, 18936 + + 0x1.000000000000001p+0, false, false, 18937 + + 0x1.000000000000001p+0, false, false, 18938 + + 0x1.000000000000001p+0, false, false, 18939 + + 0x1.000000000000001p+0, false, false, 18940 + + true, 18941 + + 0x1.000000000000001p+0, false, false, 18942 + + 0x1.000000000000001p+0, false, false, 18943 + + 0x1.000000000000001p+0, false, false, 18944 + + 0x1.000000000000001p+0, false, false, 18945 + + true, 18946 + + 0x1.000000000000001p+0, false, false, 18947 + + 0x1.000000000000001p+0, false, false, 18948 + + 0x1.000000000000001p+0, false, false, 18949 + + 0x1.000000000000001p+0, false, false), 18950 + TEST ("1.0000000000000000004336808689942017736029811203479766845703" 18951 + "125", 18952 + false, 18953 + - 0x1p+0, false, 18954 + - 0x1p+0, false, 18955 + - 0x1p+0, false, 18956 + - 0x1.000002p+0, false, 18957 + - false, 18958 + - 0x1p+0, false, 18959 + - 0x1p+0, false, 18960 + - 0x1p+0, false, 18961 + - 0x1.0000000000001p+0, false, 18962 + - true, 18963 + - 0x1.0000000000000008p+0, false, 18964 + - 0x1.0000000000000008p+0, false, 18965 + - 0x1.0000000000000008p+0, false, 18966 + - 0x1.0000000000000008p+0, false, 18967 + - true, 18968 + - 0x1.0000000000000008p+0, false, 18969 + - 0x1.0000000000000008p+0, false, 18970 + - 0x1.0000000000000008p+0, false, 18971 + - 0x1.0000000000000008p+0, false, 18972 + - true, 18973 + - 0x1.0000000000000008p+0, false, 18974 + - 0x1.0000000000000008p+0, false, 18975 + - 0x1.0000000000000008p+0, false, 18976 + - 0x1.0000000000000008p+0, false, 18977 + - true, 18978 + - 0x1.0000000000000008p+0, false, 18979 + - 0x1.0000000000000008p+0, false, 18980 + - 0x1.0000000000000008p+0, false, 18981 + - 0x1.0000000000000008p+0, false), 18982 + + 0x1p+0, false, false, 18983 + + 0x1p+0, false, false, 18984 + + 0x1p+0, false, false, 18985 + + 0x1.000002p+0, false, false, 18986 + + false, 18987 + + 0x1p+0, false, false, 18988 + + 0x1p+0, false, false, 18989 + + 0x1p+0, false, false, 18990 + + 0x1.0000000000001p+0, false, false, 18991 + + true, 18992 + + 0x1.0000000000000008p+0, false, false, 18993 + + 0x1.0000000000000008p+0, false, false, 18994 + + 0x1.0000000000000008p+0, false, false, 18995 + + 0x1.0000000000000008p+0, false, false, 18996 + + true, 18997 + + 0x1.0000000000000008p+0, false, false, 18998 + + 0x1.0000000000000008p+0, false, false, 18999 + + 0x1.0000000000000008p+0, false, false, 19000 + + 0x1.0000000000000008p+0, false, false, 19001 + + true, 19002 + + 0x1.0000000000000008p+0, false, false, 19003 + + 0x1.0000000000000008p+0, false, false, 19004 + + 0x1.0000000000000008p+0, false, false, 19005 + + 0x1.0000000000000008p+0, false, false, 19006 + + true, 19007 + + 0x1.0000000000000008p+0, false, false, 19008 + + 0x1.0000000000000008p+0, false, false, 19009 + + 0x1.0000000000000008p+0, false, false, 19010 + + 0x1.0000000000000008p+0, false, false), 19011 + TEST ("1.0000000000000000002168404344971008868014905601739883422851" 19012 + "5625", 19013 + false, 19014 + - 0x1p+0, false, 19015 + - 0x1p+0, false, 19016 + - 0x1p+0, false, 19017 + - 0x1.000002p+0, false, 19018 + - false, 19019 + - 0x1p+0, false, 19020 + - 0x1p+0, false, 19021 + - 0x1p+0, false, 19022 + - 0x1.0000000000001p+0, false, 19023 + - true, 19024 + - 0x1.0000000000000004p+0, false, 19025 + - 0x1.0000000000000004p+0, false, 19026 + - 0x1.0000000000000004p+0, false, 19027 + - 0x1.0000000000000004p+0, false, 19028 + - true, 19029 + - 0x1.0000000000000004p+0, false, 19030 + - 0x1.0000000000000004p+0, false, 19031 + - 0x1.0000000000000004p+0, false, 19032 + - 0x1.0000000000000004p+0, false, 19033 + - true, 19034 + - 0x1.0000000000000004p+0, false, 19035 + - 0x1.0000000000000004p+0, false, 19036 + - 0x1.0000000000000004p+0, false, 19037 + - 0x1.0000000000000004p+0, false, 19038 + - true, 19039 + - 0x1.0000000000000004p+0, false, 19040 + - 0x1.0000000000000004p+0, false, 19041 + - 0x1.0000000000000004p+0, false, 19042 + - 0x1.0000000000000004p+0, false), 19043 + + 0x1p+0, false, false, 19044 + + 0x1p+0, false, false, 19045 + + 0x1p+0, false, false, 19046 + + 0x1.000002p+0, false, false, 19047 + + false, 19048 + + 0x1p+0, false, false, 19049 + + 0x1p+0, false, false, 19050 + + 0x1p+0, false, false, 19051 + + 0x1.0000000000001p+0, false, false, 19052 + + true, 19053 + + 0x1.0000000000000004p+0, false, false, 19054 + + 0x1.0000000000000004p+0, false, false, 19055 + + 0x1.0000000000000004p+0, false, false, 19056 + + 0x1.0000000000000004p+0, false, false, 19057 + + true, 19058 + + 0x1.0000000000000004p+0, false, false, 19059 + + 0x1.0000000000000004p+0, false, false, 19060 + + 0x1.0000000000000004p+0, false, false, 19061 + + 0x1.0000000000000004p+0, false, false, 19062 + + true, 19063 + + 0x1.0000000000000004p+0, false, false, 19064 + + 0x1.0000000000000004p+0, false, false, 19065 + + 0x1.0000000000000004p+0, false, false, 19066 + + 0x1.0000000000000004p+0, false, false, 19067 + + true, 19068 + + 0x1.0000000000000004p+0, false, false, 19069 + + 0x1.0000000000000004p+0, false, false, 19070 + + 0x1.0000000000000004p+0, false, false, 19071 + + 0x1.0000000000000004p+0, false, false), 19072 + TEST ("1.0000000000000000001084202172485504434007452800869941711425" 19073 + "78125", 19074 + false, 19075 + - 0x1p+0, false, 19076 + - 0x1p+0, false, 19077 + - 0x1p+0, false, 19078 + - 0x1.000002p+0, false, 19079 + - false, 19080 + - 0x1p+0, false, 19081 + - 0x1p+0, false, 19082 + - 0x1p+0, false, 19083 + - 0x1.0000000000001p+0, false, 19084 + - true, 19085 + - 0x1.0000000000000002p+0, false, 19086 + - 0x1.0000000000000002p+0, false, 19087 + - 0x1.0000000000000002p+0, false, 19088 + - 0x1.0000000000000002p+0, false, 19089 + - true, 19090 + - 0x1.0000000000000002p+0, false, 19091 + - 0x1.0000000000000002p+0, false, 19092 + - 0x1.0000000000000002p+0, false, 19093 + - 0x1.0000000000000002p+0, false, 19094 + - true, 19095 + - 0x1.0000000000000002p+0, false, 19096 + - 0x1.0000000000000002p+0, false, 19097 + - 0x1.0000000000000002p+0, false, 19098 + - 0x1.0000000000000002p+0, false, 19099 + - true, 19100 + - 0x1.0000000000000002p+0, false, 19101 + - 0x1.0000000000000002p+0, false, 19102 + - 0x1.0000000000000002p+0, false, 19103 + - 0x1.0000000000000002p+0, false), 19104 + + 0x1p+0, false, false, 19105 + + 0x1p+0, false, false, 19106 + + 0x1p+0, false, false, 19107 + + 0x1.000002p+0, false, false, 19108 + + false, 19109 + + 0x1p+0, false, false, 19110 + + 0x1p+0, false, false, 19111 + + 0x1p+0, false, false, 19112 + + 0x1.0000000000001p+0, false, false, 19113 + + true, 19114 + + 0x1.0000000000000002p+0, false, false, 19115 + + 0x1.0000000000000002p+0, false, false, 19116 + + 0x1.0000000000000002p+0, false, false, 19117 + + 0x1.0000000000000002p+0, false, false, 19118 + + true, 19119 + + 0x1.0000000000000002p+0, false, false, 19120 + + 0x1.0000000000000002p+0, false, false, 19121 + + 0x1.0000000000000002p+0, false, false, 19122 + + 0x1.0000000000000002p+0, false, false, 19123 + + true, 19124 + + 0x1.0000000000000002p+0, false, false, 19125 + + 0x1.0000000000000002p+0, false, false, 19126 + + 0x1.0000000000000002p+0, false, false, 19127 + + 0x1.0000000000000002p+0, false, false, 19128 + + true, 19129 + + 0x1.0000000000000002p+0, false, false, 19130 + + 0x1.0000000000000002p+0, false, false, 19131 + + 0x1.0000000000000002p+0, false, false, 19132 + + 0x1.0000000000000002p+0, false, false), 19133 + TEST ("1.0000000000000000000542101086242752217003726400434970855712" 19134 + "890625", 19135 + false, 19136 + - 0x1p+0, false, 19137 + - 0x1p+0, false, 19138 + - 0x1p+0, false, 19139 + - 0x1.000002p+0, false, 19140 + - false, 19141 + - 0x1p+0, false, 19142 + - 0x1p+0, false, 19143 + - 0x1p+0, false, 19144 + - 0x1.0000000000001p+0, false, 19145 + - false, 19146 + - 0x1p+0, false, 19147 + - 0x1p+0, false, 19148 + - 0x1p+0, false, 19149 + - 0x1.0000000000000002p+0, false, 19150 + - false, 19151 + - 0x1p+0, false, 19152 + - 0x1p+0, false, 19153 + - 0x1p+0, false, 19154 + - 0x1.0000000000000002p+0, false, 19155 + - true, 19156 + - 0x1.0000000000000001p+0, false, 19157 + - 0x1.0000000000000001p+0, false, 19158 + - 0x1.0000000000000001p+0, false, 19159 + - 0x1.0000000000000001p+0, false, 19160 + - true, 19161 + - 0x1.0000000000000001p+0, false, 19162 + - 0x1.0000000000000001p+0, false, 19163 + - 0x1.0000000000000001p+0, false, 19164 + - 0x1.0000000000000001p+0, false), 19165 + + 0x1p+0, false, false, 19166 + + 0x1p+0, false, false, 19167 + + 0x1p+0, false, false, 19168 + + 0x1.000002p+0, false, false, 19169 + + false, 19170 + + 0x1p+0, false, false, 19171 + + 0x1p+0, false, false, 19172 + + 0x1p+0, false, false, 19173 + + 0x1.0000000000001p+0, false, false, 19174 + + false, 19175 + + 0x1p+0, false, false, 19176 + + 0x1p+0, false, false, 19177 + + 0x1p+0, false, false, 19178 + + 0x1.0000000000000002p+0, false, false, 19179 + + false, 19180 + + 0x1p+0, false, false, 19181 + + 0x1p+0, false, false, 19182 + + 0x1p+0, false, false, 19183 + + 0x1.0000000000000002p+0, false, false, 19184 + + true, 19185 + + 0x1.0000000000000001p+0, false, false, 19186 + + 0x1.0000000000000001p+0, false, false, 19187 + + 0x1.0000000000000001p+0, false, false, 19188 + + 0x1.0000000000000001p+0, false, false, 19189 + + true, 19190 + + 0x1.0000000000000001p+0, false, false, 19191 + + 0x1.0000000000000001p+0, false, false, 19192 + + 0x1.0000000000000001p+0, false, false, 19193 + + 0x1.0000000000000001p+0, false, false), 19194 + TEST ("1.0000000000000000000271050543121376108501863200217485427856" 19195 + "4453125", 19196 + false, 19197 + - 0x1p+0, false, 19198 + - 0x1p+0, false, 19199 + - 0x1p+0, false, 19200 + - 0x1.000002p+0, false, 19201 + - false, 19202 + - 0x1p+0, false, 19203 + - 0x1p+0, false, 19204 + - 0x1p+0, false, 19205 + - 0x1.0000000000001p+0, false, 19206 + - false, 19207 + - 0x1p+0, false, 19208 + - 0x1p+0, false, 19209 + - 0x1p+0, false, 19210 + - 0x1.0000000000000002p+0, false, 19211 + - false, 19212 + - 0x1p+0, false, 19213 + - 0x1p+0, false, 19214 + - 0x1p+0, false, 19215 + - 0x1.0000000000000002p+0, false, 19216 + - true, 19217 + - 0x1.00000000000000008p+0, false, 19218 + - 0x1.00000000000000008p+0, false, 19219 + - 0x1.00000000000000008p+0, false, 19220 + - 0x1.00000000000000008p+0, false, 19221 + - true, 19222 + - 0x1.00000000000000008p+0, false, 19223 + - 0x1.00000000000000008p+0, false, 19224 + - 0x1.00000000000000008p+0, false, 19225 + - 0x1.00000000000000008p+0, false), 19226 + + 0x1p+0, false, false, 19227 + + 0x1p+0, false, false, 19228 + + 0x1p+0, false, false, 19229 + + 0x1.000002p+0, false, false, 19230 + + false, 19231 + + 0x1p+0, false, false, 19232 + + 0x1p+0, false, false, 19233 + + 0x1p+0, false, false, 19234 + + 0x1.0000000000001p+0, false, false, 19235 + + false, 19236 + + 0x1p+0, false, false, 19237 + + 0x1p+0, false, false, 19238 + + 0x1p+0, false, false, 19239 + + 0x1.0000000000000002p+0, false, false, 19240 + + false, 19241 + + 0x1p+0, false, false, 19242 + + 0x1p+0, false, false, 19243 + + 0x1p+0, false, false, 19244 + + 0x1.0000000000000002p+0, false, false, 19245 + + true, 19246 + + 0x1.00000000000000008p+0, false, false, 19247 + + 0x1.00000000000000008p+0, false, false, 19248 + + 0x1.00000000000000008p+0, false, false, 19249 + + 0x1.00000000000000008p+0, false, false, 19250 + + true, 19251 + + 0x1.00000000000000008p+0, false, false, 19252 + + 0x1.00000000000000008p+0, false, false, 19253 + + 0x1.00000000000000008p+0, false, false, 19254 + + 0x1.00000000000000008p+0, false, false), 19255 + TEST ("1.0000000000000000000135525271560688054250931600108742713928" 19256 + "22265625", 19257 + false, 19258 + - 0x1p+0, false, 19259 + - 0x1p+0, false, 19260 + - 0x1p+0, false, 19261 + - 0x1.000002p+0, false, 19262 + - false, 19263 + - 0x1p+0, false, 19264 + - 0x1p+0, false, 19265 + - 0x1p+0, false, 19266 + - 0x1.0000000000001p+0, false, 19267 + - false, 19268 + - 0x1p+0, false, 19269 + - 0x1p+0, false, 19270 + - 0x1p+0, false, 19271 + - 0x1.0000000000000002p+0, false, 19272 + - false, 19273 + - 0x1p+0, false, 19274 + - 0x1p+0, false, 19275 + - 0x1p+0, false, 19276 + - 0x1.0000000000000002p+0, false, 19277 + - true, 19278 + - 0x1.00000000000000004p+0, false, 19279 + - 0x1.00000000000000004p+0, false, 19280 + - 0x1.00000000000000004p+0, false, 19281 + - 0x1.00000000000000004p+0, false, 19282 + - true, 19283 + - 0x1.00000000000000004p+0, false, 19284 + - 0x1.00000000000000004p+0, false, 19285 + - 0x1.00000000000000004p+0, false, 19286 + - 0x1.00000000000000004p+0, false), 19287 + + 0x1p+0, false, false, 19288 + + 0x1p+0, false, false, 19289 + + 0x1p+0, false, false, 19290 + + 0x1.000002p+0, false, false, 19291 + + false, 19292 + + 0x1p+0, false, false, 19293 + + 0x1p+0, false, false, 19294 + + 0x1p+0, false, false, 19295 + + 0x1.0000000000001p+0, false, false, 19296 + + false, 19297 + + 0x1p+0, false, false, 19298 + + 0x1p+0, false, false, 19299 + + 0x1p+0, false, false, 19300 + + 0x1.0000000000000002p+0, false, false, 19301 + + false, 19302 + + 0x1p+0, false, false, 19303 + + 0x1p+0, false, false, 19304 + + 0x1p+0, false, false, 19305 + + 0x1.0000000000000002p+0, false, false, 19306 + + true, 19307 + + 0x1.00000000000000004p+0, false, false, 19308 + + 0x1.00000000000000004p+0, false, false, 19309 + + 0x1.00000000000000004p+0, false, false, 19310 + + 0x1.00000000000000004p+0, false, false, 19311 + + true, 19312 + + 0x1.00000000000000004p+0, false, false, 19313 + + 0x1.00000000000000004p+0, false, false, 19314 + + 0x1.00000000000000004p+0, false, false, 19315 + + 0x1.00000000000000004p+0, false, false), 19316 + TEST ("1.0000000000000000000067762635780344027125465800054371356964" 19317 + "111328125", 19318 + false, 19319 + - 0x1p+0, false, 19320 + - 0x1p+0, false, 19321 + - 0x1p+0, false, 19322 + - 0x1.000002p+0, false, 19323 + - false, 19324 + - 0x1p+0, false, 19325 + - 0x1p+0, false, 19326 + - 0x1p+0, false, 19327 + - 0x1.0000000000001p+0, false, 19328 + - false, 19329 + - 0x1p+0, false, 19330 + - 0x1p+0, false, 19331 + - 0x1p+0, false, 19332 + - 0x1.0000000000000002p+0, false, 19333 + - false, 19334 + - 0x1p+0, false, 19335 + - 0x1p+0, false, 19336 + - 0x1p+0, false, 19337 + - 0x1.0000000000000002p+0, false, 19338 + - true, 19339 + - 0x1.00000000000000002p+0, false, 19340 + - 0x1.00000000000000002p+0, false, 19341 + - 0x1.00000000000000002p+0, false, 19342 + - 0x1.00000000000000002p+0, false, 19343 + - true, 19344 + - 0x1.00000000000000002p+0, false, 19345 + - 0x1.00000000000000002p+0, false, 19346 + - 0x1.00000000000000002p+0, false, 19347 + - 0x1.00000000000000002p+0, false), 19348 + + 0x1p+0, false, false, 19349 + + 0x1p+0, false, false, 19350 + + 0x1p+0, false, false, 19351 + + 0x1.000002p+0, false, false, 19352 + + false, 19353 + + 0x1p+0, false, false, 19354 + + 0x1p+0, false, false, 19355 + + 0x1p+0, false, false, 19356 + + 0x1.0000000000001p+0, false, false, 19357 + + false, 19358 + + 0x1p+0, false, false, 19359 + + 0x1p+0, false, false, 19360 + + 0x1p+0, false, false, 19361 + + 0x1.0000000000000002p+0, false, false, 19362 + + false, 19363 + + 0x1p+0, false, false, 19364 + + 0x1p+0, false, false, 19365 + + 0x1p+0, false, false, 19366 + + 0x1.0000000000000002p+0, false, false, 19367 + + true, 19368 + + 0x1.00000000000000002p+0, false, false, 19369 + + 0x1.00000000000000002p+0, false, false, 19370 + + 0x1.00000000000000002p+0, false, false, 19371 + + 0x1.00000000000000002p+0, false, false, 19372 + + true, 19373 + + 0x1.00000000000000002p+0, false, false, 19374 + + 0x1.00000000000000002p+0, false, false, 19375 + + 0x1.00000000000000002p+0, false, false, 19376 + + 0x1.00000000000000002p+0, false, false), 19377 + TEST ("1.0000000000000000000033881317890172013562732900027185678482" 19378 + "0556640625", 19379 + false, 19380 + - 0x1p+0, false, 19381 + - 0x1p+0, false, 19382 + - 0x1p+0, false, 19383 + - 0x1.000002p+0, false, 19384 + - false, 19385 + - 0x1p+0, false, 19386 + - 0x1p+0, false, 19387 + - 0x1p+0, false, 19388 + - 0x1.0000000000001p+0, false, 19389 + - false, 19390 + - 0x1p+0, false, 19391 + - 0x1p+0, false, 19392 + - 0x1p+0, false, 19393 + - 0x1.0000000000000002p+0, false, 19394 + - false, 19395 + - 0x1p+0, false, 19396 + - 0x1p+0, false, 19397 + - 0x1p+0, false, 19398 + - 0x1.0000000000000002p+0, false, 19399 + - true, 19400 + - 0x1.00000000000000001p+0, false, 19401 + - 0x1.00000000000000001p+0, false, 19402 + - 0x1.00000000000000001p+0, false, 19403 + - 0x1.00000000000000001p+0, false, 19404 + - true, 19405 + - 0x1.00000000000000001p+0, false, 19406 + - 0x1.00000000000000001p+0, false, 19407 + - 0x1.00000000000000001p+0, false, 19408 + - 0x1.00000000000000001p+0, false), 19409 + + 0x1p+0, false, false, 19410 + + 0x1p+0, false, false, 19411 + + 0x1p+0, false, false, 19412 + + 0x1.000002p+0, false, false, 19413 + + false, 19414 + + 0x1p+0, false, false, 19415 + + 0x1p+0, false, false, 19416 + + 0x1p+0, false, false, 19417 + + 0x1.0000000000001p+0, false, false, 19418 + + false, 19419 + + 0x1p+0, false, false, 19420 + + 0x1p+0, false, false, 19421 + + 0x1p+0, false, false, 19422 + + 0x1.0000000000000002p+0, false, false, 19423 + + false, 19424 + + 0x1p+0, false, false, 19425 + + 0x1p+0, false, false, 19426 + + 0x1p+0, false, false, 19427 + + 0x1.0000000000000002p+0, false, false, 19428 + + true, 19429 + + 0x1.00000000000000001p+0, false, false, 19430 + + 0x1.00000000000000001p+0, false, false, 19431 + + 0x1.00000000000000001p+0, false, false, 19432 + + 0x1.00000000000000001p+0, false, false, 19433 + + true, 19434 + + 0x1.00000000000000001p+0, false, false, 19435 + + 0x1.00000000000000001p+0, false, false, 19436 + + 0x1.00000000000000001p+0, false, false, 19437 + + 0x1.00000000000000001p+0, false, false), 19438 + TEST ("1.0000000000000000000016940658945086006781366450013592839241" 19439 + "02783203125", 19440 + false, 19441 + - 0x1p+0, false, 19442 + - 0x1p+0, false, 19443 + - 0x1p+0, false, 19444 + - 0x1.000002p+0, false, 19445 + - false, 19446 + - 0x1p+0, false, 19447 + - 0x1p+0, false, 19448 + - 0x1p+0, false, 19449 + - 0x1.0000000000001p+0, false, 19450 + - false, 19451 + - 0x1p+0, false, 19452 + - 0x1p+0, false, 19453 + - 0x1p+0, false, 19454 + - 0x1.0000000000000002p+0, false, 19455 + - false, 19456 + - 0x1p+0, false, 19457 + - 0x1p+0, false, 19458 + - 0x1p+0, false, 19459 + - 0x1.0000000000000002p+0, false, 19460 + - true, 19461 + - 0x1.000000000000000008p+0, false, 19462 + - 0x1.000000000000000008p+0, false, 19463 + - 0x1.000000000000000008p+0, false, 19464 + - 0x1.000000000000000008p+0, false, 19465 + - true, 19466 + - 0x1.000000000000000008p+0, false, 19467 + - 0x1.000000000000000008p+0, false, 19468 + - 0x1.000000000000000008p+0, false, 19469 + - 0x1.000000000000000008p+0, false), 19470 + + 0x1p+0, false, false, 19471 + + 0x1p+0, false, false, 19472 + + 0x1p+0, false, false, 19473 + + 0x1.000002p+0, false, false, 19474 + + false, 19475 + + 0x1p+0, false, false, 19476 + + 0x1p+0, false, false, 19477 + + 0x1p+0, false, false, 19478 + + 0x1.0000000000001p+0, false, false, 19479 + + false, 19480 + + 0x1p+0, false, false, 19481 + + 0x1p+0, false, false, 19482 + + 0x1p+0, false, false, 19483 + + 0x1.0000000000000002p+0, false, false, 19484 + + false, 19485 + + 0x1p+0, false, false, 19486 + + 0x1p+0, false, false, 19487 + + 0x1p+0, false, false, 19488 + + 0x1.0000000000000002p+0, false, false, 19489 + + true, 19490 + + 0x1.000000000000000008p+0, false, false, 19491 + + 0x1.000000000000000008p+0, false, false, 19492 + + 0x1.000000000000000008p+0, false, false, 19493 + + 0x1.000000000000000008p+0, false, false, 19494 + + true, 19495 + + 0x1.000000000000000008p+0, false, false, 19496 + + 0x1.000000000000000008p+0, false, false, 19497 + + 0x1.000000000000000008p+0, false, false, 19498 + + 0x1.000000000000000008p+0, false, false), 19499 + TEST ("1.0000000000000000000008470329472543003390683225006796419620" 19500 + "513916015625", 19501 + false, 19502 + - 0x1p+0, false, 19503 + - 0x1p+0, false, 19504 + - 0x1p+0, false, 19505 + - 0x1.000002p+0, false, 19506 + - false, 19507 + - 0x1p+0, false, 19508 + - 0x1p+0, false, 19509 + - 0x1p+0, false, 19510 + - 0x1.0000000000001p+0, false, 19511 + - false, 19512 + - 0x1p+0, false, 19513 + - 0x1p+0, false, 19514 + - 0x1p+0, false, 19515 + - 0x1.0000000000000002p+0, false, 19516 + - false, 19517 + - 0x1p+0, false, 19518 + - 0x1p+0, false, 19519 + - 0x1p+0, false, 19520 + - 0x1.0000000000000002p+0, false, 19521 + - true, 19522 + - 0x1.000000000000000004p+0, false, 19523 + - 0x1.000000000000000004p+0, false, 19524 + - 0x1.000000000000000004p+0, false, 19525 + - 0x1.000000000000000004p+0, false, 19526 + - true, 19527 + - 0x1.000000000000000004p+0, false, 19528 + - 0x1.000000000000000004p+0, false, 19529 + - 0x1.000000000000000004p+0, false, 19530 + - 0x1.000000000000000004p+0, false), 19531 + + 0x1p+0, false, false, 19532 + + 0x1p+0, false, false, 19533 + + 0x1p+0, false, false, 19534 + + 0x1.000002p+0, false, false, 19535 + + false, 19536 + + 0x1p+0, false, false, 19537 + + 0x1p+0, false, false, 19538 + + 0x1p+0, false, false, 19539 + + 0x1.0000000000001p+0, false, false, 19540 + + false, 19541 + + 0x1p+0, false, false, 19542 + + 0x1p+0, false, false, 19543 + + 0x1p+0, false, false, 19544 + + 0x1.0000000000000002p+0, false, false, 19545 + + false, 19546 + + 0x1p+0, false, false, 19547 + + 0x1p+0, false, false, 19548 + + 0x1p+0, false, false, 19549 + + 0x1.0000000000000002p+0, false, false, 19550 + + true, 19551 + + 0x1.000000000000000004p+0, false, false, 19552 + + 0x1.000000000000000004p+0, false, false, 19553 + + 0x1.000000000000000004p+0, false, false, 19554 + + 0x1.000000000000000004p+0, false, false, 19555 + + true, 19556 + + 0x1.000000000000000004p+0, false, false, 19557 + + 0x1.000000000000000004p+0, false, false, 19558 + + 0x1.000000000000000004p+0, false, false, 19559 + + 0x1.000000000000000004p+0, false, false), 19560 + TEST ("1.0000000000000000000004235164736271501695341612503398209810" 19561 + "2569580078125", 19562 + false, 19563 + - 0x1p+0, false, 19564 + - 0x1p+0, false, 19565 + - 0x1p+0, false, 19566 + - 0x1.000002p+0, false, 19567 + - false, 19568 + - 0x1p+0, false, 19569 + - 0x1p+0, false, 19570 + - 0x1p+0, false, 19571 + - 0x1.0000000000001p+0, false, 19572 + - false, 19573 + - 0x1p+0, false, 19574 + - 0x1p+0, false, 19575 + - 0x1p+0, false, 19576 + - 0x1.0000000000000002p+0, false, 19577 + - false, 19578 + - 0x1p+0, false, 19579 + - 0x1p+0, false, 19580 + - 0x1p+0, false, 19581 + - 0x1.0000000000000002p+0, false, 19582 + - true, 19583 + - 0x1.000000000000000002p+0, false, 19584 + - 0x1.000000000000000002p+0, false, 19585 + - 0x1.000000000000000002p+0, false, 19586 + - 0x1.000000000000000002p+0, false, 19587 + - true, 19588 + - 0x1.000000000000000002p+0, false, 19589 + - 0x1.000000000000000002p+0, false, 19590 + - 0x1.000000000000000002p+0, false, 19591 + - 0x1.000000000000000002p+0, false), 19592 + + 0x1p+0, false, false, 19593 + + 0x1p+0, false, false, 19594 + + 0x1p+0, false, false, 19595 + + 0x1.000002p+0, false, false, 19596 + + false, 19597 + + 0x1p+0, false, false, 19598 + + 0x1p+0, false, false, 19599 + + 0x1p+0, false, false, 19600 + + 0x1.0000000000001p+0, false, false, 19601 + + false, 19602 + + 0x1p+0, false, false, 19603 + + 0x1p+0, false, false, 19604 + + 0x1p+0, false, false, 19605 + + 0x1.0000000000000002p+0, false, false, 19606 + + false, 19607 + + 0x1p+0, false, false, 19608 + + 0x1p+0, false, false, 19609 + + 0x1p+0, false, false, 19610 + + 0x1.0000000000000002p+0, false, false, 19611 + + true, 19612 + + 0x1.000000000000000002p+0, false, false, 19613 + + 0x1.000000000000000002p+0, false, false, 19614 + + 0x1.000000000000000002p+0, false, false, 19615 + + 0x1.000000000000000002p+0, false, false, 19616 + + true, 19617 + + 0x1.000000000000000002p+0, false, false, 19618 + + 0x1.000000000000000002p+0, false, false, 19619 + + 0x1.000000000000000002p+0, false, false, 19620 + + 0x1.000000000000000002p+0, false, false), 19621 + TEST ("1.0000000000000000000002117582368135750847670806251699104905" 19622 + "12847900390625", 19623 + false, 19624 + - 0x1p+0, false, 19625 + - 0x1p+0, false, 19626 + - 0x1p+0, false, 19627 + - 0x1.000002p+0, false, 19628 + - false, 19629 + - 0x1p+0, false, 19630 + - 0x1p+0, false, 19631 + - 0x1p+0, false, 19632 + - 0x1.0000000000001p+0, false, 19633 + - false, 19634 + - 0x1p+0, false, 19635 + - 0x1p+0, false, 19636 + - 0x1p+0, false, 19637 + - 0x1.0000000000000002p+0, false, 19638 + - false, 19639 + - 0x1p+0, false, 19640 + - 0x1p+0, false, 19641 + - 0x1p+0, false, 19642 + - 0x1.0000000000000002p+0, false, 19643 + - true, 19644 + - 0x1.000000000000000001p+0, false, 19645 + - 0x1.000000000000000001p+0, false, 19646 + - 0x1.000000000000000001p+0, false, 19647 + - 0x1.000000000000000001p+0, false, 19648 + - true, 19649 + - 0x1.000000000000000001p+0, false, 19650 + - 0x1.000000000000000001p+0, false, 19651 + - 0x1.000000000000000001p+0, false, 19652 + - 0x1.000000000000000001p+0, false), 19653 + + 0x1p+0, false, false, 19654 + + 0x1p+0, false, false, 19655 + + 0x1p+0, false, false, 19656 + + 0x1.000002p+0, false, false, 19657 + + false, 19658 + + 0x1p+0, false, false, 19659 + + 0x1p+0, false, false, 19660 + + 0x1p+0, false, false, 19661 + + 0x1.0000000000001p+0, false, false, 19662 + + false, 19663 + + 0x1p+0, false, false, 19664 + + 0x1p+0, false, false, 19665 + + 0x1p+0, false, false, 19666 + + 0x1.0000000000000002p+0, false, false, 19667 + + false, 19668 + + 0x1p+0, false, false, 19669 + + 0x1p+0, false, false, 19670 + + 0x1p+0, false, false, 19671 + + 0x1.0000000000000002p+0, false, false, 19672 + + true, 19673 + + 0x1.000000000000000001p+0, false, false, 19674 + + 0x1.000000000000000001p+0, false, false, 19675 + + 0x1.000000000000000001p+0, false, false, 19676 + + 0x1.000000000000000001p+0, false, false, 19677 + + true, 19678 + + 0x1.000000000000000001p+0, false, false, 19679 + + 0x1.000000000000000001p+0, false, false, 19680 + + 0x1.000000000000000001p+0, false, false, 19681 + + 0x1.000000000000000001p+0, false, false), 19682 + TEST ("1.0000000000000000000001058791184067875423835403125849552452" 19683 + "564239501953125", 19684 + false, 19685 + - 0x1p+0, false, 19686 + - 0x1p+0, false, 19687 + - 0x1p+0, false, 19688 + - 0x1.000002p+0, false, 19689 + - false, 19690 + - 0x1p+0, false, 19691 + - 0x1p+0, false, 19692 + - 0x1p+0, false, 19693 + - 0x1.0000000000001p+0, false, 19694 + - false, 19695 + - 0x1p+0, false, 19696 + - 0x1p+0, false, 19697 + - 0x1p+0, false, 19698 + - 0x1.0000000000000002p+0, false, 19699 + - false, 19700 + - 0x1p+0, false, 19701 + - 0x1p+0, false, 19702 + - 0x1p+0, false, 19703 + - 0x1.0000000000000002p+0, false, 19704 + - true, 19705 + - 0x1.0000000000000000008p+0, false, 19706 + - 0x1.0000000000000000008p+0, false, 19707 + - 0x1.0000000000000000008p+0, false, 19708 + - 0x1.0000000000000000008p+0, false, 19709 + - true, 19710 + - 0x1.0000000000000000008p+0, false, 19711 + - 0x1.0000000000000000008p+0, false, 19712 + - 0x1.0000000000000000008p+0, false, 19713 + - 0x1.0000000000000000008p+0, false), 19714 + + 0x1p+0, false, false, 19715 + + 0x1p+0, false, false, 19716 + + 0x1p+0, false, false, 19717 + + 0x1.000002p+0, false, false, 19718 + + false, 19719 + + 0x1p+0, false, false, 19720 + + 0x1p+0, false, false, 19721 + + 0x1p+0, false, false, 19722 + + 0x1.0000000000001p+0, false, false, 19723 + + false, 19724 + + 0x1p+0, false, false, 19725 + + 0x1p+0, false, false, 19726 + + 0x1p+0, false, false, 19727 + + 0x1.0000000000000002p+0, false, false, 19728 + + false, 19729 + + 0x1p+0, false, false, 19730 + + 0x1p+0, false, false, 19731 + + 0x1p+0, false, false, 19732 + + 0x1.0000000000000002p+0, false, false, 19733 + + true, 19734 + + 0x1.0000000000000000008p+0, false, false, 19735 + + 0x1.0000000000000000008p+0, false, false, 19736 + + 0x1.0000000000000000008p+0, false, false, 19737 + + 0x1.0000000000000000008p+0, false, false, 19738 + + true, 19739 + + 0x1.0000000000000000008p+0, false, false, 19740 + + 0x1.0000000000000000008p+0, false, false, 19741 + + 0x1.0000000000000000008p+0, false, false, 19742 + + 0x1.0000000000000000008p+0, false, false), 19743 + TEST ("1.0000000000000000000000529395592033937711917701562924776226" 19744 + "2821197509765625", 19745 + false, 19746 + - 0x1p+0, false, 19747 + - 0x1p+0, false, 19748 + - 0x1p+0, false, 19749 + - 0x1.000002p+0, false, 19750 + - false, 19751 + - 0x1p+0, false, 19752 + - 0x1p+0, false, 19753 + - 0x1p+0, false, 19754 + - 0x1.0000000000001p+0, false, 19755 + - false, 19756 + - 0x1p+0, false, 19757 + - 0x1p+0, false, 19758 + - 0x1p+0, false, 19759 + - 0x1.0000000000000002p+0, false, 19760 + - false, 19761 + - 0x1p+0, false, 19762 + - 0x1p+0, false, 19763 + - 0x1p+0, false, 19764 + - 0x1.0000000000000002p+0, false, 19765 + - true, 19766 + - 0x1.0000000000000000004p+0, false, 19767 + - 0x1.0000000000000000004p+0, false, 19768 + - 0x1.0000000000000000004p+0, false, 19769 + - 0x1.0000000000000000004p+0, false, 19770 + - true, 19771 + - 0x1.0000000000000000004p+0, false, 19772 + - 0x1.0000000000000000004p+0, false, 19773 + - 0x1.0000000000000000004p+0, false, 19774 + - 0x1.0000000000000000004p+0, false), 19775 + + 0x1p+0, false, false, 19776 + + 0x1p+0, false, false, 19777 + + 0x1p+0, false, false, 19778 + + 0x1.000002p+0, false, false, 19779 + + false, 19780 + + 0x1p+0, false, false, 19781 + + 0x1p+0, false, false, 19782 + + 0x1p+0, false, false, 19783 + + 0x1.0000000000001p+0, false, false, 19784 + + false, 19785 + + 0x1p+0, false, false, 19786 + + 0x1p+0, false, false, 19787 + + 0x1p+0, false, false, 19788 + + 0x1.0000000000000002p+0, false, false, 19789 + + false, 19790 + + 0x1p+0, false, false, 19791 + + 0x1p+0, false, false, 19792 + + 0x1p+0, false, false, 19793 + + 0x1.0000000000000002p+0, false, false, 19794 + + true, 19795 + + 0x1.0000000000000000004p+0, false, false, 19796 + + 0x1.0000000000000000004p+0, false, false, 19797 + + 0x1.0000000000000000004p+0, false, false, 19798 + + 0x1.0000000000000000004p+0, false, false, 19799 + + true, 19800 + + 0x1.0000000000000000004p+0, false, false, 19801 + + 0x1.0000000000000000004p+0, false, false, 19802 + + 0x1.0000000000000000004p+0, false, false, 19803 + + 0x1.0000000000000000004p+0, false, false), 19804 + TEST ("1.0000000000000000000000264697796016968855958850781462388113" 19805 + "14105987548828125", 19806 + false, 19807 + - 0x1p+0, false, 19808 + - 0x1p+0, false, 19809 + - 0x1p+0, false, 19810 + - 0x1.000002p+0, false, 19811 + - false, 19812 + - 0x1p+0, false, 19813 + - 0x1p+0, false, 19814 + - 0x1p+0, false, 19815 + - 0x1.0000000000001p+0, false, 19816 + - false, 19817 + - 0x1p+0, false, 19818 + - 0x1p+0, false, 19819 + - 0x1p+0, false, 19820 + - 0x1.0000000000000002p+0, false, 19821 + - false, 19822 + - 0x1p+0, false, 19823 + - 0x1p+0, false, 19824 + - 0x1p+0, false, 19825 + - 0x1.0000000000000002p+0, false, 19826 + - true, 19827 + - 0x1.0000000000000000002p+0, false, 19828 + - 0x1.0000000000000000002p+0, false, 19829 + - 0x1.0000000000000000002p+0, false, 19830 + - 0x1.0000000000000000002p+0, false, 19831 + - true, 19832 + - 0x1.0000000000000000002p+0, false, 19833 + - 0x1.0000000000000000002p+0, false, 19834 + - 0x1.0000000000000000002p+0, false, 19835 + - 0x1.0000000000000000002p+0, false), 19836 + + 0x1p+0, false, false, 19837 + + 0x1p+0, false, false, 19838 + + 0x1p+0, false, false, 19839 + + 0x1.000002p+0, false, false, 19840 + + false, 19841 + + 0x1p+0, false, false, 19842 + + 0x1p+0, false, false, 19843 + + 0x1p+0, false, false, 19844 + + 0x1.0000000000001p+0, false, false, 19845 + + false, 19846 + + 0x1p+0, false, false, 19847 + + 0x1p+0, false, false, 19848 + + 0x1p+0, false, false, 19849 + + 0x1.0000000000000002p+0, false, false, 19850 + + false, 19851 + + 0x1p+0, false, false, 19852 + + 0x1p+0, false, false, 19853 + + 0x1p+0, false, false, 19854 + + 0x1.0000000000000002p+0, false, false, 19855 + + true, 19856 + + 0x1.0000000000000000002p+0, false, false, 19857 + + 0x1.0000000000000000002p+0, false, false, 19858 + + 0x1.0000000000000000002p+0, false, false, 19859 + + 0x1.0000000000000000002p+0, false, false, 19860 + + true, 19861 + + 0x1.0000000000000000002p+0, false, false, 19862 + + 0x1.0000000000000000002p+0, false, false, 19863 + + 0x1.0000000000000000002p+0, false, false, 19864 + + 0x1.0000000000000000002p+0, false, false), 19865 + TEST ("1.0000000000000000000000132348898008484427979425390731194056" 19866 + "570529937744140625", 19867 + false, 19868 + - 0x1p+0, false, 19869 + - 0x1p+0, false, 19870 + - 0x1p+0, false, 19871 + - 0x1.000002p+0, false, 19872 + - false, 19873 + - 0x1p+0, false, 19874 + - 0x1p+0, false, 19875 + - 0x1p+0, false, 19876 + - 0x1.0000000000001p+0, false, 19877 + - false, 19878 + - 0x1p+0, false, 19879 + - 0x1p+0, false, 19880 + - 0x1p+0, false, 19881 + - 0x1.0000000000000002p+0, false, 19882 + - false, 19883 + - 0x1p+0, false, 19884 + - 0x1p+0, false, 19885 + - 0x1p+0, false, 19886 + - 0x1.0000000000000002p+0, false, 19887 + - true, 19888 + - 0x1.0000000000000000001p+0, false, 19889 + - 0x1.0000000000000000001p+0, false, 19890 + - 0x1.0000000000000000001p+0, false, 19891 + - 0x1.0000000000000000001p+0, false, 19892 + - true, 19893 + - 0x1.0000000000000000001p+0, false, 19894 + - 0x1.0000000000000000001p+0, false, 19895 + - 0x1.0000000000000000001p+0, false, 19896 + - 0x1.0000000000000000001p+0, false), 19897 + + 0x1p+0, false, false, 19898 + + 0x1p+0, false, false, 19899 + + 0x1p+0, false, false, 19900 + + 0x1.000002p+0, false, false, 19901 + + false, 19902 + + 0x1p+0, false, false, 19903 + + 0x1p+0, false, false, 19904 + + 0x1p+0, false, false, 19905 + + 0x1.0000000000001p+0, false, false, 19906 + + false, 19907 + + 0x1p+0, false, false, 19908 + + 0x1p+0, false, false, 19909 + + 0x1p+0, false, false, 19910 + + 0x1.0000000000000002p+0, false, false, 19911 + + false, 19912 + + 0x1p+0, false, false, 19913 + + 0x1p+0, false, false, 19914 + + 0x1p+0, false, false, 19915 + + 0x1.0000000000000002p+0, false, false, 19916 + + true, 19917 + + 0x1.0000000000000000001p+0, false, false, 19918 + + 0x1.0000000000000000001p+0, false, false, 19919 + + 0x1.0000000000000000001p+0, false, false, 19920 + + 0x1.0000000000000000001p+0, false, false, 19921 + + true, 19922 + + 0x1.0000000000000000001p+0, false, false, 19923 + + 0x1.0000000000000000001p+0, false, false, 19924 + + 0x1.0000000000000000001p+0, false, false, 19925 + + 0x1.0000000000000000001p+0, false, false), 19926 + TEST ("1.0000000000000000000000066174449004242213989712695365597028" 19927 + "2852649688720703125", 19928 + false, 19929 + - 0x1p+0, false, 19930 + - 0x1p+0, false, 19931 + - 0x1p+0, false, 19932 + - 0x1.000002p+0, false, 19933 + - false, 19934 + - 0x1p+0, false, 19935 + - 0x1p+0, false, 19936 + - 0x1p+0, false, 19937 + - 0x1.0000000000001p+0, false, 19938 + - false, 19939 + - 0x1p+0, false, 19940 + - 0x1p+0, false, 19941 + - 0x1p+0, false, 19942 + - 0x1.0000000000000002p+0, false, 19943 + - false, 19944 + - 0x1p+0, false, 19945 + - 0x1p+0, false, 19946 + - 0x1p+0, false, 19947 + - 0x1.0000000000000002p+0, false, 19948 + - true, 19949 + - 0x1.00000000000000000008p+0, false, 19950 + - 0x1.00000000000000000008p+0, false, 19951 + - 0x1.00000000000000000008p+0, false, 19952 + - 0x1.00000000000000000008p+0, false, 19953 + - true, 19954 + - 0x1.00000000000000000008p+0, false, 19955 + - 0x1.00000000000000000008p+0, false, 19956 + - 0x1.00000000000000000008p+0, false, 19957 + - 0x1.00000000000000000008p+0, false), 19958 + + 0x1p+0, false, false, 19959 + + 0x1p+0, false, false, 19960 + + 0x1p+0, false, false, 19961 + + 0x1.000002p+0, false, false, 19962 + + false, 19963 + + 0x1p+0, false, false, 19964 + + 0x1p+0, false, false, 19965 + + 0x1p+0, false, false, 19966 + + 0x1.0000000000001p+0, false, false, 19967 + + false, 19968 + + 0x1p+0, false, false, 19969 + + 0x1p+0, false, false, 19970 + + 0x1p+0, false, false, 19971 + + 0x1.0000000000000002p+0, false, false, 19972 + + false, 19973 + + 0x1p+0, false, false, 19974 + + 0x1p+0, false, false, 19975 + + 0x1p+0, false, false, 19976 + + 0x1.0000000000000002p+0, false, false, 19977 + + true, 19978 + + 0x1.00000000000000000008p+0, false, false, 19979 + + 0x1.00000000000000000008p+0, false, false, 19980 + + 0x1.00000000000000000008p+0, false, false, 19981 + + 0x1.00000000000000000008p+0, false, false, 19982 + + true, 19983 + + 0x1.00000000000000000008p+0, false, false, 19984 + + 0x1.00000000000000000008p+0, false, false, 19985 + + 0x1.00000000000000000008p+0, false, false, 19986 + + 0x1.00000000000000000008p+0, false, false), 19987 + TEST ("1.0000000000000000000000033087224502121106994856347682798514" 19988 + "14263248443603515625", 19989 + false, 19990 + - 0x1p+0, false, 19991 + - 0x1p+0, false, 19992 + - 0x1p+0, false, 19993 + - 0x1.000002p+0, false, 19994 + - false, 19995 + - 0x1p+0, false, 19996 + - 0x1p+0, false, 19997 + - 0x1p+0, false, 19998 + - 0x1.0000000000001p+0, false, 19999 + - false, 20000 + - 0x1p+0, false, 20001 + - 0x1p+0, false, 20002 + - 0x1p+0, false, 20003 + - 0x1.0000000000000002p+0, false, 20004 + - false, 20005 + - 0x1p+0, false, 20006 + - 0x1p+0, false, 20007 + - 0x1p+0, false, 20008 + - 0x1.0000000000000002p+0, false, 20009 + - true, 20010 + - 0x1.00000000000000000004p+0, false, 20011 + - 0x1.00000000000000000004p+0, false, 20012 + - 0x1.00000000000000000004p+0, false, 20013 + - 0x1.00000000000000000004p+0, false, 20014 + - true, 20015 + - 0x1.00000000000000000004p+0, false, 20016 + - 0x1.00000000000000000004p+0, false, 20017 + - 0x1.00000000000000000004p+0, false, 20018 + - 0x1.00000000000000000004p+0, false), 20019 + + 0x1p+0, false, false, 20020 + + 0x1p+0, false, false, 20021 + + 0x1p+0, false, false, 20022 + + 0x1.000002p+0, false, false, 20023 + + false, 20024 + + 0x1p+0, false, false, 20025 + + 0x1p+0, false, false, 20026 + + 0x1p+0, false, false, 20027 + + 0x1.0000000000001p+0, false, false, 20028 + + false, 20029 + + 0x1p+0, false, false, 20030 + + 0x1p+0, false, false, 20031 + + 0x1p+0, false, false, 20032 + + 0x1.0000000000000002p+0, false, false, 20033 + + false, 20034 + + 0x1p+0, false, false, 20035 + + 0x1p+0, false, false, 20036 + + 0x1p+0, false, false, 20037 + + 0x1.0000000000000002p+0, false, false, 20038 + + true, 20039 + + 0x1.00000000000000000004p+0, false, false, 20040 + + 0x1.00000000000000000004p+0, false, false, 20041 + + 0x1.00000000000000000004p+0, false, false, 20042 + + 0x1.00000000000000000004p+0, false, false, 20043 + + true, 20044 + + 0x1.00000000000000000004p+0, false, false, 20045 + + 0x1.00000000000000000004p+0, false, false, 20046 + + 0x1.00000000000000000004p+0, false, false, 20047 + + 0x1.00000000000000000004p+0, false, false), 20048 + TEST ("1.0000000000000000000000016543612251060553497428173841399257" 20049 + "071316242218017578125", 20050 + false, 20051 + - 0x1p+0, false, 20052 + - 0x1p+0, false, 20053 + - 0x1p+0, false, 20054 + - 0x1.000002p+0, false, 20055 + - false, 20056 + - 0x1p+0, false, 20057 + - 0x1p+0, false, 20058 + - 0x1p+0, false, 20059 + - 0x1.0000000000001p+0, false, 20060 + - false, 20061 + - 0x1p+0, false, 20062 + - 0x1p+0, false, 20063 + - 0x1p+0, false, 20064 + - 0x1.0000000000000002p+0, false, 20065 + - false, 20066 + - 0x1p+0, false, 20067 + - 0x1p+0, false, 20068 + - 0x1p+0, false, 20069 + - 0x1.0000000000000002p+0, false, 20070 + - true, 20071 + - 0x1.00000000000000000002p+0, false, 20072 + - 0x1.00000000000000000002p+0, false, 20073 + - 0x1.00000000000000000002p+0, false, 20074 + - 0x1.00000000000000000002p+0, false, 20075 + - true, 20076 + - 0x1.00000000000000000002p+0, false, 20077 + - 0x1.00000000000000000002p+0, false, 20078 + - 0x1.00000000000000000002p+0, false, 20079 + - 0x1.00000000000000000002p+0, false), 20080 + + 0x1p+0, false, false, 20081 + + 0x1p+0, false, false, 20082 + + 0x1p+0, false, false, 20083 + + 0x1.000002p+0, false, false, 20084 + + false, 20085 + + 0x1p+0, false, false, 20086 + + 0x1p+0, false, false, 20087 + + 0x1p+0, false, false, 20088 + + 0x1.0000000000001p+0, false, false, 20089 + + false, 20090 + + 0x1p+0, false, false, 20091 + + 0x1p+0, false, false, 20092 + + 0x1p+0, false, false, 20093 + + 0x1.0000000000000002p+0, false, false, 20094 + + false, 20095 + + 0x1p+0, false, false, 20096 + + 0x1p+0, false, false, 20097 + + 0x1p+0, false, false, 20098 + + 0x1.0000000000000002p+0, false, false, 20099 + + true, 20100 + + 0x1.00000000000000000002p+0, false, false, 20101 + + 0x1.00000000000000000002p+0, false, false, 20102 + + 0x1.00000000000000000002p+0, false, false, 20103 + + 0x1.00000000000000000002p+0, false, false, 20104 + + true, 20105 + + 0x1.00000000000000000002p+0, false, false, 20106 + + 0x1.00000000000000000002p+0, false, false, 20107 + + 0x1.00000000000000000002p+0, false, false, 20108 + + 0x1.00000000000000000002p+0, false, false), 20109 + TEST ("1.0000000000000000000000008271806125530276748714086920699628" 20110 + "5356581211090087890625", 20111 + false, 20112 + - 0x1p+0, false, 20113 + - 0x1p+0, false, 20114 + - 0x1p+0, false, 20115 + - 0x1.000002p+0, false, 20116 + - false, 20117 + - 0x1p+0, false, 20118 + - 0x1p+0, false, 20119 + - 0x1p+0, false, 20120 + - 0x1.0000000000001p+0, false, 20121 + - false, 20122 + - 0x1p+0, false, 20123 + - 0x1p+0, false, 20124 + - 0x1p+0, false, 20125 + - 0x1.0000000000000002p+0, false, 20126 + - false, 20127 + - 0x1p+0, false, 20128 + - 0x1p+0, false, 20129 + - 0x1p+0, false, 20130 + - 0x1.0000000000000002p+0, false, 20131 + - true, 20132 + - 0x1.00000000000000000001p+0, false, 20133 + - 0x1.00000000000000000001p+0, false, 20134 + - 0x1.00000000000000000001p+0, false, 20135 + - 0x1.00000000000000000001p+0, false, 20136 + - true, 20137 + - 0x1.00000000000000000001p+0, false, 20138 + - 0x1.00000000000000000001p+0, false, 20139 + - 0x1.00000000000000000001p+0, false, 20140 + - 0x1.00000000000000000001p+0, false), 20141 + + 0x1p+0, false, false, 20142 + + 0x1p+0, false, false, 20143 + + 0x1p+0, false, false, 20144 + + 0x1.000002p+0, false, false, 20145 + + false, 20146 + + 0x1p+0, false, false, 20147 + + 0x1p+0, false, false, 20148 + + 0x1p+0, false, false, 20149 + + 0x1.0000000000001p+0, false, false, 20150 + + false, 20151 + + 0x1p+0, false, false, 20152 + + 0x1p+0, false, false, 20153 + + 0x1p+0, false, false, 20154 + + 0x1.0000000000000002p+0, false, false, 20155 + + false, 20156 + + 0x1p+0, false, false, 20157 + + 0x1p+0, false, false, 20158 + + 0x1p+0, false, false, 20159 + + 0x1.0000000000000002p+0, false, false, 20160 + + true, 20161 + + 0x1.00000000000000000001p+0, false, false, 20162 + + 0x1.00000000000000000001p+0, false, false, 20163 + + 0x1.00000000000000000001p+0, false, false, 20164 + + 0x1.00000000000000000001p+0, false, false, 20165 + + true, 20166 + + 0x1.00000000000000000001p+0, false, false, 20167 + + 0x1.00000000000000000001p+0, false, false, 20168 + + 0x1.00000000000000000001p+0, false, false, 20169 + + 0x1.00000000000000000001p+0, false, false), 20170 + TEST ("1.0000000000000000000000004135903062765138374357043460349814" 20171 + "26782906055450439453125", 20172 + false, 20173 + - 0x1p+0, false, 20174 + - 0x1p+0, false, 20175 + - 0x1p+0, false, 20176 + - 0x1.000002p+0, false, 20177 + - false, 20178 + - 0x1p+0, false, 20179 + - 0x1p+0, false, 20180 + - 0x1p+0, false, 20181 + - 0x1.0000000000001p+0, false, 20182 + - false, 20183 + - 0x1p+0, false, 20184 + - 0x1p+0, false, 20185 + - 0x1p+0, false, 20186 + - 0x1.0000000000000002p+0, false, 20187 + - false, 20188 + - 0x1p+0, false, 20189 + - 0x1p+0, false, 20190 + - 0x1p+0, false, 20191 + - 0x1.0000000000000002p+0, false, 20192 + - true, 20193 + - 0x1.000000000000000000008p+0, false, 20194 + - 0x1.000000000000000000008p+0, false, 20195 + - 0x1.000000000000000000008p+0, false, 20196 + - 0x1.000000000000000000008p+0, false, 20197 + - true, 20198 + - 0x1.000000000000000000008p+0, false, 20199 + - 0x1.000000000000000000008p+0, false, 20200 + - 0x1.000000000000000000008p+0, false, 20201 + - 0x1.000000000000000000008p+0, false), 20202 + + 0x1p+0, false, false, 20203 + + 0x1p+0, false, false, 20204 + + 0x1p+0, false, false, 20205 + + 0x1.000002p+0, false, false, 20206 + + false, 20207 + + 0x1p+0, false, false, 20208 + + 0x1p+0, false, false, 20209 + + 0x1p+0, false, false, 20210 + + 0x1.0000000000001p+0, false, false, 20211 + + false, 20212 + + 0x1p+0, false, false, 20213 + + 0x1p+0, false, false, 20214 + + 0x1p+0, false, false, 20215 + + 0x1.0000000000000002p+0, false, false, 20216 + + false, 20217 + + 0x1p+0, false, false, 20218 + + 0x1p+0, false, false, 20219 + + 0x1p+0, false, false, 20220 + + 0x1.0000000000000002p+0, false, false, 20221 + + true, 20222 + + 0x1.000000000000000000008p+0, false, false, 20223 + + 0x1.000000000000000000008p+0, false, false, 20224 + + 0x1.000000000000000000008p+0, false, false, 20225 + + 0x1.000000000000000000008p+0, false, false, 20226 + + true, 20227 + + 0x1.000000000000000000008p+0, false, false, 20228 + + 0x1.000000000000000000008p+0, false, false, 20229 + + 0x1.000000000000000000008p+0, false, false, 20230 + + 0x1.000000000000000000008p+0, false, false), 20231 + TEST ("1.0000000000000000000000002067951531382569187178521730174907" 20232 + "133914530277252197265625", 20233 + false, 20234 + - 0x1p+0, false, 20235 + - 0x1p+0, false, 20236 + - 0x1p+0, false, 20237 + - 0x1.000002p+0, false, 20238 + - false, 20239 + - 0x1p+0, false, 20240 + - 0x1p+0, false, 20241 + - 0x1p+0, false, 20242 + - 0x1.0000000000001p+0, false, 20243 + - false, 20244 + - 0x1p+0, false, 20245 + - 0x1p+0, false, 20246 + - 0x1p+0, false, 20247 + - 0x1.0000000000000002p+0, false, 20248 + - false, 20249 + - 0x1p+0, false, 20250 + - 0x1p+0, false, 20251 + - 0x1p+0, false, 20252 + - 0x1.0000000000000002p+0, false, 20253 + - true, 20254 + - 0x1.000000000000000000004p+0, false, 20255 + - 0x1.000000000000000000004p+0, false, 20256 + - 0x1.000000000000000000004p+0, false, 20257 + - 0x1.000000000000000000004p+0, false, 20258 + - true, 20259 + - 0x1.000000000000000000004p+0, false, 20260 + - 0x1.000000000000000000004p+0, false, 20261 + - 0x1.000000000000000000004p+0, false, 20262 + - 0x1.000000000000000000004p+0, false), 20263 + + 0x1p+0, false, false, 20264 + + 0x1p+0, false, false, 20265 + + 0x1p+0, false, false, 20266 + + 0x1.000002p+0, false, false, 20267 + + false, 20268 + + 0x1p+0, false, false, 20269 + + 0x1p+0, false, false, 20270 + + 0x1p+0, false, false, 20271 + + 0x1.0000000000001p+0, false, false, 20272 + + false, 20273 + + 0x1p+0, false, false, 20274 + + 0x1p+0, false, false, 20275 + + 0x1p+0, false, false, 20276 + + 0x1.0000000000000002p+0, false, false, 20277 + + false, 20278 + + 0x1p+0, false, false, 20279 + + 0x1p+0, false, false, 20280 + + 0x1p+0, false, false, 20281 + + 0x1.0000000000000002p+0, false, false, 20282 + + true, 20283 + + 0x1.000000000000000000004p+0, false, false, 20284 + + 0x1.000000000000000000004p+0, false, false, 20285 + + 0x1.000000000000000000004p+0, false, false, 20286 + + 0x1.000000000000000000004p+0, false, false, 20287 + + true, 20288 + + 0x1.000000000000000000004p+0, false, false, 20289 + + 0x1.000000000000000000004p+0, false, false, 20290 + + 0x1.000000000000000000004p+0, false, false, 20291 + + 0x1.000000000000000000004p+0, false, false), 20292 + TEST ("1.0000000000000000000000001033975765691284593589260865087453" 20293 + "5669572651386260986328125", 20294 + false, 20295 + - 0x1p+0, false, 20296 + - 0x1p+0, false, 20297 + - 0x1p+0, false, 20298 + - 0x1.000002p+0, false, 20299 + - false, 20300 + - 0x1p+0, false, 20301 + - 0x1p+0, false, 20302 + - 0x1p+0, false, 20303 + - 0x1.0000000000001p+0, false, 20304 + - false, 20305 + - 0x1p+0, false, 20306 + - 0x1p+0, false, 20307 + - 0x1p+0, false, 20308 + - 0x1.0000000000000002p+0, false, 20309 + - false, 20310 + - 0x1p+0, false, 20311 + - 0x1p+0, false, 20312 + - 0x1p+0, false, 20313 + - 0x1.0000000000000002p+0, false, 20314 + - true, 20315 + - 0x1.000000000000000000002p+0, false, 20316 + - 0x1.000000000000000000002p+0, false, 20317 + - 0x1.000000000000000000002p+0, false, 20318 + - 0x1.000000000000000000002p+0, false, 20319 + - true, 20320 + - 0x1.000000000000000000002p+0, false, 20321 + - 0x1.000000000000000000002p+0, false, 20322 + - 0x1.000000000000000000002p+0, false, 20323 + - 0x1.000000000000000000002p+0, false), 20324 + + 0x1p+0, false, false, 20325 + + 0x1p+0, false, false, 20326 + + 0x1p+0, false, false, 20327 + + 0x1.000002p+0, false, false, 20328 + + false, 20329 + + 0x1p+0, false, false, 20330 + + 0x1p+0, false, false, 20331 + + 0x1p+0, false, false, 20332 + + 0x1.0000000000001p+0, false, false, 20333 + + false, 20334 + + 0x1p+0, false, false, 20335 + + 0x1p+0, false, false, 20336 + + 0x1p+0, false, false, 20337 + + 0x1.0000000000000002p+0, false, false, 20338 + + false, 20339 + + 0x1p+0, false, false, 20340 + + 0x1p+0, false, false, 20341 + + 0x1p+0, false, false, 20342 + + 0x1.0000000000000002p+0, false, false, 20343 + + true, 20344 + + 0x1.000000000000000000002p+0, false, false, 20345 + + 0x1.000000000000000000002p+0, false, false, 20346 + + 0x1.000000000000000000002p+0, false, false, 20347 + + 0x1.000000000000000000002p+0, false, false, 20348 + + true, 20349 + + 0x1.000000000000000000002p+0, false, false, 20350 + + 0x1.000000000000000000002p+0, false, false, 20351 + + 0x1.000000000000000000002p+0, false, false, 20352 + + 0x1.000000000000000000002p+0, false, false), 20353 + TEST ("1.0000000000000000000000000516987882845642296794630432543726" 20354 + "78347863256931304931640625", 20355 + false, 20356 + - 0x1p+0, false, 20357 + - 0x1p+0, false, 20358 + - 0x1p+0, false, 20359 + - 0x1.000002p+0, false, 20360 + - false, 20361 + - 0x1p+0, false, 20362 + - 0x1p+0, false, 20363 + - 0x1p+0, false, 20364 + - 0x1.0000000000001p+0, false, 20365 + - false, 20366 + - 0x1p+0, false, 20367 + - 0x1p+0, false, 20368 + - 0x1p+0, false, 20369 + - 0x1.0000000000000002p+0, false, 20370 + - false, 20371 + - 0x1p+0, false, 20372 + - 0x1p+0, false, 20373 + - 0x1p+0, false, 20374 + - 0x1.0000000000000002p+0, false, 20375 + - true, 20376 + - 0x1.000000000000000000001p+0, false, 20377 + - 0x1.000000000000000000001p+0, false, 20378 + - 0x1.000000000000000000001p+0, false, 20379 + - 0x1.000000000000000000001p+0, false, 20380 + - true, 20381 + - 0x1.000000000000000000001p+0, false, 20382 + - 0x1.000000000000000000001p+0, false, 20383 + - 0x1.000000000000000000001p+0, false, 20384 + - 0x1.000000000000000000001p+0, false), 20385 + + 0x1p+0, false, false, 20386 + + 0x1p+0, false, false, 20387 + + 0x1p+0, false, false, 20388 + + 0x1.000002p+0, false, false, 20389 + + false, 20390 + + 0x1p+0, false, false, 20391 + + 0x1p+0, false, false, 20392 + + 0x1p+0, false, false, 20393 + + 0x1.0000000000001p+0, false, false, 20394 + + false, 20395 + + 0x1p+0, false, false, 20396 + + 0x1p+0, false, false, 20397 + + 0x1p+0, false, false, 20398 + + 0x1.0000000000000002p+0, false, false, 20399 + + false, 20400 + + 0x1p+0, false, false, 20401 + + 0x1p+0, false, false, 20402 + + 0x1p+0, false, false, 20403 + + 0x1.0000000000000002p+0, false, false, 20404 + + true, 20405 + + 0x1.000000000000000000001p+0, false, false, 20406 + + 0x1.000000000000000000001p+0, false, false, 20407 + + 0x1.000000000000000000001p+0, false, false, 20408 + + 0x1.000000000000000000001p+0, false, false, 20409 + + true, 20410 + + 0x1.000000000000000000001p+0, false, false, 20411 + + 0x1.000000000000000000001p+0, false, false, 20412 + + 0x1.000000000000000000001p+0, false, false, 20413 + + 0x1.000000000000000000001p+0, false, false), 20414 + TEST ("1.0000000000000000000000000258493941422821148397315216271863" 20415 + "391739316284656524658203125", 20416 + false, 20417 + - 0x1p+0, false, 20418 + - 0x1p+0, false, 20419 + - 0x1p+0, false, 20420 + - 0x1.000002p+0, false, 20421 + - false, 20422 + - 0x1p+0, false, 20423 + - 0x1p+0, false, 20424 + - 0x1p+0, false, 20425 + - 0x1.0000000000001p+0, false, 20426 + - false, 20427 + - 0x1p+0, false, 20428 + - 0x1p+0, false, 20429 + - 0x1p+0, false, 20430 + - 0x1.0000000000000002p+0, false, 20431 + - false, 20432 + - 0x1p+0, false, 20433 + - 0x1p+0, false, 20434 + - 0x1p+0, false, 20435 + - 0x1.0000000000000002p+0, false, 20436 + - true, 20437 + - 0x1.0000000000000000000008p+0, false, 20438 + - 0x1.0000000000000000000008p+0, false, 20439 + - 0x1.0000000000000000000008p+0, false, 20440 + - 0x1.0000000000000000000008p+0, false, 20441 + - true, 20442 + - 0x1.0000000000000000000008p+0, false, 20443 + - 0x1.0000000000000000000008p+0, false, 20444 + - 0x1.0000000000000000000008p+0, false, 20445 + - 0x1.0000000000000000000008p+0, false), 20446 + + 0x1p+0, false, false, 20447 + + 0x1p+0, false, false, 20448 + + 0x1p+0, false, false, 20449 + + 0x1.000002p+0, false, false, 20450 + + false, 20451 + + 0x1p+0, false, false, 20452 + + 0x1p+0, false, false, 20453 + + 0x1p+0, false, false, 20454 + + 0x1.0000000000001p+0, false, false, 20455 + + false, 20456 + + 0x1p+0, false, false, 20457 + + 0x1p+0, false, false, 20458 + + 0x1p+0, false, false, 20459 + + 0x1.0000000000000002p+0, false, false, 20460 + + false, 20461 + + 0x1p+0, false, false, 20462 + + 0x1p+0, false, false, 20463 + + 0x1p+0, false, false, 20464 + + 0x1.0000000000000002p+0, false, false, 20465 + + true, 20466 + + 0x1.0000000000000000000008p+0, false, false, 20467 + + 0x1.0000000000000000000008p+0, false, false, 20468 + + 0x1.0000000000000000000008p+0, false, false, 20469 + + 0x1.0000000000000000000008p+0, false, false, 20470 + + true, 20471 + + 0x1.0000000000000000000008p+0, false, false, 20472 + + 0x1.0000000000000000000008p+0, false, false, 20473 + + 0x1.0000000000000000000008p+0, false, false, 20474 + + 0x1.0000000000000000000008p+0, false, false), 20475 + TEST ("1.0000000000000000000000000129246970711410574198657608135931" 20476 + "6958696581423282623291015625", 20477 + false, 20478 + - 0x1p+0, false, 20479 + - 0x1p+0, false, 20480 + - 0x1p+0, false, 20481 + - 0x1.000002p+0, false, 20482 + - false, 20483 + - 0x1p+0, false, 20484 + - 0x1p+0, false, 20485 + - 0x1p+0, false, 20486 + - 0x1.0000000000001p+0, false, 20487 + - false, 20488 + - 0x1p+0, false, 20489 + - 0x1p+0, false, 20490 + - 0x1p+0, false, 20491 + - 0x1.0000000000000002p+0, false, 20492 + - false, 20493 + - 0x1p+0, false, 20494 + - 0x1p+0, false, 20495 + - 0x1p+0, false, 20496 + - 0x1.0000000000000002p+0, false, 20497 + - true, 20498 + - 0x1.0000000000000000000004p+0, false, 20499 + - 0x1.0000000000000000000004p+0, false, 20500 + - 0x1.0000000000000000000004p+0, false, 20501 + - 0x1.0000000000000000000004p+0, false, 20502 + - true, 20503 + - 0x1.0000000000000000000004p+0, false, 20504 + - 0x1.0000000000000000000004p+0, false, 20505 + - 0x1.0000000000000000000004p+0, false, 20506 + - 0x1.0000000000000000000004p+0, false), 20507 + + 0x1p+0, false, false, 20508 + + 0x1p+0, false, false, 20509 + + 0x1p+0, false, false, 20510 + + 0x1.000002p+0, false, false, 20511 + + false, 20512 + + 0x1p+0, false, false, 20513 + + 0x1p+0, false, false, 20514 + + 0x1p+0, false, false, 20515 + + 0x1.0000000000001p+0, false, false, 20516 + + false, 20517 + + 0x1p+0, false, false, 20518 + + 0x1p+0, false, false, 20519 + + 0x1p+0, false, false, 20520 + + 0x1.0000000000000002p+0, false, false, 20521 + + false, 20522 + + 0x1p+0, false, false, 20523 + + 0x1p+0, false, false, 20524 + + 0x1p+0, false, false, 20525 + + 0x1.0000000000000002p+0, false, false, 20526 + + true, 20527 + + 0x1.0000000000000000000004p+0, false, false, 20528 + + 0x1.0000000000000000000004p+0, false, false, 20529 + + 0x1.0000000000000000000004p+0, false, false, 20530 + + 0x1.0000000000000000000004p+0, false, false, 20531 + + true, 20532 + + 0x1.0000000000000000000004p+0, false, false, 20533 + + 0x1.0000000000000000000004p+0, false, false, 20534 + + 0x1.0000000000000000000004p+0, false, false, 20535 + + 0x1.0000000000000000000004p+0, false, false), 20536 + TEST ("1.0000000000000000000000000064623485355705287099328804067965" 20537 + "84793482907116413116455078125", 20538 + false, 20539 + - 0x1p+0, false, 20540 + - 0x1p+0, false, 20541 + - 0x1p+0, false, 20542 + - 0x1.000002p+0, false, 20543 + - false, 20544 + - 0x1p+0, false, 20545 + - 0x1p+0, false, 20546 + - 0x1p+0, false, 20547 + - 0x1.0000000000001p+0, false, 20548 + - false, 20549 + - 0x1p+0, false, 20550 + - 0x1p+0, false, 20551 + - 0x1p+0, false, 20552 + - 0x1.0000000000000002p+0, false, 20553 + - false, 20554 + - 0x1p+0, false, 20555 + - 0x1p+0, false, 20556 + - 0x1p+0, false, 20557 + - 0x1.0000000000000002p+0, false, 20558 + - true, 20559 + - 0x1.0000000000000000000002p+0, false, 20560 + - 0x1.0000000000000000000002p+0, false, 20561 + - 0x1.0000000000000000000002p+0, false, 20562 + - 0x1.0000000000000000000002p+0, false, 20563 + - true, 20564 + - 0x1.0000000000000000000002p+0, false, 20565 + - 0x1.0000000000000000000002p+0, false, 20566 + - 0x1.0000000000000000000002p+0, false, 20567 + - 0x1.0000000000000000000002p+0, false), 20568 + + 0x1p+0, false, false, 20569 + + 0x1p+0, false, false, 20570 + + 0x1p+0, false, false, 20571 + + 0x1.000002p+0, false, false, 20572 + + false, 20573 + + 0x1p+0, false, false, 20574 + + 0x1p+0, false, false, 20575 + + 0x1p+0, false, false, 20576 + + 0x1.0000000000001p+0, false, false, 20577 + + false, 20578 + + 0x1p+0, false, false, 20579 + + 0x1p+0, false, false, 20580 + + 0x1p+0, false, false, 20581 + + 0x1.0000000000000002p+0, false, false, 20582 + + false, 20583 + + 0x1p+0, false, false, 20584 + + 0x1p+0, false, false, 20585 + + 0x1p+0, false, false, 20586 + + 0x1.0000000000000002p+0, false, false, 20587 + + true, 20588 + + 0x1.0000000000000000000002p+0, false, false, 20589 + + 0x1.0000000000000000000002p+0, false, false, 20590 + + 0x1.0000000000000000000002p+0, false, false, 20591 + + 0x1.0000000000000000000002p+0, false, false, 20592 + + true, 20593 + + 0x1.0000000000000000000002p+0, false, false, 20594 + + 0x1.0000000000000000000002p+0, false, false, 20595 + + 0x1.0000000000000000000002p+0, false, false, 20596 + + 0x1.0000000000000000000002p+0, false, false), 20597 + TEST ("1.0000000000000000000000000032311742677852643549664402033982" 20598 + "923967414535582065582275390625", 20599 + false, 20600 + - 0x1p+0, false, 20601 + - 0x1p+0, false, 20602 + - 0x1p+0, false, 20603 + - 0x1.000002p+0, false, 20604 + - false, 20605 + - 0x1p+0, false, 20606 + - 0x1p+0, false, 20607 + - 0x1p+0, false, 20608 + - 0x1.0000000000001p+0, false, 20609 + - false, 20610 + - 0x1p+0, false, 20611 + - 0x1p+0, false, 20612 + - 0x1p+0, false, 20613 + - 0x1.0000000000000002p+0, false, 20614 + - false, 20615 + - 0x1p+0, false, 20616 + - 0x1p+0, false, 20617 + - 0x1p+0, false, 20618 + - 0x1.0000000000000002p+0, false, 20619 + - true, 20620 + - 0x1.0000000000000000000001p+0, false, 20621 + - 0x1.0000000000000000000001p+0, false, 20622 + - 0x1.0000000000000000000001p+0, false, 20623 + - 0x1.0000000000000000000001p+0, false, 20624 + - true, 20625 + - 0x1.0000000000000000000001p+0, false, 20626 + - 0x1.0000000000000000000001p+0, false, 20627 + - 0x1.0000000000000000000001p+0, false, 20628 + - 0x1.0000000000000000000001p+0, false), 20629 + + 0x1p+0, false, false, 20630 + + 0x1p+0, false, false, 20631 + + 0x1p+0, false, false, 20632 + + 0x1.000002p+0, false, false, 20633 + + false, 20634 + + 0x1p+0, false, false, 20635 + + 0x1p+0, false, false, 20636 + + 0x1p+0, false, false, 20637 + + 0x1.0000000000001p+0, false, false, 20638 + + false, 20639 + + 0x1p+0, false, false, 20640 + + 0x1p+0, false, false, 20641 + + 0x1p+0, false, false, 20642 + + 0x1.0000000000000002p+0, false, false, 20643 + + false, 20644 + + 0x1p+0, false, false, 20645 + + 0x1p+0, false, false, 20646 + + 0x1p+0, false, false, 20647 + + 0x1.0000000000000002p+0, false, false, 20648 + + true, 20649 + + 0x1.0000000000000000000001p+0, false, false, 20650 + + 0x1.0000000000000000000001p+0, false, false, 20651 + + 0x1.0000000000000000000001p+0, false, false, 20652 + + 0x1.0000000000000000000001p+0, false, false, 20653 + + true, 20654 + + 0x1.0000000000000000000001p+0, false, false, 20655 + + 0x1.0000000000000000000001p+0, false, false, 20656 + + 0x1.0000000000000000000001p+0, false, false, 20657 + + 0x1.0000000000000000000001p+0, false, false), 20658 + TEST ("1.0000000000000000000000000016155871338926321774832201016991" 20659 + "4619837072677910327911376953125", 20660 + false, 20661 + - 0x1p+0, false, 20662 + - 0x1p+0, false, 20663 + - 0x1p+0, false, 20664 + - 0x1.000002p+0, false, 20665 + - false, 20666 + - 0x1p+0, false, 20667 + - 0x1p+0, false, 20668 + - 0x1p+0, false, 20669 + - 0x1.0000000000001p+0, false, 20670 + - false, 20671 + - 0x1p+0, false, 20672 + - 0x1p+0, false, 20673 + - 0x1p+0, false, 20674 + - 0x1.0000000000000002p+0, false, 20675 + - false, 20676 + - 0x1p+0, false, 20677 + - 0x1p+0, false, 20678 + - 0x1p+0, false, 20679 + - 0x1.0000000000000002p+0, false, 20680 + - true, 20681 + - 0x1.00000000000000000000008p+0, false, 20682 + - 0x1.00000000000000000000008p+0, false, 20683 + - 0x1.00000000000000000000008p+0, false, 20684 + - 0x1.00000000000000000000008p+0, false, 20685 + - true, 20686 + - 0x1.00000000000000000000008p+0, false, 20687 + - 0x1.00000000000000000000008p+0, false, 20688 + - 0x1.00000000000000000000008p+0, false, 20689 + - 0x1.00000000000000000000008p+0, false), 20690 + + 0x1p+0, false, false, 20691 + + 0x1p+0, false, false, 20692 + + 0x1p+0, false, false, 20693 + + 0x1.000002p+0, false, false, 20694 + + false, 20695 + + 0x1p+0, false, false, 20696 + + 0x1p+0, false, false, 20697 + + 0x1p+0, false, false, 20698 + + 0x1.0000000000001p+0, false, false, 20699 + + false, 20700 + + 0x1p+0, false, false, 20701 + + 0x1p+0, false, false, 20702 + + 0x1p+0, false, false, 20703 + + 0x1.0000000000000002p+0, false, false, 20704 + + false, 20705 + + 0x1p+0, false, false, 20706 + + 0x1p+0, false, false, 20707 + + 0x1p+0, false, false, 20708 + + 0x1.0000000000000002p+0, false, false, 20709 + + true, 20710 + + 0x1.00000000000000000000008p+0, false, false, 20711 + + 0x1.00000000000000000000008p+0, false, false, 20712 + + 0x1.00000000000000000000008p+0, false, false, 20713 + + 0x1.00000000000000000000008p+0, false, false, 20714 + + true, 20715 + + 0x1.00000000000000000000008p+0, false, false, 20716 + + 0x1.00000000000000000000008p+0, false, false, 20717 + + 0x1.00000000000000000000008p+0, false, false, 20718 + + 0x1.00000000000000000000008p+0, false, false), 20719 + TEST ("1.0000000000000000000000000008077935669463160887416100508495" 20720 + "73099185363389551639556884765625", 20721 + false, 20722 + - 0x1p+0, false, 20723 + - 0x1p+0, false, 20724 + - 0x1p+0, false, 20725 + - 0x1.000002p+0, false, 20726 + - false, 20727 + - 0x1p+0, false, 20728 + - 0x1p+0, false, 20729 + - 0x1p+0, false, 20730 + - 0x1.0000000000001p+0, false, 20731 + - false, 20732 + - 0x1p+0, false, 20733 + - 0x1p+0, false, 20734 + - 0x1p+0, false, 20735 + - 0x1.0000000000000002p+0, false, 20736 + - false, 20737 + - 0x1p+0, false, 20738 + - 0x1p+0, false, 20739 + - 0x1p+0, false, 20740 + - 0x1.0000000000000002p+0, false, 20741 + - true, 20742 + - 0x1.00000000000000000000004p+0, false, 20743 + - 0x1.00000000000000000000004p+0, false, 20744 + - 0x1.00000000000000000000004p+0, false, 20745 + - 0x1.00000000000000000000004p+0, false, 20746 + - true, 20747 + - 0x1.00000000000000000000004p+0, false, 20748 + - 0x1.00000000000000000000004p+0, false, 20749 + - 0x1.00000000000000000000004p+0, false, 20750 + - 0x1.00000000000000000000004p+0, false), 20751 + + 0x1p+0, false, false, 20752 + + 0x1p+0, false, false, 20753 + + 0x1p+0, false, false, 20754 + + 0x1.000002p+0, false, false, 20755 + + false, 20756 + + 0x1p+0, false, false, 20757 + + 0x1p+0, false, false, 20758 + + 0x1p+0, false, false, 20759 + + 0x1.0000000000001p+0, false, false, 20760 + + false, 20761 + + 0x1p+0, false, false, 20762 + + 0x1p+0, false, false, 20763 + + 0x1p+0, false, false, 20764 + + 0x1.0000000000000002p+0, false, false, 20765 + + false, 20766 + + 0x1p+0, false, false, 20767 + + 0x1p+0, false, false, 20768 + + 0x1p+0, false, false, 20769 + + 0x1.0000000000000002p+0, false, false, 20770 + + true, 20771 + + 0x1.00000000000000000000004p+0, false, false, 20772 + + 0x1.00000000000000000000004p+0, false, false, 20773 + + 0x1.00000000000000000000004p+0, false, false, 20774 + + 0x1.00000000000000000000004p+0, false, false, 20775 + + true, 20776 + + 0x1.00000000000000000000004p+0, false, false, 20777 + + 0x1.00000000000000000000004p+0, false, false, 20778 + + 0x1.00000000000000000000004p+0, false, false, 20779 + + 0x1.00000000000000000000004p+0, false, false), 20780 + TEST ("1.0000000000000000000000000004038967834731580443708050254247" 20781 + "865495926816947758197784423828125", 20782 + false, 20783 + - 0x1p+0, false, 20784 + - 0x1p+0, false, 20785 + - 0x1p+0, false, 20786 + - 0x1.000002p+0, false, 20787 + - false, 20788 + - 0x1p+0, false, 20789 + - 0x1p+0, false, 20790 + - 0x1p+0, false, 20791 + - 0x1.0000000000001p+0, false, 20792 + - false, 20793 + - 0x1p+0, false, 20794 + - 0x1p+0, false, 20795 + - 0x1p+0, false, 20796 + - 0x1.0000000000000002p+0, false, 20797 + - false, 20798 + - 0x1p+0, false, 20799 + - 0x1p+0, false, 20800 + - 0x1p+0, false, 20801 + - 0x1.0000000000000002p+0, false, 20802 + - true, 20803 + - 0x1.00000000000000000000002p+0, false, 20804 + - 0x1.00000000000000000000002p+0, false, 20805 + - 0x1.00000000000000000000002p+0, false, 20806 + - 0x1.00000000000000000000002p+0, false, 20807 + - true, 20808 + - 0x1.00000000000000000000002p+0, false, 20809 + - 0x1.00000000000000000000002p+0, false, 20810 + - 0x1.00000000000000000000002p+0, false, 20811 + - 0x1.00000000000000000000002p+0, false), 20812 + + 0x1p+0, false, false, 20813 + + 0x1p+0, false, false, 20814 + + 0x1p+0, false, false, 20815 + + 0x1.000002p+0, false, false, 20816 + + false, 20817 + + 0x1p+0, false, false, 20818 + + 0x1p+0, false, false, 20819 + + 0x1p+0, false, false, 20820 + + 0x1.0000000000001p+0, false, false, 20821 + + false, 20822 + + 0x1p+0, false, false, 20823 + + 0x1p+0, false, false, 20824 + + 0x1p+0, false, false, 20825 + + 0x1.0000000000000002p+0, false, false, 20826 + + false, 20827 + + 0x1p+0, false, false, 20828 + + 0x1p+0, false, false, 20829 + + 0x1p+0, false, false, 20830 + + 0x1.0000000000000002p+0, false, false, 20831 + + true, 20832 + + 0x1.00000000000000000000002p+0, false, false, 20833 + + 0x1.00000000000000000000002p+0, false, false, 20834 + + 0x1.00000000000000000000002p+0, false, false, 20835 + + 0x1.00000000000000000000002p+0, false, false, 20836 + + true, 20837 + + 0x1.00000000000000000000002p+0, false, false, 20838 + + 0x1.00000000000000000000002p+0, false, false, 20839 + + 0x1.00000000000000000000002p+0, false, false, 20840 + + 0x1.00000000000000000000002p+0, false, false), 20841 + TEST ("1.0000000000000000000000000002019483917365790221854025127123" 20842 + "9327479634084738790988922119140625", 20843 + false, 20844 + - 0x1p+0, false, 20845 + - 0x1p+0, false, 20846 + - 0x1p+0, false, 20847 + - 0x1.000002p+0, false, 20848 + - false, 20849 + - 0x1p+0, false, 20850 + - 0x1p+0, false, 20851 + - 0x1p+0, false, 20852 + - 0x1.0000000000001p+0, false, 20853 + - false, 20854 + - 0x1p+0, false, 20855 + - 0x1p+0, false, 20856 + - 0x1p+0, false, 20857 + - 0x1.0000000000000002p+0, false, 20858 + - false, 20859 + - 0x1p+0, false, 20860 + - 0x1p+0, false, 20861 + - 0x1p+0, false, 20862 + - 0x1.0000000000000002p+0, false, 20863 + - true, 20864 + - 0x1.00000000000000000000001p+0, false, 20865 + - 0x1.00000000000000000000001p+0, false, 20866 + - 0x1.00000000000000000000001p+0, false, 20867 + - 0x1.00000000000000000000001p+0, false, 20868 + - true, 20869 + - 0x1.00000000000000000000001p+0, false, 20870 + - 0x1.00000000000000000000001p+0, false, 20871 + - 0x1.00000000000000000000001p+0, false, 20872 + - 0x1.00000000000000000000001p+0, false), 20873 + + 0x1p+0, false, false, 20874 + + 0x1p+0, false, false, 20875 + + 0x1p+0, false, false, 20876 + + 0x1.000002p+0, false, false, 20877 + + false, 20878 + + 0x1p+0, false, false, 20879 + + 0x1p+0, false, false, 20880 + + 0x1p+0, false, false, 20881 + + 0x1.0000000000001p+0, false, false, 20882 + + false, 20883 + + 0x1p+0, false, false, 20884 + + 0x1p+0, false, false, 20885 + + 0x1p+0, false, false, 20886 + + 0x1.0000000000000002p+0, false, false, 20887 + + false, 20888 + + 0x1p+0, false, false, 20889 + + 0x1p+0, false, false, 20890 + + 0x1p+0, false, false, 20891 + + 0x1.0000000000000002p+0, false, false, 20892 + + true, 20893 + + 0x1.00000000000000000000001p+0, false, false, 20894 + + 0x1.00000000000000000000001p+0, false, false, 20895 + + 0x1.00000000000000000000001p+0, false, false, 20896 + + 0x1.00000000000000000000001p+0, false, false, 20897 + + true, 20898 + + 0x1.00000000000000000000001p+0, false, false, 20899 + + 0x1.00000000000000000000001p+0, false, false, 20900 + + 0x1.00000000000000000000001p+0, false, false, 20901 + + 0x1.00000000000000000000001p+0, false, false), 20902 + TEST ("1.0000000000000000000000000001009741958682895110927012563561" 20903 + "96637398170423693954944610595703125", 20904 + false, 20905 + - 0x1p+0, false, 20906 + - 0x1p+0, false, 20907 + - 0x1p+0, false, 20908 + - 0x1.000002p+0, false, 20909 + - false, 20910 + - 0x1p+0, false, 20911 + - 0x1p+0, false, 20912 + - 0x1p+0, false, 20913 + - 0x1.0000000000001p+0, false, 20914 + - false, 20915 + - 0x1p+0, false, 20916 + - 0x1p+0, false, 20917 + - 0x1p+0, false, 20918 + - 0x1.0000000000000002p+0, false, 20919 + - false, 20920 + - 0x1p+0, false, 20921 + - 0x1p+0, false, 20922 + - 0x1p+0, false, 20923 + - 0x1.0000000000000002p+0, false, 20924 + - true, 20925 + - 0x1.000000000000000000000008p+0, false, 20926 + - 0x1.000000000000000000000008p+0, false, 20927 + - 0x1.000000000000000000000008p+0, false, 20928 + - 0x1.000000000000000000000008p+0, false, 20929 + - true, 20930 + - 0x1.000000000000000000000008p+0, false, 20931 + - 0x1.000000000000000000000008p+0, false, 20932 + - 0x1.000000000000000000000008p+0, false, 20933 + - 0x1.000000000000000000000008p+0, false), 20934 + + 0x1p+0, false, false, 20935 + + 0x1p+0, false, false, 20936 + + 0x1p+0, false, false, 20937 + + 0x1.000002p+0, false, false, 20938 + + false, 20939 + + 0x1p+0, false, false, 20940 + + 0x1p+0, false, false, 20941 + + 0x1p+0, false, false, 20942 + + 0x1.0000000000001p+0, false, false, 20943 + + false, 20944 + + 0x1p+0, false, false, 20945 + + 0x1p+0, false, false, 20946 + + 0x1p+0, false, false, 20947 + + 0x1.0000000000000002p+0, false, false, 20948 + + false, 20949 + + 0x1p+0, false, false, 20950 + + 0x1p+0, false, false, 20951 + + 0x1p+0, false, false, 20952 + + 0x1.0000000000000002p+0, false, false, 20953 + + true, 20954 + + 0x1.000000000000000000000008p+0, false, false, 20955 + + 0x1.000000000000000000000008p+0, false, false, 20956 + + 0x1.000000000000000000000008p+0, false, false, 20957 + + 0x1.000000000000000000000008p+0, false, false, 20958 + + true, 20959 + + 0x1.000000000000000000000008p+0, false, false, 20960 + + 0x1.000000000000000000000008p+0, false, false, 20961 + + 0x1.000000000000000000000008p+0, false, false, 20962 + + 0x1.000000000000000000000008p+0, false, false), 20963 + TEST ("1.0000000000000000000000000000504870979341447555463506281780" 20964 + "983186990852118469774723052978515625", 20965 + false, 20966 + - 0x1p+0, false, 20967 + - 0x1p+0, false, 20968 + - 0x1p+0, false, 20969 + - 0x1.000002p+0, false, 20970 + - false, 20971 + - 0x1p+0, false, 20972 + - 0x1p+0, false, 20973 + - 0x1p+0, false, 20974 + - 0x1.0000000000001p+0, false, 20975 + - false, 20976 + - 0x1p+0, false, 20977 + - 0x1p+0, false, 20978 + - 0x1p+0, false, 20979 + - 0x1.0000000000000002p+0, false, 20980 + - false, 20981 + - 0x1p+0, false, 20982 + - 0x1p+0, false, 20983 + - 0x1p+0, false, 20984 + - 0x1.0000000000000002p+0, false, 20985 + - true, 20986 + - 0x1.000000000000000000000004p+0, false, 20987 + - 0x1.000000000000000000000004p+0, false, 20988 + - 0x1.000000000000000000000004p+0, false, 20989 + - 0x1.000000000000000000000004p+0, false, 20990 + - true, 20991 + - 0x1.000000000000000000000004p+0, false, 20992 + - 0x1.000000000000000000000004p+0, false, 20993 + - 0x1.000000000000000000000004p+0, false, 20994 + - 0x1.000000000000000000000004p+0, false), 20995 + + 0x1p+0, false, false, 20996 + + 0x1p+0, false, false, 20997 + + 0x1p+0, false, false, 20998 + + 0x1.000002p+0, false, false, 20999 + + false, 21000 + + 0x1p+0, false, false, 21001 + + 0x1p+0, false, false, 21002 + + 0x1p+0, false, false, 21003 + + 0x1.0000000000001p+0, false, false, 21004 + + false, 21005 + + 0x1p+0, false, false, 21006 + + 0x1p+0, false, false, 21007 + + 0x1p+0, false, false, 21008 + + 0x1.0000000000000002p+0, false, false, 21009 + + false, 21010 + + 0x1p+0, false, false, 21011 + + 0x1p+0, false, false, 21012 + + 0x1p+0, false, false, 21013 + + 0x1.0000000000000002p+0, false, false, 21014 + + true, 21015 + + 0x1.000000000000000000000004p+0, false, false, 21016 + + 0x1.000000000000000000000004p+0, false, false, 21017 + + 0x1.000000000000000000000004p+0, false, false, 21018 + + 0x1.000000000000000000000004p+0, false, false, 21019 + + true, 21020 + + 0x1.000000000000000000000004p+0, false, false, 21021 + + 0x1.000000000000000000000004p+0, false, false, 21022 + + 0x1.000000000000000000000004p+0, false, false, 21023 + + 0x1.000000000000000000000004p+0, false, false), 21024 + TEST ("1.0000000000000000000000000000252435489670723777731753140890" 21025 + "4915934954260592348873615264892578125", 21026 + false, 21027 + - 0x1p+0, false, 21028 + - 0x1p+0, false, 21029 + - 0x1p+0, false, 21030 + - 0x1.000002p+0, false, 21031 + - false, 21032 + - 0x1p+0, false, 21033 + - 0x1p+0, false, 21034 + - 0x1p+0, false, 21035 + - 0x1.0000000000001p+0, false, 21036 + - false, 21037 + - 0x1p+0, false, 21038 + - 0x1p+0, false, 21039 + - 0x1p+0, false, 21040 + - 0x1.0000000000000002p+0, false, 21041 + - false, 21042 + - 0x1p+0, false, 21043 + - 0x1p+0, false, 21044 + - 0x1p+0, false, 21045 + - 0x1.0000000000000002p+0, false, 21046 + - true, 21047 + - 0x1.000000000000000000000002p+0, false, 21048 + - 0x1.000000000000000000000002p+0, false, 21049 + - 0x1.000000000000000000000002p+0, false, 21050 + - 0x1.000000000000000000000002p+0, false, 21051 + - true, 21052 + - 0x1.000000000000000000000002p+0, false, 21053 + - 0x1.000000000000000000000002p+0, false, 21054 + - 0x1.000000000000000000000002p+0, false, 21055 + - 0x1.000000000000000000000002p+0, false), 21056 + + 0x1p+0, false, false, 21057 + + 0x1p+0, false, false, 21058 + + 0x1p+0, false, false, 21059 + + 0x1.000002p+0, false, false, 21060 + + false, 21061 + + 0x1p+0, false, false, 21062 + + 0x1p+0, false, false, 21063 + + 0x1p+0, false, false, 21064 + + 0x1.0000000000001p+0, false, false, 21065 + + false, 21066 + + 0x1p+0, false, false, 21067 + + 0x1p+0, false, false, 21068 + + 0x1p+0, false, false, 21069 + + 0x1.0000000000000002p+0, false, false, 21070 + + false, 21071 + + 0x1p+0, false, false, 21072 + + 0x1p+0, false, false, 21073 + + 0x1p+0, false, false, 21074 + + 0x1.0000000000000002p+0, false, false, 21075 + + true, 21076 + + 0x1.000000000000000000000002p+0, false, false, 21077 + + 0x1.000000000000000000000002p+0, false, false, 21078 + + 0x1.000000000000000000000002p+0, false, false, 21079 + + 0x1.000000000000000000000002p+0, false, false, 21080 + + true, 21081 + + 0x1.000000000000000000000002p+0, false, false, 21082 + + 0x1.000000000000000000000002p+0, false, false, 21083 + + 0x1.000000000000000000000002p+0, false, false, 21084 + + 0x1.000000000000000000000002p+0, false, false), 21085 + TEST ("1.0000000000000000000000000000126217744835361888865876570445" 21086 + "24579674771302961744368076324462890625", 21087 + false, 21088 + - 0x1p+0, false, 21089 + - 0x1p+0, false, 21090 + - 0x1p+0, false, 21091 + - 0x1.000002p+0, false, 21092 + - false, 21093 + - 0x1p+0, false, 21094 + - 0x1p+0, false, 21095 + - 0x1p+0, false, 21096 + - 0x1.0000000000001p+0, false, 21097 + - false, 21098 + - 0x1p+0, false, 21099 + - 0x1p+0, false, 21100 + - 0x1p+0, false, 21101 + - 0x1.0000000000000002p+0, false, 21102 + - false, 21103 + - 0x1p+0, false, 21104 + - 0x1p+0, false, 21105 + - 0x1p+0, false, 21106 + - 0x1.0000000000000002p+0, false, 21107 + - true, 21108 + - 0x1.000000000000000000000001p+0, false, 21109 + - 0x1.000000000000000000000001p+0, false, 21110 + - 0x1.000000000000000000000001p+0, false, 21111 + - 0x1.000000000000000000000001p+0, false, 21112 + - true, 21113 + - 0x1.000000000000000000000001p+0, false, 21114 + - 0x1.000000000000000000000001p+0, false, 21115 + - 0x1.000000000000000000000001p+0, false, 21116 + - 0x1.000000000000000000000001p+0, false), 21117 + + 0x1p+0, false, false, 21118 + + 0x1p+0, false, false, 21119 + + 0x1p+0, false, false, 21120 + + 0x1.000002p+0, false, false, 21121 + + false, 21122 + + 0x1p+0, false, false, 21123 + + 0x1p+0, false, false, 21124 + + 0x1p+0, false, false, 21125 + + 0x1.0000000000001p+0, false, false, 21126 + + false, 21127 + + 0x1p+0, false, false, 21128 + + 0x1p+0, false, false, 21129 + + 0x1p+0, false, false, 21130 + + 0x1.0000000000000002p+0, false, false, 21131 + + false, 21132 + + 0x1p+0, false, false, 21133 + + 0x1p+0, false, false, 21134 + + 0x1p+0, false, false, 21135 + + 0x1.0000000000000002p+0, false, false, 21136 + + true, 21137 + + 0x1.000000000000000000000001p+0, false, false, 21138 + + 0x1.000000000000000000000001p+0, false, false, 21139 + + 0x1.000000000000000000000001p+0, false, false, 21140 + + 0x1.000000000000000000000001p+0, false, false, 21141 + + true, 21142 + + 0x1.000000000000000000000001p+0, false, false, 21143 + + 0x1.000000000000000000000001p+0, false, false, 21144 + + 0x1.000000000000000000000001p+0, false, false, 21145 + + 0x1.000000000000000000000001p+0, false, false), 21146 + TEST ("1.0000000000000000000000000000063108872417680944432938285222" 21147 + "622898373856514808721840381622314453125", 21148 + false, 21149 + - 0x1p+0, false, 21150 + - 0x1p+0, false, 21151 + - 0x1p+0, false, 21152 + - 0x1.000002p+0, false, 21153 + - false, 21154 + - 0x1p+0, false, 21155 + - 0x1p+0, false, 21156 + - 0x1p+0, false, 21157 + - 0x1.0000000000001p+0, false, 21158 + - false, 21159 + - 0x1p+0, false, 21160 + - 0x1p+0, false, 21161 + - 0x1p+0, false, 21162 + - 0x1.0000000000000002p+0, false, 21163 + - false, 21164 + - 0x1p+0, false, 21165 + - 0x1p+0, false, 21166 + - 0x1p+0, false, 21167 + - 0x1.0000000000000002p+0, false, 21168 + - true, 21169 + - 0x1.0000000000000000000000008p+0, false, 21170 + - 0x1.0000000000000000000000008p+0, false, 21171 + - 0x1.0000000000000000000000008p+0, false, 21172 + - 0x1.0000000000000000000000008p+0, false, 21173 + - true, 21174 + - 0x1.0000000000000000000000008p+0, false, 21175 + - 0x1.0000000000000000000000008p+0, false, 21176 + - 0x1.0000000000000000000000008p+0, false, 21177 + - 0x1.0000000000000000000000008p+0, false), 21178 + + 0x1p+0, false, false, 21179 + + 0x1p+0, false, false, 21180 + + 0x1p+0, false, false, 21181 + + 0x1.000002p+0, false, false, 21182 + + false, 21183 + + 0x1p+0, false, false, 21184 + + 0x1p+0, false, false, 21185 + + 0x1p+0, false, false, 21186 + + 0x1.0000000000001p+0, false, false, 21187 + + false, 21188 + + 0x1p+0, false, false, 21189 + + 0x1p+0, false, false, 21190 + + 0x1p+0, false, false, 21191 + + 0x1.0000000000000002p+0, false, false, 21192 + + false, 21193 + + 0x1p+0, false, false, 21194 + + 0x1p+0, false, false, 21195 + + 0x1p+0, false, false, 21196 + + 0x1.0000000000000002p+0, false, false, 21197 + + true, 21198 + + 0x1.0000000000000000000000008p+0, false, false, 21199 + + 0x1.0000000000000000000000008p+0, false, false, 21200 + + 0x1.0000000000000000000000008p+0, false, false, 21201 + + 0x1.0000000000000000000000008p+0, false, false, 21202 + + true, 21203 + + 0x1.0000000000000000000000008p+0, false, false, 21204 + + 0x1.0000000000000000000000008p+0, false, false, 21205 + + 0x1.0000000000000000000000008p+0, false, false, 21206 + + 0x1.0000000000000000000000008p+0, false, false), 21207 + TEST ("1.0000000000000000000000000000031554436208840472216469142611" 21208 + "3114491869282574043609201908111572265625", 21209 + false, 21210 + - 0x1p+0, false, 21211 + - 0x1p+0, false, 21212 + - 0x1p+0, false, 21213 + - 0x1.000002p+0, false, 21214 + - false, 21215 + - 0x1p+0, false, 21216 + - 0x1p+0, false, 21217 + - 0x1p+0, false, 21218 + - 0x1.0000000000001p+0, false, 21219 + - false, 21220 + - 0x1p+0, false, 21221 + - 0x1p+0, false, 21222 + - 0x1p+0, false, 21223 + - 0x1.0000000000000002p+0, false, 21224 + - false, 21225 + - 0x1p+0, false, 21226 + - 0x1p+0, false, 21227 + - 0x1p+0, false, 21228 + - 0x1.0000000000000002p+0, false, 21229 + - true, 21230 + - 0x1.0000000000000000000000004p+0, false, 21231 + - 0x1.0000000000000000000000004p+0, false, 21232 + - 0x1.0000000000000000000000004p+0, false, 21233 + - 0x1.0000000000000000000000004p+0, false, 21234 + - true, 21235 + - 0x1.0000000000000000000000004p+0, false, 21236 + - 0x1.0000000000000000000000004p+0, false, 21237 + - 0x1.0000000000000000000000004p+0, false, 21238 + - 0x1.0000000000000000000000004p+0, false), 21239 + + 0x1p+0, false, false, 21240 + + 0x1p+0, false, false, 21241 + + 0x1p+0, false, false, 21242 + + 0x1.000002p+0, false, false, 21243 + + false, 21244 + + 0x1p+0, false, false, 21245 + + 0x1p+0, false, false, 21246 + + 0x1p+0, false, false, 21247 + + 0x1.0000000000001p+0, false, false, 21248 + + false, 21249 + + 0x1p+0, false, false, 21250 + + 0x1p+0, false, false, 21251 + + 0x1p+0, false, false, 21252 + + 0x1.0000000000000002p+0, false, false, 21253 + + false, 21254 + + 0x1p+0, false, false, 21255 + + 0x1p+0, false, false, 21256 + + 0x1p+0, false, false, 21257 + + 0x1.0000000000000002p+0, false, false, 21258 + + true, 21259 + + 0x1.0000000000000000000000004p+0, false, false, 21260 + + 0x1.0000000000000000000000004p+0, false, false, 21261 + + 0x1.0000000000000000000000004p+0, false, false, 21262 + + 0x1.0000000000000000000000004p+0, false, false, 21263 + + true, 21264 + + 0x1.0000000000000000000000004p+0, false, false, 21265 + + 0x1.0000000000000000000000004p+0, false, false, 21266 + + 0x1.0000000000000000000000004p+0, false, false, 21267 + + 0x1.0000000000000000000000004p+0, false, false), 21268 + TEST ("1.0000000000000000000000000000015777218104420236108234571305" 21269 + "65572459346412870218046009540557861328125", 21270 + false, 21271 + - 0x1p+0, false, 21272 + - 0x1p+0, false, 21273 + - 0x1p+0, false, 21274 + - 0x1.000002p+0, false, 21275 + - false, 21276 + - 0x1p+0, false, 21277 + - 0x1p+0, false, 21278 + - 0x1p+0, false, 21279 + - 0x1.0000000000001p+0, false, 21280 + - false, 21281 + - 0x1p+0, false, 21282 + - 0x1p+0, false, 21283 + - 0x1p+0, false, 21284 + - 0x1.0000000000000002p+0, false, 21285 + - false, 21286 + - 0x1p+0, false, 21287 + - 0x1p+0, false, 21288 + - 0x1p+0, false, 21289 + - 0x1.0000000000000002p+0, false, 21290 + - true, 21291 + - 0x1.0000000000000000000000002p+0, false, 21292 + - 0x1.0000000000000000000000002p+0, false, 21293 + - 0x1.0000000000000000000000002p+0, false, 21294 + - 0x1.0000000000000000000000002p+0, false, 21295 + - true, 21296 + - 0x1.0000000000000000000000002p+0, false, 21297 + - 0x1.0000000000000000000000002p+0, false, 21298 + - 0x1.0000000000000000000000002p+0, false, 21299 + - 0x1.0000000000000000000000002p+0, false), 21300 + + 0x1p+0, false, false, 21301 + + 0x1p+0, false, false, 21302 + + 0x1p+0, false, false, 21303 + + 0x1.000002p+0, false, false, 21304 + + false, 21305 + + 0x1p+0, false, false, 21306 + + 0x1p+0, false, false, 21307 + + 0x1p+0, false, false, 21308 + + 0x1.0000000000001p+0, false, false, 21309 + + false, 21310 + + 0x1p+0, false, false, 21311 + + 0x1p+0, false, false, 21312 + + 0x1p+0, false, false, 21313 + + 0x1.0000000000000002p+0, false, false, 21314 + + false, 21315 + + 0x1p+0, false, false, 21316 + + 0x1p+0, false, false, 21317 + + 0x1p+0, false, false, 21318 + + 0x1.0000000000000002p+0, false, false, 21319 + + true, 21320 + + 0x1.0000000000000000000000002p+0, false, false, 21321 + + 0x1.0000000000000000000000002p+0, false, false, 21322 + + 0x1.0000000000000000000000002p+0, false, false, 21323 + + 0x1.0000000000000000000000002p+0, false, false, 21324 + + true, 21325 + + 0x1.0000000000000000000000002p+0, false, false, 21326 + + 0x1.0000000000000000000000002p+0, false, false, 21327 + + 0x1.0000000000000000000000002p+0, false, false, 21328 + + 0x1.0000000000000000000000002p+0, false, false), 21329 + TEST ("1.0000000000000000000000000000007888609052210118054117285652" 21330 + "827862296732064351090230047702789306640625", 21331 + false, 21332 + - 0x1p+0, false, 21333 + - 0x1p+0, false, 21334 + - 0x1p+0, false, 21335 + - 0x1.000002p+0, false, 21336 + - false, 21337 + - 0x1p+0, false, 21338 + - 0x1p+0, false, 21339 + - 0x1p+0, false, 21340 + - 0x1.0000000000001p+0, false, 21341 + - false, 21342 + - 0x1p+0, false, 21343 + - 0x1p+0, false, 21344 + - 0x1p+0, false, 21345 + - 0x1.0000000000000002p+0, false, 21346 + - false, 21347 + - 0x1p+0, false, 21348 + - 0x1p+0, false, 21349 + - 0x1p+0, false, 21350 + - 0x1.0000000000000002p+0, false, 21351 + - true, 21352 + - 0x1.0000000000000000000000001p+0, false, 21353 + - 0x1.0000000000000000000000001p+0, false, 21354 + - 0x1.0000000000000000000000001p+0, false, 21355 + - 0x1.0000000000000000000000001p+0, false, 21356 + - true, 21357 + - 0x1.0000000000000000000000001p+0, false, 21358 + - 0x1.0000000000000000000000001p+0, false, 21359 + - 0x1.0000000000000000000000001p+0, false, 21360 + - 0x1.0000000000000000000000001p+0, false), 21361 + + 0x1p+0, false, false, 21362 + + 0x1p+0, false, false, 21363 + + 0x1p+0, false, false, 21364 + + 0x1.000002p+0, false, false, 21365 + + false, 21366 + + 0x1p+0, false, false, 21367 + + 0x1p+0, false, false, 21368 + + 0x1p+0, false, false, 21369 + + 0x1.0000000000001p+0, false, false, 21370 + + false, 21371 + + 0x1p+0, false, false, 21372 + + 0x1p+0, false, false, 21373 + + 0x1p+0, false, false, 21374 + + 0x1.0000000000000002p+0, false, false, 21375 + + false, 21376 + + 0x1p+0, false, false, 21377 + + 0x1p+0, false, false, 21378 + + 0x1p+0, false, false, 21379 + + 0x1.0000000000000002p+0, false, false, 21380 + + true, 21381 + + 0x1.0000000000000000000000001p+0, false, false, 21382 + + 0x1.0000000000000000000000001p+0, false, false, 21383 + + 0x1.0000000000000000000000001p+0, false, false, 21384 + + 0x1.0000000000000000000000001p+0, false, false, 21385 + + true, 21386 + + 0x1.0000000000000000000000001p+0, false, false, 21387 + + 0x1.0000000000000000000000001p+0, false, false, 21388 + + 0x1.0000000000000000000000001p+0, false, false, 21389 + + 0x1.0000000000000000000000001p+0, false, false), 21390 + TEST ("1.0000000000000000000000000000003944304526105059027058642826" 21391 + "4139311483660321755451150238513946533203125", 21392 + false, 21393 + - 0x1p+0, false, 21394 + - 0x1p+0, false, 21395 + - 0x1p+0, false, 21396 + - 0x1.000002p+0, false, 21397 + - false, 21398 + - 0x1p+0, false, 21399 + - 0x1p+0, false, 21400 + - 0x1p+0, false, 21401 + - 0x1.0000000000001p+0, false, 21402 + - false, 21403 + - 0x1p+0, false, 21404 + - 0x1p+0, false, 21405 + - 0x1p+0, false, 21406 + - 0x1.0000000000000002p+0, false, 21407 + - false, 21408 + - 0x1p+0, false, 21409 + - 0x1p+0, false, 21410 + - 0x1p+0, false, 21411 + - 0x1.0000000000000002p+0, false, 21412 + - true, 21413 + - 0x1.00000000000000000000000008p+0, false, 21414 + - 0x1.00000000000000000000000008p+0, false, 21415 + - 0x1.00000000000000000000000008p+0, false, 21416 + - 0x1.00000000000000000000000008p+0, false, 21417 + - true, 21418 + - 0x1.00000000000000000000000008p+0, false, 21419 + - 0x1.00000000000000000000000008p+0, false, 21420 + - 0x1.00000000000000000000000008p+0, false, 21421 + - 0x1.00000000000000000000000008p+0, false), 21422 + + 0x1p+0, false, false, 21423 + + 0x1p+0, false, false, 21424 + + 0x1p+0, false, false, 21425 + + 0x1.000002p+0, false, false, 21426 + + false, 21427 + + 0x1p+0, false, false, 21428 + + 0x1p+0, false, false, 21429 + + 0x1p+0, false, false, 21430 + + 0x1.0000000000001p+0, false, false, 21431 + + false, 21432 + + 0x1p+0, false, false, 21433 + + 0x1p+0, false, false, 21434 + + 0x1p+0, false, false, 21435 + + 0x1.0000000000000002p+0, false, false, 21436 + + false, 21437 + + 0x1p+0, false, false, 21438 + + 0x1p+0, false, false, 21439 + + 0x1p+0, false, false, 21440 + + 0x1.0000000000000002p+0, false, false, 21441 + + true, 21442 + + 0x1.00000000000000000000000008p+0, false, false, 21443 + + 0x1.00000000000000000000000008p+0, false, false, 21444 + + 0x1.00000000000000000000000008p+0, false, false, 21445 + + 0x1.00000000000000000000000008p+0, false, false, 21446 + + true, 21447 + + 0x1.00000000000000000000000008p+0, false, false, 21448 + + 0x1.00000000000000000000000008p+0, false, false, 21449 + + 0x1.00000000000000000000000008p+0, false, false, 21450 + + 0x1.00000000000000000000000008p+0, false, false), 21451 + TEST ("1.0000000000000000000000000000001972152263052529513529321413" 21452 + "20696557418301608777255751192569732666015625", 21453 + false, 21454 + - 0x1p+0, false, 21455 + - 0x1p+0, false, 21456 + - 0x1p+0, false, 21457 + - 0x1.000002p+0, false, 21458 + - false, 21459 + - 0x1p+0, false, 21460 + - 0x1p+0, false, 21461 + - 0x1p+0, false, 21462 + - 0x1.0000000000001p+0, false, 21463 + - false, 21464 + - 0x1p+0, false, 21465 + - 0x1p+0, false, 21466 + - 0x1p+0, false, 21467 + - 0x1.0000000000000002p+0, false, 21468 + - false, 21469 + - 0x1p+0, false, 21470 + - 0x1p+0, false, 21471 + - 0x1p+0, false, 21472 + - 0x1.0000000000000002p+0, false, 21473 + - true, 21474 + - 0x1.00000000000000000000000004p+0, false, 21475 + - 0x1.00000000000000000000000004p+0, false, 21476 + - 0x1.00000000000000000000000004p+0, false, 21477 + - 0x1.00000000000000000000000004p+0, false, 21478 + - true, 21479 + - 0x1.00000000000000000000000004p+0, false, 21480 + - 0x1.00000000000000000000000004p+0, false, 21481 + - 0x1.00000000000000000000000004p+0, false, 21482 + - 0x1.00000000000000000000000004p+0, false), 21483 + + 0x1p+0, false, false, 21484 + + 0x1p+0, false, false, 21485 + + 0x1p+0, false, false, 21486 + + 0x1.000002p+0, false, false, 21487 + + false, 21488 + + 0x1p+0, false, false, 21489 + + 0x1p+0, false, false, 21490 + + 0x1p+0, false, false, 21491 + + 0x1.0000000000001p+0, false, false, 21492 + + false, 21493 + + 0x1p+0, false, false, 21494 + + 0x1p+0, false, false, 21495 + + 0x1p+0, false, false, 21496 + + 0x1.0000000000000002p+0, false, false, 21497 + + false, 21498 + + 0x1p+0, false, false, 21499 + + 0x1p+0, false, false, 21500 + + 0x1p+0, false, false, 21501 + + 0x1.0000000000000002p+0, false, false, 21502 + + true, 21503 + + 0x1.00000000000000000000000004p+0, false, false, 21504 + + 0x1.00000000000000000000000004p+0, false, false, 21505 + + 0x1.00000000000000000000000004p+0, false, false, 21506 + + 0x1.00000000000000000000000004p+0, false, false, 21507 + + true, 21508 + + 0x1.00000000000000000000000004p+0, false, false, 21509 + + 0x1.00000000000000000000000004p+0, false, false, 21510 + + 0x1.00000000000000000000000004p+0, false, false, 21511 + + 0x1.00000000000000000000000004p+0, false, false), 21512 + TEST ("1.0000000000000000000000000000000986076131526264756764660706" 21513 + "603482787091508043886278755962848663330078125", 21514 + false, 21515 + - 0x1p+0, false, 21516 + - 0x1p+0, false, 21517 + - 0x1p+0, false, 21518 + - 0x1.000002p+0, false, 21519 + - false, 21520 + - 0x1p+0, false, 21521 + - 0x1p+0, false, 21522 + - 0x1p+0, false, 21523 + - 0x1.0000000000001p+0, false, 21524 + - false, 21525 + - 0x1p+0, false, 21526 + - 0x1p+0, false, 21527 + - 0x1p+0, false, 21528 + - 0x1.0000000000000002p+0, false, 21529 + - false, 21530 + - 0x1p+0, false, 21531 + - 0x1p+0, false, 21532 + - 0x1p+0, false, 21533 + - 0x1.0000000000000002p+0, false, 21534 + - true, 21535 + - 0x1.00000000000000000000000002p+0, false, 21536 + - 0x1.00000000000000000000000002p+0, false, 21537 + - 0x1.00000000000000000000000002p+0, false, 21538 + - 0x1.00000000000000000000000002p+0, false, 21539 + - true, 21540 + - 0x1.00000000000000000000000002p+0, false, 21541 + - 0x1.00000000000000000000000002p+0, false, 21542 + - 0x1.00000000000000000000000002p+0, false, 21543 + - 0x1.00000000000000000000000002p+0, false), 21544 + + 0x1p+0, false, false, 21545 + + 0x1p+0, false, false, 21546 + + 0x1p+0, false, false, 21547 + + 0x1.000002p+0, false, false, 21548 + + false, 21549 + + 0x1p+0, false, false, 21550 + + 0x1p+0, false, false, 21551 + + 0x1p+0, false, false, 21552 + + 0x1.0000000000001p+0, false, false, 21553 + + false, 21554 + + 0x1p+0, false, false, 21555 + + 0x1p+0, false, false, 21556 + + 0x1p+0, false, false, 21557 + + 0x1.0000000000000002p+0, false, false, 21558 + + false, 21559 + + 0x1p+0, false, false, 21560 + + 0x1p+0, false, false, 21561 + + 0x1p+0, false, false, 21562 + + 0x1.0000000000000002p+0, false, false, 21563 + + true, 21564 + + 0x1.00000000000000000000000002p+0, false, false, 21565 + + 0x1.00000000000000000000000002p+0, false, false, 21566 + + 0x1.00000000000000000000000002p+0, false, false, 21567 + + 0x1.00000000000000000000000002p+0, false, false, 21568 + + true, 21569 + + 0x1.00000000000000000000000002p+0, false, false, 21570 + + 0x1.00000000000000000000000002p+0, false, false, 21571 + + 0x1.00000000000000000000000002p+0, false, false, 21572 + + 0x1.00000000000000000000000002p+0, false, false), 21573 + TEST ("1.0000000000000000000000000000000493038065763132378382330353" 21574 + "3017413935457540219431393779814243316650390625", 21575 + false, 21576 + - 0x1p+0, false, 21577 + - 0x1p+0, false, 21578 + - 0x1p+0, false, 21579 + - 0x1.000002p+0, false, 21580 + - false, 21581 + - 0x1p+0, false, 21582 + - 0x1p+0, false, 21583 + - 0x1p+0, false, 21584 + - 0x1.0000000000001p+0, false, 21585 + - false, 21586 + - 0x1p+0, false, 21587 + - 0x1p+0, false, 21588 + - 0x1p+0, false, 21589 + - 0x1.0000000000000002p+0, false, 21590 + - false, 21591 + - 0x1p+0, false, 21592 + - 0x1p+0, false, 21593 + - 0x1p+0, false, 21594 + - 0x1.0000000000000002p+0, false, 21595 + - true, 21596 + - 0x1.00000000000000000000000001p+0, false, 21597 + - 0x1.00000000000000000000000001p+0, false, 21598 + - 0x1.00000000000000000000000001p+0, false, 21599 + - 0x1.00000000000000000000000001p+0, false, 21600 + - true, 21601 + - 0x1.00000000000000000000000001p+0, false, 21602 + - 0x1.00000000000000000000000001p+0, false, 21603 + - 0x1.00000000000000000000000001p+0, false, 21604 + - 0x1.00000000000000000000000001p+0, false), 21605 + + 0x1p+0, false, false, 21606 + + 0x1p+0, false, false, 21607 + + 0x1p+0, false, false, 21608 + + 0x1.000002p+0, false, false, 21609 + + false, 21610 + + 0x1p+0, false, false, 21611 + + 0x1p+0, false, false, 21612 + + 0x1p+0, false, false, 21613 + + 0x1.0000000000001p+0, false, false, 21614 + + false, 21615 + + 0x1p+0, false, false, 21616 + + 0x1p+0, false, false, 21617 + + 0x1p+0, false, false, 21618 + + 0x1.0000000000000002p+0, false, false, 21619 + + false, 21620 + + 0x1p+0, false, false, 21621 + + 0x1p+0, false, false, 21622 + + 0x1p+0, false, false, 21623 + + 0x1.0000000000000002p+0, false, false, 21624 + + true, 21625 + + 0x1.00000000000000000000000001p+0, false, false, 21626 + + 0x1.00000000000000000000000001p+0, false, false, 21627 + + 0x1.00000000000000000000000001p+0, false, false, 21628 + + 0x1.00000000000000000000000001p+0, false, false, 21629 + + true, 21630 + + 0x1.00000000000000000000000001p+0, false, false, 21631 + + 0x1.00000000000000000000000001p+0, false, false, 21632 + + 0x1.00000000000000000000000001p+0, false, false, 21633 + + 0x1.00000000000000000000000001p+0, false, false), 21634 + TEST ("1.0000000000000000000000000000000246519032881566189191165176" 21635 + "65087069677287701097156968899071216583251953125", 21636 + false, 21637 + - 0x1p+0, false, 21638 + - 0x1p+0, false, 21639 + - 0x1p+0, false, 21640 + - 0x1.000002p+0, false, 21641 + - false, 21642 + - 0x1p+0, false, 21643 + - 0x1p+0, false, 21644 + - 0x1p+0, false, 21645 + - 0x1.0000000000001p+0, false, 21646 + - false, 21647 + - 0x1p+0, false, 21648 + - 0x1p+0, false, 21649 + - 0x1p+0, false, 21650 + - 0x1.0000000000000002p+0, false, 21651 + - false, 21652 + - 0x1p+0, false, 21653 + - 0x1p+0, false, 21654 + - 0x1p+0, false, 21655 + - 0x1.0000000000000002p+0, false, 21656 + - true, 21657 + - 0x1.000000000000000000000000008p+0, false, 21658 + - 0x1.000000000000000000000000008p+0, false, 21659 + - 0x1.000000000000000000000000008p+0, false, 21660 + - 0x1.000000000000000000000000008p+0, false, 21661 + - true, 21662 + - 0x1.000000000000000000000000008p+0, false, 21663 + - 0x1.000000000000000000000000008p+0, false, 21664 + - 0x1.000000000000000000000000008p+0, false, 21665 + - 0x1.000000000000000000000000008p+0, false), 21666 + + 0x1p+0, false, false, 21667 + + 0x1p+0, false, false, 21668 + + 0x1p+0, false, false, 21669 + + 0x1.000002p+0, false, false, 21670 + + false, 21671 + + 0x1p+0, false, false, 21672 + + 0x1p+0, false, false, 21673 + + 0x1p+0, false, false, 21674 + + 0x1.0000000000001p+0, false, false, 21675 + + false, 21676 + + 0x1p+0, false, false, 21677 + + 0x1p+0, false, false, 21678 + + 0x1p+0, false, false, 21679 + + 0x1.0000000000000002p+0, false, false, 21680 + + false, 21681 + + 0x1p+0, false, false, 21682 + + 0x1p+0, false, false, 21683 + + 0x1p+0, false, false, 21684 + + 0x1.0000000000000002p+0, false, false, 21685 + + true, 21686 + + 0x1.000000000000000000000000008p+0, false, false, 21687 + + 0x1.000000000000000000000000008p+0, false, false, 21688 + + 0x1.000000000000000000000000008p+0, false, false, 21689 + + 0x1.000000000000000000000000008p+0, false, false, 21690 + + true, 21691 + + 0x1.000000000000000000000000008p+0, false, false, 21692 + + 0x1.000000000000000000000000008p+0, false, false, 21693 + + 0x1.000000000000000000000000008p+0, false, false, 21694 + + 0x1.000000000000000000000000008p+0, false, false), 21695 + TEST ("1.0000000000000000000000000000000123259516440783094595582588" 21696 + "325435348386438505485784844495356082916259765625", 21697 + false, 21698 + - 0x1p+0, false, 21699 + - 0x1p+0, false, 21700 + - 0x1p+0, false, 21701 + - 0x1.000002p+0, false, 21702 + - false, 21703 + - 0x1p+0, false, 21704 + - 0x1p+0, false, 21705 + - 0x1p+0, false, 21706 + - 0x1.0000000000001p+0, false, 21707 + - false, 21708 + - 0x1p+0, false, 21709 + - 0x1p+0, false, 21710 + - 0x1p+0, false, 21711 + - 0x1.0000000000000002p+0, false, 21712 + - false, 21713 + - 0x1p+0, false, 21714 + - 0x1p+0, false, 21715 + - 0x1p+0, false, 21716 + - 0x1.0000000000000002p+0, false, 21717 + - false, 21718 + - 0x1p+0, false, 21719 + - 0x1p+0, false, 21720 + - 0x1p+0, false, 21721 + - 0x1.000000000000000000000000008p+0, false, 21722 + - true, 21723 + - 0x1.000000000000000000000000004p+0, false, 21724 + - 0x1.000000000000000000000000004p+0, false, 21725 + - 0x1.000000000000000000000000004p+0, false, 21726 + - 0x1.000000000000000000000000004p+0, false), 21727 + + 0x1p+0, false, false, 21728 + + 0x1p+0, false, false, 21729 + + 0x1p+0, false, false, 21730 + + 0x1.000002p+0, false, false, 21731 + + false, 21732 + + 0x1p+0, false, false, 21733 + + 0x1p+0, false, false, 21734 + + 0x1p+0, false, false, 21735 + + 0x1.0000000000001p+0, false, false, 21736 + + false, 21737 + + 0x1p+0, false, false, 21738 + + 0x1p+0, false, false, 21739 + + 0x1p+0, false, false, 21740 + + 0x1.0000000000000002p+0, false, false, 21741 + + false, 21742 + + 0x1p+0, false, false, 21743 + + 0x1p+0, false, false, 21744 + + 0x1p+0, false, false, 21745 + + 0x1.0000000000000002p+0, false, false, 21746 + + false, 21747 + + 0x1p+0, false, false, 21748 + + 0x1p+0, false, false, 21749 + + 0x1p+0, false, false, 21750 + + 0x1.000000000000000000000000008p+0, false, false, 21751 + + true, 21752 + + 0x1.000000000000000000000000004p+0, false, false, 21753 + + 0x1.000000000000000000000000004p+0, false, false, 21754 + + 0x1.000000000000000000000000004p+0, false, false, 21755 + + 0x1.000000000000000000000000004p+0, false, false), 21756 + TEST ("1.0000000000000000000000000000000061629758220391547297791294" 21757 + "1627176741932192527428924222476780414581298828125", 21758 + false, 21759 + - 0x1p+0, false, 21760 + - 0x1p+0, false, 21761 + - 0x1p+0, false, 21762 + - 0x1.000002p+0, false, 21763 + - false, 21764 + - 0x1p+0, false, 21765 + - 0x1p+0, false, 21766 + - 0x1p+0, false, 21767 + - 0x1.0000000000001p+0, false, 21768 + - false, 21769 + - 0x1p+0, false, 21770 + - 0x1p+0, false, 21771 + - 0x1p+0, false, 21772 + - 0x1.0000000000000002p+0, false, 21773 + - false, 21774 + - 0x1p+0, false, 21775 + - 0x1p+0, false, 21776 + - 0x1p+0, false, 21777 + - 0x1.0000000000000002p+0, false, 21778 + - false, 21779 + - 0x1p+0, false, 21780 + - 0x1p+0, false, 21781 + - 0x1p+0, false, 21782 + - 0x1.000000000000000000000000008p+0, false, 21783 + - true, 21784 + - 0x1.000000000000000000000000002p+0, false, 21785 + - 0x1.000000000000000000000000002p+0, false, 21786 + - 0x1.000000000000000000000000002p+0, false, 21787 + - 0x1.000000000000000000000000002p+0, false), 21788 + + 0x1p+0, false, false, 21789 + + 0x1p+0, false, false, 21790 + + 0x1p+0, false, false, 21791 + + 0x1.000002p+0, false, false, 21792 + + false, 21793 + + 0x1p+0, false, false, 21794 + + 0x1p+0, false, false, 21795 + + 0x1p+0, false, false, 21796 + + 0x1.0000000000001p+0, false, false, 21797 + + false, 21798 + + 0x1p+0, false, false, 21799 + + 0x1p+0, false, false, 21800 + + 0x1p+0, false, false, 21801 + + 0x1.0000000000000002p+0, false, false, 21802 + + false, 21803 + + 0x1p+0, false, false, 21804 + + 0x1p+0, false, false, 21805 + + 0x1p+0, false, false, 21806 + + 0x1.0000000000000002p+0, false, false, 21807 + + false, 21808 + + 0x1p+0, false, false, 21809 + + 0x1p+0, false, false, 21810 + + 0x1p+0, false, false, 21811 + + 0x1.000000000000000000000000008p+0, false, false, 21812 + + true, 21813 + + 0x1.000000000000000000000000002p+0, false, false, 21814 + + 0x1.000000000000000000000000002p+0, false, false, 21815 + + 0x1.000000000000000000000000002p+0, false, false, 21816 + + 0x1.000000000000000000000000002p+0, false, false), 21817 + TEST ("1.0000000000000000000000000000000030814879110195773648895647" 21818 + "08135883709660962637144621112383902072906494140625", 21819 + false, 21820 + - 0x1p+0, false, 21821 + - 0x1p+0, false, 21822 + - 0x1p+0, false, 21823 + - 0x1.000002p+0, false, 21824 + - false, 21825 + - 0x1p+0, false, 21826 + - 0x1p+0, false, 21827 + - 0x1p+0, false, 21828 + - 0x1.0000000000001p+0, false, 21829 + - false, 21830 + - 0x1p+0, false, 21831 + - 0x1p+0, false, 21832 + - 0x1p+0, false, 21833 + - 0x1.0000000000000002p+0, false, 21834 + - false, 21835 + - 0x1p+0, false, 21836 + - 0x1p+0, false, 21837 + - 0x1p+0, false, 21838 + - 0x1.0000000000000002p+0, false, 21839 + - false, 21840 + - 0x1p+0, false, 21841 + - 0x1p+0, false, 21842 + - 0x1p+0, false, 21843 + - 0x1.000000000000000000000000008p+0, false, 21844 + - true, 21845 + - 0x1.000000000000000000000000001p+0, false, 21846 + - 0x1.000000000000000000000000001p+0, false, 21847 + - 0x1.000000000000000000000000001p+0, false, 21848 + - 0x1.000000000000000000000000001p+0, false), 21849 + + 0x1p+0, false, false, 21850 + + 0x1p+0, false, false, 21851 + + 0x1p+0, false, false, 21852 + + 0x1.000002p+0, false, false, 21853 + + false, 21854 + + 0x1p+0, false, false, 21855 + + 0x1p+0, false, false, 21856 + + 0x1p+0, false, false, 21857 + + 0x1.0000000000001p+0, false, false, 21858 + + false, 21859 + + 0x1p+0, false, false, 21860 + + 0x1p+0, false, false, 21861 + + 0x1p+0, false, false, 21862 + + 0x1.0000000000000002p+0, false, false, 21863 + + false, 21864 + + 0x1p+0, false, false, 21865 + + 0x1p+0, false, false, 21866 + + 0x1p+0, false, false, 21867 + + 0x1.0000000000000002p+0, false, false, 21868 + + false, 21869 + + 0x1p+0, false, false, 21870 + + 0x1p+0, false, false, 21871 + + 0x1p+0, false, false, 21872 + + 0x1.000000000000000000000000008p+0, false, false, 21873 + + true, 21874 + + 0x1.000000000000000000000000001p+0, false, false, 21875 + + 0x1.000000000000000000000000001p+0, false, false, 21876 + + 0x1.000000000000000000000000001p+0, false, false, 21877 + + 0x1.000000000000000000000000001p+0, false, false), 21878 + TEST ("1.0000000000000000000000000000000015407439555097886824447823" 21879 + "540679418548304813185723105561919510364532470703125", 21880 + false, 21881 + - 0x1p+0, false, 21882 + - 0x1p+0, false, 21883 + - 0x1p+0, false, 21884 + - 0x1.000002p+0, false, 21885 + - false, 21886 + - 0x1p+0, false, 21887 + - 0x1p+0, false, 21888 + - 0x1p+0, false, 21889 + - 0x1.0000000000001p+0, false, 21890 + - false, 21891 + - 0x1p+0, false, 21892 + - 0x1p+0, false, 21893 + - 0x1p+0, false, 21894 + - 0x1.0000000000000002p+0, false, 21895 + - false, 21896 + - 0x1p+0, false, 21897 + - 0x1p+0, false, 21898 + - 0x1p+0, false, 21899 + - 0x1.0000000000000002p+0, false, 21900 + - false, 21901 + - 0x1p+0, false, 21902 + - 0x1p+0, false, 21903 + - 0x1p+0, false, 21904 + - 0x1.000000000000000000000000008p+0, false, 21905 + - true, 21906 + - 0x1.0000000000000000000000000008p+0, false, 21907 + - 0x1.0000000000000000000000000008p+0, false, 21908 + - 0x1.0000000000000000000000000008p+0, false, 21909 + - 0x1.0000000000000000000000000008p+0, false), 21910 + + 0x1p+0, false, false, 21911 + + 0x1p+0, false, false, 21912 + + 0x1p+0, false, false, 21913 + + 0x1.000002p+0, false, false, 21914 + + false, 21915 + + 0x1p+0, false, false, 21916 + + 0x1p+0, false, false, 21917 + + 0x1p+0, false, false, 21918 + + 0x1.0000000000001p+0, false, false, 21919 + + false, 21920 + + 0x1p+0, false, false, 21921 + + 0x1p+0, false, false, 21922 + + 0x1p+0, false, false, 21923 + + 0x1.0000000000000002p+0, false, false, 21924 + + false, 21925 + + 0x1p+0, false, false, 21926 + + 0x1p+0, false, false, 21927 + + 0x1p+0, false, false, 21928 + + 0x1.0000000000000002p+0, false, false, 21929 + + false, 21930 + + 0x1p+0, false, false, 21931 + + 0x1p+0, false, false, 21932 + + 0x1p+0, false, false, 21933 + + 0x1.000000000000000000000000008p+0, false, false, 21934 + + true, 21935 + + 0x1.0000000000000000000000000008p+0, false, false, 21936 + + 0x1.0000000000000000000000000008p+0, false, false, 21937 + + 0x1.0000000000000000000000000008p+0, false, false, 21938 + + 0x1.0000000000000000000000000008p+0, false, false), 21939 + TEST ("1.0000000000000000000000000000000007703719777548943412223911" 21940 + "7703397092741524065928615527809597551822662353515625", 21941 + false, 21942 + - 0x1p+0, false, 21943 + - 0x1p+0, false, 21944 + - 0x1p+0, false, 21945 + - 0x1.000002p+0, false, 21946 + - false, 21947 + - 0x1p+0, false, 21948 + - 0x1p+0, false, 21949 + - 0x1p+0, false, 21950 + - 0x1.0000000000001p+0, false, 21951 + - false, 21952 + - 0x1p+0, false, 21953 + - 0x1p+0, false, 21954 + - 0x1p+0, false, 21955 + - 0x1.0000000000000002p+0, false, 21956 + - false, 21957 + - 0x1p+0, false, 21958 + - 0x1p+0, false, 21959 + - 0x1p+0, false, 21960 + - 0x1.0000000000000002p+0, false, 21961 + - false, 21962 + - 0x1p+0, false, 21963 + - 0x1p+0, false, 21964 + - 0x1p+0, false, 21965 + - 0x1.000000000000000000000000008p+0, false, 21966 + - true, 21967 + - 0x1.0000000000000000000000000004p+0, false, 21968 + - 0x1.0000000000000000000000000004p+0, false, 21969 + - 0x1.0000000000000000000000000004p+0, false, 21970 + - 0x1.0000000000000000000000000004p+0, false), 21971 + + 0x1p+0, false, false, 21972 + + 0x1p+0, false, false, 21973 + + 0x1p+0, false, false, 21974 + + 0x1.000002p+0, false, false, 21975 + + false, 21976 + + 0x1p+0, false, false, 21977 + + 0x1p+0, false, false, 21978 + + 0x1p+0, false, false, 21979 + + 0x1.0000000000001p+0, false, false, 21980 + + false, 21981 + + 0x1p+0, false, false, 21982 + + 0x1p+0, false, false, 21983 + + 0x1p+0, false, false, 21984 + + 0x1.0000000000000002p+0, false, false, 21985 + + false, 21986 + + 0x1p+0, false, false, 21987 + + 0x1p+0, false, false, 21988 + + 0x1p+0, false, false, 21989 + + 0x1.0000000000000002p+0, false, false, 21990 + + false, 21991 + + 0x1p+0, false, false, 21992 + + 0x1p+0, false, false, 21993 + + 0x1p+0, false, false, 21994 + + 0x1.000000000000000000000000008p+0, false, false, 21995 + + true, 21996 + + 0x1.0000000000000000000000000004p+0, false, false, 21997 + + 0x1.0000000000000000000000000004p+0, false, false, 21998 + + 0x1.0000000000000000000000000004p+0, false, false, 21999 + + 0x1.0000000000000000000000000004p+0, false, false), 22000 + TEST ("1.0000000000000000000000000000000003851859888774471706111955" 22001 + "88516985463707620329643077639047987759113311767578125", 22002 + false, 22003 + - 0x1p+0, false, 22004 + - 0x1p+0, false, 22005 + - 0x1p+0, false, 22006 + - 0x1.000002p+0, false, 22007 + - false, 22008 + - 0x1p+0, false, 22009 + - 0x1p+0, false, 22010 + - 0x1p+0, false, 22011 + - 0x1.0000000000001p+0, false, 22012 + - false, 22013 + - 0x1p+0, false, 22014 + - 0x1p+0, false, 22015 + - 0x1p+0, false, 22016 + - 0x1.0000000000000002p+0, false, 22017 + - false, 22018 + - 0x1p+0, false, 22019 + - 0x1p+0, false, 22020 + - 0x1p+0, false, 22021 + - 0x1.0000000000000002p+0, false, 22022 + - false, 22023 + - 0x1p+0, false, 22024 + - 0x1p+0, false, 22025 + - 0x1p+0, false, 22026 + - 0x1.000000000000000000000000008p+0, false, 22027 + - true, 22028 + - 0x1.0000000000000000000000000002p+0, false, 22029 + - 0x1.0000000000000000000000000002p+0, false, 22030 + - 0x1.0000000000000000000000000002p+0, false, 22031 + - 0x1.0000000000000000000000000002p+0, false), 22032 + + 0x1p+0, false, false, 22033 + + 0x1p+0, false, false, 22034 + + 0x1p+0, false, false, 22035 + + 0x1.000002p+0, false, false, 22036 + + false, 22037 + + 0x1p+0, false, false, 22038 + + 0x1p+0, false, false, 22039 + + 0x1p+0, false, false, 22040 + + 0x1.0000000000001p+0, false, false, 22041 + + false, 22042 + + 0x1p+0, false, false, 22043 + + 0x1p+0, false, false, 22044 + + 0x1p+0, false, false, 22045 + + 0x1.0000000000000002p+0, false, false, 22046 + + false, 22047 + + 0x1p+0, false, false, 22048 + + 0x1p+0, false, false, 22049 + + 0x1p+0, false, false, 22050 + + 0x1.0000000000000002p+0, false, false, 22051 + + false, 22052 + + 0x1p+0, false, false, 22053 + + 0x1p+0, false, false, 22054 + + 0x1p+0, false, false, 22055 + + 0x1.000000000000000000000000008p+0, false, false, 22056 + + true, 22057 + + 0x1.0000000000000000000000000002p+0, false, false, 22058 + + 0x1.0000000000000000000000000002p+0, false, false, 22059 + + 0x1.0000000000000000000000000002p+0, false, false, 22060 + + 0x1.0000000000000000000000000002p+0, false, false), 22061 + TEST ("1.0000000000000000000000000000000001925929944387235853055977" 22062 + "942584927318538101648215388195239938795566558837890625", 22063 + false, 22064 + - 0x1p+0, false, 22065 + - 0x1p+0, false, 22066 + - 0x1p+0, false, 22067 + - 0x1.000002p+0, false, 22068 + - false, 22069 + - 0x1p+0, false, 22070 + - 0x1p+0, false, 22071 + - 0x1p+0, false, 22072 + - 0x1.0000000000001p+0, false, 22073 + - false, 22074 + - 0x1p+0, false, 22075 + - 0x1p+0, false, 22076 + - 0x1p+0, false, 22077 + - 0x1.0000000000000002p+0, false, 22078 + - false, 22079 + - 0x1p+0, false, 22080 + - 0x1p+0, false, 22081 + - 0x1p+0, false, 22082 + - 0x1.0000000000000002p+0, false, 22083 + - false, 22084 + - 0x1p+0, false, 22085 + - 0x1p+0, false, 22086 + - 0x1p+0, false, 22087 + - 0x1.000000000000000000000000008p+0, false, 22088 + - true, 22089 + - 0x1.0000000000000000000000000001p+0, false, 22090 + - 0x1.0000000000000000000000000001p+0, false, 22091 + - 0x1.0000000000000000000000000001p+0, false, 22092 + - 0x1.0000000000000000000000000001p+0, false), 22093 + + 0x1p+0, false, false, 22094 + + 0x1p+0, false, false, 22095 + + 0x1p+0, false, false, 22096 + + 0x1.000002p+0, false, false, 22097 + + false, 22098 + + 0x1p+0, false, false, 22099 + + 0x1p+0, false, false, 22100 + + 0x1p+0, false, false, 22101 + + 0x1.0000000000001p+0, false, false, 22102 + + false, 22103 + + 0x1p+0, false, false, 22104 + + 0x1p+0, false, false, 22105 + + 0x1p+0, false, false, 22106 + + 0x1.0000000000000002p+0, false, false, 22107 + + false, 22108 + + 0x1p+0, false, false, 22109 + + 0x1p+0, false, false, 22110 + + 0x1p+0, false, false, 22111 + + 0x1.0000000000000002p+0, false, false, 22112 + + false, 22113 + + 0x1p+0, false, false, 22114 + + 0x1p+0, false, false, 22115 + + 0x1p+0, false, false, 22116 + + 0x1.000000000000000000000000008p+0, false, false, 22117 + + true, 22118 + + 0x1.0000000000000000000000000001p+0, false, false, 22119 + + 0x1.0000000000000000000000000001p+0, false, false, 22120 + + 0x1.0000000000000000000000000001p+0, false, false, 22121 + + 0x1.0000000000000000000000000001p+0, false, false), 22122 + TEST ("1.0000000000000000000000000000000000962964972193617926527988" 22123 + "9712924636592690508241076940976199693977832794189453125", 22124 + false, 22125 + - 0x1p+0, false, 22126 + - 0x1p+0, false, 22127 + - 0x1p+0, false, 22128 + - 0x1.000002p+0, false, 22129 + - false, 22130 + - 0x1p+0, false, 22131 + - 0x1p+0, false, 22132 + - 0x1p+0, false, 22133 + - 0x1.0000000000001p+0, false, 22134 + - false, 22135 + - 0x1p+0, false, 22136 + - 0x1p+0, false, 22137 + - 0x1p+0, false, 22138 + - 0x1.0000000000000002p+0, false, 22139 + - false, 22140 + - 0x1p+0, false, 22141 + - 0x1p+0, false, 22142 + - 0x1p+0, false, 22143 + - 0x1.0000000000000002p+0, false, 22144 + - false, 22145 + - 0x1p+0, false, 22146 + - 0x1p+0, false, 22147 + - 0x1p+0, false, 22148 + - 0x1.000000000000000000000000008p+0, false, 22149 + - false, 22150 + - 0x1p+0, false, 22151 + - 0x1p+0, false, 22152 + - 0x1p+0, false, 22153 + - 0x1.0000000000000000000000000001p+0, false), 22154 + + 0x1p+0, false, false, 22155 + + 0x1p+0, false, false, 22156 + + 0x1p+0, false, false, 22157 + + 0x1.000002p+0, false, false, 22158 + + false, 22159 + + 0x1p+0, false, false, 22160 + + 0x1p+0, false, false, 22161 + + 0x1p+0, false, false, 22162 + + 0x1.0000000000001p+0, false, false, 22163 + + false, 22164 + + 0x1p+0, false, false, 22165 + + 0x1p+0, false, false, 22166 + + 0x1p+0, false, false, 22167 + + 0x1.0000000000000002p+0, false, false, 22168 + + false, 22169 + + 0x1p+0, false, false, 22170 + + 0x1p+0, false, false, 22171 + + 0x1p+0, false, false, 22172 + + 0x1.0000000000000002p+0, false, false, 22173 + + false, 22174 + + 0x1p+0, false, false, 22175 + + 0x1p+0, false, false, 22176 + + 0x1p+0, false, false, 22177 + + 0x1.000000000000000000000000008p+0, false, false, 22178 + + false, 22179 + + 0x1p+0, false, false, 22180 + + 0x1p+0, false, false, 22181 + + 0x1p+0, false, false, 22182 + + 0x1.0000000000000000000000000001p+0, false, false), 22183 + }; 22184 + diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c 22185 + index c3cc0201d4..be081ba416 100644 22186 + --- a/stdlib/tst-strtod-round-skeleton.c 22187 + +++ b/stdlib/tst-strtod-round-skeleton.c 22188 + @@ -30,6 +30,7 @@ 22189 + #include <stdlib.h> 22190 + #include <string.h> 22191 + #include <math-tests.h> 22192 + +#include <tininess.h> 22193 + 22194 + #include "tst-strtod.h" 22195 + 22196 + @@ -139,16 +140,26 @@ 22197 + gen-tst-strtod-round utility to select the appropriately 22198 + rounded long double value for a given format. */ 22199 + #define TEST(s, \ 22200 + - fx, fd, fdo, fn, fno, fz, fzo, fu, fuo, \ 22201 + - dx, dd, ddo, dn, dno, dz, dzo, du, duo, \ 22202 + - ld64ix, ld64id, ld64ido, ld64in, ld64ino, \ 22203 + - ld64iz, ld64izo, ld64iu, ld64iuo, \ 22204 + - ld64mx, ld64md, ld64mdo, ld64mn, ld64mno, \ 22205 + - ld64mz, ld64mzo, ld64mu, ld64muo, \ 22206 + - ld106x, ld106d, ld106do, ld106n, ld106no, \ 22207 + - ld106z, ld106zo, ld106u, ld106uo, \ 22208 + - ld113x, ld113d, ld113do, ld113n, ld113no, \ 22209 + - ld113z, ld113zo, ld113u, ld113uo) \ 22210 + + fx, fd, fdo, fdu, fn, fno, fnu, \ 22211 + + fz, fzo, fzu, fu, fuo, fuu, \ 22212 + + dx, dd, ddo, ddu, dn, dno, dnu, \ 22213 + + dz, dzo, dzu, du, duo, duu, \ 22214 + + ld64ix, ld64id, ld64ido, ld64idu, \ 22215 + + ld64in, ld64ino, ld64inu, \ 22216 + + ld64iz, ld64izo, ld64izu, \ 22217 + + ld64iu, ld64iuo, ld64iuu, \ 22218 + + ld64mx, ld64md, ld64mdo, ld64mdu, \ 22219 + + ld64mn, ld64mno, ld64mnu, \ 22220 + + ld64mz, ld64mzo, ld64mzu, \ 22221 + + ld64mu, ld64muo, ld64muu, \ 22222 + + ld106x, ld106d, ld106do, ld106du, \ 22223 + + ld106n, ld106no, ld106nu, \ 22224 + + ld106z, ld106zo, ld106zu, \ 22225 + + ld106u, ld106uo, ld106uu, \ 22226 + + ld113x, ld113d, ld113do, ld113du, \ 22227 + + ld113n, ld113no, ld113nu, \ 22228 + + ld113z, ld113zo, ld113zu, \ 22229 + + ld113u, ld113uo, ld113uu) \ 22230 + { \ 22231 + L_ (s), \ 22232 + { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) }, \ 22233 + @@ -163,6 +174,12 @@ 22234 + { XNTRY (fdo, ddo, ld64ido, ld64mdo, ld106do, ld113do) }, \ 22235 + { XNTRY (fzo, dzo, ld64izo, ld64mzo, ld106zo, ld113zo) }, \ 22236 + { XNTRY (fuo, duo, ld64iuo, ld64muo, ld106uo, ld113uo) } \ 22237 + + }, \ 22238 + + { \ 22239 + + { XNTRY (fnu, dnu, ld64inu, ld64mnu, ld106nu, ld113nu) }, \ 22240 + + { XNTRY (fdu, ddu, ld64idu, ld64mdu, ld106du, ld113du) }, \ 22241 + + { XNTRY (fzu, dzu, ld64izu, ld64mzu, ld106zu, ld113zu) }, \ 22242 + + { XNTRY (fuu, duu, ld64iuu, ld64muu, ld106uu, ld113uu) } \ 22243 + } \ 22244 + } 22245 + 22246 + @@ -181,11 +198,17 @@ struct test_overflow 22247 + STRUCT_FOREACH_FLOAT_BOOL 22248 + }; 22249 + 22250 + +struct test_underflow 22251 + + { 22252 + + STRUCT_FOREACH_FLOAT_BOOL 22253 + + }; 22254 + + 22255 + struct test { 22256 + const CHAR *s; 22257 + struct test_exactness exact; 22258 + struct test_results r[4]; 22259 + struct test_overflow o[4]; 22260 + + struct test_underflow u[4]; 22261 + }; 22262 + 22263 + /* Include the generated test data. */ 22264 + @@ -203,10 +226,14 @@ struct test { 22265 + # define FE_OVERFLOW 0 22266 + #endif 22267 + 22268 + +#ifndef FE_UNDERFLOW 22269 + +# define FE_UNDERFLOW 0 22270 + +#endif 22271 + + 22272 + #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 22273 + { \ 22274 + feclearexcept (FE_ALL_EXCEPT); \ 22275 + - errno = 0; \ 22276 + + errno = 12345; \ 22277 + FTYPE f = STRTO (FSUF) (s, NULL); \ 22278 + int new_errno = errno; \ 22279 + if (f != expected->FSUF \ 22280 + @@ -265,6 +292,40 @@ struct test { 22281 + s, new_errno, ERANGE); \ 22282 + result = 1; \ 22283 + } \ 22284 + + if (FE_UNDERFLOW != 0) \ 22285 + + { \ 22286 + + bool underflow_raised \ 22287 + + = fetestexcept (FE_UNDERFLOW) != 0; \ 22288 + + if (underflow_raised != underflow->FSUF) \ 22289 + + { \ 22290 + + printf (FNPFXS "to" #FSUF \ 22291 + + " (" STRM ") underflow %d " \ 22292 + + "not %d\n", s, underflow_raised, \ 22293 + + underflow->FSUF); \ 22294 + + if (EXCEPTION_TESTS (FTYPE)) \ 22295 + + result = 1; \ 22296 + + else \ 22297 + + printf ("ignoring this exception error\n"); \ 22298 + + } \ 22299 + + } \ 22300 + + if (underflow->FSUF && new_errno != ERANGE) \ 22301 + + { \ 22302 + + printf (FNPFXS "to" #FSUF \ 22303 + + " (" STRM ") left errno == %d," \ 22304 + + " not %d (ERANGE)\n", \ 22305 + + s, new_errno, ERANGE); \ 22306 + + result = 1; \ 22307 + + } \ 22308 + + if (!overflow->FSUF \ 22309 + + && !underflow->FSUF \ 22310 + + && new_errno != 12345) \ 22311 + + { \ 22312 + + printf (FNPFXS "to" #FSUF \ 22313 + + " (" STRM ") set errno == %d," \ 22314 + + " should be unchanged\n", \ 22315 + + s, new_errno); \ 22316 + + result = 1; \ 22317 + + } \ 22318 + } \ 22319 + } 22320 + 22321 + @@ -272,6 +333,7 @@ static int 22322 + test_in_one_mode (const CHAR *s, const struct test_results *expected, 22323 + const struct test_exactness *exact, 22324 + const struct test_overflow *overflow, 22325 + + const struct test_underflow *underflow, 22326 + const char *mode_name, int rnd_mode) 22327 + { 22328 + int result = 0; 22329 + @@ -307,6 +369,7 @@ do_test (void) 22330 + { 22331 + result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i], 22332 + &tests[i].exact, &tests[i].o[modes[0].rnd_i], 22333 + + &tests[i].u[modes[0].rnd_i], 22334 + modes[0].mode_name, modes[0].rnd_mode); 22335 + for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++) 22336 + { 22337 + @@ -314,7 +377,9 @@ do_test (void) 22338 + { 22339 + result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i], 22340 + &tests[i].exact, 22341 + - &tests[i].o[m->rnd_i], m->mode_name, 22342 + + &tests[i].o[m->rnd_i], 22343 + + &tests[i].u[m->rnd_i], 22344 + + m->mode_name, 22345 + m->rnd_mode); 22346 + fesetround (save_round_mode); 22347 + } 22348 + 22349 + commit d0c1792ad269566f877208ffda91c21dcd1a72e6 22350 + Author: Joseph Myers <josmyers@redhat.com> 22351 + Date: Tue Aug 27 12:41:02 2024 +0000 22352 + 22353 + Fix strtod subnormal rounding (bug 30220) 22354 + 22355 + As reported in bug 30220, the implementation of strtod-family 22356 + functions has a bug in the following case: the input string would, 22357 + with infinite exponent range, take one more bit to represent than is 22358 + available in the normal precision of the return type; the value 22359 + represented is in the subnormal range; and there are no nonzero bits 22360 + in the value, below those that can be represented in subnormal 22361 + precision, other than the least significant bit and possibly the 22362 + 0.5ulp bit. In this case, round_and_return ends up discarding the 22363 + least significant bit. 22364 + 22365 + Fix by saving that bit to merge into more_bits (it can't be merged in 22366 + at the time it's computed, because more_bits mustn't include this bit 22367 + in the case of after-rounding tininess detection checking if the 22368 + result is still subnormal when rounded to normal precision, so merging 22369 + this bit into more_bits needs to take place after that check). 22370 + 22371 + Tested for x86_64. 22372 + 22373 + (cherry picked from commit 457622c2fa8f9f7435822d5287a437bc8be8090d) 22374 + 22375 + diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c 22376 + index be515ce659..beb97b3d0c 100644 22377 + --- a/stdlib/strtod_l.c 22378 + +++ b/stdlib/strtod_l.c 22379 + @@ -222,6 +222,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, 22380 + 22381 + mp_size_t shift = MIN_EXP - 1 - exponent; 22382 + bool is_tiny = true; 22383 + + bool old_half_bit = (round_limb & (((mp_limb_t) 1) << round_bit)) != 0; 22384 + 22385 + more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0; 22386 + if (shift == MANT_DIG) 22387 + @@ -292,6 +293,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, 22388 + round_bit = shift - 1; 22389 + (void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, shift); 22390 + } 22391 + + more_bits |= old_half_bit; 22392 + /* This is a hook for the m68k long double format, where the 22393 + exponent bias is the same for normalized and denormalized 22394 + numbers. */ 22395 + diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data 22396 + index 84ab705709..9489fbcc9c 100644 22397 + --- a/stdlib/tst-strtod-round-data 22398 + +++ b/stdlib/tst-strtod-round-data 22399 + @@ -265,3 +265,15 @@ 22400 + 1.000000000000000000000000000000000385185988877447170611195588516985463707620329643077639047987759113311767578125 22401 + 1.0000000000000000000000000000000001925929944387235853055977942584927318538101648215388195239938795566558837890625 22402 + 1.00000000000000000000000000000000009629649721936179265279889712924636592690508241076940976199693977832794189453125 22403 + +0x30000002222225p-1077 22404 + +0x0.7fffffffffffeap-1022 22405 + +0x0.7fffffffffffe9p-1022 22406 + +0x0.7ffffd4p-126 22407 + +0x0.7ffffffffffffffd4p-16382 22408 + +0x0.7ffffffffffffffd4p-16383 22409 + +0x0.7ffffffffffffffffffffffffffeap-16382 22410 + +0x0.7000004p-126 22411 + +0x0.70000000000002p-1022 22412 + +0x0.70000000000000004p-16382 22413 + +0x0.70000000000000004p-16383 22414 + +0x0.70000000000000000000000000002p-16382 22415 + diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h 22416 + index 13e62dd2b0..ed50eb2537 100644 22417 + --- a/stdlib/tst-strtod-round-data.h 22418 + +++ b/stdlib/tst-strtod-round-data.h 22419 + @@ -15437,4 +15437,376 @@ static const struct test tests[] = { 22420 + 0x1p+0, false, false, 22421 + 0x1p+0, false, false, 22422 + 0x1.0000000000000000000000000001p+0, false, false), 22423 + + TEST ("0x30000002222225p-1077", 22424 + + false, 22425 + + 0x0p+0, false, true, 22426 + + 0x0p+0, false, true, 22427 + + 0x0p+0, false, true, 22428 + + 0x8p-152, false, true, 22429 + + false, 22430 + + 0x1.800000111111p-1024, false, true, 22431 + + 0x1.8000001111114p-1024, false, true, 22432 + + 0x1.800000111111p-1024, false, true, 22433 + + 0x1.8000001111114p-1024, false, true, 22434 + + true, 22435 + + 0x1.80000011111128p-1024, false, false, 22436 + + 0x1.80000011111128p-1024, false, false, 22437 + + 0x1.80000011111128p-1024, false, false, 22438 + + 0x1.80000011111128p-1024, false, false, 22439 + + true, 22440 + + 0x1.80000011111128p-1024, false, false, 22441 + + 0x1.80000011111128p-1024, false, false, 22442 + + 0x1.80000011111128p-1024, false, false, 22443 + + 0x1.80000011111128p-1024, false, false, 22444 + + false, 22445 + + 0x1.800000111111p-1024, false, true, 22446 + + 0x1.8000001111114p-1024, false, true, 22447 + + 0x1.800000111111p-1024, false, true, 22448 + + 0x1.8000001111114p-1024, false, true, 22449 + + true, 22450 + + 0x1.80000011111128p-1024, false, false, 22451 + + 0x1.80000011111128p-1024, false, false, 22452 + + 0x1.80000011111128p-1024, false, false, 22453 + + 0x1.80000011111128p-1024, false, false), 22454 + + TEST ("0x0.7fffffffffffeap-1022", 22455 + + false, 22456 + + 0x0p+0, false, true, 22457 + + 0x0p+0, false, true, 22458 + + 0x0p+0, false, true, 22459 + + 0x8p-152, false, true, 22460 + + false, 22461 + + 0x1.ffffffffffff8p-1024, false, true, 22462 + + 0x1.ffffffffffffcp-1024, false, true, 22463 + + 0x1.ffffffffffff8p-1024, false, true, 22464 + + 0x1.ffffffffffffcp-1024, false, true, 22465 + + true, 22466 + + 0x1.ffffffffffffa8p-1024, false, false, 22467 + + 0x1.ffffffffffffa8p-1024, false, false, 22468 + + 0x1.ffffffffffffa8p-1024, false, false, 22469 + + 0x1.ffffffffffffa8p-1024, false, false, 22470 + + true, 22471 + + 0x1.ffffffffffffa8p-1024, false, false, 22472 + + 0x1.ffffffffffffa8p-1024, false, false, 22473 + + 0x1.ffffffffffffa8p-1024, false, false, 22474 + + 0x1.ffffffffffffa8p-1024, false, false, 22475 + + false, 22476 + + 0x1.ffffffffffff8p-1024, false, true, 22477 + + 0x1.ffffffffffffcp-1024, false, true, 22478 + + 0x1.ffffffffffff8p-1024, false, true, 22479 + + 0x1.ffffffffffffcp-1024, false, true, 22480 + + true, 22481 + + 0x1.ffffffffffffa8p-1024, false, false, 22482 + + 0x1.ffffffffffffa8p-1024, false, false, 22483 + + 0x1.ffffffffffffa8p-1024, false, false, 22484 + + 0x1.ffffffffffffa8p-1024, false, false), 22485 + + TEST ("0x0.7fffffffffffe9p-1022", 22486 + + false, 22487 + + 0x0p+0, false, true, 22488 + + 0x0p+0, false, true, 22489 + + 0x0p+0, false, true, 22490 + + 0x8p-152, false, true, 22491 + + false, 22492 + + 0x1.ffffffffffff8p-1024, false, true, 22493 + + 0x1.ffffffffffffcp-1024, false, true, 22494 + + 0x1.ffffffffffff8p-1024, false, true, 22495 + + 0x1.ffffffffffffcp-1024, false, true, 22496 + + true, 22497 + + 0x1.ffffffffffffa4p-1024, false, false, 22498 + + 0x1.ffffffffffffa4p-1024, false, false, 22499 + + 0x1.ffffffffffffa4p-1024, false, false, 22500 + + 0x1.ffffffffffffa4p-1024, false, false, 22501 + + true, 22502 + + 0x1.ffffffffffffa4p-1024, false, false, 22503 + + 0x1.ffffffffffffa4p-1024, false, false, 22504 + + 0x1.ffffffffffffa4p-1024, false, false, 22505 + + 0x1.ffffffffffffa4p-1024, false, false, 22506 + + false, 22507 + + 0x1.ffffffffffff8p-1024, false, true, 22508 + + 0x1.ffffffffffffcp-1024, false, true, 22509 + + 0x1.ffffffffffff8p-1024, false, true, 22510 + + 0x1.ffffffffffffcp-1024, false, true, 22511 + + true, 22512 + + 0x1.ffffffffffffa4p-1024, false, false, 22513 + + 0x1.ffffffffffffa4p-1024, false, false, 22514 + + 0x1.ffffffffffffa4p-1024, false, false, 22515 + + 0x1.ffffffffffffa4p-1024, false, false), 22516 + + TEST ("0x0.7ffffd4p-126", 22517 + + false, 22518 + + 0x1.fffffp-128, false, true, 22519 + + 0x1.fffff8p-128, false, true, 22520 + + 0x1.fffffp-128, false, true, 22521 + + 0x1.fffff8p-128, false, true, 22522 + + true, 22523 + + 0x1.fffff5p-128, false, false, 22524 + + 0x1.fffff5p-128, false, false, 22525 + + 0x1.fffff5p-128, false, false, 22526 + + 0x1.fffff5p-128, false, false, 22527 + + true, 22528 + + 0x1.fffff5p-128, false, false, 22529 + + 0x1.fffff5p-128, false, false, 22530 + + 0x1.fffff5p-128, false, false, 22531 + + 0x1.fffff5p-128, false, false, 22532 + + true, 22533 + + 0x1.fffff5p-128, false, false, 22534 + + 0x1.fffff5p-128, false, false, 22535 + + 0x1.fffff5p-128, false, false, 22536 + + 0x1.fffff5p-128, false, false, 22537 + + true, 22538 + + 0x1.fffff5p-128, false, false, 22539 + + 0x1.fffff5p-128, false, false, 22540 + + 0x1.fffff5p-128, false, false, 22541 + + 0x1.fffff5p-128, false, false, 22542 + + true, 22543 + + 0x1.fffff5p-128, false, false, 22544 + + 0x1.fffff5p-128, false, false, 22545 + + 0x1.fffff5p-128, false, false, 22546 + + 0x1.fffff5p-128, false, false), 22547 + + TEST ("0x0.7ffffffffffffffd4p-16382", 22548 + + false, 22549 + + 0x0p+0, false, true, 22550 + + 0x0p+0, false, true, 22551 + + 0x0p+0, false, true, 22552 + + 0x8p-152, false, true, 22553 + + false, 22554 + + 0x0p+0, false, true, 22555 + + 0x0p+0, false, true, 22556 + + 0x0p+0, false, true, 22557 + + 0x4p-1076, false, true, 22558 + + false, 22559 + + 0x1.fffffffffffffffp-16384, false, true, 22560 + + 0x1.fffffffffffffff8p-16384, false, true, 22561 + + 0x1.fffffffffffffffp-16384, false, true, 22562 + + 0x1.fffffffffffffff8p-16384, false, true, 22563 + + false, 22564 + + 0x1.fffffffffffffff4p-16384, false, true, 22565 + + 0x1.fffffffffffffff4p-16384, false, true, 22566 + + 0x1.fffffffffffffff4p-16384, false, true, 22567 + + 0x1.fffffffffffffff8p-16384, false, true, 22568 + + false, 22569 + + 0x0p+0, false, true, 22570 + + 0x0p+0, false, true, 22571 + + 0x0p+0, false, true, 22572 + + 0x4p-1076, false, true, 22573 + + true, 22574 + + 0x1.fffffffffffffff5p-16384, false, false, 22575 + + 0x1.fffffffffffffff5p-16384, false, false, 22576 + + 0x1.fffffffffffffff5p-16384, false, false, 22577 + + 0x1.fffffffffffffff5p-16384, false, false), 22578 + + TEST ("0x0.7ffffffffffffffd4p-16383", 22579 + + false, 22580 + + 0x0p+0, false, true, 22581 + + 0x0p+0, false, true, 22582 + + 0x0p+0, false, true, 22583 + + 0x8p-152, false, true, 22584 + + false, 22585 + + 0x0p+0, false, true, 22586 + + 0x0p+0, false, true, 22587 + + 0x0p+0, false, true, 22588 + + 0x4p-1076, false, true, 22589 + + false, 22590 + + 0xf.ffffffffffffff8p-16388, false, true, 22591 + + 0xf.ffffffffffffff8p-16388, false, true, 22592 + + 0xf.ffffffffffffff8p-16388, false, true, 22593 + + 0x1p-16384, false, true, 22594 + + false, 22595 + + 0xf.ffffffffffffff8p-16388, false, true, 22596 + + 0xf.ffffffffffffffcp-16388, false, true, 22597 + + 0xf.ffffffffffffff8p-16388, false, true, 22598 + + 0xf.ffffffffffffffcp-16388, false, true, 22599 + + false, 22600 + + 0x0p+0, false, true, 22601 + + 0x0p+0, false, true, 22602 + + 0x0p+0, false, true, 22603 + + 0x4p-1076, false, true, 22604 + + true, 22605 + + 0xf.ffffffffffffffa8p-16388, false, false, 22606 + + 0xf.ffffffffffffffa8p-16388, false, false, 22607 + + 0xf.ffffffffffffffa8p-16388, false, false, 22608 + + 0xf.ffffffffffffffa8p-16388, false, false), 22609 + + TEST ("0x0.7ffffffffffffffffffffffffffeap-16382", 22610 + + false, 22611 + + 0x0p+0, false, true, 22612 + + 0x0p+0, false, true, 22613 + + 0x0p+0, false, true, 22614 + + 0x8p-152, false, true, 22615 + + false, 22616 + + 0x0p+0, false, true, 22617 + + 0x0p+0, false, true, 22618 + + 0x0p+0, false, true, 22619 + + 0x4p-1076, false, true, 22620 + + false, 22621 + + 0x1.fffffffffffffff8p-16384, false, true, 22622 + + 0x2p-16384, false, true, 22623 + + 0x1.fffffffffffffff8p-16384, false, true, 22624 + + 0x2p-16384, false, true, 22625 + + false, 22626 + + 0x1.fffffffffffffffcp-16384, false, true, 22627 + + 0x2p-16384, false, true, 22628 + + 0x1.fffffffffffffffcp-16384, false, true, 22629 + + 0x2p-16384, false, true, 22630 + + false, 22631 + + 0x0p+0, false, true, 22632 + + 0x0p+0, false, true, 22633 + + 0x0p+0, false, true, 22634 + + 0x4p-1076, false, true, 22635 + + false, 22636 + + 0x1.fffffffffffffffffffffffffff8p-16384, false, true, 22637 + + 0x1.fffffffffffffffffffffffffffcp-16384, false, true, 22638 + + 0x1.fffffffffffffffffffffffffff8p-16384, false, true, 22639 + + 0x1.fffffffffffffffffffffffffffcp-16384, false, true), 22640 + + TEST ("0x0.7000004p-126", 22641 + + false, 22642 + + 0x1.cp-128, false, true, 22643 + + 0x1.cp-128, false, true, 22644 + + 0x1.cp-128, false, true, 22645 + + 0x1.c00008p-128, false, true, 22646 + + true, 22647 + + 0x1.c00001p-128, false, false, 22648 + + 0x1.c00001p-128, false, false, 22649 + + 0x1.c00001p-128, false, false, 22650 + + 0x1.c00001p-128, false, false, 22651 + + true, 22652 + + 0x1.c00001p-128, false, false, 22653 + + 0x1.c00001p-128, false, false, 22654 + + 0x1.c00001p-128, false, false, 22655 + + 0x1.c00001p-128, false, false, 22656 + + true, 22657 + + 0x1.c00001p-128, false, false, 22658 + + 0x1.c00001p-128, false, false, 22659 + + 0x1.c00001p-128, false, false, 22660 + + 0x1.c00001p-128, false, false, 22661 + + true, 22662 + + 0x1.c00001p-128, false, false, 22663 + + 0x1.c00001p-128, false, false, 22664 + + 0x1.c00001p-128, false, false, 22665 + + 0x1.c00001p-128, false, false, 22666 + + true, 22667 + + 0x1.c00001p-128, false, false, 22668 + + 0x1.c00001p-128, false, false, 22669 + + 0x1.c00001p-128, false, false, 22670 + + 0x1.c00001p-128, false, false), 22671 + + TEST ("0x0.70000000000002p-1022", 22672 + + false, 22673 + + 0x0p+0, false, true, 22674 + + 0x0p+0, false, true, 22675 + + 0x0p+0, false, true, 22676 + + 0x8p-152, false, true, 22677 + + false, 22678 + + 0x1.cp-1024, false, true, 22679 + + 0x1.cp-1024, false, true, 22680 + + 0x1.cp-1024, false, true, 22681 + + 0x1.c000000000004p-1024, false, true, 22682 + + true, 22683 + + 0x1.c0000000000008p-1024, false, false, 22684 + + 0x1.c0000000000008p-1024, false, false, 22685 + + 0x1.c0000000000008p-1024, false, false, 22686 + + 0x1.c0000000000008p-1024, false, false, 22687 + + true, 22688 + + 0x1.c0000000000008p-1024, false, false, 22689 + + 0x1.c0000000000008p-1024, false, false, 22690 + + 0x1.c0000000000008p-1024, false, false, 22691 + + 0x1.c0000000000008p-1024, false, false, 22692 + + false, 22693 + + 0x1.cp-1024, false, true, 22694 + + 0x1.cp-1024, false, true, 22695 + + 0x1.cp-1024, false, true, 22696 + + 0x1.c000000000004p-1024, false, true, 22697 + + true, 22698 + + 0x1.c0000000000008p-1024, false, false, 22699 + + 0x1.c0000000000008p-1024, false, false, 22700 + + 0x1.c0000000000008p-1024, false, false, 22701 + + 0x1.c0000000000008p-1024, false, false), 22702 + + TEST ("0x0.70000000000000004p-16382", 22703 + + false, 22704 + + 0x0p+0, false, true, 22705 + + 0x0p+0, false, true, 22706 + + 0x0p+0, false, true, 22707 + + 0x8p-152, false, true, 22708 + + false, 22709 + + 0x0p+0, false, true, 22710 + + 0x0p+0, false, true, 22711 + + 0x0p+0, false, true, 22712 + + 0x4p-1076, false, true, 22713 + + false, 22714 + + 0x1.cp-16384, false, true, 22715 + + 0x1.cp-16384, false, true, 22716 + + 0x1.cp-16384, false, true, 22717 + + 0x1.c000000000000008p-16384, false, true, 22718 + + false, 22719 + + 0x1.cp-16384, false, true, 22720 + + 0x1.cp-16384, false, true, 22721 + + 0x1.cp-16384, false, true, 22722 + + 0x1.c000000000000004p-16384, false, true, 22723 + + false, 22724 + + 0x0p+0, false, true, 22725 + + 0x0p+0, false, true, 22726 + + 0x0p+0, false, true, 22727 + + 0x4p-1076, false, true, 22728 + + true, 22729 + + 0x1.c000000000000001p-16384, false, false, 22730 + + 0x1.c000000000000001p-16384, false, false, 22731 + + 0x1.c000000000000001p-16384, false, false, 22732 + + 0x1.c000000000000001p-16384, false, false), 22733 + + TEST ("0x0.70000000000000004p-16383", 22734 + + false, 22735 + + 0x0p+0, false, true, 22736 + + 0x0p+0, false, true, 22737 + + 0x0p+0, false, true, 22738 + + 0x8p-152, false, true, 22739 + + false, 22740 + + 0x0p+0, false, true, 22741 + + 0x0p+0, false, true, 22742 + + 0x0p+0, false, true, 22743 + + 0x4p-1076, false, true, 22744 + + false, 22745 + + 0xep-16388, false, true, 22746 + + 0xep-16388, false, true, 22747 + + 0xep-16388, false, true, 22748 + + 0xe.000000000000008p-16388, false, true, 22749 + + false, 22750 + + 0xep-16388, false, true, 22751 + + 0xep-16388, false, true, 22752 + + 0xep-16388, false, true, 22753 + + 0xe.000000000000004p-16388, false, true, 22754 + + false, 22755 + + 0x0p+0, false, true, 22756 + + 0x0p+0, false, true, 22757 + + 0x0p+0, false, true, 22758 + + 0x4p-1076, false, true, 22759 + + true, 22760 + + 0xe.0000000000000008p-16388, false, false, 22761 + + 0xe.0000000000000008p-16388, false, false, 22762 + + 0xe.0000000000000008p-16388, false, false, 22763 + + 0xe.0000000000000008p-16388, false, false), 22764 + + TEST ("0x0.70000000000000000000000000002p-16382", 22765 + + false, 22766 + + 0x0p+0, false, true, 22767 + + 0x0p+0, false, true, 22768 + + 0x0p+0, false, true, 22769 + + 0x8p-152, false, true, 22770 + + false, 22771 + + 0x0p+0, false, true, 22772 + + 0x0p+0, false, true, 22773 + + 0x0p+0, false, true, 22774 + + 0x4p-1076, false, true, 22775 + + false, 22776 + + 0x1.cp-16384, false, true, 22777 + + 0x1.cp-16384, false, true, 22778 + + 0x1.cp-16384, false, true, 22779 + + 0x1.c000000000000008p-16384, false, true, 22780 + + false, 22781 + + 0x1.cp-16384, false, true, 22782 + + 0x1.cp-16384, false, true, 22783 + + 0x1.cp-16384, false, true, 22784 + + 0x1.c000000000000004p-16384, false, true, 22785 + + false, 22786 + + 0x0p+0, false, true, 22787 + + 0x0p+0, false, true, 22788 + + 0x0p+0, false, true, 22789 + + 0x4p-1076, false, true, 22790 + + false, 22791 + + 0x1.cp-16384, false, true, 22792 + + 0x1.cp-16384, false, true, 22793 + + 0x1.cp-16384, false, true, 22794 + + 0x1.c000000000000000000000000004p-16384, false, true), 22795 + }; 22796 + 22797 + commit cac10d88c684c0171e549d813bfef7a31029f257 22798 + Author: Joseph Myers <josmyers@redhat.com> 22799 + Date: Tue Aug 27 20:41:54 2024 +0000 22800 + 22801 + Make __strtod_internal tests type-generic 22802 + 22803 + Some of the strtod tests use type-generic machinery in tst-strtod.h to 22804 + test the strto* functions for all floating types, while others only 22805 + test double even when the tests are in fact meaningful for all 22806 + floating types. 22807 + 22808 + Convert the tests of the internal __strtod_internal interface to cover 22809 + all floating types. I haven't tried to convert them to use newer test 22810 + interfaces in other ways, just made the changes necessary to use the 22811 + type-generic machinery. As an internal interface, there are no 22812 + aliases for different types with the same ABI (however, 22813 + __strtold_internal is defined even if long double has the same ABI as 22814 + double), so macros used by the type-generic testing code are redefined 22815 + as needed to avoid expecting such aliases to be present. 22816 + 22817 + Tested for x86_64. 22818 + 22819 + (cherry picked from commit 3fc063dee01da4f80920a14b7db637c8501d6fd4) 22820 + 22821 + diff --git a/stdlib/tst-strtod1i.c b/stdlib/tst-strtod1i.c 22822 + index 9d6bb760fb..44ae0264f4 100644 22823 + --- a/stdlib/tst-strtod1i.c 22824 + +++ b/stdlib/tst-strtod1i.c 22825 + @@ -25,60 +25,91 @@ 22826 + #include <string.h> 22827 + #include <math.h> 22828 + 22829 + -/* Perform a few tests in a locale with thousands separators. */ 22830 + -static int 22831 + -do_test (void) 22832 + -{ 22833 + - static const struct 22834 + - { 22835 + - const char *loc; 22836 + - const char *str; 22837 + - double exp; 22838 + - ptrdiff_t nread; 22839 + - } tests[] = 22840 + - { 22841 + - { "de_DE.UTF-8", "1,5", 1.5, 3 }, 22842 + - { "de_DE.UTF-8", "1.5", 1.0, 1 }, 22843 + - { "de_DE.UTF-8", "1.500", 1500.0, 5 }, 22844 + - { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65, 26 } 22845 + - }; 22846 + -#define ntests (sizeof (tests) / sizeof (tests[0])) 22847 + - size_t n; 22848 + - int result = 0; 22849 + - 22850 + - puts ("\nLocale tests"); 22851 + +#include "tst-strtod.h" 22852 + 22853 + - for (n = 0; n < ntests; ++n) 22854 + - { 22855 + - double d; 22856 + - char *endp; 22857 + +/* This tests internal interfaces, which are only defined for types 22858 + + with distinct ABIs, so disable testing for types without distinct 22859 + + ABIs. */ 22860 + +#undef IF_FLOAT32 22861 + +#define IF_FLOAT32(x) 22862 + +#undef IF_FLOAT64 22863 + +#define IF_FLOAT64(x) 22864 + +#undef IF_FLOAT32X 22865 + +#define IF_FLOAT32X(x) 22866 + +#undef IF_FLOAT64X 22867 + +#define IF_FLOAT64X(x) 22868 + +#if !__HAVE_DISTINCT_FLOAT128 22869 + +# undef IF_FLOAT128 22870 + +# define IF_FLOAT128(x) 22871 + +#endif 22872 + 22873 + - if (setlocale (LC_ALL, tests[n].loc) == NULL) 22874 + - { 22875 + - printf ("cannot set locale %s\n", tests[n].loc); 22876 + - result = 1; 22877 + - continue; 22878 + - } 22879 + +#define ntests (sizeof (tests) / sizeof (tests[0])) 22880 + 22881 + - d = __strtod_internal (tests[n].str, &endp, 1); 22882 + - if (d != tests[n].exp) 22883 + - { 22884 + - printf ("strtod(\"%s\") returns %g and not %g\n", 22885 + - tests[n].str, d, tests[n].exp); 22886 + - result = 1; 22887 + - } 22888 + - else if (endp - tests[n].str != tests[n].nread) 22889 + - { 22890 + - printf ("strtod(\"%s\") read %td bytes and not %td\n", 22891 + - tests[n].str, endp - tests[n].str, tests[n].nread); 22892 + - result = 1; 22893 + - } 22894 + - } 22895 + +/* Perform a few tests in a locale with thousands separators. */ 22896 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 22897 + +static int \ 22898 + +test_strto ## FSUF (void) \ 22899 + +{ \ 22900 + + static const struct \ 22901 + + { \ 22902 + + const char *loc; \ 22903 + + const char *str; \ 22904 + + FTYPE exp; \ 22905 + + ptrdiff_t nread; \ 22906 + + } tests[] = \ 22907 + + { \ 22908 + + { "de_DE.UTF-8", "1,5", 1.5 ## LSUF, 3 }, \ 22909 + + { "de_DE.UTF-8", "1.5", 1.0 ## LSUF, 1 }, \ 22910 + + { "de_DE.UTF-8", "1.500", 1500.0 ## LSUF, 5 }, \ 22911 + + { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65 ## LSUF, 26 } \ 22912 + + }; \ 22913 + + size_t n; \ 22914 + + int result = 0; \ 22915 + + \ 22916 + + puts ("\nLocale tests"); \ 22917 + + \ 22918 + + for (n = 0; n < ntests; ++n) \ 22919 + + { \ 22920 + + FTYPE d; \ 22921 + + char *endp; \ 22922 + + \ 22923 + + if (setlocale (LC_ALL, tests[n].loc) == NULL) \ 22924 + + { \ 22925 + + printf ("cannot set locale %s\n", tests[n].loc); \ 22926 + + result = 1; \ 22927 + + continue; \ 22928 + + } \ 22929 + + \ 22930 + + d = __strto ## FSUF ## _internal (tests[n].str, &endp, 1); \ 22931 + + if (d != tests[n].exp) \ 22932 + + { \ 22933 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 22934 + + FTOSTR (buf1, sizeof (buf1), "%g", d); \ 22935 + + FTOSTR (buf2, sizeof (buf2), "%g", tests[n].exp); \ 22936 + + printf ("strto" # FSUF "(\"%s\") returns %s and not %s\n", \ 22937 + + tests[n].str, buf1, buf2); \ 22938 + + result = 1; \ 22939 + + } \ 22940 + + else if (endp - tests[n].str != tests[n].nread) \ 22941 + + { \ 22942 + + printf ("strto" # FSUF "(\"%s\") read %td bytes and not %td\n", \ 22943 + + tests[n].str, endp - tests[n].str, tests[n].nread); \ 22944 + + result = 1; \ 22945 + + } \ 22946 + + } \ 22947 + + \ 22948 + + if (result == 0) \ 22949 + + puts ("all OK"); \ 22950 + + \ 22951 + + return result ? EXIT_FAILURE : EXIT_SUCCESS; \ 22952 + +} 22953 + 22954 + - if (result == 0) 22955 + - puts ("all OK"); 22956 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 22957 + 22958 + - return result ? EXIT_FAILURE : EXIT_SUCCESS; 22959 + +static int 22960 + +do_test (void) 22961 + +{ 22962 + + return STRTOD_TEST_FOREACH (test_strto); 22963 + } 22964 + 22965 + #include <support/test-driver.c> 22966 + diff --git a/stdlib/tst-strtod3.c b/stdlib/tst-strtod3.c 22967 + index 23abec1896..0d662d8be8 100644 22968 + --- a/stdlib/tst-strtod3.c 22969 + +++ b/stdlib/tst-strtod3.c 22970 + @@ -3,19 +3,73 @@ 22971 + #include <stdlib.h> 22972 + #include <string.h> 22973 + 22974 + -static const struct 22975 + -{ 22976 + - const char *in; 22977 + - const char *out; 22978 + - double expected; 22979 + -} tests[] = 22980 + - { 22981 + - { "000,,,e1", ",,,e1", 0.0 }, 22982 + - { "000e1", "", 0.0 }, 22983 + - { "000,1e1", ",1e1", 0.0 } 22984 + - }; 22985 + -#define NTESTS (sizeof (tests) / sizeof (tests[0])) 22986 + +#include "tst-strtod.h" 22987 + + 22988 + +/* This tests internal interfaces, which are only defined for types 22989 + + with distinct ABIs, so disable testing for types without distinct 22990 + + ABIs. */ 22991 + +#undef IF_FLOAT32 22992 + +#define IF_FLOAT32(x) 22993 + +#undef IF_FLOAT64 22994 + +#define IF_FLOAT64(x) 22995 + +#undef IF_FLOAT32X 22996 + +#define IF_FLOAT32X(x) 22997 + +#undef IF_FLOAT64X 22998 + +#define IF_FLOAT64X(x) 22999 + +#if !__HAVE_DISTINCT_FLOAT128 23000 + +# undef IF_FLOAT128 23001 + +# define IF_FLOAT128(x) 23002 + +#endif 23003 + 23004 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 23005 + +static const struct \ 23006 + +{ \ 23007 + + const char *in; \ 23008 + + const char *out; \ 23009 + + FTYPE expected; \ 23010 + +} tests_strto ## FSUF[] = \ 23011 + + { \ 23012 + + { "000,,,e1", ",,,e1", 0.0 ## LSUF }, \ 23013 + + { "000e1", "", 0.0 ## LSUF }, \ 23014 + + { "000,1e1", ",1e1", 0.0 ## LSUF } \ 23015 + + }; \ 23016 + + \ 23017 + +static int \ 23018 + +test_strto ## FSUF (void) \ 23019 + +{ \ 23020 + + int status = 0; \ 23021 + + \ 23022 + + for (int i = 0; \ 23023 + + i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ 23024 + + ++i) \ 23025 + + { \ 23026 + + char *ep; \ 23027 + + FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ 23028 + + &ep, 1); \ 23029 + + \ 23030 + + if (strcmp (ep, tests_strto ## FSUF[i].out) != 0) \ 23031 + + { \ 23032 + + printf ("%d: got rest string \"%s\", expected \"%s\"\n", \ 23033 + + i, ep, tests_strto ## FSUF[i].out); \ 23034 + + status = 1; \ 23035 + + } \ 23036 + + \ 23037 + + if (r != tests_strto ## FSUF[i].expected) \ 23038 + + { \ 23039 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 23040 + + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 23041 + + FTOSTR (buf2, sizeof (buf2), "%g", \ 23042 + + tests_strto ## FSUF[i].expected); \ 23043 + + printf ("%d: got wrong results %s, expected %s\n", \ 23044 + + i, buf1, buf2); \ 23045 + + status = 1; \ 23046 + + } \ 23047 + + } \ 23048 + + \ 23049 + + return status; \ 23050 + +} 23051 + + 23052 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 23053 + 23054 + static int 23055 + do_test (void) 23056 + @@ -26,29 +80,7 @@ do_test (void) 23057 + return 1; 23058 + } 23059 + 23060 + - int status = 0; 23061 + - 23062 + - for (int i = 0; i < NTESTS; ++i) 23063 + - { 23064 + - char *ep; 23065 + - double r = __strtod_internal (tests[i].in, &ep, 1); 23066 + - 23067 + - if (strcmp (ep, tests[i].out) != 0) 23068 + - { 23069 + - printf ("%d: got rest string \"%s\", expected \"%s\"\n", 23070 + - i, ep, tests[i].out); 23071 + - status = 1; 23072 + - } 23073 + - 23074 + - if (r != tests[i].expected) 23075 + - { 23076 + - printf ("%d: got wrong results %g, expected %g\n", 23077 + - i, r, tests[i].expected); 23078 + - status = 1; 23079 + - } 23080 + - } 23081 + - 23082 + - return status; 23083 + + return STRTOD_TEST_FOREACH (test_strto); 23084 + } 23085 + 23086 + #define TEST_FUNCTION do_test () 23087 + diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c 23088 + index 6cc4e843c7..dfd3f05027 100644 23089 + --- a/stdlib/tst-strtod4.c 23090 + +++ b/stdlib/tst-strtod4.c 23091 + @@ -3,22 +3,76 @@ 23092 + #include <stdlib.h> 23093 + #include <string.h> 23094 + 23095 + +#include "tst-strtod.h" 23096 + + 23097 + +/* This tests internal interfaces, which are only defined for types 23098 + + with distinct ABIs, so disable testing for types without distinct 23099 + + ABIs. */ 23100 + +#undef IF_FLOAT32 23101 + +#define IF_FLOAT32(x) 23102 + +#undef IF_FLOAT64 23103 + +#define IF_FLOAT64(x) 23104 + +#undef IF_FLOAT32X 23105 + +#define IF_FLOAT32X(x) 23106 + +#undef IF_FLOAT64X 23107 + +#define IF_FLOAT64X(x) 23108 + +#if !__HAVE_DISTINCT_FLOAT128 23109 + +# undef IF_FLOAT128 23110 + +# define IF_FLOAT128(x) 23111 + +#endif 23112 + + 23113 + #define NNBSP "\xe2\x80\xaf" 23114 + 23115 + -static const struct 23116 + -{ 23117 + - const char *in; 23118 + - const char *out; 23119 + - double expected; 23120 + -} tests[] = 23121 + - { 23122 + - { "000"NNBSP"000"NNBSP"000", "", 0.0 }, 23123 + - { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 }, 23124 + - /* Bug 30964 */ 23125 + - { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 } 23126 + - }; 23127 + -#define NTESTS (sizeof (tests) / sizeof (tests[0])) 23128 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 23129 + +static const struct \ 23130 + +{ \ 23131 + + const char *in; \ 23132 + + const char *out; \ 23133 + + FTYPE expected; \ 23134 + +} tests_strto ## FSUF[] = \ 23135 + + { \ 23136 + + { "000"NNBSP"000"NNBSP"000", "", 0.0 ## LSUF }, \ 23137 + + { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 ## LSUF }, \ 23138 + + /* Bug 30964 */ \ 23139 + + { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 ## LSUF } \ 23140 + + }; \ 23141 + + \ 23142 + +static int \ 23143 + +test_strto ## FSUF (void) \ 23144 + +{ \ 23145 + + int status = 0; \ 23146 + + \ 23147 + + for (int i = 0; \ 23148 + + i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ 23149 + + ++i) \ 23150 + + { \ 23151 + + char *ep; \ 23152 + + FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ 23153 + + &ep, 1); \ 23154 + + \ 23155 + + if (strcmp (ep, tests_strto ## FSUF[i].out) != 0) \ 23156 + + { \ 23157 + + printf ("%d: got rest string \"%s\", expected \"%s\"\n", \ 23158 + + i, ep, tests_strto ## FSUF[i].out); \ 23159 + + status = 1; \ 23160 + + } \ 23161 + + \ 23162 + + if (r != tests_strto ## FSUF[i].expected) \ 23163 + + { \ 23164 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 23165 + + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 23166 + + FTOSTR (buf2, sizeof (buf2), "%g", \ 23167 + + tests_strto ## FSUF[i].expected); \ 23168 + + printf ("%d: got wrong results %s, expected %s\n", \ 23169 + + i, buf1, buf2); \ 23170 + + status = 1; \ 23171 + + } \ 23172 + + } \ 23173 + + \ 23174 + + return status; \ 23175 + +} 23176 + 23177 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 23178 + 23179 + static int 23180 + do_test (void) 23181 + @@ -29,29 +83,7 @@ do_test (void) 23182 + return 1; 23183 + } 23184 + 23185 + - int status = 0; 23186 + - 23187 + - for (int i = 0; i < NTESTS; ++i) 23188 + - { 23189 + - char *ep; 23190 + - double r = __strtod_internal (tests[i].in, &ep, 1); 23191 + - 23192 + - if (strcmp (ep, tests[i].out) != 0) 23193 + - { 23194 + - printf ("%d: got rest string \"%s\", expected \"%s\"\n", 23195 + - i, ep, tests[i].out); 23196 + - status = 1; 23197 + - } 23198 + - 23199 + - if (r != tests[i].expected) 23200 + - { 23201 + - printf ("%d: got wrong results %g, expected %g\n", 23202 + - i, r, tests[i].expected); 23203 + - status = 1; 23204 + - } 23205 + - } 23206 + - 23207 + - return status; 23208 + + return STRTOD_TEST_FOREACH (test_strto); 23209 + } 23210 + 23211 + #define TEST_FUNCTION do_test () 23212 + diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c 23213 + index ee54e3404c..136aedea68 100644 23214 + --- a/stdlib/tst-strtod5i.c 23215 + +++ b/stdlib/tst-strtod5i.c 23216 + @@ -16,52 +16,112 @@ 23217 + License along with the GNU C Library; if not, see 23218 + <https://www.gnu.org/licenses/>. */ 23219 + 23220 + +/* Defining _LIBC_TEST ensures long double math functions are 23221 + + declared in the headers. */ 23222 + +#define _LIBC_TEST 1 23223 + #include <locale.h> 23224 + #include <stdio.h> 23225 + #include <stdlib.h> 23226 + #include <string.h> 23227 + #include <math.h> 23228 + 23229 + +#include "tst-strtod.h" 23230 + + 23231 + +/* This tests internal interfaces, which are only defined for types 23232 + + with distinct ABIs, so disable testing for types without distinct 23233 + + ABIs. */ 23234 + +#undef IF_FLOAT32 23235 + +#define IF_FLOAT32(x) 23236 + +#undef IF_FLOAT64 23237 + +#define IF_FLOAT64(x) 23238 + +#undef IF_FLOAT32X 23239 + +#define IF_FLOAT32X(x) 23240 + +#undef IF_FLOAT64X 23241 + +#define IF_FLOAT64X(x) 23242 + +#if !__HAVE_DISTINCT_FLOAT128 23243 + +# undef IF_FLOAT128 23244 + +# define IF_FLOAT128(x) 23245 + +#endif 23246 + + 23247 + #define NNBSP "\xe2\x80\xaf" 23248 + 23249 + -static const struct 23250 + -{ 23251 + - const char *in; 23252 + - int group; 23253 + - double expected; 23254 + -} tests[] = 23255 + - { 23256 + - { "0", 0, 0.0 }, 23257 + - { "000", 0, 0.0 }, 23258 + - { "-0", 0, -0.0 }, 23259 + - { "-000", 0, -0.0 }, 23260 + - { "0,", 0, 0.0 }, 23261 + - { "-0,", 0, -0.0 }, 23262 + - { "0,0", 0, 0.0 }, 23263 + - { "-0,0", 0, -0.0 }, 23264 + - { "0e-10", 0, 0.0 }, 23265 + - { "-0e-10", 0, -0.0 }, 23266 + - { "0,e-10", 0, 0.0 }, 23267 + - { "-0,e-10", 0, -0.0 }, 23268 + - { "0,0e-10", 0, 0.0 }, 23269 + - { "-0,0e-10", 0, -0.0 }, 23270 + - { "0e-1000000", 0, 0.0 }, 23271 + - { "-0e-1000000", 0, -0.0 }, 23272 + - { "0,0e-1000000", 0, 0.0 }, 23273 + - { "-0,0e-1000000", 0, -0.0 }, 23274 + - { "0", 1, 0.0 }, 23275 + - { "000", 1, 0.0 }, 23276 + - { "-0", 1, -0.0 }, 23277 + - { "-000", 1, -0.0 }, 23278 + - { "0e-10", 1, 0.0 }, 23279 + - { "-0e-10", 1, -0.0 }, 23280 + - { "0e-1000000", 1, 0.0 }, 23281 + - { "-0e-1000000", 1, -0.0 }, 23282 + - { "000"NNBSP"000"NNBSP"000", 1, 0.0 }, 23283 + - { "-000"NNBSP"000"NNBSP"000", 1, -0.0 } 23284 + - }; 23285 + -#define NTESTS (sizeof (tests) / sizeof (tests[0])) 23286 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 23287 + +static const struct \ 23288 + +{ \ 23289 + + const char *in; \ 23290 + + int group; \ 23291 + + FTYPE expected; \ 23292 + +} tests_strto ## FSUF[] = \ 23293 + + { \ 23294 + + { "0", 0, 0.0 ## LSUF }, \ 23295 + + { "000", 0, 0.0 ## LSUF }, \ 23296 + + { "-0", 0, -0.0 ## LSUF }, \ 23297 + + { "-000", 0, -0.0 ## LSUF }, \ 23298 + + { "0,", 0, 0.0 ## LSUF }, \ 23299 + + { "-0,", 0, -0.0 ## LSUF }, \ 23300 + + { "0,0", 0, 0.0 ## LSUF }, \ 23301 + + { "-0,0", 0, -0.0 ## LSUF }, \ 23302 + + { "0e-10", 0, 0.0 ## LSUF }, \ 23303 + + { "-0e-10", 0, -0.0 ## LSUF }, \ 23304 + + { "0,e-10", 0, 0.0 ## LSUF }, \ 23305 + + { "-0,e-10", 0, -0.0 ## LSUF }, \ 23306 + + { "0,0e-10", 0, 0.0 ## LSUF }, \ 23307 + + { "-0,0e-10", 0, -0.0 ## LSUF }, \ 23308 + + { "0e-1000000", 0, 0.0 ## LSUF }, \ 23309 + + { "-0e-1000000", 0, -0.0 ## LSUF }, \ 23310 + + { "0,0e-1000000", 0, 0.0 ## LSUF }, \ 23311 + + { "-0,0e-1000000", 0, -0.0 ## LSUF }, \ 23312 + + { "0", 1, 0.0 ## LSUF }, \ 23313 + + { "000", 1, 0.0 ## LSUF }, \ 23314 + + { "-0", 1, -0.0 ## LSUF }, \ 23315 + + { "-000", 1, -0.0 ## LSUF }, \ 23316 + + { "0e-10", 1, 0.0 ## LSUF }, \ 23317 + + { "-0e-10", 1, -0.0 ## LSUF }, \ 23318 + + { "0e-1000000", 1, 0.0 ## LSUF }, \ 23319 + + { "-0e-1000000", 1, -0.0 ## LSUF }, \ 23320 + + { "000"NNBSP"000"NNBSP"000", 1, 0.0 ## LSUF }, \ 23321 + + { "-000"NNBSP"000"NNBSP"000", 1, -0.0 ## LSUF } \ 23322 + + }; \ 23323 + + \ 23324 + +static int \ 23325 + +test_strto ## FSUF (void) \ 23326 + +{ \ 23327 + + int status = 0; \ 23328 + + \ 23329 + + for (int i = 0; \ 23330 + + i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ 23331 + + ++i) \ 23332 + + { \ 23333 + + char *ep; \ 23334 + + FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ 23335 + + &ep, \ 23336 + + tests_strto ## FSUF[i].group); \ 23337 + + \ 23338 + + if (*ep != '\0') \ 23339 + + { \ 23340 + + printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \ 23341 + + status = 1; \ 23342 + + } \ 23343 + + \ 23344 + + if (r != tests_strto ## FSUF[i].expected \ 23345 + + || (copysign ## CSUF (10.0 ## LSUF, r) \ 23346 + + != copysign ## CSUF (10.0 ## LSUF, \ 23347 + + tests_strto ## FSUF[i].expected))) \ 23348 + + { \ 23349 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 23350 + + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 23351 + + FTOSTR (buf2, sizeof (buf2), "%g", \ 23352 + + tests_strto ## FSUF[i].expected); \ 23353 + + printf ("%d: got wrong results %s, expected %s\n", \ 23354 + + i, buf1, buf2); \ 23355 + + status = 1; \ 23356 + + } \ 23357 + + } \ 23358 + + \ 23359 + + return status; \ 23360 + +} 23361 + 23362 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 23363 + 23364 + static int 23365 + do_test (void) 23366 + @@ -72,29 +132,7 @@ do_test (void) 23367 + return 1; 23368 + } 23369 + 23370 + - int status = 0; 23371 + - 23372 + - for (int i = 0; i < NTESTS; ++i) 23373 + - { 23374 + - char *ep; 23375 + - double r = __strtod_internal (tests[i].in, &ep, tests[i].group); 23376 + - 23377 + - if (*ep != '\0') 23378 + - { 23379 + - printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); 23380 + - status = 1; 23381 + - } 23382 + - 23383 + - if (r != tests[i].expected 23384 + - || copysign (10.0, r) != copysign (10.0, tests[i].expected)) 23385 + - { 23386 + - printf ("%d: got wrong results %g, expected %g\n", 23387 + - i, r, tests[i].expected); 23388 + - status = 1; 23389 + - } 23390 + - } 23391 + - 23392 + - return status; 23393 + + return STRTOD_TEST_FOREACH (test_strto); 23394 + } 23395 + 23396 + #include <support/test-driver.c> 23397 + 23398 + commit ad93c2047d791044d45e8f65070d821b0b918993 23399 + Author: Joseph Myers <josmyers@redhat.com> 23400 + Date: Wed Sep 4 13:20:18 2024 +0000 23401 + 23402 + Improve NaN payload testing 23403 + 23404 + There are two separate sets of tests of NaN payloads in glibc: 23405 + 23406 + * libm-test-{get,set}payload* verify that getpayload, setpayload, 23407 + setpayloadsig and __builtin_nan functions are consistent in their 23408 + payload handling. 23409 + 23410 + * test-nan-payload verifies that strtod-family functions and the 23411 + not-built-in nan functions are consistent in their payload handling. 23412 + 23413 + Nothing, however, connects the two sets of functions (i.e., verifies 23414 + that strtod / nan are consistent with getpayload / setpayload / 23415 + __builtin_nan). 23416 + 23417 + Improve test-nan-payload to check actual payload value with getpayload 23418 + rather than just verifying that the strtod and nan functions produce 23419 + the same NaN. Also check that the NaNs produced aren't signaling and 23420 + extend the tests to cover _FloatN / _FloatNx. 23421 + 23422 + Tested for x86_64. 23423 + 23424 + (cherry picked from commit be77d5ae417236883c02d3d67c0716e3f669fa41) 23425 + 23426 + diff --git a/math/test-nan-payload.c b/math/test-nan-payload.c 23427 + index 4a81dc348b..55c13de14e 100644 23428 + --- a/math/test-nan-payload.c 23429 + +++ b/math/test-nan-payload.c 23430 + @@ -16,6 +16,8 @@ 23431 + License along with the GNU C Library; if not, see 23432 + <https://www.gnu.org/licenses/>. */ 23433 + 23434 + +#define _LIBC_TEST 1 23435 + +#define __STDC_WANT_IEC_60559_TYPES_EXT__ 23436 + #include <float.h> 23437 + #include <math.h> 23438 + #include <stdio.h> 23439 + @@ -31,7 +33,7 @@ 23440 + #define CHECK_IS_NAN(TYPE, A) \ 23441 + do \ 23442 + { \ 23443 + - if (isnan (A)) \ 23444 + + if (isnan (A) && !issignaling (A)) \ 23445 + puts ("PASS: " #TYPE " " #A); \ 23446 + else \ 23447 + { \ 23448 + @@ -41,6 +43,19 @@ 23449 + } \ 23450 + while (0) 23451 + 23452 + +#define CHECK_PAYLOAD(TYPE, FUNC, A, P) \ 23453 + + do \ 23454 + + { \ 23455 + + if (FUNC (&(A)) == (P)) \ 23456 + + puts ("PASS: " #TYPE " payload " #A); \ 23457 + + else \ 23458 + + { \ 23459 + + puts ("FAIL: " #TYPE " payload " #A); \ 23460 + + result = 1; \ 23461 + + } \ 23462 + + } \ 23463 + + while (0) 23464 + + 23465 + #define CHECK_SAME_NAN(TYPE, A, B) \ 23466 + do \ 23467 + { \ 23468 + @@ -71,7 +86,7 @@ 23469 + bits. */ 23470 + #define CAN_TEST_EQ(MANT_DIG) ((MANT_DIG) != 64 && (MANT_DIG) != 106) 23471 + 23472 + -#define RUN_TESTS(TYPE, SFUNC, FUNC, MANT_DIG) \ 23473 + +#define RUN_TESTS(TYPE, SFUNC, FUNC, PLFUNC, MANT_DIG) \ 23474 + do \ 23475 + { \ 23476 + TYPE n123 = WRAP_NAN (FUNC, "123"); \ 23477 + @@ -82,6 +97,10 @@ 23478 + CHECK_IS_NAN (TYPE, n456); \ 23479 + TYPE s456 = WRAP_STRTO (SFUNC, "NAN(456)"); \ 23480 + CHECK_IS_NAN (TYPE, s456); \ 23481 + + TYPE nh123 = WRAP_NAN (FUNC, "0x123"); \ 23482 + + CHECK_IS_NAN (TYPE, nh123); \ 23483 + + TYPE sh123 = WRAP_STRTO (SFUNC, "NAN(0x123)"); \ 23484 + + CHECK_IS_NAN (TYPE, sh123); \ 23485 + TYPE n123x = WRAP_NAN (FUNC, "123)"); \ 23486 + CHECK_IS_NAN (TYPE, n123x); \ 23487 + TYPE nemp = WRAP_NAN (FUNC, ""); \ 23488 + @@ -92,8 +111,16 @@ 23489 + CHECK_IS_NAN (TYPE, sx); \ 23490 + if (CAN_TEST_EQ (MANT_DIG)) \ 23491 + CHECK_SAME_NAN (TYPE, n123, s123); \ 23492 + + CHECK_PAYLOAD (TYPE, PLFUNC, n123, 123); \ 23493 + + CHECK_PAYLOAD (TYPE, PLFUNC, s123, 123); \ 23494 + if (CAN_TEST_EQ (MANT_DIG)) \ 23495 + CHECK_SAME_NAN (TYPE, n456, s456); \ 23496 + + CHECK_PAYLOAD (TYPE, PLFUNC, n456, 456); \ 23497 + + CHECK_PAYLOAD (TYPE, PLFUNC, s456, 456); \ 23498 + + if (CAN_TEST_EQ (MANT_DIG)) \ 23499 + + CHECK_SAME_NAN (TYPE, nh123, sh123); \ 23500 + + CHECK_PAYLOAD (TYPE, PLFUNC, nh123, 0x123); \ 23501 + + CHECK_PAYLOAD (TYPE, PLFUNC, sh123, 0x123); \ 23502 + if (CAN_TEST_EQ (MANT_DIG)) \ 23503 + CHECK_SAME_NAN (TYPE, nemp, semp); \ 23504 + if (CAN_TEST_EQ (MANT_DIG)) \ 23505 + @@ -110,9 +137,31 @@ static int 23506 + do_test (void) 23507 + { 23508 + int result = 0; 23509 + - RUN_TESTS (float, strtof, nanf, FLT_MANT_DIG); 23510 + - RUN_TESTS (double, strtod, nan, DBL_MANT_DIG); 23511 + - RUN_TESTS (long double, strtold, nanl, LDBL_MANT_DIG); 23512 + + RUN_TESTS (float, strtof, nanf, getpayloadf, FLT_MANT_DIG); 23513 + + RUN_TESTS (double, strtod, nan, getpayload, DBL_MANT_DIG); 23514 + + RUN_TESTS (long double, strtold, nanl, getpayloadl, LDBL_MANT_DIG); 23515 + +#if __HAVE_FLOAT16 23516 + + RUN_TESTS (_Float16, strtof16, nanf16, getpayloadf16, FLT16_MANT_DIG); 23517 + +#endif 23518 + +#if __HAVE_FLOAT32 23519 + + RUN_TESTS (_Float32, strtof32, nanf32, getpayloadf32, FLT32_MANT_DIG); 23520 + +#endif 23521 + +#if __HAVE_FLOAT64 23522 + + RUN_TESTS (_Float64, strtof64, nanf64, getpayloadf64, FLT64_MANT_DIG); 23523 + +#endif 23524 + +#if __HAVE_FLOAT128 23525 + + RUN_TESTS (_Float128, strtof128, nanf128, getpayloadf128, FLT128_MANT_DIG); 23526 + +#endif 23527 + +#if __HAVE_FLOAT32X 23528 + + RUN_TESTS (_Float32x, strtof32x, nanf32x, getpayloadf32x, FLT32X_MANT_DIG); 23529 + +#endif 23530 + +#if __HAVE_FLOAT64X 23531 + + RUN_TESTS (_Float64x, strtof64x, nanf64x, getpayloadf64x, FLT64X_MANT_DIG); 23532 + +#endif 23533 + +#if __HAVE_FLOAT128X 23534 + + RUN_TESTS (_Float128x, strtof128x, nanf128x, getpayloadf128x, 23535 + + FLT128X_MANT_DIG); 23536 + +#endif 23537 + return result; 23538 + } 23539 + 23540 + 23541 + commit c4cc72d2efc741872d65ae1fd77572e47042d179 23542 + Author: Joseph Myers <josmyers@redhat.com> 23543 + Date: Wed Sep 4 13:21:23 2024 +0000 23544 + 23545 + Do not set errno for overflowing NaN payload in strtod/nan (bug 32045) 23546 + 23547 + As reported in bug 32045, it's incorrect for strtod/nan functions to 23548 + set errno based on overflowing payload (strtod should only set errno 23549 + for overflow / underflow of its actual result, and potentially if 23550 + nothing in the string can be parsed as a number at all; nan should be 23551 + a pure function that never sets it). Save and restore errno around 23552 + the internal strtoull call and add associated test coverage. 23553 + 23554 + Tested for x86_64. 23555 + 23556 + (cherry picked from commit 64f62c47e9c350f353336f2df6714e1d48ec50d8) 23557 + 23558 + diff --git a/math/Makefile b/math/Makefile 23559 + index f06d370383..b64c3eedd5 100644 23560 + --- a/math/Makefile 23561 + +++ b/math/Makefile 23562 + @@ -1077,6 +1077,7 @@ CFLAGS-test-flt-eval-method.c += -fexcess-precision=standard 23563 + CFLAGS-test-fe-snans-always-signal.c += $(config-cflags-signaling-nans) 23564 + 23565 + CFLAGS-test-nan-const.c += -fno-builtin 23566 + +CFLAGS-test-nan-payload.c += -fno-builtin 23567 + 23568 + CFLAGS-test-ceil-except-2.c += -fno-builtin 23569 + CFLAGS-test-floor-except-2.c += -fno-builtin 23570 + diff --git a/math/test-nan-payload.c b/math/test-nan-payload.c 23571 + index 55c13de14e..413791e09f 100644 23572 + --- a/math/test-nan-payload.c 23573 + +++ b/math/test-nan-payload.c 23574 + @@ -18,6 +18,7 @@ 23575 + 23576 + #define _LIBC_TEST 1 23577 + #define __STDC_WANT_IEC_60559_TYPES_EXT__ 23578 + +#include <errno.h> 23579 + #include <float.h> 23580 + #include <math.h> 23581 + #include <stdio.h> 23582 + @@ -82,6 +83,26 @@ 23583 + } \ 23584 + while (0) 23585 + 23586 + +#define CLEAR_ERRNO \ 23587 + + do \ 23588 + + { \ 23589 + + errno = 12345; \ 23590 + + } \ 23591 + + while (0) 23592 + + 23593 + +#define CHECK_ERRNO(TYPE, A) \ 23594 + + do \ 23595 + + { \ 23596 + + if (errno == 12345) \ 23597 + + puts ("PASS: " #TYPE " " #A " errno"); \ 23598 + + else \ 23599 + + { \ 23600 + + puts ("FAIL: " #TYPE " " #A " errno"); \ 23601 + + result = 1; \ 23602 + + } \ 23603 + + } \ 23604 + + while (0) 23605 + + 23606 + /* Cannot test payloads by memcmp for formats where NaNs have padding 23607 + bits. */ 23608 + #define CAN_TEST_EQ(MANT_DIG) ((MANT_DIG) != 64 && (MANT_DIG) != 106) 23609 + @@ -89,26 +110,58 @@ 23610 + #define RUN_TESTS(TYPE, SFUNC, FUNC, PLFUNC, MANT_DIG) \ 23611 + do \ 23612 + { \ 23613 + + CLEAR_ERRNO; \ 23614 + TYPE n123 = WRAP_NAN (FUNC, "123"); \ 23615 + + CHECK_ERRNO (TYPE, n123); \ 23616 + CHECK_IS_NAN (TYPE, n123); \ 23617 + + CLEAR_ERRNO; \ 23618 + TYPE s123 = WRAP_STRTO (SFUNC, "NAN(123)"); \ 23619 + + CHECK_ERRNO (TYPE, s123); \ 23620 + CHECK_IS_NAN (TYPE, s123); \ 23621 + + CLEAR_ERRNO; \ 23622 + TYPE n456 = WRAP_NAN (FUNC, "456"); \ 23623 + + CHECK_ERRNO (TYPE, n456); \ 23624 + CHECK_IS_NAN (TYPE, n456); \ 23625 + + CLEAR_ERRNO; \ 23626 + TYPE s456 = WRAP_STRTO (SFUNC, "NAN(456)"); \ 23627 + + CHECK_ERRNO (TYPE, s456); \ 23628 + CHECK_IS_NAN (TYPE, s456); \ 23629 + + CLEAR_ERRNO; \ 23630 + TYPE nh123 = WRAP_NAN (FUNC, "0x123"); \ 23631 + + CHECK_ERRNO (TYPE, nh123); \ 23632 + CHECK_IS_NAN (TYPE, nh123); \ 23633 + + CLEAR_ERRNO; \ 23634 + TYPE sh123 = WRAP_STRTO (SFUNC, "NAN(0x123)"); \ 23635 + + CHECK_ERRNO (TYPE, sh123); \ 23636 + CHECK_IS_NAN (TYPE, sh123); \ 23637 + + CLEAR_ERRNO; \ 23638 + TYPE n123x = WRAP_NAN (FUNC, "123)"); \ 23639 + + CHECK_ERRNO (TYPE, n123x); \ 23640 + CHECK_IS_NAN (TYPE, n123x); \ 23641 + + CLEAR_ERRNO; \ 23642 + TYPE nemp = WRAP_NAN (FUNC, ""); \ 23643 + + CHECK_ERRNO (TYPE, nemp); \ 23644 + CHECK_IS_NAN (TYPE, nemp); \ 23645 + + CLEAR_ERRNO; \ 23646 + TYPE semp = WRAP_STRTO (SFUNC, "NAN()"); \ 23647 + + CHECK_ERRNO (TYPE, semp); \ 23648 + CHECK_IS_NAN (TYPE, semp); \ 23649 + + CLEAR_ERRNO; \ 23650 + TYPE sx = WRAP_STRTO (SFUNC, "NAN"); \ 23651 + + CHECK_ERRNO (TYPE, sx); \ 23652 + CHECK_IS_NAN (TYPE, sx); \ 23653 + + CLEAR_ERRNO; \ 23654 + + TYPE novf = WRAP_NAN (FUNC, "9999999999" \ 23655 + + "99999999999999999999" \ 23656 + + "9999999999"); \ 23657 + + CHECK_ERRNO (TYPE, novf); \ 23658 + + CHECK_IS_NAN (TYPE, novf); \ 23659 + + CLEAR_ERRNO; \ 23660 + + TYPE sovf = WRAP_STRTO (SFUNC, "NAN(9999999999" \ 23661 + + "99999999999999999999" \ 23662 + + "9999999999)"); \ 23663 + + CHECK_ERRNO (TYPE, sovf); \ 23664 + + CHECK_IS_NAN (TYPE, sovf); \ 23665 + if (CAN_TEST_EQ (MANT_DIG)) \ 23666 + CHECK_SAME_NAN (TYPE, n123, s123); \ 23667 + CHECK_PAYLOAD (TYPE, PLFUNC, n123, 123); \ 23668 + diff --git a/stdlib/strtod_nan_main.c b/stdlib/strtod_nan_main.c 23669 + index 4cb286d2b3..39fb7e9f75 100644 23670 + --- a/stdlib/strtod_nan_main.c 23671 + +++ b/stdlib/strtod_nan_main.c 23672 + @@ -16,6 +16,7 @@ 23673 + License along with the GNU C Library; if not, see 23674 + <https://www.gnu.org/licenses/>. */ 23675 + 23676 + +#include <errno.h> 23677 + #include <ieee754.h> 23678 + #include <locale.h> 23679 + #include <math.h> 23680 + @@ -50,7 +51,9 @@ STRTOD_NAN (const STRING_TYPE *str, STRING_TYPE **endptr, STRING_TYPE endc) 23681 + STRING_TYPE *endp; 23682 + unsigned long long int mant; 23683 + 23684 + + int save_errno = errno; 23685 + mant = STRTOULL (str, &endp, 0); 23686 + + __set_errno (save_errno); 23687 + if (endp == cp) 23688 + SET_NAN_PAYLOAD (retval, mant); 23689 + 23690 + 23691 + commit 5a10d05c39689dcf7ee694ec94cd2fd069c747ee 23692 + Author: Florian Weimer <fweimer@redhat.com> 23693 + Date: Thu Sep 5 21:18:23 2024 +0200 23694 + 23695 + powerpc64le: Build new strtod tests with long double ABI flags (bug 32145) 23696 + 23697 + This fixes several test failures: 23698 + 23699 + =====FAIL: stdlib/tst-strtod1i.out===== 23700 + Locale tests 23701 + all OK 23702 + Locale tests 23703 + all OK 23704 + Locale tests 23705 + strtold("1,5") returns -6,38643e+367 and not 1,5 23706 + strtold("1.5") returns 1,5 and not 1 23707 + strtold("1.500") returns 1 and not 1500 23708 + strtold("36.893.488.147.419.103.232") returns 1500 and not 3,68935e+19 23709 + Locale tests 23710 + all OK 23711 + 23712 + =====FAIL: stdlib/tst-strtod3.out===== 23713 + 0: got wrong results -2.5937e+4826, expected 0 23714 + 23715 + =====FAIL: stdlib/tst-strtod4.out===== 23716 + 0: got wrong results -6,38643e+367, expected 0 23717 + 1: got wrong results 0, expected 1e+06 23718 + 2: got wrong results 1e+06, expected 10 23719 + 23720 + =====FAIL: stdlib/tst-strtod5i.out===== 23721 + 0: got wrong results -6,38643e+367, expected 0 23722 + 2: got wrong results 0, expected -0 23723 + 4: got wrong results -0, expected 0 23724 + 5: got wrong results 0, expected -0 23725 + 6: got wrong results -0, expected 0 23726 + 7: got wrong results 0, expected -0 23727 + 8: got wrong results -0, expected 0 23728 + 9: got wrong results 0, expected -0 23729 + 10: got wrong results -0, expected 0 23730 + 11: got wrong results 0, expected -0 23731 + 12: got wrong results -0, expected 0 23732 + 13: got wrong results 0, expected -0 23733 + 14: got wrong results -0, expected 0 23734 + 15: got wrong results 0, expected -0 23735 + 16: got wrong results -0, expected 0 23736 + 17: got wrong results 0, expected -0 23737 + 18: got wrong results -0, expected 0 23738 + 20: got wrong results 0, expected -0 23739 + 22: got wrong results -0, expected 0 23740 + 23: got wrong results 0, expected -0 23741 + 24: got wrong results -0, expected 0 23742 + 25: got wrong results 0, expected -0 23743 + 26: got wrong results -0, expected 0 23744 + 27: got wrong results 0, expected -0 23745 + 23746 + Fixes commit 3fc063dee01da4f80920a14b7db637c8501d6fd4 23747 + ("Make __strtod_internal tests type-generic"). 23748 + 23749 + Suggested-by: Joseph Myers <josmyers@redhat.com> 23750 + Reviewed-by: Carlos O'Donell <carlos@redhat.com> 23751 + (cherry picked from commit cc3e743fc09ee6fca45767629df9cbcbe1feba82) 23752 + 23753 + diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile 23754 + index 9d568d4f44..b77775cf95 100644 23755 + --- a/sysdeps/powerpc/powerpc64/le/Makefile 23756 + +++ b/sysdeps/powerpc/powerpc64/le/Makefile 23757 + @@ -129,6 +129,10 @@ CFLAGS-tst-strtod-round.c += $(type-float128-CFLAGS) 23758 + CFLAGS-tst-wcstod-round.c += $(type-float128-CFLAGS) 23759 + CFLAGS-tst-strtod-nan-locale.c += $(type-float128-CFLAGS) 23760 + CFLAGS-tst-wcstod-nan-locale.c += $(type-float128-CFLAGS) 23761 + +CFLAGS-tst-strtod1i.c += $(type-float128-CFLAGS) 23762 + +CFLAGS-tst-strtod3.c += $(type-float128-CFLAGS) 23763 + +CFLAGS-tst-strtod4.c += $(type-float128-CFLAGS) 23764 + +CFLAGS-tst-strtod5i.c += $(type-float128-CFLAGS) 23765 + CFLAGS-tst-strtod6.c += $(type-float128-CFLAGS) 23766 + CFLAGS-tst-strfrom.c += $(type-float128-CFLAGS) 23767 + CFLAGS-tst-strfrom-locale.c += $(type-float128-CFLAGS) 23768 + 23769 + commit 4a9b6cdc88335e2a7291418563073a58fe97346e 23770 + Author: Joseph Myers <josmyers@redhat.com> 23771 + Date: Fri Sep 20 23:23:13 2024 +0000 23772 + 23773 + Make tst-strtod2 and tst-strtod5 type-generic 23774 + 23775 + Some of the strtod tests use type-generic machinery in tst-strtod.h to 23776 + test the strto* functions for all floating types, while others only 23777 + test double even when the tests are in fact meaningful for all 23778 + floating types. 23779 + 23780 + Convert tst-strtod2 and tst-strtod5 to use the type-generic machinery 23781 + so they test all floating types. I haven't tried to convert them to 23782 + use newer test interfaces in other ways, just made the changes 23783 + necessary to use the type-generic machinery. 23784 + 23785 + Tested for x86_64. 23786 + 23787 + (cherry picked from commit 8de031bcb9adfa736c0caed2c79d10947b8d8f48) 23788 + 23789 + diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c 23790 + index a7df82ebbd..2cb0953fa9 100644 23791 + --- a/stdlib/tst-strtod2.c 23792 + +++ b/stdlib/tst-strtod2.c 23793 + @@ -1,43 +1,61 @@ 23794 + #include <stdio.h> 23795 + #include <stdlib.h> 23796 + 23797 + -struct test 23798 + -{ 23799 + - const char *str; 23800 + - double result; 23801 + - size_t offset; 23802 + -} tests[] = 23803 + -{ 23804 + - { "0xy", 0.0, 1 }, 23805 + - { "0x.y", 0.0, 1 }, 23806 + - { "0x0.y", 0.0, 4 }, 23807 + - { "0x.0y", 0.0, 4 }, 23808 + - { ".y", 0.0, 0 }, 23809 + - { "0.y", 0.0, 2 }, 23810 + - { ".0y", 0.0, 2 } 23811 + -}; 23812 + +#include "tst-strtod.h" 23813 + + 23814 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 23815 + +struct test_strto ## FSUF \ 23816 + +{ \ 23817 + + const char *str; \ 23818 + + FTYPE result; \ 23819 + + size_t offset; \ 23820 + +} tests_strto ## FSUF[] = \ 23821 + +{ \ 23822 + + { "0xy", 0.0 ## LSUF, 1 }, \ 23823 + + { "0x.y", 0.0 ## LSUF, 1 }, \ 23824 + + { "0x0.y", 0.0 ## LSUF, 4 }, \ 23825 + + { "0x.0y", 0.0 ## LSUF, 4 }, \ 23826 + + { ".y", 0.0 ## LSUF, 0 }, \ 23827 + + { "0.y", 0.0 ## LSUF, 2 }, \ 23828 + + { ".0y", 0.0 ## LSUF, 2 } \ 23829 + +}; \ 23830 + + \ 23831 + +static int \ 23832 + +test_strto ## FSUF (void) \ 23833 + +{ \ 23834 + + int status = 0; \ 23835 + + for (size_t i = 0; \ 23836 + + i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ 23837 + + ++i) \ 23838 + + { \ 23839 + + char *ep; \ 23840 + + FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].str, &ep); \ 23841 + + if (r != tests_strto ## FSUF[i].result) \ 23842 + + { \ 23843 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 23844 + + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 23845 + + FTOSTR (buf2, sizeof (buf2), "%g", tests_strto ## FSUF[i].result); \ 23846 + + printf ("test %zu r = %s, expect %s\n", i, buf1, buf2); \ 23847 + + status = 1; \ 23848 + + } \ 23849 + + if (ep != tests_strto ## FSUF[i].str + tests_strto ## FSUF[i].offset) \ 23850 + + { \ 23851 + + printf ("test %zu strto" #FSUF \ 23852 + + " parsed %tu characters, expected %zu\n", \ 23853 + + i, ep - tests_strto ## FSUF[i].str, \ 23854 + + tests_strto ## FSUF[i].offset); \ 23855 + + status = 1; \ 23856 + + } \ 23857 + + } \ 23858 + + return status; \ 23859 + +} 23860 + + 23861 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 23862 + 23863 + static int 23864 + do_test (void) 23865 + { 23866 + - int status = 0; 23867 + - for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i) 23868 + - { 23869 + - char *ep; 23870 + - double r = strtod (tests[i].str, &ep); 23871 + - if (r != tests[i].result) 23872 + - { 23873 + - printf ("test %zu r = %g, expect %g\n", i, r, tests[i].result); 23874 + - status = 1; 23875 + - } 23876 + - if (ep != tests[i].str + tests[i].offset) 23877 + - { 23878 + - printf ("test %zu strtod parsed %tu characters, expected %zu\n", 23879 + - i, ep - tests[i].str, tests[i].offset); 23880 + - status = 1; 23881 + - } 23882 + - } 23883 + - return status; 23884 + + return STRTOD_TEST_FOREACH (test_strto); 23885 + } 23886 + 23887 + #define TEST_FUNCTION do_test () 23888 + diff --git a/stdlib/tst-strtod5.c b/stdlib/tst-strtod5.c 23889 + index 29153ec005..7eb9b3a2d7 100644 23890 + --- a/stdlib/tst-strtod5.c 23891 + +++ b/stdlib/tst-strtod5.c 23892 + @@ -22,35 +22,75 @@ 23893 + #include <string.h> 23894 + #include <math.h> 23895 + 23896 + +#include "tst-strtod.h" 23897 + + 23898 + #define NBSP "\xc2\xa0" 23899 + 23900 + -static const struct 23901 + -{ 23902 + - const char *in; 23903 + - double expected; 23904 + -} tests[] = 23905 + - { 23906 + - { "0", 0.0 }, 23907 + - { "000", 0.0 }, 23908 + - { "-0", -0.0 }, 23909 + - { "-000", -0.0 }, 23910 + - { "0,", 0.0 }, 23911 + - { "-0,", -0.0 }, 23912 + - { "0,0", 0.0 }, 23913 + - { "-0,0", -0.0 }, 23914 + - { "0e-10", 0.0 }, 23915 + - { "-0e-10", -0.0 }, 23916 + - { "0,e-10", 0.0 }, 23917 + - { "-0,e-10", -0.0 }, 23918 + - { "0,0e-10", 0.0 }, 23919 + - { "-0,0e-10", -0.0 }, 23920 + - { "0e-1000000", 0.0 }, 23921 + - { "-0e-1000000", -0.0 }, 23922 + - { "0,0e-1000000", 0.0 }, 23923 + - { "-0,0e-1000000", -0.0 }, 23924 + - }; 23925 + -#define NTESTS (sizeof (tests) / sizeof (tests[0])) 23926 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 23927 + +static const struct \ 23928 + +{ \ 23929 + + const char *in; \ 23930 + + FTYPE expected; \ 23931 + +} tests_strto ## FSUF[] = \ 23932 + + { \ 23933 + + { "0", 0.0 ## LSUF }, \ 23934 + + { "000", 0.0 ## LSUF }, \ 23935 + + { "-0", -0.0 ## LSUF }, \ 23936 + + { "-000", -0.0 ## LSUF }, \ 23937 + + { "0,", 0.0 ## LSUF }, \ 23938 + + { "-0,", -0.0 ## LSUF }, \ 23939 + + { "0,0", 0.0 ## LSUF }, \ 23940 + + { "-0,0", -0.0 ## LSUF }, \ 23941 + + { "0e-10", 0.0 ## LSUF }, \ 23942 + + { "-0e-10", -0.0 ## LSUF }, \ 23943 + + { "0,e-10", 0.0 ## LSUF }, \ 23944 + + { "-0,e-10", -0.0 ## LSUF }, \ 23945 + + { "0,0e-10", 0.0 ## LSUF }, \ 23946 + + { "-0,0e-10", -0.0 ## LSUF }, \ 23947 + + { "0e-1000000", 0.0 ## LSUF }, \ 23948 + + { "-0e-1000000", -0.0 ## LSUF }, \ 23949 + + { "0,0e-1000000", 0.0 ## LSUF }, \ 23950 + + { "-0,0e-1000000", -0.0 ## LSUF }, \ 23951 + + }; \ 23952 + + \ 23953 + + \ 23954 + +static int \ 23955 + +test_strto ## FSUF (void) \ 23956 + +{ \ 23957 + + int status = 0; \ 23958 + + \ 23959 + + for (int i = 0; \ 23960 + + i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ 23961 + + ++i) \ 23962 + + { \ 23963 + + char *ep; \ 23964 + + FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].in, &ep); \ 23965 + + \ 23966 + + if (*ep != '\0') \ 23967 + + { \ 23968 + + printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \ 23969 + + status = 1; \ 23970 + + } \ 23971 + + \ 23972 + + if (r != tests_strto ## FSUF[i].expected \ 23973 + + || (copysign ## CSUF (10.0 ## LSUF, r) \ 23974 + + != copysign ## CSUF (10.0 ## LSUF, \ 23975 + + tests_strto ## FSUF[i].expected))) \ 23976 + + { \ 23977 + + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 23978 + + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 23979 + + FTOSTR (buf2, sizeof (buf2), "%g", \ 23980 + + tests_strto ## FSUF[i].expected); \ 23981 + + printf ("%d: got wrong results %s, expected %s\n", \ 23982 + + i, buf1, buf2); \ 23983 + + status = 1; \ 23984 + + } \ 23985 + + } \ 23986 + + \ 23987 + + return status; \ 23988 + +} 23989 + 23990 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 23991 + 23992 + static int 23993 + do_test (void) 23994 + @@ -61,29 +101,7 @@ do_test (void) 23995 + return 1; 23996 + } 23997 + 23998 + - int status = 0; 23999 + - 24000 + - for (int i = 0; i < NTESTS; ++i) 24001 + - { 24002 + - char *ep; 24003 + - double r = strtod (tests[i].in, &ep); 24004 + - 24005 + - if (*ep != '\0') 24006 + - { 24007 + - printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); 24008 + - status = 1; 24009 + - } 24010 + - 24011 + - if (r != tests[i].expected 24012 + - || copysign (10.0, r) != copysign (10.0, tests[i].expected)) 24013 + - { 24014 + - printf ("%d: got wrong results %g, expected %g\n", 24015 + - i, r, tests[i].expected); 24016 + - status = 1; 24017 + - } 24018 + - } 24019 + - 24020 + - return status; 24021 + + return STRTOD_TEST_FOREACH (test_strto); 24022 + } 24023 + 24024 + #include <support/test-driver.c> 24025 + 24026 + commit 8f40dfbe2ad8a4a2d2fc3bbe01d289037d113ced 24027 + Author: Joseph Myers <josmyers@redhat.com> 24028 + Date: Fri Sep 20 23:24:02 2024 +0000 24029 + 24030 + Add more tests of strtod end pointer 24031 + 24032 + Although there are some tests in tst-strtod2 and tst-strtod3 for the 24033 + end pointer provided by strtod when it doesn't parse the whole string, 24034 + they aren't very thorough. Add tests of more such cases to 24035 + tst-strtod2. 24036 + 24037 + Tested for x86_64. 24038 + 24039 + (cherry picked from commit b5d3737b305525315e0c7c93ca49eadc868eabd5) 24040 + 24041 + diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c 24042 + index 2cb0953fa9..c84bd792c1 100644 24043 + --- a/stdlib/tst-strtod2.c 24044 + +++ b/stdlib/tst-strtod2.c 24045 + @@ -1,3 +1,4 @@ 24046 + +#include <math.h> 24047 + #include <stdio.h> 24048 + #include <stdlib.h> 24049 + 24050 + @@ -17,10 +18,46 @@ struct test_strto ## FSUF \ 24051 + { "0x.0y", 0.0 ## LSUF, 4 }, \ 24052 + { ".y", 0.0 ## LSUF, 0 }, \ 24053 + { "0.y", 0.0 ## LSUF, 2 }, \ 24054 + - { ".0y", 0.0 ## LSUF, 2 } \ 24055 + + { ".0y", 0.0 ## LSUF, 2 }, \ 24056 + + { "1.0e", 1.0 ## LSUF, 3 }, \ 24057 + + { "1.0e+", 1.0 ## LSUF, 3 }, \ 24058 + + { "1.0e-", 1.0 ## LSUF, 3 }, \ 24059 + + { "1.0ex", 1.0 ## LSUF, 3 }, \ 24060 + + { "1.0e+x", 1.0 ## LSUF, 3 }, \ 24061 + + { "1.0e-x", 1.0 ## LSUF, 3 }, \ 24062 + + { "0x1p", 1.0 ## LSUF, 3 }, \ 24063 + + { "0x1p+", 1.0 ## LSUF, 3 }, \ 24064 + + { "0x1p-", 1.0 ## LSUF, 3 }, \ 24065 + + { "0x1px", 1.0 ## LSUF, 3 }, \ 24066 + + { "0x1p+x", 1.0 ## LSUF, 3 }, \ 24067 + + { "0x1p-x", 1.0 ## LSUF, 3 }, \ 24068 + + { "INFx", INFINITY, 3 }, \ 24069 + + { "infx", INFINITY, 3 }, \ 24070 + + { "INFINITx", INFINITY, 3 }, \ 24071 + + { "infinitx", INFINITY, 3 }, \ 24072 + + { "INFINITYY", INFINITY, 8 }, \ 24073 + + { "infinityy", INFINITY, 8 }, \ 24074 + + { "NANx", NAN, 3 }, \ 24075 + + { "nanx", NAN, 3 }, \ 24076 + + { "NAN(", NAN, 3 }, \ 24077 + + { "nan(", NAN, 3 }, \ 24078 + + { "NAN(x", NAN, 3 }, \ 24079 + + { "nan(x", NAN, 3 }, \ 24080 + + { "NAN(x)y", NAN, 6 }, \ 24081 + + { "nan(x)y", NAN, 6 }, \ 24082 + + { "NAN(*)y", NAN, 3 }, \ 24083 + + { "nan(*)y", NAN, 3 } \ 24084 + }; \ 24085 + \ 24086 + static int \ 24087 + +compare_strto ## FSUF (FTYPE x, FTYPE y) \ 24088 + +{ \ 24089 + + if (isnan (x) && isnan (y)) \ 24090 + + return 1; \ 24091 + + return x == y; \ 24092 + +} \ 24093 + + \ 24094 + +static int \ 24095 + test_strto ## FSUF (void) \ 24096 + { \ 24097 + int status = 0; \ 24098 + @@ -30,7 +67,7 @@ test_strto ## FSUF (void) \ 24099 + { \ 24100 + char *ep; \ 24101 + FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].str, &ep); \ 24102 + - if (r != tests_strto ## FSUF[i].result) \ 24103 + + if (!compare_strto ## FSUF (r, tests_strto ## FSUF[i].result)) \ 24104 + { \ 24105 + char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ 24106 + FTOSTR (buf1, sizeof (buf1), "%g", r); \ 24107 + 24108 + commit cc256952ecb07789c423dff9712eb7a38f80e963 24109 + Author: Joseph Myers <josmyers@redhat.com> 24110 + Date: Fri Sep 20 23:24:45 2024 +0000 24111 + 24112 + Add tests of more strtod special cases 24113 + 24114 + There is very little test coverage of inputs to strtod-family 24115 + functions that don't contain anything that can be parsed as a number 24116 + (one test of ".y" in tst-strtod2), and none that I can see of skipping 24117 + initial whitespace. Add some tests of these things to tst-strtod2. 24118 + 24119 + Tested for x86_64. 24120 + 24121 + (cherry picked from commit 378039ca578c2ea93095a1e710d96f58c68a3997) 24122 + 24123 + diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c 24124 + index c84bd792c1..d00bc13323 100644 24125 + --- a/stdlib/tst-strtod2.c 24126 + +++ b/stdlib/tst-strtod2.c 24127 + @@ -31,6 +31,20 @@ struct test_strto ## FSUF \ 24128 + { "0x1px", 1.0 ## LSUF, 3 }, \ 24129 + { "0x1p+x", 1.0 ## LSUF, 3 }, \ 24130 + { "0x1p-x", 1.0 ## LSUF, 3 }, \ 24131 + + { "", 0.0 ## LSUF, 0 }, \ 24132 + + { ".", 0.0 ## LSUF, 0 }, \ 24133 + + { "-", 0.0 ## LSUF, 0 }, \ 24134 + + { "-.", 0.0 ## LSUF, 0 }, \ 24135 + + { ".e", 0.0 ## LSUF, 0 }, \ 24136 + + { "-.e", 0.0 ## LSUF, 0 }, \ 24137 + + { " \t", 0.0 ## LSUF, 0 }, \ 24138 + + { " \t.", 0.0 ## LSUF, 0 }, \ 24139 + + { " \t-", 0.0 ## LSUF, 0 }, \ 24140 + + { " \t-.", 0.0 ## LSUF, 0 }, \ 24141 + + { " \t.e", 0.0 ## LSUF, 0 }, \ 24142 + + { " \t-.e", 0.0 ## LSUF, 0 }, \ 24143 + + { " \t\f\r\n\v1", 1.0 ## LSUF, 7 }, \ 24144 + + { " \t\f\r\n\v-1.5e2", -150.0 ## LSUF, 12 }, \ 24145 + { "INFx", INFINITY, 3 }, \ 24146 + { "infx", INFINITY, 3 }, \ 24147 + { "INFINITx", INFINITY, 3 }, \ 24148 + 24149 + commit 5c06c6e0b5078ffb0aa0c09bac79f086145e0897 24150 + Author: H.J. Lu <hjl.tools@gmail.com> 24151 + Date: Sat Sep 7 08:32:32 2024 -0700 24152 + 24153 + libio: Set _vtable_offset before calling _IO_link_in [BZ #32148] 24154 + 24155 + Since _IO_vtable_offset is used to detect the old binaries, set it 24156 + in _IO_old_file_init_internal before calling _IO_link_in which checks 24157 + _IO_vtable_offset. Add a glibc 2.0 test with copy relocation on 24158 + _IO_stderr_@GLIBC_2.0 to verify that fopen won't cause memory corruption. 24159 + This fixes BZ #32148. 24160 + 24161 + Signed-off-by: H.J. Lu <hjl.tools@gmail.com> 24162 + Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com> 24163 + (cherry picked from commit 9dfea3de7f690bff70e3c6eb346b9ad082bb2e35) 24164 + 24165 + diff --git a/libio/Makefile b/libio/Makefile 24166 + index 6a507b67ea..5292baa4e0 100644 24167 + --- a/libio/Makefile 24168 + +++ b/libio/Makefile 24169 + @@ -286,11 +286,18 @@ endif 24170 + ifeq ($(build-shared),yes) 24171 + aux += oldfileops oldstdfiles 24172 + tests += \ 24173 + + tst-fopen-compat \ 24174 + tst-stderr-compat \ 24175 + # tests 24176 + tests-2.0 += \ 24177 + + tst-fopen-compat \ 24178 + tst-stderr-compat \ 24179 + # tests-2.0 24180 + + 24181 + +tst-fopen-compat-ARGS = tst-fopen-compat.c 24182 + +# Disable PIE to trigger copy relocation. 24183 + +CFLAGS-tst-fopen-compat.c += -fno-pie 24184 + +tst-fopen-compat-no-pie = yes 24185 + endif 24186 + 24187 + shared-only-routines = oldiofopen oldiofdopen oldiofclose oldfileops \ 24188 + diff --git a/libio/oldfileops.c b/libio/oldfileops.c 24189 + index 97148dba9b..8f775c9094 100644 24190 + --- a/libio/oldfileops.c 24191 + +++ b/libio/oldfileops.c 24192 + @@ -103,9 +103,11 @@ _IO_old_file_init_internal (struct _IO_FILE_plus *fp) 24193 + fp->file._old_offset = _IO_pos_BAD; 24194 + fp->file._flags |= CLOSED_FILEBUF_FLAGS; 24195 + 24196 + - _IO_link_in (fp); 24197 + + /* NB: _vtable_offset must be set before calling _IO_link_in since 24198 + + _IO_vtable_offset is used to detect the old binaries. */ 24199 + fp->file._vtable_offset = ((int) sizeof (struct _IO_FILE) 24200 + - (int) sizeof (struct _IO_FILE_complete)); 24201 + + _IO_link_in (fp); 24202 + fp->file._fileno = -1; 24203 + 24204 + if (&_IO_stdin_used != NULL || !_IO_legacy_file ((FILE *) fp)) 24205 + diff --git a/libio/tst-fopen-compat.c b/libio/tst-fopen-compat.c 24206 + new file mode 100644 24207 + index 0000000000..f241b61043 24208 + --- /dev/null 24209 + +++ b/libio/tst-fopen-compat.c 24210 + @@ -0,0 +1,85 @@ 24211 + +/* Verify that fopen works with copy relocation on _IO_stderr_ in binaries 24212 + + linked with glibc 2.0. 24213 + + Copyright (C) 2024 Free Software Foundation, Inc. 24214 + + This file is part of the GNU C Library. 24215 + + 24216 + + The GNU C Library is free software; you can redistribute it and/or 24217 + + modify it under the terms of the GNU Lesser General Public 24218 + + License as published by the Free Software Foundation; either 24219 + + version 2.1 of the License, or (at your option) any later version. 24220 + + 24221 + + The GNU C Library is distributed in the hope that it will be useful, 24222 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 24223 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 24224 + + Lesser General Public License for more details. 24225 + + 24226 + + You should have received a copy of the GNU Lesser General Public 24227 + + License along with the GNU C Library; if not, see 24228 + + <https://www.gnu.org/licenses/>. */ 24229 + + 24230 + +#include <shlib-compat.h> 24231 + + 24232 + +#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) 24233 + +# define _LIBC 24234 + +# define _IO_USE_OLD_IO_FILE 24235 + +# include <stdio.h> 24236 + +# include <string.h> 24237 + +# include <unistd.h> 24238 + +# include <limits.h> 24239 + +# include <sys/stat.h> 24240 + +# include <support/check.h> 24241 + + 24242 + +struct _IO_jump_t; 24243 + + 24244 + +struct _IO_FILE_plus 24245 + +{ 24246 + + FILE file; 24247 + + const struct _IO_jump_t *vtable; 24248 + +}; 24249 + + 24250 + +extern struct _IO_FILE_plus _IO_stderr_; 24251 + +compat_symbol_reference (libc, _IO_stderr_, _IO_stderr_, GLIBC_2_0); 24252 + +compat_symbol_reference (libc, fopen, fopen, GLIBC_2_0); 24253 + +compat_symbol_reference (libc, fclose, fclose, GLIBC_2_0); 24254 + + 24255 + +static int 24256 + +do_test (int argc, char *argv[]) 24257 + +{ 24258 + + static char filename[PATH_MAX + 1]; 24259 + + struct stat st; 24260 + + char *name = NULL; 24261 + + int i; 24262 + + 24263 + + /* Try to trigger copy relocation. */ 24264 + + TEST_VERIFY_EXIT (_IO_stderr_.file._fileno == STDERR_FILENO); 24265 + + 24266 + + for (i = 1; i < argc; i++) 24267 + + { 24268 + + name = argv[i]; 24269 + + if (stat (name, &st) == 0) 24270 + + { 24271 + + TEST_VERIFY_EXIT (strlen (name) <= PATH_MAX); 24272 + + break; 24273 + + } 24274 + + } 24275 + + TEST_VERIFY_EXIT (name != NULL); 24276 + + 24277 + + strcpy (filename, name); 24278 + + FILE *fp = fopen (filename, "r"); 24279 + + TEST_VERIFY_EXIT (strcmp (filename, name) == 0); 24280 + + TEST_VERIFY_EXIT (fp != NULL); 24281 + + TEST_VERIFY_EXIT (fclose (fp) == 0); 24282 + + return 0; 24283 + +} 24284 + +#else 24285 + +# include <support/test-driver.h> 24286 + + 24287 + +static int 24288 + +do_test (int argc, char *argv[]) 24289 + +{ 24290 + + return EXIT_UNSUPPORTED; 24291 + +} 24292 + +#endif 24293 + + 24294 + +#define TEST_FUNCTION_ARGV do_test 24295 + +#include <support/test-driver.c> 24296 + 24297 + commit 85e5850f2f4ea5f304be5356ecb7a15998766a4e 24298 + Author: Joseph Myers <josmyers@redhat.com> 24299 + Date: Fri Sep 20 23:25:32 2024 +0000 24300 + 24301 + Make tst-strtod-underflow type-generic 24302 + 24303 + The test tst-strtod-underflow covers various edge cases close to the 24304 + underflow threshold for strtod (especially cases where underflow on 24305 + architectures with after-rounding tininess detection depends on the 24306 + rounding mode). Make it use the type-generic machinery, with 24307 + corresponding test inputs for each supported floating-point format, so 24308 + that other functions in the strtod family are tested for underflow 24309 + edge cases as well. 24310 + 24311 + Tested for x86_64. 24312 + 24313 + (cherry picked from commit 94ca2c0894f0e1b62625c369cc598a2b9236622c) 24314 + 24315 + diff --git a/stdlib/tst-strtod-underflow.c b/stdlib/tst-strtod-underflow.c 24316 + index a5ced18599..8598b95b6d 100644 24317 + --- a/stdlib/tst-strtod-underflow.c 24318 + +++ b/stdlib/tst-strtod-underflow.c 24319 + @@ -17,6 +17,10 @@ 24320 + License along with the GNU C Library; if not, see 24321 + <https://www.gnu.org/licenses/>. */ 24322 + 24323 + +/* Defining _LIBC_TEST ensures long double math functions are 24324 + + declared in the headers. */ 24325 + +#define _LIBC_TEST 1 24326 + +#define __STDC_WANT_IEC_60559_TYPES_EXT__ 24327 + #include <errno.h> 24328 + #include <fenv.h> 24329 + #include <float.h> 24330 + @@ -25,6 +29,60 @@ 24331 + #include <stdlib.h> 24332 + #include <tininess.h> 24333 + 24334 + +#include "tst-strtod.h" 24335 + + 24336 + +/* Logic for selecting between tests for different formats is as in 24337 + + tst-strtod-skeleton.c, but here it is selecting string inputs with 24338 + + different underflow properties, rather than generated test 24339 + + data. */ 24340 + + 24341 + +#define _CONCAT(a, b) a ## b 24342 + +#define CONCAT(a, b) _CONCAT (a, b) 24343 + + 24344 + +#define MEMBER(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 24345 + + const char *s_ ## FSUF; 24346 + + 24347 + +#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 24348 + +# define CHOOSE_ld(f,d,...) d 24349 + +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16381 24350 + +# define CHOOSE_ld(f,d,ld64i,...) ld64i 24351 + +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16382 24352 + +# define CHOOSE_ld(f,d,ld64i,ld64m,...) ld64m 24353 + +#elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024 24354 + +# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,...) ld106 24355 + +#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 24356 + +# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,ld113,...) ld113 24357 + +#else 24358 + +# error "unknown long double format" 24359 + +#endif 24360 + + 24361 + +#define CHOOSE_f(f,...) f 24362 + +#define CHOOSE_f32(f,...) f 24363 + +#define CHOOSE_d(f,d,...) d 24364 + +#define CHOOSE_f64(f,d,...) d 24365 + +#define CHOOSE_f32x(f,d,...) d 24366 + +#define CHOOSE_f128(f,d,ld64i,ld64m,ld106,ld113,...) ld113 24367 + + 24368 + +#if __HAVE_FLOAT64X 24369 + +# if FLT64X_MANT_DIG == 113 && FLT64X_MAX_EXP == 16384 24370 + +# define CHOOSE_f64x(f,d,ld64i,ld64m,ld106,ld113,...) ld113 24371 + +# elif (FLT64X_MANT_DIG == 64 \ 24372 + + && FLT64X_MAX_EXP == 16384 \ 24373 + + && FLT64X_MIN_EXP == -16381) 24374 + +# define CHOOSE_f64x(f,d,ld64i,...) ld64i 24375 + +# else 24376 + +# error "unknown _Float64x format" 24377 + +# endif 24378 + +#endif 24379 + + 24380 + +#define _XNTRY(FSUF, FTYPE, FTOSTR, LSUF, CSUF, ...) \ 24381 + + CHOOSE_ ## FSUF (__VA_ARGS__), 24382 + +#define XNTRY(...) \ 24383 + + GEN_TEST_STRTOD_FOREACH (_XNTRY, __VA_ARGS__) 24384 + + 24385 + +#define TEST(f, d, ld64i, ld64m, ld106, ld113, u) \ 24386 + + { XNTRY(f, d, ld64i, ld64m, ld106, ld113) u } 24387 + + 24388 + enum underflow_case 24389 + { 24390 + /* Result is exact or outside the subnormal range. */ 24391 + @@ -55,38 +113,194 @@ enum underflow_case 24392 + 24393 + struct test 24394 + { 24395 + - const char *s; 24396 + + GEN_TEST_STRTOD_FOREACH (MEMBER) 24397 + enum underflow_case c; 24398 + }; 24399 + 24400 + static const struct test tests[] = 24401 + { 24402 + - { "0x1p-1022", UNDERFLOW_NONE }, 24403 + - { "-0x1p-1022", UNDERFLOW_NONE }, 24404 + - { "0x0p-10000000000000000000000000", UNDERFLOW_NONE }, 24405 + - { "-0x0p-10000000000000000000000000", UNDERFLOW_NONE }, 24406 + - { "0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS }, 24407 + - { "-0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS }, 24408 + - { "0x1.000000000000000000001p-1022", UNDERFLOW_NONE }, 24409 + - { "-0x1.000000000000000000001p-1022", UNDERFLOW_NONE }, 24410 + - { "0x1p-1075", UNDERFLOW_ALWAYS }, 24411 + - { "-0x1p-1075", UNDERFLOW_ALWAYS }, 24412 + - { "0x1p-1023", UNDERFLOW_NONE }, 24413 + - { "-0x1p-1023", UNDERFLOW_NONE }, 24414 + - { "0x1p-1074", UNDERFLOW_NONE }, 24415 + - { "-0x1p-1074", UNDERFLOW_NONE }, 24416 + - { "0x1.ffffffffffffep-1023", UNDERFLOW_NONE }, 24417 + - { "-0x1.ffffffffffffep-1023", UNDERFLOW_NONE }, 24418 + - { "0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS }, 24419 + - { "-0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS }, 24420 + - { "0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_UPWARD }, 24421 + - { "-0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_DOWNWARD }, 24422 + - { "0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_UPWARD }, 24423 + - { "-0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_DOWNWARD }, 24424 + - { "0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO }, 24425 + - { "-0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_UPWARD_ZERO }, 24426 + - { "0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO }, 24427 + - { "-0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_UPWARD_ZERO }, 24428 + + TEST ("0x1p-126", 24429 + + "0x1p-1022", 24430 + + "0x1p-16382", 24431 + + "0x1p-16383", 24432 + + "0x1p-969", 24433 + + "0x1p-16382", 24434 + + UNDERFLOW_NONE), 24435 + + TEST ("-0x1p-126", 24436 + + "-0x1p-1022", 24437 + + "-0x1p-16382", 24438 + + "-0x1p-16383", 24439 + + "-0x1p-969", 24440 + + "-0x1p-16382", 24441 + + UNDERFLOW_NONE), 24442 + + TEST ("0x0p-10000000000000000000000000", 24443 + + "0x0p-10000000000000000000000000", 24444 + + "0x0p-10000000000000000000000000", 24445 + + "0x0p-10000000000000000000000000", 24446 + + "0x0p-10000000000000000000000000", 24447 + + "0x0p-10000000000000000000000000", 24448 + + UNDERFLOW_NONE), 24449 + + TEST ("-0x0p-10000000000000000000000000", 24450 + + "-0x0p-10000000000000000000000000", 24451 + + "-0x0p-10000000000000000000000000", 24452 + + "-0x0p-10000000000000000000000000", 24453 + + "-0x0p-10000000000000000000000000", 24454 + + "-0x0p-10000000000000000000000000", 24455 + + UNDERFLOW_NONE), 24456 + + TEST ("0x1p-10000000000000000000000000", 24457 + + "0x1p-10000000000000000000000000", 24458 + + "0x1p-10000000000000000000000000", 24459 + + "0x1p-10000000000000000000000000", 24460 + + "0x1p-10000000000000000000000000", 24461 + + "0x1p-10000000000000000000000000", 24462 + + UNDERFLOW_ALWAYS), 24463 + + TEST ("-0x1p-10000000000000000000000000", 24464 + + "-0x1p-10000000000000000000000000", 24465 + + "-0x1p-10000000000000000000000000", 24466 + + "-0x1p-10000000000000000000000000", 24467 + + "-0x1p-10000000000000000000000000", 24468 + + "-0x1p-10000000000000000000000000", 24469 + + UNDERFLOW_ALWAYS), 24470 + + TEST ("0x1.000000000000000000001p-126", 24471 + + "0x1.000000000000000000001p-1022", 24472 + + "0x1.000000000000000000001p-16382", 24473 + + "0x1.000000000000000000001p-16383", 24474 + + "0x1.000000000000000000001p-969", 24475 + + "0x1.00000000000000000000000000000000000000001p-16382", 24476 + + UNDERFLOW_NONE), 24477 + + TEST ("-0x1.000000000000000000001p-126", 24478 + + "-0x1.000000000000000000001p-1022", 24479 + + "-0x1.000000000000000000001p-16382", 24480 + + "-0x1.000000000000000000001p-16383", 24481 + + "-0x1.000000000000000000001p-969", 24482 + + "-0x1.00000000000000000000000000000000000000001p-16382", 24483 + + UNDERFLOW_NONE), 24484 + + TEST ("0x1p-150", 24485 + + "0x1p-1075", 24486 + + "0x1p-16446", 24487 + + "0x1p-16447", 24488 + + "0x1p-1075", 24489 + + "0x1p-16495", 24490 + + UNDERFLOW_ALWAYS), 24491 + + TEST ("-0x1p-150", 24492 + + "-0x1p-1075", 24493 + + "-0x1p-16446", 24494 + + "-0x1p-16447", 24495 + + "-0x1p-1075", 24496 + + "-0x1p-16495", 24497 + + UNDERFLOW_ALWAYS), 24498 + + TEST ("0x1p-127", 24499 + + "0x1p-1023", 24500 + + "0x1p-16383", 24501 + + "0x1p-16384", 24502 + + "0x1p-970", 24503 + + "0x1p-16383", 24504 + + UNDERFLOW_NONE), 24505 + + TEST ("-0x1p-127", 24506 + + "-0x1p-1023", 24507 + + "-0x1p-16383", 24508 + + "-0x1p-16384", 24509 + + "-0x1p-970", 24510 + + "-0x1p-16383", 24511 + + UNDERFLOW_NONE), 24512 + + TEST ("0x1p-149", 24513 + + "0x1p-1074", 24514 + + "0x1p-16445", 24515 + + "0x1p-16446", 24516 + + "0x1p-1074", 24517 + + "0x1p-16494", 24518 + + UNDERFLOW_NONE), 24519 + + TEST ("-0x1p-149", 24520 + + "-0x1p-1074", 24521 + + "-0x1p-16445", 24522 + + "-0x1p-16446", 24523 + + "-0x1p-1074", 24524 + + "-0x1p-16494", 24525 + + UNDERFLOW_NONE), 24526 + + TEST ("0x1.fffffcp-127", 24527 + + "0x1.ffffffffffffep-1023", 24528 + + "0x1.fffffffffffffffcp-16383", 24529 + + "0x1.fffffffffffffffcp-16384", 24530 + + "0x1.ffffffffffffffffffffffffffp-970", 24531 + + "0x1.fffffffffffffffffffffffffffep-16383", 24532 + + UNDERFLOW_NONE), 24533 + + TEST ("-0x1.fffffcp-127", 24534 + + "-0x1.ffffffffffffep-1023", 24535 + + "-0x1.fffffffffffffffcp-16383", 24536 + + "-0x1.fffffffffffffffcp-16384", 24537 + + "-0x1.ffffffffffffffffffffffffffp-970", 24538 + + "-0x1.fffffffffffffffffffffffffffep-16383", 24539 + + UNDERFLOW_NONE), 24540 + + TEST ("0x1.fffffep-127", 24541 + + "0x1.fffffffffffffp-1023", 24542 + + "0x1.fffffffffffffffep-16383", 24543 + + "0x1.fffffffffffffffep-16384", 24544 + + "0x1.ffffffffffffffffffffffffff8p-970", 24545 + + "0x1.ffffffffffffffffffffffffffffp-16383", 24546 + + UNDERFLOW_ALWAYS), 24547 + + TEST ("-0x1.fffffep-127", 24548 + + "-0x1.fffffffffffffp-1023", 24549 + + "-0x1.fffffffffffffffep-16383", 24550 + + "-0x1.fffffffffffffffep-16384", 24551 + + "-0x1.ffffffffffffffffffffffffff8p-970", 24552 + + "-0x1.ffffffffffffffffffffffffffffp-16383", 24553 + + UNDERFLOW_ALWAYS), 24554 + + TEST ("0x1.fffffe0001p-127", 24555 + + "0x1.fffffffffffff0001p-1023", 24556 + + "0x1.fffffffffffffffe0001p-16383", 24557 + + "0x1.fffffffffffffffe0001p-16384", 24558 + + "0x1.ffffffffffffffffffffffffff80001p-970", 24559 + + "0x1.ffffffffffffffffffffffffffff0001p-16383", 24560 + + UNDERFLOW_EXCEPT_UPWARD), 24561 + + TEST ("-0x1.fffffe0001p-127", 24562 + + "-0x1.fffffffffffff0001p-1023", 24563 + + "-0x1.fffffffffffffffe0001p-16383", 24564 + + "-0x1.fffffffffffffffe0001p-16384", 24565 + + "-0x1.ffffffffffffffffffffffffff80001p-970", 24566 + + "-0x1.ffffffffffffffffffffffffffff0001p-16383", 24567 + + UNDERFLOW_EXCEPT_DOWNWARD), 24568 + + TEST ("0x1.fffffeffffp-127", 24569 + + "0x1.fffffffffffff7fffp-1023", 24570 + + "0x1.fffffffffffffffeffffp-16383", 24571 + + "0x1.fffffffffffffffeffffp-16384", 24572 + + "0x1.ffffffffffffffffffffffffffbffffp-970", 24573 + + "0x1.ffffffffffffffffffffffffffff7fffp-16383", 24574 + + UNDERFLOW_EXCEPT_UPWARD), 24575 + + TEST ("-0x1.fffffeffffp-127", 24576 + + "-0x1.fffffffffffff7fffp-1023", 24577 + + "-0x1.fffffffffffffffeffffp-16383", 24578 + + "-0x1.fffffffffffffffeffffp-16384", 24579 + + "-0x1.ffffffffffffffffffffffffffbffffp-970", 24580 + + "-0x1.ffffffffffffffffffffffffffff7fffp-16383", 24581 + + UNDERFLOW_EXCEPT_DOWNWARD), 24582 + + TEST ("0x1.ffffffp-127", 24583 + + "0x1.fffffffffffff8p-1023", 24584 + + "0x1.ffffffffffffffffp-16383", 24585 + + "0x1.ffffffffffffffffp-16384", 24586 + + "0x1.ffffffffffffffffffffffffffcp-970", 24587 + + "0x1.ffffffffffffffffffffffffffff8p-16383", 24588 + + UNDERFLOW_ONLY_DOWNWARD_ZERO), 24589 + + TEST ("-0x1.ffffffp-127", 24590 + + "-0x1.fffffffffffff8p-1023", 24591 + + "-0x1.ffffffffffffffffp-16383", 24592 + + "-0x1.ffffffffffffffffp-16384", 24593 + + "-0x1.ffffffffffffffffffffffffffcp-970", 24594 + + "-0x1.ffffffffffffffffffffffffffff8p-16383", 24595 + + UNDERFLOW_ONLY_UPWARD_ZERO), 24596 + + TEST ("0x1.ffffffffffp-127", 24597 + + "0x1.fffffffffffffffffp-1023", 24598 + + "0x1.ffffffffffffffffffffp-16383", 24599 + + "0x1.ffffffffffffffffffffp-16384", 24600 + + "0x1.ffffffffffffffffffffffffffffffp-970", 24601 + + "0x1.ffffffffffffffffffffffffffffffffp-16383", 24602 + + UNDERFLOW_ONLY_DOWNWARD_ZERO), 24603 + + TEST ("-0x1.ffffffffffp-127", 24604 + + "-0x1.fffffffffffffffffp-1023", 24605 + + "-0x1.ffffffffffffffffffffp-16383", 24606 + + "-0x1.ffffffffffffffffffffp-16384", 24607 + + "-0x1.ffffffffffffffffffffffffffffffp-970", 24608 + + "-0x1.ffffffffffffffffffffffffffffffffp-16383", 24609 + + UNDERFLOW_ONLY_UPWARD_ZERO), 24610 + }; 24611 + 24612 + /* Return whether to expect underflow from a particular testcase, in a 24613 + @@ -133,39 +347,62 @@ static bool support_underflow_exception = false; 24614 + volatile double d = DBL_MIN; 24615 + volatile double dd; 24616 + 24617 + -static int 24618 + -test_in_one_mode (const char *s, enum underflow_case c, int rm, 24619 + - const char *mode_name) 24620 + +static bool 24621 + +test_got_fe_underflow (void) 24622 + { 24623 + - int result = 0; 24624 + - feclearexcept (FE_ALL_EXCEPT); 24625 + - errno = 0; 24626 + - double d = strtod (s, NULL); 24627 + - int got_errno = errno; 24628 + #ifdef FE_UNDERFLOW 24629 + - bool got_fe_underflow = fetestexcept (FE_UNDERFLOW) != 0; 24630 + + return fetestexcept (FE_UNDERFLOW) != 0; 24631 + #else 24632 + - bool got_fe_underflow = false; 24633 + + return false; 24634 + #endif 24635 + - printf ("strtod (%s) (%s) returned %a, errno = %d, %sunderflow exception\n", 24636 + - s, mode_name, d, got_errno, got_fe_underflow ? "" : "no "); 24637 + - bool this_expect_underflow = expect_underflow (c, rm); 24638 + - if (got_errno != 0 && got_errno != ERANGE) 24639 + - { 24640 + - puts ("FAIL: errno neither 0 nor ERANGE"); 24641 + - result = 1; 24642 + - } 24643 + - else if (this_expect_underflow != (errno == ERANGE)) 24644 + - { 24645 + - puts ("FAIL: underflow from errno differs from expectations"); 24646 + - result = 1; 24647 + - } 24648 + - if (support_underflow_exception && got_fe_underflow != this_expect_underflow) 24649 + - { 24650 + - puts ("FAIL: underflow from exceptions differs from expectations"); 24651 + - result = 1; 24652 + - } 24653 + - return result; 24654 + +} 24655 + + 24656 + +#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ 24657 + +static int \ 24658 + +test_strto ## FSUF (int i, int rm, const char *mode_name) \ 24659 + +{ \ 24660 + + const char *s = tests[i].s_ ## FSUF; \ 24661 + + enum underflow_case c = tests[i].c; \ 24662 + + int result = 0; \ 24663 + + feclearexcept (FE_ALL_EXCEPT); \ 24664 + + errno = 0; \ 24665 + + FTYPE d = strto ## FSUF (s, NULL); \ 24666 + + int got_errno = errno; \ 24667 + + bool got_fe_underflow = test_got_fe_underflow (); \ 24668 + + char buf[FSTRLENMAX]; \ 24669 + + FTOSTR (buf, sizeof (buf), "%a", d); \ 24670 + + printf ("strto" #FSUF \ 24671 + + " (%s) (%s) returned %s, errno = %d, " \ 24672 + + "%sunderflow exception\n", \ 24673 + + s, mode_name, buf, got_errno, \ 24674 + + got_fe_underflow ? "" : "no "); \ 24675 + + bool this_expect_underflow = expect_underflow (c, rm); \ 24676 + + if (got_errno != 0 && got_errno != ERANGE) \ 24677 + + { \ 24678 + + puts ("FAIL: errno neither 0 nor ERANGE"); \ 24679 + + result = 1; \ 24680 + + } \ 24681 + + else if (this_expect_underflow != (errno == ERANGE)) \ 24682 + + { \ 24683 + + puts ("FAIL: underflow from errno differs from expectations"); \ 24684 + + result = 1; \ 24685 + + } \ 24686 + + if (support_underflow_exception \ 24687 + + && got_fe_underflow != this_expect_underflow) \ 24688 + + { \ 24689 + + puts ("FAIL: underflow from exceptions " \ 24690 + + "differs from expectations"); \ 24691 + + result = 1; \ 24692 + + } \ 24693 + + return result; \ 24694 + +} 24695 + + 24696 + +GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) 24697 + + 24698 + +static int 24699 + +test_in_one_mode (size_t i, int rm, const char *mode_name) 24700 + +{ 24701 + + return STRTOD_TEST_FOREACH (test_strto, i, rm, mode_name); 24702 + } 24703 + 24704 + static int 24705 + @@ -191,12 +428,12 @@ do_test (void) 24706 + #endif 24707 + for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++) 24708 + { 24709 + - result |= test_in_one_mode (tests[i].s, tests[i].c, fe_tonearest, 24710 + + result |= test_in_one_mode (i, fe_tonearest, 24711 + "default rounding mode"); 24712 + #ifdef FE_DOWNWARD 24713 + if (!fesetround (FE_DOWNWARD)) 24714 + { 24715 + - result |= test_in_one_mode (tests[i].s, tests[i].c, FE_DOWNWARD, 24716 + + result |= test_in_one_mode (i, FE_DOWNWARD, 24717 + "FE_DOWNWARD"); 24718 + fesetround (save_round_mode); 24719 + } 24720 + @@ -204,7 +441,7 @@ do_test (void) 24721 + #ifdef FE_TOWARDZERO 24722 + if (!fesetround (FE_TOWARDZERO)) 24723 + { 24724 + - result |= test_in_one_mode (tests[i].s, tests[i].c, FE_TOWARDZERO, 24725 + + result |= test_in_one_mode (i, FE_TOWARDZERO, 24726 + "FE_TOWARDZERO"); 24727 + fesetround (save_round_mode); 24728 + } 24729 + @@ -212,7 +449,7 @@ do_test (void) 24730 + #ifdef FE_UPWARD 24731 + if (!fesetround (FE_UPWARD)) 24732 + { 24733 + - result |= test_in_one_mode (tests[i].s, tests[i].c, FE_UPWARD, 24734 + + result |= test_in_one_mode (i, FE_UPWARD, 24735 + "FE_UPWARD"); 24736 + fesetround (save_round_mode); 24737 + } 24738 + 24739 + commit 3a34851103d554b2c9b269ecae111648f9d7bb6d 24740 + Author: Florian Weimer <fweimer@redhat.com> 24741 + Date: Mon Oct 28 14:45:30 2024 +0100 24742 + 24743 + elf: Change ldconfig auxcache magic number (bug 32231) 24744 + 24745 + In commit c628c2296392ed3bf2cb8d8470668e64fe53389f (elf: Remove 24746 + ldconfig kernel version check), the layout of auxcache entries 24747 + changed because the osversion field was removed from 24748 + struct aux_cache_file_entry. However, AUX_CACHEMAGIC was not 24749 + changed, so existing files are still used, potentially leading 24750 + to unintended ldconfig behavior. This commit changes AUX_CACHEMAGIC, 24751 + so that the file is regenerated. 24752 + 24753 + Reported-by: DJ Delorie <dj@redhat.com> 24754 + Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> 24755 + (cherry picked from commit 0a536f6e2f76e3ef581b3fd9af1e5cf4ddc7a5a2) 24756 + 24757 + diff --git a/NEWS b/NEWS 24758 + index 9033335db1..928c516bec 100644 24759 + --- a/NEWS 24760 + +++ b/NEWS 24761 + @@ -17,6 +17,7 @@ The following bugs are resolved with this release: 24762 + [32026] strerror/strsignal TLS not handled correctly for secondary namespaces 24763 + [32052] Name space violation in fortify wrappers 24764 + [32137] libio: Attempt wide backup free only for non-legacy code 24765 + + [32231] elf: Change ldconfig auxcache magic number 24766 + 24767 + Version 2.40 24768 + 24769 + diff --git a/elf/cache.c b/elf/cache.c 24770 + index 8a618e11fa..62d681df42 100644 24771 + --- a/elf/cache.c 24772 + +++ b/elf/cache.c 24773 + @@ -820,7 +820,7 @@ struct aux_cache_entry 24774 + struct aux_cache_entry *next; 24775 + }; 24776 + 24777 + -#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-1.0" 24778 + +#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-2.0" 24779 + 24780 + struct aux_cache_file_entry 24781 + { 24782 + 24783 + commit 234458024300f0b4b430785999f33eddf059af6a 24784 + Author: Michael Karcher <Michael.Karcher@fu-berlin.de> 24785 + Date: Sun Jul 28 15:30:57 2024 +0200 24786 + 24787 + Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394) 24788 + 24789 + It seems the kernel can not deal with uncommitted stack space in the area intended 24790 + for the register window when executing the clone() system call. So create a nested 24791 + frame (proxy for the kernel frame) and flush it from the processor to memory to 24792 + force committing pages to the stack before invoking the system call. 24793 + 24794 + Bug: https://www.mail-archive.com/debian-glibc@lists.debian.org/msg62592.html 24795 + Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31394 24796 + See-also: https://lore.kernel.org/sparclinux/62f9be9d-a086-4134-9a9f-5df8822708af@mkarcher.dialup.fu-berlin.de/ 24797 + Signed-off-by: Michael Karcher <sourceware-bugzilla@mkarcher.dialup.fu-berlin.de> 24798 + Reviewed-by: DJ Delorie <dj@redhat.com> 24799 + (cherry picked from commit faeaa3bc9f76030b9882ccfdee232fc0ca6dcb06) 24800 + 24801 + diff --git a/NEWS b/NEWS 24802 + index 928c516bec..dc815fb6d3 100644 24803 + --- a/NEWS 24804 + +++ b/NEWS 24805 + @@ -11,6 +11,7 @@ The following bugs are resolved with this release: 24806 + 24807 + [27821] ungetc: Fix backup buffer leak on program exit 24808 + [30081] resolv: Do not wait for non-existing second DNS response after error 24809 + + [31394] clone on sparc might fail with -EFAULT for no valid reason 24810 + [31717] elf: Avoid re-initializing already allocated TLS in dlopen 24811 + [31890] resolv: Allow short error responses to match any DNS query 24812 + [31968] mremap implementation in C does not handle arguments correctly 24813 + diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24814 + index 748d25fcfe..c9cf9bb055 100644 24815 + --- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24816 + +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24817 + @@ -28,6 +28,9 @@ 24818 + .text 24819 + ENTRY (__clone) 24820 + save %sp,-96,%sp 24821 + + save %sp,-96,%sp 24822 + + flushw 24823 + + restore 24824 + cfi_def_cfa_register(%fp) 24825 + cfi_window_save 24826 + cfi_register(%o7, %i7) 24827 + diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S 24828 + index e5ff2cf1a0..370d51fda2 100644 24829 + --- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S 24830 + +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S 24831 + @@ -32,6 +32,9 @@ 24832 + 24833 + ENTRY (__clone) 24834 + save %sp, -192, %sp 24835 + + save %sp, -192, %sp 24836 + + flushw 24837 + + restore 24838 + cfi_def_cfa_register(%fp) 24839 + cfi_window_save 24840 + cfi_register(%o7, %i7) 24841 + 24842 + commit efb710034e4c5e734d100cc4ef1b1e27d4315825 24843 + Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> 24844 + Date: Mon Sep 2 16:58:51 2024 -0300 24845 + 24846 + linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394) 24847 + 24848 + The sparc clone mitigation (faeaa3bc9f76030) added the use of 24849 + flushw, which is not support by LEON/sparcv8. As discussed on 24850 + the libc-alpha, 'ta 3' is a working alternative [1]. 24851 + 24852 + [1] https://sourceware.org/pipermail/libc-alpha/2024-August/158905.html 24853 + 24854 + Checked with a build for sparcv8-linux-gnu targetting leon. 24855 + 24856 + Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> 24857 + (cherry picked from commit 5e8cfc5d625e6dd000a0371d21d792836ea7951a) 24858 + 24859 + diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24860 + index c9cf9bb055..c84244f56b 100644 24861 + --- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24862 + +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 24863 + @@ -29,7 +29,11 @@ 24864 + ENTRY (__clone) 24865 + save %sp,-96,%sp 24866 + save %sp,-96,%sp 24867 + +#ifdef __sparcv9 24868 + flushw 24869 + +#else 24870 + + ta 3 24871 + +#endif 24872 + restore 24873 + cfi_def_cfa_register(%fp) 24874 + cfi_window_save 24875 + 24876 + commit 626c048f32a979f77662bdcb1cca477c11d3f9c1 24877 + Author: Aurelien Jarno <aurelien@aurel32.net> 24878 + Date: Sun Nov 10 10:50:34 2024 +0100 24879 + 24880 + elf: handle addition overflow in _dl_find_object_update_1 [BZ #32245] 24881 + 24882 + The remaining_to_add variable can be 0 if (current_used + count) wraps, 24883 + This is caught by GCC 14+ on hppa, which determines from there that 24884 + target_seg could be be NULL when remaining_to_add is zero, which in 24885 + turns causes a -Wstringop-overflow warning: 24886 + 24887 + In file included from ../include/atomic.h:49, 24888 + from dl-find_object.c:20: 24889 + In function '_dlfo_update_init_seg', 24890 + inlined from '_dl_find_object_update_1' at dl-find_object.c:689:30, 24891 + inlined from '_dl_find_object_update' at dl-find_object.c:805:13: 24892 + ../sysdeps/unix/sysv/linux/hppa/atomic-machine.h:44:4: error: '__atomic_store_4' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] 24893 + 44 | __atomic_store_n ((mem), (val), __ATOMIC_RELAXED); \ 24894 + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24895 + dl-find_object.c:644:3: note: in expansion of macro 'atomic_store_relaxed' 24896 + 644 | atomic_store_relaxed (&seg->size, new_seg_size); 24897 + | ^~~~~~~~~~~~~~~~~~~~ 24898 + In function '_dl_find_object_update': 24899 + cc1: note: destination object is likely at address zero 24900 + 24901 + In practice, this is not possible as it represent counts of link maps. 24902 + Link maps have sizes larger than 1 byte, so the sum of any two link map 24903 + counts will always fit within a size_t without wrapping around. 24904 + 24905 + This patch therefore adds a check on remaining_to_add == 0 and tell GCC 24906 + that this can not happen using __builtin_unreachable. 24907 + 24908 + Thanks to Andreas Schwab for the investigation. 24909 + 24910 + Closes: BZ #32245 24911 + Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> 24912 + Tested-by: John David Anglin <dave.anglin@bell.net> 24913 + Reviewed-by: Florian Weimer <fweimer@redhat.com> 24914 + (cherry picked from commit 6c915c73d08028987232f6dc718f218c61113240) 24915 + 24916 + diff --git a/NEWS b/NEWS 24917 + index dc815fb6d3..bd0b3bd66a 100644 24918 + --- a/NEWS 24919 + +++ b/NEWS 24920 + @@ -19,6 +19,7 @@ The following bugs are resolved with this release: 24921 + [32052] Name space violation in fortify wrappers 24922 + [32137] libio: Attempt wide backup free only for non-legacy code 24923 + [32231] elf: Change ldconfig auxcache magic number 24924 + + [32245] glibc -Wstringop-overflow= build failure on hppa 24925 + 24926 + Version 2.40 24927 + 24928 + diff --git a/elf/dl-find_object.c b/elf/dl-find_object.c 24929 + index 449302eda3..ae18b438d3 100644 24930 + --- a/elf/dl-find_object.c 24931 + +++ b/elf/dl-find_object.c 24932 + @@ -662,6 +662,14 @@ _dl_find_object_update_1 (struct link_map **loaded, size_t count) 24933 + = _dlfo_loaded_mappings[!active_idx]; 24934 + size_t remaining_to_add = current_used + count; 24935 + 24936 + + /* remaining_to_add can be 0 if (current_used + count) wraps, but in practice 24937 + + this is not possible as it represent counts of link maps. Link maps have 24938 + + sizes larger than 1 byte, so the sum of any two link map counts will 24939 + + always fit within a size_t without wrapping around. This check ensures 24940 + + that target_seg is not erroneously considered potentially NULL by GCC. */ 24941 + + if (remaining_to_add == 0) 24942 + + __builtin_unreachable (); 24943 + + 24944 + /* Ensure that the new segment chain has enough space. */ 24945 + { 24946 + size_t new_allocated 24947 + 24948 + commit 9b9545ba27613fa41efdfa7965b6fc580bf1b919 24949 + Author: Michael Jeanson <mjeanson@efficios.com> 24950 + Date: Thu Nov 7 22:23:49 2024 +0100 24951 + 24952 + nptl: initialize rseq area prior to registration 24953 + 24954 + Per the rseq syscall documentation, 3 fields are required to be 24955 + initialized by userspace prior to registration, they are 'cpu_id', 24956 + 'rseq_cs' and 'flags'. Since we have no guarantee that 'struct pthread' 24957 + is cleared on all architectures, explicitly set those 3 fields prior to 24958 + registration. 24959 + 24960 + Signed-off-by: Michael Jeanson <mjeanson@efficios.com> 24961 + Reviewed-by: Florian Weimer <fweimer@redhat.com> 24962 + (cherry picked from commit 97f60abd25628425971f07e9b0e7f8eec0741235) 24963 + 24964 + diff --git a/nptl/descr.h b/nptl/descr.h 24965 + index 8cef95810c..c4bdd7757a 100644 24966 + --- a/nptl/descr.h 24967 + +++ b/nptl/descr.h 24968 + @@ -414,6 +414,8 @@ struct pthread 24969 + { 24970 + uint32_t cpu_id_start; 24971 + uint32_t cpu_id; 24972 + + uint64_t rseq_cs; 24973 + + uint32_t flags; 24974 + }; 24975 + char pad[32]; /* Original rseq area size. */ 24976 + } rseq_area __attribute__ ((aligned (32))); 24977 + diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h 24978 + index 7ea935b4ad..37a8f630b6 100644 24979 + --- a/sysdeps/unix/sysv/linux/rseq-internal.h 24980 + +++ b/sysdeps/unix/sysv/linux/rseq-internal.h 24981 + @@ -51,11 +51,21 @@ rseq_register_current_thread (struct pthread *self, bool do_rseq) 24982 + /* The initial implementation used only 20 bytes out of 32, 24983 + but still expected size 32. */ 24984 + size = RSEQ_AREA_SIZE_INITIAL; 24985 + + 24986 + + /* Initialize the rseq fields that are read by the kernel on 24987 + + registration, there is no guarantee that struct pthread is 24988 + + cleared on all architectures. */ 24989 + + THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); 24990 + + THREAD_SETMEM (self, rseq_area.rseq_cs, 0); 24991 + + THREAD_SETMEM (self, rseq_area.flags, 0); 24992 + + 24993 + int ret = INTERNAL_SYSCALL_CALL (rseq, &self->rseq_area, 24994 + size, 0, RSEQ_SIG); 24995 + if (!INTERNAL_SYSCALL_ERROR_P (ret)) 24996 + return true; 24997 + } 24998 + + /* When rseq is disabled by tunables or the registration fails, inform 24999 + + userspace by setting 'cpu_id' to RSEQ_CPU_ID_REGISTRATION_FAILED. */ 25000 + THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_REGISTRATION_FAILED); 25001 + return false; 25002 + } 25003 + 25004 + commit 091dd12831792cef16eee24fe240c73a25b47a1d 25005 + Author: Michael Jeanson <mjeanson@efficios.com> 25006 + Date: Wed Nov 20 14:15:42 2024 -0500 25007 + 25008 + nptl: initialize cpu_id_start prior to rseq registration 25009 + 25010 + When adding explicit initialization of rseq fields prior to 25011 + registration, I glossed over the fact that 'cpu_id_start' is also 25012 + documented as initialized by user-space. 25013 + 25014 + While current kernels don't validate the content of this field on 25015 + registration, future ones could. 25016 + 25017 + Signed-off-by: Michael Jeanson <mjeanson@efficios.com> 25018 + Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> 25019 + (cherry picked from commit d9f40387d3305d97e30a8cf8724218c42a63680a) 25020 + 25021 + diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h 25022 + index 37a8f630b6..ef3eab1fef 100644 25023 + --- a/sysdeps/unix/sysv/linux/rseq-internal.h 25024 + +++ b/sysdeps/unix/sysv/linux/rseq-internal.h 25025 + @@ -56,6 +56,7 @@ rseq_register_current_thread (struct pthread *self, bool do_rseq) 25026 + registration, there is no guarantee that struct pthread is 25027 + cleared on all architectures. */ 25028 + THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); 25029 + + THREAD_SETMEM (self, rseq_area.cpu_id_start, 0); 25030 + THREAD_SETMEM (self, rseq_area.rseq_cs, 0); 25031 + THREAD_SETMEM (self, rseq_area.flags, 0); 25032 + 25033 + 25034 + commit c6cdab1e01bc11bc4036dc5b1be6086f6259c123 25035 + Author: Sam James <sam@gentoo.org> 25036 + Date: Mon Dec 9 23:11:25 2024 +0000 25037 + 25038 + malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 25039 + 25040 + GCC 15 introduces allocation dead code removal (DCE) for PR117370 in 25041 + r15-5255-g7828dc070510f8. This breaks various glibc tests which want 25042 + to assert various properties of the allocator without doing anything 25043 + obviously useful with the allocated memory. 25044 + 25045 + Alexander Monakov rightly pointed out that we can and should do better 25046 + than passing -fno-malloc-dce to paper over the problem. Not least because 25047 + GCC 14 already does such DCE where there's no testing of malloc's return 25048 + value against NULL, and LLVM has such optimisations too. 25049 + 25050 + Handle this by providing malloc (and friends) wrappers with a volatile 25051 + function pointer to obscure that we're calling malloc (et. al) from the 25052 + compiler. 25053 + 25054 + Reviewed-by: Paul Eggert <eggert@cs.ucla.edu> 25055 + (cherry picked from commit a9944a52c967ce76a5894c30d0274b824df43c7a) 25056 + 25057 + diff --git a/malloc/tst-aligned-alloc.c b/malloc/tst-aligned-alloc.c 25058 + index 91167d1392..b0f05a8fec 100644 25059 + --- a/malloc/tst-aligned-alloc.c 25060 + +++ b/malloc/tst-aligned-alloc.c 25061 + @@ -25,6 +25,8 @@ 25062 + #include <libc-diag.h> 25063 + #include <support/check.h> 25064 + 25065 + +#include "tst-malloc-aux.h" 25066 + + 25067 + static int 25068 + do_test (void) 25069 + { 25070 + diff --git a/malloc/tst-compathooks-off.c b/malloc/tst-compathooks-off.c 25071 + index d0106f3fb7..4cce6e5a80 100644 25072 + --- a/malloc/tst-compathooks-off.c 25073 + +++ b/malloc/tst-compathooks-off.c 25074 + @@ -25,6 +25,8 @@ 25075 + #include <support/check.h> 25076 + #include <support/support.h> 25077 + 25078 + +#include "tst-malloc-aux.h" 25079 + + 25080 + extern void (*volatile __free_hook) (void *, const void *); 25081 + extern void *(*volatile __malloc_hook)(size_t, const void *); 25082 + extern void *(*volatile __realloc_hook)(void *, size_t, const void *); 25083 + diff --git a/malloc/tst-malloc-aux.h b/malloc/tst-malloc-aux.h 25084 + new file mode 100644 25085 + index 0000000000..54908b4a24 25086 + --- /dev/null 25087 + +++ b/malloc/tst-malloc-aux.h 25088 + @@ -0,0 +1,41 @@ 25089 + +/* Wrappers for malloc-like functions to allow testing the implementation 25090 + + without optimization. 25091 + + Copyright (C) 2024 Free Software Foundation, Inc. 25092 + + This file is part of the GNU C Library. 25093 + + 25094 + + The GNU C Library is free software; you can redistribute it and/or 25095 + + modify it under the terms of the GNU Lesser General Public License as 25096 + + published by the Free Software Foundation; either version 2.1 of the 25097 + + License, or (at your option) any later version. 25098 + + 25099 + + The GNU C Library is distributed in the hope that it will be useful, 25100 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 25101 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 25102 + + Lesser General Public License for more details. 25103 + + 25104 + + You should have received a copy of the GNU Lesser General Public 25105 + + License along with the GNU C Library; see the file COPYING.LIB. If 25106 + + not, see <https://www.gnu.org/licenses/>. */ 25107 + + 25108 + +#ifndef TST_MALLOC_AUX_H 25109 + +#define TST_MALLOC_AUX_H 25110 + + 25111 + +#include <stddef.h> 25112 + +#include <stdlib.h> 25113 + + 25114 + +static void *(*volatile aligned_alloc_indirect)(size_t, size_t) = aligned_alloc; 25115 + +static void *(*volatile calloc_indirect)(size_t, size_t) = calloc; 25116 + +static void *(*volatile malloc_indirect)(size_t) = malloc; 25117 + +static void *(*volatile realloc_indirect)(void*, size_t) = realloc; 25118 + + 25119 + +#undef aligned_alloc 25120 + +#undef calloc 25121 + +#undef malloc 25122 + +#undef realloc 25123 + + 25124 + +#define aligned_alloc aligned_alloc_indirect 25125 + +#define calloc calloc_indirect 25126 + +#define malloc malloc_indirect 25127 + +#define realloc realloc_indirect 25128 + + 25129 + +#endif /* TST_MALLOC_AUX_H */ 25130 + diff --git a/malloc/tst-malloc-check.c b/malloc/tst-malloc-check.c 25131 + index fde8863ad7..cc88bff3b3 100644 25132 + --- a/malloc/tst-malloc-check.c 25133 + +++ b/malloc/tst-malloc-check.c 25134 + @@ -20,6 +20,8 @@ 25135 + #include <stdlib.h> 25136 + #include <libc-diag.h> 25137 + 25138 + +#include "tst-malloc-aux.h" 25139 + + 25140 + static int errors = 0; 25141 + 25142 + static void 25143 + diff --git a/malloc/tst-malloc-too-large.c b/malloc/tst-malloc-too-large.c 25144 + index 8e9e0d5fa2..2b91377e54 100644 25145 + --- a/malloc/tst-malloc-too-large.c 25146 + +++ b/malloc/tst-malloc-too-large.c 25147 + @@ -43,6 +43,7 @@ 25148 + #include <unistd.h> 25149 + #include <sys/param.h> 25150 + 25151 + +#include "tst-malloc-aux.h" 25152 + 25153 + /* This function prepares for each 'too-large memory allocation' test by 25154 + performing a small successful malloc/free and resetting errno prior to 25155 + diff --git a/malloc/tst-malloc.c b/malloc/tst-malloc.c 25156 + index f7a6e4654c..68af399022 100644 25157 + --- a/malloc/tst-malloc.c 25158 + +++ b/malloc/tst-malloc.c 25159 + @@ -22,6 +22,8 @@ 25160 + #include <libc-diag.h> 25161 + #include <time.h> 25162 + 25163 + +#include "tst-malloc-aux.h" 25164 + + 25165 + static int errors = 0; 25166 + 25167 + static void 25168 + diff --git a/malloc/tst-realloc.c b/malloc/tst-realloc.c 25169 + index f50499ecb1..74a28fb45e 100644 25170 + --- a/malloc/tst-realloc.c 25171 + +++ b/malloc/tst-realloc.c 25172 + @@ -23,6 +23,8 @@ 25173 + #include <libc-diag.h> 25174 + #include <support/check.h> 25175 + 25176 + +#include "tst-malloc-aux.h" 25177 + + 25178 + static int 25179 + do_test (void) 25180 + { 25181 + diff --git a/support/support.h b/support/support.h 25182 + index ba21ec9b5a..1a77f79793 100644 25183 + --- a/support/support.h 25184 + +++ b/support/support.h 25185 + @@ -113,7 +113,7 @@ void *xposix_memalign (size_t alignment, size_t n) 25186 + __attribute_malloc__ __attribute_alloc_align__ ((1)) 25187 + __attribute_alloc_size__ ((2)) __attr_dealloc_free __returns_nonnull; 25188 + char *xasprintf (const char *format, ...) 25189 + - __attribute__ ((format (printf, 1, 2), malloc)) __attr_dealloc_free 25190 + + __attribute__ ((format (printf, 1, 2), __malloc__)) __attr_dealloc_free 25191 + __returns_nonnull; 25192 + char *xstrdup (const char *) __attr_dealloc_free __returns_nonnull; 25193 + char *xstrndup (const char *, size_t) __attr_dealloc_free __returns_nonnull; 25194 + diff --git a/test-skeleton.c b/test-skeleton.c 25195 + index ae185a4f28..690f26e7cf 100644 25196 + --- a/test-skeleton.c 25197 + +++ b/test-skeleton.c 25198 + @@ -27,7 +27,6 @@ 25199 + #include <errno.h> 25200 + #include <fcntl.h> 25201 + #include <getopt.h> 25202 + -#include <malloc.h> 25203 + #include <paths.h> 25204 + #include <search.h> 25205 + #include <signal.h> 25206 + 25207 + commit 846e64257e5fc9b5b723c2eec2b7155ab5944d1f 25208 + Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> 25209 + Date: Fri Sep 13 11:10:05 2024 -0300 25210 + 25211 + support: Make support_process_state_wait return the found state 25212 + 25213 + So caller can check which state was found if multiple ones are 25214 + asked. 25215 + 25216 + Checked on x86_64-linux-gnu. 25217 + 25218 + Reviewed-by: Florian Weimer <fweimer@redhat.com> 25219 + (cherry picked from commit 38316352e0f742f3a2b5816a61a4b603cb5573f8) 25220 + (cherry picked from commit 2e38c5a090b3a54040b6e508d42e5a76e492c6e8) 25221 + 25222 + diff --git a/support/process_state.h b/support/process_state.h 25223 + index 1cf902e91b..9541d8c343 100644 25224 + --- a/support/process_state.h 25225 + +++ b/support/process_state.h 25226 + @@ -31,13 +31,16 @@ enum support_process_state 25227 + support_process_state_dead = 0x20, /* X (dead). */ 25228 + support_process_state_zombie = 0x40, /* Z (zombie). */ 25229 + support_process_state_parked = 0x80, /* P (parked). */ 25230 + + support_process_state_invalid = 0x100 /* Invalid state. */ 25231 + }; 25232 + 25233 + /* Wait for process PID to reach state STATE. It can be a combination of 25234 + multiple possible states ('process_state_running | process_state_sleeping') 25235 + where the function return when any of these state are observed. 25236 + For an invalid state not represented by SUPPORT_PROCESS_STATE, it fallbacks 25237 + - to a 2 second sleep. */ 25238 + -void support_process_state_wait (pid_t pid, enum support_process_state state); 25239 + + to a 2 second sleep. 25240 + + Return the found process state. */ 25241 + +enum support_process_state 25242 + +support_process_state_wait (pid_t pid, enum support_process_state state); 25243 + 25244 + #endif 25245 + diff --git a/support/support_process_state.c b/support/support_process_state.c 25246 + index 062335234f..ae8e0a531c 100644 25247 + --- a/support/support_process_state.c 25248 + +++ b/support/support_process_state.c 25249 + @@ -27,7 +27,7 @@ 25250 + #include <support/xstdio.h> 25251 + #include <support/check.h> 25252 + 25253 + -void 25254 + +enum support_process_state 25255 + support_process_state_wait (pid_t pid, enum support_process_state state) 25256 + { 25257 + #ifdef __linux__ 25258 + @@ -75,7 +75,7 @@ support_process_state_wait (pid_t pid, enum support_process_state state) 25259 + { 25260 + free (line); 25261 + xfclose (fstatus); 25262 + - return; 25263 + + return process_states[i].s; 25264 + } 25265 + 25266 + rewind (fstatus); 25267 + @@ -90,4 +90,6 @@ support_process_state_wait (pid_t pid, enum support_process_state state) 25268 + /* Fallback to nanosleep if an invalid state is found. */ 25269 + #endif 25270 + nanosleep (&(struct timespec) { 1, 0 }, NULL); 25271 + + 25272 + + return support_process_state_invalid; 25273 + } 25274 + diff --git a/support/tst-support-process_state.c b/support/tst-support-process_state.c 25275 + index d73269320f..4a88eae3a7 100644 25276 + --- a/support/tst-support-process_state.c 25277 + +++ b/support/tst-support-process_state.c 25278 + @@ -68,28 +68,39 @@ do_test (void) 25279 + if (test_verbose) 25280 + printf ("info: waiting pid %d, state_stopped/state_tracing_stop\n", 25281 + (int) pid); 25282 + - support_process_state_wait (pid, stop_state); 25283 + + { 25284 + + enum support_process_state state = 25285 + + support_process_state_wait (pid, stop_state); 25286 + + TEST_VERIFY (state == support_process_state_stopped 25287 + + || state == support_process_state_tracing_stop); 25288 + + } 25289 + 25290 + if (kill (pid, SIGCONT) != 0) 25291 + FAIL_RET ("kill (%d, SIGCONT): %m\n", pid); 25292 + 25293 + if (test_verbose) 25294 + printf ("info: waiting pid %d, state_sleeping\n", (int) pid); 25295 + - support_process_state_wait (pid, support_process_state_sleeping); 25296 + + TEST_COMPARE (support_process_state_wait (pid, 25297 + + support_process_state_sleeping), 25298 + + support_process_state_sleeping); 25299 + 25300 + if (kill (pid, SIGUSR1) != 0) 25301 + FAIL_RET ("kill (%d, SIGUSR1): %m\n", pid); 25302 + 25303 + if (test_verbose) 25304 + printf ("info: waiting pid %d, state_running\n", (int) pid); 25305 + - support_process_state_wait (pid, support_process_state_running); 25306 + + TEST_COMPARE (support_process_state_wait (pid, 25307 + + support_process_state_running), 25308 + + support_process_state_running); 25309 + 25310 + if (kill (pid, SIGKILL) != 0) 25311 + FAIL_RET ("kill (%d, SIGKILL): %m\n", pid); 25312 + 25313 + if (test_verbose) 25314 + printf ("info: waiting pid %d, state_zombie\n", (int) pid); 25315 + - support_process_state_wait (pid, support_process_state_zombie); 25316 + + TEST_COMPARE (support_process_state_wait (pid, 25317 + + support_process_state_zombie), 25318 + + support_process_state_zombie);; 25319 + 25320 + siginfo_t info; 25321 + int r = waitid (P_PID, pid, &info, WEXITED); 25322 + 25323 + commit 11d9f49cebe64939f50e16a59c9ebefb80a294ab 25324 + Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> 25325 + Date: Fri Sep 13 11:11:56 2024 -0300 25326 + 25327 + sparc: Fix restartable syscalls (BZ 32173) 25328 + 25329 + The commit 'sparc: Use Linux kABI for syscall return' 25330 + (86c5d2cf0ce046279baddc7faa27da71f1a89fde) did not take into account 25331 + a subtle sparc syscall kABI constraint. For syscalls that might block 25332 + indefinitely, on an interrupt (like SIGCONT) the kernel will set the 25333 + instruction pointer to just before the syscall: 25334 + 25335 + arch/sparc/kernel/signal_64.c 25336 + 476 static void do_signal(struct pt_regs *regs, unsigned long orig_i0) 25337 + 477 { 25338 + [...] 25339 + 525 if (restart_syscall) { 25340 + 526 switch (regs->u_regs[UREG_I0]) { 25341 + 527 case ERESTARTNOHAND: 25342 + 528 case ERESTARTSYS: 25343 + 529 case ERESTARTNOINTR: 25344 + 530 /* replay the system call when we are done */ 25345 + 531 regs->u_regs[UREG_I0] = orig_i0; 25346 + 532 regs->tpc -= 4; 25347 + 533 regs->tnpc -= 4; 25348 + 534 pt_regs_clear_syscall(regs); 25349 + 535 fallthrough; 25350 + 536 case ERESTART_RESTARTBLOCK: 25351 + 537 regs->u_regs[UREG_G1] = __NR_restart_syscall; 25352 + 538 regs->tpc -= 4; 25353 + 539 regs->tnpc -= 4; 25354 + 540 pt_regs_clear_syscall(regs); 25355 + 541 } 25356 + 25357 + However, on a SIGCONT it seems that 'g1' register is being clobbered after the 25358 + syscall returns. Before 86c5d2cf0ce046279, the 'g1' was always placed jus 25359 + before the 'ta' instruction which then reloads the syscall number and restarts 25360 + the syscall. 25361 + 25362 + On master, where 'g1' might be placed before 'ta': 25363 + 25364 + $ cat test.c 25365 + #include <unistd.h> 25366 + 25367 + int main () 25368 + { 25369 + pause (); 25370 + } 25371 + $ gcc test.c -o test 25372 + $ strace -f ./t 25373 + [...] 25374 + ppoll(NULL, 0, NULL, NULL, 0 25375 + 25376 + On another terminal 25377 + 25378 + $ kill -STOP 2262828 25379 + 25380 + $ strace -f ./t 25381 + [...] 25382 + --- SIGSTOP {si_signo=SIGSTOP, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- 25383 + --- stopped by SIGSTOP --- 25384 + 25385 + And then 25386 + 25387 + $ kill -CONT 2262828 25388 + 25389 + Results in: 25390 + 25391 + --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- 25392 + restart_syscall(<... resuming interrupted ppoll ...>) = -1 EINTR (Interrupted system call) 25393 + 25394 + Where the expected behaviour would be: 25395 + 25396 + $ strace -f ./t 25397 + [...] 25398 + ppoll(NULL, 0, NULL, NULL, 0) = ? ERESTARTNOHAND (To be restarted if no handler) 25399 + --- SIGSTOP {si_signo=SIGSTOP, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- 25400 + --- stopped by SIGSTOP --- 25401 + --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- 25402 + ppoll(NULL, 0, NULL, NULL, 0 25403 + 25404 + Just moving the 'g1' setting near the syscall asm is not suffice, 25405 + the compiler might optimize it away (as I saw on cancellation.c by 25406 + trying this fix). Instead, I have change the inline asm to put the 25407 + 'g1' setup in ithe asm block. This would require to change the asm 25408 + constraint for INTERNAL_SYSCALL_NCS, since the syscall number is not 25409 + constant. 25410 + 25411 + Checked on sparc64-linux-gnu. 25412 + 25413 + Reported-by: René Rebe <rene@exactcode.de> 25414 + Tested-by: Sam James <sam@gentoo.org> 25415 + Reviewed-by: Sam James <sam@gentoo.org> 25416 + (cherry picked from commit 2c1903cbbac0022153a67776f474c221250ad6ed) 25417 + (cherry picked from commit 1cd7e13289b91e1495a1865c1f678196d1bb7be4) 25418 + 25419 + diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile 25420 + index 59998c7af4..34890ef69a 100644 25421 + --- a/sysdeps/unix/sysv/linux/Makefile 25422 + +++ b/sysdeps/unix/sysv/linux/Makefile 25423 + @@ -227,6 +227,7 @@ tests += \ 25424 + tst-scm_rights \ 25425 + tst-sigtimedwait \ 25426 + tst-sync_file_range \ 25427 + + tst-syscall-restart \ 25428 + tst-sysconf-iov_max \ 25429 + tst-sysvmsg-linux \ 25430 + tst-sysvsem-linux \ 25431 + diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 25432 + index d2d68f5312..c2ffbb5c8f 100644 25433 + --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 25434 + +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 25435 + @@ -107,6 +107,7 @@ ENTRY(name); \ 25436 + #else /* __ASSEMBLER__ */ 25437 + 25438 + #define __SYSCALL_STRING \ 25439 + + "mov %[scn], %%g1;" \ 25440 + "ta 0x10;" \ 25441 + "bcc 1f;" \ 25442 + " nop;" \ 25443 + @@ -114,7 +115,7 @@ ENTRY(name); \ 25444 + "1:" 25445 + 25446 + #define __SYSCALL_CLOBBERS \ 25447 + - "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ 25448 + + "g1", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ 25449 + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ 25450 + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ 25451 + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ 25452 + diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h 25453 + index 96047424e9..5598fab08a 100644 25454 + --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h 25455 + +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h 25456 + @@ -106,6 +106,7 @@ ENTRY(name); \ 25457 + #else /* __ASSEMBLER__ */ 25458 + 25459 + #define __SYSCALL_STRING \ 25460 + + "mov %[scn], %%g1;" \ 25461 + "ta 0x6d;" \ 25462 + "bcc,pt %%xcc, 1f;" \ 25463 + " nop;" \ 25464 + @@ -113,7 +114,7 @@ ENTRY(name); \ 25465 + "1:" 25466 + 25467 + #define __SYSCALL_CLOBBERS \ 25468 + - "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ 25469 + + "g1", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ 25470 + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ 25471 + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ 25472 + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ 25473 + diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h 25474 + index dcabb57fe2..c287740a8c 100644 25475 + --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h 25476 + +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h 25477 + @@ -50,97 +50,109 @@ 25478 + 25479 + #undef INTERNAL_SYSCALL_NCS 25480 + #define INTERNAL_SYSCALL_NCS(name, nr, args...) \ 25481 + - internal_syscall##nr(__SYSCALL_STRING, name, args) 25482 + + _internal_syscall##nr(__SYSCALL_STRING, "p", name, args) 25483 + 25484 + -#define internal_syscall0(string,name,dummy...) \ 25485 + +#define _internal_syscall0(string,nc,name,dummy...) \ 25486 + ({ \ 25487 + - register long int __g1 __asm__ ("g1") = (name); \ 25488 + register long __o0 __asm__ ("o0"); \ 25489 + + long int _name = (long int) (name); \ 25490 + __asm __volatile (string : "=r" (__o0) : \ 25491 + - "r" (__g1) : \ 25492 + + [scn] nc (_name) : \ 25493 + __SYSCALL_CLOBBERS); \ 25494 + __o0; \ 25495 + }) 25496 + +#define internal_syscall0(string,name,args...) \ 25497 + + _internal_syscall0(string, "i", name, args) 25498 + 25499 + -#define internal_syscall1(string,name,arg1) \ 25500 + +#define _internal_syscall1(string,nc,name,arg1) \ 25501 + ({ \ 25502 + long int _arg1 = (long int) (arg1); \ 25503 + - register long int __g1 __asm__("g1") = (name); \ 25504 + + long int _name = (long int) (name); \ 25505 + register long int __o0 __asm__ ("o0") = _arg1; \ 25506 + - __asm __volatile (string : "=r" (__o0) : \ 25507 + - "r" (__g1), "0" (__o0) : \ 25508 + + __asm __volatile (string : "+r" (__o0) : \ 25509 + + [scn] nc (_name) : \ 25510 + __SYSCALL_CLOBBERS); \ 25511 + __o0; \ 25512 + }) 25513 + +#define internal_syscall1(string,name,args...) \ 25514 + + _internal_syscall1(string, "i", name, args) 25515 + 25516 + -#define internal_syscall2(string,name,arg1,arg2) \ 25517 + +#define _internal_syscall2(string,nc,name,arg1,arg2) \ 25518 + ({ \ 25519 + long int _arg1 = (long int) (arg1); \ 25520 + long int _arg2 = (long int) (arg2); \ 25521 + - register long int __g1 __asm__("g1") = (name); \ 25522 + + long int _name = (long int) (name); \ 25523 + register long int __o0 __asm__ ("o0") = _arg1; \ 25524 + register long int __o1 __asm__ ("o1") = _arg2; \ 25525 + - __asm __volatile (string : "=r" (__o0) : \ 25526 + - "r" (__g1), "0" (__o0), "r" (__o1) : \ 25527 + + __asm __volatile (string : "+r" (__o0) : \ 25528 + + [scn] nc (_name), "r" (__o1) : \ 25529 + __SYSCALL_CLOBBERS); \ 25530 + __o0; \ 25531 + }) 25532 + +#define internal_syscall2(string,name,args...) \ 25533 + + _internal_syscall2(string, "i", name, args) 25534 + 25535 + -#define internal_syscall3(string,name,arg1,arg2,arg3) \ 25536 + +#define _internal_syscall3(string,nc,name,arg1,arg2,arg3) \ 25537 + ({ \ 25538 + long int _arg1 = (long int) (arg1); \ 25539 + long int _arg2 = (long int) (arg2); \ 25540 + long int _arg3 = (long int) (arg3); \ 25541 + - register long int __g1 __asm__("g1") = (name); \ 25542 + + long int _name = (long int) (name); \ 25543 + register long int __o0 __asm__ ("o0") = _arg1; \ 25544 + register long int __o1 __asm__ ("o1") = _arg2; \ 25545 + register long int __o2 __asm__ ("o2") = _arg3; \ 25546 + - __asm __volatile (string : "=r" (__o0) : \ 25547 + - "r" (__g1), "0" (__o0), "r" (__o1), \ 25548 + + __asm __volatile (string : "+r" (__o0) : \ 25549 + + [scn] nc (_name), "r" (__o1), \ 25550 + "r" (__o2) : \ 25551 + __SYSCALL_CLOBBERS); \ 25552 + __o0; \ 25553 + }) 25554 + +#define internal_syscall3(string,name,args...) \ 25555 + + _internal_syscall3(string, "i", name, args) 25556 + 25557 + -#define internal_syscall4(string,name,arg1,arg2,arg3,arg4) \ 25558 + +#define _internal_syscall4(string,nc,name,arg1,arg2,arg3,arg4) \ 25559 + ({ \ 25560 + long int _arg1 = (long int) (arg1); \ 25561 + long int _arg2 = (long int) (arg2); \ 25562 + long int _arg3 = (long int) (arg3); \ 25563 + long int _arg4 = (long int) (arg4); \ 25564 + - register long int __g1 __asm__("g1") = (name); \ 25565 + + long int _name = (long int) (name); \ 25566 + register long int __o0 __asm__ ("o0") = _arg1; \ 25567 + register long int __o1 __asm__ ("o1") = _arg2; \ 25568 + register long int __o2 __asm__ ("o2") = _arg3; \ 25569 + register long int __o3 __asm__ ("o3") = _arg4; \ 25570 + - __asm __volatile (string : "=r" (__o0) : \ 25571 + - "r" (__g1), "0" (__o0), "r" (__o1), \ 25572 + + __asm __volatile (string : "+r" (__o0) : \ 25573 + + [scn] nc (_name), "r" (__o1), \ 25574 + "r" (__o2), "r" (__o3) : \ 25575 + __SYSCALL_CLOBBERS); \ 25576 + __o0; \ 25577 + }) 25578 + +#define internal_syscall4(string,name,args...) \ 25579 + + _internal_syscall4(string, "i", name, args) 25580 + 25581 + -#define internal_syscall5(string,name,arg1,arg2,arg3,arg4,arg5) \ 25582 + +#define _internal_syscall5(string,nc,name,arg1,arg2,arg3,arg4,arg5) \ 25583 + ({ \ 25584 + long int _arg1 = (long int) (arg1); \ 25585 + long int _arg2 = (long int) (arg2); \ 25586 + long int _arg3 = (long int) (arg3); \ 25587 + long int _arg4 = (long int) (arg4); \ 25588 + long int _arg5 = (long int) (arg5); \ 25589 + - register long int __g1 __asm__("g1") = (name); \ 25590 + + long int _name = (long int) (name); \ 25591 + register long int __o0 __asm__ ("o0") = _arg1; \ 25592 + register long int __o1 __asm__ ("o1") = _arg2; \ 25593 + register long int __o2 __asm__ ("o2") = _arg3; \ 25594 + register long int __o3 __asm__ ("o3") = _arg4; \ 25595 + register long int __o4 __asm__ ("o4") = _arg5; \ 25596 + - __asm __volatile (string : "=r" (__o0) : \ 25597 + - "r" (__g1), "0" (__o0), "r" (__o1), \ 25598 + + __asm __volatile (string : "+r" (__o0) : \ 25599 + + [scn] nc (_name), "r" (__o1), \ 25600 + "r" (__o2), "r" (__o3), "r" (__o4) : \ 25601 + __SYSCALL_CLOBBERS); \ 25602 + __o0; \ 25603 + }) 25604 + +#define internal_syscall5(string,name,args...) \ 25605 + + _internal_syscall5(string, "i", name, args) 25606 + 25607 + -#define internal_syscall6(string,name,arg1,arg2,arg3,arg4,arg5,arg6) \ 25608 + +#define _internal_syscall6(string,nc,name,arg1,arg2,arg3,arg4,arg5,arg6)\ 25609 + ({ \ 25610 + long int _arg1 = (long int) (arg1); \ 25611 + long int _arg2 = (long int) (arg2); \ 25612 + @@ -148,20 +160,22 @@ 25613 + long int _arg4 = (long int) (arg4); \ 25614 + long int _arg5 = (long int) (arg5); \ 25615 + long int _arg6 = (long int) (arg6); \ 25616 + - register long int __g1 __asm__("g1") = (name); \ 25617 + + long int _name = (long int) (name); \ 25618 + register long int __o0 __asm__ ("o0") = _arg1; \ 25619 + register long int __o1 __asm__ ("o1") = _arg2; \ 25620 + register long int __o2 __asm__ ("o2") = _arg3; \ 25621 + register long int __o3 __asm__ ("o3") = _arg4; \ 25622 + register long int __o4 __asm__ ("o4") = _arg5; \ 25623 + register long int __o5 __asm__ ("o5") = _arg6; \ 25624 + - __asm __volatile (string : "=r" (__o0) : \ 25625 + - "r" (__g1), "0" (__o0), "r" (__o1), \ 25626 + + __asm __volatile (string : "+r" (__o0) : \ 25627 + + [scn] nc (_name), "r" (__o1), \ 25628 + "r" (__o2), "r" (__o3), "r" (__o4), \ 25629 + "r" (__o5) : \ 25630 + __SYSCALL_CLOBBERS); \ 25631 + __o0; \ 25632 + }) 25633 + +#define internal_syscall6(string,name,args...) \ 25634 + + _internal_syscall6(string, "i", name, args) 25635 + 25636 + #define INLINE_CLONE_SYSCALL(arg1,arg2,arg3,arg4,arg5) \ 25637 + ({ \ 25638 + @@ -170,15 +184,15 @@ 25639 + long int _arg3 = (long int) (arg3); \ 25640 + long int _arg4 = (long int) (arg4); \ 25641 + long int _arg5 = (long int) (arg5); \ 25642 + + long int _name = __NR_clone; \ 25643 + register long int __o0 __asm__ ("o0") = _arg1; \ 25644 + register long int __o1 __asm__ ("o1") = _arg2; \ 25645 + register long int __o2 __asm__ ("o2") = _arg3; \ 25646 + register long int __o3 __asm__ ("o3") = _arg4; \ 25647 + register long int __o4 __asm__ ("o4") = _arg5; \ 25648 + - register long int __g1 __asm__ ("g1") = __NR_clone; \ 25649 + __asm __volatile (__SYSCALL_STRING : \ 25650 + "=r" (__o0), "=r" (__o1) : \ 25651 + - "r" (__g1), "0" (__o0), "1" (__o1), \ 25652 + + [scn] "i" (_name), "0" (__o0), "1" (__o1), \ 25653 + "r" (__o2), "r" (__o3), "r" (__o4) : \ 25654 + __SYSCALL_CLOBBERS); \ 25655 + if (__glibc_unlikely ((unsigned long int) (__o0) > -4096UL)) \ 25656 + diff --git a/sysdeps/unix/sysv/linux/tst-syscall-restart.c b/sysdeps/unix/sysv/linux/tst-syscall-restart.c 25657 + new file mode 100644 25658 + index 0000000000..84a8a41b5c 25659 + --- /dev/null 25660 + +++ b/sysdeps/unix/sysv/linux/tst-syscall-restart.c 25661 + @@ -0,0 +1,112 @@ 25662 + +/* Test if a syscall is correctly restarted. 25663 + + Copyright (C) 2024 Free Software Foundation, Inc. 25664 + + This file is part of the GNU C Library. 25665 + + 25666 + + The GNU C Library is free software; you can redistribute it and/or 25667 + + modify it under the terms of the GNU Lesser General Public 25668 + + License as published by the Free Software Foundation; either 25669 + + version 2.1 of the License, or (at your option) any later version. 25670 + + 25671 + + The GNU C Library is distributed in the hope that it will be useful, 25672 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 25673 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 25674 + + Lesser General Public License for more details. 25675 + + 25676 + + You should have received a copy of the GNU Lesser General Public 25677 + + License along with the GNU C Library; if not, see 25678 + + <https://www.gnu.org/licenses/>. */ 25679 + + 25680 + +#include <support/xsignal.h> 25681 + +#include <support/check.h> 25682 + +#include <support/process_state.h> 25683 + +#include <support/xunistd.h> 25684 + +#include <support/xthread.h> 25685 + +#include <sys/wait.h> 25686 + + 25687 + +static int 25688 + +check_pid (pid_t pid) 25689 + +{ 25690 + + /* Wait until the child has called pause and it blocking on kernel. */ 25691 + + support_process_state_wait (pid, support_process_state_sleeping); 25692 + + 25693 + + TEST_COMPARE (kill (pid, SIGSTOP), 0); 25694 + + 25695 + + /* Adding process_state_tracing_stop ('t') allows the test to work under 25696 + + trace programs such as ptrace. */ 25697 + + support_process_state_wait (pid, support_process_state_stopped 25698 + + | support_process_state_tracing_stop); 25699 + + 25700 + + TEST_COMPARE (kill (pid, SIGCONT), 0); 25701 + + 25702 + + enum support_process_state state 25703 + + = support_process_state_wait (pid, support_process_state_sleeping 25704 + + | support_process_state_zombie); 25705 + + 25706 + + TEST_COMPARE (state, support_process_state_sleeping); 25707 + + 25708 + + TEST_COMPARE (kill (pid, SIGTERM), 0); 25709 + + 25710 + + siginfo_t info; 25711 + + TEST_COMPARE (waitid (P_PID, pid, &info, WEXITED), 0); 25712 + + TEST_COMPARE (info.si_signo, SIGCHLD); 25713 + + TEST_COMPARE (info.si_code, CLD_KILLED); 25714 + + TEST_COMPARE (info.si_status, SIGTERM); 25715 + + TEST_COMPARE (info.si_pid, pid); 25716 + + 25717 + + return 0; 25718 + +} 25719 + + 25720 + +static void * 25721 + +tf (void *) 25722 + +{ 25723 + + pause (); 25724 + + return NULL; 25725 + +} 25726 + + 25727 + +static void 25728 + +child_mt (void) 25729 + +{ 25730 + + /* Let only the created thread to handle signals. */ 25731 + + sigset_t set; 25732 + + sigfillset (&set); 25733 + + xpthread_sigmask (SIG_BLOCK, &set, NULL); 25734 + + 25735 + + sigdelset (&set, SIGSTOP); 25736 + + sigdelset (&set, SIGCONT); 25737 + + sigdelset (&set, SIGTERM); 25738 + + 25739 + + pthread_attr_t attr; 25740 + + xpthread_attr_init (&attr); 25741 + + TEST_COMPARE (pthread_attr_setsigmask_np (&attr, &set), 0); 25742 + + 25743 + + xpthread_join (xpthread_create (&attr, tf, NULL)); 25744 + +} 25745 + + 25746 + +static void 25747 + +do_test_syscall (bool multithread) 25748 + +{ 25749 + + pid_t pid = xfork (); 25750 + + if (pid == 0) 25751 + + { 25752 + + if (multithread) 25753 + + child_mt (); 25754 + + else 25755 + + pause (); 25756 + + _exit (127); 25757 + + } 25758 + + 25759 + + check_pid (pid); 25760 + +} 25761 + + 25762 + +static int 25763 + +do_test (void) 25764 + +{ 25765 + + /* Check for both single and multi thread, since they use different syscall 25766 + + mechanisms. */ 25767 + + do_test_syscall (false); 25768 + + do_test_syscall (true); 25769 + + 25770 + + return 0; 25771 + +} 25772 + + 25773 + +#include <support/test-driver.c> 25774 + 25775 + commit 9af64ca64c532b7e42a40b48fe5e01726a9b7943 25776 + Author: H.J. Lu <hjl.tools@gmail.com> 25777 + Date: Thu Dec 5 08:39:44 2024 +0800 25778 + 25779 + math: Exclude internal math symbols for tests [BZ #32414] 25780 + 25781 + Since internal tests don't have access to internal symbols in libm, 25782 + exclude them for internal tests. Also make tst-strtod5 and tst-strtod5i 25783 + depend on $(libm) to support older versions of GCC which can't inline 25784 + copysign family functions. This fixes BZ #32414. 25785 + 25786 + Signed-off-by: H.J. Lu <hjl.tools@gmail.com> 25787 + Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com> 25788 + (cherry picked from commit 5df09b444835fca6e64b3d4b4a5beb19b3b2ba21) 25789 + 25790 + diff --git a/include/math.h b/include/math.h 25791 + index fa11a710a6..035fd160ff 100644 25792 + --- a/include/math.h 25793 + +++ b/include/math.h 25794 + @@ -130,7 +130,10 @@ fabsf128 (_Float128 x) 25795 + } 25796 + # endif 25797 + 25798 + -# if !(defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) 25799 + + 25800 + +/* NB: Internal tests don't have access to internal symbols. */ 25801 + +# if !IS_IN (testsuite_internal) \ 25802 + + && !(defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) 25803 + # ifndef NO_MATH_REDIRECT 25804 + /* Declare some functions for use within GLIBC. Compilers typically 25805 + inline those functions as a single instruction. Use an asm to 25806 + diff --git a/stdlib/Makefile b/stdlib/Makefile 25807 + index 8b0ac63ddb..8213fa83ef 100644 25808 + --- a/stdlib/Makefile 25809 + +++ b/stdlib/Makefile 25810 + @@ -603,6 +603,8 @@ $(objpfx)bug-strtod2: $(libm) 25811 + $(objpfx)tst-strtod-round: $(libm) 25812 + $(objpfx)tst-tininess: $(libm) 25813 + $(objpfx)tst-strtod-underflow: $(libm) 25814 + +$(objpfx)tst-strtod5: $(libm) 25815 + +$(objpfx)tst-strtod5i: $(libm) 25816 + $(objpfx)tst-strtod6: $(libm) 25817 + $(objpfx)tst-strtod-nan-locale: $(libm) 25818 + $(objpfx)tst-strtod-nan-sign: $(libm) 25819 + 25820 + commit 0b39fe801208e805cc911f64a2fdd25d04b7151e 25821 + Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> 25822 + Date: Fri Oct 18 08:48:22 2024 -0300 25823 + 25824 + linux: Fix tst-syscall-restart.c on old gcc (BZ 32283) 25825 + 25826 + To avoid a parameter name omitted error. 25827 + 25828 + (cherry picked from commit ab564362d0470d10947c24155ec048c4e14a009d) 25829 + 25830 + diff --git a/sysdeps/unix/sysv/linux/tst-syscall-restart.c b/sysdeps/unix/sysv/linux/tst-syscall-restart.c 25831 + index 84a8a41b5c..0ee7dc8517 100644 25832 + --- a/sysdeps/unix/sysv/linux/tst-syscall-restart.c 25833 + +++ b/sysdeps/unix/sysv/linux/tst-syscall-restart.c 25834 + @@ -57,7 +57,7 @@ check_pid (pid_t pid) 25835 + } 25836 + 25837 + static void * 25838 + -tf (void *) 25839 + +tf (void *closure) 25840 + { 25841 + pause (); 25842 + return NULL; 25843 + 25844 + commit 94e4a8c7d68129075f1b494a0b26151a4f989b36 25845 + Author: Florian Weimer <fweimer@redhat.com> 25846 + Date: Tue Dec 17 18:12:03 2024 +0100 25847 + 25848 + x86: Avoid integer truncation with large cache sizes (bug 32470) 25849 + 25850 + Some hypervisors report 1 TiB L3 cache size. This results 25851 + in some variables incorrectly getting zeroed, causing crashes 25852 + in memcpy/memmove because invariants are violated. 25853 + 25854 + (cherry picked from commit 61c3450db96dce96ad2b24b4f0b548e6a46d68e5) 25855 + 25856 + diff --git a/NEWS b/NEWS 25857 + index bd0b3bd66a..97a1e1f5d4 100644 25858 + --- a/NEWS 25859 + +++ b/NEWS 25860 + @@ -20,6 +20,7 @@ The following bugs are resolved with this release: 25861 + [32137] libio: Attempt wide backup free only for non-legacy code 25862 + [32231] elf: Change ldconfig auxcache magic number 25863 + [32245] glibc -Wstringop-overflow= build failure on hppa 25864 + + [32470] x86: Avoid integer truncation with large cache sizes 25865 + 25866 + Version 2.40 25867 + 25868 + diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h 25869 + index a1c03b8903..ac97414b5b 100644 25870 + --- a/sysdeps/x86/dl-cacheinfo.h 25871 + +++ b/sysdeps/x86/dl-cacheinfo.h 25872 + @@ -961,11 +961,11 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) 25873 + non_temporal_threshold = maximum_non_temporal_threshold; 25874 + 25875 + /* NB: The REP MOVSB threshold must be greater than VEC_SIZE * 8. */ 25876 + - unsigned int minimum_rep_movsb_threshold; 25877 + + unsigned long int minimum_rep_movsb_threshold; 25878 + /* NB: The default REP MOVSB threshold is 4096 * (VEC_SIZE / 16) for 25879 + VEC_SIZE == 64 or 32. For VEC_SIZE == 16, the default REP MOVSB 25880 + threshold is 2048 * (VEC_SIZE / 16). */ 25881 + - unsigned int rep_movsb_threshold; 25882 + + unsigned long int rep_movsb_threshold; 25883 + if (CPU_FEATURE_USABLE_P (cpu_features, AVX512F) 25884 + && !CPU_FEATURE_PREFERRED_P (cpu_features, Prefer_No_AVX512)) 25885 + { 25886 + 25887 + commit 9fbfbd924f718663d5303858f34d1f857c375093 25888 + Author: John David Anglin <danglin@gcc.gnu.org> 25889 + Date: Thu Dec 19 11:30:09 2024 -0500 25890 + 25891 + hppa: Fix strace detach-vfork test 25892 + 25893 + This change implements vfork.S for direct support of the vfork 25894 + syscall. clone.S is revised to correct child support for the 25895 + vfork case. 25896 + 25897 + The main bug was creating a frame prior to the clone syscall. 25898 + This was done to allow the rp and r4 registers to be saved and 25899 + restored from the stack frame. r4 was used to save and restore 25900 + the PIC register, r19, across the system call and the call to 25901 + set errno. But in the vfork case, it is undefined behavior 25902 + for the child to return from the function in which vfork was 25903 + called. It is surprising that this usually worked. 25904 + 25905 + Syscalls on hppa save and restore rp and r19, so we don't need 25906 + to create a frame prior to the clone syscall. We only need a 25907 + frame when __syscall_error is called. We also don't need to 25908 + save and restore r19 around the call to $$dyncall as r19 is not 25909 + used in the code after $$dyncall. 25910 + 25911 + This considerably simplifies clone.S. 25912 + 25913 + Signed-off-by: John David Anglin <dave.anglin@bell.net> 25914 + 25915 + diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S 25916 + index a31afea429..c18163d0f7 100644 25917 + --- a/sysdeps/unix/sysv/linux/hppa/clone.S 25918 + +++ b/sysdeps/unix/sysv/linux/hppa/clone.S 25919 + @@ -59,16 +59,6 @@ 25920 + 25921 + .text 25922 + ENTRY(__clone) 25923 + - /* Prologue */ 25924 + - stwm %r4, 64(%sp) 25925 + - .cfi_def_cfa_offset -64 25926 + - .cfi_offset 4, 0 25927 + - stw %sp, -4(%sp) 25928 + -#ifdef PIC 25929 + - stw %r19, -32(%sp) 25930 + - .cfi_offset 19, 32 25931 + -#endif 25932 + - 25933 + /* Sanity check arguments. */ 25934 + comib,=,n 0,%arg0,.LerrorSanity /* no NULL function pointers */ 25935 + comib,=,n 0,%arg1,.LerrorSanity /* no NULL stack pointers */ 25936 + @@ -87,54 +77,34 @@ ENTRY(__clone) 25937 + /* User stack pointer is in the correct register already */ 25938 + 25939 + /* Load args from stack... */ 25940 + - ldw -116(%sp), %r24 /* Load parent_tidptr */ 25941 + - ldw -120(%sp), %r23 /* Load newtls */ 25942 + - ldw -124(%sp), %r22 /* Load child_tidptr */ 25943 + - 25944 + - /* Save the PIC register. */ 25945 + -#ifdef PIC 25946 + - copy %r19, %r4 /* parent */ 25947 + -#endif 25948 + + ldw -52(%sp), %r24 /* Load parent_tidptr */ 25949 + + ldw -56(%sp), %r23 /* Load newtls */ 25950 + + ldw -60(%sp), %r22 /* Load child_tidptr */ 25951 + 25952 + /* Do the system call */ 25953 + ble 0x100(%sr2, %r0) 25954 + ldi __NR_clone, %r20 25955 + 25956 + ldi -4096, %r1 25957 + - comclr,>>= %r1, %ret0, %r0 /* Note: unsigned compare. */ 25958 + - b,n .LerrorRest 25959 + - 25960 + - /* Restore the PIC register. */ 25961 + -#ifdef PIC 25962 + - copy %r4, %r19 /* parent */ 25963 + -#endif 25964 + - 25965 + + comb,<<,n %r1, %ret0, .LerrorRest /* Note: unsigned compare. */ 25966 + comib,=,n 0, %ret0, .LthreadStart 25967 + - 25968 + - /* Successful return from the parent 25969 + - No need to restore the PIC register, 25970 + - since we return immediately. */ 25971 + - 25972 + - ldw -84(%sp), %rp 25973 + - bv %r0(%rp) 25974 + - ldwm -64(%sp), %r4 25975 + + bv,n %r0(%rp) 25976 + 25977 + .LerrorRest: 25978 + - /* Something bad happened -- no child created */ 25979 + + /* Something bad happened -- no child created -- need a frame */ 25980 + + ldo 64(%sp),%sp 25981 + + .cfi_def_cfa_offset -64 25982 + bl __syscall_error, %rp 25983 + sub %r0, %ret0, %arg0 25984 + ldw -84(%sp), %rp 25985 + /* Return after setting errno, ret0 is set to -1 by __syscall_error. */ 25986 + bv %r0(%rp) 25987 + - ldwm -64(%sp), %r4 25988 + + ldo -64(%sp), %sp 25989 + 25990 + .LerrorSanity: 25991 + /* Sanity checks failed, return -1, and set errno to EINVAL. */ 25992 + - bl __syscall_error, %rp 25993 + - ldi EINVAL, %arg0 25994 + - ldw -84(%sp), %rp 25995 + - bv %r0(%rp) 25996 + - ldwm -64(%sp), %r4 25997 + + b .LerrorRest 25998 + + ldi -EINVAL, %ret0 25999 + 26000 + .LthreadStart: 26001 + /* Load up the arguments. */ 26002 + @@ -144,14 +114,8 @@ ENTRY(__clone) 26003 + /* $$dyncall fixes child's PIC register */ 26004 + 26005 + /* Call the user's function */ 26006 + -#ifdef PIC 26007 + - copy %r19, %r4 26008 + -#endif 26009 + bl $$dyncall, %r31 26010 + copy %r31, %rp 26011 + -#ifdef PIC 26012 + - copy %r4, %r19 26013 + -#endif 26014 + copy %r28, %r26 26015 + ble 0x100(%sr2, %r0) 26016 + ldi __NR_exit, %r20 26017 + diff --git a/sysdeps/unix/sysv/linux/hppa/vfork.S b/sysdeps/unix/sysv/linux/hppa/vfork.S 26018 + new file mode 100644 26019 + index 0000000000..5fd368f3cf 26020 + --- /dev/null 26021 + +++ b/sysdeps/unix/sysv/linux/hppa/vfork.S 26022 + @@ -0,0 +1,53 @@ 26023 + +/* Copyright (C) 1999-2024 Free Software Foundation, Inc. 26024 + + 26025 + + This file is part of the GNU C Library. 26026 + + 26027 + + The GNU C Library is free software; you can redistribute it and/or 26028 + + modify it under the terms of the GNU Lesser General Public License as 26029 + + published by the Free Software Foundation; either version 2.1 of the 26030 + + License, or (at your option) any later version. 26031 + + 26032 + + The GNU C Library is distributed in the hope that it will be useful, 26033 + + but WITHOUT ANY WARRANTY; without even the implied warranty of 26034 + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 26035 + + Lesser General Public License for more details. 26036 + + 26037 + + You should have received a copy of the GNU Lesser General Public 26038 + + License along with the GNU C Library; if not, see 26039 + + <https://www.gnu.org/licenses/>. */ 26040 + + 26041 + +#include <sysdep.h> 26042 + +#define _ERRNO_H 1 26043 + +#include <bits/errno.h> 26044 + + 26045 + +/* Clone the calling process, but without copying the whole address space. 26046 + + The calling process is suspended until the new process exits or is 26047 + + replaced by a call to `execve'. Return -1 for errors, 0 to the new process, 26048 + + and the process ID of the new process to the old process. */ 26049 + + 26050 + +ENTRY (__vfork) 26051 + + ble 0x100(%sr2, %r0) 26052 + + ldi __NR_vfork, %r20 26053 + + 26054 + + ldi -4096, %r1 26055 + + comclr,<< %r1, %ret0, %r0 /* Note: unsigned compare. */ 26056 + + bv,n %r0(%rp) 26057 + + 26058 + + /* Something bad happened -- no child created -- we need a frame */ 26059 + + ldo 64(%sp), %sp 26060 + + .cfi_def_cfa_offset -64 26061 + + 26062 + + /* Set errno */ 26063 + + bl __syscall_error, %rp 26064 + + sub %r0, %ret0, %arg0 26065 + + 26066 + + /* ret0 is set to -1 by __syscall_error */ 26067 + + ldw -84(%sp), %rp 26068 + + bv %r0(%rp) 26069 + + ldo -64(%sp), %sp 26070 + + 26071 + +PSEUDO_END (__vfork) 26072 + +libc_hidden_def (__vfork) 26073 + + 26074 + +weak_alias (__vfork, vfork) 26075 + +strong_alias (__vfork, __libc_vfork) 26076 + 26077 + commit 7648e3c8e80b3f1b3b43506b2fbe370e4824ab97 26078 + Author: John David Anglin <danglin@gcc.gnu.org> 26079 + Date: Sun Dec 22 09:58:02 2024 -0500 26080 + 26081 + hppa: Simplify handling of sanity check errors in clone.S. 26082 + 26083 + This simplifies the handling of sanity check errors in clone.S. 26084 + Adjusted a couple of comments to reflect current code. 26085 + 26086 + Signed-off-by: John David Anglin <dave.anglin@bell.net> 26087 + 26088 + diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S 26089 + index c18163d0f7..e85e7f517f 100644 26090 + --- a/sysdeps/unix/sysv/linux/hppa/clone.S 26091 + +++ b/sysdeps/unix/sysv/linux/hppa/clone.S 26092 + @@ -90,6 +90,10 @@ ENTRY(__clone) 26093 + comib,=,n 0, %ret0, .LthreadStart 26094 + bv,n %r0(%rp) 26095 + 26096 + +.LerrorSanity: 26097 + + /* Sanity checks failed, set errno to EINVAL. */ 26098 + + ldi -EINVAL, %ret0 26099 + + 26100 + .LerrorRest: 26101 + /* Something bad happened -- no child created -- need a frame */ 26102 + ldo 64(%sp),%sp 26103 + @@ -101,11 +105,6 @@ ENTRY(__clone) 26104 + bv %r0(%rp) 26105 + ldo -64(%sp), %sp 26106 + 26107 + -.LerrorSanity: 26108 + - /* Sanity checks failed, return -1, and set errno to EINVAL. */ 26109 + - b .LerrorRest 26110 + - ldi -EINVAL, %ret0 26111 + - 26112 + .LthreadStart: 26113 + /* Load up the arguments. */ 26114 + ldw -60(%sp), %arg0 26115 + @@ -121,7 +120,7 @@ ENTRY(__clone) 26116 + ldi __NR_exit, %r20 26117 + 26118 + /* We should not return from exit. 26119 + - We do not restore r4, or the stack state. */ 26120 + + We do not restore the stack state. */ 26121 + iitlbp %r0, (%sr0, %r0) 26122 + 26123 + PSEUDO_END(__clone) 26124 + 26125 + commit 473597d8167f86afee3544215db108b170ec13c0 26126 + Author: Andreas Schwab <schwab@suse.de> 26127 + Date: Wed Sep 25 11:49:30 2024 +0200 26128 + 26129 + Fix missing randomness in __gen_tempname (bug 32214) 26130 + 26131 + Make sure to update the random value also if getrandom fails. 26132 + 26133 + Fixes: 686d542025 ("posix: Sync tempname with gnulib") 26134 + (cherry picked from commit 5f62cf88c4530c11904482775b7582bd7f6d80d2) 26135 + 26136 + diff --git a/NEWS b/NEWS 26137 + index 97a1e1f5d4..57feba81cd 100644 26138 + --- a/NEWS 26139 + +++ b/NEWS 26140 + @@ -18,6 +18,7 @@ The following bugs are resolved with this release: 26141 + [32026] strerror/strsignal TLS not handled correctly for secondary namespaces 26142 + [32052] Name space violation in fortify wrappers 26143 + [32137] libio: Attempt wide backup free only for non-legacy code 26144 + + [32214] Fix missing randomness in __gen_tempname 26145 + [32231] elf: Change ldconfig auxcache magic number 26146 + [32245] glibc -Wstringop-overflow= build failure on hppa 26147 + [32470] x86: Avoid integer truncation with large cache sizes 26148 + diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c 26149 + index c00fe0c181..fc30958a0c 100644 26150 + --- a/sysdeps/posix/tempname.c 26151 + +++ b/sysdeps/posix/tempname.c 26152 + @@ -117,6 +117,8 @@ random_bits (random_value *r, random_value s) 26153 + succeed. */ 26154 + #if !_LIBC 26155 + *r = mix_random_values (v, clock ()); 26156 + +#else 26157 + + *r = v; 26158 + #endif 26159 + return false; 26160 + } 26161 + 26162 + commit 7d4b6bcae91f29d7b4daf15bab06b66cf1d2217c 26163 + Author: Siddhesh Poyarekar <siddhesh@sourceware.org> 26164 + Date: Tue Jan 21 16:11:06 2025 -0500 26165 + 26166 + Fix underallocation of abort_msg_s struct (CVE-2025-0395) 26167 + 26168 + Include the space needed to store the length of the message itself, in 26169 + addition to the message string. This resolves BZ #32582. 26170 + 26171 + Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> 26172 + Reviewed: Adhemerval Zanella <adhemerval.zanella@linaro.org> 26173 + (cherry picked from commit 68ee0f704cb81e9ad0a78c644a83e1e9cd2ee578) 26174 + 26175 + diff --git a/assert/assert.c b/assert/assert.c 26176 + index c29629f5f6..b6e37d694c 100644 26177 + --- a/assert/assert.c 26178 + +++ b/assert/assert.c 26179 + @@ -18,6 +18,7 @@ 26180 + #include <assert.h> 26181 + #include <atomic.h> 26182 + #include <ldsodefs.h> 26183 + +#include <libc-pointer-arith.h> 26184 + #include <libintl.h> 26185 + #include <stdio.h> 26186 + #include <stdlib.h> 26187 + @@ -65,7 +66,8 @@ __assert_fail_base (const char *fmt, const char *assertion, const char *file, 26188 + (void) __fxprintf (NULL, "%s", str); 26189 + (void) fflush (stderr); 26190 + 26191 + - total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1); 26192 + + total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, 26193 + + GLRO(dl_pagesize)); 26194 + struct abort_msg_s *buf = __mmap (NULL, total, PROT_READ | PROT_WRITE, 26195 + MAP_ANON | MAP_PRIVATE, -1, 0); 26196 + if (__glibc_likely (buf != MAP_FAILED)) 26197 + diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c 26198 + index f9e3425e04..089c47b04b 100644 26199 + --- a/sysdeps/posix/libc_fatal.c 26200 + +++ b/sysdeps/posix/libc_fatal.c 26201 + @@ -20,6 +20,7 @@ 26202 + #include <errno.h> 26203 + #include <fcntl.h> 26204 + #include <ldsodefs.h> 26205 + +#include <libc-pointer-arith.h> 26206 + #include <paths.h> 26207 + #include <stdarg.h> 26208 + #include <stdbool.h> 26209 + @@ -105,7 +106,8 @@ __libc_message_impl (const char *fmt, ...) 26210 + { 26211 + WRITEV_FOR_FATAL (fd, iov, iovcnt, total); 26212 + 26213 + - total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1); 26214 + + total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, 26215 + + GLRO(dl_pagesize)); 26216 + struct abort_msg_s *buf = __mmap (NULL, total, 26217 + PROT_READ | PROT_WRITE, 26218 + MAP_ANON | MAP_PRIVATE, -1, 0);
+3 -3
pkgs/development/libraries/glibc/common.nix
··· 50 50 51 51 let 52 52 version = "2.40"; 53 - patchSuffix = "-36"; 53 + patchSuffix = "-66"; 54 54 sha256 = "sha256-GaiQF16SY9dI9ieZPeb0sa+c0h4D8IDkv7Oh+sECBaI="; 55 55 in 56 56 ··· 68 68 [ 69 69 /* 70 70 No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. 71 - $ git fetch --all -p && git checkout origin/release/2.39/master && git describe 72 - glibc-2.40-36-g7073164add 71 + $ git fetch --all -p && git checkout origin/release/2.40/master && git describe 72 + glibc-2.40-66-g7d4b6bcae9 73 73 $ git show --minimal --reverse glibc-2.40.. ':!ADVISORIES' > 2.40-master.patch 74 74 75 75 To compare the archive contents zdiff can be used.