summaryrefslogtreecommitdiff
path: root/test/builtins/unsigned1.sail
diff options
context:
space:
mode:
Diffstat (limited to 'test/builtins/unsigned1.sail')
-rw-r--r--test/builtins/unsigned1.sail3005
1 files changed, 3005 insertions, 0 deletions
diff --git a/test/builtins/unsigned1.sail b/test/builtins/unsigned1.sail
new file mode 100644
index 00000000..1a65a06c
--- /dev/null
+++ b/test/builtins/unsigned1.sail
@@ -0,0 +1,3005 @@
+default Order dec
+
+$include <exception_basic.sail>
+$include <vector_dec.sail>
+
+val flip_mask : forall 'len 'v, 'v >= 0. (vector('v, dec, bit), atom('len)) -> vector('len, dec, bit)
+
+function flip_mask(v, len) = len ^ v
+
+function main (() : unit) -> unit = {
+ assert(unsigned(flip_mask(0x0, 1)) == 0);
+ assert(unsigned(flip_mask(0x1, 1)) == 1);
+ assert(unsigned(flip_mask(0x0, 10)) == 0);
+ assert(unsigned(flip_mask(0x1, 10)) == 1);
+ assert(unsigned(flip_mask(0x100, 10)) == 256);
+ assert(unsigned(flip_mask(0x102, 10)) == 258);
+ assert(unsigned(flip_mask(0x140, 10)) == 320);
+ assert(unsigned(flip_mask(0x180, 10)) == 384);
+ assert(unsigned(flip_mask(0x2, 10)) == 2);
+ assert(unsigned(flip_mask(0x200, 10)) == 512);
+ assert(unsigned(flip_mask(0x202, 10)) == 514);
+ assert(unsigned(flip_mask(0x203, 10)) == 515);
+ assert(unsigned(flip_mask(0x205, 10)) == 517);
+ assert(unsigned(flip_mask(0x206, 10)) == 518);
+ assert(unsigned(flip_mask(0x380, 10)) == 896);
+ assert(unsigned(flip_mask(0x3c0, 10)) == 960);
+ assert(unsigned(flip_mask(0x4, 10)) == 4);
+ assert(unsigned(flip_mask(0x40, 10)) == 64);
+ assert(unsigned(flip_mask(0x41, 10)) == 65);
+ assert(unsigned(flip_mask(0x5, 10)) == 5);
+ assert(unsigned(flip_mask(0x6, 10)) == 6);
+ assert(unsigned(flip_mask(0x7, 10)) == 7);
+ assert(unsigned(flip_mask(0x8, 10)) == 8);
+ assert(unsigned(flip_mask(0x80, 10)) == 128);
+ assert(unsigned(flip_mask(0x85, 10)) == 133);
+ assert(unsigned(flip_mask(0xc0, 10)) == 192);
+ assert(unsigned(flip_mask(0xfe, 10)) == 254);
+ assert(unsigned(flip_mask(0x0, 16)) == 0);
+ assert(unsigned(flip_mask(0x0, 2)) == 0);
+ assert(unsigned(flip_mask(0x1, 2)) == 1);
+ assert(unsigned(flip_mask(0x2, 2)) == 2);
+ assert(unsigned(flip_mask(0x3, 2)) == 3);
+ assert(unsigned(flip_mask(0x0, 3)) == 0);
+ assert(unsigned(flip_mask(0x1, 3)) == 1);
+ assert(unsigned(flip_mask(0x2, 3)) == 2);
+ assert(unsigned(flip_mask(0x3, 3)) == 3);
+ assert(unsigned(flip_mask(0x4, 3)) == 4);
+ assert(unsigned(flip_mask(0x5, 3)) == 5);
+ assert(unsigned(flip_mask(0x6, 3)) == 6);
+ assert(unsigned(flip_mask(0x7, 3)) == 7);
+ assert(unsigned(flip_mask(0x0, 32)) == 0);
+ assert(unsigned(flip_mask(0x1, 32)) == 1);
+ assert(unsigned(flip_mask(0x10, 32)) == 16);
+ assert(unsigned(flip_mask(0x10000, 32)) == 65536);
+ assert(unsigned(flip_mask(0x10001, 32)) == 65537);
+ assert(unsigned(flip_mask(0x11, 32)) == 17);
+ assert(unsigned(flip_mask(0x11223344, 32)) == 287454020);
+ assert(unsigned(flip_mask(0x118, 32)) == 280);
+ assert(unsigned(flip_mask(0x12, 32)) == 18);
+ assert(unsigned(flip_mask(0x1234, 32)) == 4660);
+ assert(unsigned(flip_mask(0x12345678, 32)) == 305419896);
+ assert(unsigned(flip_mask(0x13, 32)) == 19);
+ assert(unsigned(flip_mask(0x14, 32)) == 20);
+ assert(unsigned(flip_mask(0x15, 32)) == 21);
+ assert(unsigned(flip_mask(0x16, 32)) == 22);
+ assert(unsigned(flip_mask(0x17, 32)) == 23);
+ assert(unsigned(flip_mask(0x17ffe, 32)) == 98302);
+ assert(unsigned(flip_mask(0x17fff, 32)) == 98303);
+ assert(unsigned(flip_mask(0x18, 32)) == 24);
+ assert(unsigned(flip_mask(0x18000, 32)) == 98304);
+ assert(unsigned(flip_mask(0x19, 32)) == 25);
+ assert(unsigned(flip_mask(0x1a, 32)) == 26);
+ assert(unsigned(flip_mask(0x1b, 32)) == 27);
+ assert(unsigned(flip_mask(0x1c, 32)) == 28);
+ assert(unsigned(flip_mask(0x1d, 32)) == 29);
+ assert(unsigned(flip_mask(0x1e, 32)) == 30);
+ assert(unsigned(flip_mask(0x1f, 32)) == 31);
+ assert(unsigned(flip_mask(0x2, 32)) == 2);
+ assert(unsigned(flip_mask(0x20, 32)) == 32);
+ assert(unsigned(flip_mask(0x20000, 32)) == 131072);
+ assert(unsigned(flip_mask(0x21, 32)) == 33);
+ assert(unsigned(flip_mask(0x23, 32)) == 35);
+ assert(unsigned(flip_mask(0x230, 32)) == 560);
+ assert(unsigned(flip_mask(0x25, 32)) == 37);
+ assert(unsigned(flip_mask(0x26, 32)) == 38);
+ assert(unsigned(flip_mask(0x27, 32)) == 39);
+ assert(unsigned(flip_mask(0x28, 32)) == 40);
+ assert(unsigned(flip_mask(0x280, 32)) == 640);
+ assert(unsigned(flip_mask(0x29, 32)) == 41);
+ assert(unsigned(flip_mask(0x298, 32)) == 664);
+ assert(unsigned(flip_mask(0x2a, 32)) == 42);
+ assert(unsigned(flip_mask(0x2a0, 32)) == 672);
+ assert(unsigned(flip_mask(0x2b, 32)) == 43);
+ assert(unsigned(flip_mask(0x2d, 32)) == 45);
+ assert(unsigned(flip_mask(0x2e, 32)) == 46);
+ assert(unsigned(flip_mask(0x2f, 32)) == 47);
+ assert(unsigned(flip_mask(0x3, 32)) == 3);
+ assert(unsigned(flip_mask(0x30, 32)) == 48);
+ assert(unsigned(flip_mask(0x31, 32)) == 49);
+ assert(unsigned(flip_mask(0x32, 32)) == 50);
+ assert(unsigned(flip_mask(0x33, 32)) == 51);
+ assert(unsigned(flip_mask(0x34, 32)) == 52);
+ assert(unsigned(flip_mask(0x35, 32)) == 53);
+ assert(unsigned(flip_mask(0x36, 32)) == 54);
+ assert(unsigned(flip_mask(0x37, 32)) == 55);
+ assert(unsigned(flip_mask(0x38, 32)) == 56);
+ assert(unsigned(flip_mask(0x39, 32)) == 57);
+ assert(unsigned(flip_mask(0x3a, 32)) == 58);
+ assert(unsigned(flip_mask(0x3c, 32)) == 60);
+ assert(unsigned(flip_mask(0x3e, 32)) == 62);
+ assert(unsigned(flip_mask(0x3f, 32)) == 63);
+ assert(unsigned(flip_mask(0x4, 32)) == 4);
+ assert(unsigned(flip_mask(0x40, 32)) == 64);
+ assert(unsigned(flip_mask(0x41, 32)) == 65);
+ assert(unsigned(flip_mask(0x43, 32)) == 67);
+ assert(unsigned(flip_mask(0x44, 32)) == 68);
+ assert(unsigned(flip_mask(0x45, 32)) == 69);
+ assert(unsigned(flip_mask(0x46, 32)) == 70);
+ assert(unsigned(flip_mask(0x47, 32)) == 71);
+ assert(unsigned(flip_mask(0x48, 32)) == 72);
+ assert(unsigned(flip_mask(0x4a, 32)) == 74);
+ assert(unsigned(flip_mask(0x4b, 32)) == 75);
+ assert(unsigned(flip_mask(0x4c, 32)) == 76);
+ assert(unsigned(flip_mask(0x4d, 32)) == 77);
+ assert(unsigned(flip_mask(0x4e, 32)) == 78);
+ assert(unsigned(flip_mask(0x4f, 32)) == 79);
+ assert(unsigned(flip_mask(0x5, 32)) == 5);
+ assert(unsigned(flip_mask(0x50, 32)) == 80);
+ assert(unsigned(flip_mask(0x52, 32)) == 82);
+ assert(unsigned(flip_mask(0x53, 32)) == 83);
+ assert(unsigned(flip_mask(0x54, 32)) == 84);
+ assert(unsigned(flip_mask(0x55, 32)) == 85);
+ assert(unsigned(flip_mask(0x5a5a, 32)) == 23130);
+ assert(unsigned(flip_mask(0x5a5a5a59, 32)) == 1515870809);
+ assert(unsigned(flip_mask(0x5a5a5a5a, 32)) == 1515870810);
+ assert(unsigned(flip_mask(0x5f, 32)) == 95);
+ assert(unsigned(flip_mask(0x6, 32)) == 6);
+ assert(unsigned(flip_mask(0x6000, 32)) == 24576);
+ assert(unsigned(flip_mask(0x60000000, 32)) == 1610612736);
+ assert(unsigned(flip_mask(0x61, 32)) == 97);
+ assert(unsigned(flip_mask(0x62, 32)) == 98);
+ assert(unsigned(flip_mask(0x63, 32)) == 99);
+ assert(unsigned(flip_mask(0x64, 32)) == 100);
+ assert(unsigned(flip_mask(0x65, 32)) == 101);
+ assert(unsigned(flip_mask(0x66, 32)) == 102);
+ assert(unsigned(flip_mask(0x68, 32)) == 104);
+ assert(unsigned(flip_mask(0x69, 32)) == 105);
+ assert(unsigned(flip_mask(0x6b7c8d9f, 32)) == 1803324831);
+ assert(unsigned(flip_mask(0x6c, 32)) == 108);
+ assert(unsigned(flip_mask(0x6d, 32)) == 109);
+ assert(unsigned(flip_mask(0x6e, 32)) == 110);
+ assert(unsigned(flip_mask(0x6f, 32)) == 111);
+ assert(unsigned(flip_mask(0x7, 32)) == 7);
+ assert(unsigned(flip_mask(0x70, 32)) == 112);
+ assert(unsigned(flip_mask(0x72, 32)) == 114);
+ assert(unsigned(flip_mask(0x73, 32)) == 115);
+ assert(unsigned(flip_mask(0x74, 32)) == 116);
+ assert(unsigned(flip_mask(0x75, 32)) == 117);
+ assert(unsigned(flip_mask(0x76, 32)) == 118);
+ assert(unsigned(flip_mask(0x764c321, 32)) == 124044065);
+ assert(unsigned(flip_mask(0x78, 32)) == 120);
+ assert(unsigned(flip_mask(0x7ffe, 32)) == 32766);
+ assert(unsigned(flip_mask(0x7fff, 32)) == 32767);
+ assert(unsigned(flip_mask(0x7fff7fff, 32)) == 2147450879);
+ assert(unsigned(flip_mask(0x7ffffffe, 32)) == 2147483646);
+ assert(unsigned(flip_mask(0x7fffffff, 32)) == 2147483647);
+ assert(unsigned(flip_mask(0x8, 32)) == 8);
+ assert(unsigned(flip_mask(0x8000, 32)) == 32768);
+ assert(unsigned(flip_mask(0x80000000, 32)) == 2147483648);
+ assert(unsigned(flip_mask(0x80000001, 32)) == 2147483649);
+ assert(unsigned(flip_mask(0x80000002, 32)) == 2147483650);
+ assert(unsigned(flip_mask(0x80000003, 32)) == 2147483651);
+ assert(unsigned(flip_mask(0x80008000, 32)) == 2147516416);
+ assert(unsigned(flip_mask(0x8001, 32)) == 32769);
+ assert(unsigned(flip_mask(0x8002, 32)) == 32770);
+ assert(unsigned(flip_mask(0x8003, 32)) == 32771);
+ assert(unsigned(flip_mask(0x87654321, 32)) == 2271560481);
+ assert(unsigned(flip_mask(0x8899aabb, 32)) == 2291772091);
+ assert(unsigned(flip_mask(0x89ab, 32)) == 35243);
+ assert(unsigned(flip_mask(0x8fffffff, 32)) == 2415919103);
+ assert(unsigned(flip_mask(0x9, 32)) == 9);
+ assert(unsigned(flip_mask(0x90000000, 32)) == 2415919104);
+ assert(unsigned(flip_mask(0x90000001, 32)) == 2415919105);
+ assert(unsigned(flip_mask(0x9234567a, 32)) == 2452903546);
+ assert(unsigned(flip_mask(0x950, 32)) == 2384);
+ assert(unsigned(flip_mask(0x9be0, 32)) == 39904);
+ assert(unsigned(flip_mask(0xa, 32)) == 10);
+ assert(unsigned(flip_mask(0xa5a5, 32)) == 42405);
+ assert(unsigned(flip_mask(0xa5a5a5a5, 32)) == 2779096485);
+ assert(unsigned(flip_mask(0xb, 32)) == 11);
+ assert(unsigned(flip_mask(0xc, 32)) == 12);
+ assert(unsigned(flip_mask(0xd, 32)) == 13);
+ assert(unsigned(flip_mask(0xe, 32)) == 14);
+ assert(unsigned(flip_mask(0xe0000000, 32)) == 3758096384);
+ assert(unsigned(flip_mask(0xf, 32)) == 15);
+ assert(unsigned(flip_mask(0xff, 32)) == 255);
+ assert(unsigned(flip_mask(0xfffe, 32)) == 65534);
+ assert(unsigned(flip_mask(0xffff, 32)) == 65535);
+ assert(unsigned(flip_mask(0xffff8000, 32)) == 4294934528);
+ assert(unsigned(flip_mask(0xffffff00, 32)) == 4294967040);
+ assert(unsigned(flip_mask(0xffffff87, 32)) == 4294967175);
+ assert(unsigned(flip_mask(0xffffff8c, 32)) == 4294967180);
+ assert(unsigned(flip_mask(0xffffff93, 32)) == 4294967187);
+ assert(unsigned(flip_mask(0xffffff9b, 32)) == 4294967195);
+ assert(unsigned(flip_mask(0xffffffa7, 32)) == 4294967207);
+ assert(unsigned(flip_mask(0xffffffd0, 32)) == 4294967248);
+ assert(unsigned(flip_mask(0xffffffd8, 32)) == 4294967256);
+ assert(unsigned(flip_mask(0xffffffda, 32)) == 4294967258);
+ assert(unsigned(flip_mask(0xffffffdf, 32)) == 4294967263);
+ assert(unsigned(flip_mask(0xffffffe0, 32)) == 4294967264);
+ assert(unsigned(flip_mask(0xffffffe1, 32)) == 4294967265);
+ assert(unsigned(flip_mask(0xffffffe2, 32)) == 4294967266);
+ assert(unsigned(flip_mask(0xffffffe3, 32)) == 4294967267);
+ assert(unsigned(flip_mask(0xffffffe4, 32)) == 4294967268);
+ assert(unsigned(flip_mask(0xffffffe5, 32)) == 4294967269);
+ assert(unsigned(flip_mask(0xffffffe6, 32)) == 4294967270);
+ assert(unsigned(flip_mask(0xffffffe7, 32)) == 4294967271);
+ assert(unsigned(flip_mask(0xffffffe8, 32)) == 4294967272);
+ assert(unsigned(flip_mask(0xffffffe9, 32)) == 4294967273);
+ assert(unsigned(flip_mask(0xffffffea, 32)) == 4294967274);
+ assert(unsigned(flip_mask(0xffffffeb, 32)) == 4294967275);
+ assert(unsigned(flip_mask(0xffffffec, 32)) == 4294967276);
+ assert(unsigned(flip_mask(0xffffffed, 32)) == 4294967277);
+ assert(unsigned(flip_mask(0xffffffee, 32)) == 4294967278);
+ assert(unsigned(flip_mask(0xffffffef, 32)) == 4294967279);
+ assert(unsigned(flip_mask(0xfffffff, 32)) == 268435455);
+ assert(unsigned(flip_mask(0xfffffff0, 32)) == 4294967280);
+ assert(unsigned(flip_mask(0xfffffff1, 32)) == 4294967281);
+ assert(unsigned(flip_mask(0xfffffff2, 32)) == 4294967282);
+ assert(unsigned(flip_mask(0xfffffff3, 32)) == 4294967283);
+ assert(unsigned(flip_mask(0xfffffff4, 32)) == 4294967284);
+ assert(unsigned(flip_mask(0xfffffff5, 32)) == 4294967285);
+ assert(unsigned(flip_mask(0xfffffff6, 32)) == 4294967286);
+ assert(unsigned(flip_mask(0xfffffff7, 32)) == 4294967287);
+ assert(unsigned(flip_mask(0xfffffff8, 32)) == 4294967288);
+ assert(unsigned(flip_mask(0xfffffff9, 32)) == 4294967289);
+ assert(unsigned(flip_mask(0xfffffffa, 32)) == 4294967290);
+ assert(unsigned(flip_mask(0xfffffffb, 32)) == 4294967291);
+ assert(unsigned(flip_mask(0xfffffffc, 32)) == 4294967292);
+ assert(unsigned(flip_mask(0xfffffffd, 32)) == 4294967293);
+ assert(unsigned(flip_mask(0xfffffffe, 32)) == 4294967294);
+ assert(unsigned(flip_mask(0xffffffff, 32)) == 4294967295);
+ assert(unsigned(flip_mask(0x0, 4)) == 0);
+ assert(unsigned(flip_mask(0x1, 4)) == 1);
+ assert(unsigned(flip_mask(0x2, 4)) == 2);
+ assert(unsigned(flip_mask(0x3, 4)) == 3);
+ assert(unsigned(flip_mask(0x4, 4)) == 4);
+ assert(unsigned(flip_mask(0x5, 4)) == 5);
+ assert(unsigned(flip_mask(0x6, 4)) == 6);
+ assert(unsigned(flip_mask(0x7, 4)) == 7);
+ assert(unsigned(flip_mask(0x8, 4)) == 8);
+ assert(unsigned(flip_mask(0xa, 4)) == 10);
+ assert(unsigned(flip_mask(0xc, 4)) == 12);
+ assert(unsigned(flip_mask(0xd, 4)) == 13);
+ assert(unsigned(flip_mask(0xe, 4)) == 14);
+ assert(unsigned(flip_mask(0x0, 5)) == 0);
+ assert(unsigned(flip_mask(0x1, 5)) == 1);
+ assert(unsigned(flip_mask(0x10, 5)) == 16);
+ assert(unsigned(flip_mask(0x11, 5)) == 17);
+ assert(unsigned(flip_mask(0x12, 5)) == 18);
+ assert(unsigned(flip_mask(0x13, 5)) == 19);
+ assert(unsigned(flip_mask(0x14, 5)) == 20);
+ assert(unsigned(flip_mask(0x15, 5)) == 21);
+ assert(unsigned(flip_mask(0x16, 5)) == 22);
+ assert(unsigned(flip_mask(0x17, 5)) == 23);
+ assert(unsigned(flip_mask(0x18, 5)) == 24);
+ assert(unsigned(flip_mask(0x19, 5)) == 25);
+ assert(unsigned(flip_mask(0x1a, 5)) == 26);
+ assert(unsigned(flip_mask(0x1b, 5)) == 27);
+ assert(unsigned(flip_mask(0x1c, 5)) == 28);
+ assert(unsigned(flip_mask(0x1d, 5)) == 29);
+ assert(unsigned(flip_mask(0x1e, 5)) == 30);
+ assert(unsigned(flip_mask(0x1f, 5)) == 31);
+ assert(unsigned(flip_mask(0x2, 5)) == 2);
+ assert(unsigned(flip_mask(0x3, 5)) == 3);
+ assert(unsigned(flip_mask(0x4, 5)) == 4);
+ assert(unsigned(flip_mask(0x5, 5)) == 5);
+ assert(unsigned(flip_mask(0x6, 5)) == 6);
+ assert(unsigned(flip_mask(0x7, 5)) == 7);
+ assert(unsigned(flip_mask(0x8, 5)) == 8);
+ assert(unsigned(flip_mask(0x9, 5)) == 9);
+ assert(unsigned(flip_mask(0xa, 5)) == 10);
+ assert(unsigned(flip_mask(0xb, 5)) == 11);
+ assert(unsigned(flip_mask(0xc, 5)) == 12);
+ assert(unsigned(flip_mask(0xd, 5)) == 13);
+ assert(unsigned(flip_mask(0xe, 5)) == 14);
+ assert(unsigned(flip_mask(0xf, 5)) == 15);
+ assert(unsigned(flip_mask(0x0, 52)) == 0);
+ assert(unsigned(flip_mask(0x101000, 52)) == 1052672);
+ assert(unsigned(flip_mask(0x101004, 52)) == 1052676);
+ assert(unsigned(flip_mask(0x101008, 52)) == 1052680);
+ assert(unsigned(flip_mask(0x10100c, 52)) == 1052684);
+ assert(unsigned(flip_mask(0x101010, 52)) == 1052688);
+ assert(unsigned(flip_mask(0x101014, 52)) == 1052692);
+ assert(unsigned(flip_mask(0x101018, 52)) == 1052696);
+ assert(unsigned(flip_mask(0x10101c, 52)) == 1052700);
+ assert(unsigned(flip_mask(0x101020, 52)) == 1052704);
+ assert(unsigned(flip_mask(0x101024, 52)) == 1052708);
+ assert(unsigned(flip_mask(0x101028, 52)) == 1052712);
+ assert(unsigned(flip_mask(0x10102c, 52)) == 1052716);
+ assert(unsigned(flip_mask(0x101030, 52)) == 1052720);
+ assert(unsigned(flip_mask(0x101034, 52)) == 1052724);
+ assert(unsigned(flip_mask(0x101038, 52)) == 1052728);
+ assert(unsigned(flip_mask(0x10103c, 52)) == 1052732);
+ assert(unsigned(flip_mask(0x101040, 52)) == 1052736);
+ assert(unsigned(flip_mask(0x101044, 52)) == 1052740);
+ assert(unsigned(flip_mask(0x101048, 52)) == 1052744);
+ assert(unsigned(flip_mask(0x10104c, 52)) == 1052748);
+ assert(unsigned(flip_mask(0x101050, 52)) == 1052752);
+ assert(unsigned(flip_mask(0x101054, 52)) == 1052756);
+ assert(unsigned(flip_mask(0x101058, 52)) == 1052760);
+ assert(unsigned(flip_mask(0x10105c, 52)) == 1052764);
+ assert(unsigned(flip_mask(0x101060, 52)) == 1052768);
+ assert(unsigned(flip_mask(0x101064, 52)) == 1052772);
+ assert(unsigned(flip_mask(0x101068, 52)) == 1052776);
+ assert(unsigned(flip_mask(0x10106c, 52)) == 1052780);
+ assert(unsigned(flip_mask(0x101070, 52)) == 1052784);
+ assert(unsigned(flip_mask(0x101074, 52)) == 1052788);
+ assert(unsigned(flip_mask(0x101078, 52)) == 1052792);
+ assert(unsigned(flip_mask(0x10107c, 52)) == 1052796);
+ assert(unsigned(flip_mask(0x101080, 52)) == 1052800);
+ assert(unsigned(flip_mask(0x101088, 52)) == 1052808);
+ assert(unsigned(flip_mask(0x10108c, 52)) == 1052812);
+ assert(unsigned(flip_mask(0x101090, 52)) == 1052816);
+ assert(unsigned(flip_mask(0x101094, 52)) == 1052820);
+ assert(unsigned(flip_mask(0x101098, 52)) == 1052824);
+ assert(unsigned(flip_mask(0x10109c, 52)) == 1052828);
+ assert(unsigned(flip_mask(0x1010a0, 52)) == 1052832);
+ assert(unsigned(flip_mask(0x1010ac, 52)) == 1052844);
+ assert(unsigned(flip_mask(0x1010b0, 52)) == 1052848);
+ assert(unsigned(flip_mask(0x1010b4, 52)) == 1052852);
+ assert(unsigned(flip_mask(0x1010b8, 52)) == 1052856);
+ assert(unsigned(flip_mask(0x1010c0, 52)) == 1052864);
+ assert(unsigned(flip_mask(0x1010c4, 52)) == 1052868);
+ assert(unsigned(flip_mask(0x1010c8, 52)) == 1052872);
+ assert(unsigned(flip_mask(0x1010cc, 52)) == 1052876);
+ assert(unsigned(flip_mask(0x1010d0, 52)) == 1052880);
+ assert(unsigned(flip_mask(0x1010d4, 52)) == 1052884);
+ assert(unsigned(flip_mask(0x1010d8, 52)) == 1052888);
+ assert(unsigned(flip_mask(0x1010dc, 52)) == 1052892);
+ assert(unsigned(flip_mask(0x1010e0, 52)) == 1052896);
+ assert(unsigned(flip_mask(0x1010e4, 52)) == 1052900);
+ assert(unsigned(flip_mask(0x1010e8, 52)) == 1052904);
+ assert(unsigned(flip_mask(0x1010ec, 52)) == 1052908);
+ assert(unsigned(flip_mask(0x1010f0, 52)) == 1052912);
+ assert(unsigned(flip_mask(0x1010f4, 52)) == 1052916);
+ assert(unsigned(flip_mask(0x1010f8, 52)) == 1052920);
+ assert(unsigned(flip_mask(0x1010fc, 52)) == 1052924);
+ assert(unsigned(flip_mask(0x101100, 52)) == 1052928);
+ assert(unsigned(flip_mask(0x101104, 52)) == 1052932);
+ assert(unsigned(flip_mask(0x101108, 52)) == 1052936);
+ assert(unsigned(flip_mask(0x10110c, 52)) == 1052940);
+ assert(unsigned(flip_mask(0x101110, 52)) == 1052944);
+ assert(unsigned(flip_mask(0x101114, 52)) == 1052948);
+ assert(unsigned(flip_mask(0x101118, 52)) == 1052952);
+ assert(unsigned(flip_mask(0x10111c, 52)) == 1052956);
+ assert(unsigned(flip_mask(0x101120, 52)) == 1052960);
+ assert(unsigned(flip_mask(0x101124, 52)) == 1052964);
+ assert(unsigned(flip_mask(0x101128, 52)) == 1052968);
+ assert(unsigned(flip_mask(0x10112c, 52)) == 1052972);
+ assert(unsigned(flip_mask(0x101130, 52)) == 1052976);
+ assert(unsigned(flip_mask(0x101134, 52)) == 1052980);
+ assert(unsigned(flip_mask(0x101138, 52)) == 1052984);
+ assert(unsigned(flip_mask(0x10113c, 52)) == 1052988);
+ assert(unsigned(flip_mask(0x101140, 52)) == 1052992);
+ assert(unsigned(flip_mask(0x101144, 52)) == 1052996);
+ assert(unsigned(flip_mask(0x101148, 52)) == 1053000);
+ assert(unsigned(flip_mask(0x10114c, 52)) == 1053004);
+ assert(unsigned(flip_mask(0x101150, 52)) == 1053008);
+ assert(unsigned(flip_mask(0x101154, 52)) == 1053012);
+ assert(unsigned(flip_mask(0x101158, 52)) == 1053016);
+ assert(unsigned(flip_mask(0x10115c, 52)) == 1053020);
+ assert(unsigned(flip_mask(0x101160, 52)) == 1053024);
+ assert(unsigned(flip_mask(0x101164, 52)) == 1053028);
+ assert(unsigned(flip_mask(0x101168, 52)) == 1053032);
+ assert(unsigned(flip_mask(0x10116c, 52)) == 1053036);
+ assert(unsigned(flip_mask(0x101170, 52)) == 1053040);
+ assert(unsigned(flip_mask(0x101174, 52)) == 1053044);
+ assert(unsigned(flip_mask(0x101178, 52)) == 1053048);
+ assert(unsigned(flip_mask(0x10117c, 52)) == 1053052);
+ assert(unsigned(flip_mask(0x101180, 52)) == 1053056);
+ assert(unsigned(flip_mask(0x101184, 52)) == 1053060);
+ assert(unsigned(flip_mask(0x101188, 52)) == 1053064);
+ assert(unsigned(flip_mask(0x10118c, 52)) == 1053068);
+ assert(unsigned(flip_mask(0x101190, 52)) == 1053072);
+ assert(unsigned(flip_mask(0x101194, 52)) == 1053076);
+ assert(unsigned(flip_mask(0x101198, 52)) == 1053080);
+ assert(unsigned(flip_mask(0x10119c, 52)) == 1053084);
+ assert(unsigned(flip_mask(0x1011a0, 52)) == 1053088);
+ assert(unsigned(flip_mask(0x1011a4, 52)) == 1053092);
+ assert(unsigned(flip_mask(0x1011a8, 52)) == 1053096);
+ assert(unsigned(flip_mask(0x1011ac, 52)) == 1053100);
+ assert(unsigned(flip_mask(0x1011b0, 52)) == 1053104);
+ assert(unsigned(flip_mask(0x1011b4, 52)) == 1053108);
+ assert(unsigned(flip_mask(0x1011b8, 52)) == 1053112);
+ assert(unsigned(flip_mask(0x101200, 52)) == 1053184);
+ assert(unsigned(flip_mask(0x101204, 52)) == 1053188);
+ assert(unsigned(flip_mask(0x101208, 52)) == 1053192);
+ assert(unsigned(flip_mask(0x10120c, 52)) == 1053196);
+ assert(unsigned(flip_mask(0x101210, 52)) == 1053200);
+ assert(unsigned(flip_mask(0x101214, 52)) == 1053204);
+ assert(unsigned(flip_mask(0x101218, 52)) == 1053208);
+ assert(unsigned(flip_mask(0x10121c, 52)) == 1053212);
+ assert(unsigned(flip_mask(0x101220, 52)) == 1053216);
+ assert(unsigned(flip_mask(0x101224, 52)) == 1053220);
+ assert(unsigned(flip_mask(0x101228, 52)) == 1053224);
+ assert(unsigned(flip_mask(0x10122c, 52)) == 1053228);
+ assert(unsigned(flip_mask(0x101230, 52)) == 1053232);
+ assert(unsigned(flip_mask(0x101234, 52)) == 1053236);
+ assert(unsigned(flip_mask(0x101238, 52)) == 1053240);
+ assert(unsigned(flip_mask(0x101240, 52)) == 1053248);
+ assert(unsigned(flip_mask(0x101248, 52)) == 1053256);
+ assert(unsigned(flip_mask(0x101250, 52)) == 1053264);
+ assert(unsigned(flip_mask(0x101258, 52)) == 1053272);
+ assert(unsigned(flip_mask(0x101260, 52)) == 1053280);
+ assert(unsigned(flip_mask(0x101270, 52)) == 1053296);
+ assert(unsigned(flip_mask(0x101278, 52)) == 1053304);
+ assert(unsigned(flip_mask(0x101280, 52)) == 1053312);
+ assert(unsigned(flip_mask(0x102000, 52)) == 1056768);
+ assert(unsigned(flip_mask(0x102004, 52)) == 1056772);
+ assert(unsigned(flip_mask(0x102008, 52)) == 1056776);
+ assert(unsigned(flip_mask(0x10200c, 52)) == 1056780);
+ assert(unsigned(flip_mask(0x102010, 52)) == 1056784);
+ assert(unsigned(flip_mask(0x102014, 52)) == 1056788);
+ assert(unsigned(flip_mask(0x102018, 52)) == 1056792);
+ assert(unsigned(flip_mask(0x10201c, 52)) == 1056796);
+ assert(unsigned(flip_mask(0x102020, 52)) == 1056800);
+ assert(unsigned(flip_mask(0x102024, 52)) == 1056804);
+ assert(unsigned(flip_mask(0x102028, 52)) == 1056808);
+ assert(unsigned(flip_mask(0x10202c, 52)) == 1056812);
+ assert(unsigned(flip_mask(0x102030, 52)) == 1056816);
+ assert(unsigned(flip_mask(0x102034, 52)) == 1056820);
+ assert(unsigned(flip_mask(0x102038, 52)) == 1056824);
+ assert(unsigned(flip_mask(0x10203c, 52)) == 1056828);
+ assert(unsigned(flip_mask(0x102040, 52)) == 1056832);
+ assert(unsigned(flip_mask(0x102044, 52)) == 1056836);
+ assert(unsigned(flip_mask(0x102048, 52)) == 1056840);
+ assert(unsigned(flip_mask(0x10204c, 52)) == 1056844);
+ assert(unsigned(flip_mask(0x102050, 52)) == 1056848);
+ assert(unsigned(flip_mask(0x102054, 52)) == 1056852);
+ assert(unsigned(flip_mask(0x102058, 52)) == 1056856);
+ assert(unsigned(flip_mask(0x10205c, 52)) == 1056860);
+ assert(unsigned(flip_mask(0x102060, 52)) == 1056864);
+ assert(unsigned(flip_mask(0x102064, 52)) == 1056868);
+ assert(unsigned(flip_mask(0x102068, 52)) == 1056872);
+ assert(unsigned(flip_mask(0x10206c, 52)) == 1056876);
+ assert(unsigned(flip_mask(0x102070, 52)) == 1056880);
+ assert(unsigned(flip_mask(0x102074, 52)) == 1056884);
+ assert(unsigned(flip_mask(0x102078, 52)) == 1056888);
+ assert(unsigned(flip_mask(0x10207c, 52)) == 1056892);
+ assert(unsigned(flip_mask(0x102080, 52)) == 1056896);
+ assert(unsigned(flip_mask(0x102084, 52)) == 1056900);
+ assert(unsigned(flip_mask(0x102088, 52)) == 1056904);
+ assert(unsigned(flip_mask(0x10208c, 52)) == 1056908);
+ assert(unsigned(flip_mask(0x102090, 52)) == 1056912);
+ assert(unsigned(flip_mask(0x102098, 52)) == 1056920);
+ assert(unsigned(flip_mask(0x10209c, 52)) == 1056924);
+ assert(unsigned(flip_mask(0x1020a0, 52)) == 1056928);
+ assert(unsigned(flip_mask(0x1020a4, 52)) == 1056932);
+ assert(unsigned(flip_mask(0x1020a8, 52)) == 1056936);
+ assert(unsigned(flip_mask(0x1020ac, 52)) == 1056940);
+ assert(unsigned(flip_mask(0x1020b0, 52)) == 1056944);
+ assert(unsigned(flip_mask(0x1020bc, 52)) == 1056956);
+ assert(unsigned(flip_mask(0x1020c0, 52)) == 1056960);
+ assert(unsigned(flip_mask(0x1020c4, 52)) == 1056964);
+ assert(unsigned(flip_mask(0x1020c8, 52)) == 1056968);
+ assert(unsigned(flip_mask(0x1020d0, 52)) == 1056976);
+ assert(unsigned(flip_mask(0x1020d4, 52)) == 1056980);
+ assert(unsigned(flip_mask(0x1020d8, 52)) == 1056984);
+ assert(unsigned(flip_mask(0x1020dc, 52)) == 1056988);
+ assert(unsigned(flip_mask(0x1020e0, 52)) == 1056992);
+ assert(unsigned(flip_mask(0x1020e4, 52)) == 1056996);
+ assert(unsigned(flip_mask(0x1020e8, 52)) == 1057000);
+ assert(unsigned(flip_mask(0x1020ec, 52)) == 1057004);
+ assert(unsigned(flip_mask(0x1020f0, 52)) == 1057008);
+ assert(unsigned(flip_mask(0x1020f4, 52)) == 1057012);
+ assert(unsigned(flip_mask(0x1020f8, 52)) == 1057016);
+ assert(unsigned(flip_mask(0x1020fc, 52)) == 1057020);
+ assert(unsigned(flip_mask(0x102100, 52)) == 1057024);
+ assert(unsigned(flip_mask(0x102104, 52)) == 1057028);
+ assert(unsigned(flip_mask(0x102108, 52)) == 1057032);
+ assert(unsigned(flip_mask(0x10210c, 52)) == 1057036);
+ assert(unsigned(flip_mask(0x102110, 52)) == 1057040);
+ assert(unsigned(flip_mask(0x102114, 52)) == 1057044);
+ assert(unsigned(flip_mask(0x102118, 52)) == 1057048);
+ assert(unsigned(flip_mask(0x10211c, 52)) == 1057052);
+ assert(unsigned(flip_mask(0x102120, 52)) == 1057056);
+ assert(unsigned(flip_mask(0x102124, 52)) == 1057060);
+ assert(unsigned(flip_mask(0x102128, 52)) == 1057064);
+ assert(unsigned(flip_mask(0x10212c, 52)) == 1057068);
+ assert(unsigned(flip_mask(0x102130, 52)) == 1057072);
+ assert(unsigned(flip_mask(0x102134, 52)) == 1057076);
+ assert(unsigned(flip_mask(0x102138, 52)) == 1057080);
+ assert(unsigned(flip_mask(0x10213c, 52)) == 1057084);
+ assert(unsigned(flip_mask(0x102140, 52)) == 1057088);
+ assert(unsigned(flip_mask(0x102144, 52)) == 1057092);
+ assert(unsigned(flip_mask(0x102148, 52)) == 1057096);
+ assert(unsigned(flip_mask(0x10214c, 52)) == 1057100);
+ assert(unsigned(flip_mask(0x102150, 52)) == 1057104);
+ assert(unsigned(flip_mask(0x102154, 52)) == 1057108);
+ assert(unsigned(flip_mask(0x102158, 52)) == 1057112);
+ assert(unsigned(flip_mask(0x10215c, 52)) == 1057116);
+ assert(unsigned(flip_mask(0x102160, 52)) == 1057120);
+ assert(unsigned(flip_mask(0x102164, 52)) == 1057124);
+ assert(unsigned(flip_mask(0x102168, 52)) == 1057128);
+ assert(unsigned(flip_mask(0x10216c, 52)) == 1057132);
+ assert(unsigned(flip_mask(0x102170, 52)) == 1057136);
+ assert(unsigned(flip_mask(0x102174, 52)) == 1057140);
+ assert(unsigned(flip_mask(0x102178, 52)) == 1057144);
+ assert(unsigned(flip_mask(0x10217c, 52)) == 1057148);
+ assert(unsigned(flip_mask(0x102180, 52)) == 1057152);
+ assert(unsigned(flip_mask(0x102184, 52)) == 1057156);
+ assert(unsigned(flip_mask(0x102188, 52)) == 1057160);
+ assert(unsigned(flip_mask(0x10218c, 52)) == 1057164);
+ assert(unsigned(flip_mask(0x102190, 52)) == 1057168);
+ assert(unsigned(flip_mask(0x102194, 52)) == 1057172);
+ assert(unsigned(flip_mask(0x102198, 52)) == 1057176);
+ assert(unsigned(flip_mask(0x10219c, 52)) == 1057180);
+ assert(unsigned(flip_mask(0x1021a0, 52)) == 1057184);
+ assert(unsigned(flip_mask(0x1021a4, 52)) == 1057188);
+ assert(unsigned(flip_mask(0x1021a8, 52)) == 1057192);
+ assert(unsigned(flip_mask(0x1021ac, 52)) == 1057196);
+ assert(unsigned(flip_mask(0x1021b0, 52)) == 1057200);
+ assert(unsigned(flip_mask(0x1021b4, 52)) == 1057204);
+ assert(unsigned(flip_mask(0x1021b8, 52)) == 1057208);
+ assert(unsigned(flip_mask(0x102200, 52)) == 1057280);
+ assert(unsigned(flip_mask(0x102204, 52)) == 1057284);
+ assert(unsigned(flip_mask(0x102208, 52)) == 1057288);
+ assert(unsigned(flip_mask(0x10220c, 52)) == 1057292);
+ assert(unsigned(flip_mask(0x102210, 52)) == 1057296);
+ assert(unsigned(flip_mask(0x102214, 52)) == 1057300);
+ assert(unsigned(flip_mask(0x102218, 52)) == 1057304);
+ assert(unsigned(flip_mask(0x10221c, 52)) == 1057308);
+ assert(unsigned(flip_mask(0x102220, 52)) == 1057312);
+ assert(unsigned(flip_mask(0x102224, 52)) == 1057316);
+ assert(unsigned(flip_mask(0x102228, 52)) == 1057320);
+ assert(unsigned(flip_mask(0x10222c, 52)) == 1057324);
+ assert(unsigned(flip_mask(0x102230, 52)) == 1057328);
+ assert(unsigned(flip_mask(0x102234, 52)) == 1057332);
+ assert(unsigned(flip_mask(0x102238, 52)) == 1057336);
+ assert(unsigned(flip_mask(0x102240, 52)) == 1057344);
+ assert(unsigned(flip_mask(0x102248, 52)) == 1057352);
+ assert(unsigned(flip_mask(0x102250, 52)) == 1057360);
+ assert(unsigned(flip_mask(0x102258, 52)) == 1057368);
+ assert(unsigned(flip_mask(0x102260, 52)) == 1057376);
+ assert(unsigned(flip_mask(0x102270, 52)) == 1057392);
+ assert(unsigned(flip_mask(0x102278, 52)) == 1057400);
+ assert(unsigned(flip_mask(0x102280, 52)) == 1057408);
+ assert(unsigned(flip_mask(0x10300000, 52)) == 271581184);
+ assert(unsigned(flip_mask(0x10300004, 52)) == 271581188);
+ assert(unsigned(flip_mask(0x10300008, 52)) == 271581192);
+ assert(unsigned(flip_mask(0x10300010, 52)) == 271581200);
+ assert(unsigned(flip_mask(0x104000, 52)) == 1064960);
+ assert(unsigned(flip_mask(0x104004, 52)) == 1064964);
+ assert(unsigned(flip_mask(0x104008, 52)) == 1064968);
+ assert(unsigned(flip_mask(0x10400c, 52)) == 1064972);
+ assert(unsigned(flip_mask(0x104010, 52)) == 1064976);
+ assert(unsigned(flip_mask(0x104014, 52)) == 1064980);
+ assert(unsigned(flip_mask(0x104018, 52)) == 1064984);
+ assert(unsigned(flip_mask(0x10401c, 52)) == 1064988);
+ assert(unsigned(flip_mask(0x104020, 52)) == 1064992);
+ assert(unsigned(flip_mask(0x104024, 52)) == 1064996);
+ assert(unsigned(flip_mask(0x104028, 52)) == 1065000);
+ assert(unsigned(flip_mask(0x10402c, 52)) == 1065004);
+ assert(unsigned(flip_mask(0x104030, 52)) == 1065008);
+ assert(unsigned(flip_mask(0x104034, 52)) == 1065012);
+ assert(unsigned(flip_mask(0x104038, 52)) == 1065016);
+ assert(unsigned(flip_mask(0x10403c, 52)) == 1065020);
+ assert(unsigned(flip_mask(0x104040, 52)) == 1065024);
+ assert(unsigned(flip_mask(0x104044, 52)) == 1065028);
+ assert(unsigned(flip_mask(0x104048, 52)) == 1065032);
+ assert(unsigned(flip_mask(0x10404c, 52)) == 1065036);
+ assert(unsigned(flip_mask(0x104050, 52)) == 1065040);
+ assert(unsigned(flip_mask(0x104054, 52)) == 1065044);
+ assert(unsigned(flip_mask(0x104058, 52)) == 1065048);
+ assert(unsigned(flip_mask(0x10405c, 52)) == 1065052);
+ assert(unsigned(flip_mask(0x104060, 52)) == 1065056);
+ assert(unsigned(flip_mask(0x104064, 52)) == 1065060);
+ assert(unsigned(flip_mask(0x104068, 52)) == 1065064);
+ assert(unsigned(flip_mask(0x10406c, 52)) == 1065068);
+ assert(unsigned(flip_mask(0x104070, 52)) == 1065072);
+ assert(unsigned(flip_mask(0x104074, 52)) == 1065076);
+ assert(unsigned(flip_mask(0x104078, 52)) == 1065080);
+ assert(unsigned(flip_mask(0x10407c, 52)) == 1065084);
+ assert(unsigned(flip_mask(0x104080, 52)) == 1065088);
+ assert(unsigned(flip_mask(0x104088, 52)) == 1065096);
+ assert(unsigned(flip_mask(0x10408c, 52)) == 1065100);
+ assert(unsigned(flip_mask(0x104090, 52)) == 1065104);
+ assert(unsigned(flip_mask(0x104094, 52)) == 1065108);
+ assert(unsigned(flip_mask(0x104098, 52)) == 1065112);
+ assert(unsigned(flip_mask(0x10409c, 52)) == 1065116);
+ assert(unsigned(flip_mask(0x1040a0, 52)) == 1065120);
+ assert(unsigned(flip_mask(0x1040ac, 52)) == 1065132);
+ assert(unsigned(flip_mask(0x1040b0, 52)) == 1065136);
+ assert(unsigned(flip_mask(0x1040b4, 52)) == 1065140);
+ assert(unsigned(flip_mask(0x1040b8, 52)) == 1065144);
+ assert(unsigned(flip_mask(0x1040c0, 52)) == 1065152);
+ assert(unsigned(flip_mask(0x1040c4, 52)) == 1065156);
+ assert(unsigned(flip_mask(0x1040c8, 52)) == 1065160);
+ assert(unsigned(flip_mask(0x1040cc, 52)) == 1065164);
+ assert(unsigned(flip_mask(0x1040d0, 52)) == 1065168);
+ assert(unsigned(flip_mask(0x1040d4, 52)) == 1065172);
+ assert(unsigned(flip_mask(0x1040d8, 52)) == 1065176);
+ assert(unsigned(flip_mask(0x1040dc, 52)) == 1065180);
+ assert(unsigned(flip_mask(0x1040e0, 52)) == 1065184);
+ assert(unsigned(flip_mask(0x1040e4, 52)) == 1065188);
+ assert(unsigned(flip_mask(0x1040e8, 52)) == 1065192);
+ assert(unsigned(flip_mask(0x1040ec, 52)) == 1065196);
+ assert(unsigned(flip_mask(0x1040f0, 52)) == 1065200);
+ assert(unsigned(flip_mask(0x1040f4, 52)) == 1065204);
+ assert(unsigned(flip_mask(0x1040f8, 52)) == 1065208);
+ assert(unsigned(flip_mask(0x1040fc, 52)) == 1065212);
+ assert(unsigned(flip_mask(0x104100, 52)) == 1065216);
+ assert(unsigned(flip_mask(0x104104, 52)) == 1065220);
+ assert(unsigned(flip_mask(0x104108, 52)) == 1065224);
+ assert(unsigned(flip_mask(0x10410c, 52)) == 1065228);
+ assert(unsigned(flip_mask(0x104110, 52)) == 1065232);
+ assert(unsigned(flip_mask(0x104114, 52)) == 1065236);
+ assert(unsigned(flip_mask(0x104118, 52)) == 1065240);
+ assert(unsigned(flip_mask(0x10411c, 52)) == 1065244);
+ assert(unsigned(flip_mask(0x104120, 52)) == 1065248);
+ assert(unsigned(flip_mask(0x104124, 52)) == 1065252);
+ assert(unsigned(flip_mask(0x104128, 52)) == 1065256);
+ assert(unsigned(flip_mask(0x10412c, 52)) == 1065260);
+ assert(unsigned(flip_mask(0x104130, 52)) == 1065264);
+ assert(unsigned(flip_mask(0x104134, 52)) == 1065268);
+ assert(unsigned(flip_mask(0x104138, 52)) == 1065272);
+ assert(unsigned(flip_mask(0x10413c, 52)) == 1065276);
+ assert(unsigned(flip_mask(0x104140, 52)) == 1065280);
+ assert(unsigned(flip_mask(0x104144, 52)) == 1065284);
+ assert(unsigned(flip_mask(0x104148, 52)) == 1065288);
+ assert(unsigned(flip_mask(0x10414c, 52)) == 1065292);
+ assert(unsigned(flip_mask(0x104150, 52)) == 1065296);
+ assert(unsigned(flip_mask(0x104154, 52)) == 1065300);
+ assert(unsigned(flip_mask(0x104158, 52)) == 1065304);
+ assert(unsigned(flip_mask(0x10415c, 52)) == 1065308);
+ assert(unsigned(flip_mask(0x104160, 52)) == 1065312);
+ assert(unsigned(flip_mask(0x104164, 52)) == 1065316);
+ assert(unsigned(flip_mask(0x104168, 52)) == 1065320);
+ assert(unsigned(flip_mask(0x10416c, 52)) == 1065324);
+ assert(unsigned(flip_mask(0x104170, 52)) == 1065328);
+ assert(unsigned(flip_mask(0x104174, 52)) == 1065332);
+ assert(unsigned(flip_mask(0x104178, 52)) == 1065336);
+ assert(unsigned(flip_mask(0x10417c, 52)) == 1065340);
+ assert(unsigned(flip_mask(0x104180, 52)) == 1065344);
+ assert(unsigned(flip_mask(0x104184, 52)) == 1065348);
+ assert(unsigned(flip_mask(0x104188, 52)) == 1065352);
+ assert(unsigned(flip_mask(0x10418c, 52)) == 1065356);
+ assert(unsigned(flip_mask(0x104190, 52)) == 1065360);
+ assert(unsigned(flip_mask(0x104194, 52)) == 1065364);
+ assert(unsigned(flip_mask(0x104198, 52)) == 1065368);
+ assert(unsigned(flip_mask(0x10419c, 52)) == 1065372);
+ assert(unsigned(flip_mask(0x1041a0, 52)) == 1065376);
+ assert(unsigned(flip_mask(0x1041a4, 52)) == 1065380);
+ assert(unsigned(flip_mask(0x1041a8, 52)) == 1065384);
+ assert(unsigned(flip_mask(0x1041ac, 52)) == 1065388);
+ assert(unsigned(flip_mask(0x1041b0, 52)) == 1065392);
+ assert(unsigned(flip_mask(0x1041b4, 52)) == 1065396);
+ assert(unsigned(flip_mask(0x1041b8, 52)) == 1065400);
+ assert(unsigned(flip_mask(0x1041bc, 52)) == 1065404);
+ assert(unsigned(flip_mask(0x1041c0, 52)) == 1065408);
+ assert(unsigned(flip_mask(0x104200, 52)) == 1065472);
+ assert(unsigned(flip_mask(0x104204, 52)) == 1065476);
+ assert(unsigned(flip_mask(0x104208, 52)) == 1065480);
+ assert(unsigned(flip_mask(0x10420c, 52)) == 1065484);
+ assert(unsigned(flip_mask(0x104210, 52)) == 1065488);
+ assert(unsigned(flip_mask(0x104214, 52)) == 1065492);
+ assert(unsigned(flip_mask(0x104218, 52)) == 1065496);
+ assert(unsigned(flip_mask(0x10421c, 52)) == 1065500);
+ assert(unsigned(flip_mask(0x104220, 52)) == 1065504);
+ assert(unsigned(flip_mask(0x104224, 52)) == 1065508);
+ assert(unsigned(flip_mask(0x104228, 52)) == 1065512);
+ assert(unsigned(flip_mask(0x10422c, 52)) == 1065516);
+ assert(unsigned(flip_mask(0x104230, 52)) == 1065520);
+ assert(unsigned(flip_mask(0x104234, 52)) == 1065524);
+ assert(unsigned(flip_mask(0x104238, 52)) == 1065528);
+ assert(unsigned(flip_mask(0x10423c, 52)) == 1065532);
+ assert(unsigned(flip_mask(0x104240, 52)) == 1065536);
+ assert(unsigned(flip_mask(0x104244, 52)) == 1065540);
+ assert(unsigned(flip_mask(0x104248, 52)) == 1065544);
+ assert(unsigned(flip_mask(0x104250, 52)) == 1065552);
+ assert(unsigned(flip_mask(0x104258, 52)) == 1065560);
+ assert(unsigned(flip_mask(0x104260, 52)) == 1065568);
+ assert(unsigned(flip_mask(0x104268, 52)) == 1065576);
+ assert(unsigned(flip_mask(0x104270, 52)) == 1065584);
+ assert(unsigned(flip_mask(0x104278, 52)) == 1065592);
+ assert(unsigned(flip_mask(0x10427c, 52)) == 1065596);
+ assert(unsigned(flip_mask(0x104280, 52)) == 1065600);
+ assert(unsigned(flip_mask(0x104284, 52)) == 1065604);
+ assert(unsigned(flip_mask(0x1042b8, 52)) == 1065656);
+ assert(unsigned(flip_mask(0x1042bc, 52)) == 1065660);
+ assert(unsigned(flip_mask(0x1042d4, 52)) == 1065684);
+ assert(unsigned(flip_mask(0x1042e0, 52)) == 1065696);
+ assert(unsigned(flip_mask(0x104300, 52)) == 1065728);
+ assert(unsigned(flip_mask(0x104308, 52)) == 1065736);
+ assert(unsigned(flip_mask(0x104310, 52)) == 1065744);
+ assert(unsigned(flip_mask(0x104320, 52)) == 1065760);
+ assert(unsigned(flip_mask(0x104328, 52)) == 1065768);
+ assert(unsigned(flip_mask(0x104330, 52)) == 1065776);
+ assert(unsigned(flip_mask(0x104338, 52)) == 1065784);
+ assert(unsigned(flip_mask(0x104340, 52)) == 1065792);
+ assert(unsigned(flip_mask(0x104360, 52)) == 1065824);
+ assert(unsigned(flip_mask(0x104410, 52)) == 1066000);
+ assert(unsigned(flip_mask(0x104418, 52)) == 1066008);
+ assert(unsigned(flip_mask(0x104420, 52)) == 1066016);
+ assert(unsigned(flip_mask(0x104428, 52)) == 1066024);
+ assert(unsigned(flip_mask(0x1045a0, 52)) == 1066400);
+ assert(unsigned(flip_mask(0x1045a4, 52)) == 1066404);
+ assert(unsigned(flip_mask(0x1045b0, 52)) == 1066416);
+ assert(unsigned(flip_mask(0x1045b8, 52)) == 1066424);
+ assert(unsigned(flip_mask(0x1045c0, 52)) == 1066432);
+ assert(unsigned(flip_mask(0x1045c4, 52)) == 1066436);
+ assert(unsigned(flip_mask(0x1045c8, 52)) == 1066440);
+ assert(unsigned(flip_mask(0x1045d0, 52)) == 1066448);
+ assert(unsigned(flip_mask(0x1045d8, 52)) == 1066456);
+ assert(unsigned(flip_mask(0x1045e0, 52)) == 1066464);
+ assert(unsigned(flip_mask(0x1045e8, 52)) == 1066472);
+ assert(unsigned(flip_mask(0x1045f0, 52)) == 1066480);
+ assert(unsigned(flip_mask(0x1045f8, 52)) == 1066488);
+ assert(unsigned(flip_mask(0x104600, 52)) == 1066496);
+ assert(unsigned(flip_mask(0x104608, 52)) == 1066504);
+ assert(unsigned(flip_mask(0x104610, 52)) == 1066512);
+ assert(unsigned(flip_mask(0x104618, 52)) == 1066520);
+ assert(unsigned(flip_mask(0x104620, 52)) == 1066528);
+ assert(unsigned(flip_mask(0x104628, 52)) == 1066536);
+ assert(unsigned(flip_mask(0x104630, 52)) == 1066544);
+ assert(unsigned(flip_mask(0x104638, 52)) == 1066552);
+ assert(unsigned(flip_mask(0x104640, 52)) == 1066560);
+ assert(unsigned(flip_mask(0x104648, 52)) == 1066568);
+ assert(unsigned(flip_mask(0x104650, 52)) == 1066576);
+ assert(unsigned(flip_mask(0x104658, 52)) == 1066584);
+ assert(unsigned(flip_mask(0x104660, 52)) == 1066592);
+ assert(unsigned(flip_mask(0x104668, 52)) == 1066600);
+ assert(unsigned(flip_mask(0x104670, 52)) == 1066608);
+ assert(unsigned(flip_mask(0x104678, 52)) == 1066616);
+ assert(unsigned(flip_mask(0x104680, 52)) == 1066624);
+ assert(unsigned(flip_mask(0x104688, 52)) == 1066632);
+ assert(unsigned(flip_mask(0x104690, 52)) == 1066640);
+ assert(unsigned(flip_mask(0x1046a0, 52)) == 1066656);
+ assert(unsigned(flip_mask(0x1046a8, 52)) == 1066664);
+ assert(unsigned(flip_mask(0x1046b0, 52)) == 1066672);
+ assert(unsigned(flip_mask(0x1046b8, 52)) == 1066680);
+ assert(unsigned(flip_mask(0x1046c0, 52)) == 1066688);
+ assert(unsigned(flip_mask(0x1046c8, 52)) == 1066696);
+ assert(unsigned(flip_mask(0x1046d0, 52)) == 1066704);
+ assert(unsigned(flip_mask(0x1046d8, 52)) == 1066712);
+ assert(unsigned(flip_mask(0x1046e0, 52)) == 1066720);
+ assert(unsigned(flip_mask(0x1046e8, 52)) == 1066728);
+ assert(unsigned(flip_mask(0x1046f0, 52)) == 1066736);
+ assert(unsigned(flip_mask(0x1046f8, 52)) == 1066744);
+ assert(unsigned(flip_mask(0x104700, 52)) == 1066752);
+ assert(unsigned(flip_mask(0x104708, 52)) == 1066760);
+ assert(unsigned(flip_mask(0x104710, 52)) == 1066768);
+ assert(unsigned(flip_mask(0x104718, 52)) == 1066776);
+ assert(unsigned(flip_mask(0x104720, 52)) == 1066784);
+ assert(unsigned(flip_mask(0x104728, 52)) == 1066792);
+ assert(unsigned(flip_mask(0x104730, 52)) == 1066800);
+ assert(unsigned(flip_mask(0x104738, 52)) == 1066808);
+ assert(unsigned(flip_mask(0x104740, 52)) == 1066816);
+ assert(unsigned(flip_mask(0x104d50, 52)) == 1068368);
+ assert(unsigned(flip_mask(0x104d54, 52)) == 1068372);
+ assert(unsigned(flip_mask(0x104d58, 52)) == 1068376);
+ assert(unsigned(flip_mask(0x104d5c, 52)) == 1068380);
+ assert(unsigned(flip_mask(0x104d60, 52)) == 1068384);
+ assert(unsigned(flip_mask(0x104d64, 52)) == 1068388);
+ assert(unsigned(flip_mask(0x104d68, 52)) == 1068392);
+ assert(unsigned(flip_mask(0x104d6c, 52)) == 1068396);
+ assert(unsigned(flip_mask(0x104d70, 52)) == 1068400);
+ assert(unsigned(flip_mask(0x104d74, 52)) == 1068404);
+ assert(unsigned(flip_mask(0x104d78, 52)) == 1068408);
+ assert(unsigned(flip_mask(0x104d7c, 52)) == 1068412);
+ assert(unsigned(flip_mask(0x104d80, 52)) == 1068416);
+ assert(unsigned(flip_mask(0x104d84, 52)) == 1068420);
+ assert(unsigned(flip_mask(0x104d88, 52)) == 1068424);
+ assert(unsigned(flip_mask(0x104d8c, 52)) == 1068428);
+ assert(unsigned(flip_mask(0x104d90, 52)) == 1068432);
+ assert(unsigned(flip_mask(0x104d94, 52)) == 1068436);
+ assert(unsigned(flip_mask(0x104d98, 52)) == 1068440);
+ assert(unsigned(flip_mask(0x104d9c, 52)) == 1068444);
+ assert(unsigned(flip_mask(0x104da0, 52)) == 1068448);
+ assert(unsigned(flip_mask(0x104da4, 52)) == 1068452);
+ assert(unsigned(flip_mask(0x104da8, 52)) == 1068456);
+ assert(unsigned(flip_mask(0x104dac, 52)) == 1068460);
+ assert(unsigned(flip_mask(0x104db0, 52)) == 1068464);
+ assert(unsigned(flip_mask(0x104db4, 52)) == 1068468);
+ assert(unsigned(flip_mask(0x104db8, 52)) == 1068472);
+ assert(unsigned(flip_mask(0x104dbc, 52)) == 1068476);
+ assert(unsigned(flip_mask(0x104dc0, 52)) == 1068480);
+ assert(unsigned(flip_mask(0x104dc8, 52)) == 1068488);
+ assert(unsigned(flip_mask(0x104dcc, 52)) == 1068492);
+ assert(unsigned(flip_mask(0x104dd0, 52)) == 1068496);
+ assert(unsigned(flip_mask(0x104dd4, 52)) == 1068500);
+ assert(unsigned(flip_mask(0x104dd8, 52)) == 1068504);
+ assert(unsigned(flip_mask(0x104ddc, 52)) == 1068508);
+ assert(unsigned(flip_mask(0x104de0, 52)) == 1068512);
+ assert(unsigned(flip_mask(0x104de4, 52)) == 1068516);
+ assert(unsigned(flip_mask(0x104de8, 52)) == 1068520);
+ assert(unsigned(flip_mask(0x104df4, 52)) == 1068532);
+ assert(unsigned(flip_mask(0x104df8, 52)) == 1068536);
+ assert(unsigned(flip_mask(0x104dfc, 52)) == 1068540);
+ assert(unsigned(flip_mask(0x104e00, 52)) == 1068544);
+ assert(unsigned(flip_mask(0x104e04, 52)) == 1068548);
+ assert(unsigned(flip_mask(0x104e08, 52)) == 1068552);
+ assert(unsigned(flip_mask(0x104e0c, 52)) == 1068556);
+ assert(unsigned(flip_mask(0x104e10, 52)) == 1068560);
+ assert(unsigned(flip_mask(0x104e14, 52)) == 1068564);
+ assert(unsigned(flip_mask(0x104e18, 52)) == 1068568);
+ assert(unsigned(flip_mask(0x104e1c, 52)) == 1068572);
+ assert(unsigned(flip_mask(0x104e20, 52)) == 1068576);
+ assert(unsigned(flip_mask(0x104e24, 52)) == 1068580);
+ assert(unsigned(flip_mask(0x104e28, 52)) == 1068584);
+ assert(unsigned(flip_mask(0x104e2c, 52)) == 1068588);
+ assert(unsigned(flip_mask(0x104e30, 52)) == 1068592);
+ assert(unsigned(flip_mask(0x104e34, 52)) == 1068596);
+ assert(unsigned(flip_mask(0x104e38, 52)) == 1068600);
+ assert(unsigned(flip_mask(0x104e3c, 52)) == 1068604);
+ assert(unsigned(flip_mask(0x104e40, 52)) == 1068608);
+ assert(unsigned(flip_mask(0x104e44, 52)) == 1068612);
+ assert(unsigned(flip_mask(0x104e48, 52)) == 1068616);
+ assert(unsigned(flip_mask(0x104e4c, 52)) == 1068620);
+ assert(unsigned(flip_mask(0x104e50, 52)) == 1068624);
+ assert(unsigned(flip_mask(0x104e54, 52)) == 1068628);
+ assert(unsigned(flip_mask(0x104e58, 52)) == 1068632);
+ assert(unsigned(flip_mask(0x104e5c, 52)) == 1068636);
+ assert(unsigned(flip_mask(0x104e60, 52)) == 1068640);
+ assert(unsigned(flip_mask(0x104e64, 52)) == 1068644);
+ assert(unsigned(flip_mask(0x104e68, 52)) == 1068648);
+ assert(unsigned(flip_mask(0x104e6c, 52)) == 1068652);
+ assert(unsigned(flip_mask(0x104e70, 52)) == 1068656);
+ assert(unsigned(flip_mask(0x104e74, 52)) == 1068660);
+ assert(unsigned(flip_mask(0x104e78, 52)) == 1068664);
+ assert(unsigned(flip_mask(0x104e7c, 52)) == 1068668);
+ assert(unsigned(flip_mask(0x104e80, 52)) == 1068672);
+ assert(unsigned(flip_mask(0x104e84, 52)) == 1068676);
+ assert(unsigned(flip_mask(0x104e88, 52)) == 1068680);
+ assert(unsigned(flip_mask(0x104e8c, 52)) == 1068684);
+ assert(unsigned(flip_mask(0x104e90, 52)) == 1068688);
+ assert(unsigned(flip_mask(0x104e94, 52)) == 1068692);
+ assert(unsigned(flip_mask(0x104e98, 52)) == 1068696);
+ assert(unsigned(flip_mask(0x104e9c, 52)) == 1068700);
+ assert(unsigned(flip_mask(0x104ea0, 52)) == 1068704);
+ assert(unsigned(flip_mask(0x104ea4, 52)) == 1068708);
+ assert(unsigned(flip_mask(0x104ea8, 52)) == 1068712);
+ assert(unsigned(flip_mask(0x104eac, 52)) == 1068716);
+ assert(unsigned(flip_mask(0x104eb0, 52)) == 1068720);
+ assert(unsigned(flip_mask(0x104eb4, 52)) == 1068724);
+ assert(unsigned(flip_mask(0x104eb8, 52)) == 1068728);
+ assert(unsigned(flip_mask(0x104ebc, 52)) == 1068732);
+ assert(unsigned(flip_mask(0x104ec0, 52)) == 1068736);
+ assert(unsigned(flip_mask(0x104ec4, 52)) == 1068740);
+ assert(unsigned(flip_mask(0x104ec8, 52)) == 1068744);
+ assert(unsigned(flip_mask(0x104ecc, 52)) == 1068748);
+ assert(unsigned(flip_mask(0x104ed0, 52)) == 1068752);
+ assert(unsigned(flip_mask(0x104ed4, 52)) == 1068756);
+ assert(unsigned(flip_mask(0x104ed8, 52)) == 1068760);
+ assert(unsigned(flip_mask(0x104edc, 52)) == 1068764);
+ assert(unsigned(flip_mask(0x104ee0, 52)) == 1068768);
+ assert(unsigned(flip_mask(0x104ee4, 52)) == 1068772);
+ assert(unsigned(flip_mask(0x104ef4, 52)) == 1068788);
+ assert(unsigned(flip_mask(0x104ef8, 52)) == 1068792);
+ assert(unsigned(flip_mask(0x104efc, 52)) == 1068796);
+ assert(unsigned(flip_mask(0x104f00, 52)) == 1068800);
+ assert(unsigned(flip_mask(0x104f04, 52)) == 1068804);
+ assert(unsigned(flip_mask(0x104f08, 52)) == 1068808);
+ assert(unsigned(flip_mask(0x104f0c, 52)) == 1068812);
+ assert(unsigned(flip_mask(0x104f10, 52)) == 1068816);
+ assert(unsigned(flip_mask(0x104f14, 52)) == 1068820);
+ assert(unsigned(flip_mask(0x104f20, 52)) == 1068832);
+ assert(unsigned(flip_mask(0x104f24, 52)) == 1068836);
+ assert(unsigned(flip_mask(0x104f28, 52)) == 1068840);
+ assert(unsigned(flip_mask(0x104f2c, 52)) == 1068844);
+ assert(unsigned(flip_mask(0x104f3c, 52)) == 1068860);
+ assert(unsigned(flip_mask(0x104f40, 52)) == 1068864);
+ assert(unsigned(flip_mask(0x104f44, 52)) == 1068868);
+ assert(unsigned(flip_mask(0x104f48, 52)) == 1068872);
+ assert(unsigned(flip_mask(0x104f4c, 52)) == 1068876);
+ assert(unsigned(flip_mask(0x104f50, 52)) == 1068880);
+ assert(unsigned(flip_mask(0x104f54, 52)) == 1068884);
+ assert(unsigned(flip_mask(0x104f58, 52)) == 1068888);
+ assert(unsigned(flip_mask(0x104f5c, 52)) == 1068892);
+ assert(unsigned(flip_mask(0x104f60, 52)) == 1068896);
+ assert(unsigned(flip_mask(0x104f64, 52)) == 1068900);
+ assert(unsigned(flip_mask(0x104f68, 52)) == 1068904);
+ assert(unsigned(flip_mask(0x104f6c, 52)) == 1068908);
+ assert(unsigned(flip_mask(0x104f70, 52)) == 1068912);
+ assert(unsigned(flip_mask(0x104f74, 52)) == 1068916);
+ assert(unsigned(flip_mask(0x104f78, 52)) == 1068920);
+ assert(unsigned(flip_mask(0x104f7c, 52)) == 1068924);
+ assert(unsigned(flip_mask(0x104f80, 52)) == 1068928);
+ assert(unsigned(flip_mask(0x104f84, 52)) == 1068932);
+ assert(unsigned(flip_mask(0x104f88, 52)) == 1068936);
+ assert(unsigned(flip_mask(0x104f8c, 52)) == 1068940);
+ assert(unsigned(flip_mask(0x104f90, 52)) == 1068944);
+ assert(unsigned(flip_mask(0x104f94, 52)) == 1068948);
+ assert(unsigned(flip_mask(0x104f98, 52)) == 1068952);
+ assert(unsigned(flip_mask(0x104f9c, 52)) == 1068956);
+ assert(unsigned(flip_mask(0x104fa0, 52)) == 1068960);
+ assert(unsigned(flip_mask(0x104fa4, 52)) == 1068964);
+ assert(unsigned(flip_mask(0x104fa8, 52)) == 1068968);
+ assert(unsigned(flip_mask(0x104fac, 52)) == 1068972);
+ assert(unsigned(flip_mask(0x104fb0, 52)) == 1068976);
+ assert(unsigned(flip_mask(0x104fb4, 52)) == 1068980);
+ assert(unsigned(flip_mask(0x104fb8, 52)) == 1068984);
+ assert(unsigned(flip_mask(0x104fbc, 52)) == 1068988);
+ assert(unsigned(flip_mask(0x104fc0, 52)) == 1068992);
+ assert(unsigned(flip_mask(0x104fc4, 52)) == 1068996);
+ assert(unsigned(flip_mask(0x104fc8, 52)) == 1069000);
+ assert(unsigned(flip_mask(0x104fcc, 52)) == 1069004);
+ assert(unsigned(flip_mask(0x104fd0, 52)) == 1069008);
+ assert(unsigned(flip_mask(0x104fd4, 52)) == 1069012);
+ assert(unsigned(flip_mask(0x104fd8, 52)) == 1069016);
+ assert(unsigned(flip_mask(0x104fdc, 52)) == 1069020);
+ assert(unsigned(flip_mask(0x104fe0, 52)) == 1069024);
+ assert(unsigned(flip_mask(0x104fe4, 52)) == 1069028);
+ assert(unsigned(flip_mask(0x104fe8, 52)) == 1069032);
+ assert(unsigned(flip_mask(0x104fec, 52)) == 1069036);
+ assert(unsigned(flip_mask(0x104ff0, 52)) == 1069040);
+ assert(unsigned(flip_mask(0x104ff4, 52)) == 1069044);
+ assert(unsigned(flip_mask(0x104ff8, 52)) == 1069048);
+ assert(unsigned(flip_mask(0x105008, 52)) == 1069064);
+ assert(unsigned(flip_mask(0x10500c, 52)) == 1069068);
+ assert(unsigned(flip_mask(0x105010, 52)) == 1069072);
+ assert(unsigned(flip_mask(0x105014, 52)) == 1069076);
+ assert(unsigned(flip_mask(0x105018, 52)) == 1069080);
+ assert(unsigned(flip_mask(0x10501c, 52)) == 1069084);
+ assert(unsigned(flip_mask(0x105020, 52)) == 1069088);
+ assert(unsigned(flip_mask(0x105024, 52)) == 1069092);
+ assert(unsigned(flip_mask(0x105028, 52)) == 1069096);
+ assert(unsigned(flip_mask(0x105034, 52)) == 1069108);
+ assert(unsigned(flip_mask(0x105038, 52)) == 1069112);
+ assert(unsigned(flip_mask(0x10503c, 52)) == 1069116);
+ assert(unsigned(flip_mask(0x105040, 52)) == 1069120);
+ assert(unsigned(flip_mask(0x105050, 52)) == 1069136);
+ assert(unsigned(flip_mask(0x105054, 52)) == 1069140);
+ assert(unsigned(flip_mask(0x105058, 52)) == 1069144);
+ assert(unsigned(flip_mask(0x10505c, 52)) == 1069148);
+ assert(unsigned(flip_mask(0x105060, 52)) == 1069152);
+ assert(unsigned(flip_mask(0x105064, 52)) == 1069156);
+ assert(unsigned(flip_mask(0x105068, 52)) == 1069160);
+ assert(unsigned(flip_mask(0x10506c, 52)) == 1069164);
+ assert(unsigned(flip_mask(0x105070, 52)) == 1069168);
+ assert(unsigned(flip_mask(0x105074, 52)) == 1069172);
+ assert(unsigned(flip_mask(0x105078, 52)) == 1069176);
+ assert(unsigned(flip_mask(0x10507c, 52)) == 1069180);
+ assert(unsigned(flip_mask(0x105080, 52)) == 1069184);
+ assert(unsigned(flip_mask(0x105084, 52)) == 1069188);
+ assert(unsigned(flip_mask(0x105088, 52)) == 1069192);
+ assert(unsigned(flip_mask(0x10508c, 52)) == 1069196);
+ assert(unsigned(flip_mask(0x105090, 52)) == 1069200);
+ assert(unsigned(flip_mask(0x105094, 52)) == 1069204);
+ assert(unsigned(flip_mask(0x105098, 52)) == 1069208);
+ assert(unsigned(flip_mask(0x10509c, 52)) == 1069212);
+ assert(unsigned(flip_mask(0x1050a0, 52)) == 1069216);
+ assert(unsigned(flip_mask(0x1050a4, 52)) == 1069220);
+ assert(unsigned(flip_mask(0x1050a8, 52)) == 1069224);
+ assert(unsigned(flip_mask(0x1050ac, 52)) == 1069228);
+ assert(unsigned(flip_mask(0x1050b0, 52)) == 1069232);
+ assert(unsigned(flip_mask(0x1050b4, 52)) == 1069236);
+ assert(unsigned(flip_mask(0x1050b8, 52)) == 1069240);
+ assert(unsigned(flip_mask(0x1050bc, 52)) == 1069244);
+ assert(unsigned(flip_mask(0x1050c0, 52)) == 1069248);
+ assert(unsigned(flip_mask(0x1050c4, 52)) == 1069252);
+ assert(unsigned(flip_mask(0x1050c8, 52)) == 1069256);
+ assert(unsigned(flip_mask(0x1050cc, 52)) == 1069260);
+ assert(unsigned(flip_mask(0x1050d0, 52)) == 1069264);
+ assert(unsigned(flip_mask(0x1050d4, 52)) == 1069268);
+ assert(unsigned(flip_mask(0x1050d8, 52)) == 1069272);
+ assert(unsigned(flip_mask(0x1050dc, 52)) == 1069276);
+ assert(unsigned(flip_mask(0x1050e0, 52)) == 1069280);
+ assert(unsigned(flip_mask(0x1050e4, 52)) == 1069284);
+ assert(unsigned(flip_mask(0x1050e8, 52)) == 1069288);
+ assert(unsigned(flip_mask(0x1050ec, 52)) == 1069292);
+ assert(unsigned(flip_mask(0x1050f0, 52)) == 1069296);
+ assert(unsigned(flip_mask(0x1050f4, 52)) == 1069300);
+ assert(unsigned(flip_mask(0x1050f8, 52)) == 1069304);
+ assert(unsigned(flip_mask(0x1050fc, 52)) == 1069308);
+ assert(unsigned(flip_mask(0x105100, 52)) == 1069312);
+ assert(unsigned(flip_mask(0x105110, 52)) == 1069328);
+ assert(unsigned(flip_mask(0x105114, 52)) == 1069332);
+ assert(unsigned(flip_mask(0x105118, 52)) == 1069336);
+ assert(unsigned(flip_mask(0x10511c, 52)) == 1069340);
+ assert(unsigned(flip_mask(0x105120, 52)) == 1069344);
+ assert(unsigned(flip_mask(0x105124, 52)) == 1069348);
+ assert(unsigned(flip_mask(0x105128, 52)) == 1069352);
+ assert(unsigned(flip_mask(0x105134, 52)) == 1069364);
+ assert(unsigned(flip_mask(0x105138, 52)) == 1069368);
+ assert(unsigned(flip_mask(0x10513c, 52)) == 1069372);
+ assert(unsigned(flip_mask(0x105140, 52)) == 1069376);
+ assert(unsigned(flip_mask(0x105150, 52)) == 1069392);
+ assert(unsigned(flip_mask(0x105154, 52)) == 1069396);
+ assert(unsigned(flip_mask(0x105158, 52)) == 1069400);
+ assert(unsigned(flip_mask(0x10515c, 52)) == 1069404);
+ assert(unsigned(flip_mask(0x105160, 52)) == 1069408);
+ assert(unsigned(flip_mask(0x105164, 52)) == 1069412);
+ assert(unsigned(flip_mask(0x105168, 52)) == 1069416);
+ assert(unsigned(flip_mask(0x10516c, 52)) == 1069420);
+ assert(unsigned(flip_mask(0x105170, 52)) == 1069424);
+ assert(unsigned(flip_mask(0x105174, 52)) == 1069428);
+ assert(unsigned(flip_mask(0x105178, 52)) == 1069432);
+ assert(unsigned(flip_mask(0x10517c, 52)) == 1069436);
+ assert(unsigned(flip_mask(0x105180, 52)) == 1069440);
+ assert(unsigned(flip_mask(0x105184, 52)) == 1069444);
+ assert(unsigned(flip_mask(0x105188, 52)) == 1069448);
+ assert(unsigned(flip_mask(0x10518c, 52)) == 1069452);
+ assert(unsigned(flip_mask(0x105190, 52)) == 1069456);
+ assert(unsigned(flip_mask(0x105194, 52)) == 1069460);
+ assert(unsigned(flip_mask(0x105198, 52)) == 1069464);
+ assert(unsigned(flip_mask(0x10519c, 52)) == 1069468);
+ assert(unsigned(flip_mask(0x1051a0, 52)) == 1069472);
+ assert(unsigned(flip_mask(0x1051a4, 52)) == 1069476);
+ assert(unsigned(flip_mask(0x1051a8, 52)) == 1069480);
+ assert(unsigned(flip_mask(0x1051ac, 52)) == 1069484);
+ assert(unsigned(flip_mask(0x1051b0, 52)) == 1069488);
+ assert(unsigned(flip_mask(0x1051b4, 52)) == 1069492);
+ assert(unsigned(flip_mask(0x1051b8, 52)) == 1069496);
+ assert(unsigned(flip_mask(0x1051bc, 52)) == 1069500);
+ assert(unsigned(flip_mask(0x1051c0, 52)) == 1069504);
+ assert(unsigned(flip_mask(0x1051c4, 52)) == 1069508);
+ assert(unsigned(flip_mask(0x1051c8, 52)) == 1069512);
+ assert(unsigned(flip_mask(0x1051cc, 52)) == 1069516);
+ assert(unsigned(flip_mask(0x1051d0, 52)) == 1069520);
+ assert(unsigned(flip_mask(0x1051d4, 52)) == 1069524);
+ assert(unsigned(flip_mask(0x1051d8, 52)) == 1069528);
+ assert(unsigned(flip_mask(0x1051dc, 52)) == 1069532);
+ assert(unsigned(flip_mask(0x1051e0, 52)) == 1069536);
+ assert(unsigned(flip_mask(0x1051e4, 52)) == 1069540);
+ assert(unsigned(flip_mask(0x1051e8, 52)) == 1069544);
+ assert(unsigned(flip_mask(0x1051ec, 52)) == 1069548);
+ assert(unsigned(flip_mask(0x1051f0, 52)) == 1069552);
+ assert(unsigned(flip_mask(0x1051f4, 52)) == 1069556);
+ assert(unsigned(flip_mask(0x1051f8, 52)) == 1069560);
+ assert(unsigned(flip_mask(0x1051fc, 52)) == 1069564);
+ assert(unsigned(flip_mask(0x105200, 52)) == 1069568);
+ assert(unsigned(flip_mask(0x105208, 52)) == 1069576);
+ assert(unsigned(flip_mask(0x10520c, 52)) == 1069580);
+ assert(unsigned(flip_mask(0x105210, 52)) == 1069584);
+ assert(unsigned(flip_mask(0x105214, 52)) == 1069588);
+ assert(unsigned(flip_mask(0x105218, 52)) == 1069592);
+ assert(unsigned(flip_mask(0x10521c, 52)) == 1069596);
+ assert(unsigned(flip_mask(0x105220, 52)) == 1069600);
+ assert(unsigned(flip_mask(0x105224, 52)) == 1069604);
+ assert(unsigned(flip_mask(0x105228, 52)) == 1069608);
+ assert(unsigned(flip_mask(0x105230, 52)) == 1069616);
+ assert(unsigned(flip_mask(0x105238, 52)) == 1069624);
+ assert(unsigned(flip_mask(0x105240, 52)) == 1069632);
+ assert(unsigned(flip_mask(0x105248, 52)) == 1069640);
+ assert(unsigned(flip_mask(0x10524c, 52)) == 1069644);
+ assert(unsigned(flip_mask(0x105250, 52)) == 1069648);
+ assert(unsigned(flip_mask(0x105254, 52)) == 1069652);
+ assert(unsigned(flip_mask(0x105258, 52)) == 1069656);
+ assert(unsigned(flip_mask(0x10525c, 52)) == 1069660);
+ assert(unsigned(flip_mask(0x105260, 52)) == 1069664);
+ assert(unsigned(flip_mask(0x105264, 52)) == 1069668);
+ assert(unsigned(flip_mask(0x105268, 52)) == 1069672);
+ assert(unsigned(flip_mask(0x10526c, 52)) == 1069676);
+ assert(unsigned(flip_mask(0x105270, 52)) == 1069680);
+ assert(unsigned(flip_mask(0x105274, 52)) == 1069684);
+ assert(unsigned(flip_mask(0x105278, 52)) == 1069688);
+ assert(unsigned(flip_mask(0x10527c, 52)) == 1069692);
+ assert(unsigned(flip_mask(0x10532c, 52)) == 1069868);
+ assert(unsigned(flip_mask(0x105330, 52)) == 1069872);
+ assert(unsigned(flip_mask(0x105334, 52)) == 1069876);
+ assert(unsigned(flip_mask(0x105338, 52)) == 1069880);
+ assert(unsigned(flip_mask(0x10533c, 52)) == 1069884);
+ assert(unsigned(flip_mask(0x105340, 52)) == 1069888);
+ assert(unsigned(flip_mask(0x105344, 52)) == 1069892);
+ assert(unsigned(flip_mask(0x105348, 52)) == 1069896);
+ assert(unsigned(flip_mask(0x10534c, 52)) == 1069900);
+ assert(unsigned(flip_mask(0x105350, 52)) == 1069904);
+ assert(unsigned(flip_mask(0x105354, 52)) == 1069908);
+ assert(unsigned(flip_mask(0x105358, 52)) == 1069912);
+ assert(unsigned(flip_mask(0x10535c, 52)) == 1069916);
+ assert(unsigned(flip_mask(0x105360, 52)) == 1069920);
+ assert(unsigned(flip_mask(0x105364, 52)) == 1069924);
+ assert(unsigned(flip_mask(0x105368, 52)) == 1069928);
+ assert(unsigned(flip_mask(0x10536c, 52)) == 1069932);
+ assert(unsigned(flip_mask(0x10537c, 52)) == 1069948);
+ assert(unsigned(flip_mask(0x105380, 52)) == 1069952);
+ assert(unsigned(flip_mask(0x105384, 52)) == 1069956);
+ assert(unsigned(flip_mask(0x105388, 52)) == 1069960);
+ assert(unsigned(flip_mask(0x10538c, 52)) == 1069964);
+ assert(unsigned(flip_mask(0x105390, 52)) == 1069968);
+ assert(unsigned(flip_mask(0x1053a0, 52)) == 1069984);
+ assert(unsigned(flip_mask(0x1053a4, 52)) == 1069988);
+ assert(unsigned(flip_mask(0x1053a8, 52)) == 1069992);
+ assert(unsigned(flip_mask(0x1053ac, 52)) == 1069996);
+ assert(unsigned(flip_mask(0x1053b0, 52)) == 1070000);
+ assert(unsigned(flip_mask(0x1053b4, 52)) == 1070004);
+ assert(unsigned(flip_mask(0x10544c, 52)) == 1070156);
+ assert(unsigned(flip_mask(0x105450, 52)) == 1070160);
+ assert(unsigned(flip_mask(0x105454, 52)) == 1070164);
+ assert(unsigned(flip_mask(0x105458, 52)) == 1070168);
+ assert(unsigned(flip_mask(0x10545c, 52)) == 1070172);
+ assert(unsigned(flip_mask(0x105468, 52)) == 1070184);
+ assert(unsigned(flip_mask(0x10546c, 52)) == 1070188);
+ assert(unsigned(flip_mask(0x105470, 52)) == 1070192);
+ assert(unsigned(flip_mask(0x105474, 52)) == 1070196);
+ assert(unsigned(flip_mask(0x105478, 52)) == 1070200);
+ assert(unsigned(flip_mask(0x10547c, 52)) == 1070204);
+ assert(unsigned(flip_mask(0x105480, 52)) == 1070208);
+ assert(unsigned(flip_mask(0x105484, 52)) == 1070212);
+ assert(unsigned(flip_mask(0x105490, 52)) == 1070224);
+ assert(unsigned(flip_mask(0x105494, 52)) == 1070228);
+ assert(unsigned(flip_mask(0x105498, 52)) == 1070232);
+ assert(unsigned(flip_mask(0x1054a0, 52)) == 1070240);
+ assert(unsigned(flip_mask(0x1054a8, 52)) == 1070248);
+ assert(unsigned(flip_mask(0x1054ac, 52)) == 1070252);
+ assert(unsigned(flip_mask(0x1054b0, 52)) == 1070256);
+ assert(unsigned(flip_mask(0x1054b4, 52)) == 1070260);
+ assert(unsigned(flip_mask(0x1054b8, 52)) == 1070264);
+ assert(unsigned(flip_mask(0x1054bc, 52)) == 1070268);
+ assert(unsigned(flip_mask(0x1054c0, 52)) == 1070272);
+ assert(unsigned(flip_mask(0x1054c4, 52)) == 1070276);
+ assert(unsigned(flip_mask(0x1054c8, 52)) == 1070280);
+ assert(unsigned(flip_mask(0x1054cc, 52)) == 1070284);
+ assert(unsigned(flip_mask(0x1054d0, 52)) == 1070288);
+ assert(unsigned(flip_mask(0x1054d4, 52)) == 1070292);
+ assert(unsigned(flip_mask(0x1054d8, 52)) == 1070296);
+ assert(unsigned(flip_mask(0x1054dc, 52)) == 1070300);
+ assert(unsigned(flip_mask(0x1054e0, 52)) == 1070304);
+ assert(unsigned(flip_mask(0x1054e4, 52)) == 1070308);
+ assert(unsigned(flip_mask(0x1054e8, 52)) == 1070312);
+ assert(unsigned(flip_mask(0x1054f0, 52)) == 1070320);
+ assert(unsigned(flip_mask(0x1054f8, 52)) == 1070328);
+ assert(unsigned(flip_mask(0x105500, 52)) == 1070336);
+ assert(unsigned(flip_mask(0x105508, 52)) == 1070344);
+ assert(unsigned(flip_mask(0x10550c, 52)) == 1070348);
+ assert(unsigned(flip_mask(0x105510, 52)) == 1070352);
+ assert(unsigned(flip_mask(0x105514, 52)) == 1070356);
+ assert(unsigned(flip_mask(0x105518, 52)) == 1070360);
+ assert(unsigned(flip_mask(0x10551c, 52)) == 1070364);
+ assert(unsigned(flip_mask(0x105520, 52)) == 1070368);
+ assert(unsigned(flip_mask(0x105524, 52)) == 1070372);
+ assert(unsigned(flip_mask(0x105528, 52)) == 1070376);
+ assert(unsigned(flip_mask(0x10552c, 52)) == 1070380);
+ assert(unsigned(flip_mask(0x105530, 52)) == 1070384);
+ assert(unsigned(flip_mask(0x105534, 52)) == 1070388);
+ assert(unsigned(flip_mask(0x105538, 52)) == 1070392);
+ assert(unsigned(flip_mask(0x10553c, 52)) == 1070396);
+ assert(unsigned(flip_mask(0x105540, 52)) == 1070400);
+ assert(unsigned(flip_mask(0x105544, 52)) == 1070404);
+ assert(unsigned(flip_mask(0x105548, 52)) == 1070408);
+ assert(unsigned(flip_mask(0x10554c, 52)) == 1070412);
+ assert(unsigned(flip_mask(0x105550, 52)) == 1070416);
+ assert(unsigned(flip_mask(0x105554, 52)) == 1070420);
+ assert(unsigned(flip_mask(0x105558, 52)) == 1070424);
+ assert(unsigned(flip_mask(0x105560, 52)) == 1070432);
+ assert(unsigned(flip_mask(0x105568, 52)) == 1070440);
+ assert(unsigned(flip_mask(0x105570, 52)) == 1070448);
+ assert(unsigned(flip_mask(0x105574, 52)) == 1070452);
+ assert(unsigned(flip_mask(0x105578, 52)) == 1070456);
+ assert(unsigned(flip_mask(0x10557c, 52)) == 1070460);
+ assert(unsigned(flip_mask(0x105580, 52)) == 1070464);
+ assert(unsigned(flip_mask(0x105584, 52)) == 1070468);
+ assert(unsigned(flip_mask(0x105588, 52)) == 1070472);
+ assert(unsigned(flip_mask(0x10558c, 52)) == 1070476);
+ assert(unsigned(flip_mask(0x105590, 52)) == 1070480);
+ assert(unsigned(flip_mask(0x105594, 52)) == 1070484);
+ assert(unsigned(flip_mask(0x105598, 52)) == 1070488);
+ assert(unsigned(flip_mask(0x10559c, 52)) == 1070492);
+ assert(unsigned(flip_mask(0x1055a0, 52)) == 1070496);
+ assert(unsigned(flip_mask(0x1055a4, 52)) == 1070500);
+ assert(unsigned(flip_mask(0x1055a8, 52)) == 1070504);
+ assert(unsigned(flip_mask(0x1055ac, 52)) == 1070508);
+ assert(unsigned(flip_mask(0x1055b0, 52)) == 1070512);
+ assert(unsigned(flip_mask(0x1055b4, 52)) == 1070516);
+ assert(unsigned(flip_mask(0x1055b8, 52)) == 1070520);
+ assert(unsigned(flip_mask(0x1055bc, 52)) == 1070524);
+ assert(unsigned(flip_mask(0x1055c0, 52)) == 1070528);
+ assert(unsigned(flip_mask(0x1055c4, 52)) == 1070532);
+ assert(unsigned(flip_mask(0x1055c8, 52)) == 1070536);
+ assert(unsigned(flip_mask(0x1055cc, 52)) == 1070540);
+ assert(unsigned(flip_mask(0x1055d0, 52)) == 1070544);
+ assert(unsigned(flip_mask(0x1055dc, 52)) == 1070556);
+ assert(unsigned(flip_mask(0x1055e0, 52)) == 1070560);
+ assert(unsigned(flip_mask(0x1055e8, 52)) == 1070568);
+ assert(unsigned(flip_mask(0x1055ec, 52)) == 1070572);
+ assert(unsigned(flip_mask(0x1055f0, 52)) == 1070576);
+ assert(unsigned(flip_mask(0x1055f4, 52)) == 1070580);
+ assert(unsigned(flip_mask(0x1055f8, 52)) == 1070584);
+ assert(unsigned(flip_mask(0x1055fc, 52)) == 1070588);
+ assert(unsigned(flip_mask(0x105610, 52)) == 1070608);
+ assert(unsigned(flip_mask(0x105614, 52)) == 1070612);
+ assert(unsigned(flip_mask(0x105644, 52)) == 1070660);
+ assert(unsigned(flip_mask(0x105648, 52)) == 1070664);
+ assert(unsigned(flip_mask(0x10564c, 52)) == 1070668);
+ assert(unsigned(flip_mask(0x10568c, 52)) == 1070732);
+ assert(unsigned(flip_mask(0x105690, 52)) == 1070736);
+ assert(unsigned(flip_mask(0x105694, 52)) == 1070740);
+ assert(unsigned(flip_mask(0x105698, 52)) == 1070744);
+ assert(unsigned(flip_mask(0x10569c, 52)) == 1070748);
+ assert(unsigned(flip_mask(0x1056a0, 52)) == 1070752);
+ assert(unsigned(flip_mask(0x1056a4, 52)) == 1070756);
+ assert(unsigned(flip_mask(0x1056a8, 52)) == 1070760);
+ assert(unsigned(flip_mask(0x1056ac, 52)) == 1070764);
+ assert(unsigned(flip_mask(0x1056b0, 52)) == 1070768);
+ assert(unsigned(flip_mask(0x1056b4, 52)) == 1070772);
+ assert(unsigned(flip_mask(0x1056b8, 52)) == 1070776);
+ assert(unsigned(flip_mask(0x1056bc, 52)) == 1070780);
+ assert(unsigned(flip_mask(0x1056c0, 52)) == 1070784);
+ assert(unsigned(flip_mask(0x1056c4, 52)) == 1070788);
+ assert(unsigned(flip_mask(0x1056c8, 52)) == 1070792);
+ assert(unsigned(flip_mask(0x1056cc, 52)) == 1070796);
+ assert(unsigned(flip_mask(0x1056d0, 52)) == 1070800);
+ assert(unsigned(flip_mask(0x1056d4, 52)) == 1070804);
+ assert(unsigned(flip_mask(0x1056d8, 52)) == 1070808);
+ assert(unsigned(flip_mask(0x1056dc, 52)) == 1070812);
+ assert(unsigned(flip_mask(0x1056e0, 52)) == 1070816);
+ assert(unsigned(flip_mask(0x1056e4, 52)) == 1070820);
+ assert(unsigned(flip_mask(0x1056e8, 52)) == 1070824);
+ assert(unsigned(flip_mask(0x1056ec, 52)) == 1070828);
+ assert(unsigned(flip_mask(0x1056f0, 52)) == 1070832);
+ assert(unsigned(flip_mask(0x1056f4, 52)) == 1070836);
+ assert(unsigned(flip_mask(0x1056f8, 52)) == 1070840);
+ assert(unsigned(flip_mask(0x1056fc, 52)) == 1070844);
+ assert(unsigned(flip_mask(0x105700, 52)) == 1070848);
+ assert(unsigned(flip_mask(0x105704, 52)) == 1070852);
+ assert(unsigned(flip_mask(0x105708, 52)) == 1070856);
+ assert(unsigned(flip_mask(0x10570c, 52)) == 1070860);
+ assert(unsigned(flip_mask(0x105710, 52)) == 1070864);
+ assert(unsigned(flip_mask(0x105714, 52)) == 1070868);
+ assert(unsigned(flip_mask(0x105718, 52)) == 1070872);
+ assert(unsigned(flip_mask(0x10571c, 52)) == 1070876);
+ assert(unsigned(flip_mask(0x105720, 52)) == 1070880);
+ assert(unsigned(flip_mask(0x105724, 52)) == 1070884);
+ assert(unsigned(flip_mask(0x105728, 52)) == 1070888);
+ assert(unsigned(flip_mask(0x10572c, 52)) == 1070892);
+ assert(unsigned(flip_mask(0x105730, 52)) == 1070896);
+ assert(unsigned(flip_mask(0x105734, 52)) == 1070900);
+ assert(unsigned(flip_mask(0x105738, 52)) == 1070904);
+ assert(unsigned(flip_mask(0x10573c, 52)) == 1070908);
+ assert(unsigned(flip_mask(0x105740, 52)) == 1070912);
+ assert(unsigned(flip_mask(0x105744, 52)) == 1070916);
+ assert(unsigned(flip_mask(0x105748, 52)) == 1070920);
+ assert(unsigned(flip_mask(0x10574c, 52)) == 1070924);
+ assert(unsigned(flip_mask(0x105750, 52)) == 1070928);
+ assert(unsigned(flip_mask(0x105754, 52)) == 1070932);
+ assert(unsigned(flip_mask(0x105758, 52)) == 1070936);
+ assert(unsigned(flip_mask(0x10575c, 52)) == 1070940);
+ assert(unsigned(flip_mask(0x105760, 52)) == 1070944);
+ assert(unsigned(flip_mask(0x105764, 52)) == 1070948);
+ assert(unsigned(flip_mask(0x105768, 52)) == 1070952);
+ assert(unsigned(flip_mask(0x10576c, 52)) == 1070956);
+ assert(unsigned(flip_mask(0x105770, 52)) == 1070960);
+ assert(unsigned(flip_mask(0x105774, 52)) == 1070964);
+ assert(unsigned(flip_mask(0x105778, 52)) == 1070968);
+ assert(unsigned(flip_mask(0x105780, 52)) == 1070976);
+ assert(unsigned(flip_mask(0x1057a8, 52)) == 1071016);
+ assert(unsigned(flip_mask(0x1057b0, 52)) == 1071024);
+ assert(unsigned(flip_mask(0x1057b8, 52)) == 1071032);
+ assert(unsigned(flip_mask(0x1057c0, 52)) == 1071040);
+ assert(unsigned(flip_mask(0x1057c8, 52)) == 1071048);
+ assert(unsigned(flip_mask(0x1057d0, 52)) == 1071056);
+ assert(unsigned(flip_mask(0x1057d8, 52)) == 1071064);
+ assert(unsigned(flip_mask(0x1057e0, 52)) == 1071072);
+ assert(unsigned(flip_mask(0x1057e8, 52)) == 1071080);
+ assert(unsigned(flip_mask(0x1057f0, 52)) == 1071088);
+ assert(unsigned(flip_mask(0x1057f8, 52)) == 1071096);
+ assert(unsigned(flip_mask(0x105800, 52)) == 1071104);
+ assert(unsigned(flip_mask(0x105808, 52)) == 1071112);
+ assert(unsigned(flip_mask(0x105810, 52)) == 1071120);
+ assert(unsigned(flip_mask(0x105818, 52)) == 1071128);
+ assert(unsigned(flip_mask(0x105820, 52)) == 1071136);
+ assert(unsigned(flip_mask(0x105828, 52)) == 1071144);
+ assert(unsigned(flip_mask(0x105830, 52)) == 1071152);
+ assert(unsigned(flip_mask(0x105838, 52)) == 1071160);
+ assert(unsigned(flip_mask(0x105840, 52)) == 1071168);
+ assert(unsigned(flip_mask(0x105848, 52)) == 1071176);
+ assert(unsigned(flip_mask(0x105850, 52)) == 1071184);
+ assert(unsigned(flip_mask(0x105858, 52)) == 1071192);
+ assert(unsigned(flip_mask(0x10585c, 52)) == 1071196);
+ assert(unsigned(flip_mask(0x105860, 52)) == 1071200);
+ assert(unsigned(flip_mask(0x105864, 52)) == 1071204);
+ assert(unsigned(flip_mask(0x105868, 52)) == 1071208);
+ assert(unsigned(flip_mask(0x10586c, 52)) == 1071212);
+ assert(unsigned(flip_mask(0x105870, 52)) == 1071216);
+ assert(unsigned(flip_mask(0x105874, 52)) == 1071220);
+ assert(unsigned(flip_mask(0x105878, 52)) == 1071224);
+ assert(unsigned(flip_mask(0x10587c, 52)) == 1071228);
+ assert(unsigned(flip_mask(0x105880, 52)) == 1071232);
+ assert(unsigned(flip_mask(0x105884, 52)) == 1071236);
+ assert(unsigned(flip_mask(0x105888, 52)) == 1071240);
+ assert(unsigned(flip_mask(0x10588c, 52)) == 1071244);
+ assert(unsigned(flip_mask(0x105890, 52)) == 1071248);
+ assert(unsigned(flip_mask(0x105894, 52)) == 1071252);
+ assert(unsigned(flip_mask(0x105898, 52)) == 1071256);
+ assert(unsigned(flip_mask(0x10589c, 52)) == 1071260);
+ assert(unsigned(flip_mask(0x1058a0, 52)) == 1071264);
+ assert(unsigned(flip_mask(0x1058a4, 52)) == 1071268);
+ assert(unsigned(flip_mask(0x1058a8, 52)) == 1071272);
+ assert(unsigned(flip_mask(0x12000, 52)) == 73728);
+ assert(unsigned(flip_mask(0x13000000, 52)) == 318767104);
+ assert(unsigned(flip_mask(0x1568000, 52)) == 22446080);
+ assert(unsigned(flip_mask(0x1568008, 52)) == 22446088);
+ assert(unsigned(flip_mask(0x1568010, 52)) == 22446096);
+ assert(unsigned(flip_mask(0x1568018, 52)) == 22446104);
+ assert(unsigned(flip_mask(0x1568020, 52)) == 22446112);
+ assert(unsigned(flip_mask(0x1568028, 52)) == 22446120);
+ assert(unsigned(flip_mask(0x1568030, 52)) == 22446128);
+ assert(unsigned(flip_mask(0x1568038, 52)) == 22446136);
+ assert(unsigned(flip_mask(0x1568040, 52)) == 22446144);
+ assert(unsigned(flip_mask(0x1568048, 52)) == 22446152);
+ assert(unsigned(flip_mask(0x1568050, 52)) == 22446160);
+ assert(unsigned(flip_mask(0x1568058, 52)) == 22446168);
+ assert(unsigned(flip_mask(0x1568060, 52)) == 22446176);
+ assert(unsigned(flip_mask(0x1568068, 52)) == 22446184);
+ assert(unsigned(flip_mask(0x1568070, 52)) == 22446192);
+ assert(unsigned(flip_mask(0x1568078, 52)) == 22446200);
+ assert(unsigned(flip_mask(0x1568080, 52)) == 22446208);
+ assert(unsigned(flip_mask(0x1568088, 52)) == 22446216);
+ assert(unsigned(flip_mask(0x1568090, 52)) == 22446224);
+ assert(unsigned(flip_mask(0x1568098, 52)) == 22446232);
+ assert(unsigned(flip_mask(0x15680a0, 52)) == 22446240);
+ assert(unsigned(flip_mask(0x15680a8, 52)) == 22446248);
+ assert(unsigned(flip_mask(0x15680b0, 52)) == 22446256);
+ assert(unsigned(flip_mask(0x15680b8, 52)) == 22446264);
+ assert(unsigned(flip_mask(0x15680c0, 52)) == 22446272);
+ assert(unsigned(flip_mask(0x15680c8, 52)) == 22446280);
+ assert(unsigned(flip_mask(0x15680d0, 52)) == 22446288);
+ assert(unsigned(flip_mask(0x15680d8, 52)) == 22446296);
+ assert(unsigned(flip_mask(0x15680e0, 52)) == 22446304);
+ assert(unsigned(flip_mask(0x15680e8, 52)) == 22446312);
+ assert(unsigned(flip_mask(0x15680f0, 52)) == 22446320);
+ assert(unsigned(flip_mask(0x15680f8, 52)) == 22446328);
+ assert(unsigned(flip_mask(0x1568100, 52)) == 22446336);
+ assert(unsigned(flip_mask(0x1568108, 52)) == 22446344);
+ assert(unsigned(flip_mask(0x1568110, 52)) == 22446352);
+ assert(unsigned(flip_mask(0x1568118, 52)) == 22446360);
+ assert(unsigned(flip_mask(0x1568120, 52)) == 22446368);
+ assert(unsigned(flip_mask(0x1568128, 52)) == 22446376);
+ assert(unsigned(flip_mask(0x1568130, 52)) == 22446384);
+ assert(unsigned(flip_mask(0x1568138, 52)) == 22446392);
+ assert(unsigned(flip_mask(0x1568140, 52)) == 22446400);
+ assert(unsigned(flip_mask(0x1568148, 52)) == 22446408);
+ assert(unsigned(flip_mask(0x1568150, 52)) == 22446416);
+ assert(unsigned(flip_mask(0x1568158, 52)) == 22446424);
+ assert(unsigned(flip_mask(0x1568160, 52)) == 22446432);
+ assert(unsigned(flip_mask(0x1568168, 52)) == 22446440);
+ assert(unsigned(flip_mask(0x1568170, 52)) == 22446448);
+ assert(unsigned(flip_mask(0x1568178, 52)) == 22446456);
+ assert(unsigned(flip_mask(0x1568180, 52)) == 22446464);
+ assert(unsigned(flip_mask(0x1568188, 52)) == 22446472);
+ assert(unsigned(flip_mask(0x1568190, 52)) == 22446480);
+ assert(unsigned(flip_mask(0x1568198, 52)) == 22446488);
+ assert(unsigned(flip_mask(0x15681a0, 52)) == 22446496);
+ assert(unsigned(flip_mask(0x15681a8, 52)) == 22446504);
+ assert(unsigned(flip_mask(0x15681b0, 52)) == 22446512);
+ assert(unsigned(flip_mask(0x15681b8, 52)) == 22446520);
+ assert(unsigned(flip_mask(0x15681c0, 52)) == 22446528);
+ assert(unsigned(flip_mask(0x15681c8, 52)) == 22446536);
+ assert(unsigned(flip_mask(0x15681d0, 52)) == 22446544);
+ assert(unsigned(flip_mask(0x15681d8, 52)) == 22446552);
+ assert(unsigned(flip_mask(0x15681e0, 52)) == 22446560);
+ assert(unsigned(flip_mask(0x15681e8, 52)) == 22446568);
+ assert(unsigned(flip_mask(0x15681f0, 52)) == 22446576);
+ assert(unsigned(flip_mask(0x15681f8, 52)) == 22446584);
+ assert(unsigned(flip_mask(0x1568200, 52)) == 22446592);
+ assert(unsigned(flip_mask(0x1568208, 52)) == 22446600);
+ assert(unsigned(flip_mask(0x1568210, 52)) == 22446608);
+ assert(unsigned(flip_mask(0x1568218, 52)) == 22446616);
+ assert(unsigned(flip_mask(0x1568220, 52)) == 22446624);
+ assert(unsigned(flip_mask(0x1568228, 52)) == 22446632);
+ assert(unsigned(flip_mask(0x1568230, 52)) == 22446640);
+ assert(unsigned(flip_mask(0x1568238, 52)) == 22446648);
+ assert(unsigned(flip_mask(0x1568240, 52)) == 22446656);
+ assert(unsigned(flip_mask(0x1568248, 52)) == 22446664);
+ assert(unsigned(flip_mask(0x1568250, 52)) == 22446672);
+ assert(unsigned(flip_mask(0x1568258, 52)) == 22446680);
+ assert(unsigned(flip_mask(0x1568260, 52)) == 22446688);
+ assert(unsigned(flip_mask(0x1568268, 52)) == 22446696);
+ assert(unsigned(flip_mask(0x1568270, 52)) == 22446704);
+ assert(unsigned(flip_mask(0x1568278, 52)) == 22446712);
+ assert(unsigned(flip_mask(0x1568280, 52)) == 22446720);
+ assert(unsigned(flip_mask(0x1568288, 52)) == 22446728);
+ assert(unsigned(flip_mask(0x1568290, 52)) == 22446736);
+ assert(unsigned(flip_mask(0x1568298, 52)) == 22446744);
+ assert(unsigned(flip_mask(0x15682a0, 52)) == 22446752);
+ assert(unsigned(flip_mask(0x15682a8, 52)) == 22446760);
+ assert(unsigned(flip_mask(0x15682b0, 52)) == 22446768);
+ assert(unsigned(flip_mask(0x15682b8, 52)) == 22446776);
+ assert(unsigned(flip_mask(0x15682c0, 52)) == 22446784);
+ assert(unsigned(flip_mask(0x15682c8, 52)) == 22446792);
+ assert(unsigned(flip_mask(0x15682d0, 52)) == 22446800);
+ assert(unsigned(flip_mask(0x15682d8, 52)) == 22446808);
+ assert(unsigned(flip_mask(0x15682e0, 52)) == 22446816);
+ assert(unsigned(flip_mask(0x15682e8, 52)) == 22446824);
+ assert(unsigned(flip_mask(0x15682f0, 52)) == 22446832);
+ assert(unsigned(flip_mask(0x15682f8, 52)) == 22446840);
+ assert(unsigned(flip_mask(0x1568300, 52)) == 22446848);
+ assert(unsigned(flip_mask(0x1568308, 52)) == 22446856);
+ assert(unsigned(flip_mask(0x1568310, 52)) == 22446864);
+ assert(unsigned(flip_mask(0x1568318, 52)) == 22446872);
+ assert(unsigned(flip_mask(0x1568320, 52)) == 22446880);
+ assert(unsigned(flip_mask(0x1568328, 52)) == 22446888);
+ assert(unsigned(flip_mask(0x1568330, 52)) == 22446896);
+ assert(unsigned(flip_mask(0x1568338, 52)) == 22446904);
+ assert(unsigned(flip_mask(0x1568340, 52)) == 22446912);
+ assert(unsigned(flip_mask(0x1568348, 52)) == 22446920);
+ assert(unsigned(flip_mask(0x1568350, 52)) == 22446928);
+ assert(unsigned(flip_mask(0x1568358, 52)) == 22446936);
+ assert(unsigned(flip_mask(0x1568360, 52)) == 22446944);
+ assert(unsigned(flip_mask(0x1568368, 52)) == 22446952);
+ assert(unsigned(flip_mask(0x1568370, 52)) == 22446960);
+ assert(unsigned(flip_mask(0x1568378, 52)) == 22446968);
+ assert(unsigned(flip_mask(0x1568380, 52)) == 22446976);
+ assert(unsigned(flip_mask(0x1568388, 52)) == 22446984);
+ assert(unsigned(flip_mask(0x1568390, 52)) == 22446992);
+ assert(unsigned(flip_mask(0x1568398, 52)) == 22447000);
+ assert(unsigned(flip_mask(0x15683a0, 52)) == 22447008);
+ assert(unsigned(flip_mask(0x15683a8, 52)) == 22447016);
+ assert(unsigned(flip_mask(0x15683b0, 52)) == 22447024);
+ assert(unsigned(flip_mask(0x15683b8, 52)) == 22447032);
+ assert(unsigned(flip_mask(0x15683c0, 52)) == 22447040);
+ assert(unsigned(flip_mask(0x15683c8, 52)) == 22447048);
+ assert(unsigned(flip_mask(0x15683d0, 52)) == 22447056);
+ assert(unsigned(flip_mask(0x15683d8, 52)) == 22447064);
+ assert(unsigned(flip_mask(0x15683e0, 52)) == 22447072);
+ assert(unsigned(flip_mask(0x15683e8, 52)) == 22447080);
+ assert(unsigned(flip_mask(0x15683f0, 52)) == 22447088);
+ assert(unsigned(flip_mask(0x15683f8, 52)) == 22447096);
+ assert(unsigned(flip_mask(0x1568400, 52)) == 22447104);
+ assert(unsigned(flip_mask(0x1568408, 52)) == 22447112);
+ assert(unsigned(flip_mask(0x1568410, 52)) == 22447120);
+ assert(unsigned(flip_mask(0x1568418, 52)) == 22447128);
+ assert(unsigned(flip_mask(0x1568420, 52)) == 22447136);
+ assert(unsigned(flip_mask(0x1568428, 52)) == 22447144);
+ assert(unsigned(flip_mask(0x1568430, 52)) == 22447152);
+ assert(unsigned(flip_mask(0x1568438, 52)) == 22447160);
+ assert(unsigned(flip_mask(0x1568440, 52)) == 22447168);
+ assert(unsigned(flip_mask(0x1568448, 52)) == 22447176);
+ assert(unsigned(flip_mask(0x1568450, 52)) == 22447184);
+ assert(unsigned(flip_mask(0x1568458, 52)) == 22447192);
+ assert(unsigned(flip_mask(0x1568460, 52)) == 22447200);
+ assert(unsigned(flip_mask(0x1568468, 52)) == 22447208);
+ assert(unsigned(flip_mask(0x1568470, 52)) == 22447216);
+ assert(unsigned(flip_mask(0x1568478, 52)) == 22447224);
+ assert(unsigned(flip_mask(0x1568480, 52)) == 22447232);
+ assert(unsigned(flip_mask(0x1568488, 52)) == 22447240);
+ assert(unsigned(flip_mask(0x1568490, 52)) == 22447248);
+ assert(unsigned(flip_mask(0x1568498, 52)) == 22447256);
+ assert(unsigned(flip_mask(0x15684a0, 52)) == 22447264);
+ assert(unsigned(flip_mask(0x15684a8, 52)) == 22447272);
+ assert(unsigned(flip_mask(0x15684b0, 52)) == 22447280);
+ assert(unsigned(flip_mask(0x15684b8, 52)) == 22447288);
+ assert(unsigned(flip_mask(0x15684c0, 52)) == 22447296);
+ assert(unsigned(flip_mask(0x15684c8, 52)) == 22447304);
+ assert(unsigned(flip_mask(0x15684d0, 52)) == 22447312);
+ assert(unsigned(flip_mask(0x15684d8, 52)) == 22447320);
+ assert(unsigned(flip_mask(0x15684e0, 52)) == 22447328);
+ assert(unsigned(flip_mask(0x15684e8, 52)) == 22447336);
+ assert(unsigned(flip_mask(0x15684f0, 52)) == 22447344);
+ assert(unsigned(flip_mask(0x15684f8, 52)) == 22447352);
+ assert(unsigned(flip_mask(0x1568500, 52)) == 22447360);
+ assert(unsigned(flip_mask(0x1568508, 52)) == 22447368);
+ assert(unsigned(flip_mask(0x1568510, 52)) == 22447376);
+ assert(unsigned(flip_mask(0x1568518, 52)) == 22447384);
+ assert(unsigned(flip_mask(0x1568520, 52)) == 22447392);
+ assert(unsigned(flip_mask(0x1568528, 52)) == 22447400);
+ assert(unsigned(flip_mask(0x1569000, 52)) == 22450176);
+ assert(unsigned(flip_mask(0x1569008, 52)) == 22450184);
+ assert(unsigned(flip_mask(0x1569010, 52)) == 22450192);
+ assert(unsigned(flip_mask(0x1569018, 52)) == 22450200);
+ assert(unsigned(flip_mask(0x1569020, 52)) == 22450208);
+ assert(unsigned(flip_mask(0x1569028, 52)) == 22450216);
+ assert(unsigned(flip_mask(0x1569030, 52)) == 22450224);
+ assert(unsigned(flip_mask(0x1569038, 52)) == 22450232);
+ assert(unsigned(flip_mask(0x1569040, 52)) == 22450240);
+ assert(unsigned(flip_mask(0x1569048, 52)) == 22450248);
+ assert(unsigned(flip_mask(0x1569050, 52)) == 22450256);
+ assert(unsigned(flip_mask(0x1569058, 52)) == 22450264);
+ assert(unsigned(flip_mask(0x1569060, 52)) == 22450272);
+ assert(unsigned(flip_mask(0x1569068, 52)) == 22450280);
+ assert(unsigned(flip_mask(0x1569070, 52)) == 22450288);
+ assert(unsigned(flip_mask(0x1569078, 52)) == 22450296);
+ assert(unsigned(flip_mask(0x1569080, 52)) == 22450304);
+ assert(unsigned(flip_mask(0x1569088, 52)) == 22450312);
+ assert(unsigned(flip_mask(0x1569090, 52)) == 22450320);
+ assert(unsigned(flip_mask(0x1569098, 52)) == 22450328);
+ assert(unsigned(flip_mask(0x15690a0, 52)) == 22450336);
+ assert(unsigned(flip_mask(0x15690a8, 52)) == 22450344);
+ assert(unsigned(flip_mask(0x15690b0, 52)) == 22450352);
+ assert(unsigned(flip_mask(0x15690b8, 52)) == 22450360);
+ assert(unsigned(flip_mask(0x15690c0, 52)) == 22450368);
+ assert(unsigned(flip_mask(0x15690c8, 52)) == 22450376);
+ assert(unsigned(flip_mask(0x15690d0, 52)) == 22450384);
+ assert(unsigned(flip_mask(0x15690d8, 52)) == 22450392);
+ assert(unsigned(flip_mask(0x15690e0, 52)) == 22450400);
+ assert(unsigned(flip_mask(0x15690e8, 52)) == 22450408);
+ assert(unsigned(flip_mask(0x15690f0, 52)) == 22450416);
+ assert(unsigned(flip_mask(0x15690f8, 52)) == 22450424);
+ assert(unsigned(flip_mask(0x1569100, 52)) == 22450432);
+ assert(unsigned(flip_mask(0x1569108, 52)) == 22450440);
+ assert(unsigned(flip_mask(0x1569110, 52)) == 22450448);
+ assert(unsigned(flip_mask(0x1569118, 52)) == 22450456);
+ assert(unsigned(flip_mask(0x1569120, 52)) == 22450464);
+ assert(unsigned(flip_mask(0x1569128, 52)) == 22450472);
+ assert(unsigned(flip_mask(0x1569130, 52)) == 22450480);
+ assert(unsigned(flip_mask(0x1569138, 52)) == 22450488);
+ assert(unsigned(flip_mask(0x1569140, 52)) == 22450496);
+ assert(unsigned(flip_mask(0x1569148, 52)) == 22450504);
+ assert(unsigned(flip_mask(0x1569150, 52)) == 22450512);
+ assert(unsigned(flip_mask(0x1569158, 52)) == 22450520);
+ assert(unsigned(flip_mask(0x1569160, 52)) == 22450528);
+ assert(unsigned(flip_mask(0x1569168, 52)) == 22450536);
+ assert(unsigned(flip_mask(0x1569170, 52)) == 22450544);
+ assert(unsigned(flip_mask(0x1569178, 52)) == 22450552);
+ assert(unsigned(flip_mask(0x1569180, 52)) == 22450560);
+ assert(unsigned(flip_mask(0x1569188, 52)) == 22450568);
+ assert(unsigned(flip_mask(0x1569190, 52)) == 22450576);
+ assert(unsigned(flip_mask(0x1569198, 52)) == 22450584);
+ assert(unsigned(flip_mask(0x15691a0, 52)) == 22450592);
+ assert(unsigned(flip_mask(0x15691a8, 52)) == 22450600);
+ assert(unsigned(flip_mask(0x15691b0, 52)) == 22450608);
+ assert(unsigned(flip_mask(0x15691b8, 52)) == 22450616);
+ assert(unsigned(flip_mask(0x15691c0, 52)) == 22450624);
+ assert(unsigned(flip_mask(0x15691c8, 52)) == 22450632);
+ assert(unsigned(flip_mask(0x15691d0, 52)) == 22450640);
+ assert(unsigned(flip_mask(0x15691d8, 52)) == 22450648);
+ assert(unsigned(flip_mask(0x15691e0, 52)) == 22450656);
+ assert(unsigned(flip_mask(0x15691e8, 52)) == 22450664);
+ assert(unsigned(flip_mask(0x15691f0, 52)) == 22450672);
+ assert(unsigned(flip_mask(0x15691f8, 52)) == 22450680);
+ assert(unsigned(flip_mask(0x1569200, 52)) == 22450688);
+ assert(unsigned(flip_mask(0x1569208, 52)) == 22450696);
+ assert(unsigned(flip_mask(0x1569210, 52)) == 22450704);
+ assert(unsigned(flip_mask(0x1569218, 52)) == 22450712);
+ assert(unsigned(flip_mask(0x1569220, 52)) == 22450720);
+ assert(unsigned(flip_mask(0x1569228, 52)) == 22450728);
+ assert(unsigned(flip_mask(0x1569230, 52)) == 22450736);
+ assert(unsigned(flip_mask(0x1569238, 52)) == 22450744);
+ assert(unsigned(flip_mask(0x1569240, 52)) == 22450752);
+ assert(unsigned(flip_mask(0x1569248, 52)) == 22450760);
+ assert(unsigned(flip_mask(0x1569250, 52)) == 22450768);
+ assert(unsigned(flip_mask(0x1569258, 52)) == 22450776);
+ assert(unsigned(flip_mask(0x1569260, 52)) == 22450784);
+ assert(unsigned(flip_mask(0x1569268, 52)) == 22450792);
+ assert(unsigned(flip_mask(0x1569270, 52)) == 22450800);
+ assert(unsigned(flip_mask(0x1569278, 52)) == 22450808);
+ assert(unsigned(flip_mask(0x1569280, 52)) == 22450816);
+ assert(unsigned(flip_mask(0x1569288, 52)) == 22450824);
+ assert(unsigned(flip_mask(0x1569290, 52)) == 22450832);
+ assert(unsigned(flip_mask(0x1569298, 52)) == 22450840);
+ assert(unsigned(flip_mask(0x15692a0, 52)) == 22450848);
+ assert(unsigned(flip_mask(0x15692a8, 52)) == 22450856);
+ assert(unsigned(flip_mask(0x15692b0, 52)) == 22450864);
+ assert(unsigned(flip_mask(0x15692b8, 52)) == 22450872);
+ assert(unsigned(flip_mask(0x15692c0, 52)) == 22450880);
+ assert(unsigned(flip_mask(0x15692c8, 52)) == 22450888);
+ assert(unsigned(flip_mask(0x15692d0, 52)) == 22450896);
+ assert(unsigned(flip_mask(0x15692d8, 52)) == 22450904);
+ assert(unsigned(flip_mask(0x15692e0, 52)) == 22450912);
+ assert(unsigned(flip_mask(0x15692e8, 52)) == 22450920);
+ assert(unsigned(flip_mask(0x15692f0, 52)) == 22450928);
+ assert(unsigned(flip_mask(0x15692f8, 52)) == 22450936);
+ assert(unsigned(flip_mask(0x1569300, 52)) == 22450944);
+ assert(unsigned(flip_mask(0x1569308, 52)) == 22450952);
+ assert(unsigned(flip_mask(0x1569310, 52)) == 22450960);
+ assert(unsigned(flip_mask(0x1569318, 52)) == 22450968);
+ assert(unsigned(flip_mask(0x1569320, 52)) == 22450976);
+ assert(unsigned(flip_mask(0x1569328, 52)) == 22450984);
+ assert(unsigned(flip_mask(0x1569330, 52)) == 22450992);
+ assert(unsigned(flip_mask(0x1569338, 52)) == 22451000);
+ assert(unsigned(flip_mask(0x1569340, 52)) == 22451008);
+ assert(unsigned(flip_mask(0x1569348, 52)) == 22451016);
+ assert(unsigned(flip_mask(0x1569350, 52)) == 22451024);
+ assert(unsigned(flip_mask(0x1569358, 52)) == 22451032);
+ assert(unsigned(flip_mask(0x1569360, 52)) == 22451040);
+ assert(unsigned(flip_mask(0x1569368, 52)) == 22451048);
+ assert(unsigned(flip_mask(0x1569370, 52)) == 22451056);
+ assert(unsigned(flip_mask(0x1569378, 52)) == 22451064);
+ assert(unsigned(flip_mask(0x1569380, 52)) == 22451072);
+ assert(unsigned(flip_mask(0x1569388, 52)) == 22451080);
+ assert(unsigned(flip_mask(0x1569390, 52)) == 22451088);
+ assert(unsigned(flip_mask(0x1569398, 52)) == 22451096);
+ assert(unsigned(flip_mask(0x15693a0, 52)) == 22451104);
+ assert(unsigned(flip_mask(0x15693a8, 52)) == 22451112);
+ assert(unsigned(flip_mask(0x15693b0, 52)) == 22451120);
+ assert(unsigned(flip_mask(0x15693b8, 52)) == 22451128);
+ assert(unsigned(flip_mask(0x15693c0, 52)) == 22451136);
+ assert(unsigned(flip_mask(0x15693c8, 52)) == 22451144);
+ assert(unsigned(flip_mask(0x15693d0, 52)) == 22451152);
+ assert(unsigned(flip_mask(0x15693d8, 52)) == 22451160);
+ assert(unsigned(flip_mask(0x15693e0, 52)) == 22451168);
+ assert(unsigned(flip_mask(0x15693e8, 52)) == 22451176);
+ assert(unsigned(flip_mask(0x15693f0, 52)) == 22451184);
+ assert(unsigned(flip_mask(0x15693f8, 52)) == 22451192);
+ assert(unsigned(flip_mask(0x1569400, 52)) == 22451200);
+ assert(unsigned(flip_mask(0x1569408, 52)) == 22451208);
+ assert(unsigned(flip_mask(0x1569410, 52)) == 22451216);
+ assert(unsigned(flip_mask(0x1569418, 52)) == 22451224);
+ assert(unsigned(flip_mask(0x1569420, 52)) == 22451232);
+ assert(unsigned(flip_mask(0x1569428, 52)) == 22451240);
+ assert(unsigned(flip_mask(0x1569430, 52)) == 22451248);
+ assert(unsigned(flip_mask(0x1569438, 52)) == 22451256);
+ assert(unsigned(flip_mask(0x1569440, 52)) == 22451264);
+ assert(unsigned(flip_mask(0x1569448, 52)) == 22451272);
+ assert(unsigned(flip_mask(0x1569450, 52)) == 22451280);
+ assert(unsigned(flip_mask(0x1569458, 52)) == 22451288);
+ assert(unsigned(flip_mask(0x1569460, 52)) == 22451296);
+ assert(unsigned(flip_mask(0x1569468, 52)) == 22451304);
+ assert(unsigned(flip_mask(0x1569470, 52)) == 22451312);
+ assert(unsigned(flip_mask(0x1569478, 52)) == 22451320);
+ assert(unsigned(flip_mask(0x1569480, 52)) == 22451328);
+ assert(unsigned(flip_mask(0x1569488, 52)) == 22451336);
+ assert(unsigned(flip_mask(0x1569490, 52)) == 22451344);
+ assert(unsigned(flip_mask(0x1569498, 52)) == 22451352);
+ assert(unsigned(flip_mask(0x15694a0, 52)) == 22451360);
+ assert(unsigned(flip_mask(0x15694a8, 52)) == 22451368);
+ assert(unsigned(flip_mask(0x15694b0, 52)) == 22451376);
+ assert(unsigned(flip_mask(0x15694b8, 52)) == 22451384);
+ assert(unsigned(flip_mask(0x15694c0, 52)) == 22451392);
+ assert(unsigned(flip_mask(0x15694c8, 52)) == 22451400);
+ assert(unsigned(flip_mask(0x15694d0, 52)) == 22451408);
+ assert(unsigned(flip_mask(0x15694d8, 52)) == 22451416);
+ assert(unsigned(flip_mask(0x15694e0, 52)) == 22451424);
+ assert(unsigned(flip_mask(0x15694e8, 52)) == 22451432);
+ assert(unsigned(flip_mask(0x15694f0, 52)) == 22451440);
+ assert(unsigned(flip_mask(0x15694f8, 52)) == 22451448);
+ assert(unsigned(flip_mask(0x1569500, 52)) == 22451456);
+ assert(unsigned(flip_mask(0x1569508, 52)) == 22451464);
+ assert(unsigned(flip_mask(0x1569510, 52)) == 22451472);
+ assert(unsigned(flip_mask(0x1569518, 52)) == 22451480);
+ assert(unsigned(flip_mask(0x1569520, 52)) == 22451488);
+ assert(unsigned(flip_mask(0x1569528, 52)) == 22451496);
+ assert(unsigned(flip_mask(0x1569530, 52)) == 22451504);
+ assert(unsigned(flip_mask(0x1569538, 52)) == 22451512);
+ assert(unsigned(flip_mask(0x1569540, 52)) == 22451520);
+ assert(unsigned(flip_mask(0x1569548, 52)) == 22451528);
+ assert(unsigned(flip_mask(0x1569550, 52)) == 22451536);
+ assert(unsigned(flip_mask(0x1569558, 52)) == 22451544);
+ assert(unsigned(flip_mask(0x1569560, 52)) == 22451552);
+ assert(unsigned(flip_mask(0x1569568, 52)) == 22451560);
+ assert(unsigned(flip_mask(0x1569570, 52)) == 22451568);
+ assert(unsigned(flip_mask(0x1569578, 52)) == 22451576);
+ assert(unsigned(flip_mask(0x1569580, 52)) == 22451584);
+ assert(unsigned(flip_mask(0x1569588, 52)) == 22451592);
+ assert(unsigned(flip_mask(0x1569590, 52)) == 22451600);
+ assert(unsigned(flip_mask(0x1569598, 52)) == 22451608);
+ assert(unsigned(flip_mask(0x15695a0, 52)) == 22451616);
+ assert(unsigned(flip_mask(0x15695a8, 52)) == 22451624);
+ assert(unsigned(flip_mask(0x15695b0, 52)) == 22451632);
+ assert(unsigned(flip_mask(0x15695b8, 52)) == 22451640);
+ assert(unsigned(flip_mask(0x15695c0, 52)) == 22451648);
+ assert(unsigned(flip_mask(0x15695c8, 52)) == 22451656);
+ assert(unsigned(flip_mask(0x15695d0, 52)) == 22451664);
+ assert(unsigned(flip_mask(0x15695d8, 52)) == 22451672);
+ assert(unsigned(flip_mask(0x15695e0, 52)) == 22451680);
+ assert(unsigned(flip_mask(0x15695e8, 52)) == 22451688);
+ assert(unsigned(flip_mask(0x15695f0, 52)) == 22451696);
+ assert(unsigned(flip_mask(0x15695f8, 52)) == 22451704);
+ assert(unsigned(flip_mask(0x1569600, 52)) == 22451712);
+ assert(unsigned(flip_mask(0x1569608, 52)) == 22451720);
+ assert(unsigned(flip_mask(0x1569610, 52)) == 22451728);
+ assert(unsigned(flip_mask(0x1569618, 52)) == 22451736);
+ assert(unsigned(flip_mask(0x1569620, 52)) == 22451744);
+ assert(unsigned(flip_mask(0x1569628, 52)) == 22451752);
+ assert(unsigned(flip_mask(0x1569630, 52)) == 22451760);
+ assert(unsigned(flip_mask(0x1569638, 52)) == 22451768);
+ assert(unsigned(flip_mask(0x1569640, 52)) == 22451776);
+ assert(unsigned(flip_mask(0x1569648, 52)) == 22451784);
+ assert(unsigned(flip_mask(0x1569650, 52)) == 22451792);
+ assert(unsigned(flip_mask(0x1569658, 52)) == 22451800);
+ assert(unsigned(flip_mask(0x1569660, 52)) == 22451808);
+ assert(unsigned(flip_mask(0x1569668, 52)) == 22451816);
+ assert(unsigned(flip_mask(0x1569670, 52)) == 22451824);
+ assert(unsigned(flip_mask(0x1569678, 52)) == 22451832);
+ assert(unsigned(flip_mask(0x1569680, 52)) == 22451840);
+ assert(unsigned(flip_mask(0x1569688, 52)) == 22451848);
+ assert(unsigned(flip_mask(0x1569690, 52)) == 22451856);
+ assert(unsigned(flip_mask(0x1569698, 52)) == 22451864);
+ assert(unsigned(flip_mask(0x15696a0, 52)) == 22451872);
+ assert(unsigned(flip_mask(0x15696a8, 52)) == 22451880);
+ assert(unsigned(flip_mask(0x15696b0, 52)) == 22451888);
+ assert(unsigned(flip_mask(0x15696b8, 52)) == 22451896);
+ assert(unsigned(flip_mask(0x15696c0, 52)) == 22451904);
+ assert(unsigned(flip_mask(0x15696c8, 52)) == 22451912);
+ assert(unsigned(flip_mask(0x15696d0, 52)) == 22451920);
+ assert(unsigned(flip_mask(0x15696d8, 52)) == 22451928);
+ assert(unsigned(flip_mask(0x15696e0, 52)) == 22451936);
+ assert(unsigned(flip_mask(0x15696e8, 52)) == 22451944);
+ assert(unsigned(flip_mask(0x15696f0, 52)) == 22451952);
+ assert(unsigned(flip_mask(0x15696f8, 52)) == 22451960);
+ assert(unsigned(flip_mask(0x1569700, 52)) == 22451968);
+ assert(unsigned(flip_mask(0x1569708, 52)) == 22451976);
+ assert(unsigned(flip_mask(0x1569710, 52)) == 22451984);
+ assert(unsigned(flip_mask(0x1569718, 52)) == 22451992);
+ assert(unsigned(flip_mask(0x1569720, 52)) == 22452000);
+ assert(unsigned(flip_mask(0x1569728, 52)) == 22452008);
+ assert(unsigned(flip_mask(0x1569730, 52)) == 22452016);
+ assert(unsigned(flip_mask(0x1569738, 52)) == 22452024);
+ assert(unsigned(flip_mask(0x1569740, 52)) == 22452032);
+ assert(unsigned(flip_mask(0x1569748, 52)) == 22452040);
+ assert(unsigned(flip_mask(0x1569750, 52)) == 22452048);
+ assert(unsigned(flip_mask(0x1569758, 52)) == 22452056);
+ assert(unsigned(flip_mask(0x1569760, 52)) == 22452064);
+ assert(unsigned(flip_mask(0x1569768, 52)) == 22452072);
+ assert(unsigned(flip_mask(0x1569770, 52)) == 22452080);
+ assert(unsigned(flip_mask(0x1569778, 52)) == 22452088);
+ assert(unsigned(flip_mask(0x1569780, 52)) == 22452096);
+ assert(unsigned(flip_mask(0x1569788, 52)) == 22452104);
+ assert(unsigned(flip_mask(0x1569790, 52)) == 22452112);
+ assert(unsigned(flip_mask(0x1569798, 52)) == 22452120);
+ assert(unsigned(flip_mask(0x15697a0, 52)) == 22452128);
+ assert(unsigned(flip_mask(0x15697a8, 52)) == 22452136);
+ assert(unsigned(flip_mask(0x15697b0, 52)) == 22452144);
+ assert(unsigned(flip_mask(0x15697b8, 52)) == 22452152);
+ assert(unsigned(flip_mask(0x15697c0, 52)) == 22452160);
+ assert(unsigned(flip_mask(0x15697c8, 52)) == 22452168);
+ assert(unsigned(flip_mask(0x15697d0, 52)) == 22452176);
+ assert(unsigned(flip_mask(0x15697d8, 52)) == 22452184);
+ assert(unsigned(flip_mask(0x15697e0, 52)) == 22452192);
+ assert(unsigned(flip_mask(0x15697e8, 52)) == 22452200);
+ assert(unsigned(flip_mask(0x15697f0, 52)) == 22452208);
+ assert(unsigned(flip_mask(0x15697f8, 52)) == 22452216);
+ assert(unsigned(flip_mask(0x1569800, 52)) == 22452224);
+ assert(unsigned(flip_mask(0x1569808, 52)) == 22452232);
+ assert(unsigned(flip_mask(0x1569810, 52)) == 22452240);
+ assert(unsigned(flip_mask(0x1569818, 52)) == 22452248);
+ assert(unsigned(flip_mask(0x1569820, 52)) == 22452256);
+ assert(unsigned(flip_mask(0x1569828, 52)) == 22452264);
+ assert(unsigned(flip_mask(0x1569830, 52)) == 22452272);
+ assert(unsigned(flip_mask(0x1569838, 52)) == 22452280);
+ assert(unsigned(flip_mask(0x1569840, 52)) == 22452288);
+ assert(unsigned(flip_mask(0x1569848, 52)) == 22452296);
+ assert(unsigned(flip_mask(0x1569850, 52)) == 22452304);
+ assert(unsigned(flip_mask(0x1569858, 52)) == 22452312);
+ assert(unsigned(flip_mask(0x1569860, 52)) == 22452320);
+ assert(unsigned(flip_mask(0x1569868, 52)) == 22452328);
+ assert(unsigned(flip_mask(0x1569870, 52)) == 22452336);
+ assert(unsigned(flip_mask(0x1569878, 52)) == 22452344);
+ assert(unsigned(flip_mask(0x1569880, 52)) == 22452352);
+ assert(unsigned(flip_mask(0x1569888, 52)) == 22452360);
+ assert(unsigned(flip_mask(0x1569890, 52)) == 22452368);
+ assert(unsigned(flip_mask(0x1569898, 52)) == 22452376);
+ assert(unsigned(flip_mask(0x15698a0, 52)) == 22452384);
+ assert(unsigned(flip_mask(0x15698a8, 52)) == 22452392);
+ assert(unsigned(flip_mask(0x15698b0, 52)) == 22452400);
+ assert(unsigned(flip_mask(0x15698b8, 52)) == 22452408);
+ assert(unsigned(flip_mask(0x16000, 52)) == 90112);
+ assert(unsigned(flip_mask(0x1668008, 52)) == 23494664);
+ assert(unsigned(flip_mask(0x1668010, 52)) == 23494672);
+ assert(unsigned(flip_mask(0x1668018, 52)) == 23494680);
+ assert(unsigned(flip_mask(0x1668020, 52)) == 23494688);
+ assert(unsigned(flip_mask(0x1668028, 52)) == 23494696);
+ assert(unsigned(flip_mask(0x1668030, 52)) == 23494704);
+ assert(unsigned(flip_mask(0x1668038, 52)) == 23494712);
+ assert(unsigned(flip_mask(0x1668040, 52)) == 23494720);
+ assert(unsigned(flip_mask(0x1668048, 52)) == 23494728);
+ assert(unsigned(flip_mask(0x1668050, 52)) == 23494736);
+ assert(unsigned(flip_mask(0x1668058, 52)) == 23494744);
+ assert(unsigned(flip_mask(0x1668060, 52)) == 23494752);
+ assert(unsigned(flip_mask(0x1668068, 52)) == 23494760);
+ assert(unsigned(flip_mask(0x1668070, 52)) == 23494768);
+ assert(unsigned(flip_mask(0x1668078, 52)) == 23494776);
+ assert(unsigned(flip_mask(0x1668080, 52)) == 23494784);
+ assert(unsigned(flip_mask(0x1668088, 52)) == 23494792);
+ assert(unsigned(flip_mask(0x1668090, 52)) == 23494800);
+ assert(unsigned(flip_mask(0x1668098, 52)) == 23494808);
+ assert(unsigned(flip_mask(0x16680a0, 52)) == 23494816);
+ assert(unsigned(flip_mask(0x16680a8, 52)) == 23494824);
+ assert(unsigned(flip_mask(0x16680b0, 52)) == 23494832);
+ assert(unsigned(flip_mask(0x16680b8, 52)) == 23494840);
+ assert(unsigned(flip_mask(0x16680c0, 52)) == 23494848);
+ assert(unsigned(flip_mask(0x16680c8, 52)) == 23494856);
+ assert(unsigned(flip_mask(0x16680d0, 52)) == 23494864);
+ assert(unsigned(flip_mask(0x16680d8, 52)) == 23494872);
+ assert(unsigned(flip_mask(0x16680e0, 52)) == 23494880);
+ assert(unsigned(flip_mask(0x16680e8, 52)) == 23494888);
+ assert(unsigned(flip_mask(0x16680f0, 52)) == 23494896);
+ assert(unsigned(flip_mask(0x16680f8, 52)) == 23494904);
+ assert(unsigned(flip_mask(0x1668100, 52)) == 23494912);
+ assert(unsigned(flip_mask(0x1668108, 52)) == 23494920);
+ assert(unsigned(flip_mask(0x1668110, 52)) == 23494928);
+ assert(unsigned(flip_mask(0x1668118, 52)) == 23494936);
+ assert(unsigned(flip_mask(0x1668120, 52)) == 23494944);
+ assert(unsigned(flip_mask(0x1668128, 52)) == 23494952);
+ assert(unsigned(flip_mask(0x1668130, 52)) == 23494960);
+ assert(unsigned(flip_mask(0x1668138, 52)) == 23494968);
+ assert(unsigned(flip_mask(0x1668140, 52)) == 23494976);
+ assert(unsigned(flip_mask(0x1668148, 52)) == 23494984);
+ assert(unsigned(flip_mask(0x1668150, 52)) == 23494992);
+ assert(unsigned(flip_mask(0x1668158, 52)) == 23495000);
+ assert(unsigned(flip_mask(0x1668160, 52)) == 23495008);
+ assert(unsigned(flip_mask(0x1668168, 52)) == 23495016);
+ assert(unsigned(flip_mask(0x1668170, 52)) == 23495024);
+ assert(unsigned(flip_mask(0x1668178, 52)) == 23495032);
+ assert(unsigned(flip_mask(0x1668180, 52)) == 23495040);
+ assert(unsigned(flip_mask(0x1668188, 52)) == 23495048);
+ assert(unsigned(flip_mask(0x1668190, 52)) == 23495056);
+ assert(unsigned(flip_mask(0x1668198, 52)) == 23495064);
+ assert(unsigned(flip_mask(0x16681a0, 52)) == 23495072);
+ assert(unsigned(flip_mask(0x16681a8, 52)) == 23495080);
+ assert(unsigned(flip_mask(0x16681b0, 52)) == 23495088);
+ assert(unsigned(flip_mask(0x16681b8, 52)) == 23495096);
+ assert(unsigned(flip_mask(0x16681c0, 52)) == 23495104);
+ assert(unsigned(flip_mask(0x16681c8, 52)) == 23495112);
+ assert(unsigned(flip_mask(0x16681d0, 52)) == 23495120);
+ assert(unsigned(flip_mask(0x16681d8, 52)) == 23495128);
+ assert(unsigned(flip_mask(0x16681e0, 52)) == 23495136);
+ assert(unsigned(flip_mask(0x16681e8, 52)) == 23495144);
+ assert(unsigned(flip_mask(0x16681f0, 52)) == 23495152);
+ assert(unsigned(flip_mask(0x16681f8, 52)) == 23495160);
+ assert(unsigned(flip_mask(0x1668200, 52)) == 23495168);
+ assert(unsigned(flip_mask(0x1668208, 52)) == 23495176);
+ assert(unsigned(flip_mask(0x1668210, 52)) == 23495184);
+ assert(unsigned(flip_mask(0x1668218, 52)) == 23495192);
+ assert(unsigned(flip_mask(0x1668220, 52)) == 23495200);
+ assert(unsigned(flip_mask(0x1668228, 52)) == 23495208);
+ assert(unsigned(flip_mask(0x1668230, 52)) == 23495216);
+ assert(unsigned(flip_mask(0x1668238, 52)) == 23495224);
+ assert(unsigned(flip_mask(0x1668240, 52)) == 23495232);
+ assert(unsigned(flip_mask(0x1668248, 52)) == 23495240);
+ assert(unsigned(flip_mask(0x1668250, 52)) == 23495248);
+ assert(unsigned(flip_mask(0x1668258, 52)) == 23495256);
+ assert(unsigned(flip_mask(0x1668260, 52)) == 23495264);
+ assert(unsigned(flip_mask(0x1668268, 52)) == 23495272);
+ assert(unsigned(flip_mask(0x1668270, 52)) == 23495280);
+ assert(unsigned(flip_mask(0x1668278, 52)) == 23495288);
+ assert(unsigned(flip_mask(0x1668280, 52)) == 23495296);
+ assert(unsigned(flip_mask(0x1668288, 52)) == 23495304);
+ assert(unsigned(flip_mask(0x1668290, 52)) == 23495312);
+ assert(unsigned(flip_mask(0x1668298, 52)) == 23495320);
+ assert(unsigned(flip_mask(0x16682a0, 52)) == 23495328);
+ assert(unsigned(flip_mask(0x16682a8, 52)) == 23495336);
+ assert(unsigned(flip_mask(0x16682b0, 52)) == 23495344);
+ assert(unsigned(flip_mask(0x16682b8, 52)) == 23495352);
+ assert(unsigned(flip_mask(0x16682c0, 52)) == 23495360);
+ assert(unsigned(flip_mask(0x16682c8, 52)) == 23495368);
+ assert(unsigned(flip_mask(0x16682d0, 52)) == 23495376);
+ assert(unsigned(flip_mask(0x16682d8, 52)) == 23495384);
+ assert(unsigned(flip_mask(0x16682e0, 52)) == 23495392);
+ assert(unsigned(flip_mask(0x16682e8, 52)) == 23495400);
+ assert(unsigned(flip_mask(0x16682f0, 52)) == 23495408);
+ assert(unsigned(flip_mask(0x16682f8, 52)) == 23495416);
+ assert(unsigned(flip_mask(0x1668300, 52)) == 23495424);
+ assert(unsigned(flip_mask(0x1668308, 52)) == 23495432);
+ assert(unsigned(flip_mask(0x1668310, 52)) == 23495440);
+ assert(unsigned(flip_mask(0x1668318, 52)) == 23495448);
+ assert(unsigned(flip_mask(0x1668320, 52)) == 23495456);
+ assert(unsigned(flip_mask(0x1668328, 52)) == 23495464);
+ assert(unsigned(flip_mask(0x1668330, 52)) == 23495472);
+ assert(unsigned(flip_mask(0x1668338, 52)) == 23495480);
+ assert(unsigned(flip_mask(0x1668340, 52)) == 23495488);
+ assert(unsigned(flip_mask(0x1668348, 52)) == 23495496);
+ assert(unsigned(flip_mask(0x1668350, 52)) == 23495504);
+ assert(unsigned(flip_mask(0x1668358, 52)) == 23495512);
+ assert(unsigned(flip_mask(0x1668360, 52)) == 23495520);
+ assert(unsigned(flip_mask(0x1668368, 52)) == 23495528);
+ assert(unsigned(flip_mask(0x1668370, 52)) == 23495536);
+ assert(unsigned(flip_mask(0x1668378, 52)) == 23495544);
+ assert(unsigned(flip_mask(0x1668380, 52)) == 23495552);
+ assert(unsigned(flip_mask(0x1668388, 52)) == 23495560);
+ assert(unsigned(flip_mask(0x1668390, 52)) == 23495568);
+ assert(unsigned(flip_mask(0x1668398, 52)) == 23495576);
+ assert(unsigned(flip_mask(0x16683a0, 52)) == 23495584);
+ assert(unsigned(flip_mask(0x16683a8, 52)) == 23495592);
+ assert(unsigned(flip_mask(0x16683b0, 52)) == 23495600);
+ assert(unsigned(flip_mask(0x16683b8, 52)) == 23495608);
+ assert(unsigned(flip_mask(0x16683c0, 52)) == 23495616);
+ assert(unsigned(flip_mask(0x16683c8, 52)) == 23495624);
+ assert(unsigned(flip_mask(0x16683d0, 52)) == 23495632);
+ assert(unsigned(flip_mask(0x16683d8, 52)) == 23495640);
+ assert(unsigned(flip_mask(0x16683e0, 52)) == 23495648);
+ assert(unsigned(flip_mask(0x16683e8, 52)) == 23495656);
+ assert(unsigned(flip_mask(0x16683f0, 52)) == 23495664);
+ assert(unsigned(flip_mask(0x16683f8, 52)) == 23495672);
+ assert(unsigned(flip_mask(0x1668400, 52)) == 23495680);
+ assert(unsigned(flip_mask(0x1668408, 52)) == 23495688);
+ assert(unsigned(flip_mask(0x1668410, 52)) == 23495696);
+ assert(unsigned(flip_mask(0x1668418, 52)) == 23495704);
+ assert(unsigned(flip_mask(0x1668420, 52)) == 23495712);
+ assert(unsigned(flip_mask(0x1668428, 52)) == 23495720);
+ assert(unsigned(flip_mask(0x1668430, 52)) == 23495728);
+ assert(unsigned(flip_mask(0x1668438, 52)) == 23495736);
+ assert(unsigned(flip_mask(0x1668440, 52)) == 23495744);
+ assert(unsigned(flip_mask(0x1668448, 52)) == 23495752);
+ assert(unsigned(flip_mask(0x1668450, 52)) == 23495760);
+ assert(unsigned(flip_mask(0x1668458, 52)) == 23495768);
+ assert(unsigned(flip_mask(0x1668460, 52)) == 23495776);
+ assert(unsigned(flip_mask(0x1668468, 52)) == 23495784);
+ assert(unsigned(flip_mask(0x1668470, 52)) == 23495792);
+ assert(unsigned(flip_mask(0x1668478, 52)) == 23495800);
+ assert(unsigned(flip_mask(0x1668480, 52)) == 23495808);
+ assert(unsigned(flip_mask(0x1668488, 52)) == 23495816);
+ assert(unsigned(flip_mask(0x1668490, 52)) == 23495824);
+ assert(unsigned(flip_mask(0x1668498, 52)) == 23495832);
+ assert(unsigned(flip_mask(0x16684a0, 52)) == 23495840);
+ assert(unsigned(flip_mask(0x16684a8, 52)) == 23495848);
+ assert(unsigned(flip_mask(0x16684b0, 52)) == 23495856);
+ assert(unsigned(flip_mask(0x16684b8, 52)) == 23495864);
+ assert(unsigned(flip_mask(0x16684c0, 52)) == 23495872);
+ assert(unsigned(flip_mask(0x16684c8, 52)) == 23495880);
+ assert(unsigned(flip_mask(0x16684d0, 52)) == 23495888);
+ assert(unsigned(flip_mask(0x16684d8, 52)) == 23495896);
+ assert(unsigned(flip_mask(0x16684e0, 52)) == 23495904);
+ assert(unsigned(flip_mask(0x16684e8, 52)) == 23495912);
+ assert(unsigned(flip_mask(0x16684f0, 52)) == 23495920);
+ assert(unsigned(flip_mask(0x16684f8, 52)) == 23495928);
+ assert(unsigned(flip_mask(0x1668500, 52)) == 23495936);
+ assert(unsigned(flip_mask(0x1668508, 52)) == 23495944);
+ assert(unsigned(flip_mask(0x1668510, 52)) == 23495952);
+ assert(unsigned(flip_mask(0x1668518, 52)) == 23495960);
+ assert(unsigned(flip_mask(0x1668520, 52)) == 23495968);
+ assert(unsigned(flip_mask(0x1668528, 52)) == 23495976);
+ assert(unsigned(flip_mask(0x1668530, 52)) == 23495984);
+ assert(unsigned(flip_mask(0x1668538, 52)) == 23495992);
+ assert(unsigned(flip_mask(0x1668540, 52)) == 23496000);
+ assert(unsigned(flip_mask(0x1668548, 52)) == 23496008);
+ assert(unsigned(flip_mask(0x1668550, 52)) == 23496016);
+ assert(unsigned(flip_mask(0x1668558, 52)) == 23496024);
+ assert(unsigned(flip_mask(0x1668560, 52)) == 23496032);
+ assert(unsigned(flip_mask(0x1668568, 52)) == 23496040);
+ assert(unsigned(flip_mask(0x1668570, 52)) == 23496048);
+ assert(unsigned(flip_mask(0x1668578, 52)) == 23496056);
+ assert(unsigned(flip_mask(0x1668580, 52)) == 23496064);
+ assert(unsigned(flip_mask(0x1668588, 52)) == 23496072);
+ assert(unsigned(flip_mask(0x1668590, 52)) == 23496080);
+ assert(unsigned(flip_mask(0x1668598, 52)) == 23496088);
+ assert(unsigned(flip_mask(0x16685a0, 52)) == 23496096);
+ assert(unsigned(flip_mask(0x16685a8, 52)) == 23496104);
+ assert(unsigned(flip_mask(0x16685b0, 52)) == 23496112);
+ assert(unsigned(flip_mask(0x16685b8, 52)) == 23496120);
+ assert(unsigned(flip_mask(0x16685c0, 52)) == 23496128);
+ assert(unsigned(flip_mask(0x16685c8, 52)) == 23496136);
+ assert(unsigned(flip_mask(0x16685d0, 52)) == 23496144);
+ assert(unsigned(flip_mask(0x16685d8, 52)) == 23496152);
+ assert(unsigned(flip_mask(0x16685e0, 52)) == 23496160);
+ assert(unsigned(flip_mask(0x16685e8, 52)) == 23496168);
+ assert(unsigned(flip_mask(0x16685f0, 52)) == 23496176);
+ assert(unsigned(flip_mask(0x16685f8, 52)) == 23496184);
+ assert(unsigned(flip_mask(0x1668600, 52)) == 23496192);
+ assert(unsigned(flip_mask(0x1668608, 52)) == 23496200);
+ assert(unsigned(flip_mask(0x1668610, 52)) == 23496208);
+ assert(unsigned(flip_mask(0x1668618, 52)) == 23496216);
+ assert(unsigned(flip_mask(0x1668620, 52)) == 23496224);
+ assert(unsigned(flip_mask(0x1668628, 52)) == 23496232);
+ assert(unsigned(flip_mask(0x1668630, 52)) == 23496240);
+ assert(unsigned(flip_mask(0x1668638, 52)) == 23496248);
+ assert(unsigned(flip_mask(0x1668640, 52)) == 23496256);
+ assert(unsigned(flip_mask(0x1668648, 52)) == 23496264);
+ assert(unsigned(flip_mask(0x1668650, 52)) == 23496272);
+ assert(unsigned(flip_mask(0x1668658, 52)) == 23496280);
+ assert(unsigned(flip_mask(0x1668660, 52)) == 23496288);
+ assert(unsigned(flip_mask(0x1668668, 52)) == 23496296);
+ assert(unsigned(flip_mask(0x1668670, 52)) == 23496304);
+ assert(unsigned(flip_mask(0x1668678, 52)) == 23496312);
+ assert(unsigned(flip_mask(0x1668680, 52)) == 23496320);
+ assert(unsigned(flip_mask(0x1668688, 52)) == 23496328);
+ assert(unsigned(flip_mask(0x1668690, 52)) == 23496336);
+ assert(unsigned(flip_mask(0x1668698, 52)) == 23496344);
+ assert(unsigned(flip_mask(0x16686a0, 52)) == 23496352);
+ assert(unsigned(flip_mask(0x16686a8, 52)) == 23496360);
+ assert(unsigned(flip_mask(0x16686b0, 52)) == 23496368);
+ assert(unsigned(flip_mask(0x16686b8, 52)) == 23496376);
+ assert(unsigned(flip_mask(0x16686c0, 52)) == 23496384);
+ assert(unsigned(flip_mask(0x16686c8, 52)) == 23496392);
+ assert(unsigned(flip_mask(0x16686d0, 52)) == 23496400);
+ assert(unsigned(flip_mask(0x16686d8, 52)) == 23496408);
+ assert(unsigned(flip_mask(0x16686e0, 52)) == 23496416);
+ assert(unsigned(flip_mask(0x16686e8, 52)) == 23496424);
+ assert(unsigned(flip_mask(0x16686f0, 52)) == 23496432);
+ assert(unsigned(flip_mask(0x16686f8, 52)) == 23496440);
+ assert(unsigned(flip_mask(0x1668700, 52)) == 23496448);
+ assert(unsigned(flip_mask(0x1668708, 52)) == 23496456);
+ assert(unsigned(flip_mask(0x1668710, 52)) == 23496464);
+ assert(unsigned(flip_mask(0x1668718, 52)) == 23496472);
+ assert(unsigned(flip_mask(0x1668720, 52)) == 23496480);
+ assert(unsigned(flip_mask(0x1668728, 52)) == 23496488);
+ assert(unsigned(flip_mask(0x1668730, 52)) == 23496496);
+ assert(unsigned(flip_mask(0x1668738, 52)) == 23496504);
+ assert(unsigned(flip_mask(0x1668740, 52)) == 23496512);
+ assert(unsigned(flip_mask(0x1668748, 52)) == 23496520);
+ assert(unsigned(flip_mask(0x1668750, 52)) == 23496528);
+ assert(unsigned(flip_mask(0x1668758, 52)) == 23496536);
+ assert(unsigned(flip_mask(0x1668760, 52)) == 23496544);
+ assert(unsigned(flip_mask(0x1668768, 52)) == 23496552);
+ assert(unsigned(flip_mask(0x1668770, 52)) == 23496560);
+ assert(unsigned(flip_mask(0x1668778, 52)) == 23496568);
+ assert(unsigned(flip_mask(0x1668780, 52)) == 23496576);
+ assert(unsigned(flip_mask(0x1668788, 52)) == 23496584);
+ assert(unsigned(flip_mask(0x1668790, 52)) == 23496592);
+ assert(unsigned(flip_mask(0x1668798, 52)) == 23496600);
+ assert(unsigned(flip_mask(0x16687a0, 52)) == 23496608);
+ assert(unsigned(flip_mask(0x16687a8, 52)) == 23496616);
+ assert(unsigned(flip_mask(0x16687b0, 52)) == 23496624);
+ assert(unsigned(flip_mask(0x16687b8, 52)) == 23496632);
+ assert(unsigned(flip_mask(0x16687c0, 52)) == 23496640);
+ assert(unsigned(flip_mask(0x16687c8, 52)) == 23496648);
+ assert(unsigned(flip_mask(0x16687d0, 52)) == 23496656);
+ assert(unsigned(flip_mask(0x16687d8, 52)) == 23496664);
+ assert(unsigned(flip_mask(0x16687e0, 52)) == 23496672);
+ assert(unsigned(flip_mask(0x16687e8, 52)) == 23496680);
+ assert(unsigned(flip_mask(0x16687f0, 52)) == 23496688);
+ assert(unsigned(flip_mask(0x16687f8, 52)) == 23496696);
+ assert(unsigned(flip_mask(0x1668800, 52)) == 23496704);
+ assert(unsigned(flip_mask(0x1668808, 52)) == 23496712);
+ assert(unsigned(flip_mask(0x1668810, 52)) == 23496720);
+ assert(unsigned(flip_mask(0x1668818, 52)) == 23496728);
+ assert(unsigned(flip_mask(0x1668820, 52)) == 23496736);
+ assert(unsigned(flip_mask(0x1668828, 52)) == 23496744);
+ assert(unsigned(flip_mask(0x1668830, 52)) == 23496752);
+ assert(unsigned(flip_mask(0x1668838, 52)) == 23496760);
+ assert(unsigned(flip_mask(0x1668840, 52)) == 23496768);
+ assert(unsigned(flip_mask(0x1668848, 52)) == 23496776);
+ assert(unsigned(flip_mask(0x1668850, 52)) == 23496784);
+ assert(unsigned(flip_mask(0x1668858, 52)) == 23496792);
+ assert(unsigned(flip_mask(0x1668860, 52)) == 23496800);
+ assert(unsigned(flip_mask(0x1668868, 52)) == 23496808);
+ assert(unsigned(flip_mask(0x1668870, 52)) == 23496816);
+ assert(unsigned(flip_mask(0x1668878, 52)) == 23496824);
+ assert(unsigned(flip_mask(0x1668880, 52)) == 23496832);
+ assert(unsigned(flip_mask(0x1668888, 52)) == 23496840);
+ assert(unsigned(flip_mask(0x1668890, 52)) == 23496848);
+ assert(unsigned(flip_mask(0x1668898, 52)) == 23496856);
+ assert(unsigned(flip_mask(0x16688a0, 52)) == 23496864);
+ assert(unsigned(flip_mask(0x16688a8, 52)) == 23496872);
+ assert(unsigned(flip_mask(0x16688b0, 52)) == 23496880);
+ assert(unsigned(flip_mask(0x16688b8, 52)) == 23496888);
+ assert(unsigned(flip_mask(0x16688c0, 52)) == 23496896);
+ assert(unsigned(flip_mask(0x16688c8, 52)) == 23496904);
+ assert(unsigned(flip_mask(0x16688d0, 52)) == 23496912);
+ assert(unsigned(flip_mask(0x16688d8, 52)) == 23496920);
+ assert(unsigned(flip_mask(0x16688e0, 52)) == 23496928);
+ assert(unsigned(flip_mask(0x16688e8, 52)) == 23496936);
+ assert(unsigned(flip_mask(0x16688f0, 52)) == 23496944);
+ assert(unsigned(flip_mask(0x16688f8, 52)) == 23496952);
+ assert(unsigned(flip_mask(0x1668900, 52)) == 23496960);
+ assert(unsigned(flip_mask(0x1668908, 52)) == 23496968);
+ assert(unsigned(flip_mask(0x1668910, 52)) == 23496976);
+ assert(unsigned(flip_mask(0x1668918, 52)) == 23496984);
+ assert(unsigned(flip_mask(0x1668920, 52)) == 23496992);
+ assert(unsigned(flip_mask(0x1668928, 52)) == 23497000);
+ assert(unsigned(flip_mask(0x1668930, 52)) == 23497008);
+ assert(unsigned(flip_mask(0x1668938, 52)) == 23497016);
+ assert(unsigned(flip_mask(0x1668940, 52)) == 23497024);
+ assert(unsigned(flip_mask(0x1668948, 52)) == 23497032);
+ assert(unsigned(flip_mask(0x1668950, 52)) == 23497040);
+ assert(unsigned(flip_mask(0x1668958, 52)) == 23497048);
+ assert(unsigned(flip_mask(0x1668960, 52)) == 23497056);
+ assert(unsigned(flip_mask(0x1668968, 52)) == 23497064);
+ assert(unsigned(flip_mask(0x1668970, 52)) == 23497072);
+ assert(unsigned(flip_mask(0x1668978, 52)) == 23497080);
+ assert(unsigned(flip_mask(0x1668980, 52)) == 23497088);
+ assert(unsigned(flip_mask(0x1668988, 52)) == 23497096);
+ assert(unsigned(flip_mask(0x1668990, 52)) == 23497104);
+ assert(unsigned(flip_mask(0x1668998, 52)) == 23497112);
+ assert(unsigned(flip_mask(0x16689a0, 52)) == 23497120);
+ assert(unsigned(flip_mask(0x16689a8, 52)) == 23497128);
+ assert(unsigned(flip_mask(0x16689b0, 52)) == 23497136);
+ assert(unsigned(flip_mask(0x16689b8, 52)) == 23497144);
+ assert(unsigned(flip_mask(0x16689c0, 52)) == 23497152);
+ assert(unsigned(flip_mask(0x16689c8, 52)) == 23497160);
+ assert(unsigned(flip_mask(0x16689d0, 52)) == 23497168);
+ assert(unsigned(flip_mask(0x16689d8, 52)) == 23497176);
+ assert(unsigned(flip_mask(0x16689e0, 52)) == 23497184);
+ assert(unsigned(flip_mask(0x16689e8, 52)) == 23497192);
+ assert(unsigned(flip_mask(0x16689f0, 52)) == 23497200);
+ assert(unsigned(flip_mask(0x16689f8, 52)) == 23497208);
+ assert(unsigned(flip_mask(0x1668a00, 52)) == 23497216);
+ assert(unsigned(flip_mask(0x1668a08, 52)) == 23497224);
+ assert(unsigned(flip_mask(0x1668a10, 52)) == 23497232);
+ assert(unsigned(flip_mask(0x1668a18, 52)) == 23497240);
+ assert(unsigned(flip_mask(0x1668a20, 52)) == 23497248);
+ assert(unsigned(flip_mask(0x1668a28, 52)) == 23497256);
+ assert(unsigned(flip_mask(0x1668a30, 52)) == 23497264);
+ assert(unsigned(flip_mask(0x1668a38, 52)) == 23497272);
+ assert(unsigned(flip_mask(0x1668a40, 52)) == 23497280);
+ assert(unsigned(flip_mask(0x1668a48, 52)) == 23497288);
+ assert(unsigned(flip_mask(0x1668a50, 52)) == 23497296);
+ assert(unsigned(flip_mask(0x1668a58, 52)) == 23497304);
+ assert(unsigned(flip_mask(0x1668a60, 52)) == 23497312);
+ assert(unsigned(flip_mask(0x1668a68, 52)) == 23497320);
+ assert(unsigned(flip_mask(0x1668a70, 52)) == 23497328);
+ assert(unsigned(flip_mask(0x1668a78, 52)) == 23497336);
+ assert(unsigned(flip_mask(0x1668a80, 52)) == 23497344);
+ assert(unsigned(flip_mask(0x1668a88, 52)) == 23497352);
+ assert(unsigned(flip_mask(0x1668a90, 52)) == 23497360);
+ assert(unsigned(flip_mask(0x1668a98, 52)) == 23497368);
+ assert(unsigned(flip_mask(0x1668aa0, 52)) == 23497376);
+ assert(unsigned(flip_mask(0x1668aa8, 52)) == 23497384);
+ assert(unsigned(flip_mask(0x1668ab0, 52)) == 23497392);
+ assert(unsigned(flip_mask(0x1668ab8, 52)) == 23497400);
+ assert(unsigned(flip_mask(0x1668ac0, 52)) == 23497408);
+ assert(unsigned(flip_mask(0x1668ac8, 52)) == 23497416);
+ assert(unsigned(flip_mask(0x1668ad0, 52)) == 23497424);
+ assert(unsigned(flip_mask(0x1668ad8, 52)) == 23497432);
+ assert(unsigned(flip_mask(0x1668ae0, 52)) == 23497440);
+ assert(unsigned(flip_mask(0x1668ae8, 52)) == 23497448);
+ assert(unsigned(flip_mask(0x1668af0, 52)) == 23497456);
+ assert(unsigned(flip_mask(0x1668af8, 52)) == 23497464);
+ assert(unsigned(flip_mask(0x1668b00, 52)) == 23497472);
+ assert(unsigned(flip_mask(0x1668b08, 52)) == 23497480);
+ assert(unsigned(flip_mask(0x1668b10, 52)) == 23497488);
+ assert(unsigned(flip_mask(0x1668b18, 52)) == 23497496);
+ assert(unsigned(flip_mask(0x1668b20, 52)) == 23497504);
+ assert(unsigned(flip_mask(0x1668b28, 52)) == 23497512);
+ assert(unsigned(flip_mask(0x1668b30, 52)) == 23497520);
+ assert(unsigned(flip_mask(0x1668b38, 52)) == 23497528);
+ assert(unsigned(flip_mask(0x1668b40, 52)) == 23497536);
+ assert(unsigned(flip_mask(0x1668b48, 52)) == 23497544);
+ assert(unsigned(flip_mask(0x1668b50, 52)) == 23497552);
+ assert(unsigned(flip_mask(0x1668b58, 52)) == 23497560);
+ assert(unsigned(flip_mask(0x1668b60, 52)) == 23497568);
+ assert(unsigned(flip_mask(0x1668b68, 52)) == 23497576);
+ assert(unsigned(flip_mask(0x1668b70, 52)) == 23497584);
+ assert(unsigned(flip_mask(0x1668b78, 52)) == 23497592);
+ assert(unsigned(flip_mask(0x1668b80, 52)) == 23497600);
+ assert(unsigned(flip_mask(0x1668b88, 52)) == 23497608);
+ assert(unsigned(flip_mask(0x1668b90, 52)) == 23497616);
+ assert(unsigned(flip_mask(0x1668b98, 52)) == 23497624);
+ assert(unsigned(flip_mask(0x1668ba0, 52)) == 23497632);
+ assert(unsigned(flip_mask(0x1668ba8, 52)) == 23497640);
+ assert(unsigned(flip_mask(0x1668bb0, 52)) == 23497648);
+ assert(unsigned(flip_mask(0x1668bb8, 52)) == 23497656);
+ assert(unsigned(flip_mask(0x1668bc0, 52)) == 23497664);
+ assert(unsigned(flip_mask(0x1668bc8, 52)) == 23497672);
+ assert(unsigned(flip_mask(0x1668bd0, 52)) == 23497680);
+ assert(unsigned(flip_mask(0x1668bd8, 52)) == 23497688);
+ assert(unsigned(flip_mask(0x1668be0, 52)) == 23497696);
+ assert(unsigned(flip_mask(0x1668be8, 52)) == 23497704);
+ assert(unsigned(flip_mask(0x1668bf0, 52)) == 23497712);
+ assert(unsigned(flip_mask(0x1668bf8, 52)) == 23497720);
+ assert(unsigned(flip_mask(0x1668c00, 52)) == 23497728);
+ assert(unsigned(flip_mask(0x1668c08, 52)) == 23497736);
+ assert(unsigned(flip_mask(0x1668c10, 52)) == 23497744);
+ assert(unsigned(flip_mask(0x1668c18, 52)) == 23497752);
+ assert(unsigned(flip_mask(0x1668c20, 52)) == 23497760);
+ assert(unsigned(flip_mask(0x1668c28, 52)) == 23497768);
+ assert(unsigned(flip_mask(0x1668c30, 52)) == 23497776);
+ assert(unsigned(flip_mask(0x1668c38, 52)) == 23497784);
+ assert(unsigned(flip_mask(0x1668c40, 52)) == 23497792);
+ assert(unsigned(flip_mask(0x1668c48, 52)) == 23497800);
+ assert(unsigned(flip_mask(0x1668c50, 52)) == 23497808);
+ assert(unsigned(flip_mask(0x1668c58, 52)) == 23497816);
+ assert(unsigned(flip_mask(0x1668c60, 52)) == 23497824);
+ assert(unsigned(flip_mask(0x1668c68, 52)) == 23497832);
+ assert(unsigned(flip_mask(0x1668c70, 52)) == 23497840);
+ assert(unsigned(flip_mask(0x1668c78, 52)) == 23497848);
+ assert(unsigned(flip_mask(0x1668c80, 52)) == 23497856);
+ assert(unsigned(flip_mask(0x1668c88, 52)) == 23497864);
+ assert(unsigned(flip_mask(0x1668c90, 52)) == 23497872);
+ assert(unsigned(flip_mask(0x1668c98, 52)) == 23497880);
+ assert(unsigned(flip_mask(0x1668ca0, 52)) == 23497888);
+ assert(unsigned(flip_mask(0x1668ca8, 52)) == 23497896);
+ assert(unsigned(flip_mask(0x1668cb0, 52)) == 23497904);
+ assert(unsigned(flip_mask(0x1668cb8, 52)) == 23497912);
+ assert(unsigned(flip_mask(0x1668cc0, 52)) == 23497920);
+ assert(unsigned(flip_mask(0x1668cc8, 52)) == 23497928);
+ assert(unsigned(flip_mask(0x1668cd0, 52)) == 23497936);
+ assert(unsigned(flip_mask(0x1668cd8, 52)) == 23497944);
+ assert(unsigned(flip_mask(0x1668ce0, 52)) == 23497952);
+ assert(unsigned(flip_mask(0x1668ce8, 52)) == 23497960);
+ assert(unsigned(flip_mask(0x1668cf0, 52)) == 23497968);
+ assert(unsigned(flip_mask(0x1668cf8, 52)) == 23497976);
+ assert(unsigned(flip_mask(0x1668d00, 52)) == 23497984);
+ assert(unsigned(flip_mask(0x1668d08, 52)) == 23497992);
+ assert(unsigned(flip_mask(0x1668d10, 52)) == 23498000);
+ assert(unsigned(flip_mask(0x1668d18, 52)) == 23498008);
+ assert(unsigned(flip_mask(0x1668d20, 52)) == 23498016);
+ assert(unsigned(flip_mask(0x1668d28, 52)) == 23498024);
+ assert(unsigned(flip_mask(0x1668d30, 52)) == 23498032);
+ assert(unsigned(flip_mask(0x1668d38, 52)) == 23498040);
+ assert(unsigned(flip_mask(0x1668d40, 52)) == 23498048);
+ assert(unsigned(flip_mask(0x1668d48, 52)) == 23498056);
+ assert(unsigned(flip_mask(0x1668d50, 52)) == 23498064);
+ assert(unsigned(flip_mask(0x1668d58, 52)) == 23498072);
+ assert(unsigned(flip_mask(0x1668d60, 52)) == 23498080);
+ assert(unsigned(flip_mask(0x1668d68, 52)) == 23498088);
+ assert(unsigned(flip_mask(0x1668d70, 52)) == 23498096);
+ assert(unsigned(flip_mask(0x1668d78, 52)) == 23498104);
+ assert(unsigned(flip_mask(0x1668d80, 52)) == 23498112);
+ assert(unsigned(flip_mask(0x1668d88, 52)) == 23498120);
+ assert(unsigned(flip_mask(0x1668d90, 52)) == 23498128);
+ assert(unsigned(flip_mask(0x1668d98, 52)) == 23498136);
+ assert(unsigned(flip_mask(0x1668da0, 52)) == 23498144);
+ assert(unsigned(flip_mask(0x1668da8, 52)) == 23498152);
+ assert(unsigned(flip_mask(0x1668db0, 52)) == 23498160);
+ assert(unsigned(flip_mask(0x1668db8, 52)) == 23498168);
+ assert(unsigned(flip_mask(0x1668dc0, 52)) == 23498176);
+ assert(unsigned(flip_mask(0x1668dc8, 52)) == 23498184);
+ assert(unsigned(flip_mask(0x1668dd0, 52)) == 23498192);
+ assert(unsigned(flip_mask(0x1668dd8, 52)) == 23498200);
+ assert(unsigned(flip_mask(0x1668de0, 52)) == 23498208);
+ assert(unsigned(flip_mask(0x1668de8, 52)) == 23498216);
+ assert(unsigned(flip_mask(0x1668df0, 52)) == 23498224);
+ assert(unsigned(flip_mask(0x17000, 52)) == 94208);
+ assert(unsigned(flip_mask(0x17030, 52)) == 94256);
+ assert(unsigned(flip_mask(0x1800014, 52)) == 25165844);
+ assert(unsigned(flip_mask(0x1800018, 52)) == 25165848);
+ assert(unsigned(flip_mask(0x180001c, 52)) == 25165852);
+ assert(unsigned(flip_mask(0x1800020, 52)) == 25165856);
+ assert(unsigned(flip_mask(0x1800030, 52)) == 25165872);
+ assert(unsigned(flip_mask(0x1800054, 52)) == 25165908);
+ assert(unsigned(flip_mask(0x1800058, 52)) == 25165912);
+ assert(unsigned(flip_mask(0x1800068, 52)) == 25165928);
+ assert(unsigned(flip_mask(0x18000c8, 52)) == 25166024);
+ assert(unsigned(flip_mask(0x18002a0, 52)) == 25166496);
+ assert(unsigned(flip_mask(0x1802940, 52)) == 25176384);
+ assert(unsigned(flip_mask(0x1806b10, 52)) == 25193232);
+ assert(unsigned(flip_mask(0x1806b14, 52)) == 25193236);
+ assert(unsigned(flip_mask(0x1808d20, 52)) == 25201952);
+ assert(unsigned(flip_mask(0x1808d21, 52)) == 25201953);
+ assert(unsigned(flip_mask(0x1808d24, 52)) == 25201956);
+ assert(unsigned(flip_mask(0x1808d28, 52)) == 25201960);
+ assert(unsigned(flip_mask(0x1808d30, 52)) == 25201968);
+ assert(unsigned(flip_mask(0x1808d38, 52)) == 25201976);
+ assert(unsigned(flip_mask(0x1808d40, 52)) == 25201984);
+ assert(unsigned(flip_mask(0x1808d48, 52)) == 25201992);
+ assert(unsigned(flip_mask(0x1808d50, 52)) == 25202000);
+ assert(unsigned(flip_mask(0x1808d51, 52)) == 25202001);
+ assert(unsigned(flip_mask(0x1808d54, 52)) == 25202004);
+ assert(unsigned(flip_mask(0x1808d58, 52)) == 25202008);
+ assert(unsigned(flip_mask(0x1808d5c, 52)) == 25202012);
+ assert(unsigned(flip_mask(0x1808d60, 52)) == 25202016);
+ assert(unsigned(flip_mask(0x1808d64, 52)) == 25202020);
+ assert(unsigned(flip_mask(0x1808d68, 52)) == 25202024);
+ assert(unsigned(flip_mask(0x1808d6c, 52)) == 25202028);
+ assert(unsigned(flip_mask(0x1808d70, 52)) == 25202032);
+ assert(unsigned(flip_mask(0x1808d74, 52)) == 25202036);
+ assert(unsigned(flip_mask(0x1808d78, 52)) == 25202040);
+ assert(unsigned(flip_mask(0x1808d7c, 52)) == 25202044);
+ assert(unsigned(flip_mask(0x1808d80, 52)) == 25202048);
+ assert(unsigned(flip_mask(0x1808d84, 52)) == 25202052);
+ assert(unsigned(flip_mask(0x1808d88, 52)) == 25202056);
+ assert(unsigned(flip_mask(0x1808d8c, 52)) == 25202060);
+ assert(unsigned(flip_mask(0x1808d90, 52)) == 25202064);
+ assert(unsigned(flip_mask(0x1808d94, 52)) == 25202068);
+ assert(unsigned(flip_mask(0x1808d98, 52)) == 25202072);
+ assert(unsigned(flip_mask(0x1808d9c, 52)) == 25202076);
+ assert(unsigned(flip_mask(0x1808da0, 52)) == 25202080);
+ assert(unsigned(flip_mask(0x1808da4, 52)) == 25202084);
+ assert(unsigned(flip_mask(0x1808da8, 52)) == 25202088);
+ assert(unsigned(flip_mask(0x1808dac, 52)) == 25202092);
+ assert(unsigned(flip_mask(0x1808db0, 52)) == 25202096);
+ assert(unsigned(flip_mask(0x1808db4, 52)) == 25202100);
+ assert(unsigned(flip_mask(0x1808db8, 52)) == 25202104);
+ assert(unsigned(flip_mask(0x1808dbc, 52)) == 25202108);
+ assert(unsigned(flip_mask(0x1808dc0, 52)) == 25202112);
+ assert(unsigned(flip_mask(0x1808dc4, 52)) == 25202116);
+ assert(unsigned(flip_mask(0x1808dc8, 52)) == 25202120);
+ assert(unsigned(flip_mask(0x1808dcc, 52)) == 25202124);
+ assert(unsigned(flip_mask(0x1808dd0, 52)) == 25202128);
+ assert(unsigned(flip_mask(0x1808dd4, 52)) == 25202132);
+ assert(unsigned(flip_mask(0x1808dd8, 52)) == 25202136);
+ assert(unsigned(flip_mask(0x1808ddc, 52)) == 25202140);
+ assert(unsigned(flip_mask(0x1808de0, 52)) == 25202144);
+ assert(unsigned(flip_mask(0x1808de4, 52)) == 25202148);
+ assert(unsigned(flip_mask(0x1808de8, 52)) == 25202152);
+ assert(unsigned(flip_mask(0x1808dec, 52)) == 25202156);
+ assert(unsigned(flip_mask(0x1808df0, 52)) == 25202160);
+ assert(unsigned(flip_mask(0x1808df8, 52)) == 25202168);
+ assert(unsigned(flip_mask(0x1808e00, 52)) == 25202176);
+ assert(unsigned(flip_mask(0x1808e08, 52)) == 25202184);
+ assert(unsigned(flip_mask(0x1808e10, 52)) == 25202192);
+ assert(unsigned(flip_mask(0x1808e18, 52)) == 25202200);
+ assert(unsigned(flip_mask(0x1808e20, 52)) == 25202208);
+ assert(unsigned(flip_mask(0x1808e28, 52)) == 25202216);
+ assert(unsigned(flip_mask(0x1808e30, 52)) == 25202224);
+ assert(unsigned(flip_mask(0x1808e38, 52)) == 25202232);
+ assert(unsigned(flip_mask(0x1c428, 52)) == 115752);
+ assert(unsigned(flip_mask(0x2000011, 52)) == 33554449);
+ assert(unsigned(flip_mask(0x2000012, 52)) == 33554450);
+ assert(unsigned(flip_mask(0x2000013, 52)) == 33554451);
+ assert(unsigned(flip_mask(0x2000018, 52)) == 33554456);
+ assert(unsigned(flip_mask(0x200003b, 52)) == 33554491);
+ assert(unsigned(flip_mask(0x200003c, 52)) == 33554492);
+ assert(unsigned(flip_mask(0x200003d, 52)) == 33554493);
+ assert(unsigned(flip_mask(0x2000040, 52)) == 33554496);
+ assert(unsigned(flip_mask(0x200004c, 52)) == 33554508);
+ assert(unsigned(flip_mask(0x200004d, 52)) == 33554509);
+ assert(unsigned(flip_mask(0x200004e, 52)) == 33554510);
+ assert(unsigned(flip_mask(0x2000050, 52)) == 33554512);
+ assert(unsigned(flip_mask(0x20002c0, 52)) == 33555136);
+ assert(unsigned(flip_mask(0x20002c8, 52)) == 33555144);
+ assert(unsigned(flip_mask(0x20002d0, 52)) == 33555152);
+ assert(unsigned(flip_mask(0x20002d8, 52)) == 33555160);
+ assert(unsigned(flip_mask(0x20002e0, 52)) == 33555168);
+ assert(unsigned(flip_mask(0x20002e8, 52)) == 33555176);
+ assert(unsigned(flip_mask(0x20002f0, 52)) == 33555184);
+ assert(unsigned(flip_mask(0x20002f8, 52)) == 33555192);
+ assert(unsigned(flip_mask(0x2000300, 52)) == 33555200);
+ assert(unsigned(flip_mask(0x2000310, 52)) == 33555216);
+ assert(unsigned(flip_mask(0x2000318, 52)) == 33555224);
+ assert(unsigned(flip_mask(0x2000320, 52)) == 33555232);
+ assert(unsigned(flip_mask(0x2000328, 52)) == 33555240);
+ assert(unsigned(flip_mask(0x2000330, 52)) == 33555248);
+ assert(unsigned(flip_mask(0x2000338, 52)) == 33555256);
+ assert(unsigned(flip_mask(0x2000340, 52)) == 33555264);
+ assert(unsigned(flip_mask(0x2000350, 52)) == 33555280);
+ assert(unsigned(flip_mask(0x2000358, 52)) == 33555288);
+ assert(unsigned(flip_mask(0x2000360, 52)) == 33555296);
+ assert(unsigned(flip_mask(0x2000368, 52)) == 33555304);
+ assert(unsigned(flip_mask(0x20003a0, 52)) == 33555360);
+ assert(unsigned(flip_mask(0x20003a8, 52)) == 33555368);
+ assert(unsigned(flip_mask(0x20003b0, 52)) == 33555376);
+ assert(unsigned(flip_mask(0x20003b4, 52)) == 33555380);
+ assert(unsigned(flip_mask(0x20003b8, 52)) == 33555384);
+ assert(unsigned(flip_mask(0x20003bc, 52)) == 33555388);
+ assert(unsigned(flip_mask(0x20003c0, 52)) == 33555392);
+ assert(unsigned(flip_mask(0x20003c4, 52)) == 33555396);
+ assert(unsigned(flip_mask(0x20003c8, 52)) == 33555400);
+ assert(unsigned(flip_mask(0x20003cc, 52)) == 33555404);
+ assert(unsigned(flip_mask(0x20003d0, 52)) == 33555408);
+ assert(unsigned(flip_mask(0x20003d4, 52)) == 33555412);
+ assert(unsigned(flip_mask(0x20003d8, 52)) == 33555416);
+ assert(unsigned(flip_mask(0x20003dc, 52)) == 33555420);
+ assert(unsigned(flip_mask(0x20003e0, 52)) == 33555424);
+ assert(unsigned(flip_mask(0x20003e4, 52)) == 33555428);
+ assert(unsigned(flip_mask(0x20003e8, 52)) == 33555432);
+ assert(unsigned(flip_mask(0x20003ec, 52)) == 33555436);
+ assert(unsigned(flip_mask(0x20003f0, 52)) == 33555440);
+ assert(unsigned(flip_mask(0x20003f8, 52)) == 33555448);
+ assert(unsigned(flip_mask(0x2000400, 52)) == 33555456);
+ assert(unsigned(flip_mask(0x2000408, 52)) == 33555464);
+ assert(unsigned(flip_mask(0x2000410, 52)) == 33555472);
+ assert(unsigned(flip_mask(0x2000418, 52)) == 33555480);
+ assert(unsigned(flip_mask(0x2000420, 52)) == 33555488);
+ assert(unsigned(flip_mask(0x2000428, 52)) == 33555496);
+ assert(unsigned(flip_mask(0x2000430, 52)) == 33555504);
+ assert(unsigned(flip_mask(0x2000438, 52)) == 33555512);
+ assert(unsigned(flip_mask(0x2000440, 52)) == 33555520);
+ assert(unsigned(flip_mask(0x2000448, 52)) == 33555528);
+ assert(unsigned(flip_mask(0x2000450, 52)) == 33555536);
+ assert(unsigned(flip_mask(0x2000458, 52)) == 33555544);
+ assert(unsigned(flip_mask(0x2008060, 52)) == 33587296);
+ assert(unsigned(flip_mask(0x2008064, 52)) == 33587300);
+ assert(unsigned(flip_mask(0x2008068, 52)) == 33587304);
+ assert(unsigned(flip_mask(0x2008070, 52)) == 33587312);
+ assert(unsigned(flip_mask(0x2008078, 52)) == 33587320);
+ assert(unsigned(flip_mask(0x2008080, 52)) == 33587328);
+ assert(unsigned(flip_mask(0x2008140, 52)) == 33587520);
+ assert(unsigned(flip_mask(0x2008148, 52)) == 33587528);
+ assert(unsigned(flip_mask(0x2008248, 52)) == 33587784);
+ assert(unsigned(flip_mask(0x2008250, 52)) == 33587792);
+ assert(unsigned(flip_mask(0x2008a00, 52)) == 33589760);
+ assert(unsigned(flip_mask(0x2008a04, 52)) == 33589764);
+ assert(unsigned(flip_mask(0x2008a08, 52)) == 33589768);
+ assert(unsigned(flip_mask(0x2008a10, 52)) == 33589776);
+ assert(unsigned(flip_mask(0x2008a18, 52)) == 33589784);
+ assert(unsigned(flip_mask(0x2008a20, 52)) == 33589792);
+ assert(unsigned(flip_mask(0x2008a70, 52)) == 33589872);
+ assert(unsigned(flip_mask(0x2008a78, 52)) == 33589880);
+ assert(unsigned(flip_mask(0x2008b78, 52)) == 33590136);
+ assert(unsigned(flip_mask(0x2008b80, 52)) == 33590144);
+ assert(unsigned(flip_mask(0x200d880, 52)) == 33609856);
+ assert(unsigned(flip_mask(0x200d888, 52)) == 33609864);
+ assert(unsigned(flip_mask(0x200d890, 52)) == 33609872);
+ assert(unsigned(flip_mask(0x200d898, 52)) == 33609880);
+ assert(unsigned(flip_mask(0x200d8a0, 52)) == 33609888);
+ assert(unsigned(flip_mask(0x200d8a8, 52)) == 33609896);
+ assert(unsigned(flip_mask(0x200d8b0, 52)) == 33609904);
+ assert(unsigned(flip_mask(0x200d8b8, 52)) == 33609912);
+ assert(unsigned(flip_mask(0x200d8c0, 52)) == 33609920);
+ assert(unsigned(flip_mask(0x200d8c8, 52)) == 33609928);
+ assert(unsigned(flip_mask(0x200d8d0, 52)) == 33609936);
+ assert(unsigned(flip_mask(0x200d8d8, 52)) == 33609944);
+ assert(unsigned(flip_mask(0x200d8e0, 52)) == 33609952);
+ assert(unsigned(flip_mask(0x200d8e8, 52)) == 33609960);
+ assert(unsigned(flip_mask(0x200d8f0, 52)) == 33609968);
+ assert(unsigned(flip_mask(0x200d8f8, 52)) == 33609976);
+ assert(unsigned(flip_mask(0x200d900, 52)) == 33609984);
+ assert(unsigned(flip_mask(0x200d908, 52)) == 33609992);
+ assert(unsigned(flip_mask(0x200d960, 52)) == 33610080);
+ assert(unsigned(flip_mask(0x200d968, 52)) == 33610088);
+ assert(unsigned(flip_mask(0x200d970, 52)) == 33610096);
+ assert(unsigned(flip_mask(0x200d974, 52)) == 33610100);
+ assert(unsigned(flip_mask(0x200d978, 52)) == 33610104);
+ assert(unsigned(flip_mask(0x200d97c, 52)) == 33610108);
+ assert(unsigned(flip_mask(0x200d980, 52)) == 33610112);
+ assert(unsigned(flip_mask(0x200d984, 52)) == 33610116);
+ assert(unsigned(flip_mask(0x200d988, 52)) == 33610120);
+ assert(unsigned(flip_mask(0x200d98c, 52)) == 33610124);
+ assert(unsigned(flip_mask(0x200d990, 52)) == 33610128);
+ assert(unsigned(flip_mask(0x200d994, 52)) == 33610132);
+ assert(unsigned(flip_mask(0x200d998, 52)) == 33610136);
+ assert(unsigned(flip_mask(0x200d99c, 52)) == 33610140);
+ assert(unsigned(flip_mask(0x200d9a0, 52)) == 33610144);
+ assert(unsigned(flip_mask(0x200d9a4, 52)) == 33610148);
+ assert(unsigned(flip_mask(0x200d9a8, 52)) == 33610152);
+ assert(unsigned(flip_mask(0x200d9ac, 52)) == 33610156);
+ assert(unsigned(flip_mask(0x200d9b0, 52)) == 33610160);
+ assert(unsigned(flip_mask(0x200d9b8, 52)) == 33610168);
+ assert(unsigned(flip_mask(0x200d9c0, 52)) == 33610176);
+ assert(unsigned(flip_mask(0x200d9c8, 52)) == 33610184);
+ assert(unsigned(flip_mask(0x200d9d0, 52)) == 33610192);
+ assert(unsigned(flip_mask(0x200d9d8, 52)) == 33610200);
+ assert(unsigned(flip_mask(0x200d9e0, 52)) == 33610208);
+ assert(unsigned(flip_mask(0x200d9e8, 52)) == 33610216);
+ assert(unsigned(flip_mask(0x200d9f0, 52)) == 33610224);
+ assert(unsigned(flip_mask(0x200d9f8, 52)) == 33610232);
+ assert(unsigned(flip_mask(0x200da00, 52)) == 33610240);
+ assert(unsigned(flip_mask(0x200da08, 52)) == 33610248);
+ assert(unsigned(flip_mask(0x2015610, 52)) == 33642000);
+ assert(unsigned(flip_mask(0x2015618, 52)) == 33642008);
+ assert(unsigned(flip_mask(0x2015624, 52)) == 33642020);
+ assert(unsigned(flip_mask(0x2015628, 52)) == 33642024);
+ assert(unsigned(flip_mask(0x2015630, 52)) == 33642032);
+ assert(unsigned(flip_mask(0x2015638, 52)) == 33642040);
+ assert(unsigned(flip_mask(0x201563c, 52)) == 33642044);
+ assert(unsigned(flip_mask(0x2015640, 52)) == 33642048);
+ assert(unsigned(flip_mask(0x2015648, 52)) == 33642056);
+ assert(unsigned(flip_mask(0x2015650, 52)) == 33642064);
+ assert(unsigned(flip_mask(0x2015658, 52)) == 33642072);
+ assert(unsigned(flip_mask(0x2015668, 52)) == 33642088);
+ assert(unsigned(flip_mask(0x2015670, 52)) == 33642096);
+ assert(unsigned(flip_mask(0x2015678, 52)) == 33642104);
+ assert(unsigned(flip_mask(0x2015778, 52)) == 33642360);
+ assert(unsigned(flip_mask(0x2015780, 52)) == 33642368);
+ assert(unsigned(flip_mask(0x2015b50, 52)) == 33643344);
+ assert(unsigned(flip_mask(0x2015b58, 52)) == 33643352);
+ assert(unsigned(flip_mask(0x2015c58, 52)) == 33643608);
+ assert(unsigned(flip_mask(0x2015c60, 52)) == 33643616);
+ assert(unsigned(flip_mask(0x2019d80, 52)) == 33660288);
+ assert(unsigned(flip_mask(0x2019d84, 52)) == 33660292);
+ assert(unsigned(flip_mask(0x2019d88, 52)) == 33660296);
+ assert(unsigned(flip_mask(0x2019d8c, 52)) == 33660300);
+ assert(unsigned(flip_mask(0x2019d90, 52)) == 33660304);
+ assert(unsigned(flip_mask(0x2019d98, 52)) == 33660312);
+ assert(unsigned(flip_mask(0x2019da0, 52)) == 33660320);
+ assert(unsigned(flip_mask(0x2019da8, 52)) == 33660328);
+ assert(unsigned(flip_mask(0x2019db8, 52)) == 33660344);
+ assert(unsigned(flip_mask(0x2019dc0, 52)) == 33660352);
+ assert(unsigned(flip_mask(0x2019dc8, 52)) == 33660360);
+ assert(unsigned(flip_mask(0x2019ed0, 52)) == 33660624);
+ assert(unsigned(flip_mask(0x201a280, 52)) == 33661568);
+ assert(unsigned(flip_mask(0x201a284, 52)) == 33661572);
+ assert(unsigned(flip_mask(0x201a288, 52)) == 33661576);
+ assert(unsigned(flip_mask(0x201a28c, 52)) == 33661580);
+ assert(unsigned(flip_mask(0x201a290, 52)) == 33661584);
+ assert(unsigned(flip_mask(0x201a298, 52)) == 33661592);
+ assert(unsigned(flip_mask(0x201a2a0, 52)) == 33661600);
+ assert(unsigned(flip_mask(0x201a2a8, 52)) == 33661608);
+ assert(unsigned(flip_mask(0x201a2b8, 52)) == 33661624);
+ assert(unsigned(flip_mask(0x201a2c0, 52)) == 33661632);
+ assert(unsigned(flip_mask(0x201a2c8, 52)) == 33661640);
+ assert(unsigned(flip_mask(0x201a3c8, 52)) == 33661896);
+ assert(unsigned(flip_mask(0x201a3d0, 52)) == 33661904);
+ assert(unsigned(flip_mask(0x201a4f0, 52)) == 33662192);
+ assert(unsigned(flip_mask(0x201a780, 52)) == 33662848);
+ assert(unsigned(flip_mask(0x201a784, 52)) == 33662852);
+ assert(unsigned(flip_mask(0x201a788, 52)) == 33662856);
+ assert(unsigned(flip_mask(0x201a790, 52)) == 33662864);
+ assert(unsigned(flip_mask(0x201a798, 52)) == 33662872);
+ assert(unsigned(flip_mask(0x201a7a0, 52)) == 33662880);
+ assert(unsigned(flip_mask(0x201a7a4, 52)) == 33662884);
+ assert(unsigned(flip_mask(0x201a7ac, 52)) == 33662892);
+ assert(unsigned(flip_mask(0x201a7b0, 52)) == 33662896);
+ assert(unsigned(flip_mask(0x201a7b8, 52)) == 33662904);
+ assert(unsigned(flip_mask(0x201a7c0, 52)) == 33662912);
+ assert(unsigned(flip_mask(0x201a7c8, 52)) == 33662920);
+ assert(unsigned(flip_mask(0x201a7d8, 52)) == 33662936);
+ assert(unsigned(flip_mask(0x201a7e0, 52)) == 33662944);
+ assert(unsigned(flip_mask(0x201a8e0, 52)) == 33663200);
+ assert(unsigned(flip_mask(0x201a8e8, 52)) == 33663208);
+ assert(unsigned(flip_mask(0x201aa08, 52)) == 33663496);
+ assert(unsigned(flip_mask(0x201acb0, 52)) == 33664176);
+ assert(unsigned(flip_mask(0x201acb8, 52)) == 33664184);
+ assert(unsigned(flip_mask(0x201adb8, 52)) == 33664440);
+ assert(unsigned(flip_mask(0x201adc0, 52)) == 33664448);
+ assert(unsigned(flip_mask(0x201aee0, 52)) == 33664736);
+ assert(unsigned(flip_mask(0x201aee4, 52)) == 33664740);
+ assert(unsigned(flip_mask(0x201aee8, 52)) == 33664744);
+ assert(unsigned(flip_mask(0x201b150, 52)) == 33665360);
+ assert(unsigned(flip_mask(0x201b158, 52)) == 33665368);
+ assert(unsigned(flip_mask(0x201b160, 52)) == 33665376);
+ assert(unsigned(flip_mask(0x201b168, 52)) == 33665384);
+ assert(unsigned(flip_mask(0x201b170, 52)) == 33665392);
+ assert(unsigned(flip_mask(0x201b178, 52)) == 33665400);
+ assert(unsigned(flip_mask(0x201b180, 52)) == 33665408);
+ assert(unsigned(flip_mask(0x201b188, 52)) == 33665416);
+ assert(unsigned(flip_mask(0x201b190, 52)) == 33665424);
+ assert(unsigned(flip_mask(0x201b1a0, 52)) == 33665440);
+ assert(unsigned(flip_mask(0x201b1a8, 52)) == 33665448);
+ assert(unsigned(flip_mask(0x201b1b0, 52)) == 33665456);
+ assert(unsigned(flip_mask(0x201b1b8, 52)) == 33665464);
+ assert(unsigned(flip_mask(0x201b1c0, 52)) == 33665472);
+ assert(unsigned(flip_mask(0x201b1c8, 52)) == 33665480);
+ assert(unsigned(flip_mask(0x201b1d0, 52)) == 33665488);
+ assert(unsigned(flip_mask(0x201b1d8, 52)) == 33665496);
+ assert(unsigned(flip_mask(0x201b1e0, 52)) == 33665504);
+ assert(unsigned(flip_mask(0x201b1e8, 52)) == 33665512);
+ assert(unsigned(flip_mask(0x201b1f0, 52)) == 33665520);
+ assert(unsigned(flip_mask(0x201b1f8, 52)) == 33665528);
+ assert(unsigned(flip_mask(0x201b240, 52)) == 33665600);
+ assert(unsigned(flip_mask(0x201b248, 52)) == 33665608);
+ assert(unsigned(flip_mask(0x201b250, 52)) == 33665616);
+ assert(unsigned(flip_mask(0x201b254, 52)) == 33665620);
+ assert(unsigned(flip_mask(0x201b258, 52)) == 33665624);
+ assert(unsigned(flip_mask(0x201b25c, 52)) == 33665628);
+ assert(unsigned(flip_mask(0x201b260, 52)) == 33665632);
+ assert(unsigned(flip_mask(0x201b264, 52)) == 33665636);
+ assert(unsigned(flip_mask(0x201b268, 52)) == 33665640);
+ assert(unsigned(flip_mask(0x201b26c, 52)) == 33665644);
+ assert(unsigned(flip_mask(0x201b270, 52)) == 33665648);
+ assert(unsigned(flip_mask(0x201b274, 52)) == 33665652);
+ assert(unsigned(flip_mask(0x201b278, 52)) == 33665656);
+ assert(unsigned(flip_mask(0x201b27c, 52)) == 33665660);
+ assert(unsigned(flip_mask(0x201b280, 52)) == 33665664);
+ assert(unsigned(flip_mask(0x201b284, 52)) == 33665668);
+ assert(unsigned(flip_mask(0x201b288, 52)) == 33665672);
+ assert(unsigned(flip_mask(0x201b28c, 52)) == 33665676);
+ assert(unsigned(flip_mask(0x201b290, 52)) == 33665680);
+ assert(unsigned(flip_mask(0x201b298, 52)) == 33665688);
+ assert(unsigned(flip_mask(0x201b2a0, 52)) == 33665696);
+ assert(unsigned(flip_mask(0x201b2a8, 52)) == 33665704);
+ assert(unsigned(flip_mask(0x201b2b0, 52)) == 33665712);
+ assert(unsigned(flip_mask(0x201b2b8, 52)) == 33665720);
+ assert(unsigned(flip_mask(0x201b2c0, 52)) == 33665728);
+ assert(unsigned(flip_mask(0x201b2c8, 52)) == 33665736);
+ assert(unsigned(flip_mask(0x201b2d0, 52)) == 33665744);
+ assert(unsigned(flip_mask(0x201b2d8, 52)) == 33665752);
+ assert(unsigned(flip_mask(0x201b2e0, 52)) == 33665760);
+ assert(unsigned(flip_mask(0x201b2e8, 52)) == 33665768);
+ assert(unsigned(flip_mask(0x201b2f0, 52)) == 33665776);
+ assert(unsigned(flip_mask(0x201b2f8, 52)) == 33665784);
+ assert(unsigned(flip_mask(0x20800, 52)) == 133120);
+ assert(unsigned(flip_mask(0x210ec4, 52)) == 2166468);
+ assert(unsigned(flip_mask(0x210ec8, 52)) == 2166472);
+ assert(unsigned(flip_mask(0x210ecc, 52)) == 2166476);
+ assert(unsigned(flip_mask(0x210ed0, 52)) == 2166480);
+ assert(unsigned(flip_mask(0x210ed4, 52)) == 2166484);
+ assert(unsigned(flip_mask(0x210ed8, 52)) == 2166488);
+ assert(unsigned(flip_mask(0x210edc, 52)) == 2166492);
+ assert(unsigned(flip_mask(0x210ee0, 52)) == 2166496);
+ assert(unsigned(flip_mask(0x210ee4, 52)) == 2166500);
+ assert(unsigned(flip_mask(0x210ee8, 52)) == 2166504);
+ assert(unsigned(flip_mask(0x210eec, 52)) == 2166508);
+ assert(unsigned(flip_mask(0x210ef0, 52)) == 2166512);
+ assert(unsigned(flip_mask(0x210ef4, 52)) == 2166516);
+ assert(unsigned(flip_mask(0x210ef8, 52)) == 2166520);
+ assert(unsigned(flip_mask(0x210efc, 52)) == 2166524);
+ assert(unsigned(flip_mask(0x210f00, 52)) == 2166528);
+ assert(unsigned(flip_mask(0x210f04, 52)) == 2166532);
+ assert(unsigned(flip_mask(0x210f08, 52)) == 2166536);
+ assert(unsigned(flip_mask(0x210f0c, 52)) == 2166540);
+ assert(unsigned(flip_mask(0x210f10, 52)) == 2166544);
+ assert(unsigned(flip_mask(0x210f14, 52)) == 2166548);
+ assert(unsigned(flip_mask(0x210f18, 52)) == 2166552);
+ assert(unsigned(flip_mask(0x210f1c, 52)) == 2166556);
+ assert(unsigned(flip_mask(0x210f20, 52)) == 2166560);
+ assert(unsigned(flip_mask(0x210f24, 52)) == 2166564);
+ assert(unsigned(flip_mask(0x210f28, 52)) == 2166568);
+ assert(unsigned(flip_mask(0x210f2c, 52)) == 2166572);
+ assert(unsigned(flip_mask(0x210f30, 52)) == 2166576);
+ assert(unsigned(flip_mask(0x210f34, 52)) == 2166580);
+ assert(unsigned(flip_mask(0x210f38, 52)) == 2166584);
+ assert(unsigned(flip_mask(0x210f3c, 52)) == 2166588);
+ assert(unsigned(flip_mask(0x210f40, 52)) == 2166592);
+ assert(unsigned(flip_mask(0x210f44, 52)) == 2166596);
+ assert(unsigned(flip_mask(0x210f48, 52)) == 2166600);
+ assert(unsigned(flip_mask(0x210f4c, 52)) == 2166604);
+ assert(unsigned(flip_mask(0x210f50, 52)) == 2166608);
+ assert(unsigned(flip_mask(0x210f54, 52)) == 2166612);
+ assert(unsigned(flip_mask(0x210f58, 52)) == 2166616);
+ assert(unsigned(flip_mask(0x210f5c, 52)) == 2166620);
+ assert(unsigned(flip_mask(0x210f60, 52)) == 2166624);
+ assert(unsigned(flip_mask(0x210f64, 52)) == 2166628);
+ assert(unsigned(flip_mask(0x210f68, 52)) == 2166632);
+ assert(unsigned(flip_mask(0x210f6c, 52)) == 2166636);
+ assert(unsigned(flip_mask(0x211150, 52)) == 2167120);
+ assert(unsigned(flip_mask(0x212570, 52)) == 2172272);
+ assert(unsigned(flip_mask(0x212574, 52)) == 2172276);
+ assert(unsigned(flip_mask(0x212578, 52)) == 2172280);
+ assert(unsigned(flip_mask(0x21257c, 52)) == 2172284);
+ assert(unsigned(flip_mask(0x212580, 52)) == 2172288);
+ assert(unsigned(flip_mask(0x212584, 52)) == 2172292);
+ assert(unsigned(flip_mask(0x212588, 52)) == 2172296);
+ assert(unsigned(flip_mask(0x21258c, 52)) == 2172300);
+ assert(unsigned(flip_mask(0x212590, 52)) == 2172304);
+ assert(unsigned(flip_mask(0x212594, 52)) == 2172308);
+ assert(unsigned(flip_mask(0x212598, 52)) == 2172312);
+ assert(unsigned(flip_mask(0x21259c, 52)) == 2172316);
+ assert(unsigned(flip_mask(0x2125a0, 52)) == 2172320);
+ assert(unsigned(flip_mask(0x2125a4, 52)) == 2172324);
+ assert(unsigned(flip_mask(0x2125a8, 52)) == 2172328);
+ assert(unsigned(flip_mask(0x2125ac, 52)) == 2172332);
+ assert(unsigned(flip_mask(0x2125b0, 52)) == 2172336);
+ assert(unsigned(flip_mask(0x2125b4, 52)) == 2172340);
+ assert(unsigned(flip_mask(0x2125b8, 52)) == 2172344);
+ assert(unsigned(flip_mask(0x2125bc, 52)) == 2172348);
+ assert(unsigned(flip_mask(0x2125c0, 52)) == 2172352);
+ assert(unsigned(flip_mask(0x2125c4, 52)) == 2172356);
+ assert(unsigned(flip_mask(0x2125c8, 52)) == 2172360);
+ assert(unsigned(flip_mask(0x2125cc, 52)) == 2172364);
+ assert(unsigned(flip_mask(0x2125d0, 52)) == 2172368);
+ assert(unsigned(flip_mask(0x2125d4, 52)) == 2172372);
+ assert(unsigned(flip_mask(0x2125d8, 52)) == 2172376);
+ assert(unsigned(flip_mask(0x2125dc, 52)) == 2172380);
+ assert(unsigned(flip_mask(0x2125e0, 52)) == 2172384);
+ assert(unsigned(flip_mask(0x2125e4, 52)) == 2172388);
+ assert(unsigned(flip_mask(0x2125e8, 52)) == 2172392);
+ assert(unsigned(flip_mask(0x2125ec, 52)) == 2172396);
+ assert(unsigned(flip_mask(0x2125f0, 52)) == 2172400);
+ assert(unsigned(flip_mask(0x2125f4, 52)) == 2172404);
+ assert(unsigned(flip_mask(0x2125f8, 52)) == 2172408);
+ assert(unsigned(flip_mask(0x2125fc, 52)) == 2172412);
+ assert(unsigned(flip_mask(0x212600, 52)) == 2172416);
+ assert(unsigned(flip_mask(0x212604, 52)) == 2172420);
+ assert(unsigned(flip_mask(0x212608, 52)) == 2172424);
+ assert(unsigned(flip_mask(0x21260c, 52)) == 2172428);
+ assert(unsigned(flip_mask(0x212610, 52)) == 2172432);
+ assert(unsigned(flip_mask(0x212620, 52)) == 2172448);
+ assert(unsigned(flip_mask(0x212860, 52)) == 2173024);
+ assert(unsigned(flip_mask(0x214400, 52)) == 2180096);
+ assert(unsigned(flip_mask(0x214ab4, 52)) == 2181812);
+ assert(unsigned(flip_mask(0x214ab8, 52)) == 2181816);
+ assert(unsigned(flip_mask(0x214abc, 52)) == 2181820);
+ assert(unsigned(flip_mask(0x214ac0, 52)) == 2181824);
+ assert(unsigned(flip_mask(0x214ac4, 52)) == 2181828);
+ assert(unsigned(flip_mask(0x214ac8, 52)) == 2181832);
+ assert(unsigned(flip_mask(0x214ad4, 52)) == 2181844);
+ assert(unsigned(flip_mask(0x214ad8, 52)) == 2181848);
+ assert(unsigned(flip_mask(0x214adc, 52)) == 2181852);
+ assert(unsigned(flip_mask(0x214ae0, 52)) == 2181856);
+ assert(unsigned(flip_mask(0x214ae4, 52)) == 2181860);
+ assert(unsigned(flip_mask(0x214ae8, 52)) == 2181864);
+ assert(unsigned(flip_mask(0x214aec, 52)) == 2181868);
+ assert(unsigned(flip_mask(0x214af0, 52)) == 2181872);
+ assert(unsigned(flip_mask(0x214af4, 52)) == 2181876);
+ assert(unsigned(flip_mask(0x214af8, 52)) == 2181880);
+ assert(unsigned(flip_mask(0x214afc, 52)) == 2181884);
+ assert(unsigned(flip_mask(0x214b00, 52)) == 2181888);
+ assert(unsigned(flip_mask(0x214b04, 52)) == 2181892);
+ assert(unsigned(flip_mask(0x214b88, 52)) == 2182024);
+ assert(unsigned(flip_mask(0x214b8c, 52)) == 2182028);
+ assert(unsigned(flip_mask(0x214b90, 52)) == 2182032);
+ assert(unsigned(flip_mask(0x214b94, 52)) == 2182036);
+ assert(unsigned(flip_mask(0x214b98, 52)) == 2182040);
+ assert(unsigned(flip_mask(0x214b9c, 52)) == 2182044);
+ assert(unsigned(flip_mask(0x214ba0, 52)) == 2182048);
+ assert(unsigned(flip_mask(0x214ba4, 52)) == 2182052);
+ assert(unsigned(flip_mask(0x214ba8, 52)) == 2182056);
+ assert(unsigned(flip_mask(0x214bac, 52)) == 2182060);
+ assert(unsigned(flip_mask(0x214bb0, 52)) == 2182064);
+ assert(unsigned(flip_mask(0x214bb4, 52)) == 2182068);
+ assert(unsigned(flip_mask(0x214bb8, 52)) == 2182072);
+ assert(unsigned(flip_mask(0x214bbc, 52)) == 2182076);
+ assert(unsigned(flip_mask(0x214d64, 52)) == 2182500);
+ assert(unsigned(flip_mask(0x214d68, 52)) == 2182504);
+ assert(unsigned(flip_mask(0x214d6c, 52)) == 2182508);
+ assert(unsigned(flip_mask(0x214d70, 52)) == 2182512);
+ assert(unsigned(flip_mask(0x214d74, 52)) == 2182516);
+ assert(unsigned(flip_mask(0x214d78, 52)) == 2182520);
+ assert(unsigned(flip_mask(0x214d7c, 52)) == 2182524);
+ assert(unsigned(flip_mask(0x214d80, 52)) == 2182528);
+ assert(unsigned(flip_mask(0x214d84, 52)) == 2182532);
+ assert(unsigned(flip_mask(0x214d88, 52)) == 2182536);
+ assert(unsigned(flip_mask(0x214d8c, 52)) == 2182540);
+ assert(unsigned(flip_mask(0x214d90, 52)) == 2182544);
+ assert(unsigned(flip_mask(0x214d94, 52)) == 2182548);
+ assert(unsigned(flip_mask(0x214d98, 52)) == 2182552);
+ assert(unsigned(flip_mask(0x214d9c, 52)) == 2182556);
+ assert(unsigned(flip_mask(0x214da0, 52)) == 2182560);
+ assert(unsigned(flip_mask(0x214da4, 52)) == 2182564);
+ assert(unsigned(flip_mask(0x214da8, 52)) == 2182568);
+ assert(unsigned(flip_mask(0x214dac, 52)) == 2182572);
+ assert(unsigned(flip_mask(0x214db0, 52)) == 2182576);
+ assert(unsigned(flip_mask(0x214db4, 52)) == 2182580);
+ assert(unsigned(flip_mask(0x214db8, 52)) == 2182584);
+ assert(unsigned(flip_mask(0x214dbc, 52)) == 2182588);
+ assert(unsigned(flip_mask(0x214dc0, 52)) == 2182592);
+ assert(unsigned(flip_mask(0x214dc4, 52)) == 2182596);
+ assert(unsigned(flip_mask(0x214dc8, 52)) == 2182600);
+ assert(unsigned(flip_mask(0x214dcc, 52)) == 2182604);
+ assert(unsigned(flip_mask(0x214dd0, 52)) == 2182608);
+ assert(unsigned(flip_mask(0x214dd4, 52)) == 2182612);
+ assert(unsigned(flip_mask(0x214dd8, 52)) == 2182616);
+ assert(unsigned(flip_mask(0x214ddc, 52)) == 2182620);
+ assert(unsigned(flip_mask(0x214de0, 52)) == 2182624);
+ assert(unsigned(flip_mask(0x214de4, 52)) == 2182628);
+ assert(unsigned(flip_mask(0x214de8, 52)) == 2182632);
+ assert(unsigned(flip_mask(0x214dec, 52)) == 2182636);
+ assert(unsigned(flip_mask(0x214df0, 52)) == 2182640);
+ assert(unsigned(flip_mask(0x214df4, 52)) == 2182644);
+ assert(unsigned(flip_mask(0x214df8, 52)) == 2182648);
+ assert(unsigned(flip_mask(0x214dfc, 52)) == 2182652);
+ assert(unsigned(flip_mask(0x214e00, 52)) == 2182656);
+ assert(unsigned(flip_mask(0x214e04, 52)) == 2182660);
+ assert(unsigned(flip_mask(0x214e08, 52)) == 2182664);
+ assert(unsigned(flip_mask(0x216240, 52)) == 2187840);
+ assert(unsigned(flip_mask(0x216244, 52)) == 2187844);
+ assert(unsigned(flip_mask(0x216310, 52)) == 2188048);
+ assert(unsigned(flip_mask(0x216314, 52)) == 2188052);
+ assert(unsigned(flip_mask(0x216318, 52)) == 2188056);
+ assert(unsigned(flip_mask(0x21631c, 52)) == 2188060);
+ assert(unsigned(flip_mask(0x216320, 52)) == 2188064);
+ assert(unsigned(flip_mask(0x216324, 52)) == 2188068);
+ assert(unsigned(flip_mask(0x216328, 52)) == 2188072);
+ assert(unsigned(flip_mask(0x21632c, 52)) == 2188076);
+ assert(unsigned(flip_mask(0x216330, 52)) == 2188080);
+ assert(unsigned(flip_mask(0x216334, 52)) == 2188084);
+ assert(unsigned(flip_mask(0x216368, 52)) == 2188136);
+ assert(unsigned(flip_mask(0x21636c, 52)) == 2188140);
+ assert(unsigned(flip_mask(0x216384, 52)) == 2188164);
+ assert(unsigned(flip_mask(0x216388, 52)) == 2188168);
+ assert(unsigned(flip_mask(0x2163c0, 52)) == 2188224);
+ assert(unsigned(flip_mask(0x2163c4, 52)) == 2188228);
+ assert(unsigned(flip_mask(0x2163d0, 52)) == 2188240);
+ assert(unsigned(flip_mask(0x2163d4, 52)) == 2188244);
+ assert(unsigned(flip_mask(0x2163e0, 52)) == 2188256);
+ assert(unsigned(flip_mask(0x2163e4, 52)) == 2188260);
+ assert(unsigned(flip_mask(0x2163f0, 52)) == 2188272);
+ assert(unsigned(flip_mask(0x2163f4, 52)) == 2188276);
+ assert(unsigned(flip_mask(0x2163f8, 52)) == 2188280);
+ assert(unsigned(flip_mask(0x2163fc, 52)) == 2188284);
+ assert(unsigned(flip_mask(0x216400, 52)) == 2188288);
+ assert(unsigned(flip_mask(0x216404, 52)) == 2188292);
+ assert(unsigned(flip_mask(0x216408, 52)) == 2188296);
+ assert(unsigned(flip_mask(0x21640c, 52)) == 2188300);
+ assert(unsigned(flip_mask(0x216420, 52)) == 2188320);
+ assert(unsigned(flip_mask(0x216424, 52)) == 2188324);
+ assert(unsigned(flip_mask(0x216428, 52)) == 2188328);
+ assert(unsigned(flip_mask(0x21642c, 52)) == 2188332);
+ assert(unsigned(flip_mask(0x21644c, 52)) == 2188364);
+ assert(unsigned(flip_mask(0x216450, 52)) == 2188368);
+ assert(unsigned(flip_mask(0x21645c, 52)) == 2188380);
+ assert(unsigned(flip_mask(0x216460, 52)) == 2188384);
+ assert(unsigned(flip_mask(0x216464, 52)) == 2188388);
+ assert(unsigned(flip_mask(0x216474, 52)) == 2188404);
+ assert(unsigned(flip_mask(0x216478, 52)) == 2188408);
+ assert(unsigned(flip_mask(0x21647c, 52)) == 2188412);
+ assert(unsigned(flip_mask(0x216480, 52)) == 2188416);
+ assert(unsigned(flip_mask(0x216484, 52)) == 2188420);
+ assert(unsigned(flip_mask(0x216488, 52)) == 2188424);
+ assert(unsigned(flip_mask(0x21648c, 52)) == 2188428);
+ assert(unsigned(flip_mask(0x216490, 52)) == 2188432);
+ assert(unsigned(flip_mask(0x216494, 52)) == 2188436);
+ assert(unsigned(flip_mask(0x216498, 52)) == 2188440);
+ assert(unsigned(flip_mask(0x21649c, 52)) == 2188444);
+ assert(unsigned(flip_mask(0x2164a0, 52)) == 2188448);
+ assert(unsigned(flip_mask(0x2164a4, 52)) == 2188452);
+ assert(unsigned(flip_mask(0x2164a8, 52)) == 2188456);
+ assert(unsigned(flip_mask(0x2164ac, 52)) == 2188460);
+ assert(unsigned(flip_mask(0x2164b0, 52)) == 2188464);
+ assert(unsigned(flip_mask(0x2164b4, 52)) == 2188468);
+ assert(unsigned(flip_mask(0x2164b8, 52)) == 2188472);
+ assert(unsigned(flip_mask(0x2164d4, 52)) == 2188500);
+ assert(unsigned(flip_mask(0x2164d8, 52)) == 2188504);
+ assert(unsigned(flip_mask(0x2164dc, 52)) == 2188508);
+ assert(unsigned(flip_mask(0x2164e0, 52)) == 2188512);
+ assert(unsigned(flip_mask(0x216510, 52)) == 2188560);
+ assert(unsigned(flip_mask(0x216514, 52)) == 2188564);
+ assert(unsigned(flip_mask(0x216518, 52)) == 2188568);
+ assert(unsigned(flip_mask(0x21651c, 52)) == 2188572);
+ assert(unsigned(flip_mask(0x216528, 52)) == 2188584);
+ assert(unsigned(flip_mask(0x21652c, 52)) == 2188588);
+ assert(unsigned(flip_mask(0x216590, 52)) == 2188688);
+ assert(unsigned(flip_mask(0x216594, 52)) == 2188692);
+ assert(unsigned(flip_mask(0x216598, 52)) == 2188696);
+ assert(unsigned(flip_mask(0x2165b4, 52)) == 2188724);
+ assert(unsigned(flip_mask(0x2165b8, 52)) == 2188728);
+ assert(unsigned(flip_mask(0x2165bc, 52)) == 2188732);
+ assert(unsigned(flip_mask(0x2165c8, 52)) == 2188744);
+ assert(unsigned(flip_mask(0x2165cc, 52)) == 2188748);
+ assert(unsigned(flip_mask(0x2165d0, 52)) == 2188752);
+ assert(unsigned(flip_mask(0x2165e0, 52)) == 2188768);
+ assert(unsigned(flip_mask(0x2165e4, 52)) == 2188772);
+ assert(unsigned(flip_mask(0x2165e8, 52)) == 2188776);
+ assert(unsigned(flip_mask(0x2165ec, 52)) == 2188780);
+ assert(unsigned(flip_mask(0x2165f0, 52)) == 2188784);
+ assert(unsigned(flip_mask(0x2165f4, 52)) == 2188788);
+ assert(unsigned(flip_mask(0x2165f8, 52)) == 2188792);
+ assert(unsigned(flip_mask(0x2165fc, 52)) == 2188796);
+ assert(unsigned(flip_mask(0x216600, 52)) == 2188800);
+ assert(unsigned(flip_mask(0x21660c, 52)) == 2188812);
+ assert(unsigned(flip_mask(0x216610, 52)) == 2188816);
+ assert(unsigned(flip_mask(0x216614, 52)) == 2188820);
+ assert(unsigned(flip_mask(0x21663c, 52)) == 2188860);
+ assert(unsigned(flip_mask(0x216640, 52)) == 2188864);
+ assert(unsigned(flip_mask(0x216644, 52)) == 2188868);
+ assert(unsigned(flip_mask(0x216648, 52)) == 2188872);
+ assert(unsigned(flip_mask(0x21664c, 52)) == 2188876);
+ assert(unsigned(flip_mask(0x216650, 52)) == 2188880);
+ assert(unsigned(flip_mask(0x216654, 52)) == 2188884);
+ assert(unsigned(flip_mask(0x216658, 52)) == 2188888);
+ assert(unsigned(flip_mask(0x21665c, 52)) == 2188892);
+ assert(unsigned(flip_mask(0x216668, 52)) == 2188904);
+ assert(unsigned(flip_mask(0x21666c, 52)) == 2188908);
+ assert(unsigned(flip_mask(0x216678, 52)) == 2188920);
+ assert(unsigned(flip_mask(0x21667c, 52)) == 2188924);
+ assert(unsigned(flip_mask(0x216680, 52)) == 2188928);
+ assert(unsigned(flip_mask(0x216684, 52)) == 2188932);
+ assert(unsigned(flip_mask(0x2166a0, 52)) == 2188960);
+ assert(unsigned(flip_mask(0x2166a4, 52)) == 2188964);
+ assert(unsigned(flip_mask(0x2166a8, 52)) == 2188968);
+ assert(unsigned(flip_mask(0x2166ac, 52)) == 2188972);
+ assert(unsigned(flip_mask(0x2166b0, 52)) == 2188976);
+ assert(unsigned(flip_mask(0x2166b4, 52)) == 2188980);
+ assert(unsigned(flip_mask(0x21a590, 52)) == 2205072);
+ assert(unsigned(flip_mask(0x21a594, 52)) == 2205076);
+ assert(unsigned(flip_mask(0x21a598, 52)) == 2205080);
+ assert(unsigned(flip_mask(0x21a59c, 52)) == 2205084);
+ assert(unsigned(flip_mask(0x21a5a0, 52)) == 2205088);
+ assert(unsigned(flip_mask(0x21a5a4, 52)) == 2205092);
+ assert(unsigned(flip_mask(0x21a5a8, 52)) == 2205096);
+ assert(unsigned(flip_mask(0x21a5ac, 52)) == 2205100);
+ assert(unsigned(flip_mask(0x21a5b0, 52)) == 2205104);
+ assert(unsigned(flip_mask(0x21a5b4, 52)) == 2205108);
+ assert(unsigned(flip_mask(0x21a5b8, 52)) == 2205112);
+ assert(unsigned(flip_mask(0x21a5bc, 52)) == 2205116);
+ assert(unsigned(flip_mask(0x21a5d4, 52)) == 2205140);
+ assert(unsigned(flip_mask(0x21a5d8, 52)) == 2205144);
+ assert(unsigned(flip_mask(0x21a5f4, 52)) == 2205172);
+ assert(unsigned(flip_mask(0x21a5f8, 52)) == 2205176);
+ assert(unsigned(flip_mask(0x21a5fc, 52)) == 2205180);
+ assert(unsigned(flip_mask(0x21a600, 52)) == 2205184);
+ assert(unsigned(flip_mask(0x21a75c, 52)) == 2205532);
+ assert(unsigned(flip_mask(0x21a760, 52)) == 2205536);
+ assert(unsigned(flip_mask(0x21a764, 52)) == 2205540);
+ assert(unsigned(flip_mask(0x21a768, 52)) == 2205544);
+ assert(unsigned(flip_mask(0x21a76c, 52)) == 2205548);
+ assert(unsigned(flip_mask(0x21a770, 52)) == 2205552);
+ assert(unsigned(flip_mask(0x21a774, 52)) == 2205556);
+ assert(unsigned(flip_mask(0x21a778, 52)) == 2205560);
+ assert(unsigned(flip_mask(0x21a77c, 52)) == 2205564);
+ assert(unsigned(flip_mask(0x21a780, 52)) == 2205568);
+ assert(unsigned(flip_mask(0x21a784, 52)) == 2205572);
+ assert(unsigned(flip_mask(0x21a788, 52)) == 2205576);
+ assert(unsigned(flip_mask(0x21a78c, 52)) == 2205580);
+ assert(unsigned(flip_mask(0x21a790, 52)) == 2205584);
+ assert(unsigned(flip_mask(0x21a794, 52)) == 2205588);
+ assert(unsigned(flip_mask(0x21a798, 52)) == 2205592);
+ assert(unsigned(flip_mask(0x21a79c, 52)) == 2205596);
+ assert(unsigned(flip_mask(0x21a840, 52)) == 2205760);
+ assert(unsigned(flip_mask(0x21a844, 52)) == 2205764);
+ assert(unsigned(flip_mask(0x21a848, 52)) == 2205768);
+ assert(unsigned(flip_mask(0x21a84c, 52)) == 2205772);
+ assert(unsigned(flip_mask(0x21a850, 52)) == 2205776);
+ assert(unsigned(flip_mask(0x21a858, 52)) == 2205784);
+ assert(unsigned(flip_mask(0x21a85c, 52)) == 2205788);
+ assert(unsigned(flip_mask(0x21a860, 52)) == 2205792);
+ assert(unsigned(flip_mask(0x21a864, 52)) == 2205796);
+ assert(unsigned(flip_mask(0x21a870, 52)) == 2205808);
+ assert(unsigned(flip_mask(0x21a878, 52)) == 2205816);
+ assert(unsigned(flip_mask(0x21a87c, 52)) == 2205820);
+ assert(unsigned(flip_mask(0x21a880, 52)) == 2205824);
+ assert(unsigned(flip_mask(0x21a884, 52)) == 2205828);
+ assert(unsigned(flip_mask(0x21a888, 52)) == 2205832);
+ assert(unsigned(flip_mask(0x21a88c, 52)) == 2205836);
+ assert(unsigned(flip_mask(0x21a890, 52)) == 2205840);
+ assert(unsigned(flip_mask(0x21a894, 52)) == 2205844);
+ assert(unsigned(flip_mask(0x21a898, 52)) == 2205848);
+ assert(unsigned(flip_mask(0x21a89c, 52)) == 2205852);
+ assert(unsigned(flip_mask(0x21a8a0, 52)) == 2205856);
+ assert(unsigned(flip_mask(0x21a8a4, 52)) == 2205860);
+ assert(unsigned(flip_mask(0x21a8a8, 52)) == 2205864);
+ assert(unsigned(flip_mask(0x21a8ac, 52)) == 2205868);
+ assert(unsigned(flip_mask(0x21a8b0, 52)) == 2205872);
+ assert(unsigned(flip_mask(0x21a8b4, 52)) == 2205876);
+ assert(unsigned(flip_mask(0x21a8b8, 52)) == 2205880);
+ assert(unsigned(flip_mask(0x21a8bc, 52)) == 2205884);
+ assert(unsigned(flip_mask(0x21a8c0, 52)) == 2205888);
+ assert(unsigned(flip_mask(0x21a8c4, 52)) == 2205892);
+ assert(unsigned(flip_mask(0x21a8c8, 52)) == 2205896);
+ assert(unsigned(flip_mask(0x21a8cc, 52)) == 2205900);
+ assert(unsigned(flip_mask(0x21a8d0, 52)) == 2205904);
+ assert(unsigned(flip_mask(0x21a8d4, 52)) == 2205908);
+ assert(unsigned(flip_mask(0x21a8d8, 52)) == 2205912);
+ assert(unsigned(flip_mask(0x21a8dc, 52)) == 2205916);
+ assert(unsigned(flip_mask(0x21a8e0, 52)) == 2205920);
+ assert(unsigned(flip_mask(0x21a8e4, 52)) == 2205924);
+ assert(unsigned(flip_mask(0x21a8e8, 52)) == 2205928);
+ assert(unsigned(flip_mask(0x21a8ec, 52)) == 2205932);
+ assert(unsigned(flip_mask(0x21a8f0, 52)) == 2205936);
+ assert(unsigned(flip_mask(0x21a8f4, 52)) == 2205940);
+ assert(unsigned(flip_mask(0x21a8f8, 52)) == 2205944);
+ assert(unsigned(flip_mask(0x21a8fc, 52)) == 2205948);
+ assert(unsigned(flip_mask(0x21a900, 52)) == 2205952);
+ assert(unsigned(flip_mask(0x21a904, 52)) == 2205956);
+ assert(unsigned(flip_mask(0x21a908, 52)) == 2205960);
+ assert(unsigned(flip_mask(0x21a90c, 52)) == 2205964);
+ assert(unsigned(flip_mask(0x21a910, 52)) == 2205968);
+ assert(unsigned(flip_mask(0x21a914, 52)) == 2205972);
+ assert(unsigned(flip_mask(0x21a918, 52)) == 2205976);
+ assert(unsigned(flip_mask(0x21a91c, 52)) == 2205980);
+ assert(unsigned(flip_mask(0x21a920, 52)) == 2205984);
+ assert(unsigned(flip_mask(0x21a924, 52)) == 2205988);
+ assert(unsigned(flip_mask(0x21a928, 52)) == 2205992);
+ assert(unsigned(flip_mask(0x21a92c, 52)) == 2205996);
+ assert(unsigned(flip_mask(0x21a930, 52)) == 2206000);
+ assert(unsigned(flip_mask(0x21a934, 52)) == 2206004);
+ assert(unsigned(flip_mask(0x21a938, 52)) == 2206008);
+ assert(unsigned(flip_mask(0x21a93c, 52)) == 2206012);
+ assert(unsigned(flip_mask(0x21a940, 52)) == 2206016);
+ assert(unsigned(flip_mask(0x21a944, 52)) == 2206020);
+ assert(unsigned(flip_mask(0x21a948, 52)) == 2206024);
+ assert(unsigned(flip_mask(0x21a94c, 52)) == 2206028);
+ assert(unsigned(flip_mask(0x21a950, 52)) == 2206032);
+ assert(unsigned(flip_mask(0x21a954, 52)) == 2206036);
+ assert(unsigned(flip_mask(0x21a958, 52)) == 2206040);
+ assert(unsigned(flip_mask(0x21a95c, 52)) == 2206044);
+ assert(unsigned(flip_mask(0x21a960, 52)) == 2206048);
+ assert(unsigned(flip_mask(0x21a964, 52)) == 2206052);
+ assert(unsigned(flip_mask(0x21a968, 52)) == 2206056);
+ assert(unsigned(flip_mask(0x21a96c, 52)) == 2206060);
+ assert(unsigned(flip_mask(0x21a970, 52)) == 2206064);
+ assert(unsigned(flip_mask(0x21a974, 52)) == 2206068);
+ assert(unsigned(flip_mask(0x21a978, 52)) == 2206072);
+ assert(unsigned(flip_mask(0x21a97c, 52)) == 2206076);
+ assert(unsigned(flip_mask(0x21a980, 52)) == 2206080);
+ assert(unsigned(flip_mask(0x21a984, 52)) == 2206084);
+ assert(unsigned(flip_mask(0x21a988, 52)) == 2206088);
+ assert(unsigned(flip_mask(0x21a98c, 52)) == 2206092);
+ assert(unsigned(flip_mask(0x21a990, 52)) == 2206096);
+ assert(unsigned(flip_mask(0x21a994, 52)) == 2206100);
+ assert(unsigned(flip_mask(0x21a998, 52)) == 2206104);
+ assert(unsigned(flip_mask(0x21a99c, 52)) == 2206108);
+ assert(unsigned(flip_mask(0x21a9a0, 52)) == 2206112);
+ assert(unsigned(flip_mask(0x21a9a4, 52)) == 2206116);
+ assert(unsigned(flip_mask(0x21a9a8, 52)) == 2206120);
+ assert(unsigned(flip_mask(0x21a9ac, 52)) == 2206124);
+ assert(unsigned(flip_mask(0x21a9b0, 52)) == 2206128);
+ assert(unsigned(flip_mask(0x21a9b4, 52)) == 2206132);
+ assert(unsigned(flip_mask(0x21a9b8, 52)) == 2206136);
+ assert(unsigned(flip_mask(0x21a9bc, 52)) == 2206140);
+ assert(unsigned(flip_mask(0x21a9c0, 52)) == 2206144);
+ assert(unsigned(flip_mask(0x21a9c4, 52)) == 2206148);
+ assert(unsigned(flip_mask(0x21a9c8, 52)) == 2206152);
+ assert(unsigned(flip_mask(0x21a9cc, 52)) == 2206156);
+ assert(unsigned(flip_mask(0x21a9d0, 52)) == 2206160);
+ assert(unsigned(flip_mask(0x21a9d4, 52)) == 2206164);
+ assert(unsigned(flip_mask(0x21a9d8, 52)) == 2206168);
+ assert(unsigned(flip_mask(0x21a9dc, 52)) == 2206172);
+ assert(unsigned(flip_mask(0x21a9e0, 52)) == 2206176);
+ assert(unsigned(flip_mask(0x21a9e4, 52)) == 2206180);
+ assert(unsigned(flip_mask(0x21a9e8, 52)) == 2206184);
+ assert(unsigned(flip_mask(0x21a9f4, 52)) == 2206196);
+ assert(unsigned(flip_mask(0x21a9f8, 52)) == 2206200);
+ assert(unsigned(flip_mask(0x21a9fc, 52)) == 2206204);
+ assert(unsigned(flip_mask(0x21aa00, 52)) == 2206208);
+ assert(unsigned(flip_mask(0x21aa04, 52)) == 2206212);
+ assert(unsigned(flip_mask(0x21aa08, 52)) == 2206216);
+ assert(unsigned(flip_mask(0x21aa0c, 52)) == 2206220);
+ assert(unsigned(flip_mask(0x21aa10, 52)) == 2206224);
+ assert(unsigned(flip_mask(0x21aa14, 52)) == 2206228);
+ assert(unsigned(flip_mask(0x21aa18, 52)) == 2206232);
+ assert(unsigned(flip_mask(0x21aa1c, 52)) == 2206236);
+ assert(unsigned(flip_mask(0x21aa20, 52)) == 2206240);
+ assert(unsigned(flip_mask(0x21aa24, 52)) == 2206244);
+ assert(unsigned(flip_mask(0x21aa28, 52)) == 2206248);
+ assert(unsigned(flip_mask(0x21aa2c, 52)) == 2206252);
+ assert(unsigned(flip_mask(0x21aa30, 52)) == 2206256);
+ assert(unsigned(flip_mask(0x21aa34, 52)) == 2206260);
+ assert(unsigned(flip_mask(0x21aa38, 52)) == 2206264);
+ assert(unsigned(flip_mask(0x21aa3c, 52)) == 2206268);
+ assert(unsigned(flip_mask(0x21aa40, 52)) == 2206272);
+ assert(unsigned(flip_mask(0x21aa50, 52)) == 2206288);
+ assert(unsigned(flip_mask(0x21aa58, 52)) == 2206296);
+ assert(unsigned(flip_mask(0x21aa60, 52)) == 2206304);
+ assert(unsigned(flip_mask(0x21aa68, 52)) == 2206312);
+ assert(unsigned(flip_mask(0x21aa6c, 52)) == 2206316);
+ assert(unsigned(flip_mask(0x21aa70, 52)) == 2206320);
+ assert(unsigned(flip_mask(0x21aa74, 52)) == 2206324);
+ assert(unsigned(flip_mask(0x21aa78, 52)) == 2206328);
+ assert(unsigned(flip_mask(0x21aa7c, 52)) == 2206332);
+ assert(unsigned(flip_mask(0x21aa80, 52)) == 2206336);
+ assert(unsigned(flip_mask(0x21aa84, 52)) == 2206340);
+ assert(unsigned(flip_mask(0x21aa88, 52)) == 2206344);
+ assert(unsigned(flip_mask(0x21aaa8, 52)) == 2206376);
+ assert(unsigned(flip_mask(0x21aab0, 52)) == 2206384);
+ assert(unsigned(flip_mask(0x21aab8, 52)) == 2206392);
+ assert(unsigned(flip_mask(0x21aac0, 52)) == 2206400);
+ assert(unsigned(flip_mask(0x21ac70, 52)) == 2206832);
+ assert(unsigned(flip_mask(0x21ac74, 52)) == 2206836);
+ assert(unsigned(flip_mask(0x21ac78, 52)) == 2206840);
+ assert(unsigned(flip_mask(0x21ac7c, 52)) == 2206844);
+ assert(unsigned(flip_mask(0x21ac80, 52)) == 2206848);
+ assert(unsigned(flip_mask(0x21ac84, 52)) == 2206852);
+ assert(unsigned(flip_mask(0x21ac88, 52)) == 2206856);
+ assert(unsigned(flip_mask(0x21ac8c, 52)) == 2206860);
+ assert(unsigned(flip_mask(0x21ac90, 52)) == 2206864);
+ assert(unsigned(flip_mask(0x21ac94, 52)) == 2206868);
+ assert(unsigned(flip_mask(0x21ac98, 52)) == 2206872);
+ assert(unsigned(flip_mask(0x21ac9c, 52)) == 2206876);
+ assert(unsigned(flip_mask(0x21aca0, 52)) == 2206880);
+ assert(unsigned(flip_mask(0x21aca4, 52)) == 2206884);
+ assert(unsigned(flip_mask(0x21aca8, 52)) == 2206888);
+ assert(unsigned(flip_mask(0x21acac, 52)) == 2206892);
+ assert(unsigned(flip_mask(0x21acb0, 52)) == 2206896);
+ assert(unsigned(flip_mask(0x21acb4, 52)) == 2206900);
+ assert(unsigned(flip_mask(0x21acb8, 52)) == 2206904);
+ assert(unsigned(flip_mask(0x21acbc, 52)) == 2206908);
+ assert(unsigned(flip_mask(0x21acc0, 52)) == 2206912);
+ assert(unsigned(flip_mask(0x21acc4, 52)) == 2206916);
+ assert(unsigned(flip_mask(0x21acc8, 52)) == 2206920);
+ assert(unsigned(flip_mask(0x21accc, 52)) == 2206924);
+ assert(unsigned(flip_mask(0x21acd0, 52)) == 2206928);
+ assert(unsigned(flip_mask(0x21acd4, 52)) == 2206932);
+ assert(unsigned(flip_mask(0x21acd8, 52)) == 2206936);
+ assert(unsigned(flip_mask(0x21acdc, 52)) == 2206940);
+ assert(unsigned(flip_mask(0x21ace0, 52)) == 2206944);
+ assert(unsigned(flip_mask(0x21ace4, 52)) == 2206948);
+ assert(unsigned(flip_mask(0x21ace8, 52)) == 2206952);
+ assert(unsigned(flip_mask(0x21acec, 52)) == 2206956);
+ assert(unsigned(flip_mask(0x21acf0, 52)) == 2206960);
+ assert(unsigned(flip_mask(0x21acf4, 52)) == 2206964);
+ assert(unsigned(flip_mask(0x21acf8, 52)) == 2206968);
+ assert(unsigned(flip_mask(0x21acfc, 52)) == 2206972);
+ assert(unsigned(flip_mask(0x21ad00, 52)) == 2206976);
+ assert(unsigned(flip_mask(0x21ad04, 52)) == 2206980);
+ assert(unsigned(flip_mask(0x21ad08, 52)) == 2206984);
+ assert(unsigned(flip_mask(0x21ad0c, 52)) == 2206988);
+ assert(unsigned(flip_mask(0x21ad10, 52)) == 2206992);
+ assert(unsigned(flip_mask(0x21ad14, 52)) == 2206996);
+}