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
|
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(0x7381ac, 52)) == 7569836);
assert(unsigned(flip_mask(0x7381b0, 52)) == 7569840);
assert(unsigned(flip_mask(0x7381b4, 52)) == 7569844);
assert(unsigned(flip_mask(0x7381b8, 52)) == 7569848);
assert(unsigned(flip_mask(0x7381bc, 52)) == 7569852);
assert(unsigned(flip_mask(0x7381c0, 52)) == 7569856);
assert(unsigned(flip_mask(0x7381c4, 52)) == 7569860);
assert(unsigned(flip_mask(0x7381c8, 52)) == 7569864);
assert(unsigned(flip_mask(0x7381cc, 52)) == 7569868);
assert(unsigned(flip_mask(0x7381d0, 52)) == 7569872);
assert(unsigned(flip_mask(0x7381d8, 52)) == 7569880);
assert(unsigned(flip_mask(0x7381dc, 52)) == 7569884);
assert(unsigned(flip_mask(0x7381e4, 52)) == 7569892);
assert(unsigned(flip_mask(0x7381e8, 52)) == 7569896);
assert(unsigned(flip_mask(0x7381ec, 52)) == 7569900);
assert(unsigned(flip_mask(0x7381f0, 52)) == 7569904);
assert(unsigned(flip_mask(0x7381f4, 52)) == 7569908);
assert(unsigned(flip_mask(0x7381f8, 52)) == 7569912);
assert(unsigned(flip_mask(0x7381fc, 52)) == 7569916);
assert(unsigned(flip_mask(0x738200, 52)) == 7569920);
assert(unsigned(flip_mask(0x738204, 52)) == 7569924);
assert(unsigned(flip_mask(0x738208, 52)) == 7569928);
assert(unsigned(flip_mask(0x73820c, 52)) == 7569932);
assert(unsigned(flip_mask(0x738210, 52)) == 7569936);
assert(unsigned(flip_mask(0x738214, 52)) == 7569940);
assert(unsigned(flip_mask(0x73821c, 52)) == 7569948);
assert(unsigned(flip_mask(0x738220, 52)) == 7569952);
assert(unsigned(flip_mask(0x73822c, 52)) == 7569964);
assert(unsigned(flip_mask(0x738230, 52)) == 7569968);
assert(unsigned(flip_mask(0x738234, 52)) == 7569972);
assert(unsigned(flip_mask(0x738238, 52)) == 7569976);
assert(unsigned(flip_mask(0x73823c, 52)) == 7569980);
assert(unsigned(flip_mask(0x738240, 52)) == 7569984);
assert(unsigned(flip_mask(0x738244, 52)) == 7569988);
assert(unsigned(flip_mask(0x738248, 52)) == 7569992);
assert(unsigned(flip_mask(0x73824c, 52)) == 7569996);
assert(unsigned(flip_mask(0x738250, 52)) == 7570000);
assert(unsigned(flip_mask(0x738254, 52)) == 7570004);
assert(unsigned(flip_mask(0x738258, 52)) == 7570008);
assert(unsigned(flip_mask(0x73825c, 52)) == 7570012);
assert(unsigned(flip_mask(0x738260, 52)) == 7570016);
assert(unsigned(flip_mask(0x738264, 52)) == 7570020);
assert(unsigned(flip_mask(0x738268, 52)) == 7570024);
assert(unsigned(flip_mask(0x73826c, 52)) == 7570028);
assert(unsigned(flip_mask(0x738270, 52)) == 7570032);
assert(unsigned(flip_mask(0x738274, 52)) == 7570036);
assert(unsigned(flip_mask(0x738278, 52)) == 7570040);
assert(unsigned(flip_mask(0x73827c, 52)) == 7570044);
assert(unsigned(flip_mask(0x738280, 52)) == 7570048);
assert(unsigned(flip_mask(0x738284, 52)) == 7570052);
assert(unsigned(flip_mask(0x738288, 52)) == 7570056);
assert(unsigned(flip_mask(0x73828c, 52)) == 7570060);
assert(unsigned(flip_mask(0x738290, 52)) == 7570064);
assert(unsigned(flip_mask(0x738294, 52)) == 7570068);
assert(unsigned(flip_mask(0x738298, 52)) == 7570072);
assert(unsigned(flip_mask(0x73829c, 52)) == 7570076);
assert(unsigned(flip_mask(0x7382a0, 52)) == 7570080);
assert(unsigned(flip_mask(0x7382a4, 52)) == 7570084);
assert(unsigned(flip_mask(0x7382a8, 52)) == 7570088);
assert(unsigned(flip_mask(0x7382ac, 52)) == 7570092);
assert(unsigned(flip_mask(0x7382b0, 52)) == 7570096);
assert(unsigned(flip_mask(0x7382b4, 52)) == 7570100);
assert(unsigned(flip_mask(0x7382b8, 52)) == 7570104);
assert(unsigned(flip_mask(0x7382bc, 52)) == 7570108);
assert(unsigned(flip_mask(0x7382c0, 52)) == 7570112);
assert(unsigned(flip_mask(0x7382c4, 52)) == 7570116);
assert(unsigned(flip_mask(0x7382c8, 52)) == 7570120);
assert(unsigned(flip_mask(0x7382cc, 52)) == 7570124);
assert(unsigned(flip_mask(0x7382d0, 52)) == 7570128);
assert(unsigned(flip_mask(0x7382d4, 52)) == 7570132);
assert(unsigned(flip_mask(0x7382d8, 52)) == 7570136);
assert(unsigned(flip_mask(0x7382dc, 52)) == 7570140);
assert(unsigned(flip_mask(0x7382e0, 52)) == 7570144);
assert(unsigned(flip_mask(0x7382e4, 52)) == 7570148);
assert(unsigned(flip_mask(0x7382e8, 52)) == 7570152);
assert(unsigned(flip_mask(0x7382ec, 52)) == 7570156);
assert(unsigned(flip_mask(0x7382f0, 52)) == 7570160);
assert(unsigned(flip_mask(0x7382f4, 52)) == 7570164);
assert(unsigned(flip_mask(0x7382f8, 52)) == 7570168);
assert(unsigned(flip_mask(0x7382fc, 52)) == 7570172);
assert(unsigned(flip_mask(0x738300, 52)) == 7570176);
assert(unsigned(flip_mask(0x738304, 52)) == 7570180);
assert(unsigned(flip_mask(0x738308, 52)) == 7570184);
assert(unsigned(flip_mask(0x73830c, 52)) == 7570188);
assert(unsigned(flip_mask(0x738310, 52)) == 7570192);
assert(unsigned(flip_mask(0x738314, 52)) == 7570196);
assert(unsigned(flip_mask(0x738318, 52)) == 7570200);
assert(unsigned(flip_mask(0x73831c, 52)) == 7570204);
assert(unsigned(flip_mask(0x738320, 52)) == 7570208);
assert(unsigned(flip_mask(0x738324, 52)) == 7570212);
assert(unsigned(flip_mask(0x738328, 52)) == 7570216);
assert(unsigned(flip_mask(0x73832c, 52)) == 7570220);
assert(unsigned(flip_mask(0x738330, 52)) == 7570224);
assert(unsigned(flip_mask(0x738334, 52)) == 7570228);
assert(unsigned(flip_mask(0x738338, 52)) == 7570232);
assert(unsigned(flip_mask(0x73833c, 52)) == 7570236);
assert(unsigned(flip_mask(0x738340, 52)) == 7570240);
assert(unsigned(flip_mask(0x738344, 52)) == 7570244);
assert(unsigned(flip_mask(0x738348, 52)) == 7570248);
assert(unsigned(flip_mask(0x73834c, 52)) == 7570252);
assert(unsigned(flip_mask(0x738350, 52)) == 7570256);
assert(unsigned(flip_mask(0x738354, 52)) == 7570260);
assert(unsigned(flip_mask(0x738358, 52)) == 7570264);
assert(unsigned(flip_mask(0x73835c, 52)) == 7570268);
assert(unsigned(flip_mask(0x738360, 52)) == 7570272);
assert(unsigned(flip_mask(0x738364, 52)) == 7570276);
assert(unsigned(flip_mask(0x738368, 52)) == 7570280);
assert(unsigned(flip_mask(0x73836c, 52)) == 7570284);
assert(unsigned(flip_mask(0x738370, 52)) == 7570288);
assert(unsigned(flip_mask(0x738374, 52)) == 7570292);
assert(unsigned(flip_mask(0x738378, 52)) == 7570296);
assert(unsigned(flip_mask(0x73837c, 52)) == 7570300);
assert(unsigned(flip_mask(0x738380, 52)) == 7570304);
assert(unsigned(flip_mask(0x738384, 52)) == 7570308);
assert(unsigned(flip_mask(0x738388, 52)) == 7570312);
assert(unsigned(flip_mask(0x73838c, 52)) == 7570316);
assert(unsigned(flip_mask(0x738390, 52)) == 7570320);
assert(unsigned(flip_mask(0x738394, 52)) == 7570324);
assert(unsigned(flip_mask(0x738398, 52)) == 7570328);
assert(unsigned(flip_mask(0x73839c, 52)) == 7570332);
assert(unsigned(flip_mask(0x7383a0, 52)) == 7570336);
assert(unsigned(flip_mask(0x7383a4, 52)) == 7570340);
assert(unsigned(flip_mask(0x7383a8, 52)) == 7570344);
assert(unsigned(flip_mask(0x7383ac, 52)) == 7570348);
assert(unsigned(flip_mask(0x7383b0, 52)) == 7570352);
assert(unsigned(flip_mask(0x7383b8, 52)) == 7570360);
assert(unsigned(flip_mask(0x7383bc, 52)) == 7570364);
assert(unsigned(flip_mask(0x7383c4, 52)) == 7570372);
assert(unsigned(flip_mask(0x7383c8, 52)) == 7570376);
assert(unsigned(flip_mask(0x7383cc, 52)) == 7570380);
assert(unsigned(flip_mask(0x7383d0, 52)) == 7570384);
assert(unsigned(flip_mask(0x7383d4, 52)) == 7570388);
assert(unsigned(flip_mask(0x7383d8, 52)) == 7570392);
assert(unsigned(flip_mask(0x7383dc, 52)) == 7570396);
assert(unsigned(flip_mask(0x7383e0, 52)) == 7570400);
assert(unsigned(flip_mask(0x7383e4, 52)) == 7570404);
assert(unsigned(flip_mask(0x7383e8, 52)) == 7570408);
assert(unsigned(flip_mask(0x7383ec, 52)) == 7570412);
assert(unsigned(flip_mask(0x7383f4, 52)) == 7570420);
assert(unsigned(flip_mask(0x7383f8, 52)) == 7570424);
assert(unsigned(flip_mask(0x738404, 52)) == 7570436);
assert(unsigned(flip_mask(0x738408, 52)) == 7570440);
assert(unsigned(flip_mask(0x73840c, 52)) == 7570444);
assert(unsigned(flip_mask(0x738410, 52)) == 7570448);
assert(unsigned(flip_mask(0x738414, 52)) == 7570452);
assert(unsigned(flip_mask(0x738418, 52)) == 7570456);
assert(unsigned(flip_mask(0x73841c, 52)) == 7570460);
assert(unsigned(flip_mask(0x738420, 52)) == 7570464);
assert(unsigned(flip_mask(0x738424, 52)) == 7570468);
assert(unsigned(flip_mask(0x738428, 52)) == 7570472);
assert(unsigned(flip_mask(0x73842c, 52)) == 7570476);
assert(unsigned(flip_mask(0x738430, 52)) == 7570480);
assert(unsigned(flip_mask(0x738434, 52)) == 7570484);
assert(unsigned(flip_mask(0x738438, 52)) == 7570488);
assert(unsigned(flip_mask(0x73843c, 52)) == 7570492);
assert(unsigned(flip_mask(0x738440, 52)) == 7570496);
assert(unsigned(flip_mask(0x738444, 52)) == 7570500);
assert(unsigned(flip_mask(0x738448, 52)) == 7570504);
assert(unsigned(flip_mask(0x73844c, 52)) == 7570508);
assert(unsigned(flip_mask(0x738450, 52)) == 7570512);
assert(unsigned(flip_mask(0x738454, 52)) == 7570516);
assert(unsigned(flip_mask(0x738458, 52)) == 7570520);
assert(unsigned(flip_mask(0x73845c, 52)) == 7570524);
assert(unsigned(flip_mask(0x738460, 52)) == 7570528);
assert(unsigned(flip_mask(0x738464, 52)) == 7570532);
assert(unsigned(flip_mask(0x738468, 52)) == 7570536);
assert(unsigned(flip_mask(0x73846c, 52)) == 7570540);
assert(unsigned(flip_mask(0x738470, 52)) == 7570544);
assert(unsigned(flip_mask(0x738474, 52)) == 7570548);
assert(unsigned(flip_mask(0x738478, 52)) == 7570552);
assert(unsigned(flip_mask(0x73847c, 52)) == 7570556);
assert(unsigned(flip_mask(0x738480, 52)) == 7570560);
assert(unsigned(flip_mask(0x738484, 52)) == 7570564);
assert(unsigned(flip_mask(0x738488, 52)) == 7570568);
assert(unsigned(flip_mask(0x73848c, 52)) == 7570572);
assert(unsigned(flip_mask(0x738490, 52)) == 7570576);
assert(unsigned(flip_mask(0x738494, 52)) == 7570580);
assert(unsigned(flip_mask(0x738498, 52)) == 7570584);
assert(unsigned(flip_mask(0x73849c, 52)) == 7570588);
assert(unsigned(flip_mask(0x7384a0, 52)) == 7570592);
assert(unsigned(flip_mask(0x7384a4, 52)) == 7570596);
assert(unsigned(flip_mask(0x7384a8, 52)) == 7570600);
assert(unsigned(flip_mask(0x7384ac, 52)) == 7570604);
assert(unsigned(flip_mask(0x7384b0, 52)) == 7570608);
assert(unsigned(flip_mask(0x7384b4, 52)) == 7570612);
assert(unsigned(flip_mask(0x7384b8, 52)) == 7570616);
assert(unsigned(flip_mask(0x7384bc, 52)) == 7570620);
assert(unsigned(flip_mask(0x7384c0, 52)) == 7570624);
assert(unsigned(flip_mask(0x7384c4, 52)) == 7570628);
assert(unsigned(flip_mask(0x7384c8, 52)) == 7570632);
assert(unsigned(flip_mask(0x7384cc, 52)) == 7570636);
assert(unsigned(flip_mask(0x7384d0, 52)) == 7570640);
assert(unsigned(flip_mask(0x7384d4, 52)) == 7570644);
assert(unsigned(flip_mask(0x7384d8, 52)) == 7570648);
assert(unsigned(flip_mask(0x7384dc, 52)) == 7570652);
assert(unsigned(flip_mask(0x7384e0, 52)) == 7570656);
assert(unsigned(flip_mask(0x7384e4, 52)) == 7570660);
assert(unsigned(flip_mask(0x7384e8, 52)) == 7570664);
assert(unsigned(flip_mask(0x7384ec, 52)) == 7570668);
assert(unsigned(flip_mask(0x7384f0, 52)) == 7570672);
assert(unsigned(flip_mask(0x7384f4, 52)) == 7570676);
assert(unsigned(flip_mask(0x7384f8, 52)) == 7570680);
assert(unsigned(flip_mask(0x7384fc, 52)) == 7570684);
assert(unsigned(flip_mask(0x738500, 52)) == 7570688);
assert(unsigned(flip_mask(0x738508, 52)) == 7570696);
assert(unsigned(flip_mask(0x73850c, 52)) == 7570700);
assert(unsigned(flip_mask(0x738514, 52)) == 7570708);
assert(unsigned(flip_mask(0x738518, 52)) == 7570712);
assert(unsigned(flip_mask(0x73851c, 52)) == 7570716);
assert(unsigned(flip_mask(0x738520, 52)) == 7570720);
assert(unsigned(flip_mask(0x738524, 52)) == 7570724);
assert(unsigned(flip_mask(0x738528, 52)) == 7570728);
assert(unsigned(flip_mask(0x73852c, 52)) == 7570732);
assert(unsigned(flip_mask(0x738530, 52)) == 7570736);
assert(unsigned(flip_mask(0x738534, 52)) == 7570740);
assert(unsigned(flip_mask(0x738538, 52)) == 7570744);
assert(unsigned(flip_mask(0x73853c, 52)) == 7570748);
assert(unsigned(flip_mask(0x738544, 52)) == 7570756);
assert(unsigned(flip_mask(0x738548, 52)) == 7570760);
assert(unsigned(flip_mask(0x738554, 52)) == 7570772);
assert(unsigned(flip_mask(0x738558, 52)) == 7570776);
assert(unsigned(flip_mask(0x73855c, 52)) == 7570780);
assert(unsigned(flip_mask(0x738560, 52)) == 7570784);
assert(unsigned(flip_mask(0x738564, 52)) == 7570788);
assert(unsigned(flip_mask(0x738568, 52)) == 7570792);
assert(unsigned(flip_mask(0x73856c, 52)) == 7570796);
assert(unsigned(flip_mask(0x738570, 52)) == 7570800);
assert(unsigned(flip_mask(0x738574, 52)) == 7570804);
assert(unsigned(flip_mask(0x738578, 52)) == 7570808);
assert(unsigned(flip_mask(0x73857c, 52)) == 7570812);
assert(unsigned(flip_mask(0x738580, 52)) == 7570816);
assert(unsigned(flip_mask(0x738584, 52)) == 7570820);
assert(unsigned(flip_mask(0x738588, 52)) == 7570824);
assert(unsigned(flip_mask(0x73858c, 52)) == 7570828);
assert(unsigned(flip_mask(0x738590, 52)) == 7570832);
assert(unsigned(flip_mask(0x738594, 52)) == 7570836);
assert(unsigned(flip_mask(0x738598, 52)) == 7570840);
assert(unsigned(flip_mask(0x73859c, 52)) == 7570844);
assert(unsigned(flip_mask(0x7385a0, 52)) == 7570848);
assert(unsigned(flip_mask(0x7385a4, 52)) == 7570852);
assert(unsigned(flip_mask(0x7385a8, 52)) == 7570856);
assert(unsigned(flip_mask(0x7385ac, 52)) == 7570860);
assert(unsigned(flip_mask(0x7385b0, 52)) == 7570864);
assert(unsigned(flip_mask(0x7385b4, 52)) == 7570868);
assert(unsigned(flip_mask(0x7385b8, 52)) == 7570872);
assert(unsigned(flip_mask(0x7385bc, 52)) == 7570876);
assert(unsigned(flip_mask(0x7385c0, 52)) == 7570880);
assert(unsigned(flip_mask(0x7385c4, 52)) == 7570884);
assert(unsigned(flip_mask(0x7385c8, 52)) == 7570888);
assert(unsigned(flip_mask(0x7385cc, 52)) == 7570892);
assert(unsigned(flip_mask(0x7385d0, 52)) == 7570896);
assert(unsigned(flip_mask(0x7385d4, 52)) == 7570900);
assert(unsigned(flip_mask(0x7385d8, 52)) == 7570904);
assert(unsigned(flip_mask(0x7385dc, 52)) == 7570908);
assert(unsigned(flip_mask(0x7385e0, 52)) == 7570912);
assert(unsigned(flip_mask(0x7385e4, 52)) == 7570916);
assert(unsigned(flip_mask(0x7385e8, 52)) == 7570920);
assert(unsigned(flip_mask(0x7385ec, 52)) == 7570924);
assert(unsigned(flip_mask(0x7385f0, 52)) == 7570928);
assert(unsigned(flip_mask(0x7385f4, 52)) == 7570932);
assert(unsigned(flip_mask(0x7385f8, 52)) == 7570936);
assert(unsigned(flip_mask(0x7385fc, 52)) == 7570940);
assert(unsigned(flip_mask(0x738600, 52)) == 7570944);
assert(unsigned(flip_mask(0x738604, 52)) == 7570948);
assert(unsigned(flip_mask(0x738608, 52)) == 7570952);
assert(unsigned(flip_mask(0x73860c, 52)) == 7570956);
assert(unsigned(flip_mask(0x738610, 52)) == 7570960);
assert(unsigned(flip_mask(0x738614, 52)) == 7570964);
assert(unsigned(flip_mask(0x738618, 52)) == 7570968);
assert(unsigned(flip_mask(0x73861c, 52)) == 7570972);
assert(unsigned(flip_mask(0x738620, 52)) == 7570976);
assert(unsigned(flip_mask(0x738624, 52)) == 7570980);
assert(unsigned(flip_mask(0x738628, 52)) == 7570984);
assert(unsigned(flip_mask(0x73862c, 52)) == 7570988);
assert(unsigned(flip_mask(0x738630, 52)) == 7570992);
assert(unsigned(flip_mask(0x738634, 52)) == 7570996);
assert(unsigned(flip_mask(0x738638, 52)) == 7571000);
assert(unsigned(flip_mask(0x73863c, 52)) == 7571004);
assert(unsigned(flip_mask(0x738640, 52)) == 7571008);
assert(unsigned(flip_mask(0x738644, 52)) == 7571012);
assert(unsigned(flip_mask(0x738648, 52)) == 7571016);
assert(unsigned(flip_mask(0x73864c, 52)) == 7571020);
assert(unsigned(flip_mask(0x738650, 52)) == 7571024);
assert(unsigned(flip_mask(0x738658, 52)) == 7571032);
assert(unsigned(flip_mask(0x73865c, 52)) == 7571036);
assert(unsigned(flip_mask(0x738664, 52)) == 7571044);
assert(unsigned(flip_mask(0x738668, 52)) == 7571048);
assert(unsigned(flip_mask(0x73866c, 52)) == 7571052);
assert(unsigned(flip_mask(0x738670, 52)) == 7571056);
assert(unsigned(flip_mask(0x738674, 52)) == 7571060);
assert(unsigned(flip_mask(0x738678, 52)) == 7571064);
assert(unsigned(flip_mask(0x73867c, 52)) == 7571068);
assert(unsigned(flip_mask(0x738680, 52)) == 7571072);
assert(unsigned(flip_mask(0x738684, 52)) == 7571076);
assert(unsigned(flip_mask(0x738688, 52)) == 7571080);
assert(unsigned(flip_mask(0x73868c, 52)) == 7571084);
assert(unsigned(flip_mask(0x738694, 52)) == 7571092);
assert(unsigned(flip_mask(0x738698, 52)) == 7571096);
assert(unsigned(flip_mask(0x7386a4, 52)) == 7571108);
assert(unsigned(flip_mask(0x7386a8, 52)) == 7571112);
assert(unsigned(flip_mask(0x7386ac, 52)) == 7571116);
assert(unsigned(flip_mask(0x7386b0, 52)) == 7571120);
assert(unsigned(flip_mask(0x7386b4, 52)) == 7571124);
assert(unsigned(flip_mask(0x7386b8, 52)) == 7571128);
assert(unsigned(flip_mask(0x7386bc, 52)) == 7571132);
assert(unsigned(flip_mask(0x7386c0, 52)) == 7571136);
assert(unsigned(flip_mask(0x7386c4, 52)) == 7571140);
assert(unsigned(flip_mask(0x7386c8, 52)) == 7571144);
assert(unsigned(flip_mask(0x7386cc, 52)) == 7571148);
assert(unsigned(flip_mask(0x7386d0, 52)) == 7571152);
assert(unsigned(flip_mask(0x7386d4, 52)) == 7571156);
assert(unsigned(flip_mask(0x7386d8, 52)) == 7571160);
assert(unsigned(flip_mask(0x7386dc, 52)) == 7571164);
assert(unsigned(flip_mask(0x7386e0, 52)) == 7571168);
assert(unsigned(flip_mask(0x7386e4, 52)) == 7571172);
assert(unsigned(flip_mask(0x7386e8, 52)) == 7571176);
assert(unsigned(flip_mask(0x7386ec, 52)) == 7571180);
assert(unsigned(flip_mask(0x7386f0, 52)) == 7571184);
assert(unsigned(flip_mask(0x7386f4, 52)) == 7571188);
assert(unsigned(flip_mask(0x7386f8, 52)) == 7571192);
assert(unsigned(flip_mask(0x7386fc, 52)) == 7571196);
assert(unsigned(flip_mask(0x738700, 52)) == 7571200);
assert(unsigned(flip_mask(0x738704, 52)) == 7571204);
assert(unsigned(flip_mask(0x738708, 52)) == 7571208);
assert(unsigned(flip_mask(0x73870c, 52)) == 7571212);
assert(unsigned(flip_mask(0x738710, 52)) == 7571216);
assert(unsigned(flip_mask(0x738714, 52)) == 7571220);
assert(unsigned(flip_mask(0x738724, 52)) == 7571236);
assert(unsigned(flip_mask(0x738728, 52)) == 7571240);
assert(unsigned(flip_mask(0x73872c, 52)) == 7571244);
assert(unsigned(flip_mask(0x738730, 52)) == 7571248);
assert(unsigned(flip_mask(0x738734, 52)) == 7571252);
assert(unsigned(flip_mask(0x738738, 52)) == 7571256);
assert(unsigned(flip_mask(0x73873c, 52)) == 7571260);
assert(unsigned(flip_mask(0x738740, 52)) == 7571264);
assert(unsigned(flip_mask(0x738744, 52)) == 7571268);
assert(unsigned(flip_mask(0x738748, 52)) == 7571272);
assert(unsigned(flip_mask(0x73874c, 52)) == 7571276);
assert(unsigned(flip_mask(0x738750, 52)) == 7571280);
assert(unsigned(flip_mask(0x738754, 52)) == 7571284);
assert(unsigned(flip_mask(0x738758, 52)) == 7571288);
assert(unsigned(flip_mask(0x73875c, 52)) == 7571292);
assert(unsigned(flip_mask(0x738760, 52)) == 7571296);
assert(unsigned(flip_mask(0x738764, 52)) == 7571300);
assert(unsigned(flip_mask(0x738768, 52)) == 7571304);
assert(unsigned(flip_mask(0x73876c, 52)) == 7571308);
assert(unsigned(flip_mask(0x738770, 52)) == 7571312);
assert(unsigned(flip_mask(0x738774, 52)) == 7571316);
assert(unsigned(flip_mask(0x738778, 52)) == 7571320);
assert(unsigned(flip_mask(0x73877c, 52)) == 7571324);
assert(unsigned(flip_mask(0x738780, 52)) == 7571328);
assert(unsigned(flip_mask(0x738784, 52)) == 7571332);
assert(unsigned(flip_mask(0x738788, 52)) == 7571336);
assert(unsigned(flip_mask(0x73878c, 52)) == 7571340);
assert(unsigned(flip_mask(0x738790, 52)) == 7571344);
assert(unsigned(flip_mask(0x738794, 52)) == 7571348);
assert(unsigned(flip_mask(0x738798, 52)) == 7571352);
assert(unsigned(flip_mask(0x73879c, 52)) == 7571356);
assert(unsigned(flip_mask(0x7387a4, 52)) == 7571364);
assert(unsigned(flip_mask(0x7387a8, 52)) == 7571368);
assert(unsigned(flip_mask(0x7387b0, 52)) == 7571376);
assert(unsigned(flip_mask(0x7387b4, 52)) == 7571380);
assert(unsigned(flip_mask(0x7387b8, 52)) == 7571384);
assert(unsigned(flip_mask(0x7387bc, 52)) == 7571388);
assert(unsigned(flip_mask(0x7387c0, 52)) == 7571392);
assert(unsigned(flip_mask(0x7387c4, 52)) == 7571396);
assert(unsigned(flip_mask(0x7387c8, 52)) == 7571400);
assert(unsigned(flip_mask(0x7387cc, 52)) == 7571404);
assert(unsigned(flip_mask(0x7387d0, 52)) == 7571408);
assert(unsigned(flip_mask(0x7387d4, 52)) == 7571412);
assert(unsigned(flip_mask(0x7387d8, 52)) == 7571416);
assert(unsigned(flip_mask(0x7387e0, 52)) == 7571424);
assert(unsigned(flip_mask(0x7387e4, 52)) == 7571428);
assert(unsigned(flip_mask(0x7387f0, 52)) == 7571440);
assert(unsigned(flip_mask(0x7387f4, 52)) == 7571444);
assert(unsigned(flip_mask(0x7387f8, 52)) == 7571448);
assert(unsigned(flip_mask(0x7387fc, 52)) == 7571452);
assert(unsigned(flip_mask(0x738800, 52)) == 7571456);
assert(unsigned(flip_mask(0x738804, 52)) == 7571460);
assert(unsigned(flip_mask(0x738808, 52)) == 7571464);
assert(unsigned(flip_mask(0x73880c, 52)) == 7571468);
assert(unsigned(flip_mask(0x738810, 52)) == 7571472);
assert(unsigned(flip_mask(0x738814, 52)) == 7571476);
assert(unsigned(flip_mask(0x738818, 52)) == 7571480);
assert(unsigned(flip_mask(0x73881c, 52)) == 7571484);
assert(unsigned(flip_mask(0x738820, 52)) == 7571488);
assert(unsigned(flip_mask(0x738824, 52)) == 7571492);
assert(unsigned(flip_mask(0x738828, 52)) == 7571496);
assert(unsigned(flip_mask(0x73882c, 52)) == 7571500);
assert(unsigned(flip_mask(0x738830, 52)) == 7571504);
assert(unsigned(flip_mask(0x738834, 52)) == 7571508);
assert(unsigned(flip_mask(0x738838, 52)) == 7571512);
assert(unsigned(flip_mask(0x73883c, 52)) == 7571516);
assert(unsigned(flip_mask(0x738840, 52)) == 7571520);
assert(unsigned(flip_mask(0x738844, 52)) == 7571524);
assert(unsigned(flip_mask(0x738848, 52)) == 7571528);
assert(unsigned(flip_mask(0x73884c, 52)) == 7571532);
assert(unsigned(flip_mask(0x738850, 52)) == 7571536);
assert(unsigned(flip_mask(0x738854, 52)) == 7571540);
assert(unsigned(flip_mask(0x738858, 52)) == 7571544);
assert(unsigned(flip_mask(0x73885c, 52)) == 7571548);
assert(unsigned(flip_mask(0x738860, 52)) == 7571552);
assert(unsigned(flip_mask(0x738864, 52)) == 7571556);
assert(unsigned(flip_mask(0x738868, 52)) == 7571560);
assert(unsigned(flip_mask(0x73886c, 52)) == 7571564);
assert(unsigned(flip_mask(0x738870, 52)) == 7571568);
assert(unsigned(flip_mask(0x738874, 52)) == 7571572);
assert(unsigned(flip_mask(0x738878, 52)) == 7571576);
assert(unsigned(flip_mask(0x73887c, 52)) == 7571580);
assert(unsigned(flip_mask(0x738880, 52)) == 7571584);
assert(unsigned(flip_mask(0x738884, 52)) == 7571588);
assert(unsigned(flip_mask(0x738888, 52)) == 7571592);
assert(unsigned(flip_mask(0x73888c, 52)) == 7571596);
assert(unsigned(flip_mask(0x738890, 52)) == 7571600);
assert(unsigned(flip_mask(0x738894, 52)) == 7571604);
assert(unsigned(flip_mask(0x738898, 52)) == 7571608);
assert(unsigned(flip_mask(0x73889c, 52)) == 7571612);
assert(unsigned(flip_mask(0x7388a0, 52)) == 7571616);
assert(unsigned(flip_mask(0x7388a4, 52)) == 7571620);
assert(unsigned(flip_mask(0x7388a8, 52)) == 7571624);
assert(unsigned(flip_mask(0x7388ac, 52)) == 7571628);
assert(unsigned(flip_mask(0x7388b0, 52)) == 7571632);
assert(unsigned(flip_mask(0x7388b4, 52)) == 7571636);
assert(unsigned(flip_mask(0x7388b8, 52)) == 7571640);
assert(unsigned(flip_mask(0x7388bc, 52)) == 7571644);
assert(unsigned(flip_mask(0x7388c0, 52)) == 7571648);
assert(unsigned(flip_mask(0x7388c4, 52)) == 7571652);
assert(unsigned(flip_mask(0x7388c8, 52)) == 7571656);
assert(unsigned(flip_mask(0x7388cc, 52)) == 7571660);
assert(unsigned(flip_mask(0x7388d0, 52)) == 7571664);
assert(unsigned(flip_mask(0x7388d4, 52)) == 7571668);
assert(unsigned(flip_mask(0x7388d8, 52)) == 7571672);
assert(unsigned(flip_mask(0x7388dc, 52)) == 7571676);
assert(unsigned(flip_mask(0x7388e0, 52)) == 7571680);
assert(unsigned(flip_mask(0x7388e4, 52)) == 7571684);
assert(unsigned(flip_mask(0x7388e8, 52)) == 7571688);
assert(unsigned(flip_mask(0x7388ec, 52)) == 7571692);
assert(unsigned(flip_mask(0x7388f0, 52)) == 7571696);
assert(unsigned(flip_mask(0x7388f4, 52)) == 7571700);
assert(unsigned(flip_mask(0x7388f8, 52)) == 7571704);
assert(unsigned(flip_mask(0x7388fc, 52)) == 7571708);
assert(unsigned(flip_mask(0x738900, 52)) == 7571712);
assert(unsigned(flip_mask(0x738904, 52)) == 7571716);
assert(unsigned(flip_mask(0x738908, 52)) == 7571720);
assert(unsigned(flip_mask(0x73890c, 52)) == 7571724);
assert(unsigned(flip_mask(0x738910, 52)) == 7571728);
assert(unsigned(flip_mask(0x738914, 52)) == 7571732);
assert(unsigned(flip_mask(0x738918, 52)) == 7571736);
assert(unsigned(flip_mask(0x73891c, 52)) == 7571740);
assert(unsigned(flip_mask(0x738920, 52)) == 7571744);
assert(unsigned(flip_mask(0x738924, 52)) == 7571748);
assert(unsigned(flip_mask(0x738928, 52)) == 7571752);
assert(unsigned(flip_mask(0x73892c, 52)) == 7571756);
assert(unsigned(flip_mask(0x738930, 52)) == 7571760);
assert(unsigned(flip_mask(0x7406f0, 52)) == 7603952);
assert(unsigned(flip_mask(0x7406f4, 52)) == 7603956);
assert(unsigned(flip_mask(0x7406f8, 52)) == 7603960);
assert(unsigned(flip_mask(0x74083c, 52)) == 7604284);
assert(unsigned(flip_mask(0x740840, 52)) == 7604288);
assert(unsigned(flip_mask(0x740844, 52)) == 7604292);
assert(unsigned(flip_mask(0x7442f8, 52)) == 7619320);
assert(unsigned(flip_mask(0x7442fc, 52)) == 7619324);
assert(unsigned(flip_mask(0x744300, 52)) == 7619328);
assert(unsigned(flip_mask(0x744450, 52)) == 7619664);
assert(unsigned(flip_mask(0x744454, 52)) == 7619668);
assert(unsigned(flip_mask(0x744458, 52)) == 7619672);
assert(unsigned(flip_mask(0x7445a0, 52)) == 7620000);
assert(unsigned(flip_mask(0x7445a4, 52)) == 7620004);
assert(unsigned(flip_mask(0x7445a8, 52)) == 7620008);
assert(unsigned(flip_mask(0x75c00, 52)) == 482304);
assert(unsigned(flip_mask(0x75e00, 52)) == 482816);
assert(unsigned(flip_mask(0x76000, 52)) == 483328);
assert(unsigned(flip_mask(0x76008, 52)) == 483336);
assert(unsigned(flip_mask(0x76010, 52)) == 483344);
assert(unsigned(flip_mask(0x77000, 52)) == 487424);
assert(unsigned(flip_mask(0x77010, 52)) == 487440);
assert(unsigned(flip_mask(0x8000, 52)) == 32768);
assert(unsigned(flip_mask(0x8008, 52)) == 32776);
assert(unsigned(flip_mask(0x8018, 52)) == 32792);
assert(unsigned(flip_mask(0x8040, 52)) == 32832);
assert(unsigned(flip_mask(0x80428, 52)) == 525352);
assert(unsigned(flip_mask(0x8048, 52)) == 32840);
assert(unsigned(flip_mask(0x84800, 52)) == 542720);
assert(unsigned(flip_mask(0xc020, 52)) == 49184);
assert(unsigned(flip_mask(0xc028, 52)) == 49192);
assert(unsigned(flip_mask(0xc030, 52)) == 49200);
assert(unsigned(flip_mask(0xc038, 52)) == 49208);
assert(unsigned(flip_mask(0xc040, 52)) == 49216);
assert(unsigned(flip_mask(0x0, 6)) == 0);
assert(unsigned(flip_mask(0x1, 6)) == 1);
assert(unsigned(flip_mask(0x10, 6)) == 16);
assert(unsigned(flip_mask(0x11, 6)) == 17);
assert(unsigned(flip_mask(0x12, 6)) == 18);
assert(unsigned(flip_mask(0x13, 6)) == 19);
assert(unsigned(flip_mask(0x15, 6)) == 21);
assert(unsigned(flip_mask(0x16, 6)) == 22);
assert(unsigned(flip_mask(0x17, 6)) == 23);
assert(unsigned(flip_mask(0x18, 6)) == 24);
assert(unsigned(flip_mask(0x19, 6)) == 25);
assert(unsigned(flip_mask(0x1a, 6)) == 26);
assert(unsigned(flip_mask(0x1b, 6)) == 27);
assert(unsigned(flip_mask(0x1c, 6)) == 28);
assert(unsigned(flip_mask(0x1d, 6)) == 29);
assert(unsigned(flip_mask(0x1e, 6)) == 30);
assert(unsigned(flip_mask(0x1f, 6)) == 31);
assert(unsigned(flip_mask(0x2, 6)) == 2);
assert(unsigned(flip_mask(0x20, 6)) == 32);
assert(unsigned(flip_mask(0x21, 6)) == 33);
assert(unsigned(flip_mask(0x22, 6)) == 34);
assert(unsigned(flip_mask(0x23, 6)) == 35);
assert(unsigned(flip_mask(0x24, 6)) == 36);
assert(unsigned(flip_mask(0x26, 6)) == 38);
assert(unsigned(flip_mask(0x27, 6)) == 39);
assert(unsigned(flip_mask(0x28, 6)) == 40);
assert(unsigned(flip_mask(0x29, 6)) == 41);
assert(unsigned(flip_mask(0x2a, 6)) == 42);
assert(unsigned(flip_mask(0x2b, 6)) == 43);
assert(unsigned(flip_mask(0x2c, 6)) == 44);
assert(unsigned(flip_mask(0x2d, 6)) == 45);
assert(unsigned(flip_mask(0x2e, 6)) == 46);
assert(unsigned(flip_mask(0x2f, 6)) == 47);
assert(unsigned(flip_mask(0x3, 6)) == 3);
assert(unsigned(flip_mask(0x30, 6)) == 48);
assert(unsigned(flip_mask(0x31, 6)) == 49);
assert(unsigned(flip_mask(0x32, 6)) == 50);
assert(unsigned(flip_mask(0x33, 6)) == 51);
assert(unsigned(flip_mask(0x34, 6)) == 52);
assert(unsigned(flip_mask(0x35, 6)) == 53);
assert(unsigned(flip_mask(0x36, 6)) == 54);
assert(unsigned(flip_mask(0x37, 6)) == 55);
assert(unsigned(flip_mask(0x38, 6)) == 56);
assert(unsigned(flip_mask(0x39, 6)) == 57);
assert(unsigned(flip_mask(0x3a, 6)) == 58);
assert(unsigned(flip_mask(0x3b, 6)) == 59);
assert(unsigned(flip_mask(0x3c, 6)) == 60);
assert(unsigned(flip_mask(0x3d, 6)) == 61);
assert(unsigned(flip_mask(0x3e, 6)) == 62);
assert(unsigned(flip_mask(0x3f, 6)) == 63);
assert(unsigned(flip_mask(0x4, 6)) == 4);
assert(unsigned(flip_mask(0x5, 6)) == 5);
assert(unsigned(flip_mask(0x6, 6)) == 6);
assert(unsigned(flip_mask(0x7, 6)) == 7);
assert(unsigned(flip_mask(0x8, 6)) == 8);
assert(unsigned(flip_mask(0x9, 6)) == 9);
assert(unsigned(flip_mask(0xa, 6)) == 10);
assert(unsigned(flip_mask(0xb, 6)) == 11);
assert(unsigned(flip_mask(0xc, 6)) == 12);
assert(unsigned(flip_mask(0xd, 6)) == 13);
assert(unsigned(flip_mask(0xe, 6)) == 14);
assert(unsigned(flip_mask(0xf, 6)) == 15);
assert(unsigned(flip_mask(0x0, 64)) == 0);
assert(unsigned(flip_mask(0x1, 64)) == 1);
assert(unsigned(flip_mask(0x10, 64)) == 16);
assert(unsigned(flip_mask(0x100, 64)) == 256);
assert(unsigned(flip_mask(0x10000, 64)) == 65536);
assert(unsigned(flip_mask(0x1000000, 64)) == 16777216);
assert(unsigned(flip_mask(0x100000000, 64)) == 4294967296);
assert(unsigned(flip_mask(0x100000000000, 64)) == 17592186044416);
assert(unsigned(flip_mask(0x100000001, 64)) == 4294967297);
assert(unsigned(flip_mask(0x1000004, 64)) == 16777220);
assert(unsigned(flip_mask(0x1000008, 64)) == 16777224);
assert(unsigned(flip_mask(0x100000c, 64)) == 16777228);
assert(unsigned(flip_mask(0x1000010, 64)) == 16777232);
assert(unsigned(flip_mask(0x1000014, 64)) == 16777236);
assert(unsigned(flip_mask(0x1000018, 64)) == 16777240);
assert(unsigned(flip_mask(0x100001c, 64)) == 16777244);
assert(unsigned(flip_mask(0x1000020, 64)) == 16777248);
assert(unsigned(flip_mask(0x1000024, 64)) == 16777252);
assert(unsigned(flip_mask(0x1000028, 64)) == 16777256);
assert(unsigned(flip_mask(0x100002c, 64)) == 16777260);
assert(unsigned(flip_mask(0x1000030, 64)) == 16777264);
assert(unsigned(flip_mask(0x1000034, 64)) == 16777268);
assert(unsigned(flip_mask(0x1000038, 64)) == 16777272);
assert(unsigned(flip_mask(0x100003c, 64)) == 16777276);
assert(unsigned(flip_mask(0x1000040, 64)) == 16777280);
assert(unsigned(flip_mask(0x1000044, 64)) == 16777284);
assert(unsigned(flip_mask(0x1000048, 64)) == 16777288);
assert(unsigned(flip_mask(0x100004c, 64)) == 16777292);
assert(unsigned(flip_mask(0x1000050, 64)) == 16777296);
assert(unsigned(flip_mask(0x1000054, 64)) == 16777300);
assert(unsigned(flip_mask(0x1000058, 64)) == 16777304);
assert(unsigned(flip_mask(0x100005c, 64)) == 16777308);
assert(unsigned(flip_mask(0x1000060, 64)) == 16777312);
assert(unsigned(flip_mask(0x1000064, 64)) == 16777316);
assert(unsigned(flip_mask(0x1000068, 64)) == 16777320);
assert(unsigned(flip_mask(0x100006c, 64)) == 16777324);
assert(unsigned(flip_mask(0x1000070, 64)) == 16777328);
assert(unsigned(flip_mask(0x1000074, 64)) == 16777332);
assert(unsigned(flip_mask(0x1000078, 64)) == 16777336);
assert(unsigned(flip_mask(0x100007c, 64)) == 16777340);
assert(unsigned(flip_mask(0x1000080, 64)) == 16777344);
assert(unsigned(flip_mask(0x1000088, 64)) == 16777352);
assert(unsigned(flip_mask(0x1000090, 64)) == 16777360);
assert(unsigned(flip_mask(0x1000094, 64)) == 16777364);
assert(unsigned(flip_mask(0x1000098, 64)) == 16777368);
assert(unsigned(flip_mask(0x100009c, 64)) == 16777372);
assert(unsigned(flip_mask(0x10000a0, 64)) == 16777376);
assert(unsigned(flip_mask(0x10000a8, 64)) == 16777384);
assert(unsigned(flip_mask(0x10000ac, 64)) == 16777388);
assert(unsigned(flip_mask(0x10000b0, 64)) == 16777392);
assert(unsigned(flip_mask(0x10000b4, 64)) == 16777396);
assert(unsigned(flip_mask(0x10000b8, 64)) == 16777400);
assert(unsigned(flip_mask(0x10000bc, 64)) == 16777404);
assert(unsigned(flip_mask(0x10000c0, 64)) == 16777408);
assert(unsigned(flip_mask(0x10000c4, 64)) == 16777412);
assert(unsigned(flip_mask(0x10000c8, 64)) == 16777416);
assert(unsigned(flip_mask(0x10000cc, 64)) == 16777420);
assert(unsigned(flip_mask(0x10000d0, 64)) == 16777424);
assert(unsigned(flip_mask(0x10000d4, 64)) == 16777428);
assert(unsigned(flip_mask(0x10000d8, 64)) == 16777432);
assert(unsigned(flip_mask(0x10000dc, 64)) == 16777436);
assert(unsigned(flip_mask(0x10000e0, 64)) == 16777440);
assert(unsigned(flip_mask(0x10000e4, 64)) == 16777444);
assert(unsigned(flip_mask(0x10000e8, 64)) == 16777448);
assert(unsigned(flip_mask(0x10000ec, 64)) == 16777452);
assert(unsigned(flip_mask(0x10000f0, 64)) == 16777456);
assert(unsigned(flip_mask(0x10000f4, 64)) == 16777460);
assert(unsigned(flip_mask(0x10000f8, 64)) == 16777464);
assert(unsigned(flip_mask(0x10000fc, 64)) == 16777468);
assert(unsigned(flip_mask(0x10001, 64)) == 65537);
assert(unsigned(flip_mask(0x1000100, 64)) == 16777472);
assert(unsigned(flip_mask(0x1000100010001, 64)) == 281479271743489);
assert(unsigned(flip_mask(0x1000104, 64)) == 16777476);
assert(unsigned(flip_mask(0x1000108, 64)) == 16777480);
assert(unsigned(flip_mask(0x100010c, 64)) == 16777484);
assert(unsigned(flip_mask(0x1000110, 64)) == 16777488);
assert(unsigned(flip_mask(0x1000114, 64)) == 16777492);
assert(unsigned(flip_mask(0x1000118, 64)) == 16777496);
assert(unsigned(flip_mask(0x100011c, 64)) == 16777500);
assert(unsigned(flip_mask(0x1000120, 64)) == 16777504);
assert(unsigned(flip_mask(0x1000124, 64)) == 16777508);
assert(unsigned(flip_mask(0x1000128, 64)) == 16777512);
assert(unsigned(flip_mask(0x100012c, 64)) == 16777516);
assert(unsigned(flip_mask(0x1000130, 64)) == 16777520);
assert(unsigned(flip_mask(0x1000134, 64)) == 16777524);
assert(unsigned(flip_mask(0x1000138, 64)) == 16777528);
assert(unsigned(flip_mask(0x100013c, 64)) == 16777532);
assert(unsigned(flip_mask(0x1000140, 64)) == 16777536);
assert(unsigned(flip_mask(0x1000144, 64)) == 16777540);
assert(unsigned(flip_mask(0x1000148, 64)) == 16777544);
assert(unsigned(flip_mask(0x100014c, 64)) == 16777548);
assert(unsigned(flip_mask(0x1000150, 64)) == 16777552);
assert(unsigned(flip_mask(0x1000154, 64)) == 16777556);
assert(unsigned(flip_mask(0x1000158, 64)) == 16777560);
assert(unsigned(flip_mask(0x100015c, 64)) == 16777564);
assert(unsigned(flip_mask(0x1000160, 64)) == 16777568);
assert(unsigned(flip_mask(0x1000164, 64)) == 16777572);
assert(unsigned(flip_mask(0x1000168, 64)) == 16777576);
assert(unsigned(flip_mask(0x100016c, 64)) == 16777580);
assert(unsigned(flip_mask(0x1000170, 64)) == 16777584);
assert(unsigned(flip_mask(0x1000174, 64)) == 16777588);
assert(unsigned(flip_mask(0x1000178, 64)) == 16777592);
assert(unsigned(flip_mask(0x100017c, 64)) == 16777596);
assert(unsigned(flip_mask(0x1000180, 64)) == 16777600);
assert(unsigned(flip_mask(0x1000184, 64)) == 16777604);
assert(unsigned(flip_mask(0x1000188, 64)) == 16777608);
assert(unsigned(flip_mask(0x100018c, 64)) == 16777612);
assert(unsigned(flip_mask(0x1000190, 64)) == 16777616);
assert(unsigned(flip_mask(0x1000194, 64)) == 16777620);
assert(unsigned(flip_mask(0x1000198, 64)) == 16777624);
assert(unsigned(flip_mask(0x100019c, 64)) == 16777628);
assert(unsigned(flip_mask(0x10001a0, 64)) == 16777632);
assert(unsigned(flip_mask(0x10001a4, 64)) == 16777636);
assert(unsigned(flip_mask(0x10001a8, 64)) == 16777640);
assert(unsigned(flip_mask(0x10001ac, 64)) == 16777644);
assert(unsigned(flip_mask(0x10001b0, 64)) == 16777648);
assert(unsigned(flip_mask(0x10001b4, 64)) == 16777652);
assert(unsigned(flip_mask(0x10001b8, 64)) == 16777656);
assert(unsigned(flip_mask(0x10001bc, 64)) == 16777660);
assert(unsigned(flip_mask(0x10001c0, 64)) == 16777664);
assert(unsigned(flip_mask(0x10001c4, 64)) == 16777668);
assert(unsigned(flip_mask(0x10001c8, 64)) == 16777672);
assert(unsigned(flip_mask(0x10001cc, 64)) == 16777676);
assert(unsigned(flip_mask(0x10001d0, 64)) == 16777680);
assert(unsigned(flip_mask(0x10001d4, 64)) == 16777684);
assert(unsigned(flip_mask(0x10001d8, 64)) == 16777688);
assert(unsigned(flip_mask(0x10001dc, 64)) == 16777692);
assert(unsigned(flip_mask(0x10001e0, 64)) == 16777696);
assert(unsigned(flip_mask(0x10001e4, 64)) == 16777700);
assert(unsigned(flip_mask(0x10001e8, 64)) == 16777704);
assert(unsigned(flip_mask(0x10001ec, 64)) == 16777708);
assert(unsigned(flip_mask(0x10001f0, 64)) == 16777712);
assert(unsigned(flip_mask(0x10001f4, 64)) == 16777716);
assert(unsigned(flip_mask(0x10001f8, 64)) == 16777720);
assert(unsigned(flip_mask(0x10001fc, 64)) == 16777724);
assert(unsigned(flip_mask(0x1000200, 64)) == 16777728);
assert(unsigned(flip_mask(0x1000204, 64)) == 16777732);
assert(unsigned(flip_mask(0x1000208, 64)) == 16777736);
assert(unsigned(flip_mask(0x100020c, 64)) == 16777740);
assert(unsigned(flip_mask(0x1000210, 64)) == 16777744);
assert(unsigned(flip_mask(0x1000214, 64)) == 16777748);
assert(unsigned(flip_mask(0x1000218, 64)) == 16777752);
assert(unsigned(flip_mask(0x100021c, 64)) == 16777756);
assert(unsigned(flip_mask(0x1000220, 64)) == 16777760);
assert(unsigned(flip_mask(0x1000224, 64)) == 16777764);
assert(unsigned(flip_mask(0x1000228, 64)) == 16777768);
assert(unsigned(flip_mask(0x100022c, 64)) == 16777772);
assert(unsigned(flip_mask(0x1000230, 64)) == 16777776);
assert(unsigned(flip_mask(0x1000234, 64)) == 16777780);
assert(unsigned(flip_mask(0x1000238, 64)) == 16777784);
assert(unsigned(flip_mask(0x100023c, 64)) == 16777788);
assert(unsigned(flip_mask(0x1000240, 64)) == 16777792);
assert(unsigned(flip_mask(0x1000244, 64)) == 16777796);
assert(unsigned(flip_mask(0x1000248, 64)) == 16777800);
assert(unsigned(flip_mask(0x100024c, 64)) == 16777804);
assert(unsigned(flip_mask(0x1000250, 64)) == 16777808);
assert(unsigned(flip_mask(0x1000254, 64)) == 16777812);
assert(unsigned(flip_mask(0x1000258, 64)) == 16777816);
assert(unsigned(flip_mask(0x100025c, 64)) == 16777820);
assert(unsigned(flip_mask(0x1000454, 64)) == 16778324);
assert(unsigned(flip_mask(0x1000458, 64)) == 16778328);
assert(unsigned(flip_mask(0x100045c, 64)) == 16778332);
assert(unsigned(flip_mask(0x1000460, 64)) == 16778336);
assert(unsigned(flip_mask(0x1000464, 64)) == 16778340);
assert(unsigned(flip_mask(0x1000468, 64)) == 16778344);
assert(unsigned(flip_mask(0x100046c, 64)) == 16778348);
assert(unsigned(flip_mask(0x1000470, 64)) == 16778352);
assert(unsigned(flip_mask(0x1000474, 64)) == 16778356);
assert(unsigned(flip_mask(0x1000478, 64)) == 16778360);
assert(unsigned(flip_mask(0x100047c, 64)) == 16778364);
assert(unsigned(flip_mask(0x1000480, 64)) == 16778368);
assert(unsigned(flip_mask(0x1000484, 64)) == 16778372);
assert(unsigned(flip_mask(0x1000488, 64)) == 16778376);
assert(unsigned(flip_mask(0x100048c, 64)) == 16778380);
assert(unsigned(flip_mask(0x1000490, 64)) == 16778384);
assert(unsigned(flip_mask(0x1000494, 64)) == 16778388);
assert(unsigned(flip_mask(0x1000498, 64)) == 16778392);
assert(unsigned(flip_mask(0x100049c, 64)) == 16778396);
assert(unsigned(flip_mask(0x10004a0, 64)) == 16778400);
assert(unsigned(flip_mask(0x10004a4, 64)) == 16778404);
assert(unsigned(flip_mask(0x10004a8, 64)) == 16778408);
assert(unsigned(flip_mask(0x10004ac, 64)) == 16778412);
assert(unsigned(flip_mask(0x10004b0, 64)) == 16778416);
assert(unsigned(flip_mask(0x10004b4, 64)) == 16778420);
assert(unsigned(flip_mask(0x10004b8, 64)) == 16778424);
assert(unsigned(flip_mask(0x10004bc, 64)) == 16778428);
assert(unsigned(flip_mask(0x10004c0, 64)) == 16778432);
assert(unsigned(flip_mask(0x10004c4, 64)) == 16778436);
assert(unsigned(flip_mask(0x10004c8, 64)) == 16778440);
assert(unsigned(flip_mask(0x10004cc, 64)) == 16778444);
assert(unsigned(flip_mask(0x10004d0, 64)) == 16778448);
assert(unsigned(flip_mask(0x10004d8, 64)) == 16778456);
assert(unsigned(flip_mask(0x10004e0, 64)) == 16778464);
assert(unsigned(flip_mask(0x10004e4, 64)) == 16778468);
assert(unsigned(flip_mask(0x10004e8, 64)) == 16778472);
assert(unsigned(flip_mask(0x10004ec, 64)) == 16778476);
assert(unsigned(flip_mask(0x10004f0, 64)) == 16778480);
assert(unsigned(flip_mask(0x10004f4, 64)) == 16778484);
assert(unsigned(flip_mask(0x10004f8, 64)) == 16778488);
assert(unsigned(flip_mask(0x10004fc, 64)) == 16778492);
assert(unsigned(flip_mask(0x1000500, 64)) == 16778496);
assert(unsigned(flip_mask(0x1000504, 64)) == 16778500);
assert(unsigned(flip_mask(0x1000508, 64)) == 16778504);
assert(unsigned(flip_mask(0x100050c, 64)) == 16778508);
assert(unsigned(flip_mask(0x1000510, 64)) == 16778512);
assert(unsigned(flip_mask(0x1000514, 64)) == 16778516);
assert(unsigned(flip_mask(0x1000518, 64)) == 16778520);
assert(unsigned(flip_mask(0x100051c, 64)) == 16778524);
assert(unsigned(flip_mask(0x1000520, 64)) == 16778528);
assert(unsigned(flip_mask(0x1000524, 64)) == 16778532);
assert(unsigned(flip_mask(0x1000528, 64)) == 16778536);
assert(unsigned(flip_mask(0x100052c, 64)) == 16778540);
assert(unsigned(flip_mask(0x1000530, 64)) == 16778544);
assert(unsigned(flip_mask(0x1000534, 64)) == 16778548);
assert(unsigned(flip_mask(0x1000538, 64)) == 16778552);
assert(unsigned(flip_mask(0x100053c, 64)) == 16778556);
assert(unsigned(flip_mask(0x1000540, 64)) == 16778560);
assert(unsigned(flip_mask(0x1000544, 64)) == 16778564);
assert(unsigned(flip_mask(0x1000548, 64)) == 16778568);
assert(unsigned(flip_mask(0x1000804, 64)) == 16779268);
assert(unsigned(flip_mask(0x1000808, 64)) == 16779272);
assert(unsigned(flip_mask(0x100080c, 64)) == 16779276);
assert(unsigned(flip_mask(0x1000810, 64)) == 16779280);
assert(unsigned(flip_mask(0x1000814, 64)) == 16779284);
assert(unsigned(flip_mask(0x1000818, 64)) == 16779288);
assert(unsigned(flip_mask(0x101000, 64)) == 1052672);
assert(unsigned(flip_mask(0x101004, 64)) == 1052676);
assert(unsigned(flip_mask(0x101008, 64)) == 1052680);
assert(unsigned(flip_mask(0x10100c, 64)) == 1052684);
assert(unsigned(flip_mask(0x101010, 64)) == 1052688);
assert(unsigned(flip_mask(0x101014, 64)) == 1052692);
assert(unsigned(flip_mask(0x101018, 64)) == 1052696);
assert(unsigned(flip_mask(0x10101c, 64)) == 1052700);
assert(unsigned(flip_mask(0x101020, 64)) == 1052704);
assert(unsigned(flip_mask(0x101024, 64)) == 1052708);
assert(unsigned(flip_mask(0x101028, 64)) == 1052712);
assert(unsigned(flip_mask(0x10102c, 64)) == 1052716);
assert(unsigned(flip_mask(0x101030, 64)) == 1052720);
assert(unsigned(flip_mask(0x101034, 64)) == 1052724);
assert(unsigned(flip_mask(0x101038, 64)) == 1052728);
assert(unsigned(flip_mask(0x10103c, 64)) == 1052732);
assert(unsigned(flip_mask(0x101040, 64)) == 1052736);
assert(unsigned(flip_mask(0x101044, 64)) == 1052740);
assert(unsigned(flip_mask(0x101048, 64)) == 1052744);
assert(unsigned(flip_mask(0x10104c, 64)) == 1052748);
assert(unsigned(flip_mask(0x101050, 64)) == 1052752);
assert(unsigned(flip_mask(0x101054, 64)) == 1052756);
assert(unsigned(flip_mask(0x101058, 64)) == 1052760);
assert(unsigned(flip_mask(0x10105c, 64)) == 1052764);
assert(unsigned(flip_mask(0x101060, 64)) == 1052768);
assert(unsigned(flip_mask(0x101064, 64)) == 1052772);
assert(unsigned(flip_mask(0x101068, 64)) == 1052776);
assert(unsigned(flip_mask(0x10106c, 64)) == 1052780);
assert(unsigned(flip_mask(0x101070, 64)) == 1052784);
assert(unsigned(flip_mask(0x101074, 64)) == 1052788);
assert(unsigned(flip_mask(0x101078, 64)) == 1052792);
assert(unsigned(flip_mask(0x10107c, 64)) == 1052796);
assert(unsigned(flip_mask(0x101080, 64)) == 1052800);
assert(unsigned(flip_mask(0x101088, 64)) == 1052808);
assert(unsigned(flip_mask(0x10108c, 64)) == 1052812);
assert(unsigned(flip_mask(0x101090, 64)) == 1052816);
assert(unsigned(flip_mask(0x101094, 64)) == 1052820);
assert(unsigned(flip_mask(0x101098, 64)) == 1052824);
assert(unsigned(flip_mask(0x10109c, 64)) == 1052828);
assert(unsigned(flip_mask(0x1010a0, 64)) == 1052832);
assert(unsigned(flip_mask(0x1010ac, 64)) == 1052844);
assert(unsigned(flip_mask(0x1010b0, 64)) == 1052848);
assert(unsigned(flip_mask(0x1010b4, 64)) == 1052852);
assert(unsigned(flip_mask(0x1010b8, 64)) == 1052856);
assert(unsigned(flip_mask(0x1010c0, 64)) == 1052864);
assert(unsigned(flip_mask(0x1010c4, 64)) == 1052868);
assert(unsigned(flip_mask(0x1010c8, 64)) == 1052872);
assert(unsigned(flip_mask(0x1010cc, 64)) == 1052876);
assert(unsigned(flip_mask(0x1010d0, 64)) == 1052880);
assert(unsigned(flip_mask(0x1010d4, 64)) == 1052884);
assert(unsigned(flip_mask(0x1010d8, 64)) == 1052888);
assert(unsigned(flip_mask(0x1010dc, 64)) == 1052892);
assert(unsigned(flip_mask(0x1010e0, 64)) == 1052896);
assert(unsigned(flip_mask(0x1010e4, 64)) == 1052900);
assert(unsigned(flip_mask(0x1010e8, 64)) == 1052904);
assert(unsigned(flip_mask(0x1010ec, 64)) == 1052908);
assert(unsigned(flip_mask(0x1010f0, 64)) == 1052912);
assert(unsigned(flip_mask(0x1010f4, 64)) == 1052916);
assert(unsigned(flip_mask(0x1010f8, 64)) == 1052920);
assert(unsigned(flip_mask(0x1010fc, 64)) == 1052924);
assert(unsigned(flip_mask(0x101100, 64)) == 1052928);
assert(unsigned(flip_mask(0x101104, 64)) == 1052932);
assert(unsigned(flip_mask(0x101108, 64)) == 1052936);
assert(unsigned(flip_mask(0x10110c, 64)) == 1052940);
assert(unsigned(flip_mask(0x101110, 64)) == 1052944);
assert(unsigned(flip_mask(0x101114, 64)) == 1052948);
assert(unsigned(flip_mask(0x101118, 64)) == 1052952);
assert(unsigned(flip_mask(0x10111c, 64)) == 1052956);
assert(unsigned(flip_mask(0x101120, 64)) == 1052960);
assert(unsigned(flip_mask(0x101124, 64)) == 1052964);
assert(unsigned(flip_mask(0x101128, 64)) == 1052968);
assert(unsigned(flip_mask(0x10112c, 64)) == 1052972);
assert(unsigned(flip_mask(0x101130, 64)) == 1052976);
assert(unsigned(flip_mask(0x101134, 64)) == 1052980);
assert(unsigned(flip_mask(0x101138, 64)) == 1052984);
assert(unsigned(flip_mask(0x10113c, 64)) == 1052988);
assert(unsigned(flip_mask(0x101140, 64)) == 1052992);
assert(unsigned(flip_mask(0x101144, 64)) == 1052996);
assert(unsigned(flip_mask(0x101148, 64)) == 1053000);
assert(unsigned(flip_mask(0x10114c, 64)) == 1053004);
assert(unsigned(flip_mask(0x101150, 64)) == 1053008);
assert(unsigned(flip_mask(0x101154, 64)) == 1053012);
assert(unsigned(flip_mask(0x101158, 64)) == 1053016);
assert(unsigned(flip_mask(0x10115c, 64)) == 1053020);
assert(unsigned(flip_mask(0x101160, 64)) == 1053024);
assert(unsigned(flip_mask(0x101164, 64)) == 1053028);
assert(unsigned(flip_mask(0x101168, 64)) == 1053032);
assert(unsigned(flip_mask(0x10116c, 64)) == 1053036);
assert(unsigned(flip_mask(0x101170, 64)) == 1053040);
assert(unsigned(flip_mask(0x101174, 64)) == 1053044);
assert(unsigned(flip_mask(0x101178, 64)) == 1053048);
assert(unsigned(flip_mask(0x10117c, 64)) == 1053052);
assert(unsigned(flip_mask(0x101180, 64)) == 1053056);
assert(unsigned(flip_mask(0x101184, 64)) == 1053060);
assert(unsigned(flip_mask(0x101188, 64)) == 1053064);
assert(unsigned(flip_mask(0x10118c, 64)) == 1053068);
assert(unsigned(flip_mask(0x101190, 64)) == 1053072);
assert(unsigned(flip_mask(0x101194, 64)) == 1053076);
assert(unsigned(flip_mask(0x101198, 64)) == 1053080);
assert(unsigned(flip_mask(0x10119c, 64)) == 1053084);
assert(unsigned(flip_mask(0x1011a0, 64)) == 1053088);
assert(unsigned(flip_mask(0x1011a4, 64)) == 1053092);
assert(unsigned(flip_mask(0x1011a8, 64)) == 1053096);
assert(unsigned(flip_mask(0x1011ac, 64)) == 1053100);
assert(unsigned(flip_mask(0x1011b0, 64)) == 1053104);
assert(unsigned(flip_mask(0x1011b4, 64)) == 1053108);
assert(unsigned(flip_mask(0x1011b8, 64)) == 1053112);
assert(unsigned(flip_mask(0x101200, 64)) == 1053184);
assert(unsigned(flip_mask(0x101204, 64)) == 1053188);
assert(unsigned(flip_mask(0x101208, 64)) == 1053192);
assert(unsigned(flip_mask(0x10120c, 64)) == 1053196);
assert(unsigned(flip_mask(0x101210, 64)) == 1053200);
assert(unsigned(flip_mask(0x101214, 64)) == 1053204);
assert(unsigned(flip_mask(0x101218, 64)) == 1053208);
assert(unsigned(flip_mask(0x10121c, 64)) == 1053212);
assert(unsigned(flip_mask(0x101220, 64)) == 1053216);
assert(unsigned(flip_mask(0x101240, 64)) == 1053248);
assert(unsigned(flip_mask(0x101248, 64)) == 1053256);
assert(unsigned(flip_mask(0x101250, 64)) == 1053264);
assert(unsigned(flip_mask(0x101258, 64)) == 1053272);
assert(unsigned(flip_mask(0x101260, 64)) == 1053280);
assert(unsigned(flip_mask(0x101270, 64)) == 1053296);
assert(unsigned(flip_mask(0x101278, 64)) == 1053304);
assert(unsigned(flip_mask(0x101280, 64)) == 1053312);
assert(unsigned(flip_mask(0x102000, 64)) == 1056768);
assert(unsigned(flip_mask(0x102004, 64)) == 1056772);
assert(unsigned(flip_mask(0x102008, 64)) == 1056776);
assert(unsigned(flip_mask(0x10200c, 64)) == 1056780);
assert(unsigned(flip_mask(0x102010, 64)) == 1056784);
assert(unsigned(flip_mask(0x102014, 64)) == 1056788);
assert(unsigned(flip_mask(0x102018, 64)) == 1056792);
assert(unsigned(flip_mask(0x10201c, 64)) == 1056796);
assert(unsigned(flip_mask(0x102020, 64)) == 1056800);
assert(unsigned(flip_mask(0x102024, 64)) == 1056804);
assert(unsigned(flip_mask(0x102028, 64)) == 1056808);
assert(unsigned(flip_mask(0x10202c, 64)) == 1056812);
assert(unsigned(flip_mask(0x102030, 64)) == 1056816);
assert(unsigned(flip_mask(0x102034, 64)) == 1056820);
assert(unsigned(flip_mask(0x102038, 64)) == 1056824);
assert(unsigned(flip_mask(0x10203c, 64)) == 1056828);
assert(unsigned(flip_mask(0x102040, 64)) == 1056832);
assert(unsigned(flip_mask(0x102044, 64)) == 1056836);
assert(unsigned(flip_mask(0x102048, 64)) == 1056840);
assert(unsigned(flip_mask(0x10204c, 64)) == 1056844);
assert(unsigned(flip_mask(0x102050, 64)) == 1056848);
assert(unsigned(flip_mask(0x102054, 64)) == 1056852);
assert(unsigned(flip_mask(0x102058, 64)) == 1056856);
assert(unsigned(flip_mask(0x10205c, 64)) == 1056860);
assert(unsigned(flip_mask(0x102060, 64)) == 1056864);
assert(unsigned(flip_mask(0x102064, 64)) == 1056868);
assert(unsigned(flip_mask(0x102068, 64)) == 1056872);
assert(unsigned(flip_mask(0x10206c, 64)) == 1056876);
assert(unsigned(flip_mask(0x102070, 64)) == 1056880);
assert(unsigned(flip_mask(0x102074, 64)) == 1056884);
assert(unsigned(flip_mask(0x102078, 64)) == 1056888);
assert(unsigned(flip_mask(0x10207c, 64)) == 1056892);
assert(unsigned(flip_mask(0x102080, 64)) == 1056896);
assert(unsigned(flip_mask(0x102084, 64)) == 1056900);
assert(unsigned(flip_mask(0x102088, 64)) == 1056904);
assert(unsigned(flip_mask(0x10208c, 64)) == 1056908);
assert(unsigned(flip_mask(0x102090, 64)) == 1056912);
assert(unsigned(flip_mask(0x102098, 64)) == 1056920);
assert(unsigned(flip_mask(0x10209c, 64)) == 1056924);
assert(unsigned(flip_mask(0x1020a0, 64)) == 1056928);
assert(unsigned(flip_mask(0x1020a4, 64)) == 1056932);
assert(unsigned(flip_mask(0x1020a8, 64)) == 1056936);
assert(unsigned(flip_mask(0x1020ac, 64)) == 1056940);
assert(unsigned(flip_mask(0x1020b0, 64)) == 1056944);
assert(unsigned(flip_mask(0x1020bc, 64)) == 1056956);
assert(unsigned(flip_mask(0x1020c0, 64)) == 1056960);
assert(unsigned(flip_mask(0x1020c4, 64)) == 1056964);
assert(unsigned(flip_mask(0x1020c8, 64)) == 1056968);
assert(unsigned(flip_mask(0x1020d0, 64)) == 1056976);
assert(unsigned(flip_mask(0x1020d4, 64)) == 1056980);
assert(unsigned(flip_mask(0x1020d8, 64)) == 1056984);
assert(unsigned(flip_mask(0x1020dc, 64)) == 1056988);
assert(unsigned(flip_mask(0x1020e0, 64)) == 1056992);
assert(unsigned(flip_mask(0x1020e4, 64)) == 1056996);
assert(unsigned(flip_mask(0x1020e8, 64)) == 1057000);
assert(unsigned(flip_mask(0x1020ec, 64)) == 1057004);
assert(unsigned(flip_mask(0x1020f0, 64)) == 1057008);
assert(unsigned(flip_mask(0x1020f4, 64)) == 1057012);
assert(unsigned(flip_mask(0x1020f8, 64)) == 1057016);
assert(unsigned(flip_mask(0x1020fc, 64)) == 1057020);
assert(unsigned(flip_mask(0x102100, 64)) == 1057024);
assert(unsigned(flip_mask(0x102104, 64)) == 1057028);
assert(unsigned(flip_mask(0x102108, 64)) == 1057032);
assert(unsigned(flip_mask(0x10210c, 64)) == 1057036);
assert(unsigned(flip_mask(0x102110, 64)) == 1057040);
assert(unsigned(flip_mask(0x102114, 64)) == 1057044);
assert(unsigned(flip_mask(0x102118, 64)) == 1057048);
assert(unsigned(flip_mask(0x10211c, 64)) == 1057052);
assert(unsigned(flip_mask(0x102120, 64)) == 1057056);
assert(unsigned(flip_mask(0x102124, 64)) == 1057060);
assert(unsigned(flip_mask(0x102128, 64)) == 1057064);
assert(unsigned(flip_mask(0x10212c, 64)) == 1057068);
assert(unsigned(flip_mask(0x102130, 64)) == 1057072);
assert(unsigned(flip_mask(0x102134, 64)) == 1057076);
assert(unsigned(flip_mask(0x102138, 64)) == 1057080);
assert(unsigned(flip_mask(0x10213c, 64)) == 1057084);
assert(unsigned(flip_mask(0x102140, 64)) == 1057088);
assert(unsigned(flip_mask(0x102144, 64)) == 1057092);
assert(unsigned(flip_mask(0x102148, 64)) == 1057096);
assert(unsigned(flip_mask(0x10214c, 64)) == 1057100);
assert(unsigned(flip_mask(0x102150, 64)) == 1057104);
assert(unsigned(flip_mask(0x102154, 64)) == 1057108);
assert(unsigned(flip_mask(0x102158, 64)) == 1057112);
assert(unsigned(flip_mask(0x10215c, 64)) == 1057116);
assert(unsigned(flip_mask(0x102160, 64)) == 1057120);
assert(unsigned(flip_mask(0x102164, 64)) == 1057124);
assert(unsigned(flip_mask(0x102168, 64)) == 1057128);
assert(unsigned(flip_mask(0x10216c, 64)) == 1057132);
assert(unsigned(flip_mask(0x102170, 64)) == 1057136);
assert(unsigned(flip_mask(0x102174, 64)) == 1057140);
assert(unsigned(flip_mask(0x102178, 64)) == 1057144);
assert(unsigned(flip_mask(0x10217c, 64)) == 1057148);
assert(unsigned(flip_mask(0x102180, 64)) == 1057152);
assert(unsigned(flip_mask(0x102184, 64)) == 1057156);
assert(unsigned(flip_mask(0x102188, 64)) == 1057160);
assert(unsigned(flip_mask(0x10218c, 64)) == 1057164);
assert(unsigned(flip_mask(0x102190, 64)) == 1057168);
assert(unsigned(flip_mask(0x102194, 64)) == 1057172);
assert(unsigned(flip_mask(0x102198, 64)) == 1057176);
assert(unsigned(flip_mask(0x10219c, 64)) == 1057180);
assert(unsigned(flip_mask(0x1021a0, 64)) == 1057184);
assert(unsigned(flip_mask(0x1021a4, 64)) == 1057188);
assert(unsigned(flip_mask(0x1021a8, 64)) == 1057192);
assert(unsigned(flip_mask(0x1021ac, 64)) == 1057196);
assert(unsigned(flip_mask(0x1021b0, 64)) == 1057200);
assert(unsigned(flip_mask(0x1021b4, 64)) == 1057204);
assert(unsigned(flip_mask(0x1021b8, 64)) == 1057208);
assert(unsigned(flip_mask(0x102200, 64)) == 1057280);
assert(unsigned(flip_mask(0x102204, 64)) == 1057284);
assert(unsigned(flip_mask(0x102208, 64)) == 1057288);
assert(unsigned(flip_mask(0x10220c, 64)) == 1057292);
assert(unsigned(flip_mask(0x102210, 64)) == 1057296);
assert(unsigned(flip_mask(0x102214, 64)) == 1057300);
assert(unsigned(flip_mask(0x102218, 64)) == 1057304);
assert(unsigned(flip_mask(0x10221c, 64)) == 1057308);
assert(unsigned(flip_mask(0x102220, 64)) == 1057312);
assert(unsigned(flip_mask(0x102240, 64)) == 1057344);
assert(unsigned(flip_mask(0x102248, 64)) == 1057352);
assert(unsigned(flip_mask(0x102250, 64)) == 1057360);
assert(unsigned(flip_mask(0x102258, 64)) == 1057368);
assert(unsigned(flip_mask(0x102260, 64)) == 1057376);
assert(unsigned(flip_mask(0x102270, 64)) == 1057392);
assert(unsigned(flip_mask(0x102278, 64)) == 1057400);
assert(unsigned(flip_mask(0x102280, 64)) == 1057408);
assert(unsigned(flip_mask(0x10300000, 64)) == 271581184);
assert(unsigned(flip_mask(0x10300004, 64)) == 271581188);
assert(unsigned(flip_mask(0x10300008, 64)) == 271581192);
assert(unsigned(flip_mask(0x10300010, 64)) == 271581200);
assert(unsigned(flip_mask(0x104000, 64)) == 1064960);
assert(unsigned(flip_mask(0x10400000, 64)) == 272629760);
assert(unsigned(flip_mask(0x1040022c, 64)) == 272630316);
assert(unsigned(flip_mask(0x10400230, 64)) == 272630320);
assert(unsigned(flip_mask(0x10400234, 64)) == 272630324);
assert(unsigned(flip_mask(0x10400238, 64)) == 272630328);
assert(unsigned(flip_mask(0x1040023c, 64)) == 272630332);
assert(unsigned(flip_mask(0x10400240, 64)) == 272630336);
assert(unsigned(flip_mask(0x10400244, 64)) == 272630340);
assert(unsigned(flip_mask(0x10400248, 64)) == 272630344);
assert(unsigned(flip_mask(0x104004, 64)) == 1064964);
assert(unsigned(flip_mask(0x104008, 64)) == 1064968);
assert(unsigned(flip_mask(0x10400c, 64)) == 1064972);
assert(unsigned(flip_mask(0x104010, 64)) == 1064976);
assert(unsigned(flip_mask(0x10401220, 64)) == 272634400);
assert(unsigned(flip_mask(0x10401224, 64)) == 272634404);
assert(unsigned(flip_mask(0x10401228, 64)) == 272634408);
assert(unsigned(flip_mask(0x1040122c, 64)) == 272634412);
assert(unsigned(flip_mask(0x10401230, 64)) == 272634416);
assert(unsigned(flip_mask(0x10401234, 64)) == 272634420);
assert(unsigned(flip_mask(0x10401238, 64)) == 272634424);
assert(unsigned(flip_mask(0x104014, 64)) == 1064980);
assert(unsigned(flip_mask(0x104018, 64)) == 1064984);
assert(unsigned(flip_mask(0x10401c, 64)) == 1064988);
assert(unsigned(flip_mask(0x104020, 64)) == 1064992);
assert(unsigned(flip_mask(0x10402220, 64)) == 272638496);
assert(unsigned(flip_mask(0x10402224, 64)) == 272638500);
assert(unsigned(flip_mask(0x10402228, 64)) == 272638504);
assert(unsigned(flip_mask(0x1040222c, 64)) == 272638508);
assert(unsigned(flip_mask(0x10402230, 64)) == 272638512);
assert(unsigned(flip_mask(0x10402234, 64)) == 272638516);
assert(unsigned(flip_mask(0x10402238, 64)) == 272638520);
assert(unsigned(flip_mask(0x104024, 64)) == 1064996);
assert(unsigned(flip_mask(0x104028, 64)) == 1065000);
assert(unsigned(flip_mask(0x10402c, 64)) == 1065004);
assert(unsigned(flip_mask(0x104030, 64)) == 1065008);
assert(unsigned(flip_mask(0x104034, 64)) == 1065012);
assert(unsigned(flip_mask(0x104038, 64)) == 1065016);
assert(unsigned(flip_mask(0x10403c, 64)) == 1065020);
assert(unsigned(flip_mask(0x104040, 64)) == 1065024);
assert(unsigned(flip_mask(0x104044, 64)) == 1065028);
assert(unsigned(flip_mask(0x104048, 64)) == 1065032);
assert(unsigned(flip_mask(0x10404c, 64)) == 1065036);
assert(unsigned(flip_mask(0x104050, 64)) == 1065040);
assert(unsigned(flip_mask(0x104054, 64)) == 1065044);
assert(unsigned(flip_mask(0x104058, 64)) == 1065048);
assert(unsigned(flip_mask(0x10405c, 64)) == 1065052);
assert(unsigned(flip_mask(0x104060, 64)) == 1065056);
assert(unsigned(flip_mask(0x104064, 64)) == 1065060);
assert(unsigned(flip_mask(0x104068, 64)) == 1065064);
assert(unsigned(flip_mask(0x10406c, 64)) == 1065068);
assert(unsigned(flip_mask(0x104070, 64)) == 1065072);
assert(unsigned(flip_mask(0x104074, 64)) == 1065076);
assert(unsigned(flip_mask(0x104078, 64)) == 1065080);
assert(unsigned(flip_mask(0x10407c, 64)) == 1065084);
assert(unsigned(flip_mask(0x104080, 64)) == 1065088);
assert(unsigned(flip_mask(0x104088, 64)) == 1065096);
assert(unsigned(flip_mask(0x10408c, 64)) == 1065100);
assert(unsigned(flip_mask(0x104090, 64)) == 1065104);
assert(unsigned(flip_mask(0x104094, 64)) == 1065108);
assert(unsigned(flip_mask(0x104098, 64)) == 1065112);
assert(unsigned(flip_mask(0x10409c, 64)) == 1065116);
assert(unsigned(flip_mask(0x1040a0, 64)) == 1065120);
assert(unsigned(flip_mask(0x1040ac, 64)) == 1065132);
assert(unsigned(flip_mask(0x1040b0, 64)) == 1065136);
assert(unsigned(flip_mask(0x1040b4, 64)) == 1065140);
assert(unsigned(flip_mask(0x1040b8, 64)) == 1065144);
assert(unsigned(flip_mask(0x1040c0, 64)) == 1065152);
assert(unsigned(flip_mask(0x1040c4, 64)) == 1065156);
assert(unsigned(flip_mask(0x1040c8, 64)) == 1065160);
assert(unsigned(flip_mask(0x1040cc, 64)) == 1065164);
assert(unsigned(flip_mask(0x1040d0, 64)) == 1065168);
assert(unsigned(flip_mask(0x1040d4, 64)) == 1065172);
assert(unsigned(flip_mask(0x1040d8, 64)) == 1065176);
assert(unsigned(flip_mask(0x1040dc, 64)) == 1065180);
assert(unsigned(flip_mask(0x1040e0, 64)) == 1065184);
assert(unsigned(flip_mask(0x1040e4, 64)) == 1065188);
assert(unsigned(flip_mask(0x1040e8, 64)) == 1065192);
assert(unsigned(flip_mask(0x1040ec, 64)) == 1065196);
assert(unsigned(flip_mask(0x1040f0, 64)) == 1065200);
assert(unsigned(flip_mask(0x1040f4, 64)) == 1065204);
assert(unsigned(flip_mask(0x1040f8, 64)) == 1065208);
assert(unsigned(flip_mask(0x1040fc, 64)) == 1065212);
assert(unsigned(flip_mask(0x104100, 64)) == 1065216);
assert(unsigned(flip_mask(0x104104, 64)) == 1065220);
assert(unsigned(flip_mask(0x104108, 64)) == 1065224);
assert(unsigned(flip_mask(0x10410c, 64)) == 1065228);
assert(unsigned(flip_mask(0x104110, 64)) == 1065232);
assert(unsigned(flip_mask(0x104114, 64)) == 1065236);
assert(unsigned(flip_mask(0x104118, 64)) == 1065240);
assert(unsigned(flip_mask(0x10411c, 64)) == 1065244);
assert(unsigned(flip_mask(0x104120, 64)) == 1065248);
assert(unsigned(flip_mask(0x104124, 64)) == 1065252);
assert(unsigned(flip_mask(0x104128, 64)) == 1065256);
assert(unsigned(flip_mask(0x10412c, 64)) == 1065260);
assert(unsigned(flip_mask(0x104130, 64)) == 1065264);
assert(unsigned(flip_mask(0x104134, 64)) == 1065268);
assert(unsigned(flip_mask(0x104138, 64)) == 1065272);
assert(unsigned(flip_mask(0x10413c, 64)) == 1065276);
assert(unsigned(flip_mask(0x104140, 64)) == 1065280);
assert(unsigned(flip_mask(0x104144, 64)) == 1065284);
assert(unsigned(flip_mask(0x104148, 64)) == 1065288);
assert(unsigned(flip_mask(0x10414c, 64)) == 1065292);
assert(unsigned(flip_mask(0x104150, 64)) == 1065296);
assert(unsigned(flip_mask(0x104154, 64)) == 1065300);
assert(unsigned(flip_mask(0x104158, 64)) == 1065304);
assert(unsigned(flip_mask(0x10415c, 64)) == 1065308);
assert(unsigned(flip_mask(0x104160, 64)) == 1065312);
assert(unsigned(flip_mask(0x104164, 64)) == 1065316);
assert(unsigned(flip_mask(0x104168, 64)) == 1065320);
assert(unsigned(flip_mask(0x10416c, 64)) == 1065324);
assert(unsigned(flip_mask(0x104170, 64)) == 1065328);
assert(unsigned(flip_mask(0x104174, 64)) == 1065332);
assert(unsigned(flip_mask(0x104178, 64)) == 1065336);
assert(unsigned(flip_mask(0x10417c, 64)) == 1065340);
assert(unsigned(flip_mask(0x104180, 64)) == 1065344);
assert(unsigned(flip_mask(0x104184, 64)) == 1065348);
assert(unsigned(flip_mask(0x104188, 64)) == 1065352);
assert(unsigned(flip_mask(0x10418c, 64)) == 1065356);
assert(unsigned(flip_mask(0x104190, 64)) == 1065360);
assert(unsigned(flip_mask(0x104194, 64)) == 1065364);
assert(unsigned(flip_mask(0x104198, 64)) == 1065368);
assert(unsigned(flip_mask(0x10419c, 64)) == 1065372);
assert(unsigned(flip_mask(0x1041a0, 64)) == 1065376);
assert(unsigned(flip_mask(0x1041a4, 64)) == 1065380);
assert(unsigned(flip_mask(0x1041a8, 64)) == 1065384);
assert(unsigned(flip_mask(0x1041ac, 64)) == 1065388);
assert(unsigned(flip_mask(0x1041b0, 64)) == 1065392);
assert(unsigned(flip_mask(0x1041b4, 64)) == 1065396);
assert(unsigned(flip_mask(0x1041b8, 64)) == 1065400);
assert(unsigned(flip_mask(0x1041bc, 64)) == 1065404);
assert(unsigned(flip_mask(0x1041c0, 64)) == 1065408);
assert(unsigned(flip_mask(0x104200, 64)) == 1065472);
assert(unsigned(flip_mask(0x104204, 64)) == 1065476);
assert(unsigned(flip_mask(0x104208, 64)) == 1065480);
assert(unsigned(flip_mask(0x10420c, 64)) == 1065484);
assert(unsigned(flip_mask(0x104210, 64)) == 1065488);
assert(unsigned(flip_mask(0x104214, 64)) == 1065492);
assert(unsigned(flip_mask(0x104218, 64)) == 1065496);
assert(unsigned(flip_mask(0x10421c, 64)) == 1065500);
assert(unsigned(flip_mask(0x104220, 64)) == 1065504);
assert(unsigned(flip_mask(0x104224, 64)) == 1065508);
assert(unsigned(flip_mask(0x104228, 64)) == 1065512);
assert(unsigned(flip_mask(0x10422c, 64)) == 1065516);
assert(unsigned(flip_mask(0x104250, 64)) == 1065552);
assert(unsigned(flip_mask(0x104258, 64)) == 1065560);
assert(unsigned(flip_mask(0x104260, 64)) == 1065568);
assert(unsigned(flip_mask(0x104268, 64)) == 1065576);
assert(unsigned(flip_mask(0x104270, 64)) == 1065584);
assert(unsigned(flip_mask(0x104278, 64)) == 1065592);
assert(unsigned(flip_mask(0x10427c, 64)) == 1065596);
assert(unsigned(flip_mask(0x104280, 64)) == 1065600);
assert(unsigned(flip_mask(0x104284, 64)) == 1065604);
assert(unsigned(flip_mask(0x1042b8, 64)) == 1065656);
assert(unsigned(flip_mask(0x1042bc, 64)) == 1065660);
assert(unsigned(flip_mask(0x1042d4, 64)) == 1065684);
assert(unsigned(flip_mask(0x1042e0, 64)) == 1065696);
assert(unsigned(flip_mask(0x104300, 64)) == 1065728);
assert(unsigned(flip_mask(0x104308, 64)) == 1065736);
assert(unsigned(flip_mask(0x104310, 64)) == 1065744);
assert(unsigned(flip_mask(0x104320, 64)) == 1065760);
assert(unsigned(flip_mask(0x104328, 64)) == 1065768);
assert(unsigned(flip_mask(0x104330, 64)) == 1065776);
assert(unsigned(flip_mask(0x104338, 64)) == 1065784);
assert(unsigned(flip_mask(0x104340, 64)) == 1065792);
assert(unsigned(flip_mask(0x104360, 64)) == 1065824);
assert(unsigned(flip_mask(0x104368, 64)) == 1065832);
assert(unsigned(flip_mask(0x104410, 64)) == 1066000);
assert(unsigned(flip_mask(0x104418, 64)) == 1066008);
assert(unsigned(flip_mask(0x104420, 64)) == 1066016);
assert(unsigned(flip_mask(0x104428, 64)) == 1066024);
assert(unsigned(flip_mask(0x104550, 64)) == 1066320);
assert(unsigned(flip_mask(0x1045a0, 64)) == 1066400);
assert(unsigned(flip_mask(0x1045a4, 64)) == 1066404);
assert(unsigned(flip_mask(0x1045b0, 64)) == 1066416);
assert(unsigned(flip_mask(0x1045b8, 64)) == 1066424);
assert(unsigned(flip_mask(0x1045c0, 64)) == 1066432);
assert(unsigned(flip_mask(0x1045c4, 64)) == 1066436);
assert(unsigned(flip_mask(0x1045c8, 64)) == 1066440);
assert(unsigned(flip_mask(0x1045d0, 64)) == 1066448);
assert(unsigned(flip_mask(0x1045d8, 64)) == 1066456);
assert(unsigned(flip_mask(0x1045e0, 64)) == 1066464);
assert(unsigned(flip_mask(0x1045e8, 64)) == 1066472);
assert(unsigned(flip_mask(0x1045f0, 64)) == 1066480);
assert(unsigned(flip_mask(0x1045f8, 64)) == 1066488);
assert(unsigned(flip_mask(0x104600, 64)) == 1066496);
assert(unsigned(flip_mask(0x104608, 64)) == 1066504);
assert(unsigned(flip_mask(0x104610, 64)) == 1066512);
assert(unsigned(flip_mask(0x104618, 64)) == 1066520);
assert(unsigned(flip_mask(0x104620, 64)) == 1066528);
assert(unsigned(flip_mask(0x104628, 64)) == 1066536);
assert(unsigned(flip_mask(0x104630, 64)) == 1066544);
assert(unsigned(flip_mask(0x104638, 64)) == 1066552);
assert(unsigned(flip_mask(0x104640, 64)) == 1066560);
assert(unsigned(flip_mask(0x104648, 64)) == 1066568);
assert(unsigned(flip_mask(0x104650, 64)) == 1066576);
assert(unsigned(flip_mask(0x104658, 64)) == 1066584);
assert(unsigned(flip_mask(0x104660, 64)) == 1066592);
assert(unsigned(flip_mask(0x104668, 64)) == 1066600);
assert(unsigned(flip_mask(0x104670, 64)) == 1066608);
assert(unsigned(flip_mask(0x104678, 64)) == 1066616);
assert(unsigned(flip_mask(0x104680, 64)) == 1066624);
assert(unsigned(flip_mask(0x104688, 64)) == 1066632);
assert(unsigned(flip_mask(0x104690, 64)) == 1066640);
assert(unsigned(flip_mask(0x1046a0, 64)) == 1066656);
assert(unsigned(flip_mask(0x1046a8, 64)) == 1066664);
assert(unsigned(flip_mask(0x1046b0, 64)) == 1066672);
assert(unsigned(flip_mask(0x1046b8, 64)) == 1066680);
assert(unsigned(flip_mask(0x1046c0, 64)) == 1066688);
assert(unsigned(flip_mask(0x1046c8, 64)) == 1066696);
assert(unsigned(flip_mask(0x1046d0, 64)) == 1066704);
assert(unsigned(flip_mask(0x1046d8, 64)) == 1066712);
assert(unsigned(flip_mask(0x1046e0, 64)) == 1066720);
assert(unsigned(flip_mask(0x1046e8, 64)) == 1066728);
assert(unsigned(flip_mask(0x1046f0, 64)) == 1066736);
assert(unsigned(flip_mask(0x1046f8, 64)) == 1066744);
assert(unsigned(flip_mask(0x104700, 64)) == 1066752);
assert(unsigned(flip_mask(0x104708, 64)) == 1066760);
assert(unsigned(flip_mask(0x104710, 64)) == 1066768);
assert(unsigned(flip_mask(0x104718, 64)) == 1066776);
assert(unsigned(flip_mask(0x104720, 64)) == 1066784);
assert(unsigned(flip_mask(0x104728, 64)) == 1066792);
assert(unsigned(flip_mask(0x104730, 64)) == 1066800);
assert(unsigned(flip_mask(0x104738, 64)) == 1066808);
assert(unsigned(flip_mask(0x104740, 64)) == 1066816);
assert(unsigned(flip_mask(0x104750, 64)) == 1066832);
assert(unsigned(flip_mask(0x104d50, 64)) == 1068368);
assert(unsigned(flip_mask(0x104d54, 64)) == 1068372);
assert(unsigned(flip_mask(0x104d58, 64)) == 1068376);
assert(unsigned(flip_mask(0x104d5c, 64)) == 1068380);
assert(unsigned(flip_mask(0x104d60, 64)) == 1068384);
assert(unsigned(flip_mask(0x104d64, 64)) == 1068388);
assert(unsigned(flip_mask(0x104d68, 64)) == 1068392);
assert(unsigned(flip_mask(0x104d6c, 64)) == 1068396);
assert(unsigned(flip_mask(0x104d70, 64)) == 1068400);
assert(unsigned(flip_mask(0x104d74, 64)) == 1068404);
assert(unsigned(flip_mask(0x104d78, 64)) == 1068408);
assert(unsigned(flip_mask(0x104d7c, 64)) == 1068412);
assert(unsigned(flip_mask(0x104d80, 64)) == 1068416);
assert(unsigned(flip_mask(0x104d84, 64)) == 1068420);
assert(unsigned(flip_mask(0x104d88, 64)) == 1068424);
assert(unsigned(flip_mask(0x104d8c, 64)) == 1068428);
assert(unsigned(flip_mask(0x104d90, 64)) == 1068432);
assert(unsigned(flip_mask(0x104d94, 64)) == 1068436);
assert(unsigned(flip_mask(0x104d98, 64)) == 1068440);
assert(unsigned(flip_mask(0x104d9c, 64)) == 1068444);
assert(unsigned(flip_mask(0x104da0, 64)) == 1068448);
assert(unsigned(flip_mask(0x104da4, 64)) == 1068452);
assert(unsigned(flip_mask(0x104da8, 64)) == 1068456);
assert(unsigned(flip_mask(0x104dac, 64)) == 1068460);
assert(unsigned(flip_mask(0x104db0, 64)) == 1068464);
assert(unsigned(flip_mask(0x104db4, 64)) == 1068468);
assert(unsigned(flip_mask(0x104db8, 64)) == 1068472);
assert(unsigned(flip_mask(0x104dbc, 64)) == 1068476);
assert(unsigned(flip_mask(0x104dc0, 64)) == 1068480);
assert(unsigned(flip_mask(0x104dc8, 64)) == 1068488);
assert(unsigned(flip_mask(0x104dcc, 64)) == 1068492);
assert(unsigned(flip_mask(0x104dd0, 64)) == 1068496);
assert(unsigned(flip_mask(0x104dd4, 64)) == 1068500);
assert(unsigned(flip_mask(0x104dd8, 64)) == 1068504);
assert(unsigned(flip_mask(0x104ddc, 64)) == 1068508);
assert(unsigned(flip_mask(0x104de0, 64)) == 1068512);
assert(unsigned(flip_mask(0x104de4, 64)) == 1068516);
assert(unsigned(flip_mask(0x104de8, 64)) == 1068520);
assert(unsigned(flip_mask(0x104df4, 64)) == 1068532);
assert(unsigned(flip_mask(0x104df8, 64)) == 1068536);
assert(unsigned(flip_mask(0x104dfc, 64)) == 1068540);
assert(unsigned(flip_mask(0x104e00, 64)) == 1068544);
assert(unsigned(flip_mask(0x104e04, 64)) == 1068548);
assert(unsigned(flip_mask(0x104e08, 64)) == 1068552);
assert(unsigned(flip_mask(0x104e0c, 64)) == 1068556);
assert(unsigned(flip_mask(0x104e10, 64)) == 1068560);
assert(unsigned(flip_mask(0x104e14, 64)) == 1068564);
assert(unsigned(flip_mask(0x104e18, 64)) == 1068568);
assert(unsigned(flip_mask(0x104e1c, 64)) == 1068572);
assert(unsigned(flip_mask(0x104e20, 64)) == 1068576);
assert(unsigned(flip_mask(0x104e24, 64)) == 1068580);
assert(unsigned(flip_mask(0x104e28, 64)) == 1068584);
assert(unsigned(flip_mask(0x104e2c, 64)) == 1068588);
assert(unsigned(flip_mask(0x104e30, 64)) == 1068592);
assert(unsigned(flip_mask(0x104e34, 64)) == 1068596);
assert(unsigned(flip_mask(0x104e38, 64)) == 1068600);
assert(unsigned(flip_mask(0x104e3c, 64)) == 1068604);
assert(unsigned(flip_mask(0x104e40, 64)) == 1068608);
assert(unsigned(flip_mask(0x104e44, 64)) == 1068612);
assert(unsigned(flip_mask(0x104e48, 64)) == 1068616);
assert(unsigned(flip_mask(0x104e4c, 64)) == 1068620);
assert(unsigned(flip_mask(0x104e50, 64)) == 1068624);
assert(unsigned(flip_mask(0x104e54, 64)) == 1068628);
assert(unsigned(flip_mask(0x104e58, 64)) == 1068632);
assert(unsigned(flip_mask(0x104e5c, 64)) == 1068636);
assert(unsigned(flip_mask(0x104e60, 64)) == 1068640);
assert(unsigned(flip_mask(0x104e64, 64)) == 1068644);
assert(unsigned(flip_mask(0x104e68, 64)) == 1068648);
assert(unsigned(flip_mask(0x104e6c, 64)) == 1068652);
assert(unsigned(flip_mask(0x104e70, 64)) == 1068656);
assert(unsigned(flip_mask(0x104e74, 64)) == 1068660);
assert(unsigned(flip_mask(0x104e78, 64)) == 1068664);
assert(unsigned(flip_mask(0x104e7c, 64)) == 1068668);
assert(unsigned(flip_mask(0x104e80, 64)) == 1068672);
assert(unsigned(flip_mask(0x104e84, 64)) == 1068676);
assert(unsigned(flip_mask(0x104e88, 64)) == 1068680);
assert(unsigned(flip_mask(0x104e8c, 64)) == 1068684);
assert(unsigned(flip_mask(0x104e90, 64)) == 1068688);
assert(unsigned(flip_mask(0x104e94, 64)) == 1068692);
assert(unsigned(flip_mask(0x104e98, 64)) == 1068696);
assert(unsigned(flip_mask(0x104e9c, 64)) == 1068700);
assert(unsigned(flip_mask(0x104ea0, 64)) == 1068704);
assert(unsigned(flip_mask(0x104ea4, 64)) == 1068708);
assert(unsigned(flip_mask(0x104ea8, 64)) == 1068712);
assert(unsigned(flip_mask(0x104eac, 64)) == 1068716);
assert(unsigned(flip_mask(0x104eb0, 64)) == 1068720);
assert(unsigned(flip_mask(0x104eb4, 64)) == 1068724);
assert(unsigned(flip_mask(0x104eb8, 64)) == 1068728);
assert(unsigned(flip_mask(0x104ebc, 64)) == 1068732);
assert(unsigned(flip_mask(0x104ec0, 64)) == 1068736);
assert(unsigned(flip_mask(0x104ec4, 64)) == 1068740);
assert(unsigned(flip_mask(0x104ec8, 64)) == 1068744);
assert(unsigned(flip_mask(0x104ecc, 64)) == 1068748);
}
|