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 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659
|
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(0x2c4604c, 52)) == 46424140);
assert(unsigned(flip_mask(0x2c4604d, 52)) == 46424141);
assert(unsigned(flip_mask(0x2c4604e, 52)) == 46424142);
assert(unsigned(flip_mask(0x2c4604f, 52)) == 46424143);
assert(unsigned(flip_mask(0x2c46050, 52)) == 46424144);
assert(unsigned(flip_mask(0x2c46054, 52)) == 46424148);
assert(unsigned(flip_mask(0x2c46058, 52)) == 46424152);
assert(unsigned(flip_mask(0x2c4605c, 52)) == 46424156);
assert(unsigned(flip_mask(0x2c46065, 52)) == 46424165);
assert(unsigned(flip_mask(0x2c46066, 52)) == 46424166);
assert(unsigned(flip_mask(0x2c46067, 52)) == 46424167);
assert(unsigned(flip_mask(0x2c4606a, 52)) == 46424170);
assert(unsigned(flip_mask(0x2c4606b, 52)) == 46424171);
assert(unsigned(flip_mask(0x2c4606c, 52)) == 46424172);
assert(unsigned(flip_mask(0x2e30000, 52)) == 48431104);
assert(unsigned(flip_mask(0x2e30004, 52)) == 48431108);
assert(unsigned(flip_mask(0x2e30008, 52)) == 48431112);
assert(unsigned(flip_mask(0x2e30010, 52)) == 48431120);
assert(unsigned(flip_mask(0x2e30014, 52)) == 48431124);
assert(unsigned(flip_mask(0x2e30018, 52)) == 48431128);
assert(unsigned(flip_mask(0x2e30020, 52)) == 48431136);
assert(unsigned(flip_mask(0x2e30024, 52)) == 48431140);
assert(unsigned(flip_mask(0x2e30028, 52)) == 48431144);
assert(unsigned(flip_mask(0x2e30030, 52)) == 48431152);
assert(unsigned(flip_mask(0x2e30034, 52)) == 48431156);
assert(unsigned(flip_mask(0x2e30038, 52)) == 48431160);
assert(unsigned(flip_mask(0x2e3003c, 52)) == 48431164);
assert(unsigned(flip_mask(0x2e30040, 52)) == 48431168);
assert(unsigned(flip_mask(0x2e30044, 52)) == 48431172);
assert(unsigned(flip_mask(0x2e30048, 52)) == 48431176);
assert(unsigned(flip_mask(0x2e3004c, 52)) == 48431180);
assert(unsigned(flip_mask(0x2e30050, 52)) == 48431184);
assert(unsigned(flip_mask(0x2e30054, 52)) == 48431188);
assert(unsigned(flip_mask(0x2e30058, 52)) == 48431192);
assert(unsigned(flip_mask(0x2e3005c, 52)) == 48431196);
assert(unsigned(flip_mask(0x2e30060, 52)) == 48431200);
assert(unsigned(flip_mask(0x2e30064, 52)) == 48431204);
assert(unsigned(flip_mask(0x2e30068, 52)) == 48431208);
assert(unsigned(flip_mask(0x2e3006c, 52)) == 48431212);
assert(unsigned(flip_mask(0x2e30070, 52)) == 48431216);
assert(unsigned(flip_mask(0x2e30074, 52)) == 48431220);
assert(unsigned(flip_mask(0x2e30078, 52)) == 48431224);
assert(unsigned(flip_mask(0x2e3007c, 52)) == 48431228);
assert(unsigned(flip_mask(0x2e30080, 52)) == 48431232);
assert(unsigned(flip_mask(0x2e30084, 52)) == 48431236);
assert(unsigned(flip_mask(0x2e30088, 52)) == 48431240);
assert(unsigned(flip_mask(0x2e3008c, 52)) == 48431244);
assert(unsigned(flip_mask(0x2e34000, 52)) == 48447488);
assert(unsigned(flip_mask(0x2e34004, 52)) == 48447492);
assert(unsigned(flip_mask(0x2e34008, 52)) == 48447496);
assert(unsigned(flip_mask(0x2e34010, 52)) == 48447504);
assert(unsigned(flip_mask(0x2e34014, 52)) == 48447508);
assert(unsigned(flip_mask(0x2e34018, 52)) == 48447512);
assert(unsigned(flip_mask(0x2e34020, 52)) == 48447520);
assert(unsigned(flip_mask(0x2e34024, 52)) == 48447524);
assert(unsigned(flip_mask(0x2e34028, 52)) == 48447528);
assert(unsigned(flip_mask(0x2e34030, 52)) == 48447536);
assert(unsigned(flip_mask(0x2e34034, 52)) == 48447540);
assert(unsigned(flip_mask(0x2e34038, 52)) == 48447544);
assert(unsigned(flip_mask(0x2e34040, 52)) == 48447552);
assert(unsigned(flip_mask(0x2e34044, 52)) == 48447556);
assert(unsigned(flip_mask(0x2e34048, 52)) == 48447560);
assert(unsigned(flip_mask(0x2e34050, 52)) == 48447568);
assert(unsigned(flip_mask(0x2e34054, 52)) == 48447572);
assert(unsigned(flip_mask(0x2e34058, 52)) == 48447576);
assert(unsigned(flip_mask(0x2e3405c, 52)) == 48447580);
assert(unsigned(flip_mask(0x2e34060, 52)) == 48447584);
assert(unsigned(flip_mask(0x2e34064, 52)) == 48447588);
assert(unsigned(flip_mask(0x2e34068, 52)) == 48447592);
assert(unsigned(flip_mask(0x2e3406c, 52)) == 48447596);
assert(unsigned(flip_mask(0x2e34070, 52)) == 48447600);
assert(unsigned(flip_mask(0x2e34074, 52)) == 48447604);
assert(unsigned(flip_mask(0x2e34078, 52)) == 48447608);
assert(unsigned(flip_mask(0x2e3407c, 52)) == 48447612);
assert(unsigned(flip_mask(0x2e34080, 52)) == 48447616);
assert(unsigned(flip_mask(0x2e34084, 52)) == 48447620);
assert(unsigned(flip_mask(0x2e34088, 52)) == 48447624);
assert(unsigned(flip_mask(0x2e3408c, 52)) == 48447628);
assert(unsigned(flip_mask(0x2e34090, 52)) == 48447632);
assert(unsigned(flip_mask(0x2e34094, 52)) == 48447636);
assert(unsigned(flip_mask(0x2e34098, 52)) == 48447640);
assert(unsigned(flip_mask(0x2e3409c, 52)) == 48447644);
assert(unsigned(flip_mask(0x2e340a0, 52)) == 48447648);
assert(unsigned(flip_mask(0x2e340a4, 52)) == 48447652);
assert(unsigned(flip_mask(0x2e340a8, 52)) == 48447656);
assert(unsigned(flip_mask(0x2e340ac, 52)) == 48447660);
assert(unsigned(flip_mask(0x2e3c06c, 52)) == 48480364);
assert(unsigned(flip_mask(0x2e3c070, 52)) == 48480368);
assert(unsigned(flip_mask(0x2e3c074, 52)) == 48480372);
assert(unsigned(flip_mask(0x2e44078, 52)) == 48513144);
assert(unsigned(flip_mask(0x2e4407c, 52)) == 48513148);
assert(unsigned(flip_mask(0x2e44080, 52)) == 48513152);
assert(unsigned(flip_mask(0x2e4c000, 52)) == 48545792);
assert(unsigned(flip_mask(0x2e4c004, 52)) == 48545796);
assert(unsigned(flip_mask(0x2e4c008, 52)) == 48545800);
assert(unsigned(flip_mask(0x2e4c010, 52)) == 48545808);
assert(unsigned(flip_mask(0x2e4c014, 52)) == 48545812);
assert(unsigned(flip_mask(0x2e4c018, 52)) == 48545816);
assert(unsigned(flip_mask(0x2e4c020, 52)) == 48545824);
assert(unsigned(flip_mask(0x2e4c024, 52)) == 48545828);
assert(unsigned(flip_mask(0x2e4c028, 52)) == 48545832);
assert(unsigned(flip_mask(0x2e4c030, 52)) == 48545840);
assert(unsigned(flip_mask(0x2e4c034, 52)) == 48545844);
assert(unsigned(flip_mask(0x2e4c038, 52)) == 48545848);
assert(unsigned(flip_mask(0x2e4c040, 52)) == 48545856);
assert(unsigned(flip_mask(0x2e4c044, 52)) == 48545860);
assert(unsigned(flip_mask(0x2e4c048, 52)) == 48545864);
assert(unsigned(flip_mask(0x2e4c04c, 52)) == 48545868);
assert(unsigned(flip_mask(0x2e4c050, 52)) == 48545872);
assert(unsigned(flip_mask(0x2e4c054, 52)) == 48545876);
assert(unsigned(flip_mask(0x2e4c058, 52)) == 48545880);
assert(unsigned(flip_mask(0x2e4c05c, 52)) == 48545884);
assert(unsigned(flip_mask(0x2e4c060, 52)) == 48545888);
assert(unsigned(flip_mask(0x2e4c064, 52)) == 48545892);
assert(unsigned(flip_mask(0x2e4c068, 52)) == 48545896);
assert(unsigned(flip_mask(0x2e4c06c, 52)) == 48545900);
assert(unsigned(flip_mask(0x2e4c070, 52)) == 48545904);
assert(unsigned(flip_mask(0x2e4c074, 52)) == 48545908);
assert(unsigned(flip_mask(0x2e4c078, 52)) == 48545912);
assert(unsigned(flip_mask(0x2e4c07c, 52)) == 48545916);
assert(unsigned(flip_mask(0x2e4c080, 52)) == 48545920);
assert(unsigned(flip_mask(0x2e4c084, 52)) == 48545924);
assert(unsigned(flip_mask(0x2e4c088, 52)) == 48545928);
assert(unsigned(flip_mask(0x2e4c08c, 52)) == 48545932);
assert(unsigned(flip_mask(0x2e4c090, 52)) == 48545936);
assert(unsigned(flip_mask(0x2e4c094, 52)) == 48545940);
assert(unsigned(flip_mask(0x2e4c098, 52)) == 48545944);
assert(unsigned(flip_mask(0x2e50000, 52)) == 48562176);
assert(unsigned(flip_mask(0x2e50004, 52)) == 48562180);
assert(unsigned(flip_mask(0x2e50008, 52)) == 48562184);
assert(unsigned(flip_mask(0x2e50010, 52)) == 48562192);
assert(unsigned(flip_mask(0x2e50014, 52)) == 48562196);
assert(unsigned(flip_mask(0x2e50018, 52)) == 48562200);
assert(unsigned(flip_mask(0x2e50020, 52)) == 48562208);
assert(unsigned(flip_mask(0x2e50024, 52)) == 48562212);
assert(unsigned(flip_mask(0x2e50028, 52)) == 48562216);
assert(unsigned(flip_mask(0x2e50030, 52)) == 48562224);
assert(unsigned(flip_mask(0x2e50034, 52)) == 48562228);
assert(unsigned(flip_mask(0x2e50038, 52)) == 48562232);
assert(unsigned(flip_mask(0x2e50040, 52)) == 48562240);
assert(unsigned(flip_mask(0x2e50044, 52)) == 48562244);
assert(unsigned(flip_mask(0x2e50048, 52)) == 48562248);
assert(unsigned(flip_mask(0x2e50050, 52)) == 48562256);
assert(unsigned(flip_mask(0x2e50054, 52)) == 48562260);
assert(unsigned(flip_mask(0x2e50058, 52)) == 48562264);
assert(unsigned(flip_mask(0x2e5005c, 52)) == 48562268);
assert(unsigned(flip_mask(0x2e50060, 52)) == 48562272);
assert(unsigned(flip_mask(0x2e50064, 52)) == 48562276);
assert(unsigned(flip_mask(0x2e50068, 52)) == 48562280);
assert(unsigned(flip_mask(0x2e5006c, 52)) == 48562284);
assert(unsigned(flip_mask(0x2e50070, 52)) == 48562288);
assert(unsigned(flip_mask(0x2e50074, 52)) == 48562292);
assert(unsigned(flip_mask(0x2e50078, 52)) == 48562296);
assert(unsigned(flip_mask(0x2e5007c, 52)) == 48562300);
assert(unsigned(flip_mask(0x2e50080, 52)) == 48562304);
assert(unsigned(flip_mask(0x2e50084, 52)) == 48562308);
assert(unsigned(flip_mask(0x2e50088, 52)) == 48562312);
assert(unsigned(flip_mask(0x2e5008c, 52)) == 48562316);
assert(unsigned(flip_mask(0x2e50090, 52)) == 48562320);
assert(unsigned(flip_mask(0x2e50094, 52)) == 48562324);
assert(unsigned(flip_mask(0x2e50098, 52)) == 48562328);
assert(unsigned(flip_mask(0x2e5009c, 52)) == 48562332);
assert(unsigned(flip_mask(0x2e500a0, 52)) == 48562336);
assert(unsigned(flip_mask(0x2e500a4, 52)) == 48562340);
assert(unsigned(flip_mask(0x2e500a8, 52)) == 48562344);
assert(unsigned(flip_mask(0x2e54078, 52)) == 48578680);
assert(unsigned(flip_mask(0x2e5407c, 52)) == 48578684);
assert(unsigned(flip_mask(0x2e54080, 52)) == 48578688);
assert(unsigned(flip_mask(0x2eb0000, 52)) == 48955392);
assert(unsigned(flip_mask(0x2ec0000, 52)) == 49020928);
assert(unsigned(flip_mask(0x2ee0000, 52)) == 49152000);
assert(unsigned(flip_mask(0x2ef0000, 52)) == 49217536);
assert(unsigned(flip_mask(0x2ef0040, 52)) == 49217600);
assert(unsigned(flip_mask(0x2f00200, 52)) == 49283584);
assert(unsigned(flip_mask(0x2f10800, 52)) == 49350656);
assert(unsigned(flip_mask(0x2f40000, 52)) == 49545216);
assert(unsigned(flip_mask(0x2f50000, 52)) == 49610752);
assert(unsigned(flip_mask(0x2f50040, 52)) == 49610816);
assert(unsigned(flip_mask(0x2f60200, 52)) == 49676800);
assert(unsigned(flip_mask(0x2f70800, 52)) == 49743872);
assert(unsigned(flip_mask(0x30000, 52)) == 196608);
assert(unsigned(flip_mask(0x30e0000, 52)) == 51249152);
assert(unsigned(flip_mask(0x30f0000, 52)) == 51314688);
assert(unsigned(flip_mask(0x3100000, 52)) == 51380224);
assert(unsigned(flip_mask(0x3100040, 52)) == 51380288);
assert(unsigned(flip_mask(0x3110208, 52)) == 51446280);
assert(unsigned(flip_mask(0x3120800, 52)) == 51513344);
assert(unsigned(flip_mask(0x31d0000, 52)) == 52232192);
assert(unsigned(flip_mask(0x31d0004, 52)) == 52232196);
assert(unsigned(flip_mask(0x31d0008, 52)) == 52232200);
assert(unsigned(flip_mask(0x31d000c, 52)) == 52232204);
assert(unsigned(flip_mask(0x31d0010, 52)) == 52232208);
assert(unsigned(flip_mask(0x31d0014, 52)) == 52232212);
assert(unsigned(flip_mask(0x31d0018, 52)) == 52232216);
assert(unsigned(flip_mask(0x31d001c, 52)) == 52232220);
assert(unsigned(flip_mask(0x31d0020, 52)) == 52232224);
assert(unsigned(flip_mask(0x31d0040, 52)) == 52232256);
assert(unsigned(flip_mask(0x31d0044, 52)) == 52232260);
assert(unsigned(flip_mask(0x31d0048, 52)) == 52232264);
assert(unsigned(flip_mask(0x31d004c, 52)) == 52232268);
assert(unsigned(flip_mask(0x31d0050, 52)) == 52232272);
assert(unsigned(flip_mask(0x31d0054, 52)) == 52232276);
assert(unsigned(flip_mask(0x31d0058, 52)) == 52232280);
assert(unsigned(flip_mask(0x31d005c, 52)) == 52232284);
assert(unsigned(flip_mask(0x31d0060, 52)) == 52232288);
assert(unsigned(flip_mask(0x31d0064, 52)) == 52232292);
assert(unsigned(flip_mask(0x31d0068, 52)) == 52232296);
assert(unsigned(flip_mask(0x31d006c, 52)) == 52232300);
assert(unsigned(flip_mask(0x31d0070, 52)) == 52232304);
assert(unsigned(flip_mask(0x31d0074, 52)) == 52232308);
assert(unsigned(flip_mask(0x31d0078, 52)) == 52232312);
assert(unsigned(flip_mask(0x31d007c, 52)) == 52232316);
assert(unsigned(flip_mask(0x31d0080, 52)) == 52232320);
assert(unsigned(flip_mask(0x31d0084, 52)) == 52232324);
assert(unsigned(flip_mask(0x31d0088, 52)) == 52232328);
assert(unsigned(flip_mask(0x31d008c, 52)) == 52232332);
assert(unsigned(flip_mask(0x31d0090, 52)) == 52232336);
assert(unsigned(flip_mask(0x31d0094, 52)) == 52232340);
assert(unsigned(flip_mask(0x31d0098, 52)) == 52232344);
assert(unsigned(flip_mask(0x31d009c, 52)) == 52232348);
assert(unsigned(flip_mask(0x31d00a0, 52)) == 52232352);
assert(unsigned(flip_mask(0x31d00a4, 52)) == 52232356);
assert(unsigned(flip_mask(0x31d00a8, 52)) == 52232360);
assert(unsigned(flip_mask(0x31d00ac, 52)) == 52232364);
assert(unsigned(flip_mask(0x31d00b0, 52)) == 52232368);
assert(unsigned(flip_mask(0x31d00b4, 52)) == 52232372);
assert(unsigned(flip_mask(0x31d00b8, 52)) == 52232376);
assert(unsigned(flip_mask(0x31d00bc, 52)) == 52232380);
assert(unsigned(flip_mask(0x31d00c0, 52)) == 52232384);
assert(unsigned(flip_mask(0x31d00c4, 52)) == 52232388);
assert(unsigned(flip_mask(0x31d00c8, 52)) == 52232392);
assert(unsigned(flip_mask(0x31d00cc, 52)) == 52232396);
assert(unsigned(flip_mask(0x31d00d0, 52)) == 52232400);
assert(unsigned(flip_mask(0x31d00d4, 52)) == 52232404);
assert(unsigned(flip_mask(0x31d00d8, 52)) == 52232408);
assert(unsigned(flip_mask(0x31d00dc, 52)) == 52232412);
assert(unsigned(flip_mask(0x31d00e0, 52)) == 52232416);
assert(unsigned(flip_mask(0x31d00e4, 52)) == 52232420);
assert(unsigned(flip_mask(0x31d00e8, 52)) == 52232424);
assert(unsigned(flip_mask(0x31d00ec, 52)) == 52232428);
assert(unsigned(flip_mask(0x31d00f0, 52)) == 52232432);
assert(unsigned(flip_mask(0x31d00f4, 52)) == 52232436);
assert(unsigned(flip_mask(0x31d00f8, 52)) == 52232440);
assert(unsigned(flip_mask(0x31d00fc, 52)) == 52232444);
assert(unsigned(flip_mask(0x31d0100, 52)) == 52232448);
assert(unsigned(flip_mask(0x31d0104, 52)) == 52232452);
assert(unsigned(flip_mask(0x31d0108, 52)) == 52232456);
assert(unsigned(flip_mask(0x31d010c, 52)) == 52232460);
assert(unsigned(flip_mask(0x31d0110, 52)) == 52232464);
assert(unsigned(flip_mask(0x31d0138, 52)) == 52232504);
assert(unsigned(flip_mask(0x31d013c, 52)) == 52232508);
assert(unsigned(flip_mask(0x31d0140, 52)) == 52232512);
assert(unsigned(flip_mask(0x31d0144, 52)) == 52232516);
assert(unsigned(flip_mask(0x31d0178, 52)) == 52232568);
assert(unsigned(flip_mask(0x31d017c, 52)) == 52232572);
assert(unsigned(flip_mask(0x31d0194, 52)) == 52232596);
assert(unsigned(flip_mask(0x31d01a0, 52)) == 52232608);
assert(unsigned(flip_mask(0x31d01c0, 52)) == 52232640);
assert(unsigned(flip_mask(0x31d01e0, 52)) == 52232672);
assert(unsigned(flip_mask(0x31d01e8, 52)) == 52232680);
assert(unsigned(flip_mask(0x31d01f0, 52)) == 52232688);
assert(unsigned(flip_mask(0x31d0200, 52)) == 52232704);
assert(unsigned(flip_mask(0x31d0208, 52)) == 52232712);
assert(unsigned(flip_mask(0x31d0218, 52)) == 52232728);
assert(unsigned(flip_mask(0x31d0220, 52)) == 52232736);
assert(unsigned(flip_mask(0x31d0228, 52)) == 52232744);
assert(unsigned(flip_mask(0x31d0230, 52)) == 52232752);
assert(unsigned(flip_mask(0x31d0248, 52)) == 52232776);
assert(unsigned(flip_mask(0x31d0250, 52)) == 52232784);
assert(unsigned(flip_mask(0x31d0258, 52)) == 52232792);
assert(unsigned(flip_mask(0x31d0260, 52)) == 52232800);
assert(unsigned(flip_mask(0x31d02e0, 52)) == 52232928);
assert(unsigned(flip_mask(0x31d02f8, 52)) == 52232952);
assert(unsigned(flip_mask(0x31d0300, 52)) == 52232960);
assert(unsigned(flip_mask(0x31d0308, 52)) == 52232968);
assert(unsigned(flip_mask(0x31d0318, 52)) == 52232984);
assert(unsigned(flip_mask(0x31d0320, 52)) == 52232992);
assert(unsigned(flip_mask(0x31d0328, 52)) == 52233000);
assert(unsigned(flip_mask(0x31d04d0, 52)) == 52233424);
assert(unsigned(flip_mask(0x31d04d4, 52)) == 52233428);
assert(unsigned(flip_mask(0x31d04d8, 52)) == 52233432);
assert(unsigned(flip_mask(0x31d04dc, 52)) == 52233436);
assert(unsigned(flip_mask(0x31d04e0, 52)) == 52233440);
assert(unsigned(flip_mask(0x31d04e4, 52)) == 52233444);
assert(unsigned(flip_mask(0x31d04e8, 52)) == 52233448);
assert(unsigned(flip_mask(0x31d04ec, 52)) == 52233452);
assert(unsigned(flip_mask(0x31d04f0, 52)) == 52233456);
assert(unsigned(flip_mask(0x31d04f4, 52)) == 52233460);
assert(unsigned(flip_mask(0x31d04f8, 52)) == 52233464);
assert(unsigned(flip_mask(0x31d04fc, 52)) == 52233468);
assert(unsigned(flip_mask(0x31d0500, 52)) == 52233472);
assert(unsigned(flip_mask(0x31d0504, 52)) == 52233476);
assert(unsigned(flip_mask(0x31d0508, 52)) == 52233480);
assert(unsigned(flip_mask(0x31d050c, 52)) == 52233484);
assert(unsigned(flip_mask(0x31d0510, 52)) == 52233488);
assert(unsigned(flip_mask(0x31d0514, 52)) == 52233492);
assert(unsigned(flip_mask(0x31d0518, 52)) == 52233496);
assert(unsigned(flip_mask(0x31d051c, 52)) == 52233500);
assert(unsigned(flip_mask(0x31d0520, 52)) == 52233504);
assert(unsigned(flip_mask(0x31d0524, 52)) == 52233508);
assert(unsigned(flip_mask(0x31d0528, 52)) == 52233512);
assert(unsigned(flip_mask(0x31d052c, 52)) == 52233516);
assert(unsigned(flip_mask(0x31d0530, 52)) == 52233520);
assert(unsigned(flip_mask(0x31d0534, 52)) == 52233524);
assert(unsigned(flip_mask(0x31d0538, 52)) == 52233528);
assert(unsigned(flip_mask(0x31d053c, 52)) == 52233532);
assert(unsigned(flip_mask(0x31d0540, 52)) == 52233536);
assert(unsigned(flip_mask(0x31d0544, 52)) == 52233540);
assert(unsigned(flip_mask(0x31d0548, 52)) == 52233544);
assert(unsigned(flip_mask(0x31d054c, 52)) == 52233548);
assert(unsigned(flip_mask(0x31d0550, 52)) == 52233552);
assert(unsigned(flip_mask(0x31d0554, 52)) == 52233556);
assert(unsigned(flip_mask(0x31d0558, 52)) == 52233560);
assert(unsigned(flip_mask(0x31d055c, 52)) == 52233564);
assert(unsigned(flip_mask(0x31d0560, 52)) == 52233568);
assert(unsigned(flip_mask(0x31d0564, 52)) == 52233572);
assert(unsigned(flip_mask(0x31d0568, 52)) == 52233576);
assert(unsigned(flip_mask(0x31d056c, 52)) == 52233580);
assert(unsigned(flip_mask(0x31d0570, 52)) == 52233584);
assert(unsigned(flip_mask(0x31d0574, 52)) == 52233588);
assert(unsigned(flip_mask(0x31d0578, 52)) == 52233592);
assert(unsigned(flip_mask(0x31d057c, 52)) == 52233596);
assert(unsigned(flip_mask(0x31d0580, 52)) == 52233600);
assert(unsigned(flip_mask(0x31d0584, 52)) == 52233604);
assert(unsigned(flip_mask(0x31d0588, 52)) == 52233608);
assert(unsigned(flip_mask(0x31d058c, 52)) == 52233612);
assert(unsigned(flip_mask(0x31d0590, 52)) == 52233616);
assert(unsigned(flip_mask(0x31d0594, 52)) == 52233620);
assert(unsigned(flip_mask(0x31d0598, 52)) == 52233624);
assert(unsigned(flip_mask(0x31d059c, 52)) == 52233628);
assert(unsigned(flip_mask(0x31d05a0, 52)) == 52233632);
assert(unsigned(flip_mask(0x31d05a4, 52)) == 52233636);
assert(unsigned(flip_mask(0x31d05a8, 52)) == 52233640);
assert(unsigned(flip_mask(0x31d05ac, 52)) == 52233644);
assert(unsigned(flip_mask(0x31d05b0, 52)) == 52233648);
assert(unsigned(flip_mask(0x31d05b4, 52)) == 52233652);
assert(unsigned(flip_mask(0x31d05b8, 52)) == 52233656);
assert(unsigned(flip_mask(0x31d05bc, 52)) == 52233660);
assert(unsigned(flip_mask(0x31d05c0, 52)) == 52233664);
assert(unsigned(flip_mask(0x31d05c4, 52)) == 52233668);
assert(unsigned(flip_mask(0x31d05c8, 52)) == 52233672);
assert(unsigned(flip_mask(0x31d05cc, 52)) == 52233676);
assert(unsigned(flip_mask(0x31d05d0, 52)) == 52233680);
assert(unsigned(flip_mask(0x31d05d4, 52)) == 52233684);
assert(unsigned(flip_mask(0x31d05d8, 52)) == 52233688);
assert(unsigned(flip_mask(0x31d05dc, 52)) == 52233692);
assert(unsigned(flip_mask(0x31d05e0, 52)) == 52233696);
assert(unsigned(flip_mask(0x31d05e4, 52)) == 52233700);
assert(unsigned(flip_mask(0x31d05e8, 52)) == 52233704);
assert(unsigned(flip_mask(0x31d05ec, 52)) == 52233708);
assert(unsigned(flip_mask(0x31d05f0, 52)) == 52233712);
assert(unsigned(flip_mask(0x31d05f4, 52)) == 52233716);
assert(unsigned(flip_mask(0x31d05f8, 52)) == 52233720);
assert(unsigned(flip_mask(0x31d05fc, 52)) == 52233724);
assert(unsigned(flip_mask(0x31d0600, 52)) == 52233728);
assert(unsigned(flip_mask(0x31d0604, 52)) == 52233732);
assert(unsigned(flip_mask(0x31d0608, 52)) == 52233736);
assert(unsigned(flip_mask(0x31d060c, 52)) == 52233740);
assert(unsigned(flip_mask(0x31d0610, 52)) == 52233744);
assert(unsigned(flip_mask(0x31d0614, 52)) == 52233748);
assert(unsigned(flip_mask(0x31d0618, 52)) == 52233752);
assert(unsigned(flip_mask(0x31d061c, 52)) == 52233756);
assert(unsigned(flip_mask(0x31d0620, 52)) == 52233760);
assert(unsigned(flip_mask(0x31d0624, 52)) == 52233764);
assert(unsigned(flip_mask(0x31d0628, 52)) == 52233768);
assert(unsigned(flip_mask(0x31d062c, 52)) == 52233772);
assert(unsigned(flip_mask(0x31d0630, 52)) == 52233776);
assert(unsigned(flip_mask(0x31d0634, 52)) == 52233780);
assert(unsigned(flip_mask(0x31d0638, 52)) == 52233784);
assert(unsigned(flip_mask(0x31d063c, 52)) == 52233788);
assert(unsigned(flip_mask(0x31d0640, 52)) == 52233792);
assert(unsigned(flip_mask(0x31d0644, 52)) == 52233796);
assert(unsigned(flip_mask(0x31d0648, 52)) == 52233800);
assert(unsigned(flip_mask(0x31d064c, 52)) == 52233804);
assert(unsigned(flip_mask(0x31d0650, 52)) == 52233808);
assert(unsigned(flip_mask(0x31d0654, 52)) == 52233812);
assert(unsigned(flip_mask(0x31d0658, 52)) == 52233816);
assert(unsigned(flip_mask(0x31d065c, 52)) == 52233820);
assert(unsigned(flip_mask(0x31d0660, 52)) == 52233824);
assert(unsigned(flip_mask(0x31d0664, 52)) == 52233828);
assert(unsigned(flip_mask(0x31d0668, 52)) == 52233832);
assert(unsigned(flip_mask(0x31d066c, 52)) == 52233836);
assert(unsigned(flip_mask(0x31d0670, 52)) == 52233840);
assert(unsigned(flip_mask(0x31d0674, 52)) == 52233844);
assert(unsigned(flip_mask(0x31d0678, 52)) == 52233848);
assert(unsigned(flip_mask(0x31d067c, 52)) == 52233852);
assert(unsigned(flip_mask(0x31d0680, 52)) == 52233856);
assert(unsigned(flip_mask(0x31d0684, 52)) == 52233860);
assert(unsigned(flip_mask(0x31d0688, 52)) == 52233864);
assert(unsigned(flip_mask(0x31d068c, 52)) == 52233868);
assert(unsigned(flip_mask(0x31d0690, 52)) == 52233872);
assert(unsigned(flip_mask(0x31d0694, 52)) == 52233876);
assert(unsigned(flip_mask(0x31d0698, 52)) == 52233880);
assert(unsigned(flip_mask(0x31d06b0, 52)) == 52233904);
assert(unsigned(flip_mask(0x31d06b4, 52)) == 52233908);
assert(unsigned(flip_mask(0x31d06b8, 52)) == 52233912);
assert(unsigned(flip_mask(0x31d06bc, 52)) == 52233916);
assert(unsigned(flip_mask(0x31d06c0, 52)) == 52233920);
assert(unsigned(flip_mask(0x31d06c4, 52)) == 52233924);
assert(unsigned(flip_mask(0x31d06c8, 52)) == 52233928);
assert(unsigned(flip_mask(0x31d06cc, 52)) == 52233932);
assert(unsigned(flip_mask(0x31d06d0, 52)) == 52233936);
assert(unsigned(flip_mask(0x31d06d4, 52)) == 52233940);
assert(unsigned(flip_mask(0x31d06d8, 52)) == 52233944);
assert(unsigned(flip_mask(0x31d06dc, 52)) == 52233948);
assert(unsigned(flip_mask(0x31d06e0, 52)) == 52233952);
assert(unsigned(flip_mask(0x31d06e4, 52)) == 52233956);
assert(unsigned(flip_mask(0x31d06e8, 52)) == 52233960);
assert(unsigned(flip_mask(0x31d0700, 52)) == 52233984);
assert(unsigned(flip_mask(0x31d0704, 52)) == 52233988);
assert(unsigned(flip_mask(0x31d0708, 52)) == 52233992);
assert(unsigned(flip_mask(0x31d070c, 52)) == 52233996);
assert(unsigned(flip_mask(0x31d0710, 52)) == 52234000);
assert(unsigned(flip_mask(0x31d0714, 52)) == 52234004);
assert(unsigned(flip_mask(0x31d0718, 52)) == 52234008);
assert(unsigned(flip_mask(0x31d071c, 52)) == 52234012);
assert(unsigned(flip_mask(0x31d0720, 52)) == 52234016);
assert(unsigned(flip_mask(0x31d0724, 52)) == 52234020);
assert(unsigned(flip_mask(0x31d073c, 52)) == 52234044);
assert(unsigned(flip_mask(0x31d0740, 52)) == 52234048);
assert(unsigned(flip_mask(0x31d0744, 52)) == 52234052);
assert(unsigned(flip_mask(0x31d0748, 52)) == 52234056);
assert(unsigned(flip_mask(0x31d074c, 52)) == 52234060);
assert(unsigned(flip_mask(0x31d0750, 52)) == 52234064);
assert(unsigned(flip_mask(0x31d0754, 52)) == 52234068);
assert(unsigned(flip_mask(0x31d0758, 52)) == 52234072);
assert(unsigned(flip_mask(0x31d075c, 52)) == 52234076);
assert(unsigned(flip_mask(0x31d0760, 52)) == 52234080);
assert(unsigned(flip_mask(0x31d0764, 52)) == 52234084);
assert(unsigned(flip_mask(0x31d0768, 52)) == 52234088);
assert(unsigned(flip_mask(0x31d076c, 52)) == 52234092);
assert(unsigned(flip_mask(0x31d0770, 52)) == 52234096);
assert(unsigned(flip_mask(0x31d0774, 52)) == 52234100);
assert(unsigned(flip_mask(0x31d0778, 52)) == 52234104);
assert(unsigned(flip_mask(0x31d077c, 52)) == 52234108);
assert(unsigned(flip_mask(0x31d0780, 52)) == 52234112);
assert(unsigned(flip_mask(0x31d0784, 52)) == 52234116);
assert(unsigned(flip_mask(0x31d0788, 52)) == 52234120);
assert(unsigned(flip_mask(0x31d078c, 52)) == 52234124);
assert(unsigned(flip_mask(0x31d0790, 52)) == 52234128);
assert(unsigned(flip_mask(0x31d07d8, 52)) == 52234200);
assert(unsigned(flip_mask(0x31d07dc, 52)) == 52234204);
assert(unsigned(flip_mask(0x31d07e0, 52)) == 52234208);
assert(unsigned(flip_mask(0x31d07e4, 52)) == 52234212);
assert(unsigned(flip_mask(0x31d07e8, 52)) == 52234216);
assert(unsigned(flip_mask(0x31d07ec, 52)) == 52234220);
assert(unsigned(flip_mask(0x31d07f0, 52)) == 52234224);
assert(unsigned(flip_mask(0x31d07f4, 52)) == 52234228);
assert(unsigned(flip_mask(0x31d07f8, 52)) == 52234232);
assert(unsigned(flip_mask(0x31d07fc, 52)) == 52234236);
assert(unsigned(flip_mask(0x31d0800, 52)) == 52234240);
assert(unsigned(flip_mask(0x31d0804, 52)) == 52234244);
assert(unsigned(flip_mask(0x31d0808, 52)) == 52234248);
assert(unsigned(flip_mask(0x31d080c, 52)) == 52234252);
assert(unsigned(flip_mask(0x31d0810, 52)) == 52234256);
assert(unsigned(flip_mask(0x31d0814, 52)) == 52234260);
assert(unsigned(flip_mask(0x31d0818, 52)) == 52234264);
assert(unsigned(flip_mask(0x31d081c, 52)) == 52234268);
assert(unsigned(flip_mask(0x31d0820, 52)) == 52234272);
assert(unsigned(flip_mask(0x31d0824, 52)) == 52234276);
assert(unsigned(flip_mask(0x31d0828, 52)) == 52234280);
assert(unsigned(flip_mask(0x31d082c, 52)) == 52234284);
assert(unsigned(flip_mask(0x31d0830, 52)) == 52234288);
assert(unsigned(flip_mask(0x31d0834, 52)) == 52234292);
assert(unsigned(flip_mask(0x31d0838, 52)) == 52234296);
assert(unsigned(flip_mask(0x31d083c, 52)) == 52234300);
assert(unsigned(flip_mask(0x31d0840, 52)) == 52234304);
assert(unsigned(flip_mask(0x31d0844, 52)) == 52234308);
assert(unsigned(flip_mask(0x31d0848, 52)) == 52234312);
assert(unsigned(flip_mask(0x31d084c, 52)) == 52234316);
assert(unsigned(flip_mask(0x31d0850, 52)) == 52234320);
assert(unsigned(flip_mask(0x31d0854, 52)) == 52234324);
assert(unsigned(flip_mask(0x31d0858, 52)) == 52234328);
assert(unsigned(flip_mask(0x31d085c, 52)) == 52234332);
assert(unsigned(flip_mask(0x31d0860, 52)) == 52234336);
assert(unsigned(flip_mask(0x31d0864, 52)) == 52234340);
assert(unsigned(flip_mask(0x31d0868, 52)) == 52234344);
assert(unsigned(flip_mask(0x31d086c, 52)) == 52234348);
assert(unsigned(flip_mask(0x31d0870, 52)) == 52234352);
assert(unsigned(flip_mask(0x31d0874, 52)) == 52234356);
assert(unsigned(flip_mask(0x31d0890, 52)) == 52234384);
assert(unsigned(flip_mask(0x31d0898, 52)) == 52234392);
assert(unsigned(flip_mask(0x31d08a0, 52)) == 52234400);
assert(unsigned(flip_mask(0x31d08a8, 52)) == 52234408);
assert(unsigned(flip_mask(0x31d08ac, 52)) == 52234412);
assert(unsigned(flip_mask(0x31d08b0, 52)) == 52234416);
assert(unsigned(flip_mask(0x31d08b4, 52)) == 52234420);
assert(unsigned(flip_mask(0x31d08b8, 52)) == 52234424);
assert(unsigned(flip_mask(0x31d08bc, 52)) == 52234428);
assert(unsigned(flip_mask(0x31d08c0, 52)) == 52234432);
assert(unsigned(flip_mask(0x31d08c4, 52)) == 52234436);
assert(unsigned(flip_mask(0x31d08c8, 52)) == 52234440);
assert(unsigned(flip_mask(0x31d08cc, 52)) == 52234444);
assert(unsigned(flip_mask(0x31d08d0, 52)) == 52234448);
assert(unsigned(flip_mask(0x31d08d4, 52)) == 52234452);
assert(unsigned(flip_mask(0x31d08d8, 52)) == 52234456);
assert(unsigned(flip_mask(0x31d08dc, 52)) == 52234460);
assert(unsigned(flip_mask(0x31d08e0, 52)) == 52234464);
assert(unsigned(flip_mask(0x31d08e4, 52)) == 52234468);
assert(unsigned(flip_mask(0x31d08e8, 52)) == 52234472);
assert(unsigned(flip_mask(0x31d08ec, 52)) == 52234476);
assert(unsigned(flip_mask(0x31d08f0, 52)) == 52234480);
assert(unsigned(flip_mask(0x31d08f4, 52)) == 52234484);
assert(unsigned(flip_mask(0x31d08fc, 52)) == 52234492);
assert(unsigned(flip_mask(0x31d0900, 52)) == 52234496);
assert(unsigned(flip_mask(0x31d0904, 52)) == 52234500);
assert(unsigned(flip_mask(0x31d0908, 52)) == 52234504);
assert(unsigned(flip_mask(0x31d090c, 52)) == 52234508);
assert(unsigned(flip_mask(0x31d0910, 52)) == 52234512);
assert(unsigned(flip_mask(0x31d0914, 52)) == 52234516);
assert(unsigned(flip_mask(0x31d0918, 52)) == 52234520);
assert(unsigned(flip_mask(0x31d091c, 52)) == 52234524);
assert(unsigned(flip_mask(0x31d0920, 52)) == 52234528);
assert(unsigned(flip_mask(0x31d0924, 52)) == 52234532);
assert(unsigned(flip_mask(0x31d0928, 52)) == 52234536);
assert(unsigned(flip_mask(0x31d092c, 52)) == 52234540);
assert(unsigned(flip_mask(0x31d0930, 52)) == 52234544);
assert(unsigned(flip_mask(0x31d0934, 52)) == 52234548);
assert(unsigned(flip_mask(0x31d0938, 52)) == 52234552);
assert(unsigned(flip_mask(0x31d093c, 52)) == 52234556);
assert(unsigned(flip_mask(0x31d0940, 52)) == 52234560);
assert(unsigned(flip_mask(0x31d0944, 52)) == 52234564);
assert(unsigned(flip_mask(0x31d0948, 52)) == 52234568);
assert(unsigned(flip_mask(0x31d094c, 52)) == 52234572);
assert(unsigned(flip_mask(0x31d0950, 52)) == 52234576);
assert(unsigned(flip_mask(0x31d0954, 52)) == 52234580);
assert(unsigned(flip_mask(0x31d0958, 52)) == 52234584);
assert(unsigned(flip_mask(0x31d095c, 52)) == 52234588);
assert(unsigned(flip_mask(0x31d0960, 52)) == 52234592);
assert(unsigned(flip_mask(0x31d0964, 52)) == 52234596);
assert(unsigned(flip_mask(0x31d0968, 52)) == 52234600);
assert(unsigned(flip_mask(0x31d096c, 52)) == 52234604);
assert(unsigned(flip_mask(0x31d0970, 52)) == 52234608);
assert(unsigned(flip_mask(0x31d0974, 52)) == 52234612);
assert(unsigned(flip_mask(0x31d0978, 52)) == 52234616);
assert(unsigned(flip_mask(0x31d097c, 52)) == 52234620);
assert(unsigned(flip_mask(0x31d0980, 52)) == 52234624);
assert(unsigned(flip_mask(0x31d0984, 52)) == 52234628);
assert(unsigned(flip_mask(0x31d0988, 52)) == 52234632);
assert(unsigned(flip_mask(0x31d098c, 52)) == 52234636);
assert(unsigned(flip_mask(0x31d0990, 52)) == 52234640);
assert(unsigned(flip_mask(0x31d0994, 52)) == 52234644);
assert(unsigned(flip_mask(0x31d0998, 52)) == 52234648);
assert(unsigned(flip_mask(0x31d099c, 52)) == 52234652);
assert(unsigned(flip_mask(0x31d09a0, 52)) == 52234656);
assert(unsigned(flip_mask(0x31d09a4, 52)) == 52234660);
assert(unsigned(flip_mask(0x31d09a8, 52)) == 52234664);
assert(unsigned(flip_mask(0x31d09ac, 52)) == 52234668);
assert(unsigned(flip_mask(0x31d09b0, 52)) == 52234672);
assert(unsigned(flip_mask(0x31d09b4, 52)) == 52234676);
assert(unsigned(flip_mask(0x31d09b8, 52)) == 52234680);
assert(unsigned(flip_mask(0x31d09bc, 52)) == 52234684);
assert(unsigned(flip_mask(0x31d09c0, 52)) == 52234688);
assert(unsigned(flip_mask(0x31d09c4, 52)) == 52234692);
assert(unsigned(flip_mask(0x31d09c8, 52)) == 52234696);
assert(unsigned(flip_mask(0x31d09cc, 52)) == 52234700);
assert(unsigned(flip_mask(0x31d09d0, 52)) == 52234704);
assert(unsigned(flip_mask(0x31d09d4, 52)) == 52234708);
assert(unsigned(flip_mask(0x31d09dc, 52)) == 52234716);
assert(unsigned(flip_mask(0x31d09e0, 52)) == 52234720);
assert(unsigned(flip_mask(0x31d09e4, 52)) == 52234724);
assert(unsigned(flip_mask(0x31d09e8, 52)) == 52234728);
assert(unsigned(flip_mask(0x31d09ec, 52)) == 52234732);
assert(unsigned(flip_mask(0x31d09f0, 52)) == 52234736);
assert(unsigned(flip_mask(0x31d09f4, 52)) == 52234740);
assert(unsigned(flip_mask(0x31d09f8, 52)) == 52234744);
assert(unsigned(flip_mask(0x31d09fc, 52)) == 52234748);
assert(unsigned(flip_mask(0x31d0a08, 52)) == 52234760);
assert(unsigned(flip_mask(0x31d0a0c, 52)) == 52234764);
assert(unsigned(flip_mask(0x31d0a10, 52)) == 52234768);
assert(unsigned(flip_mask(0x31d0a14, 52)) == 52234772);
assert(unsigned(flip_mask(0x31d0a18, 52)) == 52234776);
assert(unsigned(flip_mask(0x31d0a1c, 52)) == 52234780);
assert(unsigned(flip_mask(0x31d0a20, 52)) == 52234784);
assert(unsigned(flip_mask(0x31d0a24, 52)) == 52234788);
assert(unsigned(flip_mask(0x31d0a28, 52)) == 52234792);
assert(unsigned(flip_mask(0x31d0a2c, 52)) == 52234796);
assert(unsigned(flip_mask(0x31d0a30, 52)) == 52234800);
assert(unsigned(flip_mask(0x31d0a34, 52)) == 52234804);
assert(unsigned(flip_mask(0x31d0a38, 52)) == 52234808);
assert(unsigned(flip_mask(0x31d0a3c, 52)) == 52234812);
assert(unsigned(flip_mask(0x31d0a40, 52)) == 52234816);
assert(unsigned(flip_mask(0x31d0a44, 52)) == 52234820);
assert(unsigned(flip_mask(0x31d0a48, 52)) == 52234824);
assert(unsigned(flip_mask(0x31d0a4c, 52)) == 52234828);
assert(unsigned(flip_mask(0x31d0a50, 52)) == 52234832);
assert(unsigned(flip_mask(0x31d0a54, 52)) == 52234836);
assert(unsigned(flip_mask(0x31d0a58, 52)) == 52234840);
assert(unsigned(flip_mask(0x31d0a5c, 52)) == 52234844);
assert(unsigned(flip_mask(0x31d0a60, 52)) == 52234848);
assert(unsigned(flip_mask(0x31d0a64, 52)) == 52234852);
assert(unsigned(flip_mask(0x31d0a68, 52)) == 52234856);
assert(unsigned(flip_mask(0x31d0a6c, 52)) == 52234860);
assert(unsigned(flip_mask(0x31d0a70, 52)) == 52234864);
assert(unsigned(flip_mask(0x31d0a74, 52)) == 52234868);
assert(unsigned(flip_mask(0x31d0a78, 52)) == 52234872);
assert(unsigned(flip_mask(0x31d0a7c, 52)) == 52234876);
assert(unsigned(flip_mask(0x31d0a80, 52)) == 52234880);
assert(unsigned(flip_mask(0x31d0a84, 52)) == 52234884);
assert(unsigned(flip_mask(0x31d0a88, 52)) == 52234888);
assert(unsigned(flip_mask(0x31d0a8c, 52)) == 52234892);
assert(unsigned(flip_mask(0x31d0a90, 52)) == 52234896);
assert(unsigned(flip_mask(0x31d0a94, 52)) == 52234900);
assert(unsigned(flip_mask(0x31d0a98, 52)) == 52234904);
assert(unsigned(flip_mask(0x31d0a9c, 52)) == 52234908);
assert(unsigned(flip_mask(0x31d0aa0, 52)) == 52234912);
assert(unsigned(flip_mask(0x31d0aa4, 52)) == 52234916);
assert(unsigned(flip_mask(0x31d0aa8, 52)) == 52234920);
assert(unsigned(flip_mask(0x31d0aac, 52)) == 52234924);
assert(unsigned(flip_mask(0x31d0ab0, 52)) == 52234928);
assert(unsigned(flip_mask(0x31d0ab4, 52)) == 52234932);
assert(unsigned(flip_mask(0x31d0ab8, 52)) == 52234936);
assert(unsigned(flip_mask(0x31d0abc, 52)) == 52234940);
assert(unsigned(flip_mask(0x31d0ac0, 52)) == 52234944);
assert(unsigned(flip_mask(0x31d0ac4, 52)) == 52234948);
assert(unsigned(flip_mask(0x31d0ac8, 52)) == 52234952);
assert(unsigned(flip_mask(0x31d0acc, 52)) == 52234956);
assert(unsigned(flip_mask(0x31d0ad0, 52)) == 52234960);
assert(unsigned(flip_mask(0x31d0ad4, 52)) == 52234964);
assert(unsigned(flip_mask(0x31d0ad8, 52)) == 52234968);
assert(unsigned(flip_mask(0x31d0adc, 52)) == 52234972);
assert(unsigned(flip_mask(0x31d0ae0, 52)) == 52234976);
assert(unsigned(flip_mask(0x31d0ae4, 52)) == 52234980);
assert(unsigned(flip_mask(0x31d0ae8, 52)) == 52234984);
assert(unsigned(flip_mask(0x31d0aec, 52)) == 52234988);
assert(unsigned(flip_mask(0x31d0af0, 52)) == 52234992);
assert(unsigned(flip_mask(0x31d0af4, 52)) == 52234996);
assert(unsigned(flip_mask(0x31d0af8, 52)) == 52235000);
assert(unsigned(flip_mask(0x31d0b08, 52)) == 52235016);
assert(unsigned(flip_mask(0x31d0b0c, 52)) == 52235020);
assert(unsigned(flip_mask(0x31d0b10, 52)) == 52235024);
assert(unsigned(flip_mask(0x31d0b14, 52)) == 52235028);
assert(unsigned(flip_mask(0x31d0b18, 52)) == 52235032);
assert(unsigned(flip_mask(0x31d0b1c, 52)) == 52235036);
assert(unsigned(flip_mask(0x31d0b20, 52)) == 52235040);
assert(unsigned(flip_mask(0x31d0b24, 52)) == 52235044);
assert(unsigned(flip_mask(0x31d0b28, 52)) == 52235048);
assert(unsigned(flip_mask(0x31d0b34, 52)) == 52235060);
assert(unsigned(flip_mask(0x31d0b38, 52)) == 52235064);
assert(unsigned(flip_mask(0x31d0b3c, 52)) == 52235068);
assert(unsigned(flip_mask(0x31d0b40, 52)) == 52235072);
assert(unsigned(flip_mask(0x31d0b50, 52)) == 52235088);
assert(unsigned(flip_mask(0x31d0b54, 52)) == 52235092);
assert(unsigned(flip_mask(0x31d0b58, 52)) == 52235096);
assert(unsigned(flip_mask(0x31d0b5c, 52)) == 52235100);
assert(unsigned(flip_mask(0x31d0b60, 52)) == 52235104);
assert(unsigned(flip_mask(0x31d0b64, 52)) == 52235108);
assert(unsigned(flip_mask(0x31d0b68, 52)) == 52235112);
assert(unsigned(flip_mask(0x31d0b6c, 52)) == 52235116);
assert(unsigned(flip_mask(0x31d0b70, 52)) == 52235120);
assert(unsigned(flip_mask(0x31d0b74, 52)) == 52235124);
assert(unsigned(flip_mask(0x31d0b78, 52)) == 52235128);
assert(unsigned(flip_mask(0x31d0b7c, 52)) == 52235132);
assert(unsigned(flip_mask(0x31d0b80, 52)) == 52235136);
assert(unsigned(flip_mask(0x31d0b84, 52)) == 52235140);
assert(unsigned(flip_mask(0x31d0b88, 52)) == 52235144);
assert(unsigned(flip_mask(0x31d0b8c, 52)) == 52235148);
assert(unsigned(flip_mask(0x31d0b90, 52)) == 52235152);
assert(unsigned(flip_mask(0x31d0b94, 52)) == 52235156);
assert(unsigned(flip_mask(0x31d0b98, 52)) == 52235160);
assert(unsigned(flip_mask(0x31d0b9c, 52)) == 52235164);
assert(unsigned(flip_mask(0x31d0ba0, 52)) == 52235168);
assert(unsigned(flip_mask(0x31d0ba4, 52)) == 52235172);
assert(unsigned(flip_mask(0x31d0ba8, 52)) == 52235176);
assert(unsigned(flip_mask(0x31d0bac, 52)) == 52235180);
assert(unsigned(flip_mask(0x31d0bb0, 52)) == 52235184);
assert(unsigned(flip_mask(0x31d0bb4, 52)) == 52235188);
assert(unsigned(flip_mask(0x31d0bb8, 52)) == 52235192);
assert(unsigned(flip_mask(0x31d0bbc, 52)) == 52235196);
assert(unsigned(flip_mask(0x31d0bc0, 52)) == 52235200);
assert(unsigned(flip_mask(0x31d0bc4, 52)) == 52235204);
assert(unsigned(flip_mask(0x31d0bc8, 52)) == 52235208);
assert(unsigned(flip_mask(0x31d0bcc, 52)) == 52235212);
assert(unsigned(flip_mask(0x31d0bd0, 52)) == 52235216);
assert(unsigned(flip_mask(0x31d0bd4, 52)) == 52235220);
assert(unsigned(flip_mask(0x31d0bd8, 52)) == 52235224);
assert(unsigned(flip_mask(0x31d0bdc, 52)) == 52235228);
assert(unsigned(flip_mask(0x31d0be0, 52)) == 52235232);
assert(unsigned(flip_mask(0x31d0be4, 52)) == 52235236);
assert(unsigned(flip_mask(0x31d0be8, 52)) == 52235240);
assert(unsigned(flip_mask(0x31d0bec, 52)) == 52235244);
assert(unsigned(flip_mask(0x31d0bf0, 52)) == 52235248);
assert(unsigned(flip_mask(0x31d0bf4, 52)) == 52235252);
assert(unsigned(flip_mask(0x31d0bf8, 52)) == 52235256);
assert(unsigned(flip_mask(0x31d0bfc, 52)) == 52235260);
assert(unsigned(flip_mask(0x31d0c00, 52)) == 52235264);
assert(unsigned(flip_mask(0x31d0c04, 52)) == 52235268);
assert(unsigned(flip_mask(0x31d0c08, 52)) == 52235272);
assert(unsigned(flip_mask(0x31d0c0c, 52)) == 52235276);
assert(unsigned(flip_mask(0x31d0c1c, 52)) == 52235292);
assert(unsigned(flip_mask(0x31d0c20, 52)) == 52235296);
assert(unsigned(flip_mask(0x31d0c24, 52)) == 52235300);
assert(unsigned(flip_mask(0x31d0c28, 52)) == 52235304);
assert(unsigned(flip_mask(0x31d0c2c, 52)) == 52235308);
assert(unsigned(flip_mask(0x31d0c30, 52)) == 52235312);
assert(unsigned(flip_mask(0x31d0c34, 52)) == 52235316);
assert(unsigned(flip_mask(0x31d0c38, 52)) == 52235320);
assert(unsigned(flip_mask(0x31d0c3c, 52)) == 52235324);
assert(unsigned(flip_mask(0x31d0c48, 52)) == 52235336);
assert(unsigned(flip_mask(0x31d0c4c, 52)) == 52235340);
assert(unsigned(flip_mask(0x31d0c50, 52)) == 52235344);
assert(unsigned(flip_mask(0x31d0c54, 52)) == 52235348);
assert(unsigned(flip_mask(0x31d0c64, 52)) == 52235364);
assert(unsigned(flip_mask(0x31d0c68, 52)) == 52235368);
assert(unsigned(flip_mask(0x31d0c6c, 52)) == 52235372);
assert(unsigned(flip_mask(0x31d0c70, 52)) == 52235376);
assert(unsigned(flip_mask(0x31d0c74, 52)) == 52235380);
assert(unsigned(flip_mask(0x31d0c78, 52)) == 52235384);
assert(unsigned(flip_mask(0x31d0c7c, 52)) == 52235388);
assert(unsigned(flip_mask(0x31d0c80, 52)) == 52235392);
assert(unsigned(flip_mask(0x31d0c84, 52)) == 52235396);
assert(unsigned(flip_mask(0x31d0c88, 52)) == 52235400);
assert(unsigned(flip_mask(0x31d0c8c, 52)) == 52235404);
assert(unsigned(flip_mask(0x31d0c90, 52)) == 52235408);
assert(unsigned(flip_mask(0x31d0c94, 52)) == 52235412);
assert(unsigned(flip_mask(0x31d0c98, 52)) == 52235416);
assert(unsigned(flip_mask(0x31d0c9c, 52)) == 52235420);
assert(unsigned(flip_mask(0x31d0ca0, 52)) == 52235424);
assert(unsigned(flip_mask(0x31d0ca4, 52)) == 52235428);
assert(unsigned(flip_mask(0x31d0ca8, 52)) == 52235432);
assert(unsigned(flip_mask(0x31d0cac, 52)) == 52235436);
assert(unsigned(flip_mask(0x31d0cb0, 52)) == 52235440);
assert(unsigned(flip_mask(0x31d0cb4, 52)) == 52235444);
assert(unsigned(flip_mask(0x31d0cb8, 52)) == 52235448);
assert(unsigned(flip_mask(0x31d0cbc, 52)) == 52235452);
assert(unsigned(flip_mask(0x31d0cc0, 52)) == 52235456);
assert(unsigned(flip_mask(0x31d0cc4, 52)) == 52235460);
assert(unsigned(flip_mask(0x31d0cc8, 52)) == 52235464);
assert(unsigned(flip_mask(0x31d0ccc, 52)) == 52235468);
assert(unsigned(flip_mask(0x31d0cd0, 52)) == 52235472);
assert(unsigned(flip_mask(0x31d0cd4, 52)) == 52235476);
assert(unsigned(flip_mask(0x31d0cd8, 52)) == 52235480);
assert(unsigned(flip_mask(0x31d0cdc, 52)) == 52235484);
assert(unsigned(flip_mask(0x31d0ce0, 52)) == 52235488);
assert(unsigned(flip_mask(0x31d0ce4, 52)) == 52235492);
assert(unsigned(flip_mask(0x31d0ce8, 52)) == 52235496);
assert(unsigned(flip_mask(0x31d0cec, 52)) == 52235500);
assert(unsigned(flip_mask(0x31d0cf0, 52)) == 52235504);
assert(unsigned(flip_mask(0x31d0cf4, 52)) == 52235508);
assert(unsigned(flip_mask(0x31d0cf8, 52)) == 52235512);
assert(unsigned(flip_mask(0x31d0cfc, 52)) == 52235516);
assert(unsigned(flip_mask(0x31d0d00, 52)) == 52235520);
assert(unsigned(flip_mask(0x31d0d04, 52)) == 52235524);
assert(unsigned(flip_mask(0x31d0d08, 52)) == 52235528);
assert(unsigned(flip_mask(0x31d0d0c, 52)) == 52235532);
assert(unsigned(flip_mask(0x31d0d10, 52)) == 52235536);
assert(unsigned(flip_mask(0x31d0d14, 52)) == 52235540);
assert(unsigned(flip_mask(0x31d0d24, 52)) == 52235556);
assert(unsigned(flip_mask(0x31d0d28, 52)) == 52235560);
assert(unsigned(flip_mask(0x31d0d2c, 52)) == 52235564);
assert(unsigned(flip_mask(0x31d0d30, 52)) == 52235568);
assert(unsigned(flip_mask(0x31d0d34, 52)) == 52235572);
assert(unsigned(flip_mask(0x31d0d38, 52)) == 52235576);
assert(unsigned(flip_mask(0x31d0d3c, 52)) == 52235580);
assert(unsigned(flip_mask(0x31d0d48, 52)) == 52235592);
assert(unsigned(flip_mask(0x31d0d4c, 52)) == 52235596);
assert(unsigned(flip_mask(0x31d0d50, 52)) == 52235600);
assert(unsigned(flip_mask(0x31d0d54, 52)) == 52235604);
assert(unsigned(flip_mask(0x31d0d64, 52)) == 52235620);
assert(unsigned(flip_mask(0x31d0d68, 52)) == 52235624);
assert(unsigned(flip_mask(0x31d0d6c, 52)) == 52235628);
assert(unsigned(flip_mask(0x31d0d70, 52)) == 52235632);
assert(unsigned(flip_mask(0x31d0d74, 52)) == 52235636);
assert(unsigned(flip_mask(0x31d0d78, 52)) == 52235640);
assert(unsigned(flip_mask(0x31d0d7c, 52)) == 52235644);
assert(unsigned(flip_mask(0x31d0d80, 52)) == 52235648);
assert(unsigned(flip_mask(0x31d0d84, 52)) == 52235652);
assert(unsigned(flip_mask(0x31d0d88, 52)) == 52235656);
assert(unsigned(flip_mask(0x31d0d8c, 52)) == 52235660);
assert(unsigned(flip_mask(0x31d0d90, 52)) == 52235664);
assert(unsigned(flip_mask(0x31d0d94, 52)) == 52235668);
assert(unsigned(flip_mask(0x31d0d98, 52)) == 52235672);
assert(unsigned(flip_mask(0x31d0d9c, 52)) == 52235676);
assert(unsigned(flip_mask(0x31d0da0, 52)) == 52235680);
assert(unsigned(flip_mask(0x31d0da4, 52)) == 52235684);
assert(unsigned(flip_mask(0x31d0da8, 52)) == 52235688);
assert(unsigned(flip_mask(0x31d0dac, 52)) == 52235692);
assert(unsigned(flip_mask(0x31d0db0, 52)) == 52235696);
assert(unsigned(flip_mask(0x31d0db4, 52)) == 52235700);
assert(unsigned(flip_mask(0x31d0db8, 52)) == 52235704);
assert(unsigned(flip_mask(0x31d0dbc, 52)) == 52235708);
assert(unsigned(flip_mask(0x31d0dc0, 52)) == 52235712);
assert(unsigned(flip_mask(0x31d0dc4, 52)) == 52235716);
assert(unsigned(flip_mask(0x31d0dc8, 52)) == 52235720);
assert(unsigned(flip_mask(0x31d0dcc, 52)) == 52235724);
assert(unsigned(flip_mask(0x31d0dd0, 52)) == 52235728);
assert(unsigned(flip_mask(0x31d0dd4, 52)) == 52235732);
assert(unsigned(flip_mask(0x31d0dd8, 52)) == 52235736);
assert(unsigned(flip_mask(0x31d0ddc, 52)) == 52235740);
assert(unsigned(flip_mask(0x31d0de0, 52)) == 52235744);
assert(unsigned(flip_mask(0x31d0de4, 52)) == 52235748);
assert(unsigned(flip_mask(0x31d0de8, 52)) == 52235752);
assert(unsigned(flip_mask(0x31d0dec, 52)) == 52235756);
assert(unsigned(flip_mask(0x31d0df0, 52)) == 52235760);
assert(unsigned(flip_mask(0x31d0df4, 52)) == 52235764);
assert(unsigned(flip_mask(0x31d0df8, 52)) == 52235768);
assert(unsigned(flip_mask(0x31d0dfc, 52)) == 52235772);
assert(unsigned(flip_mask(0x31d0e00, 52)) == 52235776);
assert(unsigned(flip_mask(0x31d0e04, 52)) == 52235780);
assert(unsigned(flip_mask(0x31d0e08, 52)) == 52235784);
assert(unsigned(flip_mask(0x31d0e0c, 52)) == 52235788);
assert(unsigned(flip_mask(0x31d0e10, 52)) == 52235792);
assert(unsigned(flip_mask(0x31d0e14, 52)) == 52235796);
assert(unsigned(flip_mask(0x31d0e18, 52)) == 52235800);
assert(unsigned(flip_mask(0x31d0e1c, 52)) == 52235804);
assert(unsigned(flip_mask(0x31d0e20, 52)) == 52235808);
assert(unsigned(flip_mask(0x31d0e24, 52)) == 52235812);
assert(unsigned(flip_mask(0x31d0e28, 52)) == 52235816);
assert(unsigned(flip_mask(0x31d0e2c, 52)) == 52235820);
assert(unsigned(flip_mask(0x31d0e30, 52)) == 52235824);
assert(unsigned(flip_mask(0x31d0e34, 52)) == 52235828);
assert(unsigned(flip_mask(0x31d0e38, 52)) == 52235832);
assert(unsigned(flip_mask(0x31d0e40, 52)) == 52235840);
assert(unsigned(flip_mask(0x31d0e48, 52)) == 52235848);
assert(unsigned(flip_mask(0x31d0e50, 52)) == 52235856);
assert(unsigned(flip_mask(0x31d0e58, 52)) == 52235864);
assert(unsigned(flip_mask(0x31d0e5c, 52)) == 52235868);
assert(unsigned(flip_mask(0x31d0e60, 52)) == 52235872);
assert(unsigned(flip_mask(0x31d0e64, 52)) == 52235876);
assert(unsigned(flip_mask(0x31d0e68, 52)) == 52235880);
assert(unsigned(flip_mask(0x31d0e6c, 52)) == 52235884);
assert(unsigned(flip_mask(0x31d0e70, 52)) == 52235888);
assert(unsigned(flip_mask(0x31d0e74, 52)) == 52235892);
assert(unsigned(flip_mask(0x31d0e78, 52)) == 52235896);
assert(unsigned(flip_mask(0x31d0e7c, 52)) == 52235900);
assert(unsigned(flip_mask(0x31d0e80, 52)) == 52235904);
assert(unsigned(flip_mask(0x31d0e84, 52)) == 52235908);
assert(unsigned(flip_mask(0x31d0e88, 52)) == 52235912);
assert(unsigned(flip_mask(0x31d0e8c, 52)) == 52235916);
assert(unsigned(flip_mask(0x31d0f3c, 52)) == 52236092);
assert(unsigned(flip_mask(0x31d0f40, 52)) == 52236096);
assert(unsigned(flip_mask(0x31d0f44, 52)) == 52236100);
assert(unsigned(flip_mask(0x31d0f48, 52)) == 52236104);
assert(unsigned(flip_mask(0x31d0f4c, 52)) == 52236108);
assert(unsigned(flip_mask(0x31d0f50, 52)) == 52236112);
assert(unsigned(flip_mask(0x31d0f54, 52)) == 52236116);
assert(unsigned(flip_mask(0x31d0f58, 52)) == 52236120);
assert(unsigned(flip_mask(0x31d0f5c, 52)) == 52236124);
assert(unsigned(flip_mask(0x31d0f60, 52)) == 52236128);
assert(unsigned(flip_mask(0x31d0f64, 52)) == 52236132);
assert(unsigned(flip_mask(0x31d0f68, 52)) == 52236136);
assert(unsigned(flip_mask(0x31d0f6c, 52)) == 52236140);
assert(unsigned(flip_mask(0x31d0f70, 52)) == 52236144);
assert(unsigned(flip_mask(0x31d0f74, 52)) == 52236148);
assert(unsigned(flip_mask(0x31d0f78, 52)) == 52236152);
assert(unsigned(flip_mask(0x31d0f7c, 52)) == 52236156);
assert(unsigned(flip_mask(0x31d0f8c, 52)) == 52236172);
assert(unsigned(flip_mask(0x31d0f90, 52)) == 52236176);
assert(unsigned(flip_mask(0x31d0f94, 52)) == 52236180);
assert(unsigned(flip_mask(0x31d0f98, 52)) == 52236184);
assert(unsigned(flip_mask(0x31d0f9c, 52)) == 52236188);
assert(unsigned(flip_mask(0x31d0fa0, 52)) == 52236192);
assert(unsigned(flip_mask(0x31d0fb0, 52)) == 52236208);
assert(unsigned(flip_mask(0x31d0fb4, 52)) == 52236212);
assert(unsigned(flip_mask(0x31d0fb8, 52)) == 52236216);
assert(unsigned(flip_mask(0x31d0fbc, 52)) == 52236220);
assert(unsigned(flip_mask(0x31d0fc0, 52)) == 52236224);
assert(unsigned(flip_mask(0x31d0fc4, 52)) == 52236228);
assert(unsigned(flip_mask(0x31d105c, 52)) == 52236380);
assert(unsigned(flip_mask(0x31d1060, 52)) == 52236384);
assert(unsigned(flip_mask(0x31d1064, 52)) == 52236388);
assert(unsigned(flip_mask(0x31d1068, 52)) == 52236392);
assert(unsigned(flip_mask(0x31d106c, 52)) == 52236396);
assert(unsigned(flip_mask(0x31d1078, 52)) == 52236408);
assert(unsigned(flip_mask(0x31d107c, 52)) == 52236412);
assert(unsigned(flip_mask(0x31d1080, 52)) == 52236416);
assert(unsigned(flip_mask(0x31d1084, 52)) == 52236420);
assert(unsigned(flip_mask(0x31d1088, 52)) == 52236424);
assert(unsigned(flip_mask(0x31d108c, 52)) == 52236428);
assert(unsigned(flip_mask(0x31d1090, 52)) == 52236432);
assert(unsigned(flip_mask(0x31d1094, 52)) == 52236436);
assert(unsigned(flip_mask(0x31d10a0, 52)) == 52236448);
assert(unsigned(flip_mask(0x31d10a4, 52)) == 52236452);
assert(unsigned(flip_mask(0x31d10a8, 52)) == 52236456);
assert(unsigned(flip_mask(0x31d10b0, 52)) == 52236464);
assert(unsigned(flip_mask(0x31d10b8, 52)) == 52236472);
assert(unsigned(flip_mask(0x31d10bc, 52)) == 52236476);
assert(unsigned(flip_mask(0x31d10c0, 52)) == 52236480);
assert(unsigned(flip_mask(0x31d10c4, 52)) == 52236484);
assert(unsigned(flip_mask(0x31d10c8, 52)) == 52236488);
assert(unsigned(flip_mask(0x31d10cc, 52)) == 52236492);
assert(unsigned(flip_mask(0x31d10d0, 52)) == 52236496);
assert(unsigned(flip_mask(0x31d10d4, 52)) == 52236500);
assert(unsigned(flip_mask(0x31d10d8, 52)) == 52236504);
assert(unsigned(flip_mask(0x31d10dc, 52)) == 52236508);
assert(unsigned(flip_mask(0x31d10e0, 52)) == 52236512);
assert(unsigned(flip_mask(0x31d10e4, 52)) == 52236516);
assert(unsigned(flip_mask(0x31d10e8, 52)) == 52236520);
assert(unsigned(flip_mask(0x31d10ec, 52)) == 52236524);
assert(unsigned(flip_mask(0x31d10f0, 52)) == 52236528);
assert(unsigned(flip_mask(0x31d10f4, 52)) == 52236532);
assert(unsigned(flip_mask(0x31d10f8, 52)) == 52236536);
assert(unsigned(flip_mask(0x31d1100, 52)) == 52236544);
assert(unsigned(flip_mask(0x31d1108, 52)) == 52236552);
assert(unsigned(flip_mask(0x31d1110, 52)) == 52236560);
assert(unsigned(flip_mask(0x31d1118, 52)) == 52236568);
assert(unsigned(flip_mask(0x31d111c, 52)) == 52236572);
assert(unsigned(flip_mask(0x31d1120, 52)) == 52236576);
assert(unsigned(flip_mask(0x31d1124, 52)) == 52236580);
assert(unsigned(flip_mask(0x31d1128, 52)) == 52236584);
assert(unsigned(flip_mask(0x31d112c, 52)) == 52236588);
assert(unsigned(flip_mask(0x31d1130, 52)) == 52236592);
assert(unsigned(flip_mask(0x31d1134, 52)) == 52236596);
assert(unsigned(flip_mask(0x31d1138, 52)) == 52236600);
assert(unsigned(flip_mask(0x31d113c, 52)) == 52236604);
assert(unsigned(flip_mask(0x31d1140, 52)) == 52236608);
assert(unsigned(flip_mask(0x31d1144, 52)) == 52236612);
assert(unsigned(flip_mask(0x31d1148, 52)) == 52236616);
assert(unsigned(flip_mask(0x31d114c, 52)) == 52236620);
assert(unsigned(flip_mask(0x31d1150, 52)) == 52236624);
assert(unsigned(flip_mask(0x31d1154, 52)) == 52236628);
assert(unsigned(flip_mask(0x31d1158, 52)) == 52236632);
assert(unsigned(flip_mask(0x31d115c, 52)) == 52236636);
assert(unsigned(flip_mask(0x31d1160, 52)) == 52236640);
assert(unsigned(flip_mask(0x31d1164, 52)) == 52236644);
assert(unsigned(flip_mask(0x31d1168, 52)) == 52236648);
assert(unsigned(flip_mask(0x31d1170, 52)) == 52236656);
assert(unsigned(flip_mask(0x31d1178, 52)) == 52236664);
assert(unsigned(flip_mask(0x31d1180, 52)) == 52236672);
assert(unsigned(flip_mask(0x31d1184, 52)) == 52236676);
assert(unsigned(flip_mask(0x31d1188, 52)) == 52236680);
assert(unsigned(flip_mask(0x31d118c, 52)) == 52236684);
assert(unsigned(flip_mask(0x31d1190, 52)) == 52236688);
assert(unsigned(flip_mask(0x31d1194, 52)) == 52236692);
assert(unsigned(flip_mask(0x31d1198, 52)) == 52236696);
assert(unsigned(flip_mask(0x31d119c, 52)) == 52236700);
assert(unsigned(flip_mask(0x31d11a0, 52)) == 52236704);
assert(unsigned(flip_mask(0x31d11a4, 52)) == 52236708);
assert(unsigned(flip_mask(0x31d11a8, 52)) == 52236712);
assert(unsigned(flip_mask(0x31d11ac, 52)) == 52236716);
assert(unsigned(flip_mask(0x31d11b0, 52)) == 52236720);
assert(unsigned(flip_mask(0x31d11b4, 52)) == 52236724);
assert(unsigned(flip_mask(0x31d11b8, 52)) == 52236728);
assert(unsigned(flip_mask(0x31d11bc, 52)) == 52236732);
assert(unsigned(flip_mask(0x31d11c0, 52)) == 52236736);
assert(unsigned(flip_mask(0x31d11c4, 52)) == 52236740);
assert(unsigned(flip_mask(0x31d11c8, 52)) == 52236744);
assert(unsigned(flip_mask(0x31d11cc, 52)) == 52236748);
assert(unsigned(flip_mask(0x31d11d0, 52)) == 52236752);
assert(unsigned(flip_mask(0x31d11d4, 52)) == 52236756);
assert(unsigned(flip_mask(0x31d11d8, 52)) == 52236760);
assert(unsigned(flip_mask(0x31d11dc, 52)) == 52236764);
assert(unsigned(flip_mask(0x31d11e0, 52)) == 52236768);
assert(unsigned(flip_mask(0x31d11ec, 52)) == 52236780);
assert(unsigned(flip_mask(0x31d11f0, 52)) == 52236784);
assert(unsigned(flip_mask(0x31d11f8, 52)) == 52236792);
assert(unsigned(flip_mask(0x31d11fc, 52)) == 52236796);
assert(unsigned(flip_mask(0x31d1200, 52)) == 52236800);
assert(unsigned(flip_mask(0x31d1204, 52)) == 52236804);
assert(unsigned(flip_mask(0x31d1208, 52)) == 52236808);
assert(unsigned(flip_mask(0x31d120c, 52)) == 52236812);
assert(unsigned(flip_mask(0x31d1220, 52)) == 52236832);
assert(unsigned(flip_mask(0x31d1224, 52)) == 52236836);
assert(unsigned(flip_mask(0x31d1254, 52)) == 52236884);
assert(unsigned(flip_mask(0x31d1258, 52)) == 52236888);
assert(unsigned(flip_mask(0x31d125c, 52)) == 52236892);
assert(unsigned(flip_mask(0x31d129c, 52)) == 52236956);
assert(unsigned(flip_mask(0x31d12a0, 52)) == 52236960);
assert(unsigned(flip_mask(0x31d12a4, 52)) == 52236964);
assert(unsigned(flip_mask(0x31d12a8, 52)) == 52236968);
assert(unsigned(flip_mask(0x31d12ac, 52)) == 52236972);
assert(unsigned(flip_mask(0x31d12b0, 52)) == 52236976);
assert(unsigned(flip_mask(0x31d12b4, 52)) == 52236980);
assert(unsigned(flip_mask(0x31d12b8, 52)) == 52236984);
assert(unsigned(flip_mask(0x31d12bc, 52)) == 52236988);
assert(unsigned(flip_mask(0x31d12c0, 52)) == 52236992);
assert(unsigned(flip_mask(0x31d12c4, 52)) == 52236996);
assert(unsigned(flip_mask(0x31d12c8, 52)) == 52237000);
assert(unsigned(flip_mask(0x31d12cc, 52)) == 52237004);
assert(unsigned(flip_mask(0x31d12d0, 52)) == 52237008);
assert(unsigned(flip_mask(0x31d12d4, 52)) == 52237012);
assert(unsigned(flip_mask(0x31d12d8, 52)) == 52237016);
assert(unsigned(flip_mask(0x31d12dc, 52)) == 52237020);
assert(unsigned(flip_mask(0x31d12e0, 52)) == 52237024);
assert(unsigned(flip_mask(0x31d12e4, 52)) == 52237028);
assert(unsigned(flip_mask(0x31d12e8, 52)) == 52237032);
assert(unsigned(flip_mask(0x31d12ec, 52)) == 52237036);
assert(unsigned(flip_mask(0x31d12f0, 52)) == 52237040);
assert(unsigned(flip_mask(0x31d12f4, 52)) == 52237044);
assert(unsigned(flip_mask(0x31d12f8, 52)) == 52237048);
assert(unsigned(flip_mask(0x31d12fc, 52)) == 52237052);
assert(unsigned(flip_mask(0x31d1300, 52)) == 52237056);
assert(unsigned(flip_mask(0x31d1304, 52)) == 52237060);
assert(unsigned(flip_mask(0x31d1308, 52)) == 52237064);
assert(unsigned(flip_mask(0x31d130c, 52)) == 52237068);
assert(unsigned(flip_mask(0x31d1310, 52)) == 52237072);
assert(unsigned(flip_mask(0x31d1314, 52)) == 52237076);
assert(unsigned(flip_mask(0x31d1318, 52)) == 52237080);
assert(unsigned(flip_mask(0x31d131c, 52)) == 52237084);
assert(unsigned(flip_mask(0x31d1320, 52)) == 52237088);
assert(unsigned(flip_mask(0x31d1324, 52)) == 52237092);
assert(unsigned(flip_mask(0x31d1328, 52)) == 52237096);
assert(unsigned(flip_mask(0x31d132c, 52)) == 52237100);
assert(unsigned(flip_mask(0x31d1330, 52)) == 52237104);
assert(unsigned(flip_mask(0x31d1334, 52)) == 52237108);
assert(unsigned(flip_mask(0x31d1338, 52)) == 52237112);
assert(unsigned(flip_mask(0x31d133c, 52)) == 52237116);
assert(unsigned(flip_mask(0x31d1340, 52)) == 52237120);
assert(unsigned(flip_mask(0x31d1344, 52)) == 52237124);
assert(unsigned(flip_mask(0x31d1348, 52)) == 52237128);
assert(unsigned(flip_mask(0x31d134c, 52)) == 52237132);
assert(unsigned(flip_mask(0x31d1350, 52)) == 52237136);
assert(unsigned(flip_mask(0x31d1354, 52)) == 52237140);
assert(unsigned(flip_mask(0x31d1358, 52)) == 52237144);
assert(unsigned(flip_mask(0x31d135c, 52)) == 52237148);
assert(unsigned(flip_mask(0x31d1360, 52)) == 52237152);
assert(unsigned(flip_mask(0x31d1364, 52)) == 52237156);
assert(unsigned(flip_mask(0x31d1368, 52)) == 52237160);
assert(unsigned(flip_mask(0x31d136c, 52)) == 52237164);
assert(unsigned(flip_mask(0x31d1370, 52)) == 52237168);
assert(unsigned(flip_mask(0x31d1374, 52)) == 52237172);
assert(unsigned(flip_mask(0x31d1378, 52)) == 52237176);
assert(unsigned(flip_mask(0x31d137c, 52)) == 52237180);
assert(unsigned(flip_mask(0x31d1380, 52)) == 52237184);
assert(unsigned(flip_mask(0x31d1384, 52)) == 52237188);
assert(unsigned(flip_mask(0x31d1388, 52)) == 52237192);
assert(unsigned(flip_mask(0x31d1390, 52)) == 52237200);
assert(unsigned(flip_mask(0x31d1398, 52)) == 52237208);
assert(unsigned(flip_mask(0x31d13a0, 52)) == 52237216);
assert(unsigned(flip_mask(0x31d13a8, 52)) == 52237224);
assert(unsigned(flip_mask(0x31d13b0, 52)) == 52237232);
assert(unsigned(flip_mask(0x31d13b8, 52)) == 52237240);
assert(unsigned(flip_mask(0x31d13c0, 52)) == 52237248);
assert(unsigned(flip_mask(0x31d13c8, 52)) == 52237256);
assert(unsigned(flip_mask(0x31d13d0, 52)) == 52237264);
assert(unsigned(flip_mask(0x31d13d8, 52)) == 52237272);
assert(unsigned(flip_mask(0x31d13e0, 52)) == 52237280);
assert(unsigned(flip_mask(0x31d13e8, 52)) == 52237288);
assert(unsigned(flip_mask(0x31d13f0, 52)) == 52237296);
assert(unsigned(flip_mask(0x31d13f8, 52)) == 52237304);
assert(unsigned(flip_mask(0x31d1400, 52)) == 52237312);
assert(unsigned(flip_mask(0x31d1408, 52)) == 52237320);
assert(unsigned(flip_mask(0x31d1410, 52)) == 52237328);
assert(unsigned(flip_mask(0x31d1418, 52)) == 52237336);
assert(unsigned(flip_mask(0x31d1420, 52)) == 52237344);
assert(unsigned(flip_mask(0x31d1428, 52)) == 52237352);
assert(unsigned(flip_mask(0x31d1430, 52)) == 52237360);
assert(unsigned(flip_mask(0x31d1438, 52)) == 52237368);
assert(unsigned(flip_mask(0x31d1440, 52)) == 52237376);
assert(unsigned(flip_mask(0x31d1448, 52)) == 52237384);
assert(unsigned(flip_mask(0x31d1450, 52)) == 52237392);
assert(unsigned(flip_mask(0x31d1458, 52)) == 52237400);
assert(unsigned(flip_mask(0x31d1460, 52)) == 52237408);
assert(unsigned(flip_mask(0x31d1468, 52)) == 52237416);
assert(unsigned(flip_mask(0x31d1470, 52)) == 52237424);
assert(unsigned(flip_mask(0x31d1478, 52)) == 52237432);
assert(unsigned(flip_mask(0x31d1480, 52)) == 52237440);
assert(unsigned(flip_mask(0x31d1488, 52)) == 52237448);
assert(unsigned(flip_mask(0x31d1490, 52)) == 52237456);
assert(unsigned(flip_mask(0x31d1498, 52)) == 52237464);
assert(unsigned(flip_mask(0x31d14a0, 52)) == 52237472);
assert(unsigned(flip_mask(0x31d14a8, 52)) == 52237480);
assert(unsigned(flip_mask(0x31d14b0, 52)) == 52237488);
assert(unsigned(flip_mask(0x31d14b8, 52)) == 52237496);
assert(unsigned(flip_mask(0x31d14c0, 52)) == 52237504);
assert(unsigned(flip_mask(0x31d14c8, 52)) == 52237512);
assert(unsigned(flip_mask(0x31d14d0, 52)) == 52237520);
assert(unsigned(flip_mask(0x31d14d8, 52)) == 52237528);
assert(unsigned(flip_mask(0x31d14e0, 52)) == 52237536);
assert(unsigned(flip_mask(0x31d14e8, 52)) == 52237544);
assert(unsigned(flip_mask(0x31d14f0, 52)) == 52237552);
assert(unsigned(flip_mask(0x31d14f8, 52)) == 52237560);
assert(unsigned(flip_mask(0x31d1500, 52)) == 52237568);
assert(unsigned(flip_mask(0x31d1508, 52)) == 52237576);
assert(unsigned(flip_mask(0x31d1510, 52)) == 52237584);
assert(unsigned(flip_mask(0x31d1518, 52)) == 52237592);
assert(unsigned(flip_mask(0x31d1520, 52)) == 52237600);
assert(unsigned(flip_mask(0x31d1528, 52)) == 52237608);
assert(unsigned(flip_mask(0x31d1530, 52)) == 52237616);
assert(unsigned(flip_mask(0x31d1538, 52)) == 52237624);
assert(unsigned(flip_mask(0x31d1540, 52)) == 52237632);
assert(unsigned(flip_mask(0x31d1548, 52)) == 52237640);
assert(unsigned(flip_mask(0x31d1550, 52)) == 52237648);
assert(unsigned(flip_mask(0x31d1558, 52)) == 52237656);
assert(unsigned(flip_mask(0x31d1560, 52)) == 52237664);
assert(unsigned(flip_mask(0x31d1568, 52)) == 52237672);
assert(unsigned(flip_mask(0x31d1570, 52)) == 52237680);
assert(unsigned(flip_mask(0x31d1578, 52)) == 52237688);
assert(unsigned(flip_mask(0x31d1580, 52)) == 52237696);
assert(unsigned(flip_mask(0x31d1588, 52)) == 52237704);
assert(unsigned(flip_mask(0x31d1590, 52)) == 52237712);
assert(unsigned(flip_mask(0x31d1598, 52)) == 52237720);
assert(unsigned(flip_mask(0x31d15a0, 52)) == 52237728);
assert(unsigned(flip_mask(0x31d15a8, 52)) == 52237736);
assert(unsigned(flip_mask(0x31d15b0, 52)) == 52237744);
assert(unsigned(flip_mask(0x31d15b8, 52)) == 52237752);
assert(unsigned(flip_mask(0x31d15c0, 52)) == 52237760);
assert(unsigned(flip_mask(0x31d15c8, 52)) == 52237768);
assert(unsigned(flip_mask(0x31d15d0, 52)) == 52237776);
assert(unsigned(flip_mask(0x31d15d8, 52)) == 52237784);
assert(unsigned(flip_mask(0x31d15e0, 52)) == 52237792);
assert(unsigned(flip_mask(0x31d15e8, 52)) == 52237800);
assert(unsigned(flip_mask(0x31d15f0, 52)) == 52237808);
assert(unsigned(flip_mask(0x31d15f8, 52)) == 52237816);
assert(unsigned(flip_mask(0x31d1600, 52)) == 52237824);
assert(unsigned(flip_mask(0x31d1608, 52)) == 52237832);
assert(unsigned(flip_mask(0x31d1610, 52)) == 52237840);
assert(unsigned(flip_mask(0x31d1618, 52)) == 52237848);
assert(unsigned(flip_mask(0x31d1620, 52)) == 52237856);
assert(unsigned(flip_mask(0x31d1628, 52)) == 52237864);
assert(unsigned(flip_mask(0x31d1630, 52)) == 52237872);
assert(unsigned(flip_mask(0x31d1638, 52)) == 52237880);
assert(unsigned(flip_mask(0x31d1640, 52)) == 52237888);
assert(unsigned(flip_mask(0x31d1648, 52)) == 52237896);
assert(unsigned(flip_mask(0x31d1650, 52)) == 52237904);
assert(unsigned(flip_mask(0x31d1658, 52)) == 52237912);
assert(unsigned(flip_mask(0x31d1660, 52)) == 52237920);
assert(unsigned(flip_mask(0x31d1668, 52)) == 52237928);
assert(unsigned(flip_mask(0x31d1670, 52)) == 52237936);
assert(unsigned(flip_mask(0x31d1678, 52)) == 52237944);
assert(unsigned(flip_mask(0x31d1680, 52)) == 52237952);
assert(unsigned(flip_mask(0x31d1688, 52)) == 52237960);
assert(unsigned(flip_mask(0x31d1690, 52)) == 52237968);
assert(unsigned(flip_mask(0x31d1698, 52)) == 52237976);
assert(unsigned(flip_mask(0x31d16a0, 52)) == 52237984);
assert(unsigned(flip_mask(0x31d16a8, 52)) == 52237992);
assert(unsigned(flip_mask(0x31d16b0, 52)) == 52238000);
assert(unsigned(flip_mask(0x31d16b8, 52)) == 52238008);
assert(unsigned(flip_mask(0x31d16c0, 52)) == 52238016);
assert(unsigned(flip_mask(0x31d16c8, 52)) == 52238024);
assert(unsigned(flip_mask(0x31d16d0, 52)) == 52238032);
assert(unsigned(flip_mask(0x31d16d8, 52)) == 52238040);
assert(unsigned(flip_mask(0x31d16e0, 52)) == 52238048);
assert(unsigned(flip_mask(0x31d16e8, 52)) == 52238056);
assert(unsigned(flip_mask(0x31d16f0, 52)) == 52238064);
assert(unsigned(flip_mask(0x31d16f8, 52)) == 52238072);
assert(unsigned(flip_mask(0x31d1700, 52)) == 52238080);
assert(unsigned(flip_mask(0x31d1708, 52)) == 52238088);
assert(unsigned(flip_mask(0x31d1710, 52)) == 52238096);
assert(unsigned(flip_mask(0x31d1718, 52)) == 52238104);
assert(unsigned(flip_mask(0x31d1720, 52)) == 52238112);
assert(unsigned(flip_mask(0x31d1728, 52)) == 52238120);
assert(unsigned(flip_mask(0x31d1730, 52)) == 52238128);
assert(unsigned(flip_mask(0x31d1738, 52)) == 52238136);
assert(unsigned(flip_mask(0x31d1740, 52)) == 52238144);
assert(unsigned(flip_mask(0x31d1748, 52)) == 52238152);
assert(unsigned(flip_mask(0x31d1750, 52)) == 52238160);
assert(unsigned(flip_mask(0x31d1758, 52)) == 52238168);
assert(unsigned(flip_mask(0x31d1760, 52)) == 52238176);
assert(unsigned(flip_mask(0x31d1768, 52)) == 52238184);
assert(unsigned(flip_mask(0x31d1770, 52)) == 52238192);
assert(unsigned(flip_mask(0x31d1778, 52)) == 52238200);
assert(unsigned(flip_mask(0x31d17d0, 52)) == 52238288);
assert(unsigned(flip_mask(0x31d17d4, 52)) == 52238292);
assert(unsigned(flip_mask(0x31d17e0, 52)) == 52238304);
assert(unsigned(flip_mask(0x31d17e8, 52)) == 52238312);
assert(unsigned(flip_mask(0x31d17f0, 52)) == 52238320);
assert(unsigned(flip_mask(0x31d17f4, 52)) == 52238324);
assert(unsigned(flip_mask(0x31d17f8, 52)) == 52238328);
assert(unsigned(flip_mask(0x31d1800, 52)) == 52238336);
assert(unsigned(flip_mask(0x31d1808, 52)) == 52238344);
assert(unsigned(flip_mask(0x31d1810, 52)) == 52238352);
assert(unsigned(flip_mask(0x31d1818, 52)) == 52238360);
assert(unsigned(flip_mask(0x31d1820, 52)) == 52238368);
assert(unsigned(flip_mask(0x31d1828, 52)) == 52238376);
assert(unsigned(flip_mask(0x31d1830, 52)) == 52238384);
assert(unsigned(flip_mask(0x31d1838, 52)) == 52238392);
assert(unsigned(flip_mask(0x31d1840, 52)) == 52238400);
assert(unsigned(flip_mask(0x31d1848, 52)) == 52238408);
assert(unsigned(flip_mask(0x31d1850, 52)) == 52238416);
assert(unsigned(flip_mask(0x31d1858, 52)) == 52238424);
assert(unsigned(flip_mask(0x31d1860, 52)) == 52238432);
assert(unsigned(flip_mask(0x31d1868, 52)) == 52238440);
assert(unsigned(flip_mask(0x31d1870, 52)) == 52238448);
assert(unsigned(flip_mask(0x31d1878, 52)) == 52238456);
assert(unsigned(flip_mask(0x31d1880, 52)) == 52238464);
assert(unsigned(flip_mask(0x31d1888, 52)) == 52238472);
assert(unsigned(flip_mask(0x31d1890, 52)) == 52238480);
assert(unsigned(flip_mask(0x31d1898, 52)) == 52238488);
assert(unsigned(flip_mask(0x31d18a0, 52)) == 52238496);
assert(unsigned(flip_mask(0x31d18a8, 52)) == 52238504);
assert(unsigned(flip_mask(0x31d18b0, 52)) == 52238512);
assert(unsigned(flip_mask(0x31d18b8, 52)) == 52238520);
assert(unsigned(flip_mask(0x31d18c0, 52)) == 52238528);
assert(unsigned(flip_mask(0x31d18d0, 52)) == 52238544);
assert(unsigned(flip_mask(0x31d18d8, 52)) == 52238552);
assert(unsigned(flip_mask(0x31d18e0, 52)) == 52238560);
assert(unsigned(flip_mask(0x31d18e8, 52)) == 52238568);
assert(unsigned(flip_mask(0x31d18f0, 52)) == 52238576);
assert(unsigned(flip_mask(0x31d18f8, 52)) == 52238584);
assert(unsigned(flip_mask(0x31d1900, 52)) == 52238592);
assert(unsigned(flip_mask(0x31d1908, 52)) == 52238600);
assert(unsigned(flip_mask(0x31d1910, 52)) == 52238608);
assert(unsigned(flip_mask(0x31d1918, 52)) == 52238616);
assert(unsigned(flip_mask(0x31d1920, 52)) == 52238624);
assert(unsigned(flip_mask(0x31d1928, 52)) == 52238632);
assert(unsigned(flip_mask(0x31d1930, 52)) == 52238640);
assert(unsigned(flip_mask(0x31d1938, 52)) == 52238648);
assert(unsigned(flip_mask(0x31d1940, 52)) == 52238656);
assert(unsigned(flip_mask(0x31d1948, 52)) == 52238664);
assert(unsigned(flip_mask(0x31d1950, 52)) == 52238672);
assert(unsigned(flip_mask(0x31d1958, 52)) == 52238680);
assert(unsigned(flip_mask(0x31d1960, 52)) == 52238688);
assert(unsigned(flip_mask(0x31d1968, 52)) == 52238696);
assert(unsigned(flip_mask(0x31d1970, 52)) == 52238704);
assert(unsigned(flip_mask(0x31d1b80, 52)) == 52239232);
assert(unsigned(flip_mask(0x31d1b88, 52)) == 52239240);
assert(unsigned(flip_mask(0x31d1b90, 52)) == 52239248);
assert(unsigned(flip_mask(0x31d1b98, 52)) == 52239256);
assert(unsigned(flip_mask(0x31d1ba0, 52)) == 52239264);
assert(unsigned(flip_mask(0x31d1ba8, 52)) == 52239272);
assert(unsigned(flip_mask(0x31d1bb0, 52)) == 52239280);
assert(unsigned(flip_mask(0x31d1bb8, 52)) == 52239288);
assert(unsigned(flip_mask(0x31d1bc0, 52)) == 52239296);
assert(unsigned(flip_mask(0x31d1bc8, 52)) == 52239304);
assert(unsigned(flip_mask(0x31d1bd0, 52)) == 52239312);
assert(unsigned(flip_mask(0x31d1bd8, 52)) == 52239320);
assert(unsigned(flip_mask(0x31d1be0, 52)) == 52239328);
assert(unsigned(flip_mask(0x31d1be8, 52)) == 52239336);
assert(unsigned(flip_mask(0x31d1bf0, 52)) == 52239344);
assert(unsigned(flip_mask(0x31d1bf8, 52)) == 52239352);
assert(unsigned(flip_mask(0x31d1c00, 52)) == 52239360);
assert(unsigned(flip_mask(0x31d1c08, 52)) == 52239368);
assert(unsigned(flip_mask(0x31d1c10, 52)) == 52239376);
assert(unsigned(flip_mask(0x31d1c18, 52)) == 52239384);
assert(unsigned(flip_mask(0x31d1c20, 52)) == 52239392);
assert(unsigned(flip_mask(0x31d1c28, 52)) == 52239400);
assert(unsigned(flip_mask(0x31d1c2c, 52)) == 52239404);
assert(unsigned(flip_mask(0x31d1c30, 52)) == 52239408);
assert(unsigned(flip_mask(0x31d1c34, 52)) == 52239412);
assert(unsigned(flip_mask(0x31d1c38, 52)) == 52239416);
assert(unsigned(flip_mask(0x31d1c3c, 52)) == 52239420);
assert(unsigned(flip_mask(0x31d1c40, 52)) == 52239424);
assert(unsigned(flip_mask(0x31d1c44, 52)) == 52239428);
assert(unsigned(flip_mask(0x31d1c48, 52)) == 52239432);
assert(unsigned(flip_mask(0x31d1c4c, 52)) == 52239436);
assert(unsigned(flip_mask(0x31d1c50, 52)) == 52239440);
assert(unsigned(flip_mask(0x31d1c54, 52)) == 52239444);
assert(unsigned(flip_mask(0x31d1c58, 52)) == 52239448);
assert(unsigned(flip_mask(0x31d1c5c, 52)) == 52239452);
assert(unsigned(flip_mask(0x31d1c60, 52)) == 52239456);
assert(unsigned(flip_mask(0x31d1c64, 52)) == 52239460);
assert(unsigned(flip_mask(0x31d1c68, 52)) == 52239464);
assert(unsigned(flip_mask(0x31d1c6c, 52)) == 52239468);
assert(unsigned(flip_mask(0x31d1c70, 52)) == 52239472);
assert(unsigned(flip_mask(0x31d1c74, 52)) == 52239476);
assert(unsigned(flip_mask(0x31d1c78, 52)) == 52239480);
assert(unsigned(flip_mask(0x34000, 52)) == 212992);
assert(unsigned(flip_mask(0x34008, 52)) == 213000);
assert(unsigned(flip_mask(0x34018, 52)) == 213016);
assert(unsigned(flip_mask(0x34040, 52)) == 213056);
assert(unsigned(flip_mask(0x34048, 52)) == 213064);
assert(unsigned(flip_mask(0x38020, 52)) == 229408);
assert(unsigned(flip_mask(0x38028, 52)) == 229416);
assert(unsigned(flip_mask(0x38030, 52)) == 229424);
assert(unsigned(flip_mask(0x38038, 52)) == 229432);
assert(unsigned(flip_mask(0x38040, 52)) == 229440);
assert(unsigned(flip_mask(0x3e000, 52)) == 253952);
assert(unsigned(flip_mask(0x3f000000, 52)) == 1056964608);
assert(unsigned(flip_mask(0x3f070000, 52)) == 1057423360);
assert(unsigned(flip_mask(0x4000, 52)) == 16384);
assert(unsigned(flip_mask(0x400000, 52)) == 4194304);
assert(unsigned(flip_mask(0x40000000, 52)) == 1073741824);
assert(unsigned(flip_mask(0x400001, 52)) == 4194305);
assert(unsigned(flip_mask(0x400002, 52)) == 4194306);
assert(unsigned(flip_mask(0x400003, 52)) == 4194307);
assert(unsigned(flip_mask(0x400004, 52)) == 4194308);
assert(unsigned(flip_mask(0x400005, 52)) == 4194309);
assert(unsigned(flip_mask(0x400006, 52)) == 4194310);
assert(unsigned(flip_mask(0x400007, 52)) == 4194311);
assert(unsigned(flip_mask(0x400008, 52)) == 4194312);
assert(unsigned(flip_mask(0x400009, 52)) == 4194313);
assert(unsigned(flip_mask(0x40000a, 52)) == 4194314);
assert(unsigned(flip_mask(0x40000b, 52)) == 4194315);
assert(unsigned(flip_mask(0x40000c, 52)) == 4194316);
assert(unsigned(flip_mask(0x40000d, 52)) == 4194317);
assert(unsigned(flip_mask(0x40000e, 52)) == 4194318);
assert(unsigned(flip_mask(0x42000, 52)) == 270336);
assert(unsigned(flip_mask(0x43000, 52)) == 274432);
assert(unsigned(flip_mask(0x43018, 52)) == 274456);
assert(unsigned(flip_mask(0x43028, 52)) == 274472);
assert(unsigned(flip_mask(0x48428, 52)) == 295976);
assert(unsigned(flip_mask(0x4c800, 52)) == 313344);
assert(unsigned(flip_mask(0x50000000, 52)) == 1342177280);
assert(unsigned(flip_mask(0x54000, 52)) == 344064);
assert(unsigned(flip_mask(0x58000, 52)) == 360448);
assert(unsigned(flip_mask(0x5c000, 52)) == 376832);
assert(unsigned(flip_mask(0x5c008, 52)) == 376840);
assert(unsigned(flip_mask(0x5c018, 52)) == 376856);
assert(unsigned(flip_mask(0x5c020, 52)) == 376864);
assert(unsigned(flip_mask(0x5c028, 52)) == 376872);
assert(unsigned(flip_mask(0x5c040, 52)) == 376896);
assert(unsigned(flip_mask(0x5c048, 52)) == 376904);
assert(unsigned(flip_mask(0x5c068, 52)) == 376936);
assert(unsigned(flip_mask(0x60028, 52)) == 393256);
assert(unsigned(flip_mask(0x60030, 52)) == 393264);
assert(unsigned(flip_mask(0x60038, 52)) == 393272);
assert(unsigned(flip_mask(0x60040, 52)) == 393280);
assert(unsigned(flip_mask(0x60600, 52)) == 394752);
assert(unsigned(flip_mask(0x608000, 52)) == 6324224);
assert(unsigned(flip_mask(0x608004, 52)) == 6324228);
assert(unsigned(flip_mask(0x608008, 52)) == 6324232);
assert(unsigned(flip_mask(0x60800c, 52)) == 6324236);
assert(unsigned(flip_mask(0x608010, 52)) == 6324240);
assert(unsigned(flip_mask(0x608014, 52)) == 6324244);
assert(unsigned(flip_mask(0x608018, 52)) == 6324248);
assert(unsigned(flip_mask(0x60801c, 52)) == 6324252);
assert(unsigned(flip_mask(0x608020, 52)) == 6324256);
assert(unsigned(flip_mask(0x608024, 52)) == 6324260);
assert(unsigned(flip_mask(0x608028, 52)) == 6324264);
assert(unsigned(flip_mask(0x60802c, 52)) == 6324268);
assert(unsigned(flip_mask(0x608030, 52)) == 6324272);
assert(unsigned(flip_mask(0x608034, 52)) == 6324276);
assert(unsigned(flip_mask(0x608038, 52)) == 6324280);
assert(unsigned(flip_mask(0x60803c, 52)) == 6324284);
assert(unsigned(flip_mask(0x608040, 52)) == 6324288);
assert(unsigned(flip_mask(0x608044, 52)) == 6324292);
assert(unsigned(flip_mask(0x608048, 52)) == 6324296);
assert(unsigned(flip_mask(0x60804c, 52)) == 6324300);
assert(unsigned(flip_mask(0x608050, 52)) == 6324304);
assert(unsigned(flip_mask(0x608054, 52)) == 6324308);
assert(unsigned(flip_mask(0x608058, 52)) == 6324312);
assert(unsigned(flip_mask(0x60805c, 52)) == 6324316);
assert(unsigned(flip_mask(0x608060, 52)) == 6324320);
assert(unsigned(flip_mask(0x608064, 52)) == 6324324);
assert(unsigned(flip_mask(0x608068, 52)) == 6324328);
assert(unsigned(flip_mask(0x60806c, 52)) == 6324332);
assert(unsigned(flip_mask(0x608070, 52)) == 6324336);
assert(unsigned(flip_mask(0x608074, 52)) == 6324340);
assert(unsigned(flip_mask(0x608078, 52)) == 6324344);
assert(unsigned(flip_mask(0x60807c, 52)) == 6324348);
assert(unsigned(flip_mask(0x608080, 52)) == 6324352);
assert(unsigned(flip_mask(0x608088, 52)) == 6324360);
assert(unsigned(flip_mask(0x608090, 52)) == 6324368);
assert(unsigned(flip_mask(0x608094, 52)) == 6324372);
assert(unsigned(flip_mask(0x608098, 52)) == 6324376);
assert(unsigned(flip_mask(0x60809c, 52)) == 6324380);
assert(unsigned(flip_mask(0x6080a0, 52)) == 6324384);
assert(unsigned(flip_mask(0x6080a8, 52)) == 6324392);
assert(unsigned(flip_mask(0x6080ac, 52)) == 6324396);
assert(unsigned(flip_mask(0x6080b0, 52)) == 6324400);
assert(unsigned(flip_mask(0x6080b4, 52)) == 6324404);
assert(unsigned(flip_mask(0x6080b8, 52)) == 6324408);
assert(unsigned(flip_mask(0x6080bc, 52)) == 6324412);
assert(unsigned(flip_mask(0x6080c0, 52)) == 6324416);
assert(unsigned(flip_mask(0x6080c4, 52)) == 6324420);
assert(unsigned(flip_mask(0x6080c8, 52)) == 6324424);
assert(unsigned(flip_mask(0x6080cc, 52)) == 6324428);
assert(unsigned(flip_mask(0x6080d0, 52)) == 6324432);
assert(unsigned(flip_mask(0x6080d4, 52)) == 6324436);
assert(unsigned(flip_mask(0x6080d8, 52)) == 6324440);
assert(unsigned(flip_mask(0x6080dc, 52)) == 6324444);
assert(unsigned(flip_mask(0x6080e0, 52)) == 6324448);
assert(unsigned(flip_mask(0x6080e4, 52)) == 6324452);
assert(unsigned(flip_mask(0x6080e8, 52)) == 6324456);
assert(unsigned(flip_mask(0x6080ec, 52)) == 6324460);
assert(unsigned(flip_mask(0x6080f0, 52)) == 6324464);
assert(unsigned(flip_mask(0x6080f4, 52)) == 6324468);
assert(unsigned(flip_mask(0x6080f8, 52)) == 6324472);
assert(unsigned(flip_mask(0x6080fc, 52)) == 6324476);
assert(unsigned(flip_mask(0x608100, 52)) == 6324480);
assert(unsigned(flip_mask(0x608104, 52)) == 6324484);
assert(unsigned(flip_mask(0x608108, 52)) == 6324488);
assert(unsigned(flip_mask(0x60810c, 52)) == 6324492);
assert(unsigned(flip_mask(0x608110, 52)) == 6324496);
assert(unsigned(flip_mask(0x608114, 52)) == 6324500);
assert(unsigned(flip_mask(0x608118, 52)) == 6324504);
assert(unsigned(flip_mask(0x60811c, 52)) == 6324508);
assert(unsigned(flip_mask(0x608120, 52)) == 6324512);
assert(unsigned(flip_mask(0x608124, 52)) == 6324516);
assert(unsigned(flip_mask(0x608128, 52)) == 6324520);
assert(unsigned(flip_mask(0x60812c, 52)) == 6324524);
assert(unsigned(flip_mask(0x608130, 52)) == 6324528);
assert(unsigned(flip_mask(0x608134, 52)) == 6324532);
assert(unsigned(flip_mask(0x608138, 52)) == 6324536);
assert(unsigned(flip_mask(0x60813c, 52)) == 6324540);
assert(unsigned(flip_mask(0x608140, 52)) == 6324544);
assert(unsigned(flip_mask(0x608144, 52)) == 6324548);
assert(unsigned(flip_mask(0x608148, 52)) == 6324552);
assert(unsigned(flip_mask(0x60814c, 52)) == 6324556);
assert(unsigned(flip_mask(0x608150, 52)) == 6324560);
assert(unsigned(flip_mask(0x608154, 52)) == 6324564);
assert(unsigned(flip_mask(0x608158, 52)) == 6324568);
assert(unsigned(flip_mask(0x60815c, 52)) == 6324572);
assert(unsigned(flip_mask(0x608160, 52)) == 6324576);
assert(unsigned(flip_mask(0x608164, 52)) == 6324580);
assert(unsigned(flip_mask(0x608168, 52)) == 6324584);
assert(unsigned(flip_mask(0x60816c, 52)) == 6324588);
assert(unsigned(flip_mask(0x608170, 52)) == 6324592);
assert(unsigned(flip_mask(0x608174, 52)) == 6324596);
assert(unsigned(flip_mask(0x608178, 52)) == 6324600);
assert(unsigned(flip_mask(0x60817c, 52)) == 6324604);
assert(unsigned(flip_mask(0x608180, 52)) == 6324608);
assert(unsigned(flip_mask(0x608184, 52)) == 6324612);
assert(unsigned(flip_mask(0x608188, 52)) == 6324616);
assert(unsigned(flip_mask(0x60818c, 52)) == 6324620);
assert(unsigned(flip_mask(0x608190, 52)) == 6324624);
assert(unsigned(flip_mask(0x608194, 52)) == 6324628);
assert(unsigned(flip_mask(0x608198, 52)) == 6324632);
assert(unsigned(flip_mask(0x60819c, 52)) == 6324636);
assert(unsigned(flip_mask(0x6081a0, 52)) == 6324640);
assert(unsigned(flip_mask(0x6081a4, 52)) == 6324644);
assert(unsigned(flip_mask(0x6081a8, 52)) == 6324648);
assert(unsigned(flip_mask(0x6081ac, 52)) == 6324652);
assert(unsigned(flip_mask(0x6081b0, 52)) == 6324656);
assert(unsigned(flip_mask(0x6081b4, 52)) == 6324660);
assert(unsigned(flip_mask(0x6081b8, 52)) == 6324664);
assert(unsigned(flip_mask(0x6081bc, 52)) == 6324668);
assert(unsigned(flip_mask(0x6081c0, 52)) == 6324672);
assert(unsigned(flip_mask(0x6081c4, 52)) == 6324676);
assert(unsigned(flip_mask(0x6081c8, 52)) == 6324680);
assert(unsigned(flip_mask(0x6081cc, 52)) == 6324684);
assert(unsigned(flip_mask(0x6081d0, 52)) == 6324688);
assert(unsigned(flip_mask(0x6081d4, 52)) == 6324692);
assert(unsigned(flip_mask(0x6081d8, 52)) == 6324696);
assert(unsigned(flip_mask(0x6081dc, 52)) == 6324700);
assert(unsigned(flip_mask(0x6081e0, 52)) == 6324704);
assert(unsigned(flip_mask(0x6081e4, 52)) == 6324708);
assert(unsigned(flip_mask(0x6081e8, 52)) == 6324712);
assert(unsigned(flip_mask(0x6081ec, 52)) == 6324716);
assert(unsigned(flip_mask(0x6081f0, 52)) == 6324720);
assert(unsigned(flip_mask(0x6081f4, 52)) == 6324724);
assert(unsigned(flip_mask(0x6081f8, 52)) == 6324728);
assert(unsigned(flip_mask(0x6081fc, 52)) == 6324732);
assert(unsigned(flip_mask(0x608200, 52)) == 6324736);
assert(unsigned(flip_mask(0x608204, 52)) == 6324740);
assert(unsigned(flip_mask(0x608208, 52)) == 6324744);
assert(unsigned(flip_mask(0x60820c, 52)) == 6324748);
assert(unsigned(flip_mask(0x608210, 52)) == 6324752);
assert(unsigned(flip_mask(0x608214, 52)) == 6324756);
assert(unsigned(flip_mask(0x608218, 52)) == 6324760);
assert(unsigned(flip_mask(0x60821c, 52)) == 6324764);
assert(unsigned(flip_mask(0x608220, 52)) == 6324768);
assert(unsigned(flip_mask(0x608224, 52)) == 6324772);
assert(unsigned(flip_mask(0x608228, 52)) == 6324776);
assert(unsigned(flip_mask(0x60822c, 52)) == 6324780);
assert(unsigned(flip_mask(0x608230, 52)) == 6324784);
assert(unsigned(flip_mask(0x608234, 52)) == 6324788);
assert(unsigned(flip_mask(0x608238, 52)) == 6324792);
assert(unsigned(flip_mask(0x60823c, 52)) == 6324796);
assert(unsigned(flip_mask(0x608240, 52)) == 6324800);
assert(unsigned(flip_mask(0x608244, 52)) == 6324804);
assert(unsigned(flip_mask(0x608248, 52)) == 6324808);
assert(unsigned(flip_mask(0x60824c, 52)) == 6324812);
assert(unsigned(flip_mask(0x608250, 52)) == 6324816);
assert(unsigned(flip_mask(0x608254, 52)) == 6324820);
assert(unsigned(flip_mask(0x608258, 52)) == 6324824);
assert(unsigned(flip_mask(0x60825c, 52)) == 6324828);
assert(unsigned(flip_mask(0x608454, 52)) == 6325332);
assert(unsigned(flip_mask(0x608458, 52)) == 6325336);
assert(unsigned(flip_mask(0x60845c, 52)) == 6325340);
assert(unsigned(flip_mask(0x608460, 52)) == 6325344);
assert(unsigned(flip_mask(0x608464, 52)) == 6325348);
assert(unsigned(flip_mask(0x608468, 52)) == 6325352);
assert(unsigned(flip_mask(0x60846c, 52)) == 6325356);
assert(unsigned(flip_mask(0x608470, 52)) == 6325360);
assert(unsigned(flip_mask(0x608474, 52)) == 6325364);
assert(unsigned(flip_mask(0x608478, 52)) == 6325368);
assert(unsigned(flip_mask(0x60847c, 52)) == 6325372);
assert(unsigned(flip_mask(0x608480, 52)) == 6325376);
assert(unsigned(flip_mask(0x608484, 52)) == 6325380);
assert(unsigned(flip_mask(0x608488, 52)) == 6325384);
assert(unsigned(flip_mask(0x60848c, 52)) == 6325388);
assert(unsigned(flip_mask(0x608490, 52)) == 6325392);
assert(unsigned(flip_mask(0x608494, 52)) == 6325396);
assert(unsigned(flip_mask(0x608498, 52)) == 6325400);
assert(unsigned(flip_mask(0x60849c, 52)) == 6325404);
assert(unsigned(flip_mask(0x6084a0, 52)) == 6325408);
assert(unsigned(flip_mask(0x6084a4, 52)) == 6325412);
assert(unsigned(flip_mask(0x6084a8, 52)) == 6325416);
assert(unsigned(flip_mask(0x6084ac, 52)) == 6325420);
assert(unsigned(flip_mask(0x6084b0, 52)) == 6325424);
assert(unsigned(flip_mask(0x6084b4, 52)) == 6325428);
assert(unsigned(flip_mask(0x6084b8, 52)) == 6325432);
assert(unsigned(flip_mask(0x6084bc, 52)) == 6325436);
assert(unsigned(flip_mask(0x6084c0, 52)) == 6325440);
assert(unsigned(flip_mask(0x6084c4, 52)) == 6325444);
assert(unsigned(flip_mask(0x6084c8, 52)) == 6325448);
assert(unsigned(flip_mask(0x6084cc, 52)) == 6325452);
assert(unsigned(flip_mask(0x6084d0, 52)) == 6325456);
assert(unsigned(flip_mask(0x6084d8, 52)) == 6325464);
assert(unsigned(flip_mask(0x6084e0, 52)) == 6325472);
assert(unsigned(flip_mask(0x6084e4, 52)) == 6325476);
assert(unsigned(flip_mask(0x6084e8, 52)) == 6325480);
assert(unsigned(flip_mask(0x6084ec, 52)) == 6325484);
assert(unsigned(flip_mask(0x6084f0, 52)) == 6325488);
assert(unsigned(flip_mask(0x6084f4, 52)) == 6325492);
assert(unsigned(flip_mask(0x6084f8, 52)) == 6325496);
assert(unsigned(flip_mask(0x6084fc, 52)) == 6325500);
assert(unsigned(flip_mask(0x608500, 52)) == 6325504);
assert(unsigned(flip_mask(0x608504, 52)) == 6325508);
assert(unsigned(flip_mask(0x608508, 52)) == 6325512);
assert(unsigned(flip_mask(0x60850c, 52)) == 6325516);
assert(unsigned(flip_mask(0x608510, 52)) == 6325520);
assert(unsigned(flip_mask(0x608514, 52)) == 6325524);
assert(unsigned(flip_mask(0x608518, 52)) == 6325528);
assert(unsigned(flip_mask(0x60851c, 52)) == 6325532);
assert(unsigned(flip_mask(0x608520, 52)) == 6325536);
assert(unsigned(flip_mask(0x608524, 52)) == 6325540);
assert(unsigned(flip_mask(0x608528, 52)) == 6325544);
assert(unsigned(flip_mask(0x60852c, 52)) == 6325548);
assert(unsigned(flip_mask(0x608530, 52)) == 6325552);
assert(unsigned(flip_mask(0x608534, 52)) == 6325556);
assert(unsigned(flip_mask(0x608538, 52)) == 6325560);
assert(unsigned(flip_mask(0x60853c, 52)) == 6325564);
assert(unsigned(flip_mask(0x608540, 52)) == 6325568);
assert(unsigned(flip_mask(0x608544, 52)) == 6325572);
assert(unsigned(flip_mask(0x608548, 52)) == 6325576);
assert(unsigned(flip_mask(0x608804, 52)) == 6326276);
assert(unsigned(flip_mask(0x608808, 52)) == 6326280);
assert(unsigned(flip_mask(0x60880c, 52)) == 6326284);
assert(unsigned(flip_mask(0x608810, 52)) == 6326288);
assert(unsigned(flip_mask(0x608814, 52)) == 6326292);
assert(unsigned(flip_mask(0x608818, 52)) == 6326296);
assert(unsigned(flip_mask(0x62000, 52)) == 401408);
assert(unsigned(flip_mask(0x62400, 52)) == 402432);
assert(unsigned(flip_mask(0x62600, 52)) == 402944);
assert(unsigned(flip_mask(0x627f0, 52)) == 403440);
assert(unsigned(flip_mask(0x62800, 52)) == 403456);
assert(unsigned(flip_mask(0x62810, 52)) == 403472);
assert(unsigned(flip_mask(0x62a00, 52)) == 403968);
assert(unsigned(flip_mask(0x66400, 52)) == 418816);
assert(unsigned(flip_mask(0x68400, 52)) == 427008);
assert(unsigned(flip_mask(0x68a00, 52)) == 428544);
assert(unsigned(flip_mask(0x6cc00, 52)) == 445440);
assert(unsigned(flip_mask(0x70400, 52)) == 459776);
assert(unsigned(flip_mask(0x70a00, 52)) == 461312);
assert(unsigned(flip_mask(0x70c00, 52)) == 461824);
assert(unsigned(flip_mask(0x72000, 52)) == 466944);
assert(unsigned(flip_mask(0x72c05c, 52)) == 7520348);
assert(unsigned(flip_mask(0x72c060, 52)) == 7520352);
assert(unsigned(flip_mask(0x72c064, 52)) == 7520356);
assert(unsigned(flip_mask(0x730368, 52)) == 7537512);
assert(unsigned(flip_mask(0x73036c, 52)) == 7537516);
assert(unsigned(flip_mask(0x730370, 52)) == 7537520);
assert(unsigned(flip_mask(0x7304b8, 52)) == 7537848);
assert(unsigned(flip_mask(0x7304bc, 52)) == 7537852);
assert(unsigned(flip_mask(0x7304c0, 52)) == 7537856);
assert(unsigned(flip_mask(0x730608, 52)) == 7538184);
assert(unsigned(flip_mask(0x73060c, 52)) == 7538188);
assert(unsigned(flip_mask(0x730610, 52)) == 7538192);
assert(unsigned(flip_mask(0x730910, 52)) == 7538960);
assert(unsigned(flip_mask(0x730914, 52)) == 7538964);
assert(unsigned(flip_mask(0x730918, 52)) == 7538968);
assert(unsigned(flip_mask(0x734754, 52)) == 7554900);
assert(unsigned(flip_mask(0x734758, 52)) == 7554904);
assert(unsigned(flip_mask(0x73475c, 52)) == 7554908);
assert(unsigned(flip_mask(0x7348a4, 52)) == 7555236);
assert(unsigned(flip_mask(0x7348a8, 52)) == 7555240);
assert(unsigned(flip_mask(0x7348ac, 52)) == 7555244);
assert(unsigned(flip_mask(0x738000, 52)) == 7569408);
assert(unsigned(flip_mask(0x738004, 52)) == 7569412);
assert(unsigned(flip_mask(0x738005, 52)) == 7569413);
assert(unsigned(flip_mask(0x738006, 52)) == 7569414);
assert(unsigned(flip_mask(0x738007, 52)) == 7569415);
assert(unsigned(flip_mask(0x738008, 52)) == 7569416);
assert(unsigned(flip_mask(0x738009, 52)) == 7569417);
assert(unsigned(flip_mask(0x73800a, 52)) == 7569418);
assert(unsigned(flip_mask(0x73800b, 52)) == 7569419);
assert(unsigned(flip_mask(0x73800c, 52)) == 7569420);
assert(unsigned(flip_mask(0x73800d, 52)) == 7569421);
assert(unsigned(flip_mask(0x73800e, 52)) == 7569422);
assert(unsigned(flip_mask(0x73800f, 52)) == 7569423);
assert(unsigned(flip_mask(0x738010, 52)) == 7569424);
assert(unsigned(flip_mask(0x738011, 52)) == 7569425);
assert(unsigned(flip_mask(0x738014, 52)) == 7569428);
assert(unsigned(flip_mask(0x738018, 52)) == 7569432);
assert(unsigned(flip_mask(0x73801c, 52)) == 7569436);
assert(unsigned(flip_mask(0x738020, 52)) == 7569440);
assert(unsigned(flip_mask(0x738024, 52)) == 7569444);
assert(unsigned(flip_mask(0x738028, 52)) == 7569448);
assert(unsigned(flip_mask(0x73802c, 52)) == 7569452);
assert(unsigned(flip_mask(0x738030, 52)) == 7569456);
assert(unsigned(flip_mask(0x738038, 52)) == 7569464);
assert(unsigned(flip_mask(0x73803c, 52)) == 7569468);
assert(unsigned(flip_mask(0x738044, 52)) == 7569476);
assert(unsigned(flip_mask(0x738048, 52)) == 7569480);
assert(unsigned(flip_mask(0x73804c, 52)) == 7569484);
assert(unsigned(flip_mask(0x738050, 52)) == 7569488);
assert(unsigned(flip_mask(0x738054, 52)) == 7569492);
assert(unsigned(flip_mask(0x738058, 52)) == 7569496);
assert(unsigned(flip_mask(0x73805c, 52)) == 7569500);
assert(unsigned(flip_mask(0x738060, 52)) == 7569504);
assert(unsigned(flip_mask(0x738064, 52)) == 7569508);
assert(unsigned(flip_mask(0x738068, 52)) == 7569512);
assert(unsigned(flip_mask(0x738070, 52)) == 7569520);
assert(unsigned(flip_mask(0x738074, 52)) == 7569524);
assert(unsigned(flip_mask(0x738080, 52)) == 7569536);
assert(unsigned(flip_mask(0x738084, 52)) == 7569540);
assert(unsigned(flip_mask(0x738088, 52)) == 7569544);
assert(unsigned(flip_mask(0x73808c, 52)) == 7569548);
assert(unsigned(flip_mask(0x738090, 52)) == 7569552);
assert(unsigned(flip_mask(0x738094, 52)) == 7569556);
assert(unsigned(flip_mask(0x738098, 52)) == 7569560);
assert(unsigned(flip_mask(0x73809c, 52)) == 7569564);
assert(unsigned(flip_mask(0x7380a0, 52)) == 7569568);
assert(unsigned(flip_mask(0x7380a4, 52)) == 7569572);
assert(unsigned(flip_mask(0x7380a8, 52)) == 7569576);
assert(unsigned(flip_mask(0x7380ac, 52)) == 7569580);
assert(unsigned(flip_mask(0x7380b0, 52)) == 7569584);
assert(unsigned(flip_mask(0x7380b4, 52)) == 7569588);
assert(unsigned(flip_mask(0x7380b8, 52)) == 7569592);
assert(unsigned(flip_mask(0x7380bc, 52)) == 7569596);
assert(unsigned(flip_mask(0x7380c0, 52)) == 7569600);
assert(unsigned(flip_mask(0x7380c4, 52)) == 7569604);
assert(unsigned(flip_mask(0x7380c8, 52)) == 7569608);
assert(unsigned(flip_mask(0x7380cc, 52)) == 7569612);
assert(unsigned(flip_mask(0x7380d0, 52)) == 7569616);
assert(unsigned(flip_mask(0x7380d4, 52)) == 7569620);
assert(unsigned(flip_mask(0x7380d8, 52)) == 7569624);
assert(unsigned(flip_mask(0x7380dc, 52)) == 7569628);
assert(unsigned(flip_mask(0x7380e0, 52)) == 7569632);
assert(unsigned(flip_mask(0x7380e4, 52)) == 7569636);
assert(unsigned(flip_mask(0x7380e8, 52)) == 7569640);
assert(unsigned(flip_mask(0x7380ec, 52)) == 7569644);
assert(unsigned(flip_mask(0x7380f0, 52)) == 7569648);
assert(unsigned(flip_mask(0x7380f4, 52)) == 7569652);
assert(unsigned(flip_mask(0x7380f8, 52)) == 7569656);
assert(unsigned(flip_mask(0x738100, 52)) == 7569664);
assert(unsigned(flip_mask(0x738104, 52)) == 7569668);
assert(unsigned(flip_mask(0x738108, 52)) == 7569672);
assert(unsigned(flip_mask(0x73810c, 52)) == 7569676);
assert(unsigned(flip_mask(0x738110, 52)) == 7569680);
assert(unsigned(flip_mask(0x738114, 52)) == 7569684);
assert(unsigned(flip_mask(0x738118, 52)) == 7569688);
assert(unsigned(flip_mask(0x73811c, 52)) == 7569692);
assert(unsigned(flip_mask(0x738120, 52)) == 7569696);
assert(unsigned(flip_mask(0x738124, 52)) == 7569700);
assert(unsigned(flip_mask(0x738128, 52)) == 7569704);
assert(unsigned(flip_mask(0x73812c, 52)) == 7569708);
assert(unsigned(flip_mask(0x738130, 52)) == 7569712);
assert(unsigned(flip_mask(0x738134, 52)) == 7569716);
assert(unsigned(flip_mask(0x738138, 52)) == 7569720);
assert(unsigned(flip_mask(0x73813c, 52)) == 7569724);
assert(unsigned(flip_mask(0x738140, 52)) == 7569728);
assert(unsigned(flip_mask(0x738148, 52)) == 7569736);
assert(unsigned(flip_mask(0x73814c, 52)) == 7569740);
assert(unsigned(flip_mask(0x738154, 52)) == 7569748);
assert(unsigned(flip_mask(0x738158, 52)) == 7569752);
assert(unsigned(flip_mask(0x73815c, 52)) == 7569756);
assert(unsigned(flip_mask(0x738160, 52)) == 7569760);
assert(unsigned(flip_mask(0x738164, 52)) == 7569764);
assert(unsigned(flip_mask(0x738168, 52)) == 7569768);
assert(unsigned(flip_mask(0x73816c, 52)) == 7569772);
assert(unsigned(flip_mask(0x738170, 52)) == 7569776);
assert(unsigned(flip_mask(0x738174, 52)) == 7569780);
assert(unsigned(flip_mask(0x738178, 52)) == 7569784);
assert(unsigned(flip_mask(0x73817c, 52)) == 7569788);
assert(unsigned(flip_mask(0x738180, 52)) == 7569792);
assert(unsigned(flip_mask(0x738184, 52)) == 7569796);
assert(unsigned(flip_mask(0x738188, 52)) == 7569800);
assert(unsigned(flip_mask(0x738190, 52)) == 7569808);
assert(unsigned(flip_mask(0x738194, 52)) == 7569812);
assert(unsigned(flip_mask(0x738198, 52)) == 7569816);
assert(unsigned(flip_mask(0x73819c, 52)) == 7569820);
assert(unsigned(flip_mask(0x7381a0, 52)) == 7569824);
assert(unsigned(flip_mask(0x7381a4, 52)) == 7569828);
assert(unsigned(flip_mask(0x7381a8, 52)) == 7569832);
}
|