1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613
|
default Order dec
$include <exception_basic.sail>
$include <vector_dec.sail>
val flip_mask : forall 'len 'v, 'len >= 0 & 'v >= 0. (bitvector('v, dec), atom('len)) -> bitvector('len, dec)
function flip_mask(v, len) = len ^ v
function main (() : unit) -> unit = {
assert(unsigned(flip_mask(0x1568378, 52)) == 22446968);
assert(unsigned(flip_mask(0x1568380, 52)) == 22446976);
assert(unsigned(flip_mask(0x1568388, 52)) == 22446984);
assert(unsigned(flip_mask(0x1568390, 52)) == 22446992);
assert(unsigned(flip_mask(0x1568398, 52)) == 22447000);
assert(unsigned(flip_mask(0x15683a0, 52)) == 22447008);
assert(unsigned(flip_mask(0x15683a8, 52)) == 22447016);
assert(unsigned(flip_mask(0x15683b0, 52)) == 22447024);
assert(unsigned(flip_mask(0x15683b8, 52)) == 22447032);
assert(unsigned(flip_mask(0x15683c0, 52)) == 22447040);
assert(unsigned(flip_mask(0x15683c8, 52)) == 22447048);
assert(unsigned(flip_mask(0x15683d0, 52)) == 22447056);
assert(unsigned(flip_mask(0x15683d8, 52)) == 22447064);
assert(unsigned(flip_mask(0x15683e0, 52)) == 22447072);
assert(unsigned(flip_mask(0x15683e8, 52)) == 22447080);
assert(unsigned(flip_mask(0x15683f0, 52)) == 22447088);
assert(unsigned(flip_mask(0x15683f8, 52)) == 22447096);
assert(unsigned(flip_mask(0x1568400, 52)) == 22447104);
assert(unsigned(flip_mask(0x1568408, 52)) == 22447112);
assert(unsigned(flip_mask(0x1568410, 52)) == 22447120);
assert(unsigned(flip_mask(0x1568418, 52)) == 22447128);
assert(unsigned(flip_mask(0x1568420, 52)) == 22447136);
assert(unsigned(flip_mask(0x1568428, 52)) == 22447144);
assert(unsigned(flip_mask(0x1568430, 52)) == 22447152);
assert(unsigned(flip_mask(0x1568438, 52)) == 22447160);
assert(unsigned(flip_mask(0x1568440, 52)) == 22447168);
assert(unsigned(flip_mask(0x1568448, 52)) == 22447176);
assert(unsigned(flip_mask(0x1568450, 52)) == 22447184);
assert(unsigned(flip_mask(0x1568458, 52)) == 22447192);
assert(unsigned(flip_mask(0x1568460, 52)) == 22447200);
assert(unsigned(flip_mask(0x1568468, 52)) == 22447208);
assert(unsigned(flip_mask(0x1568470, 52)) == 22447216);
assert(unsigned(flip_mask(0x1568478, 52)) == 22447224);
assert(unsigned(flip_mask(0x1568480, 52)) == 22447232);
assert(unsigned(flip_mask(0x1568488, 52)) == 22447240);
assert(unsigned(flip_mask(0x1568490, 52)) == 22447248);
assert(unsigned(flip_mask(0x1568498, 52)) == 22447256);
assert(unsigned(flip_mask(0x15684a0, 52)) == 22447264);
assert(unsigned(flip_mask(0x15684a8, 52)) == 22447272);
assert(unsigned(flip_mask(0x15684b0, 52)) == 22447280);
assert(unsigned(flip_mask(0x15684b8, 52)) == 22447288);
assert(unsigned(flip_mask(0x15684c0, 52)) == 22447296);
assert(unsigned(flip_mask(0x15684c8, 52)) == 22447304);
assert(unsigned(flip_mask(0x15684d0, 52)) == 22447312);
assert(unsigned(flip_mask(0x15684d8, 52)) == 22447320);
assert(unsigned(flip_mask(0x15684e0, 52)) == 22447328);
assert(unsigned(flip_mask(0x15684e8, 52)) == 22447336);
assert(unsigned(flip_mask(0x15684f0, 52)) == 22447344);
assert(unsigned(flip_mask(0x15684f8, 52)) == 22447352);
assert(unsigned(flip_mask(0x1568500, 52)) == 22447360);
assert(unsigned(flip_mask(0x1568508, 52)) == 22447368);
assert(unsigned(flip_mask(0x1568510, 52)) == 22447376);
assert(unsigned(flip_mask(0x1568518, 52)) == 22447384);
assert(unsigned(flip_mask(0x1568520, 52)) == 22447392);
assert(unsigned(flip_mask(0x1568528, 52)) == 22447400);
assert(unsigned(flip_mask(0x1569000, 52)) == 22450176);
assert(unsigned(flip_mask(0x1569008, 52)) == 22450184);
assert(unsigned(flip_mask(0x1569010, 52)) == 22450192);
assert(unsigned(flip_mask(0x1569018, 52)) == 22450200);
assert(unsigned(flip_mask(0x1569020, 52)) == 22450208);
assert(unsigned(flip_mask(0x1569028, 52)) == 22450216);
assert(unsigned(flip_mask(0x1569030, 52)) == 22450224);
assert(unsigned(flip_mask(0x1569038, 52)) == 22450232);
assert(unsigned(flip_mask(0x1569040, 52)) == 22450240);
assert(unsigned(flip_mask(0x1569048, 52)) == 22450248);
assert(unsigned(flip_mask(0x1569050, 52)) == 22450256);
assert(unsigned(flip_mask(0x1569058, 52)) == 22450264);
assert(unsigned(flip_mask(0x1569060, 52)) == 22450272);
assert(unsigned(flip_mask(0x1569068, 52)) == 22450280);
assert(unsigned(flip_mask(0x1569070, 52)) == 22450288);
assert(unsigned(flip_mask(0x1569078, 52)) == 22450296);
assert(unsigned(flip_mask(0x1569080, 52)) == 22450304);
assert(unsigned(flip_mask(0x1569088, 52)) == 22450312);
assert(unsigned(flip_mask(0x1569090, 52)) == 22450320);
assert(unsigned(flip_mask(0x1569098, 52)) == 22450328);
assert(unsigned(flip_mask(0x15690a0, 52)) == 22450336);
assert(unsigned(flip_mask(0x15690a8, 52)) == 22450344);
assert(unsigned(flip_mask(0x15690b0, 52)) == 22450352);
assert(unsigned(flip_mask(0x15690b8, 52)) == 22450360);
assert(unsigned(flip_mask(0x15690c0, 52)) == 22450368);
assert(unsigned(flip_mask(0x15690c8, 52)) == 22450376);
assert(unsigned(flip_mask(0x15690d0, 52)) == 22450384);
assert(unsigned(flip_mask(0x15690d8, 52)) == 22450392);
assert(unsigned(flip_mask(0x15690e0, 52)) == 22450400);
assert(unsigned(flip_mask(0x15690e8, 52)) == 22450408);
assert(unsigned(flip_mask(0x15690f0, 52)) == 22450416);
assert(unsigned(flip_mask(0x15690f8, 52)) == 22450424);
assert(unsigned(flip_mask(0x1569100, 52)) == 22450432);
assert(unsigned(flip_mask(0x1569108, 52)) == 22450440);
assert(unsigned(flip_mask(0x1569110, 52)) == 22450448);
assert(unsigned(flip_mask(0x1569118, 52)) == 22450456);
assert(unsigned(flip_mask(0x1569120, 52)) == 22450464);
assert(unsigned(flip_mask(0x1569128, 52)) == 22450472);
assert(unsigned(flip_mask(0x1569130, 52)) == 22450480);
assert(unsigned(flip_mask(0x1569138, 52)) == 22450488);
assert(unsigned(flip_mask(0x1569140, 52)) == 22450496);
assert(unsigned(flip_mask(0x1569148, 52)) == 22450504);
assert(unsigned(flip_mask(0x1569150, 52)) == 22450512);
assert(unsigned(flip_mask(0x1569158, 52)) == 22450520);
assert(unsigned(flip_mask(0x1569160, 52)) == 22450528);
assert(unsigned(flip_mask(0x1569168, 52)) == 22450536);
assert(unsigned(flip_mask(0x1569170, 52)) == 22450544);
assert(unsigned(flip_mask(0x1569178, 52)) == 22450552);
assert(unsigned(flip_mask(0x1569180, 52)) == 22450560);
assert(unsigned(flip_mask(0x1569188, 52)) == 22450568);
assert(unsigned(flip_mask(0x1569190, 52)) == 22450576);
assert(unsigned(flip_mask(0x1569198, 52)) == 22450584);
assert(unsigned(flip_mask(0x15691a0, 52)) == 22450592);
assert(unsigned(flip_mask(0x15691a8, 52)) == 22450600);
assert(unsigned(flip_mask(0x15691b0, 52)) == 22450608);
assert(unsigned(flip_mask(0x15691b8, 52)) == 22450616);
assert(unsigned(flip_mask(0x15691c0, 52)) == 22450624);
assert(unsigned(flip_mask(0x15691c8, 52)) == 22450632);
assert(unsigned(flip_mask(0x15691d0, 52)) == 22450640);
assert(unsigned(flip_mask(0x15691d8, 52)) == 22450648);
assert(unsigned(flip_mask(0x15691e0, 52)) == 22450656);
assert(unsigned(flip_mask(0x15691e8, 52)) == 22450664);
assert(unsigned(flip_mask(0x15691f0, 52)) == 22450672);
assert(unsigned(flip_mask(0x15691f8, 52)) == 22450680);
assert(unsigned(flip_mask(0x1569200, 52)) == 22450688);
assert(unsigned(flip_mask(0x1569208, 52)) == 22450696);
assert(unsigned(flip_mask(0x1569210, 52)) == 22450704);
assert(unsigned(flip_mask(0x1569218, 52)) == 22450712);
assert(unsigned(flip_mask(0x1569220, 52)) == 22450720);
assert(unsigned(flip_mask(0x1569228, 52)) == 22450728);
assert(unsigned(flip_mask(0x1569230, 52)) == 22450736);
assert(unsigned(flip_mask(0x1569238, 52)) == 22450744);
assert(unsigned(flip_mask(0x1569240, 52)) == 22450752);
assert(unsigned(flip_mask(0x1569248, 52)) == 22450760);
assert(unsigned(flip_mask(0x1569250, 52)) == 22450768);
assert(unsigned(flip_mask(0x1569258, 52)) == 22450776);
assert(unsigned(flip_mask(0x1569260, 52)) == 22450784);
assert(unsigned(flip_mask(0x1569268, 52)) == 22450792);
assert(unsigned(flip_mask(0x1569270, 52)) == 22450800);
assert(unsigned(flip_mask(0x1569278, 52)) == 22450808);
assert(unsigned(flip_mask(0x1569280, 52)) == 22450816);
assert(unsigned(flip_mask(0x1569288, 52)) == 22450824);
assert(unsigned(flip_mask(0x1569290, 52)) == 22450832);
assert(unsigned(flip_mask(0x1569298, 52)) == 22450840);
assert(unsigned(flip_mask(0x15692a0, 52)) == 22450848);
assert(unsigned(flip_mask(0x15692a8, 52)) == 22450856);
assert(unsigned(flip_mask(0x15692b0, 52)) == 22450864);
assert(unsigned(flip_mask(0x15692b8, 52)) == 22450872);
assert(unsigned(flip_mask(0x15692c0, 52)) == 22450880);
assert(unsigned(flip_mask(0x15692c8, 52)) == 22450888);
assert(unsigned(flip_mask(0x15692d0, 52)) == 22450896);
assert(unsigned(flip_mask(0x15692d8, 52)) == 22450904);
assert(unsigned(flip_mask(0x15692e0, 52)) == 22450912);
assert(unsigned(flip_mask(0x15692e8, 52)) == 22450920);
assert(unsigned(flip_mask(0x15692f0, 52)) == 22450928);
assert(unsigned(flip_mask(0x15692f8, 52)) == 22450936);
assert(unsigned(flip_mask(0x1569300, 52)) == 22450944);
assert(unsigned(flip_mask(0x1569308, 52)) == 22450952);
assert(unsigned(flip_mask(0x1569310, 52)) == 22450960);
assert(unsigned(flip_mask(0x1569318, 52)) == 22450968);
assert(unsigned(flip_mask(0x1569320, 52)) == 22450976);
assert(unsigned(flip_mask(0x1569328, 52)) == 22450984);
assert(unsigned(flip_mask(0x1569330, 52)) == 22450992);
assert(unsigned(flip_mask(0x1569338, 52)) == 22451000);
assert(unsigned(flip_mask(0x1569340, 52)) == 22451008);
assert(unsigned(flip_mask(0x1569348, 52)) == 22451016);
assert(unsigned(flip_mask(0x1569350, 52)) == 22451024);
assert(unsigned(flip_mask(0x1569358, 52)) == 22451032);
assert(unsigned(flip_mask(0x1569360, 52)) == 22451040);
assert(unsigned(flip_mask(0x1569368, 52)) == 22451048);
assert(unsigned(flip_mask(0x1569370, 52)) == 22451056);
assert(unsigned(flip_mask(0x1569378, 52)) == 22451064);
assert(unsigned(flip_mask(0x1569380, 52)) == 22451072);
assert(unsigned(flip_mask(0x1569388, 52)) == 22451080);
assert(unsigned(flip_mask(0x1569390, 52)) == 22451088);
assert(unsigned(flip_mask(0x1569398, 52)) == 22451096);
assert(unsigned(flip_mask(0x15693a0, 52)) == 22451104);
assert(unsigned(flip_mask(0x15693a8, 52)) == 22451112);
assert(unsigned(flip_mask(0x15693b0, 52)) == 22451120);
assert(unsigned(flip_mask(0x15693b8, 52)) == 22451128);
assert(unsigned(flip_mask(0x15693c0, 52)) == 22451136);
assert(unsigned(flip_mask(0x15693c8, 52)) == 22451144);
assert(unsigned(flip_mask(0x15693d0, 52)) == 22451152);
assert(unsigned(flip_mask(0x15693d8, 52)) == 22451160);
assert(unsigned(flip_mask(0x15693e0, 52)) == 22451168);
assert(unsigned(flip_mask(0x15693e8, 52)) == 22451176);
assert(unsigned(flip_mask(0x15693f0, 52)) == 22451184);
assert(unsigned(flip_mask(0x15693f8, 52)) == 22451192);
assert(unsigned(flip_mask(0x1569400, 52)) == 22451200);
assert(unsigned(flip_mask(0x1569408, 52)) == 22451208);
assert(unsigned(flip_mask(0x1569410, 52)) == 22451216);
assert(unsigned(flip_mask(0x1569418, 52)) == 22451224);
assert(unsigned(flip_mask(0x1569420, 52)) == 22451232);
assert(unsigned(flip_mask(0x1569428, 52)) == 22451240);
assert(unsigned(flip_mask(0x1569430, 52)) == 22451248);
assert(unsigned(flip_mask(0x1569438, 52)) == 22451256);
assert(unsigned(flip_mask(0x1569440, 52)) == 22451264);
assert(unsigned(flip_mask(0x1569448, 52)) == 22451272);
assert(unsigned(flip_mask(0x1569450, 52)) == 22451280);
assert(unsigned(flip_mask(0x1569458, 52)) == 22451288);
assert(unsigned(flip_mask(0x1569460, 52)) == 22451296);
assert(unsigned(flip_mask(0x1569468, 52)) == 22451304);
assert(unsigned(flip_mask(0x1569470, 52)) == 22451312);
assert(unsigned(flip_mask(0x1569478, 52)) == 22451320);
assert(unsigned(flip_mask(0x1569480, 52)) == 22451328);
assert(unsigned(flip_mask(0x1569488, 52)) == 22451336);
assert(unsigned(flip_mask(0x1569490, 52)) == 22451344);
assert(unsigned(flip_mask(0x1569498, 52)) == 22451352);
assert(unsigned(flip_mask(0x15694a0, 52)) == 22451360);
assert(unsigned(flip_mask(0x15694a8, 52)) == 22451368);
assert(unsigned(flip_mask(0x15694b0, 52)) == 22451376);
assert(unsigned(flip_mask(0x15694b8, 52)) == 22451384);
assert(unsigned(flip_mask(0x15694c0, 52)) == 22451392);
assert(unsigned(flip_mask(0x15694c8, 52)) == 22451400);
assert(unsigned(flip_mask(0x15694d0, 52)) == 22451408);
assert(unsigned(flip_mask(0x15694d8, 52)) == 22451416);
assert(unsigned(flip_mask(0x15694e0, 52)) == 22451424);
assert(unsigned(flip_mask(0x15694e8, 52)) == 22451432);
assert(unsigned(flip_mask(0x15694f0, 52)) == 22451440);
assert(unsigned(flip_mask(0x15694f8, 52)) == 22451448);
assert(unsigned(flip_mask(0x1569500, 52)) == 22451456);
assert(unsigned(flip_mask(0x1569508, 52)) == 22451464);
assert(unsigned(flip_mask(0x1569510, 52)) == 22451472);
assert(unsigned(flip_mask(0x1569518, 52)) == 22451480);
assert(unsigned(flip_mask(0x1569520, 52)) == 22451488);
assert(unsigned(flip_mask(0x1569528, 52)) == 22451496);
assert(unsigned(flip_mask(0x1569530, 52)) == 22451504);
assert(unsigned(flip_mask(0x1569538, 52)) == 22451512);
assert(unsigned(flip_mask(0x1569540, 52)) == 22451520);
assert(unsigned(flip_mask(0x1569548, 52)) == 22451528);
assert(unsigned(flip_mask(0x1569550, 52)) == 22451536);
assert(unsigned(flip_mask(0x1569558, 52)) == 22451544);
assert(unsigned(flip_mask(0x1569560, 52)) == 22451552);
assert(unsigned(flip_mask(0x1569568, 52)) == 22451560);
assert(unsigned(flip_mask(0x1569570, 52)) == 22451568);
assert(unsigned(flip_mask(0x1569578, 52)) == 22451576);
assert(unsigned(flip_mask(0x1569580, 52)) == 22451584);
assert(unsigned(flip_mask(0x1569588, 52)) == 22451592);
assert(unsigned(flip_mask(0x1569590, 52)) == 22451600);
assert(unsigned(flip_mask(0x1569598, 52)) == 22451608);
assert(unsigned(flip_mask(0x15695a0, 52)) == 22451616);
assert(unsigned(flip_mask(0x15695a8, 52)) == 22451624);
assert(unsigned(flip_mask(0x15695b0, 52)) == 22451632);
assert(unsigned(flip_mask(0x15695b8, 52)) == 22451640);
assert(unsigned(flip_mask(0x15695c0, 52)) == 22451648);
assert(unsigned(flip_mask(0x15695c8, 52)) == 22451656);
assert(unsigned(flip_mask(0x15695d0, 52)) == 22451664);
assert(unsigned(flip_mask(0x15695d8, 52)) == 22451672);
assert(unsigned(flip_mask(0x15695e0, 52)) == 22451680);
assert(unsigned(flip_mask(0x15695e8, 52)) == 22451688);
assert(unsigned(flip_mask(0x15695f0, 52)) == 22451696);
assert(unsigned(flip_mask(0x15695f8, 52)) == 22451704);
assert(unsigned(flip_mask(0x1569600, 52)) == 22451712);
assert(unsigned(flip_mask(0x1569608, 52)) == 22451720);
assert(unsigned(flip_mask(0x1569610, 52)) == 22451728);
assert(unsigned(flip_mask(0x1569618, 52)) == 22451736);
assert(unsigned(flip_mask(0x1569620, 52)) == 22451744);
assert(unsigned(flip_mask(0x1569628, 52)) == 22451752);
assert(unsigned(flip_mask(0x1569630, 52)) == 22451760);
assert(unsigned(flip_mask(0x1569638, 52)) == 22451768);
assert(unsigned(flip_mask(0x1569640, 52)) == 22451776);
assert(unsigned(flip_mask(0x1569648, 52)) == 22451784);
assert(unsigned(flip_mask(0x1569650, 52)) == 22451792);
assert(unsigned(flip_mask(0x1569658, 52)) == 22451800);
assert(unsigned(flip_mask(0x1569660, 52)) == 22451808);
assert(unsigned(flip_mask(0x1569668, 52)) == 22451816);
assert(unsigned(flip_mask(0x1569670, 52)) == 22451824);
assert(unsigned(flip_mask(0x1569678, 52)) == 22451832);
assert(unsigned(flip_mask(0x1569680, 52)) == 22451840);
assert(unsigned(flip_mask(0x1569688, 52)) == 22451848);
assert(unsigned(flip_mask(0x1569690, 52)) == 22451856);
assert(unsigned(flip_mask(0x1569698, 52)) == 22451864);
assert(unsigned(flip_mask(0x15696a0, 52)) == 22451872);
assert(unsigned(flip_mask(0x15696a8, 52)) == 22451880);
assert(unsigned(flip_mask(0x15696b0, 52)) == 22451888);
assert(unsigned(flip_mask(0x15696b8, 52)) == 22451896);
assert(unsigned(flip_mask(0x15696c0, 52)) == 22451904);
assert(unsigned(flip_mask(0x15696c8, 52)) == 22451912);
assert(unsigned(flip_mask(0x15696d0, 52)) == 22451920);
assert(unsigned(flip_mask(0x15696d8, 52)) == 22451928);
assert(unsigned(flip_mask(0x15696e0, 52)) == 22451936);
assert(unsigned(flip_mask(0x15696e8, 52)) == 22451944);
assert(unsigned(flip_mask(0x15696f0, 52)) == 22451952);
assert(unsigned(flip_mask(0x15696f8, 52)) == 22451960);
assert(unsigned(flip_mask(0x1569700, 52)) == 22451968);
assert(unsigned(flip_mask(0x1569708, 52)) == 22451976);
assert(unsigned(flip_mask(0x1569710, 52)) == 22451984);
assert(unsigned(flip_mask(0x1569718, 52)) == 22451992);
assert(unsigned(flip_mask(0x1569720, 52)) == 22452000);
assert(unsigned(flip_mask(0x1569728, 52)) == 22452008);
assert(unsigned(flip_mask(0x1569730, 52)) == 22452016);
assert(unsigned(flip_mask(0x1569738, 52)) == 22452024);
assert(unsigned(flip_mask(0x1569740, 52)) == 22452032);
assert(unsigned(flip_mask(0x1569748, 52)) == 22452040);
assert(unsigned(flip_mask(0x1569750, 52)) == 22452048);
assert(unsigned(flip_mask(0x1569758, 52)) == 22452056);
assert(unsigned(flip_mask(0x1569760, 52)) == 22452064);
assert(unsigned(flip_mask(0x1569768, 52)) == 22452072);
assert(unsigned(flip_mask(0x1569770, 52)) == 22452080);
assert(unsigned(flip_mask(0x1569778, 52)) == 22452088);
assert(unsigned(flip_mask(0x1569780, 52)) == 22452096);
assert(unsigned(flip_mask(0x1569788, 52)) == 22452104);
assert(unsigned(flip_mask(0x1569790, 52)) == 22452112);
assert(unsigned(flip_mask(0x1569798, 52)) == 22452120);
assert(unsigned(flip_mask(0x15697a0, 52)) == 22452128);
assert(unsigned(flip_mask(0x15697a8, 52)) == 22452136);
assert(unsigned(flip_mask(0x15697b0, 52)) == 22452144);
assert(unsigned(flip_mask(0x15697b8, 52)) == 22452152);
assert(unsigned(flip_mask(0x15697c0, 52)) == 22452160);
assert(unsigned(flip_mask(0x15697c8, 52)) == 22452168);
assert(unsigned(flip_mask(0x15697d0, 52)) == 22452176);
assert(unsigned(flip_mask(0x15697d8, 52)) == 22452184);
assert(unsigned(flip_mask(0x15697e0, 52)) == 22452192);
assert(unsigned(flip_mask(0x15697e8, 52)) == 22452200);
assert(unsigned(flip_mask(0x15697f0, 52)) == 22452208);
assert(unsigned(flip_mask(0x15697f8, 52)) == 22452216);
assert(unsigned(flip_mask(0x1569800, 52)) == 22452224);
assert(unsigned(flip_mask(0x1569808, 52)) == 22452232);
assert(unsigned(flip_mask(0x1569810, 52)) == 22452240);
assert(unsigned(flip_mask(0x1569818, 52)) == 22452248);
assert(unsigned(flip_mask(0x1569820, 52)) == 22452256);
assert(unsigned(flip_mask(0x1569828, 52)) == 22452264);
assert(unsigned(flip_mask(0x1569830, 52)) == 22452272);
assert(unsigned(flip_mask(0x1569838, 52)) == 22452280);
assert(unsigned(flip_mask(0x1569840, 52)) == 22452288);
assert(unsigned(flip_mask(0x1569848, 52)) == 22452296);
assert(unsigned(flip_mask(0x1569850, 52)) == 22452304);
assert(unsigned(flip_mask(0x1569858, 52)) == 22452312);
assert(unsigned(flip_mask(0x1569860, 52)) == 22452320);
assert(unsigned(flip_mask(0x1569868, 52)) == 22452328);
assert(unsigned(flip_mask(0x1569870, 52)) == 22452336);
assert(unsigned(flip_mask(0x1569878, 52)) == 22452344);
assert(unsigned(flip_mask(0x1569880, 52)) == 22452352);
assert(unsigned(flip_mask(0x1569888, 52)) == 22452360);
assert(unsigned(flip_mask(0x1569890, 52)) == 22452368);
assert(unsigned(flip_mask(0x1569898, 52)) == 22452376);
assert(unsigned(flip_mask(0x15698a0, 52)) == 22452384);
assert(unsigned(flip_mask(0x15698a8, 52)) == 22452392);
assert(unsigned(flip_mask(0x15698b0, 52)) == 22452400);
assert(unsigned(flip_mask(0x15698b8, 52)) == 22452408);
assert(unsigned(flip_mask(0x16000, 52)) == 90112);
assert(unsigned(flip_mask(0x1668008, 52)) == 23494664);
assert(unsigned(flip_mask(0x1668010, 52)) == 23494672);
assert(unsigned(flip_mask(0x1668018, 52)) == 23494680);
assert(unsigned(flip_mask(0x1668020, 52)) == 23494688);
assert(unsigned(flip_mask(0x1668028, 52)) == 23494696);
assert(unsigned(flip_mask(0x1668030, 52)) == 23494704);
assert(unsigned(flip_mask(0x1668038, 52)) == 23494712);
assert(unsigned(flip_mask(0x1668040, 52)) == 23494720);
assert(unsigned(flip_mask(0x1668048, 52)) == 23494728);
assert(unsigned(flip_mask(0x1668050, 52)) == 23494736);
assert(unsigned(flip_mask(0x1668058, 52)) == 23494744);
assert(unsigned(flip_mask(0x1668060, 52)) == 23494752);
assert(unsigned(flip_mask(0x1668068, 52)) == 23494760);
assert(unsigned(flip_mask(0x1668070, 52)) == 23494768);
assert(unsigned(flip_mask(0x1668078, 52)) == 23494776);
assert(unsigned(flip_mask(0x1668080, 52)) == 23494784);
assert(unsigned(flip_mask(0x1668088, 52)) == 23494792);
assert(unsigned(flip_mask(0x1668090, 52)) == 23494800);
assert(unsigned(flip_mask(0x1668098, 52)) == 23494808);
assert(unsigned(flip_mask(0x16680a0, 52)) == 23494816);
assert(unsigned(flip_mask(0x16680a8, 52)) == 23494824);
assert(unsigned(flip_mask(0x16680b0, 52)) == 23494832);
assert(unsigned(flip_mask(0x16680b8, 52)) == 23494840);
assert(unsigned(flip_mask(0x16680c0, 52)) == 23494848);
assert(unsigned(flip_mask(0x16680c8, 52)) == 23494856);
assert(unsigned(flip_mask(0x16680d0, 52)) == 23494864);
assert(unsigned(flip_mask(0x16680d8, 52)) == 23494872);
assert(unsigned(flip_mask(0x16680e0, 52)) == 23494880);
assert(unsigned(flip_mask(0x16680e8, 52)) == 23494888);
assert(unsigned(flip_mask(0x16680f0, 52)) == 23494896);
assert(unsigned(flip_mask(0x16680f8, 52)) == 23494904);
assert(unsigned(flip_mask(0x1668100, 52)) == 23494912);
assert(unsigned(flip_mask(0x1668108, 52)) == 23494920);
assert(unsigned(flip_mask(0x1668110, 52)) == 23494928);
assert(unsigned(flip_mask(0x1668118, 52)) == 23494936);
assert(unsigned(flip_mask(0x1668120, 52)) == 23494944);
assert(unsigned(flip_mask(0x1668128, 52)) == 23494952);
assert(unsigned(flip_mask(0x1668130, 52)) == 23494960);
assert(unsigned(flip_mask(0x1668138, 52)) == 23494968);
assert(unsigned(flip_mask(0x1668140, 52)) == 23494976);
assert(unsigned(flip_mask(0x1668148, 52)) == 23494984);
assert(unsigned(flip_mask(0x1668150, 52)) == 23494992);
assert(unsigned(flip_mask(0x1668158, 52)) == 23495000);
assert(unsigned(flip_mask(0x1668160, 52)) == 23495008);
assert(unsigned(flip_mask(0x1668168, 52)) == 23495016);
assert(unsigned(flip_mask(0x1668170, 52)) == 23495024);
assert(unsigned(flip_mask(0x1668178, 52)) == 23495032);
assert(unsigned(flip_mask(0x1668180, 52)) == 23495040);
assert(unsigned(flip_mask(0x1668188, 52)) == 23495048);
assert(unsigned(flip_mask(0x1668190, 52)) == 23495056);
assert(unsigned(flip_mask(0x1668198, 52)) == 23495064);
assert(unsigned(flip_mask(0x16681a0, 52)) == 23495072);
assert(unsigned(flip_mask(0x16681a8, 52)) == 23495080);
assert(unsigned(flip_mask(0x16681b0, 52)) == 23495088);
assert(unsigned(flip_mask(0x16681b8, 52)) == 23495096);
assert(unsigned(flip_mask(0x16681c0, 52)) == 23495104);
assert(unsigned(flip_mask(0x16681c8, 52)) == 23495112);
assert(unsigned(flip_mask(0x16681d0, 52)) == 23495120);
assert(unsigned(flip_mask(0x16681d8, 52)) == 23495128);
assert(unsigned(flip_mask(0x16681e0, 52)) == 23495136);
assert(unsigned(flip_mask(0x16681e8, 52)) == 23495144);
assert(unsigned(flip_mask(0x16681f0, 52)) == 23495152);
assert(unsigned(flip_mask(0x16681f8, 52)) == 23495160);
assert(unsigned(flip_mask(0x1668200, 52)) == 23495168);
assert(unsigned(flip_mask(0x1668208, 52)) == 23495176);
assert(unsigned(flip_mask(0x1668210, 52)) == 23495184);
assert(unsigned(flip_mask(0x1668218, 52)) == 23495192);
assert(unsigned(flip_mask(0x1668220, 52)) == 23495200);
assert(unsigned(flip_mask(0x1668228, 52)) == 23495208);
assert(unsigned(flip_mask(0x1668230, 52)) == 23495216);
assert(unsigned(flip_mask(0x1668238, 52)) == 23495224);
assert(unsigned(flip_mask(0x1668240, 52)) == 23495232);
assert(unsigned(flip_mask(0x1668248, 52)) == 23495240);
assert(unsigned(flip_mask(0x1668250, 52)) == 23495248);
assert(unsigned(flip_mask(0x1668258, 52)) == 23495256);
assert(unsigned(flip_mask(0x1668260, 52)) == 23495264);
assert(unsigned(flip_mask(0x1668268, 52)) == 23495272);
assert(unsigned(flip_mask(0x1668270, 52)) == 23495280);
assert(unsigned(flip_mask(0x1668278, 52)) == 23495288);
assert(unsigned(flip_mask(0x1668280, 52)) == 23495296);
assert(unsigned(flip_mask(0x1668288, 52)) == 23495304);
assert(unsigned(flip_mask(0x1668290, 52)) == 23495312);
assert(unsigned(flip_mask(0x1668298, 52)) == 23495320);
assert(unsigned(flip_mask(0x16682a0, 52)) == 23495328);
assert(unsigned(flip_mask(0x16682a8, 52)) == 23495336);
assert(unsigned(flip_mask(0x16682b0, 52)) == 23495344);
assert(unsigned(flip_mask(0x16682b8, 52)) == 23495352);
assert(unsigned(flip_mask(0x16682c0, 52)) == 23495360);
assert(unsigned(flip_mask(0x16682c8, 52)) == 23495368);
assert(unsigned(flip_mask(0x16682d0, 52)) == 23495376);
assert(unsigned(flip_mask(0x16682d8, 52)) == 23495384);
assert(unsigned(flip_mask(0x16682e0, 52)) == 23495392);
assert(unsigned(flip_mask(0x16682e8, 52)) == 23495400);
assert(unsigned(flip_mask(0x16682f0, 52)) == 23495408);
assert(unsigned(flip_mask(0x16682f8, 52)) == 23495416);
assert(unsigned(flip_mask(0x1668300, 52)) == 23495424);
assert(unsigned(flip_mask(0x1668308, 52)) == 23495432);
assert(unsigned(flip_mask(0x1668310, 52)) == 23495440);
assert(unsigned(flip_mask(0x1668318, 52)) == 23495448);
assert(unsigned(flip_mask(0x1668320, 52)) == 23495456);
assert(unsigned(flip_mask(0x1668328, 52)) == 23495464);
assert(unsigned(flip_mask(0x1668330, 52)) == 23495472);
assert(unsigned(flip_mask(0x1668338, 52)) == 23495480);
assert(unsigned(flip_mask(0x1668340, 52)) == 23495488);
assert(unsigned(flip_mask(0x1668348, 52)) == 23495496);
assert(unsigned(flip_mask(0x1668350, 52)) == 23495504);
assert(unsigned(flip_mask(0x1668358, 52)) == 23495512);
assert(unsigned(flip_mask(0x1668360, 52)) == 23495520);
assert(unsigned(flip_mask(0x1668368, 52)) == 23495528);
assert(unsigned(flip_mask(0x1668370, 52)) == 23495536);
assert(unsigned(flip_mask(0x1668378, 52)) == 23495544);
assert(unsigned(flip_mask(0x1668380, 52)) == 23495552);
assert(unsigned(flip_mask(0x1668388, 52)) == 23495560);
assert(unsigned(flip_mask(0x1668390, 52)) == 23495568);
assert(unsigned(flip_mask(0x1668398, 52)) == 23495576);
assert(unsigned(flip_mask(0x16683a0, 52)) == 23495584);
assert(unsigned(flip_mask(0x16683a8, 52)) == 23495592);
assert(unsigned(flip_mask(0x16683b0, 52)) == 23495600);
assert(unsigned(flip_mask(0x16683b8, 52)) == 23495608);
assert(unsigned(flip_mask(0x16683c0, 52)) == 23495616);
assert(unsigned(flip_mask(0x16683c8, 52)) == 23495624);
assert(unsigned(flip_mask(0x16683d0, 52)) == 23495632);
assert(unsigned(flip_mask(0x16683d8, 52)) == 23495640);
assert(unsigned(flip_mask(0x16683e0, 52)) == 23495648);
assert(unsigned(flip_mask(0x16683e8, 52)) == 23495656);
assert(unsigned(flip_mask(0x16683f0, 52)) == 23495664);
assert(unsigned(flip_mask(0x16683f8, 52)) == 23495672);
assert(unsigned(flip_mask(0x1668400, 52)) == 23495680);
assert(unsigned(flip_mask(0x1668408, 52)) == 23495688);
assert(unsigned(flip_mask(0x1668410, 52)) == 23495696);
assert(unsigned(flip_mask(0x1668418, 52)) == 23495704);
assert(unsigned(flip_mask(0x1668420, 52)) == 23495712);
assert(unsigned(flip_mask(0x1668428, 52)) == 23495720);
assert(unsigned(flip_mask(0x1668430, 52)) == 23495728);
assert(unsigned(flip_mask(0x1668438, 52)) == 23495736);
assert(unsigned(flip_mask(0x1668440, 52)) == 23495744);
assert(unsigned(flip_mask(0x1668448, 52)) == 23495752);
assert(unsigned(flip_mask(0x1668450, 52)) == 23495760);
assert(unsigned(flip_mask(0x1668458, 52)) == 23495768);
assert(unsigned(flip_mask(0x1668460, 52)) == 23495776);
assert(unsigned(flip_mask(0x1668468, 52)) == 23495784);
assert(unsigned(flip_mask(0x1668470, 52)) == 23495792);
assert(unsigned(flip_mask(0x1668478, 52)) == 23495800);
assert(unsigned(flip_mask(0x1668480, 52)) == 23495808);
assert(unsigned(flip_mask(0x1668488, 52)) == 23495816);
assert(unsigned(flip_mask(0x1668490, 52)) == 23495824);
assert(unsigned(flip_mask(0x1668498, 52)) == 23495832);
assert(unsigned(flip_mask(0x16684a0, 52)) == 23495840);
assert(unsigned(flip_mask(0x16684a8, 52)) == 23495848);
assert(unsigned(flip_mask(0x16684b0, 52)) == 23495856);
assert(unsigned(flip_mask(0x16684b8, 52)) == 23495864);
assert(unsigned(flip_mask(0x16684c0, 52)) == 23495872);
assert(unsigned(flip_mask(0x16684c8, 52)) == 23495880);
assert(unsigned(flip_mask(0x16684d0, 52)) == 23495888);
assert(unsigned(flip_mask(0x16684d8, 52)) == 23495896);
assert(unsigned(flip_mask(0x16684e0, 52)) == 23495904);
assert(unsigned(flip_mask(0x16684e8, 52)) == 23495912);
assert(unsigned(flip_mask(0x16684f0, 52)) == 23495920);
assert(unsigned(flip_mask(0x16684f8, 52)) == 23495928);
assert(unsigned(flip_mask(0x1668500, 52)) == 23495936);
assert(unsigned(flip_mask(0x1668508, 52)) == 23495944);
assert(unsigned(flip_mask(0x1668510, 52)) == 23495952);
assert(unsigned(flip_mask(0x1668518, 52)) == 23495960);
assert(unsigned(flip_mask(0x1668520, 52)) == 23495968);
assert(unsigned(flip_mask(0x1668528, 52)) == 23495976);
assert(unsigned(flip_mask(0x1668530, 52)) == 23495984);
assert(unsigned(flip_mask(0x1668538, 52)) == 23495992);
assert(unsigned(flip_mask(0x1668540, 52)) == 23496000);
assert(unsigned(flip_mask(0x1668548, 52)) == 23496008);
assert(unsigned(flip_mask(0x1668550, 52)) == 23496016);
assert(unsigned(flip_mask(0x1668558, 52)) == 23496024);
assert(unsigned(flip_mask(0x1668560, 52)) == 23496032);
assert(unsigned(flip_mask(0x1668568, 52)) == 23496040);
assert(unsigned(flip_mask(0x1668570, 52)) == 23496048);
assert(unsigned(flip_mask(0x1668578, 52)) == 23496056);
assert(unsigned(flip_mask(0x1668580, 52)) == 23496064);
assert(unsigned(flip_mask(0x1668588, 52)) == 23496072);
assert(unsigned(flip_mask(0x1668590, 52)) == 23496080);
assert(unsigned(flip_mask(0x1668598, 52)) == 23496088);
assert(unsigned(flip_mask(0x16685a0, 52)) == 23496096);
assert(unsigned(flip_mask(0x16685a8, 52)) == 23496104);
assert(unsigned(flip_mask(0x16685b0, 52)) == 23496112);
assert(unsigned(flip_mask(0x16685b8, 52)) == 23496120);
assert(unsigned(flip_mask(0x16685c0, 52)) == 23496128);
assert(unsigned(flip_mask(0x16685c8, 52)) == 23496136);
assert(unsigned(flip_mask(0x16685d0, 52)) == 23496144);
assert(unsigned(flip_mask(0x16685d8, 52)) == 23496152);
assert(unsigned(flip_mask(0x16685e0, 52)) == 23496160);
assert(unsigned(flip_mask(0x16685e8, 52)) == 23496168);
assert(unsigned(flip_mask(0x16685f0, 52)) == 23496176);
assert(unsigned(flip_mask(0x16685f8, 52)) == 23496184);
assert(unsigned(flip_mask(0x1668600, 52)) == 23496192);
assert(unsigned(flip_mask(0x1668608, 52)) == 23496200);
assert(unsigned(flip_mask(0x1668610, 52)) == 23496208);
assert(unsigned(flip_mask(0x1668618, 52)) == 23496216);
assert(unsigned(flip_mask(0x1668620, 52)) == 23496224);
assert(unsigned(flip_mask(0x1668628, 52)) == 23496232);
assert(unsigned(flip_mask(0x1668630, 52)) == 23496240);
assert(unsigned(flip_mask(0x1668638, 52)) == 23496248);
assert(unsigned(flip_mask(0x1668640, 52)) == 23496256);
assert(unsigned(flip_mask(0x1668648, 52)) == 23496264);
assert(unsigned(flip_mask(0x1668650, 52)) == 23496272);
assert(unsigned(flip_mask(0x1668658, 52)) == 23496280);
assert(unsigned(flip_mask(0x1668660, 52)) == 23496288);
assert(unsigned(flip_mask(0x1668668, 52)) == 23496296);
assert(unsigned(flip_mask(0x1668670, 52)) == 23496304);
assert(unsigned(flip_mask(0x1668678, 52)) == 23496312);
assert(unsigned(flip_mask(0x1668680, 52)) == 23496320);
assert(unsigned(flip_mask(0x1668688, 52)) == 23496328);
assert(unsigned(flip_mask(0x1668690, 52)) == 23496336);
assert(unsigned(flip_mask(0x1668698, 52)) == 23496344);
assert(unsigned(flip_mask(0x16686a0, 52)) == 23496352);
assert(unsigned(flip_mask(0x16686a8, 52)) == 23496360);
assert(unsigned(flip_mask(0x16686b0, 52)) == 23496368);
assert(unsigned(flip_mask(0x16686b8, 52)) == 23496376);
assert(unsigned(flip_mask(0x16686c0, 52)) == 23496384);
assert(unsigned(flip_mask(0x16686c8, 52)) == 23496392);
assert(unsigned(flip_mask(0x16686d0, 52)) == 23496400);
assert(unsigned(flip_mask(0x16686d8, 52)) == 23496408);
assert(unsigned(flip_mask(0x16686e0, 52)) == 23496416);
assert(unsigned(flip_mask(0x16686e8, 52)) == 23496424);
assert(unsigned(flip_mask(0x16686f0, 52)) == 23496432);
assert(unsigned(flip_mask(0x16686f8, 52)) == 23496440);
assert(unsigned(flip_mask(0x1668700, 52)) == 23496448);
assert(unsigned(flip_mask(0x1668708, 52)) == 23496456);
assert(unsigned(flip_mask(0x1668710, 52)) == 23496464);
assert(unsigned(flip_mask(0x1668718, 52)) == 23496472);
assert(unsigned(flip_mask(0x1668720, 52)) == 23496480);
assert(unsigned(flip_mask(0x1668728, 52)) == 23496488);
assert(unsigned(flip_mask(0x1668730, 52)) == 23496496);
assert(unsigned(flip_mask(0x1668738, 52)) == 23496504);
assert(unsigned(flip_mask(0x1668740, 52)) == 23496512);
assert(unsigned(flip_mask(0x1668748, 52)) == 23496520);
assert(unsigned(flip_mask(0x1668750, 52)) == 23496528);
assert(unsigned(flip_mask(0x1668758, 52)) == 23496536);
assert(unsigned(flip_mask(0x1668760, 52)) == 23496544);
assert(unsigned(flip_mask(0x1668768, 52)) == 23496552);
assert(unsigned(flip_mask(0x1668770, 52)) == 23496560);
assert(unsigned(flip_mask(0x1668778, 52)) == 23496568);
assert(unsigned(flip_mask(0x1668780, 52)) == 23496576);
assert(unsigned(flip_mask(0x1668788, 52)) == 23496584);
assert(unsigned(flip_mask(0x1668790, 52)) == 23496592);
assert(unsigned(flip_mask(0x1668798, 52)) == 23496600);
assert(unsigned(flip_mask(0x16687a0, 52)) == 23496608);
assert(unsigned(flip_mask(0x16687a8, 52)) == 23496616);
assert(unsigned(flip_mask(0x16687b0, 52)) == 23496624);
assert(unsigned(flip_mask(0x16687b8, 52)) == 23496632);
assert(unsigned(flip_mask(0x16687c0, 52)) == 23496640);
assert(unsigned(flip_mask(0x16687c8, 52)) == 23496648);
assert(unsigned(flip_mask(0x16687d0, 52)) == 23496656);
assert(unsigned(flip_mask(0x16687d8, 52)) == 23496664);
assert(unsigned(flip_mask(0x16687e0, 52)) == 23496672);
assert(unsigned(flip_mask(0x16687e8, 52)) == 23496680);
assert(unsigned(flip_mask(0x16687f0, 52)) == 23496688);
assert(unsigned(flip_mask(0x16687f8, 52)) == 23496696);
assert(unsigned(flip_mask(0x1668800, 52)) == 23496704);
assert(unsigned(flip_mask(0x1668808, 52)) == 23496712);
assert(unsigned(flip_mask(0x1668810, 52)) == 23496720);
assert(unsigned(flip_mask(0x1668818, 52)) == 23496728);
assert(unsigned(flip_mask(0x1668820, 52)) == 23496736);
assert(unsigned(flip_mask(0x1668828, 52)) == 23496744);
assert(unsigned(flip_mask(0x1668830, 52)) == 23496752);
assert(unsigned(flip_mask(0x1668838, 52)) == 23496760);
assert(unsigned(flip_mask(0x1668840, 52)) == 23496768);
assert(unsigned(flip_mask(0x1668848, 52)) == 23496776);
assert(unsigned(flip_mask(0x1668850, 52)) == 23496784);
assert(unsigned(flip_mask(0x1668858, 52)) == 23496792);
assert(unsigned(flip_mask(0x1668860, 52)) == 23496800);
assert(unsigned(flip_mask(0x1668868, 52)) == 23496808);
assert(unsigned(flip_mask(0x1668870, 52)) == 23496816);
assert(unsigned(flip_mask(0x1668878, 52)) == 23496824);
assert(unsigned(flip_mask(0x1668880, 52)) == 23496832);
assert(unsigned(flip_mask(0x1668888, 52)) == 23496840);
assert(unsigned(flip_mask(0x1668890, 52)) == 23496848);
assert(unsigned(flip_mask(0x1668898, 52)) == 23496856);
assert(unsigned(flip_mask(0x16688a0, 52)) == 23496864);
assert(unsigned(flip_mask(0x16688a8, 52)) == 23496872);
assert(unsigned(flip_mask(0x16688b0, 52)) == 23496880);
assert(unsigned(flip_mask(0x16688b8, 52)) == 23496888);
assert(unsigned(flip_mask(0x16688c0, 52)) == 23496896);
assert(unsigned(flip_mask(0x16688c8, 52)) == 23496904);
assert(unsigned(flip_mask(0x16688d0, 52)) == 23496912);
assert(unsigned(flip_mask(0x16688d8, 52)) == 23496920);
assert(unsigned(flip_mask(0x16688e0, 52)) == 23496928);
assert(unsigned(flip_mask(0x16688e8, 52)) == 23496936);
assert(unsigned(flip_mask(0x16688f0, 52)) == 23496944);
assert(unsigned(flip_mask(0x16688f8, 52)) == 23496952);
assert(unsigned(flip_mask(0x1668900, 52)) == 23496960);
assert(unsigned(flip_mask(0x1668908, 52)) == 23496968);
assert(unsigned(flip_mask(0x1668910, 52)) == 23496976);
assert(unsigned(flip_mask(0x1668918, 52)) == 23496984);
assert(unsigned(flip_mask(0x1668920, 52)) == 23496992);
assert(unsigned(flip_mask(0x1668928, 52)) == 23497000);
assert(unsigned(flip_mask(0x1668930, 52)) == 23497008);
assert(unsigned(flip_mask(0x1668938, 52)) == 23497016);
assert(unsigned(flip_mask(0x1668940, 52)) == 23497024);
assert(unsigned(flip_mask(0x1668948, 52)) == 23497032);
assert(unsigned(flip_mask(0x1668950, 52)) == 23497040);
assert(unsigned(flip_mask(0x1668958, 52)) == 23497048);
assert(unsigned(flip_mask(0x1668960, 52)) == 23497056);
assert(unsigned(flip_mask(0x1668968, 52)) == 23497064);
assert(unsigned(flip_mask(0x1668970, 52)) == 23497072);
assert(unsigned(flip_mask(0x1668978, 52)) == 23497080);
assert(unsigned(flip_mask(0x1668980, 52)) == 23497088);
assert(unsigned(flip_mask(0x1668988, 52)) == 23497096);
assert(unsigned(flip_mask(0x1668990, 52)) == 23497104);
assert(unsigned(flip_mask(0x1668998, 52)) == 23497112);
assert(unsigned(flip_mask(0x16689a0, 52)) == 23497120);
assert(unsigned(flip_mask(0x16689a8, 52)) == 23497128);
assert(unsigned(flip_mask(0x16689b0, 52)) == 23497136);
assert(unsigned(flip_mask(0x16689b8, 52)) == 23497144);
assert(unsigned(flip_mask(0x16689c0, 52)) == 23497152);
assert(unsigned(flip_mask(0x16689c8, 52)) == 23497160);
assert(unsigned(flip_mask(0x16689d0, 52)) == 23497168);
assert(unsigned(flip_mask(0x16689d8, 52)) == 23497176);
assert(unsigned(flip_mask(0x16689e0, 52)) == 23497184);
assert(unsigned(flip_mask(0x16689e8, 52)) == 23497192);
assert(unsigned(flip_mask(0x16689f0, 52)) == 23497200);
assert(unsigned(flip_mask(0x16689f8, 52)) == 23497208);
assert(unsigned(flip_mask(0x1668a00, 52)) == 23497216);
assert(unsigned(flip_mask(0x1668a08, 52)) == 23497224);
assert(unsigned(flip_mask(0x1668a10, 52)) == 23497232);
assert(unsigned(flip_mask(0x1668a18, 52)) == 23497240);
assert(unsigned(flip_mask(0x1668a20, 52)) == 23497248);
assert(unsigned(flip_mask(0x1668a28, 52)) == 23497256);
assert(unsigned(flip_mask(0x1668a30, 52)) == 23497264);
assert(unsigned(flip_mask(0x1668a38, 52)) == 23497272);
assert(unsigned(flip_mask(0x1668a40, 52)) == 23497280);
assert(unsigned(flip_mask(0x1668a48, 52)) == 23497288);
assert(unsigned(flip_mask(0x1668a50, 52)) == 23497296);
assert(unsigned(flip_mask(0x1668a58, 52)) == 23497304);
assert(unsigned(flip_mask(0x1668a60, 52)) == 23497312);
assert(unsigned(flip_mask(0x1668a68, 52)) == 23497320);
assert(unsigned(flip_mask(0x1668a70, 52)) == 23497328);
assert(unsigned(flip_mask(0x1668a78, 52)) == 23497336);
assert(unsigned(flip_mask(0x1668a80, 52)) == 23497344);
assert(unsigned(flip_mask(0x1668a88, 52)) == 23497352);
assert(unsigned(flip_mask(0x1668a90, 52)) == 23497360);
assert(unsigned(flip_mask(0x1668a98, 52)) == 23497368);
assert(unsigned(flip_mask(0x1668aa0, 52)) == 23497376);
assert(unsigned(flip_mask(0x1668aa8, 52)) == 23497384);
assert(unsigned(flip_mask(0x1668ab0, 52)) == 23497392);
assert(unsigned(flip_mask(0x1668ab8, 52)) == 23497400);
assert(unsigned(flip_mask(0x1668ac0, 52)) == 23497408);
assert(unsigned(flip_mask(0x1668ac8, 52)) == 23497416);
assert(unsigned(flip_mask(0x1668ad0, 52)) == 23497424);
assert(unsigned(flip_mask(0x1668ad8, 52)) == 23497432);
assert(unsigned(flip_mask(0x1668ae0, 52)) == 23497440);
assert(unsigned(flip_mask(0x1668ae8, 52)) == 23497448);
assert(unsigned(flip_mask(0x1668af0, 52)) == 23497456);
assert(unsigned(flip_mask(0x1668af8, 52)) == 23497464);
assert(unsigned(flip_mask(0x1668b00, 52)) == 23497472);
assert(unsigned(flip_mask(0x1668b08, 52)) == 23497480);
assert(unsigned(flip_mask(0x1668b10, 52)) == 23497488);
assert(unsigned(flip_mask(0x1668b18, 52)) == 23497496);
assert(unsigned(flip_mask(0x1668b20, 52)) == 23497504);
assert(unsigned(flip_mask(0x1668b28, 52)) == 23497512);
assert(unsigned(flip_mask(0x1668b30, 52)) == 23497520);
assert(unsigned(flip_mask(0x1668b38, 52)) == 23497528);
assert(unsigned(flip_mask(0x1668b40, 52)) == 23497536);
assert(unsigned(flip_mask(0x1668b48, 52)) == 23497544);
assert(unsigned(flip_mask(0x1668b50, 52)) == 23497552);
assert(unsigned(flip_mask(0x1668b58, 52)) == 23497560);
assert(unsigned(flip_mask(0x1668b60, 52)) == 23497568);
assert(unsigned(flip_mask(0x1668b68, 52)) == 23497576);
assert(unsigned(flip_mask(0x1668b70, 52)) == 23497584);
assert(unsigned(flip_mask(0x1668b78, 52)) == 23497592);
assert(unsigned(flip_mask(0x1668b80, 52)) == 23497600);
assert(unsigned(flip_mask(0x1668b88, 52)) == 23497608);
assert(unsigned(flip_mask(0x1668b90, 52)) == 23497616);
assert(unsigned(flip_mask(0x1668b98, 52)) == 23497624);
assert(unsigned(flip_mask(0x1668ba0, 52)) == 23497632);
assert(unsigned(flip_mask(0x1668ba8, 52)) == 23497640);
assert(unsigned(flip_mask(0x1668bb0, 52)) == 23497648);
assert(unsigned(flip_mask(0x1668bb8, 52)) == 23497656);
assert(unsigned(flip_mask(0x1668bc0, 52)) == 23497664);
assert(unsigned(flip_mask(0x1668bc8, 52)) == 23497672);
assert(unsigned(flip_mask(0x1668bd0, 52)) == 23497680);
assert(unsigned(flip_mask(0x1668bd8, 52)) == 23497688);
assert(unsigned(flip_mask(0x1668be0, 52)) == 23497696);
assert(unsigned(flip_mask(0x1668be8, 52)) == 23497704);
assert(unsigned(flip_mask(0x1668bf0, 52)) == 23497712);
assert(unsigned(flip_mask(0x1668bf8, 52)) == 23497720);
assert(unsigned(flip_mask(0x1668c00, 52)) == 23497728);
assert(unsigned(flip_mask(0x1668c08, 52)) == 23497736);
assert(unsigned(flip_mask(0x1668c10, 52)) == 23497744);
assert(unsigned(flip_mask(0x1668c18, 52)) == 23497752);
assert(unsigned(flip_mask(0x1668c20, 52)) == 23497760);
assert(unsigned(flip_mask(0x1668c28, 52)) == 23497768);
assert(unsigned(flip_mask(0x1668c30, 52)) == 23497776);
assert(unsigned(flip_mask(0x1668c38, 52)) == 23497784);
assert(unsigned(flip_mask(0x1668c40, 52)) == 23497792);
assert(unsigned(flip_mask(0x1668c48, 52)) == 23497800);
assert(unsigned(flip_mask(0x1668c50, 52)) == 23497808);
assert(unsigned(flip_mask(0x1668c58, 52)) == 23497816);
assert(unsigned(flip_mask(0x1668c60, 52)) == 23497824);
assert(unsigned(flip_mask(0x1668c68, 52)) == 23497832);
assert(unsigned(flip_mask(0x1668c70, 52)) == 23497840);
assert(unsigned(flip_mask(0x1668c78, 52)) == 23497848);
assert(unsigned(flip_mask(0x1668c80, 52)) == 23497856);
assert(unsigned(flip_mask(0x1668c88, 52)) == 23497864);
assert(unsigned(flip_mask(0x1668c90, 52)) == 23497872);
assert(unsigned(flip_mask(0x1668c98, 52)) == 23497880);
assert(unsigned(flip_mask(0x1668ca0, 52)) == 23497888);
assert(unsigned(flip_mask(0x1668ca8, 52)) == 23497896);
assert(unsigned(flip_mask(0x1668cb0, 52)) == 23497904);
assert(unsigned(flip_mask(0x1668cb8, 52)) == 23497912);
assert(unsigned(flip_mask(0x1668cc0, 52)) == 23497920);
assert(unsigned(flip_mask(0x1668cc8, 52)) == 23497928);
assert(unsigned(flip_mask(0x1668cd0, 52)) == 23497936);
assert(unsigned(flip_mask(0x1668cd8, 52)) == 23497944);
assert(unsigned(flip_mask(0x1668ce0, 52)) == 23497952);
assert(unsigned(flip_mask(0x1668ce8, 52)) == 23497960);
assert(unsigned(flip_mask(0x1668cf0, 52)) == 23497968);
assert(unsigned(flip_mask(0x1668cf8, 52)) == 23497976);
assert(unsigned(flip_mask(0x1668d00, 52)) == 23497984);
assert(unsigned(flip_mask(0x1668d08, 52)) == 23497992);
assert(unsigned(flip_mask(0x1668d10, 52)) == 23498000);
assert(unsigned(flip_mask(0x1668d18, 52)) == 23498008);
assert(unsigned(flip_mask(0x1668d20, 52)) == 23498016);
assert(unsigned(flip_mask(0x1668d28, 52)) == 23498024);
assert(unsigned(flip_mask(0x1668d30, 52)) == 23498032);
assert(unsigned(flip_mask(0x1668d38, 52)) == 23498040);
assert(unsigned(flip_mask(0x1668d40, 52)) == 23498048);
assert(unsigned(flip_mask(0x1668d48, 52)) == 23498056);
assert(unsigned(flip_mask(0x1668d50, 52)) == 23498064);
assert(unsigned(flip_mask(0x1668d58, 52)) == 23498072);
assert(unsigned(flip_mask(0x1668d60, 52)) == 23498080);
assert(unsigned(flip_mask(0x1668d68, 52)) == 23498088);
assert(unsigned(flip_mask(0x1668d70, 52)) == 23498096);
assert(unsigned(flip_mask(0x1668d78, 52)) == 23498104);
assert(unsigned(flip_mask(0x1668d80, 52)) == 23498112);
assert(unsigned(flip_mask(0x1668d88, 52)) == 23498120);
assert(unsigned(flip_mask(0x1668d90, 52)) == 23498128);
assert(unsigned(flip_mask(0x1668d98, 52)) == 23498136);
assert(unsigned(flip_mask(0x1668da0, 52)) == 23498144);
assert(unsigned(flip_mask(0x1668da8, 52)) == 23498152);
assert(unsigned(flip_mask(0x1668db0, 52)) == 23498160);
assert(unsigned(flip_mask(0x1668db8, 52)) == 23498168);
assert(unsigned(flip_mask(0x1668dc0, 52)) == 23498176);
assert(unsigned(flip_mask(0x1668dc8, 52)) == 23498184);
assert(unsigned(flip_mask(0x1668dd0, 52)) == 23498192);
assert(unsigned(flip_mask(0x1668dd8, 52)) == 23498200);
assert(unsigned(flip_mask(0x1668de0, 52)) == 23498208);
assert(unsigned(flip_mask(0x1668de8, 52)) == 23498216);
assert(unsigned(flip_mask(0x1668df0, 52)) == 23498224);
assert(unsigned(flip_mask(0x17000, 52)) == 94208);
assert(unsigned(flip_mask(0x17030, 52)) == 94256);
assert(unsigned(flip_mask(0x1800014, 52)) == 25165844);
assert(unsigned(flip_mask(0x1800018, 52)) == 25165848);
assert(unsigned(flip_mask(0x180001c, 52)) == 25165852);
assert(unsigned(flip_mask(0x1800020, 52)) == 25165856);
assert(unsigned(flip_mask(0x1800030, 52)) == 25165872);
assert(unsigned(flip_mask(0x1800054, 52)) == 25165908);
assert(unsigned(flip_mask(0x1800058, 52)) == 25165912);
assert(unsigned(flip_mask(0x1800068, 52)) == 25165928);
assert(unsigned(flip_mask(0x18000c8, 52)) == 25166024);
assert(unsigned(flip_mask(0x18002a0, 52)) == 25166496);
assert(unsigned(flip_mask(0x1802940, 52)) == 25176384);
assert(unsigned(flip_mask(0x1806b10, 52)) == 25193232);
assert(unsigned(flip_mask(0x1806b14, 52)) == 25193236);
assert(unsigned(flip_mask(0x1808d20, 52)) == 25201952);
assert(unsigned(flip_mask(0x1808d21, 52)) == 25201953);
assert(unsigned(flip_mask(0x1808d24, 52)) == 25201956);
assert(unsigned(flip_mask(0x1808d28, 52)) == 25201960);
assert(unsigned(flip_mask(0x1808d30, 52)) == 25201968);
assert(unsigned(flip_mask(0x1808d38, 52)) == 25201976);
assert(unsigned(flip_mask(0x1808d40, 52)) == 25201984);
assert(unsigned(flip_mask(0x1808d48, 52)) == 25201992);
assert(unsigned(flip_mask(0x1808d50, 52)) == 25202000);
assert(unsigned(flip_mask(0x1808d51, 52)) == 25202001);
assert(unsigned(flip_mask(0x1808d54, 52)) == 25202004);
assert(unsigned(flip_mask(0x1808d58, 52)) == 25202008);
assert(unsigned(flip_mask(0x1808d5c, 52)) == 25202012);
assert(unsigned(flip_mask(0x1808d60, 52)) == 25202016);
assert(unsigned(flip_mask(0x1808d64, 52)) == 25202020);
assert(unsigned(flip_mask(0x1808d68, 52)) == 25202024);
assert(unsigned(flip_mask(0x1808d6c, 52)) == 25202028);
assert(unsigned(flip_mask(0x1808d70, 52)) == 25202032);
assert(unsigned(flip_mask(0x1808d74, 52)) == 25202036);
assert(unsigned(flip_mask(0x1808d78, 52)) == 25202040);
assert(unsigned(flip_mask(0x1808d7c, 52)) == 25202044);
assert(unsigned(flip_mask(0x1808d80, 52)) == 25202048);
assert(unsigned(flip_mask(0x1808d84, 52)) == 25202052);
assert(unsigned(flip_mask(0x1808d88, 52)) == 25202056);
assert(unsigned(flip_mask(0x1808d8c, 52)) == 25202060);
assert(unsigned(flip_mask(0x1808d90, 52)) == 25202064);
assert(unsigned(flip_mask(0x1808d94, 52)) == 25202068);
assert(unsigned(flip_mask(0x1808d98, 52)) == 25202072);
assert(unsigned(flip_mask(0x1808d9c, 52)) == 25202076);
assert(unsigned(flip_mask(0x1808da0, 52)) == 25202080);
assert(unsigned(flip_mask(0x1808da4, 52)) == 25202084);
assert(unsigned(flip_mask(0x1808da8, 52)) == 25202088);
assert(unsigned(flip_mask(0x1808dac, 52)) == 25202092);
assert(unsigned(flip_mask(0x1808db0, 52)) == 25202096);
assert(unsigned(flip_mask(0x1808db4, 52)) == 25202100);
assert(unsigned(flip_mask(0x1808db8, 52)) == 25202104);
assert(unsigned(flip_mask(0x1808dbc, 52)) == 25202108);
assert(unsigned(flip_mask(0x1808dc0, 52)) == 25202112);
assert(unsigned(flip_mask(0x1808dc4, 52)) == 25202116);
assert(unsigned(flip_mask(0x1808dc8, 52)) == 25202120);
assert(unsigned(flip_mask(0x1808dcc, 52)) == 25202124);
assert(unsigned(flip_mask(0x1808dd0, 52)) == 25202128);
assert(unsigned(flip_mask(0x1808dd4, 52)) == 25202132);
assert(unsigned(flip_mask(0x1808dd8, 52)) == 25202136);
assert(unsigned(flip_mask(0x1808ddc, 52)) == 25202140);
assert(unsigned(flip_mask(0x1808de0, 52)) == 25202144);
assert(unsigned(flip_mask(0x1808de4, 52)) == 25202148);
assert(unsigned(flip_mask(0x1808de8, 52)) == 25202152);
assert(unsigned(flip_mask(0x1808dec, 52)) == 25202156);
assert(unsigned(flip_mask(0x1808df0, 52)) == 25202160);
assert(unsigned(flip_mask(0x1808df8, 52)) == 25202168);
assert(unsigned(flip_mask(0x1808e00, 52)) == 25202176);
assert(unsigned(flip_mask(0x1808e08, 52)) == 25202184);
assert(unsigned(flip_mask(0x1808e10, 52)) == 25202192);
assert(unsigned(flip_mask(0x1808e18, 52)) == 25202200);
assert(unsigned(flip_mask(0x1808e20, 52)) == 25202208);
assert(unsigned(flip_mask(0x1808e28, 52)) == 25202216);
assert(unsigned(flip_mask(0x1808e30, 52)) == 25202224);
assert(unsigned(flip_mask(0x1808e38, 52)) == 25202232);
assert(unsigned(flip_mask(0x1c428, 52)) == 115752);
assert(unsigned(flip_mask(0x2000011, 52)) == 33554449);
assert(unsigned(flip_mask(0x2000012, 52)) == 33554450);
assert(unsigned(flip_mask(0x2000013, 52)) == 33554451);
assert(unsigned(flip_mask(0x2000018, 52)) == 33554456);
assert(unsigned(flip_mask(0x200003b, 52)) == 33554491);
assert(unsigned(flip_mask(0x200003c, 52)) == 33554492);
assert(unsigned(flip_mask(0x200003d, 52)) == 33554493);
assert(unsigned(flip_mask(0x2000040, 52)) == 33554496);
assert(unsigned(flip_mask(0x200004c, 52)) == 33554508);
assert(unsigned(flip_mask(0x200004d, 52)) == 33554509);
assert(unsigned(flip_mask(0x200004e, 52)) == 33554510);
assert(unsigned(flip_mask(0x2000050, 52)) == 33554512);
assert(unsigned(flip_mask(0x20002c0, 52)) == 33555136);
assert(unsigned(flip_mask(0x20002c8, 52)) == 33555144);
assert(unsigned(flip_mask(0x20002d0, 52)) == 33555152);
assert(unsigned(flip_mask(0x20002d8, 52)) == 33555160);
assert(unsigned(flip_mask(0x20002e0, 52)) == 33555168);
assert(unsigned(flip_mask(0x20002e8, 52)) == 33555176);
assert(unsigned(flip_mask(0x20002f0, 52)) == 33555184);
assert(unsigned(flip_mask(0x20002f8, 52)) == 33555192);
assert(unsigned(flip_mask(0x2000300, 52)) == 33555200);
assert(unsigned(flip_mask(0x2000310, 52)) == 33555216);
assert(unsigned(flip_mask(0x2000318, 52)) == 33555224);
assert(unsigned(flip_mask(0x2000320, 52)) == 33555232);
assert(unsigned(flip_mask(0x2000328, 52)) == 33555240);
assert(unsigned(flip_mask(0x2000330, 52)) == 33555248);
assert(unsigned(flip_mask(0x2000338, 52)) == 33555256);
assert(unsigned(flip_mask(0x2000340, 52)) == 33555264);
assert(unsigned(flip_mask(0x2000350, 52)) == 33555280);
assert(unsigned(flip_mask(0x2000358, 52)) == 33555288);
assert(unsigned(flip_mask(0x2000360, 52)) == 33555296);
assert(unsigned(flip_mask(0x2000368, 52)) == 33555304);
assert(unsigned(flip_mask(0x20003a0, 52)) == 33555360);
assert(unsigned(flip_mask(0x20003a8, 52)) == 33555368);
assert(unsigned(flip_mask(0x20003b0, 52)) == 33555376);
assert(unsigned(flip_mask(0x20003b4, 52)) == 33555380);
assert(unsigned(flip_mask(0x20003b8, 52)) == 33555384);
assert(unsigned(flip_mask(0x20003bc, 52)) == 33555388);
assert(unsigned(flip_mask(0x20003c0, 52)) == 33555392);
assert(unsigned(flip_mask(0x20003c4, 52)) == 33555396);
assert(unsigned(flip_mask(0x20003c8, 52)) == 33555400);
assert(unsigned(flip_mask(0x20003cc, 52)) == 33555404);
assert(unsigned(flip_mask(0x20003d0, 52)) == 33555408);
assert(unsigned(flip_mask(0x20003d4, 52)) == 33555412);
assert(unsigned(flip_mask(0x20003d8, 52)) == 33555416);
assert(unsigned(flip_mask(0x20003dc, 52)) == 33555420);
assert(unsigned(flip_mask(0x20003e0, 52)) == 33555424);
assert(unsigned(flip_mask(0x20003e4, 52)) == 33555428);
assert(unsigned(flip_mask(0x20003e8, 52)) == 33555432);
assert(unsigned(flip_mask(0x20003ec, 52)) == 33555436);
assert(unsigned(flip_mask(0x20003f0, 52)) == 33555440);
assert(unsigned(flip_mask(0x20003f8, 52)) == 33555448);
assert(unsigned(flip_mask(0x2000400, 52)) == 33555456);
assert(unsigned(flip_mask(0x2000408, 52)) == 33555464);
assert(unsigned(flip_mask(0x2000410, 52)) == 33555472);
assert(unsigned(flip_mask(0x2000418, 52)) == 33555480);
assert(unsigned(flip_mask(0x2000420, 52)) == 33555488);
assert(unsigned(flip_mask(0x2000428, 52)) == 33555496);
assert(unsigned(flip_mask(0x2000430, 52)) == 33555504);
assert(unsigned(flip_mask(0x2000438, 52)) == 33555512);
assert(unsigned(flip_mask(0x2000440, 52)) == 33555520);
assert(unsigned(flip_mask(0x2000448, 52)) == 33555528);
assert(unsigned(flip_mask(0x2000450, 52)) == 33555536);
assert(unsigned(flip_mask(0x2000458, 52)) == 33555544);
assert(unsigned(flip_mask(0x2008060, 52)) == 33587296);
assert(unsigned(flip_mask(0x2008064, 52)) == 33587300);
assert(unsigned(flip_mask(0x2008068, 52)) == 33587304);
assert(unsigned(flip_mask(0x2008070, 52)) == 33587312);
assert(unsigned(flip_mask(0x2008078, 52)) == 33587320);
assert(unsigned(flip_mask(0x2008080, 52)) == 33587328);
assert(unsigned(flip_mask(0x2008140, 52)) == 33587520);
assert(unsigned(flip_mask(0x2008148, 52)) == 33587528);
assert(unsigned(flip_mask(0x2008248, 52)) == 33587784);
assert(unsigned(flip_mask(0x2008250, 52)) == 33587792);
assert(unsigned(flip_mask(0x2008a00, 52)) == 33589760);
assert(unsigned(flip_mask(0x2008a04, 52)) == 33589764);
assert(unsigned(flip_mask(0x2008a08, 52)) == 33589768);
assert(unsigned(flip_mask(0x2008a10, 52)) == 33589776);
assert(unsigned(flip_mask(0x2008a18, 52)) == 33589784);
assert(unsigned(flip_mask(0x2008a20, 52)) == 33589792);
assert(unsigned(flip_mask(0x2008a70, 52)) == 33589872);
assert(unsigned(flip_mask(0x2008a78, 52)) == 33589880);
assert(unsigned(flip_mask(0x2008b78, 52)) == 33590136);
assert(unsigned(flip_mask(0x2008b80, 52)) == 33590144);
assert(unsigned(flip_mask(0x200d880, 52)) == 33609856);
assert(unsigned(flip_mask(0x200d888, 52)) == 33609864);
assert(unsigned(flip_mask(0x200d890, 52)) == 33609872);
assert(unsigned(flip_mask(0x200d898, 52)) == 33609880);
assert(unsigned(flip_mask(0x200d8a0, 52)) == 33609888);
assert(unsigned(flip_mask(0x200d8a8, 52)) == 33609896);
assert(unsigned(flip_mask(0x200d8b0, 52)) == 33609904);
assert(unsigned(flip_mask(0x200d8b8, 52)) == 33609912);
assert(unsigned(flip_mask(0x200d8c0, 52)) == 33609920);
assert(unsigned(flip_mask(0x200d8c8, 52)) == 33609928);
assert(unsigned(flip_mask(0x200d8d0, 52)) == 33609936);
assert(unsigned(flip_mask(0x200d8d8, 52)) == 33609944);
assert(unsigned(flip_mask(0x200d8e0, 52)) == 33609952);
assert(unsigned(flip_mask(0x200d8e8, 52)) == 33609960);
assert(unsigned(flip_mask(0x200d8f0, 52)) == 33609968);
assert(unsigned(flip_mask(0x200d8f8, 52)) == 33609976);
assert(unsigned(flip_mask(0x200d900, 52)) == 33609984);
assert(unsigned(flip_mask(0x200d908, 52)) == 33609992);
assert(unsigned(flip_mask(0x200d960, 52)) == 33610080);
assert(unsigned(flip_mask(0x200d968, 52)) == 33610088);
assert(unsigned(flip_mask(0x200d970, 52)) == 33610096);
assert(unsigned(flip_mask(0x200d974, 52)) == 33610100);
assert(unsigned(flip_mask(0x200d978, 52)) == 33610104);
assert(unsigned(flip_mask(0x200d97c, 52)) == 33610108);
assert(unsigned(flip_mask(0x200d980, 52)) == 33610112);
assert(unsigned(flip_mask(0x200d984, 52)) == 33610116);
assert(unsigned(flip_mask(0x200d988, 52)) == 33610120);
assert(unsigned(flip_mask(0x200d98c, 52)) == 33610124);
assert(unsigned(flip_mask(0x200d990, 52)) == 33610128);
assert(unsigned(flip_mask(0x200d994, 52)) == 33610132);
assert(unsigned(flip_mask(0x200d998, 52)) == 33610136);
assert(unsigned(flip_mask(0x200d99c, 52)) == 33610140);
assert(unsigned(flip_mask(0x200d9a0, 52)) == 33610144);
assert(unsigned(flip_mask(0x200d9a4, 52)) == 33610148);
assert(unsigned(flip_mask(0x200d9a8, 52)) == 33610152);
assert(unsigned(flip_mask(0x200d9ac, 52)) == 33610156);
assert(unsigned(flip_mask(0x200d9b0, 52)) == 33610160);
assert(unsigned(flip_mask(0x200d9b8, 52)) == 33610168);
assert(unsigned(flip_mask(0x200d9c0, 52)) == 33610176);
assert(unsigned(flip_mask(0x200d9c8, 52)) == 33610184);
assert(unsigned(flip_mask(0x200d9d0, 52)) == 33610192);
assert(unsigned(flip_mask(0x200d9d8, 52)) == 33610200);
assert(unsigned(flip_mask(0x200d9e0, 52)) == 33610208);
assert(unsigned(flip_mask(0x200d9e8, 52)) == 33610216);
assert(unsigned(flip_mask(0x200d9f0, 52)) == 33610224);
assert(unsigned(flip_mask(0x200d9f8, 52)) == 33610232);
assert(unsigned(flip_mask(0x200da00, 52)) == 33610240);
assert(unsigned(flip_mask(0x200da08, 52)) == 33610248);
assert(unsigned(flip_mask(0x2015610, 52)) == 33642000);
assert(unsigned(flip_mask(0x2015618, 52)) == 33642008);
assert(unsigned(flip_mask(0x2015624, 52)) == 33642020);
assert(unsigned(flip_mask(0x2015628, 52)) == 33642024);
assert(unsigned(flip_mask(0x2015630, 52)) == 33642032);
assert(unsigned(flip_mask(0x2015638, 52)) == 33642040);
assert(unsigned(flip_mask(0x201563c, 52)) == 33642044);
assert(unsigned(flip_mask(0x2015640, 52)) == 33642048);
assert(unsigned(flip_mask(0x2015648, 52)) == 33642056);
assert(unsigned(flip_mask(0x2015650, 52)) == 33642064);
assert(unsigned(flip_mask(0x2015658, 52)) == 33642072);
assert(unsigned(flip_mask(0x2015668, 52)) == 33642088);
assert(unsigned(flip_mask(0x2015670, 52)) == 33642096);
assert(unsigned(flip_mask(0x2015678, 52)) == 33642104);
assert(unsigned(flip_mask(0x2015778, 52)) == 33642360);
assert(unsigned(flip_mask(0x2015780, 52)) == 33642368);
assert(unsigned(flip_mask(0x2015b50, 52)) == 33643344);
assert(unsigned(flip_mask(0x2015b58, 52)) == 33643352);
assert(unsigned(flip_mask(0x2015c58, 52)) == 33643608);
assert(unsigned(flip_mask(0x2015c60, 52)) == 33643616);
assert(unsigned(flip_mask(0x2019d80, 52)) == 33660288);
assert(unsigned(flip_mask(0x2019d84, 52)) == 33660292);
assert(unsigned(flip_mask(0x2019d88, 52)) == 33660296);
assert(unsigned(flip_mask(0x2019d8c, 52)) == 33660300);
assert(unsigned(flip_mask(0x2019d90, 52)) == 33660304);
assert(unsigned(flip_mask(0x2019d98, 52)) == 33660312);
assert(unsigned(flip_mask(0x2019da0, 52)) == 33660320);
assert(unsigned(flip_mask(0x2019da8, 52)) == 33660328);
assert(unsigned(flip_mask(0x2019db8, 52)) == 33660344);
assert(unsigned(flip_mask(0x2019dc0, 52)) == 33660352);
assert(unsigned(flip_mask(0x2019dc8, 52)) == 33660360);
assert(unsigned(flip_mask(0x2019ed0, 52)) == 33660624);
assert(unsigned(flip_mask(0x201a280, 52)) == 33661568);
assert(unsigned(flip_mask(0x201a284, 52)) == 33661572);
assert(unsigned(flip_mask(0x201a288, 52)) == 33661576);
assert(unsigned(flip_mask(0x201a28c, 52)) == 33661580);
assert(unsigned(flip_mask(0x201a290, 52)) == 33661584);
assert(unsigned(flip_mask(0x201a298, 52)) == 33661592);
assert(unsigned(flip_mask(0x201a2a0, 52)) == 33661600);
assert(unsigned(flip_mask(0x201a2a8, 52)) == 33661608);
assert(unsigned(flip_mask(0x201a2b8, 52)) == 33661624);
assert(unsigned(flip_mask(0x201a2c0, 52)) == 33661632);
assert(unsigned(flip_mask(0x201a2c8, 52)) == 33661640);
assert(unsigned(flip_mask(0x201a3c8, 52)) == 33661896);
assert(unsigned(flip_mask(0x201a3d0, 52)) == 33661904);
assert(unsigned(flip_mask(0x201a4f0, 52)) == 33662192);
assert(unsigned(flip_mask(0x201a780, 52)) == 33662848);
assert(unsigned(flip_mask(0x201a784, 52)) == 33662852);
assert(unsigned(flip_mask(0x201a788, 52)) == 33662856);
assert(unsigned(flip_mask(0x201a790, 52)) == 33662864);
assert(unsigned(flip_mask(0x201a798, 52)) == 33662872);
assert(unsigned(flip_mask(0x201a7a0, 52)) == 33662880);
assert(unsigned(flip_mask(0x201a7a4, 52)) == 33662884);
assert(unsigned(flip_mask(0x201a7ac, 52)) == 33662892);
assert(unsigned(flip_mask(0x201a7b0, 52)) == 33662896);
assert(unsigned(flip_mask(0x201a7b8, 52)) == 33662904);
assert(unsigned(flip_mask(0x201a7c0, 52)) == 33662912);
assert(unsigned(flip_mask(0x201a7c8, 52)) == 33662920);
assert(unsigned(flip_mask(0x201a7d8, 52)) == 33662936);
assert(unsigned(flip_mask(0x201a7e0, 52)) == 33662944);
assert(unsigned(flip_mask(0x201a8e0, 52)) == 33663200);
assert(unsigned(flip_mask(0x201a8e8, 52)) == 33663208);
assert(unsigned(flip_mask(0x201aa08, 52)) == 33663496);
assert(unsigned(flip_mask(0x201acb0, 52)) == 33664176);
assert(unsigned(flip_mask(0x201acb8, 52)) == 33664184);
assert(unsigned(flip_mask(0x201adb8, 52)) == 33664440);
assert(unsigned(flip_mask(0x201adc0, 52)) == 33664448);
assert(unsigned(flip_mask(0x201aee0, 52)) == 33664736);
assert(unsigned(flip_mask(0x201aee4, 52)) == 33664740);
assert(unsigned(flip_mask(0x201aee8, 52)) == 33664744);
assert(unsigned(flip_mask(0x201b150, 52)) == 33665360);
assert(unsigned(flip_mask(0x201b158, 52)) == 33665368);
assert(unsigned(flip_mask(0x201b160, 52)) == 33665376);
assert(unsigned(flip_mask(0x201b168, 52)) == 33665384);
assert(unsigned(flip_mask(0x201b170, 52)) == 33665392);
assert(unsigned(flip_mask(0x201b178, 52)) == 33665400);
assert(unsigned(flip_mask(0x201b180, 52)) == 33665408);
assert(unsigned(flip_mask(0x201b188, 52)) == 33665416);
assert(unsigned(flip_mask(0x201b190, 52)) == 33665424);
assert(unsigned(flip_mask(0x201b1a0, 52)) == 33665440);
assert(unsigned(flip_mask(0x201b1a8, 52)) == 33665448);
assert(unsigned(flip_mask(0x201b1b0, 52)) == 33665456);
assert(unsigned(flip_mask(0x201b1b8, 52)) == 33665464);
assert(unsigned(flip_mask(0x201b1c0, 52)) == 33665472);
assert(unsigned(flip_mask(0x201b1c8, 52)) == 33665480);
assert(unsigned(flip_mask(0x201b1d0, 52)) == 33665488);
assert(unsigned(flip_mask(0x201b1d8, 52)) == 33665496);
assert(unsigned(flip_mask(0x201b1e0, 52)) == 33665504);
assert(unsigned(flip_mask(0x201b1e8, 52)) == 33665512);
assert(unsigned(flip_mask(0x201b1f0, 52)) == 33665520);
assert(unsigned(flip_mask(0x201b1f8, 52)) == 33665528);
assert(unsigned(flip_mask(0x201b240, 52)) == 33665600);
assert(unsigned(flip_mask(0x201b248, 52)) == 33665608);
assert(unsigned(flip_mask(0x201b250, 52)) == 33665616);
assert(unsigned(flip_mask(0x201b254, 52)) == 33665620);
assert(unsigned(flip_mask(0x201b258, 52)) == 33665624);
assert(unsigned(flip_mask(0x201b25c, 52)) == 33665628);
assert(unsigned(flip_mask(0x201b260, 52)) == 33665632);
assert(unsigned(flip_mask(0x201b264, 52)) == 33665636);
assert(unsigned(flip_mask(0x201b268, 52)) == 33665640);
assert(unsigned(flip_mask(0x201b26c, 52)) == 33665644);
assert(unsigned(flip_mask(0x201b270, 52)) == 33665648);
assert(unsigned(flip_mask(0x201b274, 52)) == 33665652);
assert(unsigned(flip_mask(0x201b278, 52)) == 33665656);
assert(unsigned(flip_mask(0x201b27c, 52)) == 33665660);
assert(unsigned(flip_mask(0x201b280, 52)) == 33665664);
assert(unsigned(flip_mask(0x201b284, 52)) == 33665668);
assert(unsigned(flip_mask(0x201b288, 52)) == 33665672);
assert(unsigned(flip_mask(0x201b28c, 52)) == 33665676);
assert(unsigned(flip_mask(0x201b290, 52)) == 33665680);
assert(unsigned(flip_mask(0x201b298, 52)) == 33665688);
assert(unsigned(flip_mask(0x201b2a0, 52)) == 33665696);
assert(unsigned(flip_mask(0x201b2a8, 52)) == 33665704);
assert(unsigned(flip_mask(0x201b2b0, 52)) == 33665712);
assert(unsigned(flip_mask(0x201b2b8, 52)) == 33665720);
assert(unsigned(flip_mask(0x201b2c0, 52)) == 33665728);
assert(unsigned(flip_mask(0x201b2c8, 52)) == 33665736);
assert(unsigned(flip_mask(0x201b2d0, 52)) == 33665744);
assert(unsigned(flip_mask(0x201b2d8, 52)) == 33665752);
assert(unsigned(flip_mask(0x201b2e0, 52)) == 33665760);
assert(unsigned(flip_mask(0x201b2e8, 52)) == 33665768);
assert(unsigned(flip_mask(0x201b2f0, 52)) == 33665776);
assert(unsigned(flip_mask(0x201b2f8, 52)) == 33665784);
assert(unsigned(flip_mask(0x20800, 52)) == 133120);
assert(unsigned(flip_mask(0x210ec4, 52)) == 2166468);
assert(unsigned(flip_mask(0x210ec8, 52)) == 2166472);
assert(unsigned(flip_mask(0x210ecc, 52)) == 2166476);
assert(unsigned(flip_mask(0x210ed0, 52)) == 2166480);
assert(unsigned(flip_mask(0x210ed4, 52)) == 2166484);
assert(unsigned(flip_mask(0x210ed8, 52)) == 2166488);
assert(unsigned(flip_mask(0x210edc, 52)) == 2166492);
assert(unsigned(flip_mask(0x210ee0, 52)) == 2166496);
assert(unsigned(flip_mask(0x210ee4, 52)) == 2166500);
assert(unsigned(flip_mask(0x210ee8, 52)) == 2166504);
assert(unsigned(flip_mask(0x210eec, 52)) == 2166508);
assert(unsigned(flip_mask(0x210ef0, 52)) == 2166512);
assert(unsigned(flip_mask(0x210ef4, 52)) == 2166516);
assert(unsigned(flip_mask(0x210ef8, 52)) == 2166520);
assert(unsigned(flip_mask(0x210efc, 52)) == 2166524);
assert(unsigned(flip_mask(0x210f00, 52)) == 2166528);
assert(unsigned(flip_mask(0x210f04, 52)) == 2166532);
assert(unsigned(flip_mask(0x210f08, 52)) == 2166536);
assert(unsigned(flip_mask(0x210f0c, 52)) == 2166540);
assert(unsigned(flip_mask(0x210f10, 52)) == 2166544);
assert(unsigned(flip_mask(0x210f14, 52)) == 2166548);
assert(unsigned(flip_mask(0x210f18, 52)) == 2166552);
assert(unsigned(flip_mask(0x210f1c, 52)) == 2166556);
assert(unsigned(flip_mask(0x210f20, 52)) == 2166560);
assert(unsigned(flip_mask(0x210f24, 52)) == 2166564);
assert(unsigned(flip_mask(0x210f28, 52)) == 2166568);
assert(unsigned(flip_mask(0x210f2c, 52)) == 2166572);
assert(unsigned(flip_mask(0x210f30, 52)) == 2166576);
assert(unsigned(flip_mask(0x210f34, 52)) == 2166580);
assert(unsigned(flip_mask(0x210f38, 52)) == 2166584);
assert(unsigned(flip_mask(0x210f3c, 52)) == 2166588);
assert(unsigned(flip_mask(0x210f40, 52)) == 2166592);
assert(unsigned(flip_mask(0x210f44, 52)) == 2166596);
assert(unsigned(flip_mask(0x210f48, 52)) == 2166600);
assert(unsigned(flip_mask(0x210f4c, 52)) == 2166604);
assert(unsigned(flip_mask(0x210f50, 52)) == 2166608);
assert(unsigned(flip_mask(0x210f54, 52)) == 2166612);
assert(unsigned(flip_mask(0x210f58, 52)) == 2166616);
assert(unsigned(flip_mask(0x210f5c, 52)) == 2166620);
assert(unsigned(flip_mask(0x210f60, 52)) == 2166624);
assert(unsigned(flip_mask(0x210f64, 52)) == 2166628);
assert(unsigned(flip_mask(0x210f68, 52)) == 2166632);
assert(unsigned(flip_mask(0x210f6c, 52)) == 2166636);
assert(unsigned(flip_mask(0x211150, 52)) == 2167120);
assert(unsigned(flip_mask(0x212570, 52)) == 2172272);
assert(unsigned(flip_mask(0x212574, 52)) == 2172276);
assert(unsigned(flip_mask(0x212578, 52)) == 2172280);
assert(unsigned(flip_mask(0x21257c, 52)) == 2172284);
assert(unsigned(flip_mask(0x212580, 52)) == 2172288);
assert(unsigned(flip_mask(0x212584, 52)) == 2172292);
assert(unsigned(flip_mask(0x212588, 52)) == 2172296);
assert(unsigned(flip_mask(0x21258c, 52)) == 2172300);
assert(unsigned(flip_mask(0x212590, 52)) == 2172304);
assert(unsigned(flip_mask(0x212594, 52)) == 2172308);
assert(unsigned(flip_mask(0x212598, 52)) == 2172312);
assert(unsigned(flip_mask(0x21259c, 52)) == 2172316);
assert(unsigned(flip_mask(0x2125a0, 52)) == 2172320);
assert(unsigned(flip_mask(0x2125a4, 52)) == 2172324);
assert(unsigned(flip_mask(0x2125a8, 52)) == 2172328);
assert(unsigned(flip_mask(0x2125ac, 52)) == 2172332);
assert(unsigned(flip_mask(0x2125b0, 52)) == 2172336);
assert(unsigned(flip_mask(0x2125b4, 52)) == 2172340);
assert(unsigned(flip_mask(0x2125b8, 52)) == 2172344);
assert(unsigned(flip_mask(0x2125bc, 52)) == 2172348);
assert(unsigned(flip_mask(0x2125c0, 52)) == 2172352);
assert(unsigned(flip_mask(0x2125c4, 52)) == 2172356);
assert(unsigned(flip_mask(0x2125c8, 52)) == 2172360);
assert(unsigned(flip_mask(0x2125cc, 52)) == 2172364);
assert(unsigned(flip_mask(0x2125d0, 52)) == 2172368);
assert(unsigned(flip_mask(0x2125d4, 52)) == 2172372);
assert(unsigned(flip_mask(0x2125d8, 52)) == 2172376);
assert(unsigned(flip_mask(0x2125dc, 52)) == 2172380);
assert(unsigned(flip_mask(0x2125e0, 52)) == 2172384);
assert(unsigned(flip_mask(0x2125e4, 52)) == 2172388);
assert(unsigned(flip_mask(0x2125e8, 52)) == 2172392);
assert(unsigned(flip_mask(0x2125ec, 52)) == 2172396);
assert(unsigned(flip_mask(0x2125f0, 52)) == 2172400);
assert(unsigned(flip_mask(0x2125f4, 52)) == 2172404);
assert(unsigned(flip_mask(0x2125f8, 52)) == 2172408);
assert(unsigned(flip_mask(0x2125fc, 52)) == 2172412);
assert(unsigned(flip_mask(0x212600, 52)) == 2172416);
assert(unsigned(flip_mask(0x212604, 52)) == 2172420);
assert(unsigned(flip_mask(0x212608, 52)) == 2172424);
assert(unsigned(flip_mask(0x21260c, 52)) == 2172428);
assert(unsigned(flip_mask(0x212610, 52)) == 2172432);
assert(unsigned(flip_mask(0x212620, 52)) == 2172448);
assert(unsigned(flip_mask(0x212860, 52)) == 2173024);
assert(unsigned(flip_mask(0x214400, 52)) == 2180096);
assert(unsigned(flip_mask(0x214ab4, 52)) == 2181812);
assert(unsigned(flip_mask(0x214ab8, 52)) == 2181816);
assert(unsigned(flip_mask(0x214abc, 52)) == 2181820);
assert(unsigned(flip_mask(0x214ac0, 52)) == 2181824);
assert(unsigned(flip_mask(0x214ac4, 52)) == 2181828);
assert(unsigned(flip_mask(0x214ac8, 52)) == 2181832);
assert(unsigned(flip_mask(0x214ad4, 52)) == 2181844);
assert(unsigned(flip_mask(0x214ad8, 52)) == 2181848);
assert(unsigned(flip_mask(0x214adc, 52)) == 2181852);
assert(unsigned(flip_mask(0x214ae0, 52)) == 2181856);
assert(unsigned(flip_mask(0x214ae4, 52)) == 2181860);
assert(unsigned(flip_mask(0x214ae8, 52)) == 2181864);
assert(unsigned(flip_mask(0x214aec, 52)) == 2181868);
assert(unsigned(flip_mask(0x214af0, 52)) == 2181872);
assert(unsigned(flip_mask(0x214af4, 52)) == 2181876);
assert(unsigned(flip_mask(0x214af8, 52)) == 2181880);
assert(unsigned(flip_mask(0x214afc, 52)) == 2181884);
assert(unsigned(flip_mask(0x214b00, 52)) == 2181888);
assert(unsigned(flip_mask(0x214b04, 52)) == 2181892);
assert(unsigned(flip_mask(0x214b88, 52)) == 2182024);
assert(unsigned(flip_mask(0x214b8c, 52)) == 2182028);
assert(unsigned(flip_mask(0x214b90, 52)) == 2182032);
assert(unsigned(flip_mask(0x214b94, 52)) == 2182036);
assert(unsigned(flip_mask(0x214b98, 52)) == 2182040);
assert(unsigned(flip_mask(0x214b9c, 52)) == 2182044);
assert(unsigned(flip_mask(0x214ba0, 52)) == 2182048);
assert(unsigned(flip_mask(0x214ba4, 52)) == 2182052);
assert(unsigned(flip_mask(0x214ba8, 52)) == 2182056);
assert(unsigned(flip_mask(0x214bac, 52)) == 2182060);
assert(unsigned(flip_mask(0x214bb0, 52)) == 2182064);
assert(unsigned(flip_mask(0x214bb4, 52)) == 2182068);
assert(unsigned(flip_mask(0x214bb8, 52)) == 2182072);
assert(unsigned(flip_mask(0x214bbc, 52)) == 2182076);
assert(unsigned(flip_mask(0x214d64, 52)) == 2182500);
assert(unsigned(flip_mask(0x214d68, 52)) == 2182504);
assert(unsigned(flip_mask(0x214d6c, 52)) == 2182508);
assert(unsigned(flip_mask(0x214d70, 52)) == 2182512);
assert(unsigned(flip_mask(0x214d74, 52)) == 2182516);
assert(unsigned(flip_mask(0x214d78, 52)) == 2182520);
assert(unsigned(flip_mask(0x214d7c, 52)) == 2182524);
assert(unsigned(flip_mask(0x214d80, 52)) == 2182528);
assert(unsigned(flip_mask(0x214d84, 52)) == 2182532);
assert(unsigned(flip_mask(0x214d88, 52)) == 2182536);
assert(unsigned(flip_mask(0x214d8c, 52)) == 2182540);
assert(unsigned(flip_mask(0x214d90, 52)) == 2182544);
assert(unsigned(flip_mask(0x214d94, 52)) == 2182548);
assert(unsigned(flip_mask(0x214d98, 52)) == 2182552);
assert(unsigned(flip_mask(0x214d9c, 52)) == 2182556);
assert(unsigned(flip_mask(0x214da0, 52)) == 2182560);
assert(unsigned(flip_mask(0x214da4, 52)) == 2182564);
assert(unsigned(flip_mask(0x214da8, 52)) == 2182568);
assert(unsigned(flip_mask(0x214dac, 52)) == 2182572);
assert(unsigned(flip_mask(0x214db0, 52)) == 2182576);
assert(unsigned(flip_mask(0x214db4, 52)) == 2182580);
assert(unsigned(flip_mask(0x214db8, 52)) == 2182584);
assert(unsigned(flip_mask(0x214dbc, 52)) == 2182588);
assert(unsigned(flip_mask(0x214dc0, 52)) == 2182592);
assert(unsigned(flip_mask(0x214dc4, 52)) == 2182596);
assert(unsigned(flip_mask(0x214dc8, 52)) == 2182600);
assert(unsigned(flip_mask(0x214dcc, 52)) == 2182604);
assert(unsigned(flip_mask(0x214dd0, 52)) == 2182608);
assert(unsigned(flip_mask(0x214dd4, 52)) == 2182612);
assert(unsigned(flip_mask(0x214dd8, 52)) == 2182616);
assert(unsigned(flip_mask(0x214ddc, 52)) == 2182620);
assert(unsigned(flip_mask(0x214de0, 52)) == 2182624);
assert(unsigned(flip_mask(0x214de4, 52)) == 2182628);
assert(unsigned(flip_mask(0x214de8, 52)) == 2182632);
assert(unsigned(flip_mask(0x214dec, 52)) == 2182636);
assert(unsigned(flip_mask(0x214df0, 52)) == 2182640);
assert(unsigned(flip_mask(0x214df4, 52)) == 2182644);
assert(unsigned(flip_mask(0x214df8, 52)) == 2182648);
assert(unsigned(flip_mask(0x214dfc, 52)) == 2182652);
assert(unsigned(flip_mask(0x214e00, 52)) == 2182656);
assert(unsigned(flip_mask(0x214e04, 52)) == 2182660);
assert(unsigned(flip_mask(0x214e08, 52)) == 2182664);
assert(unsigned(flip_mask(0x216240, 52)) == 2187840);
assert(unsigned(flip_mask(0x216244, 52)) == 2187844);
assert(unsigned(flip_mask(0x216310, 52)) == 2188048);
assert(unsigned(flip_mask(0x216314, 52)) == 2188052);
assert(unsigned(flip_mask(0x216318, 52)) == 2188056);
assert(unsigned(flip_mask(0x21631c, 52)) == 2188060);
assert(unsigned(flip_mask(0x216320, 52)) == 2188064);
assert(unsigned(flip_mask(0x216324, 52)) == 2188068);
assert(unsigned(flip_mask(0x216328, 52)) == 2188072);
assert(unsigned(flip_mask(0x21632c, 52)) == 2188076);
assert(unsigned(flip_mask(0x216330, 52)) == 2188080);
assert(unsigned(flip_mask(0x216334, 52)) == 2188084);
assert(unsigned(flip_mask(0x216368, 52)) == 2188136);
assert(unsigned(flip_mask(0x21636c, 52)) == 2188140);
assert(unsigned(flip_mask(0x216384, 52)) == 2188164);
assert(unsigned(flip_mask(0x216388, 52)) == 2188168);
assert(unsigned(flip_mask(0x2163c0, 52)) == 2188224);
assert(unsigned(flip_mask(0x2163c4, 52)) == 2188228);
assert(unsigned(flip_mask(0x2163d0, 52)) == 2188240);
assert(unsigned(flip_mask(0x2163d4, 52)) == 2188244);
assert(unsigned(flip_mask(0x2163e0, 52)) == 2188256);
assert(unsigned(flip_mask(0x2163e4, 52)) == 2188260);
assert(unsigned(flip_mask(0x2163f0, 52)) == 2188272);
assert(unsigned(flip_mask(0x2163f4, 52)) == 2188276);
assert(unsigned(flip_mask(0x2163f8, 52)) == 2188280);
assert(unsigned(flip_mask(0x2163fc, 52)) == 2188284);
assert(unsigned(flip_mask(0x216400, 52)) == 2188288);
assert(unsigned(flip_mask(0x216404, 52)) == 2188292);
assert(unsigned(flip_mask(0x216408, 52)) == 2188296);
assert(unsigned(flip_mask(0x21640c, 52)) == 2188300);
assert(unsigned(flip_mask(0x216420, 52)) == 2188320);
assert(unsigned(flip_mask(0x216424, 52)) == 2188324);
assert(unsigned(flip_mask(0x216428, 52)) == 2188328);
assert(unsigned(flip_mask(0x21642c, 52)) == 2188332);
assert(unsigned(flip_mask(0x21644c, 52)) == 2188364);
assert(unsigned(flip_mask(0x216450, 52)) == 2188368);
assert(unsigned(flip_mask(0x21645c, 52)) == 2188380);
assert(unsigned(flip_mask(0x216460, 52)) == 2188384);
assert(unsigned(flip_mask(0x216464, 52)) == 2188388);
assert(unsigned(flip_mask(0x216474, 52)) == 2188404);
assert(unsigned(flip_mask(0x216478, 52)) == 2188408);
assert(unsigned(flip_mask(0x21647c, 52)) == 2188412);
assert(unsigned(flip_mask(0x216480, 52)) == 2188416);
assert(unsigned(flip_mask(0x216484, 52)) == 2188420);
assert(unsigned(flip_mask(0x216488, 52)) == 2188424);
assert(unsigned(flip_mask(0x21648c, 52)) == 2188428);
assert(unsigned(flip_mask(0x216490, 52)) == 2188432);
assert(unsigned(flip_mask(0x216494, 52)) == 2188436);
assert(unsigned(flip_mask(0x216498, 52)) == 2188440);
assert(unsigned(flip_mask(0x21649c, 52)) == 2188444);
assert(unsigned(flip_mask(0x2164a0, 52)) == 2188448);
assert(unsigned(flip_mask(0x2164a4, 52)) == 2188452);
assert(unsigned(flip_mask(0x2164a8, 52)) == 2188456);
assert(unsigned(flip_mask(0x2164ac, 52)) == 2188460);
assert(unsigned(flip_mask(0x2164b0, 52)) == 2188464);
assert(unsigned(flip_mask(0x2164b4, 52)) == 2188468);
assert(unsigned(flip_mask(0x2164b8, 52)) == 2188472);
assert(unsigned(flip_mask(0x2164d4, 52)) == 2188500);
assert(unsigned(flip_mask(0x2164d8, 52)) == 2188504);
assert(unsigned(flip_mask(0x2164dc, 52)) == 2188508);
assert(unsigned(flip_mask(0x2164e0, 52)) == 2188512);
assert(unsigned(flip_mask(0x216510, 52)) == 2188560);
assert(unsigned(flip_mask(0x216514, 52)) == 2188564);
assert(unsigned(flip_mask(0x216518, 52)) == 2188568);
assert(unsigned(flip_mask(0x21651c, 52)) == 2188572);
assert(unsigned(flip_mask(0x216528, 52)) == 2188584);
assert(unsigned(flip_mask(0x21652c, 52)) == 2188588);
assert(unsigned(flip_mask(0x216590, 52)) == 2188688);
assert(unsigned(flip_mask(0x216594, 52)) == 2188692);
assert(unsigned(flip_mask(0x216598, 52)) == 2188696);
assert(unsigned(flip_mask(0x2165b4, 52)) == 2188724);
assert(unsigned(flip_mask(0x2165b8, 52)) == 2188728);
assert(unsigned(flip_mask(0x2165bc, 52)) == 2188732);
assert(unsigned(flip_mask(0x2165c8, 52)) == 2188744);
assert(unsigned(flip_mask(0x2165cc, 52)) == 2188748);
assert(unsigned(flip_mask(0x2165d0, 52)) == 2188752);
assert(unsigned(flip_mask(0x2165e0, 52)) == 2188768);
assert(unsigned(flip_mask(0x2165e4, 52)) == 2188772);
assert(unsigned(flip_mask(0x2165e8, 52)) == 2188776);
assert(unsigned(flip_mask(0x2165ec, 52)) == 2188780);
assert(unsigned(flip_mask(0x2165f0, 52)) == 2188784);
assert(unsigned(flip_mask(0x2165f4, 52)) == 2188788);
assert(unsigned(flip_mask(0x2165f8, 52)) == 2188792);
assert(unsigned(flip_mask(0x2165fc, 52)) == 2188796);
assert(unsigned(flip_mask(0x216600, 52)) == 2188800);
assert(unsigned(flip_mask(0x21660c, 52)) == 2188812);
assert(unsigned(flip_mask(0x216610, 52)) == 2188816);
assert(unsigned(flip_mask(0x216614, 52)) == 2188820);
assert(unsigned(flip_mask(0x21663c, 52)) == 2188860);
assert(unsigned(flip_mask(0x216640, 52)) == 2188864);
assert(unsigned(flip_mask(0x216644, 52)) == 2188868);
assert(unsigned(flip_mask(0x216648, 52)) == 2188872);
assert(unsigned(flip_mask(0x21664c, 52)) == 2188876);
assert(unsigned(flip_mask(0x216650, 52)) == 2188880);
assert(unsigned(flip_mask(0x216654, 52)) == 2188884);
assert(unsigned(flip_mask(0x216658, 52)) == 2188888);
assert(unsigned(flip_mask(0x21665c, 52)) == 2188892);
assert(unsigned(flip_mask(0x216668, 52)) == 2188904);
assert(unsigned(flip_mask(0x21666c, 52)) == 2188908);
assert(unsigned(flip_mask(0x216678, 52)) == 2188920);
assert(unsigned(flip_mask(0x21667c, 52)) == 2188924);
assert(unsigned(flip_mask(0x216680, 52)) == 2188928);
assert(unsigned(flip_mask(0x216684, 52)) == 2188932);
assert(unsigned(flip_mask(0x2166a0, 52)) == 2188960);
assert(unsigned(flip_mask(0x2166a4, 52)) == 2188964);
assert(unsigned(flip_mask(0x2166a8, 52)) == 2188968);
assert(unsigned(flip_mask(0x2166ac, 52)) == 2188972);
assert(unsigned(flip_mask(0x2166b0, 52)) == 2188976);
assert(unsigned(flip_mask(0x2166b4, 52)) == 2188980);
assert(unsigned(flip_mask(0x21a590, 52)) == 2205072);
assert(unsigned(flip_mask(0x21a594, 52)) == 2205076);
assert(unsigned(flip_mask(0x21a598, 52)) == 2205080);
assert(unsigned(flip_mask(0x21a59c, 52)) == 2205084);
assert(unsigned(flip_mask(0x21a5a0, 52)) == 2205088);
assert(unsigned(flip_mask(0x21a5a4, 52)) == 2205092);
assert(unsigned(flip_mask(0x21a5a8, 52)) == 2205096);
assert(unsigned(flip_mask(0x21a5ac, 52)) == 2205100);
assert(unsigned(flip_mask(0x21a5b0, 52)) == 2205104);
assert(unsigned(flip_mask(0x21a5b4, 52)) == 2205108);
assert(unsigned(flip_mask(0x21a5b8, 52)) == 2205112);
assert(unsigned(flip_mask(0x21a5bc, 52)) == 2205116);
assert(unsigned(flip_mask(0x21a5d4, 52)) == 2205140);
assert(unsigned(flip_mask(0x21a5d8, 52)) == 2205144);
assert(unsigned(flip_mask(0x21a5f4, 52)) == 2205172);
assert(unsigned(flip_mask(0x21a5f8, 52)) == 2205176);
assert(unsigned(flip_mask(0x21a5fc, 52)) == 2205180);
assert(unsigned(flip_mask(0x21a600, 52)) == 2205184);
assert(unsigned(flip_mask(0x21a75c, 52)) == 2205532);
assert(unsigned(flip_mask(0x21a760, 52)) == 2205536);
assert(unsigned(flip_mask(0x21a764, 52)) == 2205540);
assert(unsigned(flip_mask(0x21a768, 52)) == 2205544);
assert(unsigned(flip_mask(0x21a76c, 52)) == 2205548);
assert(unsigned(flip_mask(0x21a770, 52)) == 2205552);
assert(unsigned(flip_mask(0x21a774, 52)) == 2205556);
assert(unsigned(flip_mask(0x21a778, 52)) == 2205560);
assert(unsigned(flip_mask(0x21a77c, 52)) == 2205564);
assert(unsigned(flip_mask(0x21a780, 52)) == 2205568);
assert(unsigned(flip_mask(0x21a784, 52)) == 2205572);
assert(unsigned(flip_mask(0x21a788, 52)) == 2205576);
assert(unsigned(flip_mask(0x21a78c, 52)) == 2205580);
assert(unsigned(flip_mask(0x21a790, 52)) == 2205584);
assert(unsigned(flip_mask(0x21a794, 52)) == 2205588);
assert(unsigned(flip_mask(0x21a798, 52)) == 2205592);
assert(unsigned(flip_mask(0x21a79c, 52)) == 2205596);
assert(unsigned(flip_mask(0x21a840, 52)) == 2205760);
assert(unsigned(flip_mask(0x21a844, 52)) == 2205764);
assert(unsigned(flip_mask(0x21a848, 52)) == 2205768);
assert(unsigned(flip_mask(0x21a84c, 52)) == 2205772);
assert(unsigned(flip_mask(0x21a850, 52)) == 2205776);
assert(unsigned(flip_mask(0x21a858, 52)) == 2205784);
assert(unsigned(flip_mask(0x21a85c, 52)) == 2205788);
assert(unsigned(flip_mask(0x21a860, 52)) == 2205792);
assert(unsigned(flip_mask(0x21a864, 52)) == 2205796);
assert(unsigned(flip_mask(0x21a870, 52)) == 2205808);
assert(unsigned(flip_mask(0x21a878, 52)) == 2205816);
assert(unsigned(flip_mask(0x21a87c, 52)) == 2205820);
assert(unsigned(flip_mask(0x21a880, 52)) == 2205824);
assert(unsigned(flip_mask(0x21a884, 52)) == 2205828);
assert(unsigned(flip_mask(0x21a888, 52)) == 2205832);
assert(unsigned(flip_mask(0x21a88c, 52)) == 2205836);
assert(unsigned(flip_mask(0x21a890, 52)) == 2205840);
assert(unsigned(flip_mask(0x21a894, 52)) == 2205844);
assert(unsigned(flip_mask(0x21a898, 52)) == 2205848);
assert(unsigned(flip_mask(0x21a89c, 52)) == 2205852);
assert(unsigned(flip_mask(0x21a8a0, 52)) == 2205856);
assert(unsigned(flip_mask(0x21a8a4, 52)) == 2205860);
assert(unsigned(flip_mask(0x21a8a8, 52)) == 2205864);
assert(unsigned(flip_mask(0x21a8ac, 52)) == 2205868);
assert(unsigned(flip_mask(0x21a8b0, 52)) == 2205872);
assert(unsigned(flip_mask(0x21a8b4, 52)) == 2205876);
assert(unsigned(flip_mask(0x21a8b8, 52)) == 2205880);
assert(unsigned(flip_mask(0x21a8bc, 52)) == 2205884);
assert(unsigned(flip_mask(0x21a8c0, 52)) == 2205888);
assert(unsigned(flip_mask(0x21a8c4, 52)) == 2205892);
assert(unsigned(flip_mask(0x21a8c8, 52)) == 2205896);
assert(unsigned(flip_mask(0x21a8cc, 52)) == 2205900);
assert(unsigned(flip_mask(0x21a8d0, 52)) == 2205904);
assert(unsigned(flip_mask(0x21a8d4, 52)) == 2205908);
assert(unsigned(flip_mask(0x21a8d8, 52)) == 2205912);
assert(unsigned(flip_mask(0x21a8dc, 52)) == 2205916);
assert(unsigned(flip_mask(0x21a8e0, 52)) == 2205920);
assert(unsigned(flip_mask(0x21a8e4, 52)) == 2205924);
assert(unsigned(flip_mask(0x21a8e8, 52)) == 2205928);
assert(unsigned(flip_mask(0x21a8ec, 52)) == 2205932);
assert(unsigned(flip_mask(0x21a8f0, 52)) == 2205936);
assert(unsigned(flip_mask(0x21a8f4, 52)) == 2205940);
assert(unsigned(flip_mask(0x21a8f8, 52)) == 2205944);
assert(unsigned(flip_mask(0x21a8fc, 52)) == 2205948);
assert(unsigned(flip_mask(0x21a900, 52)) == 2205952);
assert(unsigned(flip_mask(0x21a904, 52)) == 2205956);
assert(unsigned(flip_mask(0x21a908, 52)) == 2205960);
assert(unsigned(flip_mask(0x21a90c, 52)) == 2205964);
assert(unsigned(flip_mask(0x21a910, 52)) == 2205968);
assert(unsigned(flip_mask(0x21a914, 52)) == 2205972);
assert(unsigned(flip_mask(0x21a918, 52)) == 2205976);
assert(unsigned(flip_mask(0x21a91c, 52)) == 2205980);
assert(unsigned(flip_mask(0x21a920, 52)) == 2205984);
assert(unsigned(flip_mask(0x21a924, 52)) == 2205988);
assert(unsigned(flip_mask(0x21a928, 52)) == 2205992);
assert(unsigned(flip_mask(0x21a92c, 52)) == 2205996);
assert(unsigned(flip_mask(0x21a930, 52)) == 2206000);
assert(unsigned(flip_mask(0x21a934, 52)) == 2206004);
assert(unsigned(flip_mask(0x21a938, 52)) == 2206008);
assert(unsigned(flip_mask(0x21a93c, 52)) == 2206012);
assert(unsigned(flip_mask(0x21a940, 52)) == 2206016);
assert(unsigned(flip_mask(0x21a944, 52)) == 2206020);
assert(unsigned(flip_mask(0x21a948, 52)) == 2206024);
assert(unsigned(flip_mask(0x21a94c, 52)) == 2206028);
assert(unsigned(flip_mask(0x21a950, 52)) == 2206032);
assert(unsigned(flip_mask(0x21a954, 52)) == 2206036);
assert(unsigned(flip_mask(0x21a958, 52)) == 2206040);
assert(unsigned(flip_mask(0x21a95c, 52)) == 2206044);
assert(unsigned(flip_mask(0x21a960, 52)) == 2206048);
assert(unsigned(flip_mask(0x21a964, 52)) == 2206052);
assert(unsigned(flip_mask(0x21a968, 52)) == 2206056);
assert(unsigned(flip_mask(0x21a96c, 52)) == 2206060);
assert(unsigned(flip_mask(0x21a970, 52)) == 2206064);
assert(unsigned(flip_mask(0x21a974, 52)) == 2206068);
assert(unsigned(flip_mask(0x21a978, 52)) == 2206072);
assert(unsigned(flip_mask(0x21a97c, 52)) == 2206076);
assert(unsigned(flip_mask(0x21a980, 52)) == 2206080);
assert(unsigned(flip_mask(0x21a984, 52)) == 2206084);
assert(unsigned(flip_mask(0x21a988, 52)) == 2206088);
assert(unsigned(flip_mask(0x21a98c, 52)) == 2206092);
assert(unsigned(flip_mask(0x21a990, 52)) == 2206096);
assert(unsigned(flip_mask(0x21a994, 52)) == 2206100);
assert(unsigned(flip_mask(0x21a998, 52)) == 2206104);
assert(unsigned(flip_mask(0x21a99c, 52)) == 2206108);
assert(unsigned(flip_mask(0x21a9a0, 52)) == 2206112);
assert(unsigned(flip_mask(0x21a9a4, 52)) == 2206116);
assert(unsigned(flip_mask(0x21a9a8, 52)) == 2206120);
assert(unsigned(flip_mask(0x21a9ac, 52)) == 2206124);
assert(unsigned(flip_mask(0x21a9b0, 52)) == 2206128);
assert(unsigned(flip_mask(0x21a9b4, 52)) == 2206132);
assert(unsigned(flip_mask(0x21a9b8, 52)) == 2206136);
assert(unsigned(flip_mask(0x21a9bc, 52)) == 2206140);
assert(unsigned(flip_mask(0x21a9c0, 52)) == 2206144);
assert(unsigned(flip_mask(0x21a9c4, 52)) == 2206148);
assert(unsigned(flip_mask(0x21a9c8, 52)) == 2206152);
assert(unsigned(flip_mask(0x21a9cc, 52)) == 2206156);
assert(unsigned(flip_mask(0x21a9d0, 52)) == 2206160);
assert(unsigned(flip_mask(0x21a9d4, 52)) == 2206164);
assert(unsigned(flip_mask(0x21a9d8, 52)) == 2206168);
assert(unsigned(flip_mask(0x21a9dc, 52)) == 2206172);
assert(unsigned(flip_mask(0x21a9e0, 52)) == 2206176);
assert(unsigned(flip_mask(0x21a9e4, 52)) == 2206180);
assert(unsigned(flip_mask(0x21a9e8, 52)) == 2206184);
assert(unsigned(flip_mask(0x21a9f4, 52)) == 2206196);
assert(unsigned(flip_mask(0x21a9f8, 52)) == 2206200);
assert(unsigned(flip_mask(0x21a9fc, 52)) == 2206204);
assert(unsigned(flip_mask(0x21aa00, 52)) == 2206208);
assert(unsigned(flip_mask(0x21aa04, 52)) == 2206212);
assert(unsigned(flip_mask(0x21aa08, 52)) == 2206216);
assert(unsigned(flip_mask(0x21aa0c, 52)) == 2206220);
assert(unsigned(flip_mask(0x21aa10, 52)) == 2206224);
assert(unsigned(flip_mask(0x21aa14, 52)) == 2206228);
assert(unsigned(flip_mask(0x21aa18, 52)) == 2206232);
assert(unsigned(flip_mask(0x21aa1c, 52)) == 2206236);
assert(unsigned(flip_mask(0x21aa20, 52)) == 2206240);
assert(unsigned(flip_mask(0x21aa24, 52)) == 2206244);
assert(unsigned(flip_mask(0x21aa28, 52)) == 2206248);
assert(unsigned(flip_mask(0x21aa2c, 52)) == 2206252);
assert(unsigned(flip_mask(0x21aa30, 52)) == 2206256);
assert(unsigned(flip_mask(0x21aa34, 52)) == 2206260);
assert(unsigned(flip_mask(0x21aa38, 52)) == 2206264);
assert(unsigned(flip_mask(0x21aa3c, 52)) == 2206268);
assert(unsigned(flip_mask(0x21aa40, 52)) == 2206272);
assert(unsigned(flip_mask(0x21aa50, 52)) == 2206288);
assert(unsigned(flip_mask(0x21aa58, 52)) == 2206296);
assert(unsigned(flip_mask(0x21aa60, 52)) == 2206304);
assert(unsigned(flip_mask(0x21aa68, 52)) == 2206312);
assert(unsigned(flip_mask(0x21aa6c, 52)) == 2206316);
assert(unsigned(flip_mask(0x21aa70, 52)) == 2206320);
assert(unsigned(flip_mask(0x21aa74, 52)) == 2206324);
assert(unsigned(flip_mask(0x21aa78, 52)) == 2206328);
assert(unsigned(flip_mask(0x21aa7c, 52)) == 2206332);
assert(unsigned(flip_mask(0x21aa80, 52)) == 2206336);
assert(unsigned(flip_mask(0x21aa84, 52)) == 2206340);
assert(unsigned(flip_mask(0x21aa88, 52)) == 2206344);
assert(unsigned(flip_mask(0x21aaa8, 52)) == 2206376);
assert(unsigned(flip_mask(0x21aab0, 52)) == 2206384);
assert(unsigned(flip_mask(0x21aab8, 52)) == 2206392);
assert(unsigned(flip_mask(0x21aac0, 52)) == 2206400);
assert(unsigned(flip_mask(0x21ac70, 52)) == 2206832);
assert(unsigned(flip_mask(0x21ac74, 52)) == 2206836);
assert(unsigned(flip_mask(0x21ac78, 52)) == 2206840);
assert(unsigned(flip_mask(0x21ac7c, 52)) == 2206844);
assert(unsigned(flip_mask(0x21ac80, 52)) == 2206848);
assert(unsigned(flip_mask(0x21ac84, 52)) == 2206852);
assert(unsigned(flip_mask(0x21ac88, 52)) == 2206856);
assert(unsigned(flip_mask(0x21ac8c, 52)) == 2206860);
assert(unsigned(flip_mask(0x21ac90, 52)) == 2206864);
assert(unsigned(flip_mask(0x21ac94, 52)) == 2206868);
assert(unsigned(flip_mask(0x21ac98, 52)) == 2206872);
assert(unsigned(flip_mask(0x21ac9c, 52)) == 2206876);
assert(unsigned(flip_mask(0x21aca0, 52)) == 2206880);
assert(unsigned(flip_mask(0x21aca4, 52)) == 2206884);
assert(unsigned(flip_mask(0x21aca8, 52)) == 2206888);
assert(unsigned(flip_mask(0x21acac, 52)) == 2206892);
assert(unsigned(flip_mask(0x21acb0, 52)) == 2206896);
assert(unsigned(flip_mask(0x21acb4, 52)) == 2206900);
assert(unsigned(flip_mask(0x21acb8, 52)) == 2206904);
assert(unsigned(flip_mask(0x21acbc, 52)) == 2206908);
assert(unsigned(flip_mask(0x21acc0, 52)) == 2206912);
assert(unsigned(flip_mask(0x21acc4, 52)) == 2206916);
assert(unsigned(flip_mask(0x21acc8, 52)) == 2206920);
assert(unsigned(flip_mask(0x21accc, 52)) == 2206924);
assert(unsigned(flip_mask(0x21acd0, 52)) == 2206928);
assert(unsigned(flip_mask(0x21acd4, 52)) == 2206932);
assert(unsigned(flip_mask(0x21acd8, 52)) == 2206936);
assert(unsigned(flip_mask(0x21acdc, 52)) == 2206940);
assert(unsigned(flip_mask(0x21ace0, 52)) == 2206944);
assert(unsigned(flip_mask(0x21ace4, 52)) == 2206948);
assert(unsigned(flip_mask(0x21ace8, 52)) == 2206952);
assert(unsigned(flip_mask(0x21acec, 52)) == 2206956);
assert(unsigned(flip_mask(0x21acf0, 52)) == 2206960);
assert(unsigned(flip_mask(0x21acf4, 52)) == 2206964);
assert(unsigned(flip_mask(0x21acf8, 52)) == 2206968);
assert(unsigned(flip_mask(0x21acfc, 52)) == 2206972);
assert(unsigned(flip_mask(0x21ad00, 52)) == 2206976);
assert(unsigned(flip_mask(0x21ad04, 52)) == 2206980);
assert(unsigned(flip_mask(0x21ad08, 52)) == 2206984);
assert(unsigned(flip_mask(0x21ad0c, 52)) == 2206988);
assert(unsigned(flip_mask(0x21ad10, 52)) == 2206992);
assert(unsigned(flip_mask(0x21ad14, 52)) == 2206996);
}
|